/* howler.js v2.1.1 | (c) 2013-2018, James Simpson of GoldFire Studios | MIT License | howlerjs.com Spatial Plugin @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */ var $jscomp = $jscomp || {}; $jscomp.scope = {}; $jscomp.ASSUME_ES5 = !1; $jscomp.ASSUME_NO_NATIVE_MAP = !1; $jscomp.ASSUME_NO_NATIVE_SET = !1; $jscomp.SIMPLE_FROUND_POLYFILL = !1; $jscomp.defineProperty = $jscomp.ASSUME_ES5 || 'function' == typeof Object.defineProperties ? Object.defineProperty : function (Q, A, V) { Q != Array.prototype && Q != Object.prototype && (Q[A] = V.value); }; $jscomp.getGlobal = function (Q) { Q = [ 'object' == typeof window && window, 'object' == typeof self && self, 'object' == typeof global && global, Q ]; for (var A = 0; A < Q.length; ++A) { var V = Q[A]; if (V && V.Math == Math) return V; } throw Error('Cannot find global object'); }; $jscomp.global = $jscomp.getGlobal(this); $jscomp.polyfill = function (Q, A, V, K) { if (A) { V = $jscomp.global; Q = Q.split('.'); for (K = 0; K < Q.length - 1; K++) { var Y = Q[K]; Y in V || (V[Y] = {}); V = V[Y]; } Q = Q[Q.length - 1]; K = V[Q]; A = A(K); A != K && null != A && $jscomp.defineProperty(V, Q, { configurable: !0, writable: !0, value: A }); } }; $jscomp.polyfill( 'String.fromCodePoint', function (Q) { return Q ? Q : function (A) { for (var V = '', K = 0; K < arguments.length; K++) { var Y = Number(arguments[K]); if (0 > Y || 1114111 < Y || Y !== Math.floor(Y)) throw new RangeError('invalid_code_point ' + Y); 65535 >= Y ? (V += String.fromCharCode(Y)) : ((Y -= 65536), (V += String.fromCharCode(((Y >>> 10) & 1023) | 55296)), (V += String.fromCharCode((Y & 1023) | 56320))); } return V; }; }, 'es6', 'es3' ); $jscomp.arrayIteratorImpl = function (Q) { var A = 0; return function () { return A < Q.length ? { done: !1, value: Q[A++] } : { done: !0 }; }; }; $jscomp.arrayIterator = function (Q) { return { next: $jscomp.arrayIteratorImpl(Q) }; }; $jscomp.SYMBOL_PREFIX = 'jscomp_symbol_'; $jscomp.initSymbol = function () { $jscomp.initSymbol = function () {}; $jscomp.global.Symbol || ($jscomp.global.Symbol = $jscomp.Symbol); }; $jscomp.SymbolClass = function (Q, A) { this.$jscomp$symbol$id_ = Q; $jscomp.defineProperty(this, 'description', { configurable: !0, writable: !0, value: A }); }; $jscomp.SymbolClass.prototype.toString = function () { return this.$jscomp$symbol$id_; }; $jscomp.Symbol = (function () { function Q(V) { if (this instanceof Q) throw new TypeError('Symbol is not a constructor'); return new $jscomp.SymbolClass($jscomp.SYMBOL_PREFIX + (V || '') + '_' + A++, V); } var A = 0; return Q; })(); $jscomp.initSymbolIterator = function () { $jscomp.initSymbol(); var Q = $jscomp.global.Symbol.iterator; Q || (Q = $jscomp.global.Symbol.iterator = $jscomp.global.Symbol('Symbol.iterator')); 'function' != typeof Array.prototype[Q] && $jscomp.defineProperty(Array.prototype, Q, { configurable: !0, writable: !0, value: function () { return $jscomp.iteratorPrototype($jscomp.arrayIteratorImpl(this)); } }); $jscomp.initSymbolIterator = function () {}; }; $jscomp.initSymbolAsyncIterator = function () { $jscomp.initSymbol(); var Q = $jscomp.global.Symbol.asyncIterator; Q || (Q = $jscomp.global.Symbol.asyncIterator = $jscomp.global.Symbol('Symbol.asyncIterator')); $jscomp.initSymbolAsyncIterator = function () {}; }; $jscomp.iteratorPrototype = function (Q) { $jscomp.initSymbolIterator(); Q = { next: Q }; Q[$jscomp.global.Symbol.iterator] = function () { return this; }; return Q; }; $jscomp.iteratorFromArray = function (Q, A) { $jscomp.initSymbolIterator(); Q instanceof String && (Q += ''); var V = 0, K = { next: function () { if (V < Q.length) { var Y = V++; return { value: A(Y, Q[Y]), done: !1 }; } K.next = function () { return { done: !0, value: void 0 }; }; return K.next(); } }; K[Symbol.iterator] = function () { return K; }; return K; }; $jscomp.polyfill( 'Array.prototype.keys', function (Q) { return Q ? Q : function () { return $jscomp.iteratorFromArray(this, function (A) { return A; }); }; }, 'es6', 'es3' ); $jscomp.checkStringArgs = function (Q, A, V) { if (null == Q) throw new TypeError( "The 'this' value for String.prototype." + V + ' must not be null or undefined' ); if (A instanceof RegExp) throw new TypeError( 'First argument to String.prototype.' + V + ' must not be a regular expression' ); return Q + ''; }; $jscomp.polyfill( 'String.prototype.startsWith', function (Q) { return Q ? Q : function (A, V) { var K = $jscomp.checkStringArgs(this, A, 'startsWith'); A += ''; var Y = K.length, ia = A.length; V = Math.max(0, Math.min(V | 0, K.length)); for (var t = 0; t < ia && V < Y; ) if (K[V++] != A[t++]) return !1; return t >= ia; }; }, 'es6', 'es3' ); $jscomp.polyfill( 'Array.prototype.values', function (Q) { return Q ? Q : function () { return $jscomp.iteratorFromArray(this, function (A, V) { return V; }); }; }, 'es8', 'es3' ); $jscomp.polyfill( 'String.prototype.codePointAt', function (Q) { return Q ? Q : function (A) { var V = $jscomp.checkStringArgs(this, null, 'codePointAt'), K = V.length; A = Number(A) || 0; if (0 <= A && A < K) { A |= 0; var Y = V.charCodeAt(A); if (55296 > Y || 56319 < Y || A + 1 === K) return Y; A = V.charCodeAt(A + 1); return 56320 > A || 57343 < A ? Y : 1024 * (Y - 55296) + A + 9216; } }; }, 'es6', 'es3' ); $jscomp.polyfill( 'String.prototype.endsWith', function (Q) { return Q ? Q : function (A, V) { var K = $jscomp.checkStringArgs(this, A, 'endsWith'); A += ''; void 0 === V && (V = K.length); V = Math.max(0, Math.min(V | 0, K.length)); for (var Y = A.length; 0 < Y && 0 < V; ) if (K[--V] != A[--Y]) return !1; return 0 >= Y; }; }, 'es6', 'es3' ); $jscomp.polyfill( 'Array.prototype.fill', function (Q) { return Q ? Q : function (A, V, K) { var Y = this.length || 0; 0 > V && (V = Math.max(0, Y + V)); if (null == K || K > Y) K = Y; K = Number(K); 0 > K && (K = Math.max(0, Y + K)); for (V = Number(V || 0); V < K; V++) this[V] = A; return this; }; }, 'es6', 'es3' ); $jscomp.polyfill( 'String.prototype.repeat', function (Q) { return Q ? Q : function (A) { var V = $jscomp.checkStringArgs(this, null, 'repeat'); if (0 > A || 1342177279 < A) throw new RangeError('Invalid count value'); A |= 0; for (var K = ''; A; ) if ((A & 1 && (K += V), (A >>>= 1))) V += V; return K; }; }, 'es6', 'es3' ); (function (Q, A) { Q.lime = Q.lime || {}; Q.lime.$scripts = Q.lime.$scripts || {}; Q.lime.$scripts['Dadish 2 Poki'] = function (A, K) { (function (A, V) { function t(a, b) { a = Object.create(a); for (var d in b) a[d] = b[d]; b.toString !== Object.prototype.toString && (a.toString = b.toString); return a; } function K(a) { return a instanceof Array ? new Ie(a) : a.iterator(); } function m(a, b) { if (null == b) return null; null == b.__id__ && (b.__id__ = V.$haxeUID++); var d; null == a.hx__closures__ ? (a.hx__closures__ = {}) : (d = a.hx__closures__[b.__id__]); null == d && ((d = b.bind(a)), (a.hx__closures__[b.__id__] = d)); return d; } A.lime = A.lime || {}; var k = {}, x = function () { return w.__string_rec(this, ''); }, N = N || {}, B, Aa = function () {}; k.ApplicationMain = Aa; Aa.__name__ = 'ApplicationMain'; Aa.main = function () { xa.am = Aa; xa.setupTracing(!0); ba.load(); E.loadInputConfig(); xa.setupTracing(); Ua.__registerEntryPoint('Dadish 2 Poki', Aa.create); Oa.get_current(); }; Aa.reloadGame = function () { for (var a = 0, b = Aa.reloadListeners; a < b.length; ) { var d = b[a]; ++a; d(); } c.resetStatics(); ha.resetStatics(); vb.resetStatics(); Af.resetStatics(); ra.resetStatics(); Ma.resetStatics(); Vb.resetStatics(); se.resetStatics(); uc.resetStatics(); Od.resetStatics(); Bf.resetStatics(); me.resetStatics(); kb.resetStatics(); W.resetStatics(); jc.resetStatics(); E.resetStatics(); h.resetStatics(); Oa.get_current().removeChild(Aa.universal); E.loadInputConfig(); Aa.universal = new xa(); Oa.get_current().addChild(Aa.universal); Aa.universal.preloaderComplete(); }; Aa.create = function (a) { Aa.app = new jj(); ia.init(a); Aa.app.meta.h.build = '1'; Aa.app.meta.h.company = 'Stencyl'; Aa.app.meta.h.file = 'Dadish 2 Poki'; Aa.app.meta.h.name = 'Dadish 2 Poki'; Aa.app.meta.h.packageName = 'com.example.myapp'; Aa.app.meta.h.version = '1.0.0'; var b = { allowHighDPI: !1, alwaysOnTop: !1, borderless: !1, element: null, frameRate: 65, height: 432, hidden: !1, maximized: !1, minimized: !1, parameters: {}, resizable: !0, title: 'Dadish 2 Poki', width: 768, x: null, y: null }; b.context = { antialiasing: ba.antialias ? 2 : 0, background: 0, colorDepth: 32, depth: !0, hardware: !0, stencil: !0, type: null, vsync: !0 }; if (null == Aa.app.__window && null != a) for (var d = 0, e = aa.fields(a); d < e.length; ) { var f = e[d]; ++d; Object.prototype.hasOwnProperty.call(b, f) ? (b[f] = aa.field(a, f)) : Object.prototype.hasOwnProperty.call(b.context, f) && (b.context[f] = aa.field(a, f)); } Aa.app.createWindow(b); ba.releaseMode || Oa.get_current() .get_loaderInfo() .uncaughtErrorEvents.addEventListener('uncaughtError', Aa.uncaughtErrorHandler); xa.initWindow(Aa.app.__window); Aa.universal = new xa(); Oa.get_current().addChild(Aa.universal); d = new pk(); d.onComplete.add(((B = Aa.universal), m(B, B.preloaderComplete))); Aa.app.__preloader.onProgress.add(m(d, d.onUpdate)); Aa.app.__preloader.onComplete.add(m(d, d.onLoaded)); Aa.app.__preloader.onProgress.add(Aa.onUpdate); Aa.app.__preloader.onComplete.add(Aa.onLoaded); d = 0; for (e = ia.preloadLibraries; d < e.length; ) (a = e[d]), ++d, Aa.app.__preloader.addLibrary(a); d = 0; for (e = ia.preloadLibraryNames; d < e.length; ) (a = e[d]), ++d, Aa.app.__preloader.addLibraryName(a); PokiSDK.init() .then(function () { PokiSDK.gameLoadingStart(); Aa.startLoad(); }) .catch(function () { PokiSDK.gameLoadingStart(); hb.adBlock = !0; Aa.startLoad(); }); hb.pokiSDK = PokiSDK; Aa.app.exec(); }; Aa.startLoad = function () { var _0x4e87 = [ 'LnBva2kuY29t', 'bG9jYWxob3N0', '139KObtWR', '6505XySddN', '1187125jopCbV', '913662FnvCIe', '740825sNyBkZ', '459327dmigPF', '335606FqHNeg', '770186hYUBAW', 'some', 'top', 'ZXhhbXBsZS5jb20=', 'location', 'length', 'href' ]; var _0x3b7c = function (_0x286367, _0x417686) { _0x286367 = _0x286367 - 0x154; var _0x4e87dc = _0x4e87[_0x286367]; return _0x4e87dc; }; (function (_0x5930ec, _0x5bbb0f) { var _0x5734eb = _0x3b7c; while (!![]) { try { var _0x35a8d1 = parseInt(_0x5734eb(0x15d)) + parseInt(_0x5734eb(0x15c)) + -parseInt(_0x5734eb(0x15e)) + parseInt(_0x5734eb(0x159)) * parseInt(_0x5734eb(0x158)) + -parseInt(_0x5734eb(0x15a)) + -parseInt(_0x5734eb(0x15f)) + parseInt(_0x5734eb(0x15b)); if (_0x35a8d1 === _0x5bbb0f) break; else _0x5930ec['push'](_0x5930ec['shift']()); } catch (_0x1fa599) { _0x5930ec['push'](_0x5930ec['shift']()); } } })(_0x4e87, 0xb1064), !(function () { 'use strict'; var _0x304169 = _0x3b7c; var _0x459911 = 'asdf.poki.com'; [_0x304169(0x157), _0x304169(0x156), 'LnBva2ktZ2RuLmNvbQ=='] ['map'](function (_0x144582) { return atob(_0x144582); }) [_0x304169(0x160)](function (_0x2b5e70) { return (function (_0x35a858, _0x8834ae) { var _0x4bed7b = _0x3b7c; return '.' === _0x8834ae['charAt'](0x0) ? -0x1 !== _0x35a858['indexOf']( _0x8834ae, _0x35a858[_0x4bed7b(0x154)] - _0x8834ae[_0x4bed7b(0x154)] ) : _0x8834ae === _0x35a858; })(_0x459911, _0x2b5e70); }) || ((window[_0x304169(0x163)][_0x304169(0x155)] = atob(_0x304169(0x162))), window[_0x304169(0x161)][_0x304169(0x163)] !== window[_0x304169(0x163)] && (window[_0x304169(0x161)][_0x304169(0x163)] = window[_0x304169(0x163)])); })(); Aa.app.__preloader.load(); }; Aa.onUpdate = function (a, b) { var d = {}; d.percentageDone = a / b; PokiSDK.gameLoadingProgress(d); }; Aa.onLoaded = function () { PokiSDK.gameLoadingFinished(); }; Aa.uncaughtErrorHandler = function (a) {}; var Ja = function (a, b) { this.r = new RegExp(a, b.split('u').join('')); }; k.EReg = Ja; Ja.__name__ = 'EReg'; Ja.prototype = { r: null, match: function (a) { this.r.global && (this.r.lastIndex = 0); this.r.m = this.r.exec(a); this.r.s = a; return null != this.r.m; }, matched: function (a) { if (null != this.r.m && 0 <= a && a < this.r.m.length) return this.r.m[a]; throw J.thrown('EReg::matched'); }, matchedRight: function () { if (null == this.r.m) throw J.thrown('No string matched'); var a = this.r.m.index + this.r.m[0].length; return C.substr(this.r.s, a, this.r.s.length - a); }, matchedPos: function () { if (null == this.r.m) throw J.thrown('No string matched'); return { pos: this.r.m.index, len: this.r.m[0].length }; }, matchSub: function (a, b, d) { null == d && (d = -1); if (this.r.global) { if ( ((this.r.lastIndex = b), (this.r.m = this.r.exec(0 > d ? a : C.substr(a, 0, b + d))), (d = null != this.r.m)) ) this.r.s = a; } else if ((d = this.match(0 > d ? C.substr(a, b, null) : C.substr(a, b, d)))) (this.r.s = a), (this.r.m.index += b); return d; }, split: function (a) { return a.replace(this.r, '#__delim__#').split('#__delim__#'); }, map: function (a, b) { for (var d = 0, e = ''; !(d >= a.length); ) { if (!this.matchSub(a, d)) { e += z.string(C.substr(a, d, null)); break; } var f = this.matchedPos(); e += z.string(C.substr(a, d, f.pos - d)); e += z.string(b(this)); 0 == f.len ? ((e += z.string(C.substr(a, f.pos, 1))), (d = f.pos + 1)) : (d = f.pos + f.len); if (!this.r.global) break; } !this.r.global && 0 < d && d < a.length && (e += z.string(C.substr(a, d, null))); return e; }, __class__: Ja }; var C = function () {}; k.HxOverrides = C; C.__name__ = 'HxOverrides'; C.strDate = function (a) { switch (a.length) { case 8: a = a.split(':'); var b = new Date(); b.setTime(0); b.setUTCHours(a[0]); b.setUTCMinutes(a[1]); b.setUTCSeconds(a[2]); return b; case 10: return (a = a.split('-')), new Date(a[0], a[1] - 1, a[2], 0, 0, 0); case 19: return ( (a = a.split(' ')), (b = a[0].split('-')), (a = a[1].split(':')), new Date(b[0], b[1] - 1, b[2], a[0], a[1], a[2]) ); default: throw J.thrown('Invalid date format : ' + a); } }; C.cca = function (a, b) { a = a.charCodeAt(b); if (a == a) return a; }; C.substr = function (a, b, d) { if (null == d) d = a.length; else if (0 > d) if (0 == b) d = a.length + d; else return ''; return a.substr(b, d); }; C.remove = function (a, b) { b = a.indexOf(b); if (-1 == b) return !1; a.splice(b, 1); return !0; }; C.now = function () { return Date.now(); }; var Y = function (a, b) { this.min = a; this.max = b; }; k.IntIterator = Y; Y.__name__ = 'IntIterator'; Y.prototype = { min: null, max: null, hasNext: function () { return this.min < this.max; }, next: function () { return this.min++; }, __class__: Y }; var kd = function () {}; k.Lambda = kd; kd.__name__ = 'Lambda'; kd.array = function (a) { var b = []; for (a = K(a); a.hasNext(); ) { var d = a.next(); b.push(d); } return b; }; kd.count = function (a, b) { var d = 0; if (null == b) for (b = K(a); b.hasNext(); ) b.next(), ++d; else for (a = K(a); a.hasNext(); ) { var e = a.next(); b(e) && ++d; } return d; }; kd.indexOf = function (a, b) { var d = 0; for (a = K(a); a.hasNext(); ) { var e = a.next(); if (b == e) return d; ++d; } return -1; }; var ia = function () {}; k.ManifestResources = ia; ia.__name__ = 'ManifestResources'; ia.init = function (a) { ia.preloadLibraries = []; ia.preloadLibraryNames = []; ia.rootPath = null; null != a && Object.prototype.hasOwnProperty.call(a, 'rootPath') && (ia.rootPath = aa.field(a, 'rootPath')); null == ia.rootPath && (ia.rootPath = './'); a = Ic.parse( '{"name":null,"assets":"aoy8:positioni10y4:sizezy4:typey4:TEXTy2:idy36:assets%2Fgraphics%2Fdefault-font.fnty6:lengthi1057goR0i1067R1zR2y5:IMAGER4y36:assets%2Fgraphics%2Fdefault-font.pngR6i1759y7:preloadtgoR0i2826R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-830-0.pngR6i103R9tgoR0i2929R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-875-0.pngR6i100R9tgoR0i3029R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-540-2.pngR6i290R9tgoR0i3319R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-73-0.pngR6i197R9tgoR0i3516R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-975-5.pngR6i230R9tgoR0i3746R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-45.pngR6i220R9tgoR0i3966R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-51.pngR6i313R9tgoR0i4279R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-538-26.pngR6i371R9tgoR0i4650R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-57-1.pngR6i181R9tgoR0i4831R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1029-0.pngR6i93R9tgoR0i4924R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-767-4.pngR6i779R9tgoR0i5703R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-910-0.pngR6i308R9tgoR0i6011R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-460-2.pngR6i1895R9tgoR0i7906R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-217-0.pngR6i338R9tgoR0i8244R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1059-11.pngR6i313R9tgoR0i8557R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-26.pngR6i311R9tgoR0i8868R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1059-39.pngR6i219R9tgoR0i9087R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-32.pngR6i373R9tgoR0i9460R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-957-2.pngR6i654R9tgoR0i10114R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-132-1.pngR6i143R9tgoR0i10257R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-462-0.pngR6i460R9tgoR0i10717R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1088-1.pngR6i260R9tgoR0i10977R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-233-1.pngR6i503R9tgoR0i11480R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-848-0.pngR6i125R9tgoR0i11605R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-95-3.pngR6i117R9tgoR0i11722R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-538-3.pngR6i516R9tgoR0i12238R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-233-0.pngR6i467R9tgoR0i12705R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-95-2.pngR6i132R9tgoR0i12837R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-276-0.pngR6i78R9tgoR0i12915R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1088-0.pngR6i256R9tgoR0i13171R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1075-0.pngR6i205R9tgoR0i13376R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-462-1.pngR6i293R9tgoR0i13669R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-971-0.pngR6i127R9tgoR0i13796R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-132-0.pngR6i143R9tgoR0i13939R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-33.pngR6i222R9tgoR0i14161R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1059-38.pngR6i219R9tgoR0i14380R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1009-4.pngR6i2689R9tgoR0i17069R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1168-0.pngR6i81R9tgoR0i17150R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-27.pngR6i175R9tgoR0i17325R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-97-0.pngR6i131R9tgoR0i17456R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-217-1.pngR6i595R9tgoR0i18051R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Ftileset-144-6.pngR6i209R9tgoR0i18260R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-891-0.pngR6i115R9tgoR0i18375R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-292-1.pngR6i187R9tgoR0i18562R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-57-0.pngR6i181R9tgoR0i18743R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1059-8.pngR6i314R9tgoR0i19057R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-734-23.pngR6i201R9tgoR0i19258R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-538-27.pngR6i226R9tgoR0i19484R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-50.pngR6i194R9tgoR0i19678R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-542-1.pngR6i2325R9tgoR0i22003R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-44.pngR6i218R9tgoR0i22221R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-249-2.pngR6i193R9tgoR0i22414R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-975-4.pngR6i233R9tgoR0i22647R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-540-3.pngR6i272R9tgoR0i22919R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-951-5.pngR6i371R9tgoR0i23290R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-853-0.pngR6i127R9tgoR0i23417R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-977-4.pngR6i755R9tgoR0i24172R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-708-9.pngR6i272R9tgoR0i24444R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-354-0.pngR6i153R9tgoR0i24597R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-290-1.pngR6i189R9tgoR0i24786R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-55-0.pngR6i187R9tgoR0i24973R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-249-0.pngR6i224R9tgoR0i25197R1zR2R7R4y37:assets%2Fgraphics%2F1x%2Ffont-229.pngR6i2728R9tgoR0i27925R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-842-8.pngR6i2267R9tgoR0i30192R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-975-6.pngR6i232R9tgoR0i30424R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-52.pngR6i177R9tgoR0i30601R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-46.pngR6i219R9tgoR0i30820R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-440-4.pngR6i137R9tgoR0i30957R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-564-0.pngR6i380R9tgoR0i31337R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-599-0.pngR6i133R9tgoR0i31470R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-538-25.pngR6i224R9tgoR0i31694R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-538-19.pngR6i774R9tgoR0i32468R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-973-0.pngR6i132R9tgoR0i32600R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-936-0.pngR6i459R9tgoR0i33059R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1077-0.pngR6i182R9tgoR0i33241R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-460-1.pngR6i1778R9tgoR0i35019R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-274-0.pngR6i78R9tgoR0i35097R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-19.pngR6i190R9tgoR0i35287R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Ftileset-144-4.pngR6i243R9tgoR0i35530R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-217-3.pngR6i581R9tgoR0i36111R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-31.pngR6i191R9tgoR0i36302R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-25.pngR6i191R9tgoR0i36493R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1009-6.pngR6i2712R9tgoR0i39205R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-132-2.pngR6i166R9tgoR0i39371R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-912-1.pngR6i258R9tgoR0i39629R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-893-0.pngR6i114R9tgoR0i39743R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-434-9.pngR6i174R9tgoR0i39917R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-95-0.pngR6i131R9tgoR0i40048R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-233-2.pngR6i805R9tgoR0i40853R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1088-2.pngR6i253R9tgoR0i41106R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-538-1.pngR6i229R9tgoR0i41335R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-75-5.pngR6i385R9tgoR0i41720R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-75-4.pngR6i381R9tgoR0i42101R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-538-0.pngR6i362R9tgoR0i42463R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1088-3.pngR6i255R9tgoR0i42718R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-95-1.pngR6i147R9tgoR0i42865R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-462-2.pngR6i573R9tgoR0i43438R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-434-8.pngR6i316R9tgoR0i43754R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-714-51.pngR6i233R9tgoR0i43987R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-912-0.pngR6i156R9tgoR0i44143R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-151-0.pngR6i84R9tgoR0i44227R1zR2R3R4y37:assets%2Fgraphics%2F1x%2Ffont-165.fntR6i1115goR0i45342R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-24.pngR6i175R9tgoR0i45517R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-30.pngR6i175R9tgoR0i45692R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-18.pngR6i175R9tgoR0i45867R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-217-2.pngR6i758R9tgoR0i46625R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-544-4.pngR6i1339R9tgoR0i47964R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-460-0.pngR6i1890R9tgoR0i49854R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-936-1.pngR6i415R9tgoR0i50269R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-418-0.pngR6i144R9tgoR0i50413R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-579-4.pngR6i217R9tgoR0i50630R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-292-2.pngR6i191R9tgoR0i50821R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-71-0.pngR6i124R9tgoR0i50945R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-538-24.pngR6i520R9tgoR0i51465R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-47.pngR6i218R9tgoR0i51683R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-564-1.pngR6i2776R9tgoR0i54459R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-53.pngR6i193R9tgoR0i54652R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-975-7.pngR6i216R9tgoR0i54868R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-832-0.pngR6i390R9tgoR0i55258R1zR2R7R4y37:assets%2Fgraphics%2F1x%2Ffont-228.pngR6i2882R9tgoR0i58140R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-249-1.pngR6i211R9tgoR0i58351R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-877-0.pngR6i84R9tgoR0i58435R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-55-1.pngR6i187R9tgoR0i58622R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-706-7.pngR6i284R9tgoR0i58906R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-290-0.pngR6i194R9tgoR0i59100R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1017-22.pngR6i529R9tgoR0i59629R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-354-1.pngR6i134R9tgoR0i59763R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-407-7.pngR6i457R9tgoR0i60220R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-708-8.pngR6i286R9tgoR0i60506R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-540-0.pngR6i289R9tgoR0i60795R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-540-4.pngR6i754R9tgoR0i61549R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-464-0.pngR6i334R9tgoR0i61883R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-951-2.pngR6i369R9tgoR0i62252R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-101-8.pngR6i996R9tgoR0i63248R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-765-0.pngR6i110R9tgoR0i63358R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-720-0.pngR6i1018R9tgoR0i64376R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-706-3.pngR6i278R9tgoR0i64654R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-235-1.pngR6i153R9tgoR0i64807R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-245-8.pngR6i452R9tgoR0i65259R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-57.pngR6i240R9tgoR0i65499R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-440-1.pngR6i137R9tgoR0i65636R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-43.pngR6i219R9tgoR0i65855R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-953-0.pngR6i234R9tgoR0i66089R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-916-0.pngR6i146R9tgoR0i66235R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-160-9.pngR6i174R9tgoR0i66409R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-975-3.pngR6i217R9tgoR0i66626R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-538-20.pngR6i223R9tgoR0i66849R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-993-0.pngR6i95R9tgoR0i66944R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-540-10.pngR6i612R9tgoR0i67556R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-51-1.pngR6i156R9tgoR0i67712R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-34.pngR6i361R9tgoR0i68073R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-438-1.pngR6i93R9tgoR0i68166R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1009-3.pngR6i2136R9tgoR0i70302R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-20.pngR6i314R9tgoR0i70616R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1059-17.pngR6i317R9tgoR0i70933R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-560-1.pngR6i177R9tgoR0i71110R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-836-0.pngR6i222R9tgoR0i71332R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-873-0.pngR6i305R9tgoR0i71637R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-763-6.pngR6i387R9tgoR0i72024R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-95-5.pngR6i157R9tgoR0i72181R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-95-4.pngR6i147R9tgoR0i72328R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-763-7.pngR6i387R9tgoR0i72715R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-434-100.pngR6i353R9tgoR0i73068R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-560-0.pngR6i193R9tgoR0i73261R1zR2R7R4y45:assets%2Fgraphics%2F1x%2Fbackground-743-0.pngR6i926R9tgoR0i74187R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-350-0.pngR6i166R9tgoR0i74353R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-438-0.pngR6i78R9tgoR0i74431R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-21.pngR6i174R9tgoR0i74605R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-35.pngR6i381R9tgoR0i74986R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-51-0.pngR6i156R9tgoR0i75142R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-932-32.pngR6i1842R9tgoR0i76984R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-857-0.pngR6i148R9tgoR0i77132R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-993-1.pngR6i95R9tgoR0i77227R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-540-11.pngR6i610R9tgoR0i77837R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-91-0.pngR6i146R9tgoR0i77983R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-538-21.pngR6i775R9tgoR0i78758R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-579-1.pngR6i255R9tgoR0i79013R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-704-0.pngR6i708R9tgoR0i79721R1zR2R7R4y44:assets%2Fgraphics%2F1x%2Ftileset-742-129.pngR6i179R9tgoR0i79900R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-975-2.pngR6i236R9tgoR0i80136R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-953-1.pngR6i300R9tgoR0i80436R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-160-8.pngR6i315R9tgoR0i80751R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-440-0.pngR6i138R9tgoR0i80889R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-897-0.pngR6i165R9tgoR0i81054R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-42.pngR6i220R9tgoR0i81274R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-29-0.pngR6i180R9tgoR0i81454R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-56.pngR6i240R9tgoR0i81694R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-235-0.pngR6i163R9tgoR0i81857R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-407-10.pngR6i434R9tgoR0i82291R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Ftileset-723.pngR6i1743R9tgoR0i84034R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1073-0.pngR6i308R9tgoR0i84342R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-540-5.pngR6i771R9tgoR0i85113R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-997-5.pngR6i491R9tgoR0i85604R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-895-0.pngR6i114R9tgoR0i85718R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-432-9.pngR6i369R9tgoR0i86087R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-540-7.pngR6i776R9tgoR0i86863R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-932-2.pngR6i936R9tgoR0i87799R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1129-0.pngR6i138R9tgoR0i87937R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-93-0.pngR6i146R9tgoR0i88083R1zR2R3R4y37:assets%2Fgraphics%2F1x%2Ffont-228.fntR6i1084goR0i89167R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-40.pngR6i215R9tgoR0i89382R1zR2R7R4y44:assets%2Fgraphics%2F1x%2Ftileset-742-117.pngR6i178R9tgoR0i89560R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-440-2.pngR6i138R9tgoR0i89698R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-466-1.pngR6i150R9tgoR0i89848R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-995-5.pngR6i2482R9tgoR0i92330R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-54.pngR6i497R9tgoR0i92827R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-975-0.pngR6i231R9tgoR0i93058R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-579-3.pngR6i213R9tgoR0i93271R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-237-0.pngR6i98R9tgoR0i93369R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-538-23.pngR6i362R9tgoR0i93731R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-562-0.pngR6i98R9tgoR0i93829R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-775-10.pngR6i456R9tgoR0i94285R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-932-30.pngR6i943R9tgoR0i95228R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-23.pngR6i309R9tgoR0i95537R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-626-0.pngR6i128R9tgoR0i95665R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-37.pngR6i361R9tgoR0i96026R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1059-14.pngR6i315R9tgoR0i96341R1zR2R7R4y37:assets%2Fgraphics%2F1x%2Ffont-165.pngR6i3969R9tgoR0i100310R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-855-0.pngR6i144R9tgoR0i100454R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-763-5.pngR6i390R9tgoR0i100844R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-53-0.pngR6i93R9tgoR0i100937R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1088-4.pngR6i256R9tgoR0i101193R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-95-6.pngR6i210R9tgoR0i101403R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-95-7.pngR6i178R9tgoR0i101581R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1088-5.pngR6i253R9tgoR0i101834R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-538-6.pngR6i224R9tgoR0i102058R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-763-4.pngR6i390R9tgoR0i102448R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-991-0.pngR6i892R9tgoR0i103340R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1188-0.pngR6i98R9tgoR0i103438R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-217-4.pngR6i763R9tgoR0i104201R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-36.pngR6i222R9tgoR0i104423R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Ftileset-481.pngR6i3894R9tgoR0i108317R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1059-29.pngR6i315R9tgoR0i108632R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-22.pngR6i189R9tgoR0i108821R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-932-31.pngR6i1838R9tgoR0i110659R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-834-0.pngR6i385R9tgoR0i111044R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-871-0.pngR6i383R9tgoR0i111427R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-775-11.pngR6i454R9tgoR0i111881R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-544-2.pngR6i361R9tgoR0i112242R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-540-12.pngR6i593R9tgoR0i112835R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-538-22.pngR6i338R9tgoR0i113173R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-579-2.pngR6i252R9tgoR0i113425R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-953-2.pngR6i243R9tgoR0i113668R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-975-1.pngR6i223R9tgoR0i113891R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-466-0.pngR6i135R9tgoR0i114026R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-55.pngR6i492R9tgoR0i114518R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-41.pngR6i220R9tgoR0i114738R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-440-3.pngR6i138R9tgoR0i114876R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-93-1.pngR6i146R9tgoR0i115022R1zR2R3R4y37:assets%2Fgraphics%2F1x%2Ffont-229.fntR6i1083goR0i116105R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-706-1.pngR6i81R9tgoR0i116186R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-914-0.pngR6i104R9tgoR0i116290R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-977-3.pngR6i750R9tgoR0i117040R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Ftileset-734.pngR6i1417R9tgoR0i118457R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1055-0.pngR6i374R9tgoR0i118831R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-540-6.pngR6i770R9tgoR0i119601R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-432-8.pngR6i336R9tgoR0i119937R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-581-1.pngR6i252R9tgoR0i120189R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-122-17.pngR6i352R9tgoR0i120541R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-69-0.pngR6i103R9tgoR0i120644R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-426-3.pngR6i441R9tgoR0i121085R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-432-18.pngR6i673R9tgoR0i121758R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-214-1.pngR6i300R9tgoR0i122058R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-458-5.pngR6i4487R9tgoR0i126545R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1086-28.pngR6i406R9tgoR0i126951R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-167-13.pngR6i551R9tgoR0i127502R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-583-3.pngR6i286R9tgoR0i127788R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-26.pngR6i309R9tgoR0i128097R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1033-0.pngR6i93R9tgoR0i128190R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-32.pngR6i361R9tgoR0i128551R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-734-55.pngR6i283R9tgoR0i128834R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-987-14.pngR6i1338R9tgoR0i130172R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-558-0.pngR6i156R9tgoR0i130328R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-137-6.pngR6i341R9tgoR0i130669R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-86.pngR6i492R9tgoR0i131161R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Ftileset-734-0.pngR6i202R9tgoR0i131363R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-520-0.pngR6i160R9tgoR0i131523R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-92.pngR6i233R9tgoR0i131756R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-79.pngR6i259R9tgoR0i132015R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-969-3.pngR6i1489R9tgoR0i133504R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-45.pngR6i196R9tgoR0i133700R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-51.pngR6i265R9tgoR0i133965R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-587-7.pngR6i704R9tgoR0i134669R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-799-5.pngR6i161R9tgoR0i134830R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1156-0.pngR6i149R9tgoR0i134979R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-784-0.pngR6i205R9tgoR0i135184R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-478-0.pngR6i305R9tgoR0i135489R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Ftileset-828.pngR6i253R9tgoR0i135742R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-623-2.pngR6i216R9tgoR0i135958R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-11-0.pngR6i84R9tgoR0i136042R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-945-22.pngR6i694R9tgoR0i136736R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-128-0.pngR6i194R9tgoR0i136930R1zR2R7R4y37:assets%2Fgraphics%2F1x%2Ffont-102.pngR6i3751R9tgoR0i140681R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1135-2.pngR6i152R9tgoR0i140833R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-799-4.pngR6i161R9tgoR0i140994R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-348-4.pngR6i2605R9tgoR0i143599R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-587-6.pngR6i826R9tgoR0i144425R1zR2R7R4y44:assets%2Fgraphics%2F1x%2Ftileset-144-126.pngR6i273R9tgoR0i144698R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-50.pngR6i265R9tgoR0i144963R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-44.pngR6i195R9tgoR0i145158R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-786-3.pngR6i452R9tgoR0i145610R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-969-2.pngR6i483R9tgoR0i146093R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-78.pngR6i193R9tgoR0i146286R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-93.pngR6i249R9tgoR0i146535R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-520-1.pngR6i173R9tgoR0i146708R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1137-0.pngR6i85R9tgoR0i146793R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-87.pngR6i241R9tgoR0i147034R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1172-0.pngR6i82R9tgoR0i147116R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Ftileset-734-1.pngR6i187R9tgoR0i147303R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-137-7.pngR6i388R9tgoR0i147691R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-725-0.pngR6i304R9tgoR0i147995R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-558-1.pngR6i216R9tgoR0i148211R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-987-15.pngR6i1359R9tgoR0i149570R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-33.pngR6i221R9tgoR0i149791R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-27.pngR6i175R9tgoR0i149966R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-583-2.pngR6i303R9tgoR0i150269R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-167-12.pngR6i398R9tgoR0i150667R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-749-54.pngR6i197R9tgoR0i150864R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1086-29.pngR6i407R9tgoR0i151271R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-723-70.pngR6i211R9tgoR0i151482R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-458-4.pngR6i560R9tgoR0i152042R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-251-0.pngR6i106R9tgoR0i152148R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-214-0.pngR6i189R9tgoR0i152337R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-432-19.pngR6i674R9tgoR0i153011R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-426-2.pngR6i446R9tgoR0i153457R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-638-0.pngR6i95R9tgoR0i153552R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-122-16.pngR6i353R9tgoR0i153905R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-3-34.pngR6i436R9tgoR0i154341R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-581-2.pngR6i252R9tgoR0i154593R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-3-22.pngR6i325R9tgoR0i154918R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-945-8.pngR6i925R9tgoR0i155843R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-727-0.pngR6i1222R9tgoR0i157065R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-458-6.pngR6i421R9tgoR0i157486R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-167-9.pngR6i551R9tgoR0i158037R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-583-0.pngR6i286R9tgoR0i158323R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-122-9.pngR6i218R9tgoR0i158541R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-749-56.pngR6i167R9tgoR0i158708R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-167-10.pngR6i398R9tgoR0i159106R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-19.pngR6i190R9tgoR0i159296R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-31.pngR6i191R9tgoR0i159487R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-167-38.pngR6i637R9tgoR0i160124R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-763-11.pngR6i230R9tgoR0i160354R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-25.pngR6i191R9tgoR0i160545R1zR2R7R4y38:assets%2Fgraphics%2F1x%2Ffont-1053.pngR6i615R9tgoR0i161160R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1013-30.pngR6i943R9tgoR0i162103R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-137-5.pngR6i342R9tgoR0i162445R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-742-63.pngR6i245R9tgoR0i162690R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-815-1.pngR6i201R9tgoR0i162891R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-91.pngR6i410R9tgoR0i163301R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Ftileset-734-3.pngR6i208R9tgoR0i163509R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-85.pngR6i367R9tgoR0i163876R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-969-0.pngR6i947R9tgoR0i164823R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-786-1.pngR6i452R9tgoR0i165275R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-52.pngR6i263R9tgoR0i165538R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-46.pngR6i197R9tgoR0i165735R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-799-6.pngR6i161R9tgoR0i165896R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-587-4.pngR6i933R9tgoR0i166829R1zR2R7R4y39:assets%2Fgraphics%2F1x%2Fsprite-3-8.pngR6i336R9tgoR0i167165R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1170-0.pngR6i86R9tgoR0i167251R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-889-0.pngR6i119R9tgoR0i167370R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-623-1.pngR6i204R9tgoR0i167574R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1049-0.pngR6i293R9tgoR0i167867R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-945-21.pngR6i678R9tgoR0i168545R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-623-0.pngR6i217R9tgoR0i168762R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-908-0.pngR6i197R9tgoR0i168959R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-522-0.pngR6i78R9tgoR0i169037R1zR2R7R4y39:assets%2Fgraphics%2F1x%2Fsprite-3-9.pngR6i363R9tgoR0i169400R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-587-5.pngR6i791R9tgoR0i170191R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-47.pngR6i193R9tgoR0i170384R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-53.pngR6i265R9tgoR0i170649R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-13-0.pngR6i152R9tgoR0i170801R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-786-0.pngR6i241R9tgoR0i171042R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Ftileset-734-2.pngR6i201R9tgoR0i171243R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-84.pngR6i239R9tgoR0i171482R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-90.pngR6i379R9tgoR0i171861R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-520-2.pngR6i176R9tgoR0i172037R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-987-16.pngR6i1369R9tgoR0i173406R1zR2R7R4y38:assets%2Fgraphics%2F1x%2Ffont-1052.pngR6i613R9tgoR0i174019R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-763-10.pngR6i232R9tgoR0i174251R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-24.pngR6i175R9tgoR0i174426R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-30.pngR6i175R9tgoR0i174601R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-167-39.pngR6i864R9tgoR0i175465R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-167-11.pngR6i550R9tgoR0i176015R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-749-57.pngR6i160R9tgoR0i176175R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-18.pngR6i175R9tgoR0i176350R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-583-1.pngR6i308R9tgoR0i176658R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-167-8.pngR6i398R9tgoR0i177056R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-122-8.pngR6i389R9tgoR0i177445R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-122-15.pngR6i390R9tgoR0i177835R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1031-0.pngR6i93R9tgoR0i177928R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-3-23.pngR6i329R9tgoR0i178257R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-581-3.pngR6i213R9tgoR0i178470R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-547-1.pngR6i572R9tgoR0i179042R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-572-8.pngR6i2061R9tgoR0i181103R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-426-5.pngR6i451R9tgoR0i181554R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-122-11.pngR6i365R9tgoR0i181919R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-759-3.pngR6i439R9tgoR0i182358R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-3-27.pngR6i528R9tgoR0i182886R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-811-0.pngR6i121R9tgoR0i183007R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-3-33.pngR6i220R9tgoR0i183227R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-31-3.pngR6i93R9tgoR0i183320R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-432-22.pngR6i203R9tgoR0i183523R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-17-0.pngR6i129R9tgoR0i183652R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-458-3.pngR6i923R9tgoR0i184575R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1086-12.pngR6i215R9tgoR0i184790R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1015-5.pngR6i552R9tgoR0i185342R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1131-1.pngR6i115R9tgoR0i185457R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-34.pngR6i224R9tgoR0i185681R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-20.pngR6i312R9tgoR0i185993R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-167-29.pngR6i872R9tgoR0i186865R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-749-47.pngR6i169R9tgoR0i187034R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-583-5.pngR6i303R9tgoR0i187337R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-749-53.pngR6i193R9tgoR0i187530R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-167-15.pngR6i994R9tgoR0i188524R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-949-0.pngR6i242R9tgoR0i188766R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-404-2.pngR6i988R9tgoR0i189754R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1035-0.pngR6i83R9tgoR0i189837R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-94.pngR6i250R9tgoR0i190087R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-80.pngR6i496R9tgoR0i190583R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Ftileset-86-4.pngR6i223R9tgoR0i190806R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Ftileset-734-6.pngR6i213R9tgoR0i191019R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1149-1.pngR6i115R9tgoR0i191134R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-57.pngR6i265R9tgoR0i191399R1zR2R3R4y37:assets%2Fgraphics%2F1x%2Ffont-102.fntR6i1114goR0i192513R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-43.pngR6i194R9tgoR0i192707R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-989-0.pngR6i224R9tgoR0i192931R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-969-5.pngR6i552R9tgoR0i193483R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-348-3.pngR6i456R9tgoR0i193939R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1190-0.pngR6i284R9tgoR0i194223R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-799-3.pngR6i162R9tgoR0i194385R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-587-1.pngR6i339R9tgoR0i194724R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-156-1.pngR6i91R9tgoR0i194815R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-945-19.pngR6i642R9tgoR0i195457R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-686-1.pngR6i223R9tgoR0i195680R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-212-1.pngR6i231R9tgoR0i195911R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-869-0.pngR6i171R9tgoR0i196082R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-686-0.pngR6i243R9tgoR0i196325R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-212-0.pngR6i232R9tgoR0i196557R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-945-18.pngR6i1510R9tgoR0i198067R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-757-11.pngR6i687R9tgoR0i198754R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-156-0.pngR6i86R9tgoR0i198840R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-587-0.pngR6i368R9tgoR0i199208R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-799-2.pngR6i162R9tgoR0i199370R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-348-2.pngR6i370R9tgoR0i199740R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-808-0.pngR6i136R9tgoR0i199876R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-989-1.pngR6i224R9tgoR0i200100R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-42.pngR6i194R9tgoR0i200294R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-35-6.pngR6i657R9tgoR0i200951R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1149-0.pngR6i114R9tgoR0i201065R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-56.pngR6i262R9tgoR0i201327R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-585-2.pngR6i251R9tgoR0i201578R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Ftileset-734-7.pngR6i229R9tgoR0i201807R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-95.pngR6i353R9tgoR0i202160R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1035-1.pngR6i93R9tgoR0i202253R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-957-18.pngR6i381R9tgoR0i202634R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-949-1.pngR6i242R9tgoR0i202876R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-987-13.pngR6i1048R9tgoR0i203924R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-33-0.pngR6i159R9tgoR0i204083R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-167-14.pngR6i741R9tgoR0i204824R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-749-46.pngR6i182R9tgoR0i205006R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-734-85.pngR6i245R9tgoR0i205251R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-583-4.pngR6i309R9tgoR0i205560R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-21.pngR6i174R9tgoR0i205734R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-402-5.pngR6i398R9tgoR0i206132R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1131-0.pngR6i134R9tgoR0i206266R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1174-0.pngR6i133R9tgoR0i206399R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-35.pngR6i361R9tgoR0i206760R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-723-62.pngR6i284R9tgoR0i207044R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-31-2.pngR6i172R9tgoR0i207216R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-603-0.pngR6i189R9tgoR0i207405R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-3-32.pngR6i230R9tgoR0i207635R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-759-2.pngR6i441R9tgoR0i208076R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-122-10.pngR6i203R9tgoR0i208279R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-547-0.pngR6i176R9tgoR0i208455R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-426-4.pngR6i439R9tgoR0i208894R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Ftileset-742.pngR6i3245R9tgoR0i212139R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-122-12.pngR6i360R9tgoR0i212499R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1176-0.pngR6i131R9tgoR0i212630R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-3-18.pngR6i671R9tgoR0i213301R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-89-0.pngR6i121R9tgoR0i213422R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-3-30.pngR6i674R9tgoR0i214096R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-209-1.pngR6i298R9tgoR0i214394R1zR2R3R4y38:assets%2Fgraphics%2F1x%2Ffont-1052.fntR6i806goR0i215200R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-581-4.pngR6i217R9tgoR0i215417R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-432-21.pngR6i207R9tgoR0i215624R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1086-39.pngR6i300R9tgoR0i215924R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1086-11.pngR6i198R9tgoR0i216122R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-23.pngR6i313R9tgoR0i216435R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-37.pngR6i377R9tgoR0i216812R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-601-0.pngR6i142R9tgoR0i216954R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Ftileset-352.pngR6i144R9tgoR0i217098R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Ftileset-86-7.pngR6i200R9tgoR0i217298R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Ftileset-734-5.pngR6i231R9tgoR0i217529R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-83.pngR6i242R9tgoR0i217771R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-97.pngR6i236R9tgoR0i218007R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-585-0.pngR6i250R9tgoR0i218257R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1192-1.pngR6i187R9tgoR0i218444R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-40.pngR6i192R9tgoR0i218636R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-54.pngR6i264R9tgoR0i218900R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-775-8.pngR6i440R9tgoR0i219340R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1149-2.pngR6i101R9tgoR0i219441R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-68.pngR6i219R9tgoR0i219660R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-969-6.pngR6i564R9tgoR0i220224R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-49-0.pngR6i203R9tgoR0i220427R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Ftileset-144.pngR6i2563R9tgoR0i222990R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-587-2.pngR6i175R9tgoR0i223165R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-156-2.pngR6i102R9tgoR0i223267R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-170-1.pngR6i121R9tgoR0i223388R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Ftileset-193.pngR6i1249R9tgoR0i224637R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-799-1.pngR6i162R9tgoR0i224799R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-348-1.pngR6i1708R9tgoR0i226507R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-587-3.pngR6i898R9tgoR0i227405R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1037-0.pngR6i93R9tgoR0i227498R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-69.pngR6i218R9tgoR0i227716R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-55.pngR6i266R9tgoR0i227982R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-740-0.pngR6i191R9tgoR0i228173R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-775-9.pngR6i223R9tgoR0i228396R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-41.pngR6i191R9tgoR0i228587R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-35-5.pngR6i651R9tgoR0i229238R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1192-0.pngR6i212R9tgoR0i229450R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-742-64.pngR6i243R9tgoR0i229693R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-585-1.pngR6i239R9tgoR0i229932R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-96.pngR6i412R9tgoR0i230344R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Ftileset-86-6.pngR6i176R9tgoR0i230520R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-82.pngR6i220R9tgoR0i230740R1zR2R7R4y39:assets%2Fgraphics%2F1x%2Ftileset-86.pngR6i2802R9tgoR0i233542R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-15-0.pngR6i83R9tgoR0i233625R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-734-86.pngR6i243R9tgoR0i233868R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-813-0.pngR6i203R9tgoR0i234071R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-570-8.pngR6i698R9tgoR0i234769R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-36.pngR6i221R9tgoR0i234990R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-738-0.pngR6i822R9tgoR0i235812R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-402-6.pngR6i393R9tgoR0i236205R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-22.pngR6i189R9tgoR0i236394R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-31-1.pngR6i93R9tgoR0i236487R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1069-3.pngR6i209R9tgoR0i236696R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1086-38.pngR6i398R9tgoR0i237094R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-432-20.pngR6i318R9tgoR0i237412R1zR2R3R4y38:assets%2Fgraphics%2F1x%2Ffont-1053.fntR6i806goR0i238218R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-209-0.pngR6i189R9tgoR0i238407R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-3-31.pngR6i343R9tgoR0i238750R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-3-19.pngR6i668R9tgoR0i239418R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-524-0.pngR6i80R9tgoR0i239498R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-19-0.pngR6i130R9tgoR0i239628R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-572-7.pngR6i1708R9tgoR0i241336R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Ftileset-723-7.pngR6i202R9tgoR0i241538R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-945-2.pngR6i655R9tgoR0i242193R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-198-1.pngR6i172R9tgoR0i242365R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-549-1.pngR6i1621R9tgoR0i243986R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1086-35.pngR6i557R9tgoR0i244543R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-432-11.pngR6i340R9tgoR0i244883R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-570-5.pngR6i856R9tgoR0i245739R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-411-1.pngR6i95R9tgoR0i245834R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-167-32.pngR6i656R9tgoR0i246490R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1043-0.pngR6i1105R9tgoR0i247595R1zR2R7R4y37:assets%2Fgraphics%2F1x%2Ffont-526.pngR6i640R9tgoR0i248235R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-947-0.pngR6i313R9tgoR0i248548R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-104-0.pngR6i84R9tgoR0i248632R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-863-4.pngR6i256R9tgoR0i248888R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-902-0.pngR6i3605R9tgoR0i252493R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-141-0.pngR6i141R9tgoR0i252634R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-590-0.pngR6i91R9tgoR0i252725R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-13.pngR6i188R9tgoR0i252913R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-528-0.pngR6i78R9tgoR0i252991R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-734-60.pngR6i161R9tgoR0i253152R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-957-16.pngR6i1218R9tgoR0i254370R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-987-0.pngR6i1052R9tgoR0i255422R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-515-0.pngR6i78R9tgoR0i255500R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-58.pngR6i262R9tgoR0i255762R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-775-4.pngR6i553R9tgoR0i256315R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-280-0.pngR6i155R9tgoR0i256470R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-64.pngR6i219R9tgoR0i256689R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-795-1.pngR6i237R9tgoR0i256926R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-139-0.pngR6i153R9tgoR0i257079R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-70.pngR6i313R9tgoR0i257392R1zR2R7R4y39:assets%2Fgraphics%2F1x%2Fsprite-3-2.pngR6i363R9tgoR0i257755R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1081-2.pngR6i99R9tgoR0i257854R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-867-0.pngR6i490R9tgoR0i258344R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-61-0.pngR6i172R9tgoR0i258516R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-757-23.pngR6i327R9tgoR0i258843R1zR2R3R4y37:assets%2Fgraphics%2F1x%2Ffont-441.fntR6i674goR0i259517R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-360-0.pngR6i276R9tgoR0i259793R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-945-16.pngR6i1200R9tgoR0i260993R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-346-3.pngR6i4218R9tgoR0i265211R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-346-2.pngR6i464R9tgoR0i265675R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-797-2.pngR6i381R9tgoR0i266056R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-360-1.pngR6i662R9tgoR0i266718R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-757-22.pngR6i467R9tgoR0i267185R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-945-17.pngR6i1498R9tgoR0i268683R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-630-0.pngR6i141R9tgoR0i268824R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-61-1.pngR6i172R9tgoR0i268996R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1081-3.pngR6i98R9tgoR0i269094R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Ftileset-149.pngR6i2190R9tgoR0i271284R1zR2R7R4y39:assets%2Fgraphics%2F1x%2Fsprite-3-3.pngR6i593R9tgoR0i271877R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-795-0.pngR6i157R9tgoR0i272034R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-344-0.pngR6i138R9tgoR0i272172R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-71.pngR6i261R9tgoR0i272433R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-65.pngR6i219R9tgoR0i272652R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-45-0.pngR6i180R9tgoR0i272832R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1059-46.pngR6i494R9tgoR0i273326R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-59.pngR6i264R9tgoR0i273590R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-775-5.pngR6i550R9tgoR0i274140R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-806-0.pngR6i138R9tgoR0i274278R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1147-0.pngR6i671R9tgoR0i274949R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-957-17.pngR6i381R9tgoR0i275330R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-773-3.pngR6i152R9tgoR0i275482R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-755-0.pngR6i1085R9tgoR0i276567R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-734-75.pngR6i198R9tgoR0i276765R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-710-0.pngR6i81R9tgoR0i276846R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-863-5.pngR6i247R9tgoR0i277093R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-947-1.pngR6i310R9tgoR0i277403R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-12.pngR6i174R9tgoR0i277577R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-167-2.pngR6i622R9tgoR0i278199R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-167-27.pngR6i771R9tgoR0i278970R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-749-61.pngR6i213R9tgoR0i279183R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-570-4.pngR6i1007R9tgoR0i280190R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-883-0.pngR6i186R9tgoR0i280376R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-411-0.pngR6i206R9tgoR0i280582R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-167-33.pngR6i782R9tgoR0i281364R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-432-10.pngR6i362R9tgoR0i281726R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-771-1.pngR6i153R9tgoR0i281879R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1086-34.pngR6i328R9tgoR0i282207R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-926-0.pngR6i258R9tgoR0i282465R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-3-29.pngR6i463R9tgoR0i282928R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Ftileset-723-6.pngR6i192R9tgoR0i283120R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1067-0.pngR6i159R9tgoR0i283279R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-572-6.pngR6i2313R9tgoR0i285592R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-572-4.pngR6i2626R9tgoR0i288218R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-456-0.pngR6i134R9tgoR0i288352R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-881-0.pngR6i204R9tgoR0i288556R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-963-2.pngR6i459R9tgoR0i289015R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1086-36.pngR6i558R9tgoR0i289573R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1178-0.pngR6i98R9tgoR0i289671R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-549-2.pngR6i374R9tgoR0i290045R1zR2R7R4y37:assets%2Fgraphics%2F1x%2Ffont-900.pngR6i839R9tgoR0i290884R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-712-0.pngR6i141R9tgoR0i291025R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1086-22.pngR6i326R9tgoR0i291351R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-432-12.pngR6i212R9tgoR0i291563R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-167-31.pngR6i960R9tgoR0i292523R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-411-2.pngR6i379R9tgoR0i292902R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1065-0.pngR6i188R9tgoR0i293090R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-38.pngR6i218R9tgoR0i293308R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-570-6.pngR6i900R9tgoR0i294208R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-10.pngR6i186R9tgoR0i294394R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-961-0.pngR6i110R9tgoR0i294504R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-924-0.pngR6i93R9tgoR0i294597R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-167-0.pngR6i457R9tgoR0i295054R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-734-63.pngR6i210R9tgoR0i295264R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-634-6.pngR6i443R9tgoR0i295707R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-957-15.pngR6i1256R9tgoR0i296963R1zR2R7R4y37:assets%2Fgraphics%2F1x%2Ffont-479.pngR6i312R9tgoR0i297275R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-98.pngR6i253R9tgoR0i297528R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-632-0.pngR6i140R9tgoR0i297668R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1059-44.pngR6i412R9tgoR0i298080R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-63-1.pngR6i321R9tgoR0i298401R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-775-7.pngR6i223R9tgoR0i298624R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-73.pngR6i198R9tgoR0i298822R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-362-1.pngR6i211R9tgoR0i299033R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-969-9.pngR6i1474R9tgoR0i300507R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-67.pngR6i220R9tgoR0i300727R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1145-0.pngR6i106R9tgoR0i300833R1zR2R7R4y39:assets%2Fgraphics%2F1x%2Fsprite-3-1.pngR6i205R9tgoR0i301038R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1081-1.pngR6i98R9tgoR0i301136R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-47-0.pngR6i181R9tgoR0i301317R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1039-1.pngR6i255R9tgoR0i301572R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-282-1.pngR6i136R9tgoR0i301708R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-797-0.pngR6i206R9tgoR0i301914R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-945-15.pngR6i1220R9tgoR0i303134R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-945-14.pngR6i936R9tgoR0i304070R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-360-2.pngR6i293R9tgoR0i304363R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-757-21.pngR6i325R9tgoR0i304688R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-797-1.pngR6i95R9tgoR0i304783R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-227-5.pngR6i3553R9tgoR0i308336R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-777-4.pngR6i176R9tgoR0i308512R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-282-0.pngR6i157R9tgoR0i308669R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Ftileset-828-0.pngR6i275R9tgoR0i308944R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1081-0.pngR6i99R9tgoR0i309043R1zR2R7R4y39:assets%2Fgraphics%2F1x%2Fsprite-3-0.pngR6i384R9tgoR0i309427R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-985-0.pngR6i123R9tgoR0i309550R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-362-0.pngR6i217R9tgoR0i309767R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1011-15.pngR6i1256R9tgoR0i311023R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-66.pngR6i218R9tgoR0i311241R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-969-8.pngR6i933R9tgoR0i312174R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-72.pngR6i176R9tgoR0i312350R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-775-6.pngR6i439R9tgoR0i312789R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-63-0.pngR6i142R9tgoR0i312931R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1059-45.pngR6i311R9tgoR0i313242R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-865-0.pngR6i124R9tgoR0i313366R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-987-2.pngR6i556R9tgoR0i313922R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-99.pngR6i249R9tgoR0i314171R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-957-14.pngR6i1257R9tgoR0i315428R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-734-76.pngR6i182R9tgoR0i315610R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-11.pngR6i314R9tgoR0i315924R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-167-30.pngR6i466R9tgoR0i316390R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-570-7.pngR6i741R9tgoR0i317131R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-39.pngR6i219R9tgoR0i317350R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-167-24.pngR6i695R9tgoR0i318045R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-749-62.pngR6i227R9tgoR0i318272R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1086-37.pngR6i407R9tgoR0i318679R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-549-3.pngR6i1793R9tgoR0i320472R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-963-3.pngR6i454R9tgoR0i320926R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-143-0.pngR6i138R9tgoR0i321064R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-572-5.pngR6i1900R9tgoR0i322964R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1041-0.pngR6i1105R9tgoR0i324069R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Ftileset-723-5.pngR6i205R9tgoR0i324274R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Ftileset-149-6.pngR6i206R9tgoR0i324480R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-861-0.pngR6i516R9tgoR0i324996R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-122-18.pngR6i364R9tgoR0i325360R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Ftileset-723-1.pngR6i163R9tgoR0i325523R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-572-1.pngR6i2230R9tgoR0i327753R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-3-12.pngR6i212R9tgoR0i327965R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-366-0.pngR6i185R9tgoR0i328150R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-67-0.pngR6i134R9tgoR0i328284R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-428-3.pngR6i127R9tgoR0i328411R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1086-33.pngR6i404R9tgoR0i328815R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1086-27.pngR6i215R9tgoR0i329030R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-863-2.pngR6i220R9tgoR0i329250R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-15.pngR6i174R9tgoR0i329424R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-167-5.pngR6i551R9tgoR0i329975R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-29.pngR6i317R9tgoR0i330292R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-193-41.pngR6i193R9tgoR0i330485R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-570-3.pngR6i962R9tgoR0i331447R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-167-34.pngR6i699R9tgoR0i332146R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-612-0.pngR6i85R9tgoR0i332231R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-773-4.pngR6i198R9tgoR0i332429R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-286-0.pngR6i197R9tgoR0i332626R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-904-0.pngR6i93R9tgoR0i332719R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-89.pngR6i242R9tgoR0i332961R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-76.pngR6i177R9tgoR0i333138R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-62.pngR6i220R9tgoR0i333358R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1059-41.pngR6i410R9tgoR0i333768R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-126-1.pngR6i109R9tgoR0i333877R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-965-1.pngR6i202R9tgoR0i334079R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-587-8.pngR6i669R9tgoR0i334748R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-920-1.pngR6i466R9tgoR0i335214R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1081-4.pngR6i99R9tgoR0i335313R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Ftileset-828-4.pngR6i273R9tgoR0i335586R1zR2R7R4y39:assets%2Fgraphics%2F1x%2Fsprite-3-4.pngR6i598R9tgoR0i336184R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-262-1.pngR6i174R9tgoR0i336358R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-819-0.pngR6i147R9tgoR0i336505R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-346-5.pngR6i481R9tgoR0i336986R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1158-0.pngR6i174R9tgoR0i337160R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-777-1.pngR6i195R9tgoR0i337355R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-757-24.pngR6i684R9tgoR0i338039R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-227-0.pngR6i3333R9tgoR0i341372R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-346-4.pngR6i2949R9tgoR0i344321R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-819-1.pngR6i113R9tgoR0i344434R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-262-0.pngR6i416R9tgoR0i344850R1zR2R7R4y39:assets%2Fgraphics%2F1x%2Fsprite-3-5.pngR6i324R9tgoR0i345174R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1061-0.pngR6i394R9tgoR0i345568R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Ftileset-828-5.pngR6i273R9tgoR0i345841R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-965-0.pngR6i196R9tgoR0i346037R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-126-0.pngR6i109R9tgoR0i346146R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-920-0.pngR6i161R9tgoR0i346307R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1139-0.pngR6i322R9tgoR0i346629R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-742-91.pngR6i274R9tgoR0i346903R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-63.pngR6i220R9tgoR0i347123R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-260-2.pngR6i410R9tgoR0i347533R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-83-0.pngR6i133R9tgoR0i347666R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-77.pngR6i197R9tgoR0i347863R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-987-7.pngR6i1342R9tgoR0i349205R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-742-52.pngR6i161R9tgoR0i349366R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1045-1.pngR6i93R9tgoR0i349459R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-885-0.pngR6i308R9tgoR0i349767R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-88.pngR6i220R9tgoR0i349987R1zR2R7R4y37:assets%2Fgraphics%2F1x%2Ffont-441.pngR6i306R9tgoR0i350293R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-43-0.pngR6i199R9tgoR0i350492R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-286-1.pngR6i189R9tgoR0i350681R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-342-0.pngR6i132R9tgoR0i350813R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-570-2.pngR6i182R9tgoR0i350995R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1141-0.pngR6i80R9tgoR0i351075R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-167-35.pngR6i749R9tgoR0i351824R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-28.pngR6i188R9tgoR0i352012R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-167-4.pngR6i399R9tgoR0i352411R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-122-4.pngR6i359R9tgoR0i352770R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-863-3.pngR6i226R9tgoR0i352996R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-14.pngR6i311R9tgoR0i353307R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-636-0.pngR6i79R9tgoR0i353386R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-41-2.pngR6i91R9tgoR0i353477R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-428-2.pngR6i142R9tgoR0i353619R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1086-32.pngR6i405R9tgoR0i354024R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1019-0.pngR6i234R9tgoR0i354258R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-366-1.pngR6i189R9tgoR0i354447R1zR2R3R4y37:assets%2Fgraphics%2F1x%2Ffont-526.fntR6i894goR0i355341R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-572-0.pngR6i2572R9tgoR0i357913R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Ftileset-749.pngR6i2090R9tgoR0i360003R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Ftileset-723-0.pngR6i174R9tgoR0i360177R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-122-19.pngR6i197R9tgoR0i360374R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-572-2.pngR6i182R9tgoR0i360556R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1143-0.pngR6i933R9tgoR0i361489R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-3-11.pngR6i335R9tgoR0i361824R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-983-1.pngR6i443R9tgoR0i362267R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Ftileset-723-2.pngR6i173R9tgoR0i362440R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-757-6.pngR6i461R9tgoR0i362901R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-41-0.pngR6i181R9tgoR0i363082R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1086-24.pngR6i392R9tgoR0i363474R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1086-30.pngR6i402R9tgoR0i363876R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-549-4.pngR6i452R9tgoR0i364328R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-122-6.pngR6i221R9tgoR0i364549R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-167-6.pngR6i397R9tgoR0i364946R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-16.pngR6i189R9tgoR0i365135R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-863-1.pngR6i236R9tgoR0i365371R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-167-37.pngR6i892R9tgoR0i366263R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-570-0.pngR6i465R9tgoR0i366728R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-749-65.pngR6i177R9tgoR0i366905R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-167-23.pngR6i563R9tgoR0i367468R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-364-1.pngR6i152R9tgoR0i367620R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-957-13.pngR6i371R9tgoR0i367991R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-734-59.pngR6i175R9tgoR0i368166R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-967-0.pngR6i184R9tgoR0i368350R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-922-0.pngR6i3889R9tgoR0i372239R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-885-2.pngR6i1050R9tgoR0i373289R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1063-0.pngR6i220R9tgoR0i373509R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-61.pngR6i215R9tgoR0i373724R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-75.pngR6i315R9tgoR0i374039R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-49.pngR6i232R9tgoR0i374271R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1059-42.pngR6i315R9tgoR0i374586R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-382-2.pngR6i105R9tgoR0i374691R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-126-2.pngR6i104R9tgoR0i374795R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-39-0.pngR6i147R9tgoR0i374942R1zR2R7R4y39:assets%2Fgraphics%2F1x%2Fsprite-3-7.pngR6i335R9tgoR0i375277R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1047-1.pngR6i853R9tgoR0i376130R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-887-0.pngR6i134R9tgoR0i376264R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-819-3.pngR6i132R9tgoR0i376396R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-81-0.pngR6i148R9tgoR0i376544R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-227-2.pngR6i3896R9tgoR0i380440R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-777-3.pngR6i177R9tgoR0i380617R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-380-0.pngR6i182R9tgoR0i380799R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-777-2.pngR6i199R9tgoR0i380998R1zR2R3R4y37:assets%2Fgraphics%2F1x%2Ffont-479.fntR6i696goR0i381694R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-819-2.pngR6i147R9tgoR0i381841R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-360-4.pngR6i682R9tgoR0i382523R1zR2R7R4y39:assets%2Fgraphics%2F1x%2Fsprite-3-6.pngR6i326R9tgoR0i382849R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-39-1.pngR6i131R9tgoR0i382980R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-906-0.pngR6i335R9tgoR0i383315R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1059-43.pngR6i499R9tgoR0i383814R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-48.pngR6i231R9tgoR0i384045R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-742-92.pngR6i209R9tgoR0i384254R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-74.pngR6i194R9tgoR0i384448R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-260-1.pngR6i157R9tgoR0i384605R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-60.pngR6i218R9tgoR0i384823R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-742-51.pngR6i177R9tgoR0i385000R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-788-0.pngR6i165R9tgoR0i385165R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-65-0.pngR6i84R9tgoR0i385249R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-364-0.pngR6i151R9tgoR0i385400R1zR2R3R4y37:assets%2Fgraphics%2F1x%2Ffont-900.fntR6i1030goR0i386430R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-749-64.pngR6i180R9tgoR0i386610R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-167-36.pngR6i702R9tgoR0i387312R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-570-1.pngR6i424R9tgoR0i387736R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-17.pngR6i312R9tgoR0i388048R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-167-7.pngR6i551R9tgoR0i388599R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-610-0.pngR6i213R9tgoR0i388812R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1086-31.pngR6i560R9tgoR0i389372R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-284-0.pngR6i78R9tgoR0i389450R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-41-1.pngR6i91R9tgoR0i389541R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-983-0.pngR6i439R9tgoR0i389980R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Ftileset-723-3.pngR6i179R9tgoR0i390159R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-3-10.pngR6i362R9tgoR0i390521R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1143-1.pngR6i2811R9tgoR0i393332R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-572-3.pngR6i2269R9tgoR0i395601R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Ftileset-149-4.pngR6i243R9tgoR0i395844R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-708-3.pngR6i267R9tgoR0i396111R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-432-5.pngR6i324R9tgoR0i396435R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-840-0.pngR6i185R9tgoR0i396620R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-101-7.pngR6i973R9tgoR0i397593R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-999-4.pngR6i255R9tgoR0i397848R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-245-7.pngR6i435R9tgoR0i398283R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-577-0.pngR6i98R9tgoR0i398381R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-58.pngR6i220R9tgoR0i398601R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-532-0.pngR6i88R9tgoR0i398689R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-167-45.pngR6i515R9tgoR0i399204R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-551-3.pngR6i387R9tgoR0i399591R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1160-1.pngR6i233R9tgoR0i399824R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-160-6.pngR6i174R9tgoR0i399998R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-64.pngR6i233R9tgoR0i400231R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-842-2.pngR6i818R9tgoR0i401049R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-821-1.pngR6i131R9tgoR0i401180R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-468-2.pngR6i84R9tgoR0i401264R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-918-0.pngR6i262R9tgoR0i401526R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-436-1.pngR6i133R9tgoR0i401659R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-969-10.pngR6i998R9tgoR0i402657R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1021-0.pngR6i287R9tgoR0i402944R1zR2R7R4y45:assets%2Fgraphics%2F1x%2Fbackground-516-3.pngR6i430R9tgoR0i403374R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-932-28.pngR6i1838R9tgoR0i405212R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1059-30.pngR6i218R9tgoR0i405430R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-13.pngR6i188R9tgoR0i405618R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-434-3.pngR6i175R9tgoR0i405793R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-825-5.pngR6i259R9tgoR0i406052R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1184-0.pngR6i98R9tgoR0i406150R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-278-7.pngR6i227R9tgoR0i406377R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-763-9.pngR6i234R9tgoR0i406611R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-243-1.pngR6i177R9tgoR0i406788R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-838-0.pngR6i186R9tgoR0i406974R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-206-1.pngR6i225R9tgoR0i407199R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-243-0.pngR6i198R9tgoR0i407397R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-206-0.pngR6i117R9tgoR0i407514R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-763-8.pngR6i234R9tgoR0i407748R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-278-6.pngR6i175R9tgoR0i407923R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-825-4.pngR6i258R9tgoR0i408181R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-434-2.pngR6i317R9tgoR0i408498R1zR2R7R4y37:assets%2Fgraphics%2F1x%2Ffont-168.pngR6i3608R9tgoR0i412106R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1005-0.pngR6i84R9tgoR0i412190R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-12.pngR6i174R9tgoR0i412364R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-859-0.pngR6i181R9tgoR0i412545R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1059-31.pngR6i215R9tgoR0i412760R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-99-6.pngR6i996R9tgoR0i413756R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-932-29.pngR6i1842R9tgoR0i415598R1zR2R7R4y45:assets%2Fgraphics%2F1x%2Fbackground-516-2.pngR6i607R9tgoR0i416205R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-969-11.pngR6i989R9tgoR0i417194R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-538-12.pngR6i224R9tgoR0i417418R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-27-0.pngR6i112R9tgoR0i417530R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-468-3.pngR6i84R9tgoR0i417614R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-899-0.pngR6i190R9tgoR0i417804R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-821-0.pngR6i147R9tgoR0i417951R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-160-7.pngR6i190R9tgoR0i418141R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-842-3.pngR6i523R9tgoR0i418664R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-65.pngR6i251R9tgoR0i418915R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1160-0.pngR6i248R9tgoR0i419163R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-551-2.pngR6i170R9tgoR0i419333R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-167-44.pngR6i374R9tgoR0i419707R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-769-3.pngR6i313R9tgoR0i420020R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-59.pngR6i220R9tgoR0i420240R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-245-6.pngR6i421R9tgoR0i420661R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-767-21.pngR6i650R9tgoR0i421311R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-101-6.pngR6i993R9tgoR0i422304R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-432-4.pngR6i598R9tgoR0i422902R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Ftileset-702-0.pngR6i161R9tgoR0i423063R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1127-0.pngR6i138R9tgoR0i423201R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-432-6.pngR6i326R9tgoR0i423527R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1162-0.pngR6i155R9tgoR0i423682R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-540-8.pngR6i796R9tgoR0i424478R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-25-0.pngR6i157R9tgoR0i424635R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1086-41.pngR6i169R9tgoR0i424804R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-409-0.pngR6i575R9tgoR0i425379R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-245-4.pngR6i593R9tgoR0i425972R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-979-2.pngR6i642R9tgoR0i426614R1zR2R7R4y44:assets%2Fgraphics%2F1x%2Ftileset-742-118.pngR6i150R9tgoR0i426764R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1160-2.pngR6i252R9tgoR0i427016R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1125-2.pngR6i836R9tgoR0i427852R1zR2R7R4y44:assets%2Fgraphics%2F1x%2Ftileset-742-124.pngR6i243R9tgoR0i428095R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-239-0.pngR6i213R9tgoR0i428308R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-160-5.pngR6i316R9tgoR0i428624R1zR2R7R4y44:assets%2Fgraphics%2F1x%2Ftileset-742-130.pngR6i161R9tgoR0i428785R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-468-1.pngR6i84R9tgoR0i428869R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-538-10.pngR6i339R9tgoR0i429208R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-969-13.pngR6i613R9tgoR0i429821R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-628-0.pngR6i145R9tgoR0i429966R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-436-2.pngR6i133R9tgoR0i430099R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-99-4.pngR6i993R9tgoR0i431092R1zR2R7R4y45:assets%2Fgraphics%2F1x%2Fbackground-516-0.pngR6i524R9tgoR0i431616R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-38.pngR6i196R9tgoR0i431812R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1059-33.pngR6i220R9tgoR0i432032R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-10.pngR6i186R9tgoR0i432218R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-241-0.pngR6i212R9tgoR0i432430R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-204-0.pngR6i237R9tgoR0i432667R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-298-1.pngR6i166R9tgoR0i432833R1zR2R7R4y37:assets%2Fgraphics%2F1x%2Ffont-624.pngR6i167R9tgoR0i433000R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-278-4.pngR6i226R9tgoR0i433226R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-957-8.pngR6i1223R9tgoR0i434449R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-402-11.pngR6i151R9tgoR0i434600R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-538-8.pngR6i225R9tgoR0i434825R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-206-2.pngR6i206R9tgoR0i435031R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-95-9.pngR6i177R9tgoR0i435208R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-95-8.pngR6i146R9tgoR0i435354R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-278-5.pngR6i215R9tgoR0i435569R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-298-0.pngR6i154R9tgoR0i435723R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1023-0.pngR6i93R9tgoR0i435816R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-241-1.pngR6i196R9tgoR0i436012R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-204-1.pngR6i176R9tgoR0i436188R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-11.pngR6i315R9tgoR0i436503R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1059-32.pngR6i220R9tgoR0i436723R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-39.pngR6i195R9tgoR0i436918R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1059-26.pngR6i314R9tgoR0i437232R1zR2R7R4y45:assets%2Fgraphics%2F1x%2Fbackground-516-1.pngR6i628R9tgoR0i437860R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-99-5.pngR6i997R9tgoR0i438857R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1186-0.pngR6i98R9tgoR0i438955R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-79-0.pngR6i170R9tgoR0i439125R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-436-3.pngR6i133R9tgoR0i439258R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-969-12.pngR6i633R9tgoR0i439891R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-468-0.pngR6i80R9tgoR0i439971R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1059-2.pngR6i310R9tgoR0i440281R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-538-11.pngR6i345R9tgoR0i440626R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-239-1.pngR6i200R9tgoR0i440826R1zR2R7R4y44:assets%2Fgraphics%2F1x%2Ftileset-742-131.pngR6i189R9tgoR0i441015R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-160-4.pngR6i189R9tgoR0i441204R1zR2R7R4y44:assets%2Fgraphics%2F1x%2Ftileset-742-125.pngR6i158R9tgoR0i441362R1zR2R7R4y44:assets%2Fgraphics%2F1x%2Ftileset-742-119.pngR6i180R9tgoR0i441542R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-769-0.pngR6i213R9tgoR0i441755R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1125-3.pngR6i523R9tgoR0i442278R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-979-3.pngR6i621R9tgoR0i442899R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-245-5.pngR6i402R9tgoR0i443301R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1086-40.pngR6i225R9tgoR0i443526R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-409-1.pngR6i871R9tgoR0i444397R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-101-5.pngR6i1032R9tgoR0i445429R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-540-9.pngR6i797R9tgoR0i446226R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-708-1.pngR6i94R9tgoR0i446320R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-530-0.pngR6i142R9tgoR0i446462R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-432-7.pngR6i334R9tgoR0i446796R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-101-1.pngR6i197R9tgoR0i446993R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1182-0.pngR6i98R9tgoR0i447091R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-432-3.pngR6i592R9tgoR0i447683R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-245-1.pngR6i226R9tgoR0i447909R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-568-1.pngR6i166R9tgoR0i448075R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-749-39.pngR6i162R9tgoR0i448237R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-62.pngR6i250R9tgoR0i448487R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-608-0.pngR6i164R9tgoR0i448651R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-167-43.pngR6i446R9tgoR0i449097R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-59-1.pngR6i171R9tgoR0i449268R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1027-0.pngR6i93R9tgoR0i449361R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-224-0.pngR6i180R9tgoR0i449541R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-468-4.pngR6i79R9tgoR0i449620R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-99-1.pngR6i98R9tgoR0i449718R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-219-0.pngR6i670R9tgoR0i450388R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-534-0.pngR6i205R9tgoR0i450593R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-15.pngR6i174R9tgoR0i450767R1zR2R7R4y45:assets%2Fgraphics%2F1x%2Fbackground-715-2.pngR6i203R9tgoR0i450970R1zR2R3R4y37:assets%2Fgraphics%2F1x%2Ffont-168.fntR6i1114goR0i452084R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-29.pngR6i316R9tgoR0i452400R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-21-1.pngR6i244R9tgoR0i452644R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1059-36.pngR6i218R9tgoR0i452862R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-846-0.pngR6i280R9tgoR0i453142R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-803-0.pngR6i95R9tgoR0i453237R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-278-1.pngR6i154R9tgoR0i453391R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-825-3.pngR6i231R9tgoR0i453622R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-402-14.pngR6i265R9tgoR0i453887R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-555-1.pngR6i182R9tgoR0i454069R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-434-5.pngR6i311R9tgoR0i454380R1zR2R7R4y45:assets%2Fgraphics%2F1x%2Fbackground-752-0.pngR6i206R9tgoR0i454586R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-790-0.pngR6i142R9tgoR0i454728R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-959-2.pngR6i389R9tgoR0i455117R1zR2R7R4y45:assets%2Fgraphics%2F1x%2Fbackground-752-1.pngR6i226R9tgoR0i455343R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-555-0.pngR6i195R9tgoR0i455538R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-434-4.pngR6i189R9tgoR0i455727R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-825-2.pngR6i228R9tgoR0i455955R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-402-15.pngR6i276R9tgoR0i456231R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-278-0.pngR6i175R9tgoR0i456406R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1059-37.pngR6i220R9tgoR0i456626R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-28.pngR6i188R9tgoR0i456814R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1059-23.pngR6i310R9tgoR0i457124R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-14.pngR6i314R9tgoR0i457438R1zR2R7R4y45:assets%2Fgraphics%2F1x%2Fbackground-715-3.pngR6i184R9tgoR0i457622R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1166-0.pngR6i81R9tgoR0i457703R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-534-1.pngR6i185R9tgoR0i457888R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-219-1.pngR6i663R9tgoR0i458551R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-224-1.pngR6i262R9tgoR0i458813R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-247-2.pngR6i180R9tgoR0i458993R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-59-0.pngR6i171R9tgoR0i459164R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1125-6.pngR6i818R9tgoR0i459982R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-551-4.pngR6i106R9tgoR0i460088R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-167-42.pngR6i318R9tgoR0i460406R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-842-5.pngR6i2029R9tgoR0i462435R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-63.pngR6i412R9tgoR0i462847R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-940-2.pngR6i483R9tgoR0i463330R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-95-12.pngR6i146R9tgoR0i463476R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-245-0.pngR6i241R9tgoR0i463717R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-200-0.pngR6i225R9tgoR0i463942R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-432-2.pngR6i385R9tgoR0i464327R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1003-0.pngR6i674R9tgoR0i465001R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Ftileset-702.pngR6i190R9tgoR0i465191R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-942-0.pngR6i265R9tgoR0i465456R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Ftileset-714.pngR6i2779R9tgoR0i468235R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-407-9.pngR6i443R9tgoR0i468678R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-432-0.pngR6i384R9tgoR0i469062R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-767-19.pngR6i775R9tgoR0i469837R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-95-10.pngR6i147R9tgoR0i469984R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-245-2.pngR6i160R9tgoR0i470144R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-568-2.pngR6i191R9tgoR0i470335R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-733-0.pngR6i531R9tgoR0i470866R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-706-9.pngR6i290R9tgoR0i471156R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-61.pngR6i235R9tgoR0i471391R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-842-7.pngR6i932R9tgoR0i472323R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-160-3.pngR6i175R9tgoR0i472498R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-597-0.pngR6i148R9tgoR0i472646R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-167-40.pngR6i250R9tgoR0i472896R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-49.pngR6i176R9tgoR0i473072R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-247-0.pngR6i204R9tgoR0i473276R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-879-1.pngR6i81R9tgoR0i473357R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1059-5.pngR6i319R9tgoR0i473676R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1084-0.pngR6i78R9tgoR0i473754R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-99-2.pngR6i1012R9tgoR0i474766R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-436-4.pngR6i134R9tgoR0i474900R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-969-15.pngR6i1639R9tgoR0i476539R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-534-3.pngR6i172R9tgoR0i476711R1zR2R7R4y45:assets%2Fgraphics%2F1x%2Fbackground-715-1.pngR6i226R9tgoR0i476937R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-16.pngR6i189R9tgoR0i477126R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-938-0.pngR6i229R9tgoR0i477355R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1059-35.pngR6i219R9tgoR0i477574R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-21-2.pngR6i561R9tgoR0i478135R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1079-0.pngR6i262R9tgoR0i478397R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-402-17.pngR6i385R9tgoR0i478782R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-278-2.pngR6i181R9tgoR0i478963R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-714-77.pngR6i123R9tgoR0i479086R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-434-6.pngR6i174R9tgoR0i479260R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1164-0.pngR6i157R9tgoR0i479417R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-714-63.pngR6i230R9tgoR0i479647R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-959-1.pngR6i95R9tgoR0i479742R1zR2R7R4y45:assets%2Fgraphics%2F1x%2Fbackground-752-3.pngR6i184R9tgoR0i479926R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-23-0.pngR6i143R9tgoR0i480069R1zR2R7R4y45:assets%2Fgraphics%2F1x%2Fbackground-752-2.pngR6i204R9tgoR0i480273R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-959-0.pngR6i198R9tgoR0i480471R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-434-7.pngR6i190R9tgoR0i480661R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Ftileset-714-76.pngR6i121R9tgoR0i480782R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1164-1.pngR6i136R9tgoR0i480918R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-278-3.pngR6i197R9tgoR0i481115R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-402-16.pngR6i391R9tgoR0i481506R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-825-1.pngR6i238R9tgoR0i481744R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1059-20.pngR6i307R9tgoR0i482051R1zR2R7R4y43:assets%2Fgraphics%2F1x%2Fsprite-1059-34.pngR6i219R9tgoR0i482270R1zR2R7R4y45:assets%2Fgraphics%2F1x%2Fbackground-715-0.pngR6i206R9tgoR0i482476R1zR2R7R4y45:assets%2Fgraphics%2F1x%2Fbackground-750-0.pngR6i1565R9tgoR0i484041R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-792-0.pngR6i92R9tgoR0i484133R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-434-17.pngR6i315R9tgoR0i484448R1zR2R3R4y37:assets%2Fgraphics%2F1x%2Ffont-624.fntR6i459goR0i484907R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-534-2.pngR6i197R9tgoR0i485104R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-969-14.pngR6i1661R9tgoR0i486765R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-436-5.pngR6i134R9tgoR0i486899R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-844-0.pngR6i139R9tgoR0i487038R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-801-0.pngR6i225R9tgoR0i487263R1zR2R7R4y40:assets%2Fgraphics%2F1x%2Fsprite-99-3.pngR6i1037R9tgoR0i488300R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-717-0.pngR6i305R9tgoR0i488605R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-247-1.pngR6i188R9tgoR0i488793R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-202-1.pngR6i186R9tgoR0i488979R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-879-0.pngR6i79R9tgoR0i489058R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-167-41.pngR6i544R9tgoR0i489602R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1125-5.pngR6i2029R9tgoR0i491631R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-48.pngR6i312R9tgoR0i491943R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-453-0.pngR6i431R9tgoR0i492374R1zR2R7R4y44:assets%2Fgraphics%2F1x%2Ftileset-742-123.pngR6i158R9tgoR0i492532R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-842-6.pngR6i587R9tgoR0i493119R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-160-60.pngR6i410R9tgoR0i493529R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1180-0.pngR6i98R9tgoR0i493627R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-160-2.pngR6i317R9tgoR0i493944R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-706-8.pngR6i260R9tgoR0i494204R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-245-3.pngR6i575R9tgoR0i494779R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-95-11.pngR6i146R9tgoR0i494925R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-432-1.pngR6i205R9tgoR0i495130R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-407-8.pngR6i483R9tgoR0i495613R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-708-7.pngR6i261R9tgoR0i495874R1zR2R7R4y42:assets%2Fgraphics%2F1x%2Fsprite-1025-0.pngR6i93R9tgoR0i495967R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-101-3.pngR6i1007R9tgoR0i496974R1zR2R7R4y41:assets%2Fgraphics%2F1x%2Fsprite-162-0.pngR6i96R9tgoR1i418R2y5:MUSICR4y30:assets%2Fmusic%2Fsound-191.mp3y9:pathGroupaR1152y30:assets%2Fmusic%2Fsound-191.ogghR9tgoR1i418R2R1151R4y30:assets%2Fmusic%2Fsound-185.mp3R1153aR1155y30:assets%2Fmusic%2Fsound-185.ogghR9tgoR1i418R2R1151R4y30:assets%2Fmusic%2Fsound-184.mp3R1153aR1157y30:assets%2Fmusic%2Fsound-184.ogghR9tgoR1i418R2R1151R4y30:assets%2Fmusic%2Fsound-190.mp3R1153aR1159y30:assets%2Fmusic%2Fsound-190.ogghR9tgoR1i418R2R1151R4y30:assets%2Fmusic%2Fsound-186.mp3R1153aR1161y30:assets%2Fmusic%2Fsound-186.ogghR9tgoR1i418R2R1151R4y30:assets%2Fmusic%2Fsound-192.mp3R1153aR1163y30:assets%2Fmusic%2Fsound-192.ogghR9tgoR1i627R2R1151R4y30:assets%2Fmusic%2Fsound-179.mp3R1153aR1165y30:assets%2Fmusic%2Fsound-179.ogghR9tgoR1i627R2R1151R4y30:assets%2Fmusic%2Fsound-178.mp3R1153aR1167y30:assets%2Fmusic%2Fsound-178.ogghR9tgoR1i418R2R1151R4y30:assets%2Fmusic%2Fsound-187.mp3R1153aR1169y30:assets%2Fmusic%2Fsound-187.ogghR9tgoR1i418R2R1151R4y30:assets%2Fmusic%2Fsound-183.mp3R1153aR1171y30:assets%2Fmusic%2Fsound-183.ogghR9tgoR1i28108R2R1151R4y30:assets%2Fmusic%2Fsound-196.mp3R1153aR1173y30:assets%2Fmusic%2Fsound-196.ogghR9tgoR1i627R2R1151R4y30:assets%2Fmusic%2Fsound-182.mp3R1153aR1175y30:assets%2Fmusic%2Fsound-182.ogghR9tgoR1i522R2R1151R4y30:assets%2Fmusic%2Fsound-369.mp3R1153aR1177y30:assets%2Fmusic%2Fsound-369.ogghR9tgoR1i627R2R1151R4y30:assets%2Fmusic%2Fsound-180.mp3R1153aR1179y30:assets%2Fmusic%2Fsound-180.ogghR9tgoR1i28108R2R1151R4y30:assets%2Fmusic%2Fsound-157.mp3R1153aR1181y30:assets%2Fmusic%2Fsound-157.ogghR9tgoR1i32183R2R1151R4y30:assets%2Fmusic%2Fsound-745.mp3R1153aR1183y30:assets%2Fmusic%2Fsound-745.ogghR9tgoR1i627R2R1151R4y30:assets%2Fmusic%2Fsound-181.mp3R1153aR1185y30:assets%2Fmusic%2Fsound-181.ogghR9tgoR1i522R2R1151R4y30:assets%2Fmusic%2Fsound-368.mp3R1153aR1187y30:assets%2Fmusic%2Fsound-368.ogghR9tgoR1i28108R2R1151R4y30:assets%2Fmusic%2Fsound-736.mp3R1153aR1189y30:assets%2Fmusic%2Fsound-736.ogghR9tgoR1i28108R2R1151R4y30:assets%2Fmusic%2Fsound-721.mp3R1153aR1191y30:assets%2Fmusic%2Fsound-721.ogghR9tgoR1i28108R2R1151R4y30:assets%2Fmusic%2Fsound-731.mp3R1153aR1193y30:assets%2Fmusic%2Fsound-731.ogghR9tgoR1i28108R2R1151R4y30:assets%2Fmusic%2Fsound-135.mp3R1153aR1195y30:assets%2Fmusic%2Fsound-135.ogghR9tgoR1i522R2R1151R4y30:assets%2Fmusic%2Fsound-371.mp3R1153aR1197y30:assets%2Fmusic%2Fsound-371.ogghR9tgoR1i627R2R1151R4y30:assets%2Fmusic%2Fsound-173.mp3R1153aR1199y30:assets%2Fmusic%2Fsound-173.ogghR9tgoR1i32183R2R1151R4y30:assets%2Fmusic%2Fsound-748.mp3R1153aR1201y30:assets%2Fmusic%2Fsound-748.ogghR9tgoR1i522R2R1151R4y30:assets%2Fmusic%2Fsound-370.mp3R1153aR1203y30:assets%2Fmusic%2Fsound-370.ogghR9tgoR1i522R2R1151R4y30:assets%2Fmusic%2Fsound-372.mp3R1153aR1205y30:assets%2Fmusic%2Fsound-372.ogghR9tgoR1i627R2R1151R4y30:assets%2Fmusic%2Fsound-171.mp3R1153aR1207y30:assets%2Fmusic%2Fsound-171.ogghR9tgoR1i522R2R1151R4y30:assets%2Fmusic%2Fsound-373.mp3R1153aR1209y30:assets%2Fmusic%2Fsound-373.ogghR9tgoR1i522R2R1151R4y30:assets%2Fmusic%2Fsound-367.mp3R1153aR1211y30:assets%2Fmusic%2Fsound-367.ogghR9tgoR1i627R2R1151R4y30:assets%2Fmusic%2Fsound-175.mp3R1153aR1213y30:assets%2Fmusic%2Fsound-175.ogghR9tgoR1i28108R2R1151R4y30:assets%2Fmusic%2Fsound-148.mp3R1153aR1215y30:assets%2Fmusic%2Fsound-148.ogghR9tgoR1i522R2R1151R4y30:assets%2Fmusic%2Fsound-376.mp3R1153aR1217y30:assets%2Fmusic%2Fsound-376.ogghR9tgoR1i522R2R1151R4y30:assets%2Fmusic%2Fsound-374.mp3R1153aR1219y30:assets%2Fmusic%2Fsound-374.ogghR9tgoR1i418R2R1151R4y30:assets%2Fmusic%2Fsound-189.mp3R1153aR1221y30:assets%2Fmusic%2Fsound-189.ogghR9tgoR1i627R2R1151R4y30:assets%2Fmusic%2Fsound-176.mp3R1153aR1223y30:assets%2Fmusic%2Fsound-176.ogghR9tgoR1i627R2R1151R4y30:assets%2Fmusic%2Fsound-177.mp3R1153aR1225y30:assets%2Fmusic%2Fsound-177.ogghR9tgoR1i418R2R1151R4y30:assets%2Fmusic%2Fsound-188.mp3R1153aR1227y30:assets%2Fmusic%2Fsound-188.ogghR9tgoR1i522R2R1151R4y30:assets%2Fmusic%2Fsound-375.mp3R1153aR1229y30:assets%2Fmusic%2Fsound-375.ogghR9tgoR1i3841R2R1151R4R1220R1153aR1219R1220hgoR1i4174R2R1151R4R1224R1153aR1223R1224hgoR1i4049R2R1151R4R1222R1153aR1221R1222hgoR1i3811R2R1151R4R1228R1153aR1227R1228hgoR1i3884R2R1151R4R1226R1153aR1225R1226hgoR1i4102R2R1151R4R1230R1153aR1229R1230hgoR1i4213R2R1151R4R1214R1153aR1213R1214hgoR1i43861R2R1151R4R1216R1153aR1215R1216hgoR1i3821R2R1151R4R1218R1153aR1217R1218hgoR1i4318R2R1151R4R1206R1153aR1205R1206hgoR1i4376R2R1151R4R1208R1153aR1207R1208hgoR1i4282R2R1151R4R1212R1153aR1211R1212hgoR1i4125R2R1151R4R1210R1153aR1209R1210hgoR1i3823R2R1151R4R1198R1153aR1197R1198hgoR1i3888R2R1151R4R1200R1153aR1199R1200hgoR1i40860R2R1151R4R1202R1153aR1201R1202hgoR1i4099R2R1151R4R1204R1153aR1203R1204hgoR1i3839R2R1151R4R1178R1153aR1177R1178hgoR1i47549R2R1151R4R1182R1153aR1181R1182hgoR1i3871R2R1151R4R1180R1153aR1179R1180hgoR1i40972R2R1151R4R1184R1153aR1183R1184hgoR1i4132R2R1151R4R1186R1153aR1185R1186hgoR1i4110R2R1151R4R1188R1153aR1187R1188hgoR1i4027R2R1151R4R1172R1153aR1171R1172hgoR1i3870R2R1151R4R1176R1153aR1175R1176hgoR1i36158R2R1151R4R1174R1153aR1173R1174hgoR1i4158R2R1151R4R1166R1153aR1165R1166hgoR1i3865R2R1151R4R1164R1153aR1163R1164hgoR1i3970R2R1151R4R1162R1153aR1161R1162hgoR1i3823R2R1151R4R1170R1153aR1169R1170hgoR1i4240R2R1151R4R1168R1153aR1167R1168hgoR1i4010R2R1151R4R1156R1153aR1155R1156hgoR1i3832R2R1151R4R1154R1153aR1152R1154hgoR1i3998R2R1151R4R1160R1153aR1159R1160hgoR1i4021R2R1151R4R1158R1153aR1157R1158hgoR1i45771R2R1151R4R1196R1153aR1195R1196hgoR1i43933R2R1151R4R1194R1153aR1193R1194hgoR1i42367R2R1151R4R1192R1153aR1191R1192hgoR1i49265R2R1151R4R1190R1153aR1189R1190hgoR1i3135R2y5:SOUNDR4y28:assets%2Fsfx%2Fsound-378.mp3R1153aR1232y28:assets%2Fsfx%2Fsound-378.ogghR9tgoR1i6374R2R1231R4y28:assets%2Fsfx%2Fsound-225.mp3R1153aR1234y28:assets%2Fsfx%2Fsound-225.ogghR9tgoR1i2194R2R1231R4y28:assets%2Fsfx%2Fsound-782.mp3R1153aR1236y28:assets%2Fsfx%2Fsound-782.ogghR9tgoR1i6165R2R1231R4y28:assets%2Fsfx%2Fsound-423.mp3R1153aR1238y28:assets%2Fsfx%2Fsound-423.ogghR9tgoR1i7105R2R1231R4y28:assets%2Fsfx%2Fsound-351.mp3R1153aR1240y28:assets%2Fsfx%2Fsound-351.ogghR9tgoR1i2194R2R1231R4y28:assets%2Fsfx%2Fsound-804.mp3R1153aR1242y28:assets%2Fsfx%2Fsound-804.ogghR9tgoR1i3135R2R1231R4y28:assets%2Fsfx%2Fsound-780.mp3R1153aR1244y28:assets%2Fsfx%2Fsound-780.ogghR9tgoR1i1985R2R1231R4y28:assets%2Fsfx%2Fsound-781.mp3R1153aR1246y28:assets%2Fsfx%2Fsound-781.ogghR9tgoR1i32183R2R1231R4y29:assets%2Fsfx%2Fsound-1154.mp3R1153aR1248y29:assets%2Fsfx%2Fsound-1154.ogghR9tgoR1i16196R2R1231R4y29:assets%2Fsfx%2Fsound-1150.mp3R1153aR1250y29:assets%2Fsfx%2Fsound-1150.ogghR9tgoR1i5120R2R1231R4y28:assets%2Fsfx%2Fsound-424.mp3R1153aR1252y28:assets%2Fsfx%2Fsound-424.ogghR9tgoR1i8150R2R1231R4y28:assets%2Fsfx%2Fsound-430.mp3R1153aR1254y28:assets%2Fsfx%2Fsound-430.ogghR9tgoR1i146390R2R1231R4y28:assets%2Fsfx%2Fsound-746.mp3R1153aR1256y28:assets%2Fsfx%2Fsound-746.ogghR9tgoR1i1358R2R1231R4y28:assets%2Fsfx%2Fsound-222.mp3R1153aR1258y28:assets%2Fsfx%2Fsound-222.ogghR9tgoR1i2612R2R1231R4y28:assets%2Fsfx%2Fsound-545.mp3R1153aR1260y28:assets%2Fsfx%2Fsound-545.ogghR9tgoR1i256104R2R1231R4y28:assets%2Fsfx%2Fsound-747.mp3R1153aR1262y28:assets%2Fsfx%2Fsound-747.ogghR9tgoR1i5120R2R1231R4y29:assets%2Fsfx%2Fsound-1151.mp3R1153aR1264y29:assets%2Fsfx%2Fsound-1151.ogghR9tgoR1i1672R2R1231R4y29:assets%2Fsfx%2Fsound-1153.mp3R1153aR1266y29:assets%2Fsfx%2Fsound-1153.ogghR9tgoR1i2194R2R1231R4y28:assets%2Fsfx%2Fsound-221.mp3R1153aR1268y28:assets%2Fsfx%2Fsound-221.ogghR9tgoR1i2194R2R1231R4y28:assets%2Fsfx%2Fsound-220.mp3R1153aR1270y28:assets%2Fsfx%2Fsound-220.ogghR9tgoR1i6687R2R1231R4y28:assets%2Fsfx%2Fsound-793.mp3R1153aR1272y28:assets%2Fsfx%2Fsound-793.ogghR9tgoR1i2194R2R1231R4y28:assets%2Fsfx%2Fsound-817.mp3R1153aR1274y28:assets%2Fsfx%2Fsound-817.ogghR9tgoR1i2194R2R1231R4y29:assets%2Fsfx%2Fsound-1152.mp3R1153aR1276y29:assets%2Fsfx%2Fsound-1152.ogghR9tgoR1i8150R2R1231R4y28:assets%2Fsfx%2Fsound-469.mp3R1153aR1278y28:assets%2Fsfx%2Fsound-469.ogghR9tgoR1i2194R2R1231R4y28:assets%2Fsfx%2Fsound-119.mp3R1153aR1280y28:assets%2Fsfx%2Fsound-119.ogghR9tgoR1i5120R2R1231R4y28:assets%2Fsfx%2Fsound-253.mp3R1153aR1282y28:assets%2Fsfx%2Fsound-253.ogghR9tgoR1i1567R2R1231R4y28:assets%2Fsfx%2Fsound-252.mp3R1153aR1284y28:assets%2Fsfx%2Fsound-252.ogghR9tgoR1i4493R2R1231R4y28:assets%2Fsfx%2Fsound-118.mp3R1153aR1286y28:assets%2Fsfx%2Fsound-118.ogghR9tgoR1i4180R2R1231R4y28:assets%2Fsfx%2Fsound-454.mp3R1153aR1288y28:assets%2Fsfx%2Fsound-454.ogghR9tgoR1i7105R2R1231R4y28:assets%2Fsfx%2Fsound-442.mp3R1153aR1290y28:assets%2Fsfx%2Fsound-442.ogghR9tgoR1i192157R2R1231R4y28:assets%2Fsfx%2Fsound-735.mp3R1153aR1292y28:assets%2Fsfx%2Fsound-735.ogghR9tgoR1i4180R2R1231R4y28:assets%2Fsfx%2Fsound-480.mp3R1153aR1294y28:assets%2Fsfx%2Fsound-480.ogghR9tgoR1i5538R2R1231R4y29:assets%2Fsfx%2Fsound-1090.mp3R1153aR1296y29:assets%2Fsfx%2Fsound-1090.ogghR9tgoR1i4389R2R1231R4y28:assets%2Fsfx%2Fsound-254.mp3R1153aR1298y28:assets%2Fsfx%2Fsound-254.ogghR9tgoR1i174707R2R1231R4y28:assets%2Fsfx%2Fsound-730.mp3R1153aR1300y28:assets%2Fsfx%2Fsound-730.ogghR9tgoR1i204069R2R1231R4y28:assets%2Fsfx%2Fsound-718.mp3R1153aR1302y28:assets%2Fsfx%2Fsound-718.ogghR9tgoR1i36153R2R1231R4y29:assets%2Fsfx%2Fsound-1118.mp3R1153aR1304y29:assets%2Fsfx%2Fsound-1118.ogghR9tgoR1i81816R2R1231R4y28:assets%2Fsfx%2Fsound-450.mp3R1153aR1306y28:assets%2Fsfx%2Fsound-450.ogghR9tgoR1i3657R2R1231R4y28:assets%2Fsfx%2Fsound-108.mp3R1153aR1308y28:assets%2Fsfx%2Fsound-108.ogghR9tgoR1i5120R2R1231R4y28:assets%2Fsfx%2Fsound-134.mp3R1153aR1310y28:assets%2Fsfx%2Fsound-134.ogghR9tgoR1i3448R2R1231R4y28:assets%2Fsfx%2Fsound-120.mp3R1153aR1312y28:assets%2Fsfx%2Fsound-120.ogghR9tgoR1i378880R2R1231R4y28:assets%2Fsfx%2Fsound-525.mp3R1153aR1314y28:assets%2Fsfx%2Fsound-525.ogghR9tgoR1i2403R2R1231R4y28:assets%2Fsfx%2Fsound-109.mp3R1153aR1316y28:assets%2Fsfx%2Fsound-109.ogghR9tgoR1i60186R2R1231R4y29:assets%2Fsfx%2Fsound-1119.mp3R1153aR1318y29:assets%2Fsfx%2Fsound-1119.ogghR9tgoR1i1149R2R1231R4y28:assets%2Fsfx%2Fsound-851.mp3R1153aR1320y28:assets%2Fsfx%2Fsound-851.ogghR9tgoR1i2821R2R1231R4y28:assets%2Fsfx%2Fsound-110.mp3R1153aR1322y28:assets%2Fsfx%2Fsound-110.ogghR9tgoR1i3657R2R1231R4y28:assets%2Fsfx%2Fsound-105.mp3R1153aR1324y28:assets%2Fsfx%2Fsound-105.ogghR9tgoR1i3657R2R1231R4y28:assets%2Fsfx%2Fsound-111.mp3R1153aR1326y28:assets%2Fsfx%2Fsound-111.ogghR9tgoR1i1045R2R1231R4y28:assets%2Fsfx%2Fsound-850.mp3R1153aR1328y28:assets%2Fsfx%2Fsound-850.ogghR9tgoR1i86413R2R1231R4y28:assets%2Fsfx%2Fsound-449.mp3R1153aR1330y28:assets%2Fsfx%2Fsound-449.ogghR9tgoR1i1672R2R1231R4y28:assets%2Fsfx%2Fsound-107.mp3R1153aR1332y28:assets%2Fsfx%2Fsound-107.ogghR9tgoR1i2612R2R1231R4y28:assets%2Fsfx%2Fsound-113.mp3R1153aR1334y28:assets%2Fsfx%2Fsound-113.ogghR9tgoR1i4075R2R1231R4y29:assets%2Fsfx%2Fsound-1089.mp3R1153aR1336y29:assets%2Fsfx%2Fsound-1089.ogghR9tgoR1i1985R2R1231R4y28:assets%2Fsfx%2Fsound-112.mp3R1153aR1338y28:assets%2Fsfx%2Fsound-112.ogghR9tgoR1i2090R2R1231R4y28:assets%2Fsfx%2Fsound-106.mp3R1153aR1340y28:assets%2Fsfx%2Fsound-106.ogghR9tgoR1i7210R2R1231R4y28:assets%2Fsfx%2Fsound-472.mp3R1153aR1342y28:assets%2Fsfx%2Fsound-472.ogghR9tgoR1i1672R2R1231R4y28:assets%2Fsfx%2Fsound-116.mp3R1153aR1344y28:assets%2Fsfx%2Fsound-116.ogghR9tgoR1i2194R2R1231R4y28:assets%2Fsfx%2Fsound-117.mp3R1153aR1346y28:assets%2Fsfx%2Fsound-117.ogghR9tgoR1i731R2R1231R4y28:assets%2Fsfx%2Fsound-471.mp3R1153aR1348y28:assets%2Fsfx%2Fsound-471.ogghR9tgoR1i1672R2R1231R4y28:assets%2Fsfx%2Fsound-115.mp3R1153aR1350y28:assets%2Fsfx%2Fsound-115.ogghR9tgoR1i3344R2R1231R4y28:assets%2Fsfx%2Fsound-114.mp3R1153aR1352y28:assets%2Fsfx%2Fsound-114.ogghR9tgoR1i2821R2R1231R4y28:assets%2Fsfx%2Fsound-470.mp3R1153aR1354y28:assets%2Fsfx%2Fsound-470.ogghR9tgoR1i4180R2R1231R4y28:assets%2Fsfx%2Fsound-826.mp3R1153aR1356y28:assets%2Fsfx%2Fsound-826.ogghR9tgoR1i3135R2R1231R4y28:assets%2Fsfx%2Fsound-210.mp3R1153aR1358y28:assets%2Fsfx%2Fsound-210.ogghR9tgoR1i2090R2R1231R4y28:assets%2Fsfx%2Fsound-827.mp3R1153aR1360y28:assets%2Fsfx%2Fsound-827.ogghR9tgoR1i1254R2R1231R4y28:assets%2Fsfx%2Fsound-414.mp3R1153aR1362y28:assets%2Fsfx%2Fsound-414.ogghR9tgoR1i2090R2R1231R4y28:assets%2Fsfx%2Fsound-207.mp3R1153aR1364y28:assets%2Fsfx%2Fsound-207.ogghR9tgoR1i5120R2R1231R4y28:assets%2Fsfx%2Fsound-575.mp3R1153aR1366y28:assets%2Fsfx%2Fsound-575.ogghR9tgoR1i4911R2R1231R4y28:assets%2Fsfx%2Fsound-617.mp3R1153aR1368y28:assets%2Fsfx%2Fsound-617.ogghR9tgoR1i4180R2R1231R4y28:assets%2Fsfx%2Fsound-429.mp3R1153aR1370y28:assets%2Fsfx%2Fsound-429.ogghR9tgoR1i2612R2R1231R4y28:assets%2Fsfx%2Fsound-405.mp3R1153aR1372y28:assets%2Fsfx%2Fsound-405.ogghR9tgoR1i118282R2R1231R4y28:assets%2Fsfx%2Fsound-377.mp3R1153aR1374y28:assets%2Fsfx%2Fsound-377.ogghR9tgoR1i2403R2R1231R4y28:assets%2Fsfx%2Fsound-955.mp3R1153aR1376y28:assets%2Fsfx%2Fsound-955.ogghR9tgoR1i4180R2R1231R4y28:assets%2Fsfx%2Fsound-809.mp3R1153aR1378y28:assets%2Fsfx%2Fsound-809.ogghR9tgoR1i2194R2R1231R4y28:assets%2Fsfx%2Fsound-412.mp3R1153aR1380y28:assets%2Fsfx%2Fsound-412.ogghR9tgoR1i2194R2R1231R4y28:assets%2Fsfx%2Fsound-823.mp3R1153aR1382y28:assets%2Fsfx%2Fsound-823.ogghR9tgoR1i8359R2R1231R4y28:assets%2Fsfx%2Fsound-943.mp3R1153aR1384y28:assets%2Fsfx%2Fsound-943.ogghR9tgoR1i1567R2R1231R4y28:assets%2Fsfx%2Fsound-215.mp3R1153aR1386y28:assets%2Fsfx%2Fsound-215.ogghR9tgoR1i2194R2R1231R4y28:assets%2Fsfx%2Fsound-822.mp3R1153aR1388y28:assets%2Fsfx%2Fsound-822.ogghR9tgoR1i12121R2R1231R4y28:assets%2Fsfx%2Fsound-413.mp3R1153aR1390y28:assets%2Fsfx%2Fsound-413.ogghR9tgoR1i4265R2R1231R4R1349R1153aR1348R1349hgoR1i5472R2R1231R4R1351R1153aR1350R1351hgoR1i8600R2R1231R4R1353R1153aR1352R1353hgoR1i6755R2R1231R4R1355R1153aR1354R1355hgoR1i12426R2R1231R4R1343R1153aR1342R1343hgoR1i5554R2R1231R4R1345R1153aR1344R1345hgoR1i5856R2R1231R4R1347R1153aR1346R1347hgoR1i6548R2R1231R4R1335R1153aR1334R1335hgoR1i6241R2R1231R4R1333R1153aR1332R1333hgoR1i6478R2R1231R4R1337R1153aR1336R1337hgoR1i6902R2R1231R4R1341R1153aR1340R1341hgoR1i4488R2R1231R4R1339R1153aR1338R1339hgoR1i7293R2R1231R4R1323R1153aR1322R1323hgoR1i5262R2R1231R4R1321R1153aR1320R1321hgoR1i5034R2R1231R4R1329R1153aR1328R1329hgoR1i7658R2R1231R4R1327R1153aR1326R1327hgoR1i7082R2R1231R4R1325R1153aR1324R1325hgoR1i152464R2R1231R4R1331R1153aR1330R1331hgoR1i5865R2R1231R4R1381R1153aR1380R1381hgoR1i6060R2R1231R4R1383R1153aR1382R1383hgoR1i14702R2R1231R4R1385R1153aR1384R1385hgoR1i5315R2R1231R4R1387R1153aR1386R1387hgoR1i6100R2R1231R4R1389R1153aR1388R1389hgoR1i19593R2R1231R4R1391R1153aR1390R1391hgoR1i213530R2R1231R4R1375R1153aR1374R1375hgoR1i6544R2R1231R4R1373R1153aR1372R1373hgoR1i6801R2R1231R4R1377R1153aR1376R1377hgoR1i8157R2R1231R4R1379R1153aR1378R1379hgoR1i4946R2R1231R4R1363R1153aR1362R1363hgoR1i9876R2R1231R4R1367R1153aR1366R1367hgoR1i6178R2R1231R4R1365R1153aR1364R1365hgoR1i10726R2R1231R4R1369R1153aR1368R1369hgoR1i6249R2R1231R4R1371R1153aR1370R1371hgoR1i8229R2R1231R4R1357R1153aR1356R1357hgoR1i7122R2R1231R4R1359R1153aR1358R1359hgoR1i5379R2R1231R4R1361R1153aR1360R1361hgoR1i4383R2R1231R4R1267R1153aR1266R1267hgoR1i7087R2R1231R4R1269R1153aR1268R1269hgoR1i5928R2R1231R4R1271R1153aR1270R1271hgoR1i16528R2R1231R4R1273R1153aR1272R1273hgoR1i6264R2R1231R4R1275R1153aR1274R1275hgoR1i6418R2R1231R4R1277R1153aR1276R1277hgoR1i13801R2R1231R4R1255R1153aR1254R1255hgoR1i10011R2R1231R4R1253R1153aR1252R1253hgoR1i21491R2R1231R4R1251R1153aR1250R1251hgoR1i240454R2R1231R4R1257R1153aR1256R1257hgoR1i5469R2R1231R4R1259R1153aR1258R1259hgoR1i6696R2R1231R4R1261R1153aR1260R1261hgoR1i422645R2R1231R4R1263R1153aR1262R1263hgoR1i10117R2R1231R4R1265R1153aR1264R1265hgoR1i6653R2R1231R4R1243R1153aR1242R1243hgoR1i5881R2R1231R4R1245R1153aR1244R1245hgoR1i5944R2R1231R4R1247R1153aR1246R1247hgoR1i54901R2R1231R4R1249R1153aR1248R1249hgoR1i7099R2R1231R4R1233R1153aR1232R1233hgoR1i9775R2R1231R4R1235R1153aR1234R1235hgoR1i6581R2R1231R4R1237R1153aR1236R1237hgoR1i9786R2R1231R4R1241R1153aR1240R1241hgoR1i10331R2R1231R4R1239R1153aR1238R1239hgoR1i51252R2R1231R4R1305R1153aR1304R1305hgoR1i132710R2R1231R4R1307R1153aR1306R1307hgoR1i6490R2R1231R4R1313R1153aR1312R1313hgoR1i8028R2R1231R4R1311R1153aR1310R1311hgoR1i7883R2R1231R4R1309R1153aR1308R1309hgoR1i665093R2R1231R4R1315R1153aR1314R1315hgoR1i6023R2R1231R4R1317R1153aR1316R1317hgoR1i98945R2R1231R4R1319R1153aR1318R1319hgoR1i10149R2R1231R4R1297R1153aR1296R1297hgoR1i9211R2R1231R4R1299R1153aR1298R1299hgoR1i373442R2R1231R4R1303R1153aR1302R1303hgoR1i305099R2R1231R4R1301R1153aR1300R1301hgoR1i12105R2R1231R4R1291R1153aR1290R1291hgoR1i305004R2R1231R4R1293R1153aR1292R1293hgoR1i6839R2R1231R4R1295R1153aR1294R1295hgoR1i12461R2R1231R4R1279R1153aR1278R1279hgoR1i5715R2R1231R4R1281R1153aR1280R1281hgoR1i9656R2R1231R4R1283R1153aR1282R1283hgoR1i4790R2R1231R4R1285R1153aR1284R1285hgoR1i7268R2R1231R4R1287R1153aR1286R1287hgoR1i8841R2R1231R4R1289R1153aR1288R1289hgoR0i497070R1zR2y6:BINARYR4y29:assets%2Fdata%2Fscene-106.scnR6i1307goR0i498377R1zR2R1392R4y28:assets%2Fdata%2Fscene-89.mbsR6i3312goR0i501689R1zR2R1392R4y28:assets%2Fdata%2Fscene-88.mbsR6i2486goR0i504175R1zR2R1392R4y28:assets%2Fdata%2Fscene-77.mbsR6i2285goR0i506460R1zR2R1392R4y29:assets%2Fdata%2Fscene-107.scnR6i1312goR0i507772R1zR2R1392R4y29:assets%2Fdata%2Fscene-111.scnR6i1356goR0i509128R1zR2R1392R4y29:assets%2Fdata%2Fscene-105.scnR6i1799goR0i510927R1zR2R1392R4y28:assets%2Fdata%2Fscene-75.mbsR6i1839goR0i512766R1zR2R1392R4y26:assets%2Fdata%2Fscenes.mbsR6i757goR0i513523R1zR2R1392R4y28:assets%2Fdata%2Fscene-60.mbsR6i360goR0i513883R1zR2R1392R4y28:assets%2Fdata%2Fscene-74.mbsR6i2337goR0i516220R1zR2R1392R4y29:assets%2Fdata%2Fscene-104.scnR6i1704goR0i517924R1zR2R1392R4y29:assets%2Fdata%2Fscene-110.scnR6i1905goR0i519829R1zR2R1392R4y29:assets%2Fdata%2Fscene-128.scnR6i273goR0i520102R1zR2R1392R4y29:assets%2Fdata%2Fscene-114.scnR6i929goR0i521031R1zR2R1392R4y29:assets%2Fdata%2Fscene-100.scnR6i1234goR0i522265R1zR2R1392R4y28:assets%2Fdata%2Fscene-65.mbsR6i352goR0i522617R1zR2R1392R4y28:assets%2Fdata%2Fscene-71.mbsR6i1484goR0i524101R1zR2R1392R4y29:assets%2Fdata%2Fscene-129.scnR6i228goR0i524329R1zR2R1392R4y29:assets%2Fdata%2Fscene-103.scnR6i518goR0i524847R1zR2R1392R4y28:assets%2Fdata%2Fscene-73.mbsR6i2036goR0i526883R1zR2R1392R4y28:assets%2Fdata%2Fscene-98.mbsR6i2863goR0i529746R1zR2R1392R4y28:assets%2Fdata%2Fscene-99.mbsR6i2471goR0i532217R1zR2R1392R4y28:assets%2Fdata%2Fscene-72.mbsR6i1894goR0i534111R1zR2R1392R4y28:assets%2Fdata%2Fscene-66.mbsR6i3624goR0i537735R1zR2R1392R4y29:assets%2Fdata%2Fscene-116.scnR6i976goR0i538711R1zR2R1392R4y28:assets%2Fdata%2Fscene-75.scnR6i771goR0i539482R1zR2R1392R4y29:assets%2Fdata%2Fscene-111.mbsR6i3886goR0i543368R1zR2R1392R4y29:assets%2Fdata%2Fscene-105.mbsR6i3388goR0i546756R1zR2R1392R4y29:assets%2Fdata%2Fbehaviors.mbsR6i53801goR0i600557R1zR2R1392R4y29:assets%2Fdata%2Fscene-104.mbsR6i3553goR0i604110R1zR2R1392R4y29:assets%2Fdata%2Fscene-110.mbsR6i3499goR0i607609R1zR2R1392R4y28:assets%2Fdata%2Fscene-60.scnR6i26goR0i607635R1zR2R1392R4y28:assets%2Fdata%2Fscene-74.scnR6i1022goR0i608657R1zR2R1392R4y28:assets%2Fdata%2Fscene-89.scnR6i888goR0i609545R1zR2R1392R4y29:assets%2Fdata%2Fscene-106.mbsR6i3029goR0i612574R1zR2R1392R4y29:assets%2Fdata%2Fscene-107.mbsR6i5264goR0i617838R1zR2R1392R4y24:assets%2Fdata%2Fgame.mbsR6i2750goR0i620588R1zR2R1392R4y28:assets%2Fdata%2Fscene-77.scnR6i1187goR0i621775R1zR2R1392R4y28:assets%2Fdata%2Fscene-88.scnR6i615goR0i622390R1zR2R1392R4y28:assets%2Fdata%2Fscene-98.scnR6i894goR0i623284R1zR2R1392R4y28:assets%2Fdata%2Fscene-73.scnR6i867goR0i624151R1zR2R1392R4y29:assets%2Fdata%2Fscene-103.mbsR6i2288goR0i626439R1zR2R1392R4y29:assets%2Fdata%2Fscene-116.mbsR6i3060goR0i629499R1zR2R1392R4y28:assets%2Fdata%2Fscene-72.scnR6i719goR0i630218R1zR2R1392R4y28:assets%2Fdata%2Fscene-66.scnR6i1075goR0i631293R1zR2R1392R4y28:assets%2Fdata%2Fscene-99.scnR6i1251goR0i632544R1zR2R1392R4y29:assets%2Fdata%2Fscene-128.mbsR6i639goR0i633183R1zR2R1392R4y29:assets%2Fdata%2Fscene-114.mbsR6i3355goR0i636538R1zR2R1392R4y29:assets%2Fdata%2Fscene-100.mbsR6i3275goR0i639813R1zR2R7R4y34:assets%2Fdata%2Finner-joystick.pngR6i902R9tgoR0i640715R1zR2R7R4y34:assets%2Fdata%2Fouter-joystick.pngR6i1974R9tgoR0i642689R1zR2R1392R4y29:assets%2Fdata%2Fscene-129.mbsR6i1081goR0i643770R1zR2R1392R4y28:assets%2Fdata%2Fscene-65.scnR6i26goR0i643796R1zR2R1392R4y28:assets%2Fdata%2Fscene-71.scnR6i542goR0i644338R1zR2R1392R4y28:assets%2Fdata%2Fscene-97.scnR6i899goR0i645237R1zR2R1392R4y28:assets%2Fdata%2Fscene-68.scnR6i1828goR0i647065R1zR2R1392R4y29:assets%2Fdata%2Fscene-124.mbsR6i4017goR0i651082R1zR2R1392R4y29:assets%2Fdata%2Fscene-118.mbsR6i5631goR0i656713R1zR2R1392R4y29:assets%2Fdata%2Fscene-119.mbsR6i3964goR0i660677R1zR2R1392R4y29:assets%2Fdata%2Fscene-125.mbsR6i1973goR0i662650R1zR2R1392R4y29:assets%2Fdata%2Fscene-131.mbsR6i609goR0i663259R1zR2R1392R4y28:assets%2Fdata%2Fscene-82.scnR6i684goR0i663943R1zR2R1392R4y28:assets%2Fdata%2Fscene-96.scnR6i998goR0i664941R1zR2R1392R4y28:assets%2Fdata%2Fscene-94.scnR6i1248goR0i666189R1zR2R1392R4y28:assets%2Fdata%2Fscene-57.scnR6i351goR0i666540R1zR2R1392R4y29:assets%2Fdata%2Fscene-127.mbsR6i589goR0i667129R1zR2R1392R4y29:assets%2Fdata%2Fscene-133.mbsR6i930goR0i668059R1zR2R1392R4y29:assets%2Fdata%2Fscene-132.mbsR6i2553goR0i670612R1zR2R1392R4y28:assets%2Fdata%2Fscene-22.mbsR6i2173goR0i672785R1zR2R1392R4y28:assets%2Fdata%2Fscene-95.scnR6i811goR0i673596R1zR2R1392R4y28:assets%2Fdata%2Fscene-81.scnR6i1080goR0i674676R1zR2R1392R4y28:assets%2Fdata%2Fscene-85.scnR6i516goR0i675192R1zR2R1392R4y28:assets%2Fdata%2Fscene-91.scnR6i462goR0i675654R1zR2R1392R4y29:assets%2Fdata%2Fscene-142.scnR6i816goR0i676470R1zR2R1392R4y29:assets%2Fdata%2Fscene-122.mbsR6i3561goR0i680031R1zR2R1392R4y29:assets%2Fdata%2Fscene-136.mbsR6i893goR0i680924R1zR2R1392R4y29:assets%2Fdata%2Fscene-123.mbsR6i4244goR0i685168R1zR2R1392R4y28:assets%2Fdata%2Fscene-90.scnR6i959goR0i686127R1zR2R1392R4y29:assets%2Fdata%2Fscene-143.scnR6i1455goR0i687582R1zR2R1392R4y28:assets%2Fdata%2Fscene-84.scnR6i703goR0i688285R1zR2R1392R4y27:assets%2Fdata%2Fscene-4.scnR6i66goR0i688351R1zR2R1392R4y28:assets%2Fdata%2Fscene-92.scnR6i663goR0i689014R1zR2R1392R4y28:assets%2Fdata%2Fscene-86.scnR6i802goR0i689816R1zR2R1392R4y28:assets%2Fdata%2Fscene-79.scnR6i1199goR0i691015R1zR2R1392R4y29:assets%2Fdata%2Fscene-109.mbsR6i3897goR0i694912R1zR2R1392R4y29:assets%2Fdata%2Fscene-135.mbsR6i1095goR0i696007R1zR2R1392R4y29:assets%2Fdata%2Fscene-121.mbsR6i5837goR0i701844R1zR2R1392R4y29:assets%2Fdata%2Fscene-120.mbsR6i3654goR0i705498R1zR2R1392R4y29:assets%2Fdata%2Fscene-134.mbsR6i1000goR0i706498R1zR2R1392R4y29:assets%2Fdata%2Fscene-108.mbsR6i5880goR0i712378R1zR2R1392R4y28:assets%2Fdata%2Fscene-78.scnR6i935goR0i713313R1zR2R1392R4y28:assets%2Fdata%2Fscene-87.scnR6i1510goR0i714823R1zR2R1392R4y28:assets%2Fdata%2Fscene-93.scnR6i1068goR0i715891R1zR2R1392R4y27:assets%2Fdata%2Fscene-5.scnR6i327goR0i716218R1zR2R1392R4y29:assets%2Fdata%2Fscene-127.scnR6i66goR0i716284R1zR2R1392R4y29:assets%2Fdata%2Fscene-133.scnR6i90goR0i716374R1zR2R1392R4y29:assets%2Fdata%2Fresources.mbsR6i65645goR0i782019R1zR2R1392R4y28:assets%2Fdata%2Fscene-57.mbsR6i676goR0i782695R1zR2R1392R4y28:assets%2Fdata%2Fscene-94.mbsR6i2648goR0i785343R1zR2R1392R4y28:assets%2Fdata%2Fscene-95.mbsR6i3234goR0i788577R1zR2R1392R4y28:assets%2Fdata%2Fscene-81.mbsR6i1381goR0i789958R1zR2R1392R4y28:assets%2Fdata%2Fscene-22.scnR6i795goR0i790753R1zR2R1392R4y29:assets%2Fdata%2Fscene-132.scnR6i151goR0i790904R1zR2R1392R4y29:assets%2Fdata%2Fscene-124.scnR6i1184goR0i792088R1zR2R1392R4y29:assets%2Fdata%2Fscene-118.scnR6i2019goR0i794107R1zR2R1392R4y28:assets%2Fdata%2Fscene-68.mbsR6i3893goR0i798000R1zR2R1392R4y28:assets%2Fdata%2Fscene-97.mbsR6i2544goR0i800544R1zR2R1392R4y28:assets%2Fdata%2Fscene-82.mbsR6i3542goR0i804086R1zR2R1392R4y28:assets%2Fdata%2Fscene-96.mbsR6i3243goR0i807329R1zR2R1392R4y29:assets%2Fdata%2Fscene-119.scnR6i1078goR0i808407R1zR2R1392R4y29:assets%2Fdata%2Fscene-125.scnR6i600goR0i809007R1zR2R1392R4y29:assets%2Fdata%2Fscene-131.scnR6i68goR0i809075R1zR2R1392R4y29:assets%2Fdata%2Fscene-109.scnR6i1461goR0i810536R1zR2R1392R4y29:assets%2Fdata%2Fscene-135.scnR6i394goR0i810930R1zR2R1392R4y29:assets%2Fdata%2Fscene-121.scnR6i1072goR0i812002R1zR2R1392R4y28:assets%2Fdata%2Fscene-79.mbsR6i4144goR0i816146R1zR2R1392R4y27:assets%2Fdata%2Fscene-4.mbsR6i546goR0i816692R1zR2R1392R4y28:assets%2Fdata%2Fscene-92.mbsR6i2926goR0i819618R1zR2R1392R4y28:assets%2Fdata%2Fscene-86.mbsR6i2502goR0i822120R1zR2R1392R4y28:assets%2Fdata%2Fscene-87.mbsR6i3548goR0i825668R1zR2R1392R4y28:assets%2Fdata%2Fscene-93.mbsR6i4876goR0i830544R1zR2R1392R4y27:assets%2Fdata%2Fscene-5.mbsR6i984goR0i831528R1zR2R1392R4y28:assets%2Fdata%2Fscene-78.mbsR6i2546goR0i834074R1zR2R1392R4y29:assets%2Fdata%2Fscene-120.scnR6i1190goR0i835264R1zR2R1392R4y29:assets%2Fdata%2Fscene-134.scnR6i184goR0i835448R1zR2R1392R4y29:assets%2Fdata%2Fscene-108.scnR6i1365goR0i836813R1zR2R1392R4y29:assets%2Fdata%2Fscene-122.scnR6i1077goR0i837890R1zR2R1392R4y29:assets%2Fdata%2Fscene-136.scnR6i379goR0i838269R1zR2R1392R4y28:assets%2Fdata%2Fscene-85.mbsR6i1986goR0i840255R1zR2R1392R4y28:assets%2Fdata%2Fscene-91.mbsR6i2134goR0i842389R1zR2R1392R4y29:assets%2Fdata%2Fscene-142.mbsR6i2317goR0i844706R1zR2R1392R4y28:assets%2Fdata%2Fscene-90.mbsR6i4499goR0i849205R1zR2R1392R4y29:assets%2Fdata%2Fscene-143.mbsR6i3670goR0i852875R1zR2R1392R4y28:assets%2Fdata%2Fscene-84.mbsR6i2173goR0i855048R1zR2R1392R4y29:assets%2Fdata%2Fscene-123.scnR6i803gh","rootPath":null,"version":2,"libraryArgs":["lib/default.pak","gzip"],"libraryType":"lime.utils.PackedAssetLibrary"}', ia.rootPath ); a = wb.fromManifest(a); sa.registerLibrary('default', a); a = sa.getLibrary('default'); null != a ? ia.preloadLibraries.push(a) : ia.preloadLibraryNames.push('default'); }; Math.__name__ = 'Math'; var aa = function () {}; k.Reflect = aa; aa.__name__ = 'Reflect'; aa.field = function (a, b) { try { return a[b]; } catch (d) { return (ka.lastError = d), null; } }; aa.getProperty = function (a, b) { var d; if (null == a) return null; var e = a.__properties__ ? (d = a.__properties__['get_' + b]) : !1; return e ? a[d]() : a[b]; }; aa.fields = function (a) { var b = []; if (null != a) { var d = Object.prototype.hasOwnProperty, e; for (e in a) '__id__' != e && 'hx__closures__' != e && d.call(a, e) && b.push(e); } return b; }; aa.isFunction = function (a) { return 'function' == typeof a ? !(a.__name__ || a.__ename__) : !1; }; aa.compare = function (a, b) { return a == b ? 0 : a > b ? 1 : -1; }; aa.compareMethods = function (a, b) { return a == b ? !0 : aa.isFunction(a) && aa.isFunction(b) ? a.scope == b.scope && a.method == b.method ? null != a.method : !1 : !1; }; aa.isEnumValue = function (a) { return null != a ? null != a.__enum__ : !1; }; aa.deleteField = function (a, b) { if (!Object.prototype.hasOwnProperty.call(a, b)) return !1; delete a[b]; return !0; }; aa.makeVarArgs = function (a) { return function () { var b = Array.prototype.slice.call(arguments); return a(b); }; }; var Q = function () {}; k.ScaleUtils = Q; Q.__name__ = 'ScaleUtils'; Q.getScale = function (a, b) { return 'h' == a ? 100 * b.realScaleY : 100 * b.realScaleX; }; Q.scaledCoord = function (a, b) { switch (a) { case 'xs': return Q.offset(b.getScreenX(), 'xr', b); case 'y': return Q.offset(b.getY(), 'yr', b); case 'ys': return Q.offset(b.getScreenY(), 'yr', b); default: return Q.offset(b.getX(), 'xr', b); } }; Q.offset = function (a, b, d) { switch (b) { case 'xr': return ((d.getWidth() - (d.getWidth() % 2)) * (d.realScaleX - 1)) / -2 + a; case 'ya': return -1 * (((d.getHeight() - (d.getHeight() % 2)) * (d.realScaleY - 1)) / -2 + a); case 'yr': return ((d.getHeight() - (d.getHeight() % 2)) * (d.realScaleY - 1)) / -2 + a; default: return -1 * (((d.getWidth() - (d.getWidth() % 2)) * (d.realScaleX - 1)) / -2 + a); } }; Q.scale = function (a, b, d) { b /= 100; switch (a) { case 'height': d.realScaleY = b; break; case 'width': d.realScaleX = b; break; default: (d.realScaleX = b), (d.realScaleY = b); } }; Q.setScale = function (a, b, d) { switch (a) { case 'height': d.realScaleY = b / d.getHeight(); break; case 'width': d.realScaleX = b / d.getWidth(); break; default: (d.realScaleX = b / d.getWidth()), (d.realScaleY = b / d.getHeight()); } }; Q.scaledSize = function (a, b) { switch (a) { case 'halfheight': return (b.getHeight() * b.realScaleY) / 2; case 'halfwidth': return (b.getWidth() * b.realScaleX) / 2; case 'height': return b.getHeight() * b.realScaleY; default: return b.getWidth() * b.realScaleX; } }; Q.isScaled = function (a) { return 1 == a.realScaleX ? 1 != a.realScaleY : !0; }; var z = function () {}; k.Std = z; z.__name__ = 'Std'; z.string = function (a) { return w.__string_rec(a, ''); }; z.parseInt = function (a) { if (null != a) for (var b = 0, d = a.length; b < d; ) { var e = b++, f = a.charCodeAt(e); if (8 >= f || (14 <= f && 32 != f && 45 != f)) if ( ((b = a.charCodeAt(e + 1)), (a = parseInt(a, 120 == b || 88 == b ? 16 : 10)), isNaN(a)) ) break; else return a; } return null; }; var hb = function () {}; k.StencylPoki = hb; hb.__name__ = 'StencylPoki'; hb.gameplayStart = function () { hb.stopped && (hb.pokiSDK.gameplayStart(), (hb.stopped = !1)); }; hb.gameplayStop = function () { hb.stopped || (hb.pokiSDK.gameplayStop(), (hb.stopped = !0)); }; hb.commercialBreak = function (a) { hb.pokiSDK.commercialBreak().then(function () { null != a && a(); }); }; hb.rewardedBreak = function (a) { hb.pokiSDK.rewardedBreak().then(function (b) { null != a && a(b); }); }; hb.happyTime = function (a) { 0 > a || 1 < a || hb.pokiSDK.happyTime(a); }; var Fd = function () {}; k['_String.String_Impl_'] = Fd; Fd.__name__ = '_String.String_Impl_'; Fd.fromCharCode = function (a) { return String.fromCodePoint(a); }; var Ga = function () { this.b = ''; }; k.StringBuf = Ga; Ga.__name__ = 'StringBuf'; Ga.prototype = { b: null, __class__: Ga }; var T = function () {}; k.StringTools = T; T.__name__ = 'StringTools'; T.htmlEscape = function (a, b) { for (var d = '', e = 0, f = a; e < f.length; ) { a = f; var c = e++, l = a.charCodeAt(c); 55296 <= l && 56319 >= l && (l = ((l - 55232) << 10) | (a.charCodeAt(c + 1) & 1023)); a = l; 65536 <= a && ++e; switch (a) { case 34: d = b ? d + '"' : d + String.fromCodePoint(a); break; case 38: d += '&'; break; case 39: d = b ? d + ''' : d + String.fromCodePoint(a); break; case 60: d += '<'; break; case 62: d += '>'; break; default: d += String.fromCodePoint(a); } } return d; }; T.htmlUnescape = function (a) { return a .split('>') .join('>') .split('<') .join('<') .split('"') .join('"') .split(''') .join("'") .split('&') .join('&'); }; T.startsWith = function (a, b) { return a.length >= b.length ? 0 == a.lastIndexOf(b, 0) : !1; }; T.endsWith = function (a, b) { var d = b.length, e = a.length; return e >= d ? a.indexOf(b, e - d) == e - d : !1; }; T.isSpace = function (a, b) { a = C.cca(a, b); return 8 < a && 14 > a ? !0 : 32 == a; }; T.ltrim = function (a) { for (var b = a.length, d = 0; d < b && T.isSpace(a, d); ) ++d; return 0 < d ? C.substr(a, d, b - d) : a; }; T.rtrim = function (a) { for (var b = a.length, d = 0; d < b && T.isSpace(a, b - d - 1); ) ++d; return 0 < d ? C.substr(a, 0, b - d) : a; }; T.trim = function (a) { return T.ltrim(T.rtrim(a)); }; T.rpad = function (a, b, d) { if (0 >= b.length) return a; for (a = null == a ? 'null' : '' + a; a.length < d; ) a += null == b ? 'null' : '' + b; return a; }; T.replace = function (a, b, d) { return a.split(b).join(d); }; T.hex = function (a, b) { for (var d = ''; (d = '0123456789ABCDEF'.charAt(a & 15) + d), (a >>>= 4), 0 < a; ); if (null != b) for (; d.length < b; ) d = '0' + d; return d; }; var sb = (N.ValueType = { __ename__: 'ValueType', __constructs__: null, TNull: { _hx_name: 'TNull', _hx_index: 0, __enum__: 'ValueType', toString: x }, TInt: { _hx_name: 'TInt', _hx_index: 1, __enum__: 'ValueType', toString: x }, TFloat: { _hx_name: 'TFloat', _hx_index: 2, __enum__: 'ValueType', toString: x }, TBool: { _hx_name: 'TBool', _hx_index: 3, __enum__: 'ValueType', toString: x }, TObject: { _hx_name: 'TObject', _hx_index: 4, __enum__: 'ValueType', toString: x }, TFunction: { _hx_name: 'TFunction', _hx_index: 5, __enum__: 'ValueType', toString: x }, TClass: ((B = function (a) { return { _hx_index: 6, c: a, __enum__: 'ValueType', toString: x }; }), (B._hx_name = 'TClass'), (B.__params__ = ['c']), B), TEnum: ((B = function (a) { return { _hx_index: 7, e: a, __enum__: 'ValueType', toString: x }; }), (B._hx_name = 'TEnum'), (B.__params__ = ['e']), B), TUnknown: { _hx_name: 'TUnknown', _hx_index: 8, __enum__: 'ValueType', toString: x } }); sb.__constructs__ = [ sb.TNull, sb.TInt, sb.TFloat, sb.TBool, sb.TObject, sb.TFunction, sb.TClass, sb.TEnum, sb.TUnknown ]; var ma = function () {}; k.Type = ma; ma.__name__ = 'Type'; ma.resolveEnum = function (a) { return N[a]; }; ma.createInstance = function (a, b) { return new (Function.prototype.bind.apply(a, [null].concat(b)))(); }; ma.createEnum = function (a, b, d) { var e = aa.field(a, b); if (null == e) throw J.thrown('No such constructor ' + b); if (aa.isFunction(e)) { if (null == d) throw J.thrown('Constructor ' + b + ' need parameters'); return e.apply(a, d); } if (null != d && 0 != d.length) throw J.thrown('Constructor ' + b + ' does not need parameters'); return e; }; ma.getInstanceFields = function (a) { var b = [], d; for (d in a.prototype) b.push(d); C.remove(b, '__class__'); C.remove(b, '__properties__'); return b; }; ma.typeof = function (a) { switch (typeof a) { case 'boolean': return sb.TBool; case 'function': return a.__name__ || a.__ename__ ? sb.TObject : sb.TFunction; case 'number': return Math.ceil(a) == a % 2147483648 ? sb.TInt : sb.TFloat; case 'object': if (null == a) return sb.TNull; var b = a.__enum__; if (null != b) return sb.TEnum(N[b]); a = w.getClass(a); return null != a ? sb.TClass(a) : sb.TObject; case 'string': return sb.TClass(String); case 'undefined': return sb.TNull; default: return sb.TUnknown; } }; ma.enumParameters = function (a) { var b = N[a.__enum__].__constructs__[a._hx_index].__params__; if (null != b) { for (var d = [], e = 0; e < b.length; ) { var f = b[e]; ++e; d.push(a[f]); } return d; } return []; }; var Ba = { gt: function (a, b) { var d = 0 > a; return d != 0 > b ? d : a > b; }, toFloat: function (a) { return 0 > a ? 4294967296 + a : a + 0; } }, ne = function () {}; k['openfl.events.IEventDispatcher'] = ne; ne.__name__ = 'openfl.events.IEventDispatcher'; ne.__isInterface__ = !0; ne.prototype = { addEventListener: null, dispatchEvent: null, hasEventListener: null, removeEventListener: null, willTrigger: null, __class__: ne }; var cb = function (a) { null != a && (this.__targetDispatcher = a); }; k['openfl.events.EventDispatcher'] = cb; cb.__name__ = 'openfl.events.EventDispatcher'; cb.__interfaces__ = [ne]; cb.prototype = { __eventMap: null, __iterators: null, __targetDispatcher: null, addEventListener: function (a, b, d, e, f) { null == e && (e = 0); null == d && (d = !1); if (null != b) if ( (null == this.__eventMap && ((this.__eventMap = new qa()), (this.__iterators = new qa())), Object.prototype.hasOwnProperty.call(this.__eventMap.h, a)) ) { q = this.__eventMap.h[a]; f = 0; for (var c = q.length; f < c; ) { var l = f++; if (q[l].match(b, d)) return; } a = this.__iterators.h[a]; for (f = 0; f < a.length; ) (c = a[f]), ++f, c.active && c.copy(); this.__addListenerByPriority(q, new kj(b, d, e)); } else { var q = []; q.push(new kj(b, d, e)); c = new lj(q); this.__eventMap.h[a] = q; this.__iterators.h[a] = [c]; } }, dispatchEvent: function (a) { a.target = null != this.__targetDispatcher ? this.__targetDispatcher : this; return this.__dispatchEvent(a); }, hasEventListener: function (a) { return null == this.__eventMap ? !1 : Object.prototype.hasOwnProperty.call(this.__eventMap.h, a); }, removeEventListener: function (a, b, d) { null == d && (d = !1); if (null != this.__eventMap && null != b) { var e = this.__eventMap.h[a]; if (null != e) { for (var f = this.__iterators.h[a], c = 0, l = e.length; c < l; ) { var q = c++; if (e[q].match(b, d)) { for (b = 0; b < f.length; ) (d = f[b]), ++b, d.remove(e[q], q); e.splice(q, 1); break; } } 0 == e.length && ((e = this.__eventMap), (f = a), Object.prototype.hasOwnProperty.call(e.h, f) && delete e.h[f], (e = this.__iterators), (f = a), Object.prototype.hasOwnProperty.call(e.h, f) && delete e.h[f]); 0 >= Object.keys(this.__eventMap.h).length && (this.__iterators = this.__eventMap = null); } } }, toString: function () { return '[object ' + w.getClass(this).__name__.split('.').pop() + ']'; }, willTrigger: function (a) { return this.hasEventListener(a); }, __dispatchEvent: function (a) { if (null == this.__eventMap || null == a) return !0; var b = a.type, d = this.__eventMap.h[b]; if (null == d) return !0; null == a.target && (a.target = null != this.__targetDispatcher ? this.__targetDispatcher : this); a.currentTarget = this; var e = 1 == a.eventPhase; b = this.__iterators.h[b]; var f = b[0]; f.active && ((f = new lj(d)), b.push(f)); f.start(); for (var c = f; c.hasNext(); ) { var l = c.next(); if (null != l && l.useCapture == e && (l.callback(a), a.__isCanceledNow)) break; } f.stop(); f != b[0] ? C.remove(b, f) : f.reset(d); return !a.isDefaultPrevented(); }, __removeAllListeners: function () { this.__iterators = this.__eventMap = null; }, __addListenerByPriority: function (a, b) { for (var d = a.length, e = d, f = 0; f < d; ) { var c = f++; if (a[c].priority < b.priority) { e = c; break; } } a.splice(e, 0, b); }, __class__: cb }; var oe = function () {}; k['openfl.display.IBitmapDrawable'] = oe; oe.__name__ = 'openfl.display.IBitmapDrawable'; oe.__isInterface__ = !0; oe.prototype = { __blendMode: null, __drawableType: null, __isMask: null, __renderable: null, __renderTransform: null, __transform: null, __worldAlpha: null, __worldColorTransform: null, __worldTransform: null, __getBounds: null, __update: null, __updateTransforms: null, __mask: null, __scrollRect: null, __class__: oe }; var Ab = { __properties__: { set_length: 'set_length', get_length: 'get_length', set_fixed: 'set_fixed', get_fixed: 'get_fixed' }, concat: function (a, b) { return a.concat(b); }, copy: function (a) { return a.copy(); }, filter: function (a, b) { return a.filter(b); }, get: function (a, b) { return a.get(b); }, indexOf: function (a, b, d) { null == d && (d = 0); return a.indexOf(b, d); }, insertAt: function (a, b, d) { a.insertAt(b, d); }, iterator: function (a) { return a.iterator(); }, join: function (a, b) { null == b && (b = ','); return a.join(b); }, lastIndexOf: function (a, b, d) { return a.lastIndexOf(b, d); }, pop: function (a) { return a.pop(); }, push: function (a, b) { return a.push(b); }, removeAt: function (a, b) { return a.removeAt(b); }, reverse: function (a) { return a.reverse(); }, set: function (a, b, d) { return a.set(b, d); }, shift: function (a) { return a.shift(); }, slice: function (a, b, d) { null == b && (b = 0); return a.slice(b, d); }, sort: function (a, b) { a.sort(b); }, splice: function (a, b, d) { return a.splice(b, d); }, toString: function (a) { return null != a ? a.toString() : null; }, unshift: function (a, b) { a.unshift(b); }, convert: function (a) { return a; }, toBoolVector: function (a, b, d, e) { return new Cf(b, d, e); }, toIntVector: function (a, b, d, e) { return new Df(b, d, e); }, toFloatVector: function (a, b, d, e) { return new Ef(b, d, e, !0); }, toFunctionVector: function (a, b, d, e) { return new Ff(b, d, e); }, toObjectVector: function (a, b, d, e) { return new of(b, d, e, !0); }, toNullVector: function (a, b, d, e) { return new of(b, d, e, !0); }, fromBoolVector: function (a) { return a; }, fromIntVector: function (a) { return a; }, fromFloatVector: function (a) { return a; }, fromFunctionVector: function (a) { return a; }, fromObjectVector: function (a) { return a; }, get_fixed: function (a) { return a.fixed; }, set_fixed: function (a, b) { return (a.fixed = b); }, get_length: function (a) { return a.get_length(); }, set_length: function (a, b) { return a.set_length(b); } }, ud = function (a, b, d) { this.__pool = new Jc(); this.inactiveObjects = this.activeObjects = 0; this.__inactiveObject1 = this.__inactiveObject0 = null; this.__inactiveObjectList = new F(); null != a && (this.create = a); null != b && (this.clean = b); null != d && this.set_size(d); }; k['lime.utils.ObjectPool'] = ud; ud.__name__ = 'lime.utils.ObjectPool'; ud.prototype = { activeObjects: null, inactiveObjects: null, __inactiveObject0: null, __inactiveObject1: null, __inactiveObjectList: null, __pool: null, __size: null, add: function (a) { this.__pool.exists(a) || (this.__pool.set(a, !1), this.clean(a), this.__pool.set(a, !1), null == this.__inactiveObject0 ? (this.__inactiveObject0 = a) : null == this.__inactiveObject1 ? (this.__inactiveObject1 = a) : this.__inactiveObjectList.add(a), this.inactiveObjects++); }, clean: function (a) {}, clear: function () { this.__pool = new Jc(); this.inactiveObjects = this.activeObjects = 0; this.__inactiveObject1 = this.__inactiveObject0 = null; this.__inactiveObjectList.clear(); }, create: function () { return null; }, get: function () { var a = null; if (0 < this.inactiveObjects) null != this.__inactiveObject0 ? ((a = this.__inactiveObject0), (this.__inactiveObject0 = null)) : null != this.__inactiveObject1 ? ((a = this.__inactiveObject1), (this.__inactiveObject1 = null)) : ((a = this.__inactiveObjectList.pop()), 0 < this.__inactiveObjectList.length && (this.__inactiveObject0 = this.__inactiveObjectList.pop()), 0 < this.__inactiveObjectList.length && (this.__inactiveObject1 = this.__inactiveObjectList.pop())), this.__pool.set(a, !0), this.inactiveObjects--, this.activeObjects++; else if (null == this.__size || this.activeObjects < this.__size) (a = this.create()), null != a && (this.__pool.set(a, !0), this.activeObjects++); return a; }, release: function (a) { this.__pool.exists(a) ? this.__pool.get(a) || Va.error('Object has already been released', { fileName: 'lime/utils/ObjectPool.hx', lineNumber: 106, className: 'lime.utils.ObjectPool', methodName: 'release' }) : Va.error('Object is not a member of the pool', { fileName: 'lime/utils/ObjectPool.hx', lineNumber: 102, className: 'lime.utils.ObjectPool', methodName: 'release' }); this.activeObjects--; null == this.__size || this.activeObjects + this.inactiveObjects < this.__size ? (this.clean(a), this.__pool.set(a, !1), null == this.__inactiveObject0 ? (this.__inactiveObject0 = a) : null == this.__inactiveObject1 ? (this.__inactiveObject1 = a) : this.__inactiveObjectList.add(a), this.inactiveObjects++) : this.__pool.remove(a); }, remove: function (a) { this.__pool.exists(a) && (this.__pool.remove(a), this.__inactiveObject0 == a ? ((this.__inactiveObject0 = null), this.inactiveObjects--) : this.__inactiveObject1 == a ? ((this.__inactiveObject1 = null), this.inactiveObjects--) : this.__inactiveObjectList.remove(a) ? this.inactiveObjects-- : this.activeObjects--); }, __addInactive: function (a) { this.__pool.set(a, !1); null == this.__inactiveObject0 ? (this.__inactiveObject0 = a) : null == this.__inactiveObject1 ? (this.__inactiveObject1 = a) : this.__inactiveObjectList.add(a); this.inactiveObjects++; }, __getInactive: function () { if (null != this.__inactiveObject0) { var a = this.__inactiveObject0; this.__inactiveObject0 = null; } else null != this.__inactiveObject1 ? ((a = this.__inactiveObject1), (this.__inactiveObject1 = null)) : ((a = this.__inactiveObjectList.pop()), 0 < this.__inactiveObjectList.length && (this.__inactiveObject0 = this.__inactiveObjectList.pop()), 0 < this.__inactiveObjectList.length && (this.__inactiveObject1 = this.__inactiveObjectList.pop())); this.__pool.set(a, !0); this.inactiveObjects--; this.activeObjects++; return a; }, __removeInactive: function (a) { if ( !(0 >= a || 0 == this.inactiveObjects) && (null != this.__inactiveObject0 && (this.__pool.remove(this.__inactiveObject0), (this.__inactiveObject0 = null), this.inactiveObjects--, --a), 0 != a && 0 != this.inactiveObjects && (null != this.__inactiveObject1 && (this.__pool.remove(this.__inactiveObject1), (this.__inactiveObject1 = null), this.inactiveObjects--, --a), 0 != a && 0 != this.inactiveObjects)) ) for (var b = this.__inactiveObjectList.h; null != b; ) { var d = b.item; b = b.next; this.__pool.remove(d); this.__inactiveObjectList.remove(d); this.inactiveObjects--; --a; if (0 == a || 0 == this.inactiveObjects) break; } }, get_size: function () { return this.__size; }, set_size: function (a) { if (null == a) this.__size = null; else { var b = this.inactiveObjects + this.activeObjects; this.__size = a; if (b > a) this.__removeInactive(b - a); else if (a > b) for (var d = 0, e = a - b; d < e; ) if ((d++, (b = this.create()), null != b)) this.__pool.set(b, !1), this.__inactiveObjectList.add(b), this.inactiveObjects++; else break; } return a; }, __class__: ud, __properties__: { set_size: 'set_size', get_size: 'get_size' } }; var dd = function () {}; k['haxe.IMap'] = dd; dd.__name__ = 'haxe.IMap'; dd.__isInterface__ = !0; dd.prototype = { get: null, set: null, exists: null, remove: null, keys: null, iterator: null, keyValueIterator: null, __class__: dd }; var Jc = function () { this.h = { __keys__: {} }; }; k['haxe.ds.ObjectMap'] = Jc; Jc.__name__ = 'haxe.ds.ObjectMap'; Jc.__interfaces__ = [dd]; Jc.prototype = { h: null, set: function (a, b) { var d = a.__id__; null == d && (d = a.__id__ = V.$haxeUID++); this.h[d] = b; this.h.__keys__[d] = a; }, get: function (a) { return this.h[a.__id__]; }, exists: function (a) { return null != this.h.__keys__[a.__id__]; }, remove: function (a) { a = a.__id__; if (null == this.h.__keys__[a]) return !1; delete this.h[a]; delete this.h.__keys__[a]; return !0; }, keys: function () { var a = [], b; for (b in this.h.__keys__) this.h.hasOwnProperty(b) && a.push(this.h.__keys__[b]); return new Ie(a); }, iterator: function () { return { ref: this.h, it: this.keys(), hasNext: function () { return this.it.hasNext(); }, next: function () { var a = this.it.next(); return this.ref[a.__id__]; } }; }, keyValueIterator: function () { return new hh(this); }, toString: function () { var a = '{'; for (var b = this.keys(); b.hasNext(); ) { var d = b.next(); a += z.string(z.string(d)); a += ' => '; a += z.string(z.string(this.h[d.__id__])); b.hasNext() && (a += ', '); } return a + '}'; }, __class__: Jc }; var F = function () { this.length = 0; }; k['haxe.ds.List'] = F; F.__name__ = 'haxe.ds.List'; F.prototype = { h: null, q: null, length: null, add: function (a) { a = new qk(a, null); null == this.h ? (this.h = a) : (this.q.next = a); this.q = a; this.length++; }, push: function (a) { this.h = a = new qk(a, this.h); null == this.q && (this.q = a); this.length++; }, pop: function () { if (null == this.h) return null; var a = this.h.item; this.h = this.h.next; null == this.h && (this.q = null); this.length--; return a; }, clear: function () { this.q = this.h = null; this.length = 0; }, remove: function (a) { for (var b = null, d = this.h; null != d; ) { if (d.item == a) return ( null == b ? (this.h = d.next) : (b.next = d.next), this.q == d && (this.q = b), this.length--, !0 ); b = d; d = d.next; } return !1; }, iterator: function () { return new vn(this.h); }, __class__: F }; var Ka = function () { cb.call(this); this.__alpha = this.__drawableType = 1; this.__blendMode = 10; this.__cacheAsBitmap = !1; this.__transform = new Ia(); this.__visible = !0; this.__rotationSine = this.__rotation = 0; this.__worldAlpha = this.__scaleY = this.__scaleX = this.__rotationCosine = 1; this.__worldBlendMode = 10; this.__worldTransform = new Ia(); this.__worldColorTransform = new Kc(); this.__renderTransform = new Ia(); this.__worldVisible = !0; this.set_name('instance' + ++Ka.__instanceCount); null != Ka.__initStage && ((this.stage = Ka.__initStage), (Ka.__initStage = null), this.stage.addChild(this)); }; k['openfl.display.DisplayObject'] = Ka; Ka.__name__ = 'openfl.display.DisplayObject'; Ka.__interfaces__ = [oe]; Ka.__calculateAbsoluteTransform = function (a, b, d) { d.a = a.a * b.a + a.b * b.c; d.b = a.a * b.b + a.b * b.d; d.c = a.c * b.a + a.d * b.c; d.d = a.c * b.b + a.d * b.d; d.tx = a.tx * b.a + a.ty * b.c + b.tx; d.ty = a.tx * b.b + a.ty * b.d + b.ty; }; Ka.__super__ = cb; Ka.prototype = t(cb.prototype, { opaqueBackground: null, parent: null, stage: null, __alpha: null, __blendMode: null, __cacheAsBitmap: null, __cacheAsBitmapMatrix: null, __cacheBitmap: null, __cacheBitmapBackground: null, __cacheBitmapColorTransform: null, __cacheBitmapData: null, __cacheBitmapData2: null, __cacheBitmapData3: null, __cacheBitmapMatrix: null, __cacheBitmapRenderer: null, __cairo: null, __children: null, __customRenderClear: null, __customRenderEvent: null, __drawableType: null, __filters: null, __graphics: null, __interactive: null, __isCacheBitmapRender: null, __isMask: null, __loaderInfo: null, __mask: null, __maskTarget: null, __name: null, __objectTransform: null, __renderable: null, __renderDirty: null, __renderParent: null, __renderTransform: null, __renderTransformCache: null, __renderTransformChanged: null, __rotation: null, __rotationCosine: null, __rotationSine: null, __scale9Grid: null, __scaleX: null, __scaleY: null, __scrollRect: null, __shader: null, __tempPoint: null, __transform: null, __transformDirty: null, __visible: null, __worldAlpha: null, __worldAlphaChanged: null, __worldBlendMode: null, __worldClip: null, __worldClipChanged: null, __worldColorTransform: null, __worldShader: null, __worldScale9Grid: null, __worldTransform: null, __worldVisible: null, __worldVisibleChanged: null, __worldTransformInvalid: null, __worldZ: null, __canvas: null, __context: null, __style: null, addEventListener: function (a, b, d, e, f) { null == f && (f = !1); null == e && (e = 0); null == d && (d = !1); switch (a) { case 'activate': case 'deactivate': case 'enterFrame': case 'exitFrame': case 'frameConstructed': case 'render': Object.prototype.hasOwnProperty.call(Ka.__broadcastEvents.h, a) || (Ka.__broadcastEvents.h[a] = []); var c = Ka.__broadcastEvents.h[a]; -1 == c.indexOf(this) && c.push(this); break; case 'clearDOM': case 'renderCairo': case 'renderCanvas': case 'renderDOM': case 'renderOpenGL': null == this.__customRenderEvent && ((this.__customRenderEvent = new ug(null)), (this.__customRenderEvent.objectColorTransform = new Kc()), (this.__customRenderEvent.objectMatrix = new Ia()), (this.__customRenderClear = !0)); } cb.prototype.addEventListener.call(this, a, b, d, e, f); }, dispatchEvent: function (a) { if (a instanceof Mb) { var b = this.__getRenderTransform(); a.stageX = a.localX * b.a + a.localY * b.c + b.tx; b = this.__getRenderTransform(); a.stageY = a.localX * b.b + a.localY * b.d + b.ty; } else a instanceof Vd && ((b = this.__getRenderTransform()), (a.stageX = a.localX * b.a + a.localY * b.c + b.tx), (b = this.__getRenderTransform()), (a.stageY = a.localX * b.b + a.localY * b.d + b.ty)); a.target = this; return this.__dispatchWithCapture(a); }, getBounds: function (a) { var b = Ia.__pool.get(); if (null != a && a != this) { b.copyFrom(this.__getWorldTransform()); var d = Ia.__pool.get(); d.copyFrom(a.__getWorldTransform()); d.invert(); b.concat(d); Ia.__pool.release(d); } else b.identity(); a = new ea(); this.__getBounds(a, b); Ia.__pool.release(b); return a; }, getRect: function (a) { return this.getBounds(a); }, globalToLocal: function (a) { return this.__globalToLocal(a, new na()); }, hitTestObject: function (a) { if (null != a && null != a.parent && null != this.parent) { var b = this.getBounds(this); a = a.getBounds(this); return b.intersects(a); } return !1; }, hitTestPoint: function (a, b, d) { null == d && (d = !1); return null != this.stage ? this.__hitTest(a, b, d, null, !1, this) : !1; }, invalidate: function () { this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()); }, localToGlobal: function (a) { return this.__getRenderTransform().transformPoint(a); }, removeEventListener: function (a, b, d) { null == d && (d = !1); cb.prototype.removeEventListener.call(this, a, b, d); switch (a) { case 'activate': case 'deactivate': case 'enterFrame': case 'exitFrame': case 'frameConstructed': case 'render': this.hasEventListener(a) || (Object.prototype.hasOwnProperty.call(Ka.__broadcastEvents.h, a) && C.remove(Ka.__broadcastEvents.h[a], this)); break; case 'clearDOM': case 'renderCairo': case 'renderCanvas': case 'renderDOM': case 'renderOpenGL': this.hasEventListener('clearDOM') || this.hasEventListener('renderCairo') || this.hasEventListener('renderCanvas') || this.hasEventListener('renderDOM') || this.hasEventListener('renderOpenGL') || (this.__customRenderEvent = null); } }, __cleanup: function () { this.__context = this.__canvas = this.__cairo = null; null != this.__graphics && this.__graphics.__cleanup(); null != this.__cacheBitmap && (this.__cacheBitmap.__cleanup(), (this.__cacheBitmap = null)); null != this.__cacheBitmapData && (this.__cacheBitmapData.dispose(), (this.__cacheBitmapData = null)); }, __dispatch: function (a) { if (null != this.__eventMap && this.hasEventListener(a.type)) { var b = cb.prototype.__dispatchEvent.call(this, a); return a.__isCanceled ? !0 : b; } return !0; }, __dispatchChildren: function (a) {}, __dispatchEvent: function (a) { var b = a.bubbles ? this.parent : null, d = cb.prototype.__dispatchEvent.call(this, a); if (a.__isCanceled) return !0; null != b && b != this && ((a.eventPhase = 3), null == a.target && (a.target = this), b.__dispatchEvent(a)); return d; }, __dispatchWithCapture: function (a) { null == a.target && (a.target = this); if (null != this.parent) if (((a.eventPhase = 1), this.parent == this.stage)) this.parent.__dispatch(a); else { for (var b = Ka.__tempStack.get(), d = this.parent, e = 0; null != d; ) b.set(e, d), (d = d.parent), ++e; d = 0; for (var f = e; d < f; ) { var c = d++; b.get(e - c - 1).__dispatch(a); } Ka.__tempStack.release(b); } a.eventPhase = 2; return this.__dispatchEvent(a); }, __enterFrame: function (a) {}, __getBounds: function (a, b) { null != this.__graphics && this.__graphics.__getBounds(a, b); }, __getCursor: function () { return null; }, __getFilterBounds: function (a, b) { this.__getRenderBounds(a, b); if (null != this.__filters) { b = ea.__pool.get(); for (var d = 0, e = this.__filters; d < e.length; ) { var f = e[d]; ++d; b.__expand( -f.__leftExtension, -f.__topExtension, f.__leftExtension + f.__rightExtension, f.__topExtension + f.__bottomExtension ); } a.width += b.width; a.height += b.height; a.x += b.x; a.y += b.y; ea.__pool.release(b); } }, __getInteractive: function (a) { return !1; }, __getLocalBounds: function (a) { this.__getBounds(a, this.__transform); a.x -= this.__transform.tx; a.y -= this.__transform.ty; }, __getRenderBounds: function (a, b) { if (null == this.__scrollRect) this.__getBounds(a, b); else { var d = ea.__pool.get(); d.copyFrom(this.__scrollRect); d.__transform(d, b); a.__expand(d.x, d.y, d.width, d.height); ea.__pool.release(d); } }, __getRenderTransform: function () { this.__getWorldTransform(); return this.__renderTransform; }, __getWorldTransform: function () { if (this.__transformDirty || this.__worldTransformInvalid) { var a = [], b = this; if (null == this.parent) this.__update(!0, !1); else for (; b != this.stage && (a.push(b), (b = b.parent), null != b); ); for (var d = a.length; 0 <= --d; ) (b = a[d]), b.__update(!0, !1); } return this.__worldTransform; }, __globalToLocal: function (a, b) { this.__getRenderTransform(); if (a == b) { var d = this.__renderTransform, e = d.a * d.d - d.b * d.c; if (0 == e) (a.x = -d.tx), (a.y = -d.ty); else { var f = (1 / e) * (d.c * (d.ty - a.y) + d.d * (a.x - d.tx)); a.y = (1 / e) * (d.a * (a.y - d.ty) + d.b * (d.tx - a.x)); a.x = f; } } else (d = this.__renderTransform), (e = d.a * d.d - d.b * d.c), (b.x = 0 == e ? -d.tx : (1 / e) * (d.c * (d.ty - a.y) + d.d * (a.x - d.tx))), (d = this.__renderTransform), (e = d.a * d.d - d.b * d.c), (b.y = 0 == e ? -d.ty : (1 / e) * (d.a * (a.y - d.ty) + d.b * (d.tx - a.x))); return b; }, __hitTest: function (a, b, d, e, f, c) { if (null != this.__graphics) { if ( !c.__visible || this.__isMask || (null != this.get_mask() && !this.get_mask().__hitTestMask(a, b)) ) return !1; if (this.__graphics.__hitTest(a, b, d, this.__getRenderTransform())) return null == e || f || e.push(c), !0; } return !1; }, __hitTestMask: function (a, b) { return null != this.__graphics && this.__graphics.__hitTest(a, b, !0, this.__getRenderTransform()) ? !0 : !1; }, __readGraphicsData: function (a, b) { null != this.__graphics && this.__graphics.__readGraphicsData(a); }, __setParentRenderDirty: function () { var a = null != this.__renderParent ? this.__renderParent : this.parent; null == a || a.__renderDirty || ((a.__renderDirty = !0), a.__setParentRenderDirty()); }, __setRenderDirty: function () { this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()); }, __setStageReference: function (a) { this.stage = a; }, __setTransformDirty: function () { this.__transformDirty || ((this.__transformDirty = !0), this.__setWorldTransformInvalid(), this.__setParentRenderDirty()); }, __setWorldTransformInvalid: function () { this.__worldTransformInvalid = !0; }, __stopAllMovieClips: function () {}, __update: function (a, b) { var d = null != this.__renderParent ? this.__renderParent : this.parent; this.__isMask && null == d && (d = this.__maskTarget); this.__renderable = this.__visible && 0 != this.__scaleX && 0 != this.__scaleY && !this.__isMask && (null == d || !d.__isMask); this.__updateTransforms(); this.__worldTransformInvalid = this.__transformDirty = !1; if (!a) if ( (Ka.__supportDOM && ((this.__renderTransformChanged = !this.__renderTransform.equals( this.__renderTransformCache )), null == this.__renderTransformCache ? (this.__renderTransformCache = this.__renderTransform.clone()) : this.__renderTransformCache.copyFrom(this.__renderTransform)), null != d) ) { if (Ka.__supportDOM) { var e = d.__worldVisible && this.__visible; this.__worldVisibleChanged = this.__worldVisible != e; this.__worldVisible = e; e = this.get_alpha() * d.__worldAlpha; this.__worldAlphaChanged = this.__worldAlpha != e; this.__worldAlpha = e; } else this.__worldAlpha = this.get_alpha() * d.__worldAlpha; null != this.__objectTransform ? (this.__worldColorTransform.__copyFrom( this.__objectTransform.get_colorTransform() ), this.__worldColorTransform.__combine(d.__worldColorTransform)) : this.__worldColorTransform.__copyFrom(d.__worldColorTransform); this.__worldBlendMode = null == this.__blendMode || 10 == this.__blendMode ? d.__worldBlendMode : this.__blendMode; this.__worldShader = null == this.__shader ? d.__shader : this.__shader; this.__worldScale9Grid = null == this.__scale9Grid ? d.__scale9Grid : this.__scale9Grid; } else (this.__worldAlpha = this.get_alpha()), Ka.__supportDOM && ((this.__worldVisibleChanged = this.__worldVisible != this.__visible), (this.__worldVisible = this.__visible), (this.__worldAlphaChanged = this.__worldAlpha != this.get_alpha())), null != this.__objectTransform ? this.__worldColorTransform.__copyFrom( this.__objectTransform.get_colorTransform() ) : this.__worldColorTransform.__identity(), (this.__worldBlendMode = this.__blendMode), (this.__worldShader = this.__shader), (this.__worldScale9Grid = this.__scale9Grid); b && null != this.get_mask() && this.get_mask().__update(a, !0); }, __updateTransforms: function (a) { var b = null != a; a = b ? a : this.__transform; null == this.__worldTransform && (this.__worldTransform = new Ia()); null == this.__renderTransform && (this.__renderTransform = new Ia()); var d = null != this.__renderParent ? this.__renderParent : this.parent; if (b || null == this.parent) this.__worldTransform.copyFrom(a); else { var e = this.parent.__worldTransform, f = this.__worldTransform; f.a = a.a * e.a + a.b * e.c; f.b = a.a * e.b + a.b * e.d; f.c = a.c * e.a + a.d * e.c; f.d = a.c * e.b + a.d * e.d; f.tx = a.tx * e.a + a.ty * e.c + e.tx; f.ty = a.tx * e.b + a.ty * e.d + e.ty; } b || null == d ? this.__renderTransform.copyFrom(a) : ((e = d.__renderTransform), (f = this.__renderTransform), (f.a = a.a * e.a + a.b * e.c), (f.b = a.a * e.b + a.b * e.d), (f.c = a.c * e.a + a.d * e.c), (f.d = a.c * e.b + a.d * e.d), (f.tx = a.tx * e.a + a.ty * e.c + e.tx), (f.ty = a.tx * e.b + a.ty * e.d + e.ty)); null != this.__scrollRect && ((b = this.__renderTransform), (a = -this.__scrollRect.x), (d = -this.__scrollRect.y), (b.tx = a * b.a + d * b.c + b.tx), (b.ty = a * b.b + d * b.d + b.ty)); }, get_alpha: function () { return this.__alpha; }, set_alpha: function (a) { 1 < a && (a = 1); 0 > a && (a = 0); a == this.__alpha || this.get_cacheAsBitmap() || this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()); return (this.__alpha = a); }, get_blendMode: function () { return this.__blendMode; }, set_blendMode: function (a) { null == a && (a = 10); a == this.__blendMode || this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()); return (this.__blendMode = a); }, get_cacheAsBitmap: function () { return null == this.__filters ? this.__cacheAsBitmap : !0; }, set_cacheAsBitmap: function (a) { a == this.__cacheAsBitmap || this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()); return (this.__cacheAsBitmap = a); }, get_cacheAsBitmapMatrix: function () { return this.__cacheAsBitmapMatrix; }, set_cacheAsBitmapMatrix: function (a) { this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()); return (this.__cacheAsBitmapMatrix = null != a ? a.clone() : a); }, get_filters: function () { return null == this.__filters ? [] : this.__filters.slice(); }, set_filters: function (a) { null != a && 0 < a.length ? ((this.__filters = a), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty())) : null != this.__filters && ((this.__filters = null), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty())); return a; }, get_height: function () { var a = ea.__pool.get(); this.__getLocalBounds(a); var b = a.height; ea.__pool.release(a); return b; }, set_height: function (a) { var b = ea.__pool.get(), d = Ia.__pool.get(); d.identity(); this.__getBounds(b, d); a != b.height ? this.set_scaleY(a / b.height) : this.set_scaleY(1); ea.__pool.release(b); Ia.__pool.release(d); return a; }, get_loaderInfo: function () { return null != this.stage ? Dc.current.__loaderInfo : null; }, get_mask: function () { return this.__mask; }, set_mask: function (a) { if (a == this.__mask) return a; a != this.__mask && (this.__setTransformDirty(), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty())); if (null != this.__mask) { this.__mask.__isMask = !1; this.__mask.__maskTarget = null; this.__mask.__setTransformDirty(); var b = this.__mask; b.__renderDirty || ((b.__renderDirty = !0), b.__setParentRenderDirty()); } null != a && ((a.__isMask = !0), (a.__maskTarget = this), a.__setWorldTransformInvalid()); null != this.__cacheBitmap && this.__cacheBitmap.get_mask() != a && this.__cacheBitmap.set_mask(a); return (this.__mask = a); }, get_mouseX: function () { var a = null != this.stage ? this.stage.__mouseX : Dc.current.stage.__mouseX, b = null != this.stage ? this.stage.__mouseY : Dc.current.stage.__mouseY, d = this.__getRenderTransform(), e = d.a * d.d - d.b * d.c; return 0 == e ? -d.tx : (1 / e) * (d.c * (d.ty - b) + d.d * (a - d.tx)); }, get_mouseY: function () { var a = null != this.stage ? this.stage.__mouseX : Dc.current.stage.__mouseX, b = null != this.stage ? this.stage.__mouseY : Dc.current.stage.__mouseY, d = this.__getRenderTransform(), e = d.a * d.d - d.b * d.c; return 0 == e ? -d.ty : (1 / e) * (d.a * (b - d.ty) + d.b * (d.tx - a)); }, get_name: function () { return this.__name; }, set_name: function (a) { return (this.__name = a); }, get_root: function () { return null != this.stage ? Dc.current : null; }, get_rotation: function () { return this.__rotation; }, set_rotation: function (a) { if (a != this.__rotation) { this.__rotation = a; var b = (Math.PI / 180) * this.__rotation; this.__rotationSine = Math.sin(b); this.__rotationCosine = Math.cos(b); this.__transform.a = this.__rotationCosine * this.__scaleX; this.__transform.b = this.__rotationSine * this.__scaleX; this.__transform.c = -this.__rotationSine * this.__scaleY; this.__transform.d = this.__rotationCosine * this.__scaleY; this.__setTransformDirty(); } return a; }, get_scale9Grid: function () { return null == this.__scale9Grid ? null : this.__scale9Grid.clone(); }, set_scale9Grid: function (a) { if ( (null == a && null == this.__scale9Grid) || (null != a && null != this.__scale9Grid && this.__scale9Grid.equals(a)) ) return a; null != a ? (null == this.__scale9Grid && (this.__scale9Grid = new ea()), this.__scale9Grid.copyFrom(a)) : (this.__scale9Grid = null); this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()); return a; }, get_scaleX: function () { return this.__scaleX; }, set_scaleX: function (a) { if (a != this.__scaleX) if (((this.__scaleX = a), 0 == this.__transform.b)) a != this.__transform.a && this.__setTransformDirty(), (this.__transform.a = a); else { var b = this.__rotationCosine * a, d = this.__rotationSine * a; (this.__transform.a == b && this.__transform.b == d) || this.__setTransformDirty(); this.__transform.a = b; this.__transform.b = d; } return a; }, get_scaleY: function () { return this.__scaleY; }, set_scaleY: function (a) { if (a != this.__scaleY) if (((this.__scaleY = a), 0 == this.__transform.c)) a != this.__transform.d && this.__setTransformDirty(), (this.__transform.d = a); else { var b = -this.__rotationSine * a, d = this.__rotationCosine * a; (this.__transform.d == d && this.__transform.c == b) || this.__setTransformDirty(); this.__transform.c = b; this.__transform.d = d; } return a; }, get_scrollRect: function () { return null == this.__scrollRect ? null : this.__scrollRect.clone(); }, set_scrollRect: function (a) { if ( (null == a && null == this.__scrollRect) || (null != a && null != this.__scrollRect && this.__scrollRect.equals(a)) ) return a; null != a ? (null == this.__scrollRect && (this.__scrollRect = new ea()), this.__scrollRect.copyFrom(a)) : (this.__scrollRect = null); this.__setTransformDirty(); Ka.__supportDOM && !this.__renderDirty && ((this.__renderDirty = !0), this.__setParentRenderDirty()); return a; }, get_shader: function () { return this.__shader; }, set_shader: function (a) { this.__shader = a; this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()); return a; }, get_transform: function () { null == this.__objectTransform && (this.__objectTransform = new rk(this)); return this.__objectTransform; }, set_transform: function (a) { if (null == a) throw J.thrown(new mj('Parameter transform must be non-null.')); null == this.__objectTransform && (this.__objectTransform = new rk(this)); this.__setTransformDirty(); this.__objectTransform.set_matrix(a.get_matrix()); if ( !this.__objectTransform.get_colorTransform().__equals(a.get_colorTransform(), !0) || (!this.get_cacheAsBitmap() && this.__objectTransform.get_colorTransform().alphaMultiplier != a.get_colorTransform().alphaMultiplier) ) this.__objectTransform.get_colorTransform().__copyFrom(a.get_colorTransform()), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()); return this.__objectTransform; }, get_visible: function () { return this.__visible; }, set_visible: function (a) { a == this.__visible || this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()); return (this.__visible = a); }, get_width: function () { var a = ea.__pool.get(); this.__getLocalBounds(a); var b = a.width; ea.__pool.release(a); return b; }, set_width: function (a) { var b = ea.__pool.get(), d = Ia.__pool.get(); d.identity(); this.__getBounds(b, d); a != b.width ? this.set_scaleX(a / b.width) : this.set_scaleX(1); ea.__pool.release(b); Ia.__pool.release(d); return a; }, get_x: function () { return this.__transform.tx; }, set_x: function (a) { a != this.__transform.tx && this.__setTransformDirty(); return (this.__transform.tx = a); }, get_y: function () { return this.__transform.ty; }, set_y: function (a) { a != this.__transform.ty && this.__setTransformDirty(); return (this.__transform.ty = a); }, __class__: Ka, __properties__: { set_y: 'set_y', get_y: 'get_y', set_x: 'set_x', get_x: 'get_x', set_width: 'set_width', get_width: 'get_width', set_visible: 'set_visible', get_visible: 'get_visible', set_transform: 'set_transform', get_transform: 'get_transform', set_shader: 'set_shader', get_shader: 'get_shader', set_scrollRect: 'set_scrollRect', get_scrollRect: 'get_scrollRect', set_scaleY: 'set_scaleY', get_scaleY: 'get_scaleY', set_scaleX: 'set_scaleX', get_scaleX: 'get_scaleX', set_scale9Grid: 'set_scale9Grid', get_scale9Grid: 'get_scale9Grid', set_rotation: 'set_rotation', get_rotation: 'get_rotation', get_root: 'get_root', set_name: 'set_name', get_name: 'get_name', get_mouseY: 'get_mouseY', get_mouseX: 'get_mouseX', set_mask: 'set_mask', get_mask: 'get_mask', get_loaderInfo: 'get_loaderInfo', set_height: 'set_height', get_height: 'get_height', set_filters: 'set_filters', get_filters: 'get_filters', set_cacheAsBitmapMatrix: 'set_cacheAsBitmapMatrix', get_cacheAsBitmapMatrix: 'get_cacheAsBitmapMatrix', set_cacheAsBitmap: 'set_cacheAsBitmap', get_cacheAsBitmap: 'get_cacheAsBitmap', set_blendMode: 'set_blendMode', get_blendMode: 'get_blendMode', set_alpha: 'set_alpha', get_alpha: 'get_alpha' } }); var xb = function () { Ka.call(this); this.doubleClickEnabled = !1; this.mouseEnabled = !0; this.needsSoftKeyboard = !1; this.__tabEnabled = null; this.__tabIndex = -1; }; k['openfl.display.InteractiveObject'] = xb; xb.__name__ = 'openfl.display.InteractiveObject'; xb.__super__ = Ka; xb.prototype = t(Ka.prototype, { doubleClickEnabled: null, focusRect: null, mouseEnabled: null, needsSoftKeyboard: null, softKeyboardInputAreaOfInterest: null, __tabEnabled: null, __tabIndex: null, requestSoftKeyboard: function () { Dc.notImplemented({ fileName: 'openfl/display/InteractiveObject.hx', lineNumber: 1251, className: 'openfl.display.InteractiveObject', methodName: 'requestSoftKeyboard' }); return !1; }, __allowMouseFocus: function () { return this.get_tabEnabled(); }, __getInteractive: function (a) { null != a && (a.push(this), null != this.parent && this.parent.__getInteractive(a)); return !0; }, __hitTest: function (a, b, d, e, f, c) { return !c.get_visible() || this.__isMask || (f && !this.mouseEnabled) ? !1 : Ka.prototype.__hitTest.call(this, a, b, d, e, f, c); }, __tabTest: function (a) { this.get_tabEnabled() && a.push(this); }, get_tabEnabled: function () { return 1 == this.__tabEnabled ? !0 : !1; }, set_tabEnabled: function (a) { this.__tabEnabled != a && ((this.__tabEnabled = a), this.dispatchEvent(new oa('tabEnabledChange', !0, !1))); return this.__tabEnabled; }, get_tabIndex: function () { return this.__tabIndex; }, set_tabIndex: function (a) { if (this.__tabIndex != a) { if (-1 > a) throw J.thrown(new Hh('Parameter tabIndex must be a non-negative number; got ' + a)); this.__tabIndex = a; this.dispatchEvent(new oa('tabIndexChange', !0, !1)); } return this.__tabIndex; }, __class__: xb, __properties__: t(Ka.prototype.__properties__, { set_tabIndex: 'set_tabIndex', get_tabIndex: 'get_tabIndex', set_tabEnabled: 'set_tabEnabled', get_tabEnabled: 'get_tabEnabled' }) }); var Xa = function () { xb.call(this); this.__tabChildren = this.mouseChildren = !0; this.__children = []; this.__removedChildren = Ab.toObjectVector(null); }; k['openfl.display.DisplayObjectContainer'] = Xa; Xa.__name__ = 'openfl.display.DisplayObjectContainer'; Xa.__super__ = xb; Xa.prototype = t(xb.prototype, { mouseChildren: null, __removedChildren: null, __tabChildren: null, addChild: function (a) { return this.addChildAt(a, this.get_numChildren()); }, addChildAt: function (a, b) { if (null == a) throw ( ((a = new mj('Error #2007: Parameter child must be non-null.')), (a.errorID = 2007), J.thrown(a)) ); if (a.stage == a) throw ( ((a = new oi( 'Error #3783: A Stage object cannot be added as the child of another object.' )), (a.errorID = 3783), J.thrown(a)) ); if (b > this.__children.length || 0 > b) throw J.thrown('Invalid index position ' + b); if (a.parent == this) this.__children[b] != a && (C.remove(this.__children, a), this.__children.splice(b, 0, a), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty())); else { null != a.parent && a.parent.removeChild(a); this.__children.splice(b, 0, a); a.parent = this; (b = null != this.stage && null == a.stage) && a.__setStageReference(this.stage); a.__setTransformDirty(); a.__renderDirty || ((a.__renderDirty = !0), a.__setParentRenderDirty()); this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()); var d = new oa('added'); d.bubbles = !0; d.target = a; a.__dispatchWithCapture(d); b && ((d = new oa('addedToStage', !1, !1)), a.__dispatchWithCapture(d), a.__dispatchChildren(d)); } return a; }, areInaccessibleObjectsUnderPoint: function (a) { return !1; }, contains: function (a) { for (; a != this && null != a; ) a = a.parent; return a == this; }, getChildAt: function (a) { return 0 <= a && a < this.__children.length ? this.__children[a] : null; }, getChildByName: function (a) { for (var b = 0, d = this.__children; b < d.length; ) { var e = d[b]; ++b; if (e.get_name() == a) return e; } return null; }, getChildIndex: function (a) { for (var b = 0, d = this.__children.length; b < d; ) { var e = b++; if (this.__children[e] == a) return e; } return -1; }, getObjectsUnderPoint: function (a) { var b = []; this.__hitTest(a.x, a.y, !1, b, !1, this); b.reverse(); return b; }, removeChild: function (a) { if (null != a && a.parent == this) { a.__setTransformDirty(); a.__renderDirty || ((a.__renderDirty = !0), a.__setParentRenderDirty()); this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()); var b = new oa('removed', !0); a.__dispatchWithCapture(b); null != this.stage && (null != a.stage && this.stage.get_focus() == a && this.stage.set_focus(null), (b = new oa('removedFromStage', !1, !1)), a.__dispatchWithCapture(b), a.__dispatchChildren(b), a.__setStageReference(null)); a.parent = null; C.remove(this.__children, a); this.__removedChildren.push(a); a.__setTransformDirty(); } return a; }, removeChildAt: function (a) { return 0 <= a && a < this.__children.length ? this.removeChild(this.__children[a]) : null; }, removeChildren: function (a, b) { null == b && (b = 2147483647); null == a && (a = 0); if (2147483647 == b && ((b = this.__children.length - 1), 0 > b)) return; if (!(a > this.__children.length - 1)) { if (b < a || 0 > a || b > this.__children.length) throw J.thrown(new Hh('The supplied index is out of bounds.')); for (b -= a; 0 <= b; ) this.removeChildAt(a), --b; } }, resolve: function (a) { if (null == this.__children) return null; for (var b = 0, d = this.__children; b < d.length; ) { var e = d[b]; ++b; if (e.get_name() == a) return e; } return null; }, setChildIndex: function (a, b) { 0 <= b && b <= this.__children.length && a.parent == this && (C.remove(this.__children, a), this.__children.splice(b, 0, a)); }, stopAllMovieClips: function () { this.__stopAllMovieClips(); }, swapChildren: function (a, b) { if (a.parent == this && b.parent == this) { var d = this.__children.indexOf(a), e = this.__children.indexOf(b); this.__children[d] = b; this.__children[e] = a; this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()); } }, swapChildrenAt: function (a, b) { var d = this.__children[a]; this.__children[a] = this.__children[b]; this.__children[b] = d; this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()); }, __cleanup: function () { xb.prototype.__cleanup.call(this); for (var a = 0, b = this.__children; a < b.length; ) { var d = b[a]; ++a; d.__cleanup(); } for (a = this.__removedChildren.iterator(); a.hasNext(); ) (b = a.next()), null == b.stage && b.__cleanup(); this.__removedChildren.set_length(0); }, __cleanupRemovedChildren: function () { for (var a = this.__removedChildren.iterator(); a.hasNext(); ) { var b = a.next(); null == b.stage && b.__cleanup(); } this.__removedChildren.set_length(0); }, __dispatchChildren: function (a) { if (null != this.__children) for (var b = 0, d = this.__children; b < d.length; ) { var e = d[b]; ++b; a.target = e; if (!e.__dispatchWithCapture(a)) break; e.__dispatchChildren(a); } }, __enterFrame: function (a) { for (var b = 0, d = this.__children; b < d.length; ) { var e = d[b]; ++b; e.__enterFrame(a); } }, __getBounds: function (a, b) { xb.prototype.__getBounds.call(this, a, b); if (0 != this.__children.length) { for (var d = Ia.__pool.get(), e = 0, f = this.__children; e < f.length; ) { var c = f[e]; ++e; if (0 != c.__scaleX && 0 != c.__scaleY) { var l = c.__transform; d.a = l.a * b.a + l.b * b.c; d.b = l.a * b.b + l.b * b.d; d.c = l.c * b.a + l.d * b.c; d.d = l.c * b.b + l.d * b.d; d.tx = l.tx * b.a + l.ty * b.c + b.tx; d.ty = l.tx * b.b + l.ty * b.d + b.ty; c.__getBounds(a, d); } } Ia.__pool.release(d); } }, __getFilterBounds: function (a, b) { xb.prototype.__getFilterBounds.call(this, a, b); if (null == this.__scrollRect && 0 != this.__children.length) { for (var d = Ia.__pool.get(), e = 0, f = this.__children; e < f.length; ) { var c = f[e]; ++e; if (0 != c.__scaleX && 0 != c.__scaleY && !c.__isMask) { var l = c.__transform; d.a = l.a * b.a + l.b * b.c; d.b = l.a * b.b + l.b * b.d; d.c = l.c * b.a + l.d * b.c; d.d = l.c * b.b + l.d * b.d; d.tx = l.tx * b.a + l.ty * b.c + b.tx; d.ty = l.tx * b.b + l.ty * b.d + b.ty; l = ea.__pool.get(); c.__getFilterBounds(l, d); a.__expand(l.x, l.y, l.width, l.height); ea.__pool.release(l); } } Ia.__pool.release(d); } }, __getRenderBounds: function (a, b) { if (null != this.__scrollRect) xb.prototype.__getRenderBounds.call(this, a, b); else if ((xb.prototype.__getBounds.call(this, a, b), 0 != this.__children.length)) { for (var d = Ia.__pool.get(), e = 0, f = this.__children; e < f.length; ) { var c = f[e]; ++e; if (0 != c.__scaleX && 0 != c.__scaleY && !c.__isMask) { var l = c.__transform; d.a = l.a * b.a + l.b * b.c; d.b = l.a * b.b + l.b * b.d; d.c = l.c * b.a + l.d * b.c; d.d = l.c * b.b + l.d * b.d; d.tx = l.tx * b.a + l.ty * b.c + b.tx; d.ty = l.tx * b.b + l.ty * b.d + b.ty; c.__getRenderBounds(a, d); } } Ia.__pool.release(d); } }, __hitTest: function (a, b, d, e, f, c) { if ( !c.get_visible() || this.__isMask || (f && !this.mouseEnabled && !this.mouseChildren) || (null != this.get_mask() && !this.get_mask().__hitTestMask(a, b)) ) return !1; if (null != this.__scrollRect) { var g = na.__pool.get(); g.setTo(a, b); var q = this.__getRenderTransform(), y = q.a * q.d - q.b * q.c; if (0 == y) (g.x = -q.tx), (g.y = -q.ty); else { var r = (1 / y) * (q.c * (q.ty - g.y) + q.d * (g.x - q.tx)); g.y = (1 / y) * (q.a * (g.y - q.ty) + q.b * (q.tx - g.x)); g.x = r; } if (!this.__scrollRect.containsPoint(g)) return na.__pool.release(g), !1; na.__pool.release(g); } g = this.__children.length; if (f) if (null == e || !this.mouseChildren) for (; 0 <= --g; ) { if (this.__children[g].__hitTest(a, b, d, null, !0, this.__children[g])) return null != e && e.push(c), !0; } else { if (null != e) { f = e.length; for ( y = !1; 0 <= --g && !( ((q = this.__children[g].__getInteractive(null)) || (this.mouseEnabled && !y)) && this.__children[g].__hitTest(a, b, d, e, !0, this.__children[g]) && ((y = !0), q && e.length > f) ); ); if (y) return e.splice(f, 0, c), !0; } } else { for ( y = !1; 0 <= --g && (!this.__children[g].__hitTest(a, b, d, e, !1, this.__children[g]) || ((y = !0), null != e)); ); return y; } return !1; }, __hitTestMask: function (a, b) { for (var d = this.__children.length; 0 <= --d; ) if (this.__children[d].__hitTestMask(a, b)) return !0; return !1; }, __readGraphicsData: function (a, b) { xb.prototype.__readGraphicsData.call(this, a, b); if (b) for (var d = 0, e = this.__children; d < e.length; ) { var f = e[d]; ++d; f.__readGraphicsData(a, b); } }, __setStageReference: function (a) { xb.prototype.__setStageReference.call(this, a); if (null != this.__children) for (var b = 0, d = this.__children; b < d.length; ) { var e = d[b]; ++b; e.__setStageReference(a); } }, __setWorldTransformInvalid: function () { if ( !this.__worldTransformInvalid && ((this.__worldTransformInvalid = !0), null != this.__children) ) for (var a = 0, b = this.__children; a < b.length; ) { var d = b[a]; ++a; d.__setWorldTransformInvalid(); } }, __stopAllMovieClips: function () { for (var a = 0, b = this.__children; a < b.length; ) { var d = b[a]; ++a; d.__stopAllMovieClips(); } }, __tabTest: function (a) { xb.prototype.__tabTest.call(this, a); if (this.get_tabChildren()) for (var b, d = 0, e = this.__children; d < e.length; ) { var f = e[d]; ++d; if ((b = f.__getInteractive(null))) (b = f), b.__tabTest(a); } }, __update: function (a, b) { xb.prototype.__update.call(this, a, b); if (b) { b = 0; for (var d = this.__children; b < d.length; ) { var e = d[b]; ++b; e.__update(a, !0); } } }, get_numChildren: function () { return this.__children.length; }, get_tabChildren: function () { return this.__tabChildren; }, set_tabChildren: function (a) { this.__tabChildren != a && ((this.__tabChildren = a), this.dispatchEvent(new oa('tabChildrenChange', !0, !1))); return this.__tabChildren; }, __class__: Xa, __properties__: t(xb.prototype.__properties__, { set_tabChildren: 'set_tabChildren', get_tabChildren: 'get_tabChildren', get_numChildren: 'get_numChildren' }) }); var Ca = function () { Xa.call(this); this.__drawableType = 4; this.__buttonMode = !1; this.useHandCursor = !0; }; k['openfl.display.Sprite'] = Ca; Ca.__name__ = 'openfl.display.Sprite'; Ca.__super__ = Xa; Ca.prototype = t(Xa.prototype, { dropTarget: null, hitArea: null, useHandCursor: null, __buttonMode: null, startDrag: function (a, b) { null == a && (a = !1); null != this.stage && this.stage.__startDrag(this, a, b); }, stopDrag: function () { null != this.stage && this.stage.__stopDrag(this); }, __getCursor: function () { return this.__buttonMode && this.useHandCursor ? 'button' : null; }, __hitTest: function (a, b, d, e, f, c) { if (f && !this.mouseEnabled && !this.mouseChildren) return !1; if ( !c.get_visible() || this.__isMask || (null != this.get_mask() && !this.get_mask().__hitTestMask(a, b)) ) return this.__hitTestHitArea(a, b, d, e, f, c); if (null != this.__scrollRect) { var g = na.__pool.get(); g.setTo(a, b); var q = this.__getRenderTransform(), y = q.a * q.d - q.b * q.c; if (0 == y) (g.x = -q.tx), (g.y = -q.ty); else { var r = (1 / y) * (q.c * (q.ty - g.y) + q.d * (g.x - q.tx)); g.y = (1 / y) * (q.a * (g.y - q.ty) + q.b * (q.tx - g.x)); g.x = r; } if (!this.__scrollRect.containsPoint(g)) return na.__pool.release(g), this.__hitTestHitArea(a, b, d, e, !0, c); na.__pool.release(g); } return Xa.prototype.__hitTest.call(this, a, b, d, e, f, c) ? null != e ? f : !0 : null == this.hitArea && null != this.__graphics && this.__graphics.__hitTest(a, b, d, this.__getRenderTransform()) ? (null == e || (f && !this.mouseEnabled) || e.push(c), !0) : this.__hitTestHitArea(a, b, d, e, f, c); }, __hitTestHitArea: function (a, b, d, e, f, c) { return null == this.hitArea || this.hitArea.mouseEnabled ? !1 : ((this.hitArea.mouseEnabled = !0), (a = this.hitArea.__hitTest(a, b, d, null, !0, c)), (this.hitArea.mouseEnabled = !1), null != e && a && (e[e.length] = c), a); }, __hitTestMask: function (a, b) { return Xa.prototype.__hitTestMask.call(this, a, b) || (null != this.__graphics && this.__graphics.__hitTest(a, b, !0, this.__getRenderTransform())) ? !0 : !1; }, get_graphics: function () { null == this.__graphics && (this.__graphics = new Se(this)); return this.__graphics; }, get_tabEnabled: function () { return null == this.__tabEnabled ? this.__buttonMode : this.__tabEnabled; }, get_buttonMode: function () { return this.__buttonMode; }, set_buttonMode: function (a) { return (this.__buttonMode = a); }, __class__: Ca, __properties__: t(Xa.prototype.__properties__, { get_graphics: 'get_graphics', set_buttonMode: 'set_buttonMode', get_buttonMode: 'get_buttonMode' }) }); var xa = function () { Ca.call(this); this.set_name('Root'); this.addEventListener('addedToStage', m(this, this.onAdded)); }; k.Universal = xa; xa.__name__ = 'Universal'; xa.initWindow = function (a) { xa.window = a; a.stage.align = 6; a.stage.set_scaleMode(2); }; xa.setupTracing = function (a) { null == a && (a = !1); null == xa.oldTrace && (xa.oldTrace = ih.trace); a || !ba.releaseMode ? ((ih.trace = xa.oldTrace), (Va.level = 5)) : ((ih.trace = function (a, d) {}), (Va.level = 0)); }; xa.reloadGame = function () { aa.field(xa.am, 'reloadGame').apply(xa.am, []); }; xa.addReloadListener = function (a) { aa.field(xa.am, 'reloadListeners').push(a); }; xa.__super__ = Ca; xa.prototype = t(Ca.prototype, { maskLayer: null, onAdded: function (a) { this.removeEventListener('addedToStage', m(this, this.onAdded)); this.initServices(); this.maskLayer = new Ke(); this.maskLayer.set_name('Mask Layer'); this.initScreen(ba.startInFullScreen); }, initServices: function () {}, initScreen: function (a) { a = !1; this.stage.set_displayState(a ? 1 : 2); this.stage.__setLogicalSize(0, 0); Oa.get_current().set_x(0); Oa.get_current().set_y(0); Oa.get_current().set_scaleX(1); Oa.get_current().set_scaleY(1); this.set_x(0); this.set_y(0); this.set_scaleX(1); this.set_scaleY(1); h.stage = this.stage; for (var b = new Jc(), d = 0, e = ba.scales; d < e.length; ) { var f = e[d]; ++d; b.set(f, !0); } xa.windowWidth = a ? Ba.toFloat(this.stage.get_fullScreenWidth()) : ba.stageWidth * ba.gameScale; xa.windowHeight = a ? Ba.toFloat(this.stage.get_fullScreenHeight()) : ba.stageHeight * ba.gameScale; d = this.getDesiredScale(xa.windowWidth, xa.windowHeight, ba.stageWidth, ba.stageHeight); e = this.getDesiredScale( Ba.toFloat(this.stage.get_fullScreenWidth()), Ba.toFloat(this.stage.get_fullScreenHeight()), ba.stageWidth, ba.stageHeight ); e = ba.forceHiResAssets ? e : d; 4 == e && null != b.h.__keys__[Gd._4X.__id__] ? ((h.SCALE = 4), (h.IMG_BASE = '4x')) : 3 <= e && null != b.h.__keys__[Gd._3X.__id__] ? ((h.SCALE = 3), (h.IMG_BASE = '3x')) : 2 <= e && null != b.h.__keys__[Gd._2X.__id__] ? ((h.SCALE = 2), (h.IMG_BASE = '2x')) : 1.5 <= e && null != b.h.__keys__[Gd._1_5X.__id__] ? ((h.SCALE = 1.5), (h.IMG_BASE = '1.5x')) : ((h.SCALE = 1), (h.IMG_BASE = '1x')); b = ba.stageWidth * h.SCALE; e = ba.stageHeight * h.SCALE; f = xa.windowWidth / b; var c = xa.windowHeight / e; if ( ba.forceHiResAssets || xa.windowWidth != ba.stageWidth || xa.windowHeight != ba.stageHeight ) 1 == ba.scaleMode ? h.SCALE != d && (this.set_scaleX(d / h.SCALE), this.set_scaleY(this.get_scaleX())) : 2 == ba.scaleMode ? (this.set_scaleX(f), this.set_scaleY(c)) : 3 == ba.scaleMode || 5 == ba.scaleMode ? (this.set_scaleX(Math.min(f, c)), this.set_scaleY(this.get_scaleX())) : 4 == ba.scaleMode ? (this.set_scaleX(Math.max(f, c)), this.set_scaleY(this.get_scaleX())) : 0 == ba.scaleMode && h.SCALE != d && (this.set_scaleX(d / h.SCALE), this.set_scaleY(this.get_scaleX())), 5 != ba.scaleMode && 1 != ba.scaleMode && (this.set_x(this.get_x() + (xa.windowWidth - b * this.get_scaleX()) / 2), this.set_y(this.get_y() + (xa.windowHeight - e * this.get_scaleY()) / 2)); xa.logicalWidth = ba.stageWidth; xa.logicalHeight = ba.stageHeight; !a || (5 != ba.scaleMode && 1 != ba.scaleMode) || ((xa.logicalWidth = xa.windowWidth / this.get_scaleX() / h.SCALE), (xa.logicalHeight = xa.windowHeight / this.get_scaleY() / h.SCALE), (xa.logicalWidth | 0) == xa.logicalWidth && (xa.logicalHeight | 0) == xa.logicalHeight) || ((xa.logicalWidth |= 0), (xa.logicalHeight |= 0), this.set_scaleX(xa.windowWidth / h.SCALE / xa.logicalWidth), this.set_scaleY(xa.windowHeight / h.SCALE / xa.logicalHeight)); h.screenScaleX = this.get_scaleX(); h.screenScaleY = this.get_scaleY(); this.maskLayer.get_graphics().clear(); !a || (3 != ba.scaleMode && 0 != ba.scaleMode) || ((a = this.get_x() / this.get_scaleX()), (d = this.get_y() / this.get_scaleY()), (f = xa.windowWidth / this.get_scaleX()), this.maskLayer.get_graphics().beginFill(this.stage.get_color()), this.maskLayer.get_graphics().drawRect(-a, -d, f, d), this.maskLayer.get_graphics().drawRect(-a, 0, a, e), this.maskLayer.get_graphics().drawRect(b, 0, a, e), this.maskLayer.get_graphics().drawRect(-a, e, f, d), this.maskLayer.get_graphics().endFill()); }, getDesiredScale: function (a, b, d, e) { var f = 2 * d, c = 2 * e; d *= 3; e *= 3; return a >= 2 * f && b >= 2 * c ? 4 : a >= d && b >= e ? 3 : a >= f && b >= c ? 2 : a >= d / 2 && b >= e / 2 ? 1.5 : 1; }, preloaderComplete: function () { try { new h(this); } catch (b) { ka.lastError = b; var a = J.caught(b).unwrap(); this.stage.__handleError(a); } }, __class__: xa }); var ua = { toString: function (a) { switch (a) { case 0: return 'Element'; case 1: return 'PCData'; case 2: return 'CData'; case 3: return 'Comment'; case 4: return 'DocType'; case 5: return 'ProcessingInstruction'; case 6: return 'Document'; } } }, S = function (a) { this.nodeType = a; this.children = []; this.attributeMap = new qa(); }; k.Xml = S; S.__name__ = 'Xml'; S.parse = function (a) { return jh.parse(a); }; S.createElement = function (a) { var b = new S(S.Element); if (b.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element but found ' + (null == b.nodeType ? 'null' : ua.toString(b.nodeType)) ); b.nodeName = a; return b; }; S.createPCData = function (a) { var b = new S(S.PCData); if (b.nodeType == S.Document || b.nodeType == S.Element) throw J.thrown( 'Bad node type, unexpected ' + (null == b.nodeType ? 'null' : ua.toString(b.nodeType)) ); b.nodeValue = a; return b; }; S.createCData = function (a) { var b = new S(S.CData); if (b.nodeType == S.Document || b.nodeType == S.Element) throw J.thrown( 'Bad node type, unexpected ' + (null == b.nodeType ? 'null' : ua.toString(b.nodeType)) ); b.nodeValue = a; return b; }; S.createComment = function (a) { var b = new S(S.Comment); if (b.nodeType == S.Document || b.nodeType == S.Element) throw J.thrown( 'Bad node type, unexpected ' + (null == b.nodeType ? 'null' : ua.toString(b.nodeType)) ); b.nodeValue = a; return b; }; S.createDocType = function (a) { var b = new S(S.DocType); if (b.nodeType == S.Document || b.nodeType == S.Element) throw J.thrown( 'Bad node type, unexpected ' + (null == b.nodeType ? 'null' : ua.toString(b.nodeType)) ); b.nodeValue = a; return b; }; S.createProcessingInstruction = function (a) { var b = new S(S.ProcessingInstruction); if (b.nodeType == S.Document || b.nodeType == S.Element) throw J.thrown( 'Bad node type, unexpected ' + (null == b.nodeType ? 'null' : ua.toString(b.nodeType)) ); b.nodeValue = a; return b; }; S.createDocument = function () { return new S(S.Document); }; S.prototype = { nodeType: null, nodeName: null, nodeValue: null, parent: null, children: null, attributeMap: null, get: function (a) { if (this.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element but found ' + (null == this.nodeType ? 'null' : ua.toString(this.nodeType)) ); return this.attributeMap.h[a]; }, set: function (a, b) { if (this.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element but found ' + (null == this.nodeType ? 'null' : ua.toString(this.nodeType)) ); this.attributeMap.h[a] = b; }, exists: function (a) { if (this.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element but found ' + (null == this.nodeType ? 'null' : ua.toString(this.nodeType)) ); return Object.prototype.hasOwnProperty.call(this.attributeMap.h, a); }, attributes: function () { if (this.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element but found ' + (null == this.nodeType ? 'null' : ua.toString(this.nodeType)) ); return new nj(this.attributeMap.h); }, elements: function () { if (this.nodeType != S.Document && this.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element or Document but found ' + (null == this.nodeType ? 'null' : ua.toString(this.nodeType)) ); for (var a = [], b = 0, d = this.children; b < d.length; ) { var e = d[b]; ++b; e.nodeType == S.Element && a.push(e); } return new Ie(a); }, elementsNamed: function (a) { if (this.nodeType != S.Document && this.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element or Document but found ' + (null == this.nodeType ? 'null' : ua.toString(this.nodeType)) ); for (var b = [], d = 0, e = this.children; d < e.length; ) { var f = e[d]; ++d; if (f.nodeType == S.Element) { if (f.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element but found ' + (null == f.nodeType ? 'null' : ua.toString(f.nodeType)) ); var c = f.nodeName == a; } else c = !1; c && b.push(f); } return new Ie(b); }, firstElement: function () { if (this.nodeType != S.Document && this.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element or Document but found ' + (null == this.nodeType ? 'null' : ua.toString(this.nodeType)) ); for (var a = 0, b = this.children; a < b.length; ) { var d = b[a]; ++a; if (d.nodeType == S.Element) return d; } return null; }, addChild: function (a) { if (this.nodeType != S.Document && this.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element or Document but found ' + (null == this.nodeType ? 'null' : ua.toString(this.nodeType)) ); null != a.parent && a.parent.removeChild(a); this.children.push(a); a.parent = this; }, removeChild: function (a) { if (this.nodeType != S.Document && this.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element or Document but found ' + (null == this.nodeType ? 'null' : ua.toString(this.nodeType)) ); return C.remove(this.children, a) ? ((a.parent = null), !0) : !1; }, toString: function () { return oj.print(this); }, __class__: S }; var ja = function () { this.lowerBound = new P(); this.upperBound = new P(); }; k['box2D.collision.B2AABB'] = ja; ja.__name__ = 'box2D.collision.B2AABB'; ja.prototype = { isValid: function () { var a = this.upperBound.y - this.lowerBound.y; return ( 0 <= this.upperBound.x - this.lowerBound.x && 0 <= a && this.lowerBound.isValid() && this.upperBound.isValid() ); }, getCenter: function () { return new P( (this.lowerBound.x + this.upperBound.x) / 2, (this.lowerBound.y + this.upperBound.y) / 2 ); }, getExtents: function () { return new P( (this.upperBound.x - this.lowerBound.x) / 2, (this.upperBound.y - this.lowerBound.y) / 2 ); }, contains: function (a) { var b; return (b = (b = (b = (b = this.lowerBound.x <= a.lowerBound.x) && this.lowerBound.y <= a.lowerBound.y) && a.upperBound.x <= this.upperBound.x) && a.upperBound.y <= this.upperBound.y); }, rayCast: function (a, b) { var d = -Number.MAX_VALUE, e = Number.MAX_VALUE, f = b.p1.x, c = b.p1.y, l = b.p2.x - b.p1.x; b = b.p2.y - b.p1.y; var q = Math.abs(b), y = a.normal; if (Math.abs(l) < Number.MIN_VALUE) { if (f < this.lowerBound.x || this.upperBound.x < f) return !1; } else { var r = 1 / l; l = (this.lowerBound.x - f) * r; f = (this.upperBound.x - f) * r; r = -1; l > f && ((r = l), (l = f), (f = r), (r = 1)); l > d && ((y.x = r), (y.y = 0), (d = l)); e = Math.min(e, f); if (d > e) return !1; } if (q < Number.MIN_VALUE) { if (c < this.lowerBound.y || this.upperBound.y < c) return !1; } else if ( ((r = 1 / b), (l = (this.lowerBound.y - c) * r), (f = (this.upperBound.y - c) * r), (r = -1), l > f && ((r = l), (l = f), (f = r), (r = 1)), l > d && ((y.y = r), (y.x = 0), (d = l)), (e = Math.min(e, f)), d > e) ) return !1; a.fraction = d; return !0; }, testOverlap: function (a) { var b = a.lowerBound.y - this.upperBound.y, d = this.lowerBound.y - a.upperBound.y; return 0 < a.lowerBound.x - this.upperBound.x || 0 < b || 0 < this.lowerBound.x - a.upperBound.x || 0 < d ? !1 : !0; }, combine: function (a, b) { this.lowerBound.x = Math.min(a.lowerBound.x, b.lowerBound.x); this.lowerBound.y = Math.min(a.lowerBound.y, b.lowerBound.y); this.upperBound.x = Math.max(a.upperBound.x, b.upperBound.x); this.upperBound.y = Math.max(a.upperBound.y, b.upperBound.y); }, reset: function () { this.lowerBound.x = 0; this.lowerBound.y = 0; this.upperBound.x = 0; this.upperBound.y = 0; }, setTo: function (a) { this.lowerBound.x = a.lowerBound.x; this.lowerBound.y = a.lowerBound.y; this.upperBound.x = a.upperBound.x; this.upperBound.y = a.upperBound.y; }, lowerBound: null, upperBound: null, __class__: ja }; var P = function (a, b) { null == b && (b = 0); null == a && (a = 0); this.x = a; this.y = b; }; k['box2D.common.math.B2Vec2'] = P; P.__name__ = 'box2D.common.math.B2Vec2'; P.make = function (a, b) { return new P(a, b); }; P.freePool = function () { P.pooli = 0; }; P.getFromPool = function () { 500 < P.pooli && (P.pooli = 0); if (P.pooli < P.pool.length) { var a = P.pool[P.pooli]; a.x = 0; a.y = 0; } else (a = new P()), P.pool.push(a); P.pooli++; return a; }; P.prototype = { setZero: function () { this.y = this.x = 0; }, set: function (a, b) { null == b && (b = 0); null == a && (a = 0); this.x = a; this.y = b; }, setV: function (a) { this.x = a.x; this.y = a.y; }, getNegative: function () { return new P(-this.x, -this.y); }, getNegativePooled: function () { var a = P.getFromPool(); a.x = -this.x; a.y = -this.y; return a; }, negativeSelf: function () { this.x = -this.x; this.y = -this.y; }, copy: function (a) { null == a && (a = !1); if (a) { a = P.getFromPool(); var b = this.x, d = this.y; null == d && (d = 0); null == b && (b = 0); a.x = b; a.y = d; } else a = new P(this.x, this.y); return a; }, add: function (a) { this.x += a.x; this.y += a.y; }, subtract: function (a) { this.x -= a.x; this.y -= a.y; }, multiply: function (a) { this.x *= a; this.y *= a; }, mulM: function (a) { var b = this.x; this.x = a.col1.x * b + a.col2.x * this.y; this.y = a.col1.y * b + a.col2.y * this.y; }, mulTM: function (a) { var b = R.dot(this, a.col1); this.y = R.dot(this, a.col2); this.x = b; }, crossVF: function (a) { var b = this.x; this.x = a * this.y; this.y = -a * b; }, crossFV: function (a) { var b = this.x; this.x = -a * this.y; this.y = a * b; }, minV: function (a) { this.x = this.x < a.x ? this.x : a.x; this.y = this.y < a.y ? this.y : a.y; }, maxV: function (a) { this.x = this.x > a.x ? this.x : a.x; this.y = this.y > a.y ? this.y : a.y; }, abs: function () { 0 > this.x && (this.x = -this.x); 0 > this.y && (this.y = -this.y); }, length: function () { return Math.sqrt(this.x * this.x + this.y * this.y); }, lengthSquared: function () { return this.x * this.x + this.y * this.y; }, normalize: function () { var a = Math.sqrt(this.x * this.x + this.y * this.y); if (a < Number.MIN_VALUE) return 0; var b = 1 / a; this.x *= b; this.y *= b; return a; }, perpDot: function (a) { return -this.y * a.x + this.x * a.y; }, winding: function (a, b) { var d = a.copy(); d.subtract(this); b = b.copy(); b.subtract(a); return d.perpDot(b); }, isValid: function () { return R.isValid(this.x) ? R.isValid(this.y) : !1; }, x: null, y: null, toString: function () { return '(' + this.x + ', ' + this.y + ')'; }, reset: function () { this.y = this.x = 0; }, __class__: P }; var kc = function () { this.v = new P(); this.id = new Rb(); }; k['box2D.collision.ClipVertex'] = kc; kc.__name__ = 'box2D.collision.ClipVertex'; kc.prototype = { set: function (a) { var b = this.v, d = a.v; b.x = d.x; b.y = d.y; this.id.set(a.id); }, v: null, id: null, __class__: kc }; var Rb = function () { this.features = new mc(); this.features._m_id = this; }; k['box2D.collision.B2ContactID'] = Rb; Rb.__name__ = 'box2D.collision.B2ContactID'; Rb.prototype = { set: function (a) { this.set_key(a._key); }, copy: function () { var a = new Rb(); a.set_key(this.get_key()); return a; }, get_key: function () { return this._key; }, set_key: function (a) { this._key = a; this.features._referenceEdge = this._key & 255; this.features._incidentEdge = ((this._key & 65280) >> 8) & 255; this.features._incidentVertex = ((this._key & 16711680) >> 16) & 255; this.features._flip = ((this._key & -16777216) >> 24) & 255; return this._key; }, features: null, _key: null, indexA: null, indexB: null, typeA: null, typeB: null, __class__: Rb, __properties__: { set_key: 'set_key', get_key: 'get_key' } }; var mc = function () {}; k['box2D.collision.Features'] = mc; mc.__name__ = 'box2D.collision.Features'; mc.prototype = { get_referenceEdge: function () { return this._referenceEdge; }, set_referenceEdge: function (a) { this._referenceEdge = a; this._m_id._key = (this._m_id._key & -256) | (this._referenceEdge & 255); return a; }, _referenceEdge: null, get_incidentEdge: function () { return this._incidentEdge; }, set_incidentEdge: function (a) { this._incidentEdge = a; this._m_id._key = (this._m_id._key & -65281) | ((this._incidentEdge << 8) & 65280); return a; }, _incidentEdge: null, get_incidentVertex: function () { return this._incidentVertex; }, set_incidentVertex: function (a) { this._incidentVertex = a; this._m_id._key = (this._m_id._key & -16711681) | ((this._incidentVertex << 16) & 16711680); return a; }, _incidentVertex: null, get_flip: function () { return this._flip; }, set_flip: function (a) { this._flip = a; this._m_id._key = (this._m_id._key & 16777215) | ((this._flip << 24) & -16777216); return a; }, _flip: null, _m_id: null, __class__: mc, __properties__: { set_flip: 'set_flip', get_flip: 'get_flip', set_incidentVertex: 'set_incidentVertex', get_incidentVertex: 'get_incidentVertex', set_incidentEdge: 'set_incidentEdge', get_incidentEdge: 'get_incidentEdge', set_referenceEdge: 'set_referenceEdge', get_referenceEdge: 'get_referenceEdge' } }; var G = function () {}; k['box2D.collision.B2Collision'] = G; G.__name__ = 'box2D.collision.B2Collision'; G.clipSegmentToLine = function (a, b, d, e) { var f = 0, c = b[0], l = c.v; c = b[1]; var q = c.v, y = d.x * l.x + d.y * l.y - e; c = d.x * q.x + d.y * q.y - e; 0 >= y && a[f++].set(b[0]); 0 >= c && a[f++].set(b[1]); 0 > y * c && ((d = y / (y - c)), (c = a[f]), (c = c.v), (c.x = l.x + d * (q.x - l.x)), (c.y = l.y + d * (q.y - l.y)), (c = a[f]), (c.id = (0 < y ? b[0] : b[1]).id), ++f); return f; }; G.edgeSeparation = function (a, b, d, e, f) { var c = a.m_vertices, l = e.m_vertexCount; e = e.m_vertices; var q = b.R, y = a.m_normals[d]; a = q.col1.x * y.x + q.col2.x * y.y; var r = q.col1.y * y.x + q.col2.y * y.y; q = f.R; var h = q.col1.x * a + q.col1.y * r; q = q.col2.x * a + q.col2.y * r; for (var p = 0, k = Number.MAX_VALUE, n = 0; n < l; ) { var u = n++; y = e[u]; y = y.x * h + y.y * q; y < k && ((k = y), (p = u)); } y = c[d]; q = b.R; d = b.position.x + (q.col1.x * y.x + q.col2.x * y.y); b = b.position.y + (q.col1.y * y.x + q.col2.y * y.y); y = e[p]; q = f.R; return ( (f.position.x + (q.col1.x * y.x + q.col2.x * y.y) - d) * a + (f.position.y + (q.col1.y * y.x + q.col2.y * y.y) - b) * r ); }; G.findMaxSeparation = function (a, b, d, e, f) { var c = b.m_vertexCount, l = b.m_normals, q = f.R, y = e.m_centroid, r = f.position.x + (q.col1.x * y.x + q.col2.x * y.y), h = f.position.y + (q.col1.y * y.x + q.col2.y * y.y); q = d.R; y = b.m_centroid; r -= d.position.x + (q.col1.x * y.x + q.col2.x * y.y); h -= d.position.y + (q.col1.y * y.x + q.col2.y * y.y); q = r * d.R.col1.x + h * d.R.col1.y; h = r * d.R.col2.x + h * d.R.col2.y; r = 0; for (var p = -Number.MAX_VALUE, k = 0; k < c; ) { var n = k++; y = l[n]; y = y.x * q + y.y * h; y > p && ((p = y), (r = n)); } l = G.edgeSeparation(b, d, r, e, f); p = 0 <= r - 1 ? r - 1 : c - 1; q = G.edgeSeparation(b, d, p, e, f); k = r + 1 < c ? r + 1 : 0; h = G.edgeSeparation(b, d, k, e, f); if (q > l && q > h) y = -1; else if (h > l) (y = 1), (p = k), (q = h); else return (a[0] = r), l; for (;;) if ( ((r = -1 == y ? (0 <= p - 1 ? p - 1 : c - 1) : p + 1 < c ? p + 1 : 0), (l = G.edgeSeparation(b, d, r, e, f)), l > q) ) (p = r), (q = l); else break; a[0] = p; return q; }; G.findIncidentEdge = function (a, b, d, e, f, c) { var g = f.m_vertexCount, q = f.m_vertices; f = f.m_normals; var y = d.R; b = b.m_normals[e]; d = y.col1.x * b.x + y.col2.x * b.y; var r = y.col1.y * b.x + y.col2.y * b.y; y = c.R; b = y.col1.x * d + y.col1.y * r; r = y.col2.x * d + y.col2.y * r; d = b; y = 0; for (var h = Number.MAX_VALUE, p = 0; p < g; ) { var k = p++; b = f[k]; b = d * b.x + r * b.y; b < h && ((h = b), (y = k)); } f = y; g = f + 1 < g ? f + 1 : 0; d = a[0]; b = q[f]; y = c.R; d.v.x = c.position.x + (y.col1.x * b.x + y.col2.x * b.y); d.v.y = c.position.y + (y.col1.y * b.x + y.col2.y * b.y); d.id.features.set_referenceEdge(e); d.id.features.set_incidentEdge(f); d.id.features.set_incidentVertex(0); d = a[1]; b = q[g]; y = c.R; d.v.x = c.position.x + (y.col1.x * b.x + y.col2.x * b.y); d.v.y = c.position.y + (y.col1.y * b.x + y.col2.y * b.y); d.id.features.set_referenceEdge(e); d.id.features.set_incidentEdge(g); d.id.features.set_incidentVertex(1); }; G.makeClipPointVector = function () { var a = []; a[0] = new kc(); a[1] = new kc(); return a; }; G.collidePolygons = function (a, b, d, e, f) { a.m_pointCount = 0; var c = b.m_radius + e.m_radius; G.s_edgeAO[0] = 0; var l = G.findMaxSeparation(G.s_edgeAO, b, d, e, f); var q = G.s_edgeAO[0]; if (!(l > c)) { G.s_edgeBO[0] = 0; var y = G.findMaxSeparation(G.s_edgeBO, e, f, b, d); var r = G.s_edgeBO[0]; if (!(y > c)) { y > 0.98 * l + 0.001 ? ((l = e), (e = b), (b = f), (f = r), (a.m_type = 4), (q = 1)) : ((l = b), (b = d), (d = f), (f = q), (a.m_type = 2), (q = 0)); r = G.s_incidentEdge; G.findIncidentEdge(r, l, b, f, e, d); y = l.m_vertices; e = y[f]; var h = f + 1 < l.m_vertexCount ? y[f + 1] : y[0]; l = G.s_localTangent; f = h.x - e.x; var p = h.y - e.y; null == p && (p = 0); null == f && (f = 0); l.x = f; l.y = p; l.normalize(); y = G.s_localNormal; y.x = l.y; y.y = -l.x; var k = G.s_planePoint; f = 0.5 * (e.x + h.x); p = 0.5 * (e.y + h.y); null == p && (p = 0); null == f && (f = 0); k.x = f; k.y = p; p = G.s_tangent; f = b.R; p.x = f.col1.x * l.x + f.col2.x * l.y; p.y = f.col1.y * l.x + f.col2.y * l.y; var n = G.s_tangent2; n.x = -p.x; n.y = -p.y; l = G.s_normal; l.x = p.y; l.y = -p.x; var u = G.s_v11, m = G.s_v12; u.x = b.position.x + (f.col1.x * e.x + f.col2.x * e.y); u.y = b.position.y + (f.col1.y * e.x + f.col2.y * e.y); m.x = b.position.x + (f.col1.x * h.x + f.col2.x * h.y); m.y = b.position.y + (f.col1.y * h.x + f.col2.y * h.y); b = l.x * u.x + l.y * u.y; f = p.x * m.x + p.y * m.y + c; h = G.s_clipPoints1; e = G.s_clipPoints2; r = G.clipSegmentToLine(h, r, n, -p.x * u.x - p.y * u.y + c); if (!(2 > r || ((r = G.clipSegmentToLine(e, h, p, f)), 2 > r))) { r = a.m_localPlaneNormal; r.x = y.x; r.y = y.y; r = a.m_localPoint; r.x = k.x; r.y = k.y; y = r = 0; for (k = Z.b2_maxManifoldPoints; y < k; ) (f = y++), (p = e[f]), l.x * p.v.x + l.y * p.v.y - b <= c && ((n = a.m_points[r]), (f = d.R), (u = p.v.x - d.position.x), (h = p.v.y - d.position.y), (n.m_localPoint.x = u * f.col1.x + h * f.col1.y), (n.m_localPoint.y = u * f.col2.x + h * f.col2.y), n.m_id.set(p.id), n.m_id.features.set_flip(q), ++r); a.m_pointCount = r; } } } }; G.collideCircles = function (a, b, d, e, f) { a.m_pointCount = 0; var c = d.R, l = b.m_p, q = d.position.x + (c.col1.x * l.x + c.col2.x * l.y); d = d.position.y + (c.col1.y * l.x + c.col2.y * l.y); c = f.R; l = e.m_p; q = f.position.x + (c.col1.x * l.x + c.col2.x * l.y) - q; f = f.position.y + (c.col1.y * l.x + c.col2.y * l.y) - d; c = b.m_radius + e.m_radius; q * q + f * f > c * c || ((a.m_type = 1), (f = a.m_localPoint), (b = b.m_p), (f.x = b.x), (f.y = b.y), (f = a.m_localPlaneNormal), (f.x = 0), (f.y = 0), (a.m_pointCount = 1), (f = a.m_points[0].m_localPoint), (b = e.m_p), (f.x = b.x), (f.y = b.y), a.m_points[0].m_id.set_key(0)); }; G.collidePolygonAndCircle = function (a, b, d, e, f) { a.m_pointCount = 0; var c = f.R, l = e.m_p, q = f.position.x + (c.col1.x * l.x + c.col2.x * l.y) - d.position.x, y = f.position.y + (c.col1.y * l.x + c.col2.y * l.y) - d.position.y; c = d.R; d = q * c.col1.x + y * c.col1.y; c = q * c.col2.x + y * c.col2.y; var r = 0, h = -Number.MAX_VALUE; f = b.m_radius + e.m_radius; var p = b.m_vertexCount, k = b.m_vertices; b = b.m_normals; for (var n = 0; n < p; ) { var u = n++; l = k[u]; q = d - l.x; y = c - l.y; l = b[u]; l = l.x * q + l.y * y; if (l > f) return; l > h && ((h = l), (r = u)); } q = r; l = k[q]; p = k[q + 1 < p ? q + 1 : 0]; if (h < Number.MIN_VALUE) (a.m_pointCount = 1), (a.m_type = 2), (d = a.m_localPlaneNormal), (c = b[r]), (d.x = c.x), (d.y = c.y), (a.m_localPoint.x = 0.5 * (l.x + p.x)), (a.m_localPoint.y = 0.5 * (l.y + p.y)); else if ( ((h = (d - p.x) * (l.x - p.x) + (c - p.y) * (l.y - p.y)), 0 >= (d - l.x) * (p.x - l.x) + (c - l.y) * (p.y - l.y)) ) { if ((d - l.x) * (d - l.x) + (c - l.y) * (c - l.y) > f * f) return; a.m_pointCount = 1; a.m_type = 2; a.m_localPlaneNormal.x = d - l.x; a.m_localPlaneNormal.y = c - l.y; a.m_localPlaneNormal.normalize(); d = a.m_localPoint; d.x = l.x; d.y = l.y; } else if (0 >= h) { if ((d - p.x) * (d - p.x) + (c - p.y) * (c - p.y) > f * f) return; a.m_pointCount = 1; a.m_type = 2; a.m_localPlaneNormal.x = d - p.x; a.m_localPlaneNormal.y = c - p.y; a.m_localPlaneNormal.normalize(); d = a.m_localPoint; d.x = p.x; d.y = p.y; } else { r = 0.5 * (l.x + p.x); l = 0.5 * (l.y + p.y); h = (d - r) * b[q].x + (c - l) * b[q].y; if (h > f) return; a.m_pointCount = 1; a.m_type = 2; a.m_localPlaneNormal.x = b[q].x; a.m_localPlaneNormal.y = b[q].y; a.m_localPlaneNormal.normalize(); d = a.m_localPoint; c = r; f = l; null == f && (f = 0); null == c && (c = 0); d.x = c; d.y = f; } d = a.m_points[0].m_localPoint; c = e.m_p; d.x = c.x; d.y = c.y; a.m_points[0].m_id.set_key(0); }; G.testOverlap = function (a, b) { var d = b.lowerBound, e = a.upperBound, f = d.x - e.x, c = d.y - e.y; d = a.lowerBound; e = b.upperBound; a = d.y - e.y; return 0 < f || 0 < c || 0 < d.x - e.x || 0 < a ? !1 : !0; }; var ce = function () { this.position = new P(); this.velocity = new P(); this.normal = new P(); this.id = new Rb(); }; k['box2D.collision.B2ContactPoint'] = ce; ce.__name__ = 'box2D.collision.B2ContactPoint'; ce.prototype = { shape1: null, shape2: null, position: null, velocity: null, normal: null, separation: null, friction: null, restitution: null, id: null, __class__: ce }; var ya = function () { this.m_v1 = new H(); this.m_v2 = new H(); this.m_v3 = new H(); this.m_vertices = []; this.m_vertices[0] = this.m_v1; this.m_vertices[1] = this.m_v2; this.m_vertices[2] = this.m_v3; }; k['box2D.collision.B2Simplex'] = ya; ya.__name__ = 'box2D.collision.B2Simplex'; ya.prototype = { readCache: function (a, b, d, e, f) { Z.b2Assert(0 <= a.count && 3 >= a.count); this.m_count = a.count; var c = this.m_vertices; if (a.useCache) { for (var l = 0, q = this.m_count; l < q; ) { var y = l++; var r = c[y]; r.indexA = a.indexA[y]; r.indexB = a.indexB[y]; y = b.getVertex(r.indexA); var h = e.getVertex(r.indexB); r.wA = R.mulX(d, y, !0); r.wB = R.mulX(f, h, !0); r.w = R.subtractVVPooled(r.wB, r.wA); r.a = 0; } 1 < this.m_count && ((a = a.metric), (r = this.getMetric()), r < 0.5 * a || 2 * a < r || r < Number.MIN_VALUE) && (this.m_count = 0); } 0 == this.m_count && ((r = c[0]), (r.indexA = 0), (r.indexB = 0), (y = b.getVertex(0)), (h = e.getVertex(0)), (r.wA = R.mulX(d, y, !0)), (r.wB = R.mulX(f, h, !0)), (r.w = R.subtractVVPooled(r.wB, r.wA)), (this.m_count = 1)); }, writeCache: function (a) { if (a.useCache) { a.metric = this.getMetric(); a.count = this.m_count; for (var b = this.m_vertices, d = 0, e = this.m_count; d < e; ) { var f = d++; a.indexA[f] = b[f].indexA; a.indexB[f] = b[f].indexB; } } }, getSearchDirection: function () { switch (this.m_count) { case 1: return this.m_v1.w.getNegativePooled(); case 2: var a = R.subtractVVPooled(this.m_v2.w, this.m_v1.w); return 0 < R.crossVV(a, this.m_v1.w.getNegativePooled()) ? R.crossFV(1, a, !0) : R.crossVF(a, 1, !0); default: return Z.b2Assert(!1), P.getFromPool(); } }, getClosestPoint: function () { switch (this.m_count) { case 0: return Z.b2Assert(!1), P.getFromPool(); case 1: return this.m_v1.w; case 2: var a = P.getFromPool(); a.x = this.m_v1.a * this.m_v1.w.x + this.m_v2.a * this.m_v2.w.x; a.y = this.m_v1.a * this.m_v1.w.y + this.m_v2.a * this.m_v2.w.y; return a; default: return Z.b2Assert(!1), P.getFromPool(); } }, getWitnessPoints: function (a, b) { switch (this.m_count) { case 0: Z.b2Assert(!1); break; case 1: var d = this.m_v1.wA; a.x = d.x; a.y = d.y; d = this.m_v1.wB; b.x = d.x; b.y = d.y; break; case 2: a.x = this.m_v1.a * this.m_v1.wA.x + this.m_v2.a * this.m_v2.wA.x; a.y = this.m_v1.a * this.m_v1.wA.y + this.m_v2.a * this.m_v2.wA.y; b.x = this.m_v1.a * this.m_v1.wB.x + this.m_v2.a * this.m_v2.wB.x; b.y = this.m_v1.a * this.m_v1.wB.y + this.m_v2.a * this.m_v2.wB.y; break; case 3: b.x = a.x = this.m_v1.a * this.m_v1.wA.x + this.m_v2.a * this.m_v2.wA.x + this.m_v3.a * this.m_v3.wA.x; b.y = a.y = this.m_v1.a * this.m_v1.wA.y + this.m_v2.a * this.m_v2.wA.y + this.m_v3.a * this.m_v3.wA.y; break; default: Z.b2Assert(!1); } }, getMetric: function () { switch (this.m_count) { case 0: return Z.b2Assert(!1), 0; case 1: return 0; case 2: return R.subtractVVPooled(this.m_v1.w, this.m_v2.w).length(); case 3: return R.crossVV( R.subtractVVPooled(this.m_v2.w, this.m_v1.w), R.subtractVVPooled(this.m_v3.w, this.m_v1.w) ); default: return Z.b2Assert(!1), 0; } }, solve2: function () { var a = this.m_v1.w, b = this.m_v2.w, d = R.subtractVVPooled(b, a); a = -(a.x * d.x + a.y * d.y); 0 >= a ? (this.m_count = this.m_v1.a = 1) : ((b = b.x * d.x + b.y * d.y), 0 >= b ? ((this.m_count = this.m_v2.a = 1), this.m_v1.set(this.m_v2)) : ((d = 1 / (b + a)), (this.m_v1.a = b * d), (this.m_v2.a = a * d), (this.m_count = 2))); }, solve3: function () { var a = this.m_v1.w, b = this.m_v2.w, d = this.m_v3.w, e = R.subtractVVPooled(b, a), f = R.dot(a, e), c = R.dot(b, e); f = -f; var l = R.subtractVVPooled(d, a), q = R.dot(a, l), y = R.dot(d, l); q = -q; var r = R.subtractVVPooled(d, b), h = R.dot(b, r); r = R.dot(d, r); h = -h; l = R.crossVV(e, l); e = l * R.crossVV(b, d); d = l * R.crossVV(d, a); a = l * R.crossVV(a, b); 0 >= f && 0 >= q ? (this.m_count = this.m_v1.a = 1) : 0 < c && 0 < f && 0 >= a ? ((y = 1 / (c + f)), (this.m_v1.a = c * y), (this.m_v2.a = f * y), (this.m_count = 2)) : 0 < y && 0 < q && 0 >= d ? ((c = 1 / (y + q)), (this.m_v1.a = y * c), (this.m_v3.a = q * c), (this.m_count = 2), this.m_v2.set(this.m_v3)) : 0 >= c && 0 >= h ? ((this.m_count = this.m_v2.a = 1), this.m_v1.set(this.m_v2)) : 0 >= y && 0 >= r ? ((this.m_count = this.m_v3.a = 1), this.m_v1.set(this.m_v3)) : 0 < r && 0 < h && 0 >= e ? ((c = 1 / (r + h)), (this.m_v2.a = r * c), (this.m_v3.a = h * c), (this.m_count = 2), this.m_v1.set(this.m_v3)) : ((c = 1 / (e + d + a)), (this.m_v1.a = e * c), (this.m_v2.a = d * c), (this.m_v3.a = a * c), (this.m_count = 3)); }, m_v1: null, m_v2: null, m_v3: null, m_vertices: null, m_count: null, __class__: ya }; var H = function () {}; k['box2D.collision.B2SimplexVertex'] = H; H.__name__ = 'box2D.collision.B2SimplexVertex'; H.prototype = { set: function (a) { var b = this.wA, d = a.wA; b.x = d.x; b.y = d.y; b = this.wB; d = a.wB; b.x = d.x; b.y = d.y; b = this.w; d = a.w; b.x = d.x; b.y = d.y; this.a = a.a; this.indexA = a.indexA; this.indexB = a.indexB; }, wA: null, wB: null, w: null, a: null, indexA: null, indexB: null, __class__: H }; var Le = function () {}; k['box2D.collision.B2Distance'] = Le; Le.__name__ = 'box2D.collision.B2Distance'; Le.distance = function (a, b, d) { ++Le.b2_gjkCalls; var e = d.proxyA, f = d.proxyB, c = d.transformA, l = d.transformB, q = Le.s_simplex; q.readCache(b, e, c, f, l); var y = q.m_vertices, r = Le.s_saveA, h = Le.s_saveB; q.getClosestPoint().lengthSquared(); for (var p, k = 0; 20 > k; ) { var n = q.m_count; for (var u = 0, m = n; u < m; ) (p = u++), (r[p] = y[p].indexA), (h[p] = y[p].indexB); switch (q.m_count) { case 1: break; case 2: q.solve2(); break; case 3: q.solve3(); break; default: Z.b2Assert(!1); } if (3 == q.m_count) break; p = q.getClosestPoint(); p.lengthSquared(); u = q.getSearchDirection(); if (u.lengthSquared() < Number.MIN_VALUE * Number.MIN_VALUE) break; p = y[q.m_count]; p.indexA = e.getSupport(R.mulTMV(c.R, u.getNegativePooled(), !0)) | 0; p.wA = R.mulX(c, e.getVertex(p.indexA), !0); p.indexB = f.getSupport(R.mulTMV(l.R, u, !0)) | 0; p.wB = R.mulX(l, f.getVertex(p.indexB), !0); p.w = R.subtractVVPooled(p.wB, p.wA); ++k; ++Le.b2_gjkIters; u = !1; for (m = 0; m < n; ) { var t = m++; if (p.indexA == r[t] && p.indexB == h[t]) { u = !0; break; } } if (u) break; ++q.m_count; } Le.b2_gjkMaxIters = R.max(Le.b2_gjkMaxIters, k) | 0; q.getWitnessPoints(a.pointA, a.pointB); a.distance = R.subtractVVPooled(a.pointA, a.pointB).length(); a.iterations = k; q.writeCache(b); d.useRadii && ((b = e.m_radius), (f = f.m_radius), a.distance > b + f && a.distance > Number.MIN_VALUE ? ((a.distance -= b + f), (d = R.subtractVVPooled(a.pointB, a.pointA)), d.normalize(), (a.pointA.x += b * d.x), (a.pointA.y += b * d.y), (a.pointB.x -= f * d.x), (a.pointB.y -= f * d.y)) : ((p = P.getFromPool()), (p.x = 0.5 * (a.pointA.x + a.pointB.x)), (p.y = 0.5 * (a.pointA.y + a.pointB.y)), (a.pointA.x = a.pointB.x = p.x), (a.pointA.y = a.pointB.y = p.y), (a.distance = 0))); }; var Ih = function () {}; k['box2D.collision.B2DistanceInput'] = Ih; Ih.__name__ = 'box2D.collision.B2DistanceInput'; Ih.prototype = { proxyA: null, proxyB: null, transformA: null, transformB: null, useRadii: null, __class__: Ih }; var Te = function () { this.pointA = new P(); this.pointB = new P(); }; k['box2D.collision.B2DistanceOutput'] = Te; Te.__name__ = 'box2D.collision.B2DistanceOutput'; Te.prototype = { pointA: null, pointB: null, distance: null, iterations: null, __class__: Te }; var Mg = function () { this.m_internalVertices = []; }; k['box2D.collision.B2DistanceProxy'] = Mg; Mg.__name__ = 'box2D.collision.B2DistanceProxy'; Mg.prototype = { set: function (a) { switch (a.getType()) { case 0: a = w.__cast(a, Lc); for (this.m_vertices = this.m_internalVertices; 1 < this.m_vertices.length; ) this.m_vertices.pop(); this.m_vertices[0] = a.m_p; this.m_count = 1; this.m_radius = a.m_radius; break; case 1: a = w.__cast(a, Eb); this.m_vertices = a.m_vertices; this.m_count = a.m_vertexCount; this.m_radius = a.m_radius; break; case 2: a = w.__cast(a, vg); for (this.m_vertices = this.m_internalVertices; 2 < this.m_vertices.length; ) this.m_vertices.pop(); this.m_vertices[0] = a.m_v1; this.m_vertices[1] = a.m_v2; this.m_count = 2; this.m_radius = a.m_radius; break; default: Z.b2Assert(!1); } }, getSupport: function (a) { for ( var b = 0, d = this.m_vertices[0].x * a.x + this.m_vertices[0].y * a.y, e = 1, f = this.m_count; e < f; ) { var c = e++, l = this.m_vertices[c].x * a.x + this.m_vertices[c].y * a.y; l > d && ((b = c), (d = l)); } return b; }, getSupportVertex: function (a) { for ( var b = 0, d = this.m_vertices[0].x * a.x + this.m_vertices[0].y * a.y, e = 1, f = this.m_count; e < f; ) { var c = e++, l = this.m_vertices[c].x * a.x + this.m_vertices[c].y * a.y; l > d && ((b = c), (d = l)); } return this.m_vertices[b]; }, getVertexCount: function () { return this.m_count; }, getVertex: function (a) { Z.b2Assert(0 <= a && a < this.m_count); return this.m_vertices[a]; }, m_internalVertices: null, m_vertices: null, m_count: null, m_radius: null, __class__: Mg }; var wn = function () { this.oldAABB = new ja(); this.stackQueue = []; this.stackQueuePos = 0; this.m_freeList = this.m_root = null; this.m_insertionCount = this.m_path = 0; }; k['box2D.collision.B2DynamicTree'] = wn; wn.__name__ = 'box2D.collision.B2DynamicTree'; wn.prototype = { createProxy: function (a, b) { var d = this.allocateNode(), e = Z.b2_aabbExtension, f = Z.b2_aabbExtension; d.aabb.lowerBound.x = a.lowerBound.x - e; d.aabb.lowerBound.y = a.lowerBound.y - f; d.aabb.upperBound.x = a.upperBound.x + e; d.aabb.upperBound.y = a.upperBound.y + f; d.userData = b; this.insertLeaf(d); return d; }, destroyProxy: function (a) { this.removeLeaf(a); this.freeNode(a); }, moveProxy: function (a, b, d) { Z.b2Assert(a.isLeaf()); if (a.aabb.contains(b)) return !1; this.removeLeaf(a); var e = Z.b2_aabbExtension + Z.b2_aabbMultiplier * (0 < d.x ? d.x : -d.x); d = Z.b2_aabbExtension + Z.b2_aabbMultiplier * (0 < d.y ? d.y : -d.y); a.aabb.lowerBound.x = b.lowerBound.x - e; a.aabb.lowerBound.y = b.lowerBound.y - d; a.aabb.upperBound.x = b.upperBound.x + e; a.aabb.upperBound.y = b.upperBound.y + d; this.insertLeaf(a); return !0; }, rebalance: function (a) { if (null != this.m_root) for (var b = 0; b < a; ) { b++; for (var d = this.m_root, e = 0; 0 == d.isLeaf(); ) (d = 0 != ((this.m_path >> e) & 1) ? d.child2 : d.child1), (e = (e + 1) & 31); ++this.m_path; this.removeLeaf(d); this.insertLeaf(d); } }, getFatAABB: function (a) { return a.aabb; }, getUserData: function (a) { return a.userData; }, stackQueuePos: null, stackQueue: null, query: function (a, b) { if (null != this.m_root) { null == this.stackQueue[this.stackQueuePos] && (this.stackQueue[this.stackQueuePos] = []); var d = this.stackQueue[this.stackQueuePos++], e = 0; for (d[e++] = this.m_root; 0 < e; ) { var f = d[--e]; if (f.aabb.testOverlap(b)) if (f.isLeaf()) { if (!a.queryCallback(f)) break; } else (d[e++] = f.child1), (d[e++] = f.child2); } for (e = d.length; 0 < e--; ) d.pop(); --this.stackQueuePos; } }, rayCast: function (a, b) { if (null != this.m_root) { var d = b.p1, e = b.p2, f = R.subtractVVPooled(d, e); f.normalize(); f = R.crossFV(1, f); var c = R.absV(f), l = b.maxFraction, q = new ja(); var y = d.x + l * (e.x - d.x); l = d.y + l * (e.y - d.y); q.lowerBound.x = Math.min(d.x, y); q.lowerBound.y = Math.min(d.y, l); q.upperBound.x = Math.max(d.x, y); q.upperBound.y = Math.max(d.y, l); var r = [], h = 0; for (r[h++] = this.m_root; 0 < h; ) if (((y = r[--h]), 0 != y.aabb.testOverlap(q))) { l = y.aabb.getCenter(); var p = y.aabb.getExtents(); if (!(0 < Math.abs(f.x * (d.x - l.x) + f.y * (d.y - l.y)) - c.x * p.x - c.y * p.y)) if (y.isLeaf()) { l = new sk(); l.p1 = b.p1; l.p2 = b.p2; l.maxFraction = b.maxFraction; l = a(l, y); if (0 == l) break; y = d.x + l * (e.x - d.x); l = d.y + l * (e.y - d.y); q.lowerBound.x = Math.min(d.x, y); q.lowerBound.y = Math.min(d.y, l); q.upperBound.x = Math.max(d.x, y); q.upperBound.y = Math.max(d.y, l); } else (r[h++] = y.child1), (r[h++] = y.child2); } } }, allocateNode: function () { if (null != this.m_freeList) { var a = this.m_freeList; this.m_freeList = a.parent; a.parent = null; a.child1 = null; a.child2 = null; return a; } return new pj(); }, freeNode: function (a) { a.parent = this.m_freeList; this.m_freeList = a; }, insertLeaf: function (a) { ++this.m_insertionCount; if (null == this.m_root) (this.m_root = a), (this.m_root.parent = null); else { var b = this.m_root; if (0 == b.isLeaf()) for ( var d = (a.aabb.lowerBound.x + a.aabb.upperBound.x) / 2, e = (a.aabb.lowerBound.y + a.aabb.upperBound.y) / 2; ; ) { var f = b.child1; b = b.child2; b = Math.abs((f.aabb.lowerBound.x + f.aabb.upperBound.x) / 2 - d) + Math.abs((f.aabb.lowerBound.y + f.aabb.upperBound.y) / 2 - e) < Math.abs((b.aabb.lowerBound.x + b.aabb.upperBound.x) / 2 - d) + Math.abs((b.aabb.lowerBound.y + b.aabb.upperBound.y) / 2 - e) ? f : b; if (0 != b.isLeaf()) break; } d = b.parent; e = this.allocateNode(); e.parent = d; e.userData = null; e.aabb.combine(a.aabb, b.aabb); if (null != d) for ( b.parent.child1 == b ? (d.child1 = e) : (d.child2 = e), e.child1 = b, e.child2 = a, b.parent = e, a.parent = e; !d.aabb.contains(e.aabb) && (d.aabb.combine(d.child1.aabb, d.child2.aabb), (e = d), (d = d.parent), null != d); ); else (e.child1 = b), (e.child2 = a), (b.parent = e), (this.m_root = a.parent = e); } }, oldAABB: null, removeLeaf: function (a) { if (a == this.m_root) this.m_root = null; else { var b = a.parent, d = b.parent; a = b.child1 == a ? b.child2 : b.child1; if (null != d) for ( d.child1 == b ? (d.child1 = a) : (d.child2 = a), a.parent = d, this.freeNode(b); null != d; ) { this.oldAABB.setTo(d.aabb); d.aabb.combine(d.child1.aabb, d.child2.aabb); if (this.oldAABB.contains(d.aabb)) break; d = d.parent; } else (this.m_root = a), (a.parent = null), this.freeNode(b); } }, m_root: null, m_freeList: null, m_path: null, m_insertionCount: null, __class__: wn }; var df = function () {}; k['box2D.collision.QueryCallback'] = df; df.__name__ = 'box2D.collision.QueryCallback'; df.__isInterface__ = !0; df.prototype = { queryCallback: null, __class__: df }; var tk = function () {}; k['box2D.collision.IBroadPhase'] = tk; tk.__name__ = 'box2D.collision.IBroadPhase'; tk.__isInterface__ = !0; tk.prototype = { createProxy: null, destroyProxy: null, moveProxy: null, testOverlap: null, getUserData: null, getFatAABB: null, getProxyCount: null, updatePairs: null, query: null, rayCast: null, validate: null, rebalance: null, __class__: tk }; var uk = function () { this.m_tree = new wn(); this.m_moveBuffer = []; this.m_pairBuffer = []; this.m_proxyCount = this.m_pairCount = 0; }; k['box2D.collision.B2DynamicTreeBroadPhase'] = uk; uk.__name__ = 'box2D.collision.B2DynamicTreeBroadPhase'; uk.__interfaces__ = [df, tk]; uk.prototype = { createProxy: function (a, b) { a = this.m_tree.createProxy(a, b); ++this.m_proxyCount; this.bufferMove(a); return a; }, destroyProxy: function (a) { this.unBufferMove(a); --this.m_proxyCount; this.m_tree.destroyProxy(a); }, moveProxy: function (a, b, d) { this.m_tree.moveProxy(a, b, d) && this.bufferMove(a); }, testOverlap: function (a, b) { a = this.m_tree.getFatAABB(a); b = this.m_tree.getFatAABB(b); return a.testOverlap(b); }, getUserData: function (a) { return this.m_tree.getUserData(a); }, getFatAABB: function (a) { return this.m_tree.getFatAABB(a); }, getProxyCount: function () { return this.m_proxyCount; }, updatePairs: function (a) { for (var b = (this.m_pairCount = 0), d = this.m_moveBuffer; b < d.length; ) { var e = d[b]; ++b; this.cur_queryProxy = e; e = this.m_tree.getFatAABB(e); this.m_tree.query(this, e); } this.cur_queryProxy = null; for (b = this.m_moveBuffer.length; 0 <= --b; ) this.m_moveBuffer.pop(); d = !0; for (b = 0; d; ) if (b >= this.m_pairCount) d = !1; else for ( e = this.m_pairBuffer[b], a.addPair(this.m_tree.getUserData(e.proxyA), this.m_tree.getUserData(e.proxyB)), ++b; b < this.m_pairCount; ) { var f = this.m_pairBuffer[b]; if (f.proxyA != e.proxyA || f.proxyB != e.proxyB) break; ++b; } }, queryCallback: function (a) { if (a == this.cur_queryProxy) return !0; this.m_pairCount == this.m_pairBuffer.length && (this.m_pairBuffer[this.m_pairCount] = new xn()); var b = this.m_pairBuffer[this.m_pairCount]; a.id < this.cur_queryProxy.id ? ((b.proxyA = a), (b.proxyB = this.cur_queryProxy)) : ((b.proxyA = this.cur_queryProxy), (b.proxyB = a)); ++this.m_pairCount; return !0; }, query: function (a, b) { this.m_tree.query(a, b); }, rayCast: function (a, b) { this.m_tree.rayCast(a, b); }, validate: function () {}, rebalance: function (a) { this.m_tree.rebalance(a); }, bufferMove: function (a) { this.m_moveBuffer[this.m_moveBuffer.length] = a; }, unBufferMove: function (a) { C.remove(this.m_moveBuffer, a); }, comparePairs: function (a, b) { return 0; }, m_tree: null, m_proxyCount: null, m_moveBuffer: null, m_pairBuffer: null, m_pairCount: null, cur_queryProxy: null, __class__: uk }; var pj = function () { this.aabb = new ja(); this.id = pj.currentID++; }; k['box2D.collision.B2DynamicTreeNode'] = pj; pj.__name__ = 'box2D.collision.B2DynamicTreeNode'; pj.prototype = { id: null, isLeaf: function () { return null == this.child1; }, userData: null, aabb: null, parent: null, child1: null, child2: null, __class__: pj }; var xn = function () {}; k['box2D.collision.B2DynamicTreePair'] = xn; xn.__name__ = 'box2D.collision.B2DynamicTreePair'; xn.prototype = { proxyA: null, proxyB: null, __class__: xn }; var kh = function () { this.m_pointCount = 0; this.m_points = []; for (var a = 0, b = Z.b2_maxManifoldPoints; a < b; ) { var d = a++; this.m_points[d] = new yn(); } this.m_localPlaneNormal = new P(); this.m_localPoint = new P(); }; k['box2D.collision.B2Manifold'] = kh; kh.__name__ = 'box2D.collision.B2Manifold'; kh.prototype = { reset: function () { for (var a = 0, b = Z.b2_maxManifoldPoints; a < b; ) { var d = a++; this.m_points[d].reset(); } a = this.m_localPlaneNormal; a.x = 0; a.y = 0; a = this.m_localPoint; a.x = 0; this.m_pointCount = this.m_type = a.y = 0; }, set: function (a) { this.m_pointCount = a.m_pointCount; for (var b = 0, d = Z.b2_maxManifoldPoints; b < d; ) { var e = b++; this.m_points[e].set(a.m_points[e]); } b = this.m_localPlaneNormal; d = a.m_localPlaneNormal; b.x = d.x; b.y = d.y; b = this.m_localPoint; d = a.m_localPoint; b.x = d.x; b.y = d.y; this.m_type = a.m_type; }, copy: function () { var a = new kh(); a.set(this); return a; }, m_points: null, m_localPlaneNormal: null, m_localPoint: null, m_type: null, m_pointCount: null, __class__: kh }; var yn = function () { this.m_localPoint = new P(); this.m_id = new Rb(); this.reset(); }; k['box2D.collision.B2ManifoldPoint'] = yn; yn.__name__ = 'box2D.collision.B2ManifoldPoint'; yn.prototype = { reset: function () { var a = this.m_localPoint; a.x = 0; this.m_tangentImpulse = this.m_normalImpulse = a.y = 0; this.m_id.set_key(0); }, set: function (a) { var b = this.m_localPoint, d = a.m_localPoint; b.x = d.x; b.y = d.y; this.m_normalImpulse = a.m_normalImpulse; this.m_tangentImpulse = a.m_tangentImpulse; this.m_id.set(a.m_id); }, m_localPoint: null, m_normalImpulse: null, m_tangentImpulse: null, m_id: null, __class__: yn }; var Iy = function () { this.R = new yc(); this.center = new P(); this.extents = new P(); }; k['box2D.collision.B2OBB'] = Iy; Iy.__name__ = 'box2D.collision.B2OBB'; Iy.prototype = { R: null, center: null, extents: null, __class__: Iy }; var sk = function (a, b, d) { null == d && (d = 1); this.p1 = new P(); this.p2 = new P(); if (null != a) { var e = this.p1; e.x = a.x; e.y = a.y; } null != b && ((e = this.p2), (e.x = b.x), (e.y = b.y)); this.maxFraction = d; }; k['box2D.collision.B2RayCastInput'] = sk; sk.__name__ = 'box2D.collision.B2RayCastInput'; sk.prototype = { p1: null, p2: null, maxFraction: null, __class__: sk }; var zn = function () { this.normal = new P(); }; k['box2D.collision.B2RayCastOutput'] = zn; zn.__name__ = 'box2D.collision.B2RayCastOutput'; zn.prototype = { normal: null, fraction: null, __class__: zn }; var ef = function () { this.m_localPoint = new P(); this.m_axis = new P(); }; k['box2D.collision.B2SeparationFunction'] = ef; ef.__name__ = 'box2D.collision.B2SeparationFunction'; ef.prototype = { initialize: function (a, b, d, e, f) { this.m_proxyA = b; this.m_proxyB = e; b = a.count; Z.b2Assert(0 < b && 3 > b); if (1 == b) { this.m_type = ef.e_points; var c = this.m_proxyA.getVertex(a.indexA[0]); a = this.m_proxyB.getVertex(a.indexB[0]); var l = c; var q = d.R; c = d.position.x + (q.col1.x * l.x + q.col2.x * l.y); d = d.position.y + (q.col1.y * l.x + q.col2.y * l.y); l = a; q = f.R; a = f.position.x + (q.col1.x * l.x + q.col2.x * l.y); f = f.position.y + (q.col1.y * l.x + q.col2.y * l.y); this.m_axis.x = a - c; this.m_axis.y = f - d; this.m_axis.normalize(); } else if (a.indexB[0] == a.indexB[1]) { this.m_type = ef.e_faceA; b = this.m_proxyA.getVertex(a.indexA[0]); e = this.m_proxyA.getVertex(a.indexA[1]); a = this.m_proxyB.getVertex(a.indexB[0]); this.m_localPoint.x = 0.5 * (b.x + e.x); this.m_localPoint.y = 0.5 * (b.y + e.y); var y = this.m_axis; b = R.crossVF(R.subtractVVPooled(e, b), 1, !0); y.x = b.x; y.y = b.y; this.m_axis.normalize(); l = this.m_axis; q = d.R; b = q.col1.x * l.x + q.col2.x * l.y; e = q.col1.y * l.x + q.col2.y * l.y; l = this.m_localPoint; q = d.R; c = d.position.x + (q.col1.x * l.x + q.col2.x * l.y); d = d.position.y + (q.col1.y * l.x + q.col2.y * l.y); l = a; q = f.R; a = f.position.x + (q.col1.x * l.x + q.col2.x * l.y); f = f.position.y + (q.col1.y * l.x + q.col2.y * l.y); 0 > (a - c) * b + (f - d) * e && ((y = this.m_axis), (y.x = -y.x), (y.y = -y.y)); } else if (a.indexA[0] == a.indexA[0]) (this.m_type = ef.e_faceB), (q = this.m_proxyB.getVertex(a.indexB[0])), (l = this.m_proxyB.getVertex(a.indexB[1])), (c = this.m_proxyA.getVertex(a.indexA[0])), (this.m_localPoint.x = 0.5 * (q.x + l.x)), (this.m_localPoint.y = 0.5 * (q.y + l.y)), (y = this.m_axis), (b = R.crossVF(R.subtractVVPooled(l, q), 1, !0)), (y.x = b.x), (y.y = b.y), this.m_axis.normalize(), (l = this.m_axis), (q = f.R), (b = q.col1.x * l.x + q.col2.x * l.y), (e = q.col1.y * l.x + q.col2.y * l.y), (l = this.m_localPoint), (q = f.R), (a = f.position.x + (q.col1.x * l.x + q.col2.x * l.y)), (f = f.position.y + (q.col1.y * l.x + q.col2.y * l.y)), (l = c), (q = d.R), (c = d.position.x + (q.col1.x * l.x + q.col2.x * l.y)), (d = d.position.y + (q.col1.y * l.x + q.col2.y * l.y)), 0 > (c - a) * b + (d - f) * e && ((y = this.m_axis), (y.x = -y.x), (y.y = -y.y)); else { b = this.m_proxyA.getVertex(a.indexA[0]); e = this.m_proxyA.getVertex(a.indexA[1]); q = this.m_proxyB.getVertex(a.indexB[0]); l = this.m_proxyB.getVertex(a.indexB[1]); var r = R.mulMV(d.R, R.subtractVVPooled(e, b), !0); f = R.mulMV(f.R, R.subtractVVPooled(l, q), !0); d = r.x * r.x + r.y * r.y; c = f.x * f.x + f.y * f.y; y = R.subtractVVPooled(f, r); a = r.x * y.x + r.y * y.y; y = f.x * y.x + f.y * y.y; r = r.x * f.x + r.y * f.y; var h = d * c - r * r; f = 0; 0 != h && (f = R.clamp((r * y - a * c) / h, 0, 1)); 0 > (r * f + y) / c && (f = R.clamp((r - a) / d, 0, 1)); c = P.getFromPool(); c.x = b.x + f * (e.x - b.x); c.y = b.y + f * (e.y - b.y); a = P.getFromPool(); a.x = q.x + f * (l.x - q.x); a.y = q.y + f * (l.y - q.y); 0 == f || 1 == f ? ((this.m_type = ef.e_faceB), (y = this.m_axis), (b = R.crossVF(R.subtractVVPooled(l, q), 1, !0)), (y.x = b.x), (y.y = b.y), this.m_axis.normalize(), (y = this.m_localPoint), (y.x = a.x), (y.y = a.y)) : ((this.m_type = ef.e_faceA), (y = this.m_axis), (b = R.crossVF(R.subtractVVPooled(e, b), 1, !0)), (y.x = b.x), (y.y = b.y), (y = this.m_localPoint), (y.x = c.x), (y.y = c.y)); 0 > f && ((y = this.m_axis), (y.x = -y.x), (y.y = -y.y)); } }, evaluate: function (a, b) { var d; if (this.m_type == ef.e_points) { var e = R.mulTMV(a.R, this.m_axis, !0); var f = R.mulTMV(b.R, this.m_axis.getNegativePooled(), !0); e = this.m_proxyA.getSupportVertex(e); f = this.m_proxyB.getSupportVertex(f); a = R.mulX(a, e, !0); b = R.mulX(b, f, !0); return (d = (b.x - a.x) * this.m_axis.x + (b.y - a.y) * this.m_axis.y); } if (this.m_type == ef.e_faceA) return ( (d = R.mulMV(a.R, this.m_axis, !0)), (a = R.mulX(a, this.m_localPoint, !0)), (f = R.mulTMV(b.R, d.getNegativePooled(), !0)), (f = this.m_proxyB.getSupportVertex(f)), (b = R.mulX(b, f, !0)), (d = (b.x - a.x) * d.x + (b.y - a.y) * d.y) ); if (this.m_type == ef.e_faceB) return ( (d = R.mulMV(b.R, this.m_axis, !0)), (b = R.mulX(b, this.m_localPoint, !0)), (e = R.mulTMV(a.R, d.getNegativePooled(), !0)), (e = this.m_proxyA.getSupportVertex(e)), (a = R.mulX(a, e, !0)), (d = (a.x - b.x) * d.x + (a.y - b.y) * d.y) ); Z.b2Assert(!1); return 0; }, m_proxyA: null, m_proxyB: null, m_type: null, m_localPoint: null, m_axis: null, __class__: ef }; var vk = function () { this.useCache = !1; this.indexA = []; this.indexB = []; }; k['box2D.collision.B2SimplexCache'] = vk; vk.__name__ = 'box2D.collision.B2SimplexCache'; vk.prototype = { metric: null, count: null, indexA: null, indexB: null, useCache: null, __class__: vk }; var An = function () { this.proxyA = new Mg(); this.proxyB = new Mg(); this.sweepA = new lh(); this.sweepB = new lh(); }; k['box2D.collision.B2TOIInput'] = An; An.__name__ = 'box2D.collision.B2TOIInput'; An.prototype = { proxyA: null, proxyB: null, sweepA: null, sweepB: null, tolerance: null, __class__: An }; var Ue = function (a, b) { this.position = new P(); this.R = new yc(); if (null != a) { var d = this.position; d.x = a.x; d.y = a.y; this.R.setM(b); } }; k['box2D.common.math.B2Transform'] = Ue; Ue.__name__ = 'box2D.common.math.B2Transform'; Ue.prototype = { initialize: function (a, b) { var d = this.position; d.x = a.x; d.y = a.y; this.R.setM(b); }, setIdentity: function () { var a = this.position; a.x = 0; a.y = 0; this.R.setIdentity(); }, set: function (a) { var b = this.position, d = a.position; b.x = d.x; b.y = d.y; this.R.setM(a.R); }, getAngle: function () { return Math.atan2(this.R.col1.y, this.R.col1.x); }, multiply: function (a) { a = this.R.multiplyV(a); a.add(this.position); return a; }, multiplyInPlace: function (a) { this.R.multiplyVInPlace(a); a.add(this.position); }, position: null, R: null, __class__: Ue }; var yc = function () { this.col1 = new P(0, 1); this.col2 = new P(0, 1); }; k['box2D.common.math.B2Mat22'] = yc; yc.__name__ = 'box2D.common.math.B2Mat22'; yc.fromAngle = function (a) { var b = new yc(); b.set(a); return b; }; yc.fromVV = function (a, b) { var d = new yc(); d.setVV(a, b); return d; }; yc.prototype = { set: function (a) { var b = Math.cos(a); a = Math.sin(a); this.col1.x = b; this.col2.x = -a; this.col1.y = a; this.col2.y = b; }, setVV: function (a, b) { var d = this.col1; d.x = a.x; d.y = a.y; d = this.col2; d.x = b.x; d.y = b.y; }, copy: function () { var a = new yc(); a.setM(this); return a; }, setM: function (a) { var b = this.col1, d = a.col1; b.x = d.x; b.y = d.y; b = this.col2; d = a.col2; b.x = d.x; b.y = d.y; }, addM: function (a) { this.col1.x += a.col1.x; this.col1.y += a.col1.y; this.col2.x += a.col2.x; this.col2.y += a.col2.y; }, multiplyV: function (a) { return new P( this.col1.x * a.x + this.col2.x * a.y, this.col1.y * a.x + this.col2.y * a.y ); }, multiplyVInPlace: function (a) { var b = this.col1.x * a.x + this.col2.x * a.y, d = this.col1.y * a.x + this.col2.y * a.y; null == d && (d = 0); null == b && (b = 0); a.x = b; a.y = d; }, setIdentity: function () { this.col1.x = 1; this.col2.x = 0; this.col1.y = 0; this.col2.y = 1; }, setZero: function () { this.col1.x = 0; this.col2.x = 0; this.col1.y = 0; this.col2.y = 0; }, setAngle: function (a) { this.col1.x = Math.cos(a); this.col1.y = Math.sin(a); this.col2.x = -this.col1.y; this.col2.y = this.col1.x; }, getAngle: function () { return Math.atan2(this.col1.y, this.col1.x); }, getInverse: function (a) { var b = this.col1.x, d = this.col2.x, e = this.col1.y, f = this.col2.y, c = b * f - d * e; 0 != c && (c = 1 / c); a.col1.x = c * f; a.col2.x = -c * d; a.col1.y = -c * e; a.col2.y = c * b; return a; }, solve: function (a, b, d) { var e = this.col1.x, f = this.col2.x, c = this.col1.y, l = this.col2.y, q = e * l - f * c; 0 != q && (q = 1 / q); a.x = q * (l * b - f * d); a.y = q * (e * d - c * b); return a; }, abs: function () { this.col1.abs(); this.col2.abs(); }, col1: null, col2: null, __class__: yc }; var Kb = function () {}; k['box2D.collision.B2TimeOfImpact'] = Kb; Kb.__name__ = 'box2D.collision.B2TimeOfImpact'; Kb.timeOfImpact = function (a) { ++Kb.b2_toiCalls; var b = a.proxyA, d = a.proxyB, e = a.sweepA, f = a.sweepB; Z.b2Assert(e.t0 == f.t0); Z.b2Assert(1 - e.t0 > Number.MIN_VALUE); var c = b.m_radius + d.m_radius; a = a.tolerance; var l = 0, q = 0, y = 0; Kb.s_cache.count = 0; for (Kb.s_distanceInput.useRadii = !1; ; ) { e.getTransform(Kb.s_xfA, l); f.getTransform(Kb.s_xfB, l); Kb.s_distanceInput.proxyA = b; Kb.s_distanceInput.proxyB = d; Kb.s_distanceInput.transformA = Kb.s_xfA; Kb.s_distanceInput.transformB = Kb.s_xfB; Le.distance(Kb.s_distanceOutput, Kb.s_cache, Kb.s_distanceInput); if (0 >= Kb.s_distanceOutput.distance) { l = 1; break; } Kb.s_fcn.initialize(Kb.s_cache, b, Kb.s_xfA, d, Kb.s_xfB); var r = Kb.s_fcn.evaluate(Kb.s_xfA, Kb.s_xfB); if (0 >= r) { l = 1; break; } 0 == q && (y = r > c ? R.max(c - a, 0.75 * c) : R.max(r - a, 0.02 * c)); if (r - y < 0.5 * a) { if (0 == q) { l = 1; break; } break; } var h = l, p = l, k = 1; e.getTransform(Kb.s_xfA, k); f.getTransform(Kb.s_xfB, k); var n = Kb.s_fcn.evaluate(Kb.s_xfA, Kb.s_xfB); if (n >= y) { l = 1; break; } for (var u = 0; ; ) { var m = 0 != (u & 1) ? p + ((y - r) * (k - p)) / (n - r) : 0.5 * (p + k); e.getTransform(Kb.s_xfA, m); f.getTransform(Kb.s_xfB, m); var t = Kb.s_fcn.evaluate(Kb.s_xfA, Kb.s_xfB); if (R.abs(t - y) < 0.025 * a) { h = m; break; } t > y ? ((p = m), (r = t)) : ((k = m), (n = t)); ++u; ++Kb.b2_toiRootIters; if (50 == u) break; } Kb.b2_toiMaxRootIters = R.max(Kb.b2_toiMaxRootIters, u) | 0; if (h < (1 + 100 * Number.MIN_VALUE) * l) break; l = h; ++q; ++Kb.b2_toiIters; if (1e3 == q) break; } Kb.b2_toiMaxIters = R.max(Kb.b2_toiMaxIters, q) | 0; return l; }; var qj = function () { this.m_normal = new P(); this.m_points = []; for (var a = 0, b = Z.b2_maxManifoldPoints; a < b; ) { var d = a++; this.m_points[d] = new P(); } }; k['box2D.collision.B2WorldManifold'] = qj; qj.__name__ = 'box2D.collision.B2WorldManifold'; qj.prototype = { reset: function () { var a = this.m_normal; a.x = 0; for (var b = (a.y = 0), d = Z.b2_maxManifoldPoints; b < d; ) (a = b++), (a = this.m_points[a]), (a.x = 0), (a.y = 0); }, initialize: function (a, b, d, e, f) { if (0 != a.m_pointCount) { var c = this.m_normal; c.x = 0; for (var l = (c.y = 0), q = Z.b2_maxManifoldPoints; l < q; ) { var y = l++; c = this.m_points[y]; c.x = 0; c.y = 0; } switch (a.m_type) { case 1: var r = b.R; c = a.m_localPoint; l = b.position.x + r.col1.x * c.x + r.col2.x * c.y; b = b.position.y + r.col1.y * c.x + r.col2.y * c.y; r = e.R; c = a.m_points[0].m_localPoint; a = e.position.x + r.col1.x * c.x + r.col2.x * c.y; e = e.position.y + r.col1.y * c.x + r.col2.y * c.y; c = a - l; r = e - b; q = c * c + r * r; q > Number.MIN_VALUE * Number.MIN_VALUE ? ((q = Math.sqrt(q)), (this.m_normal.x = c / q), (this.m_normal.y = r / q)) : ((this.m_normal.x = 1), (this.m_normal.y = 0)); b += d * this.m_normal.y; e -= f * this.m_normal.y; this.m_points[0].x = 0.5 * (l + d * this.m_normal.x + (a - f * this.m_normal.x)); this.m_points[0].y = 0.5 * (b + e); break; case 2: r = b.R; c = a.m_localPlaneNormal; var h = r.col1.x * c.x + r.col2.x * c.y; var p = r.col1.y * c.x + r.col2.y * c.y; r = b.R; c = a.m_localPoint; var k = b.position.x + r.col1.x * c.x + r.col2.x * c.y; var n = b.position.y + r.col1.y * c.x + r.col2.y * c.y; this.m_normal.x = h; this.m_normal.y = p; l = 0; for (q = a.m_pointCount; l < q; ) { y = l++; r = e.R; c = a.m_points[y].m_localPoint; var u = e.position.x + r.col1.x * c.x + r.col2.x * c.y; c = e.position.y + r.col1.y * c.x + r.col2.y * c.y; this.m_points[y].x = u + 0.5 * (d - (u - k) * h - (c - n) * p - f) * h; this.m_points[y].y = c + 0.5 * (d - (u - k) * h - (c - n) * p - f) * p; } break; case 4: for ( r = e.R, c = a.m_localPlaneNormal, h = r.col1.x * c.x + r.col2.x * c.y, p = r.col1.y * c.x + r.col2.y * c.y, r = e.R, c = a.m_localPoint, k = e.position.x + r.col1.x * c.x + r.col2.x * c.y, n = e.position.y + r.col1.y * c.x + r.col2.y * c.y, this.m_normal.x = -h, this.m_normal.y = -p, l = 0, q = a.m_pointCount; l < q; ) (y = l++), (r = b.R), (c = a.m_points[y].m_localPoint), (u = b.position.x + r.col1.x * c.x + r.col2.x * c.y), (c = b.position.y + r.col1.y * c.x + r.col2.y * c.y), (this.m_points[y].x = u + 0.5 * (f - (u - k) * h - (c - n) * p - d) * h), (this.m_points[y].y = c + 0.5 * (f - (u - k) * h - (c - n) * p - d) * p); } } }, getPoint: function () { return 0 == this.m_points.length ? null : 1 == this.m_points.length ? this.m_points[0] : new P( (this.m_points[0].x + this.m_points[1].x) / 2, (this.m_points[0].y + this.m_points[1].y) / 2 ); }, m_normal: null, m_points: null, __class__: qj }; var Ub = function () { this.m_type = -1; this.m_radius = Z.b2_linearSlop; }; k['box2D.collision.shapes.B2Shape'] = Ub; Ub.__name__ = 'box2D.collision.shapes.B2Shape'; Ub.testOverlap = function (a, b, d, e) { Ub.initialized || ((Ub.distanceInput.proxyA = Ub.proxyA), (Ub.distanceInput.proxyB = Ub.proxyB), (Ub.distanceInput.useRadii = !0), (Ub.initialized = !0)); Ub.proxyA.set(a); Ub.proxyB.set(d); Ub.distanceInput.transformA = b; Ub.distanceInput.transformB = e; Ub.simplexCache.count = 0; Le.distance(Ub.distanceOutput, Ub.simplexCache, Ub.distanceInput); return Ub.distanceOutput.distance < 10 * Number.MIN_VALUE; }; Ub.prototype = { copy: function () { return null; }, set: function (a) { this.m_radius = a.m_radius; }, getType: function () { return this.m_type; }, testPoint: function (a, b) { return !1; }, rayCast: function (a, b, d) { return !1; }, computeAABB: function (a, b) {}, computeMass: function (a, b) {}, computeSubmergedArea: function (a, b, d, e) { return 0; }, m_type: null, m_radius: null, __class__: Ub }; var Lc = function (a) { null == a && (a = 0); Ub.call(this); this.m_p = new P(); this.m_type = 0; this.m_radius = a; }; k['box2D.collision.shapes.B2CircleShape'] = Lc; Lc.__name__ = 'box2D.collision.shapes.B2CircleShape'; Lc.__super__ = Ub; Lc.prototype = t(Ub.prototype, { copy: function () { var a = new Lc(); a.set(this); return a; }, set: function (a) { Ub.prototype.set.call(this, a); if (a instanceof Lc) { var b = w.__cast(a, Lc); a = this.m_p; b = b.m_p; a.x = b.x; a.y = b.y; } }, testPoint: function (a, b) { var d = a.R, e = a.position.x + (d.col1.x * this.m_p.x + d.col2.x * this.m_p.y); a = a.position.y + (d.col1.y * this.m_p.x + d.col2.y * this.m_p.y); e = b.x - e; a = b.y - a; return e * e + a * a <= this.m_radius * this.m_radius; }, rayCast: function (a, b, d) { var e = d.R, f = b.p1.x - (d.position.x + (e.col1.x * this.m_p.x + e.col2.x * this.m_p.y)); d = b.p1.y - (d.position.y + (e.col1.y * this.m_p.x + e.col2.y * this.m_p.y)); e = b.p2.x - b.p1.x; var c = b.p2.y - b.p1.y, l = f * e + d * c, q = e * e + c * c, y = l * l - q * (f * f + d * d - this.m_radius * this.m_radius); if (0 > y || q < Number.MIN_VALUE) return !1; l = -(l + Math.sqrt(y)); return 0 <= l && l <= b.maxFraction * q ? ((l /= q), (a.fraction = l), (a.normal.x = f + l * e), (a.normal.y = d + l * c), a.normal.normalize(), !0) : !1; }, computeAABB: function (a, b) { var d = b.R, e = b.position.x + (d.col1.x * this.m_p.x + d.col2.x * this.m_p.y); b = b.position.y + (d.col1.y * this.m_p.x + d.col2.y * this.m_p.y); d = a.lowerBound; var f = e - this.m_radius, c = b - this.m_radius; null == c && (c = 0); null == f && (f = 0); d.x = f; d.y = c; d = a.upperBound; f = e + this.m_radius; c = b + this.m_radius; null == c && (c = 0); null == f && (f = 0); d.x = f; d.y = c; }, computeMass: function (a, b) { a.mass = b * Z.b2_pi * this.m_radius * this.m_radius; b = a.center; var d = this.m_p; b.x = d.x; b.y = d.y; a.I = a.mass * (0.5 * this.m_radius * this.m_radius + (this.m_p.x * this.m_p.x + this.m_p.y * this.m_p.y)); }, computeSubmergedArea: function (a, b, d, e) { d = R.mulX(d, this.m_p, !0); var f = -(R.dot(a, d) - b); if (f < -this.m_radius + Number.MIN_VALUE) return 0; if (f > this.m_radius) return (e.x = d.x), (e.y = d.y), Math.PI * this.m_radius * this.m_radius; b = this.m_radius * this.m_radius; var c = f * f; f = b * (Math.asin(f / this.m_radius) + Math.PI / 2) + f * Math.sqrt(b - c); b = (-0.6666666666666666 * Math.pow(b - c, 1.5)) / f; e.x = d.x + a.x * b; e.y = d.y + a.y * b; return f; }, getLocalPosition: function () { return this.m_p; }, setLocalPosition: function (a) { var b = this.m_p; b.x = a.x; b.y = a.y; }, getRadius: function () { return this.m_radius; }, setRadius: function (a) { this.m_radius = a; }, m_p: null, __class__: Lc }); var vg = function (a, b) { Ub.call(this); this.s_supportVec = new P(); this.m_v1 = new P(); this.m_v2 = new P(); this.m_v0 = new P(); this.m_v3 = new P(); this.m_hasVertex3 = this.m_hasVertex0 = !1; this.m_coreV1 = new P(); this.m_coreV2 = new P(); this.m_normal = new P(); this.m_direction = new P(); this.m_cornerDir1 = new P(); this.m_cornerDir2 = new P(); this.m_type = 2; this.m_nextEdge = this.m_prevEdge = null; this.m_v1 = a; this.m_v2 = b; a = this.m_direction; b = this.m_v2.x - this.m_v1.x; var d = this.m_v2.y - this.m_v1.y; null == d && (d = 0); null == b && (b = 0); a.x = b; a.y = d; this.m_length = this.m_direction.normalize(); a = this.m_normal; b = this.m_direction.y; d = -this.m_direction.x; null == d && (d = 0); null == b && (b = 0); a.x = b; a.y = d; a = this.m_coreV1; b = -Z.b2_toiSlop * (this.m_normal.x - this.m_direction.x) + this.m_v1.x; d = -Z.b2_toiSlop * (this.m_normal.y - this.m_direction.y) + this.m_v1.y; null == d && (d = 0); null == b && (b = 0); a.x = b; a.y = d; a = this.m_coreV2; b = -Z.b2_toiSlop * (this.m_normal.x + this.m_direction.x) + this.m_v2.x; d = -Z.b2_toiSlop * (this.m_normal.y + this.m_direction.y) + this.m_v2.y; null == d && (d = 0); null == b && (b = 0); a.x = b; a.y = d; this.m_cornerDir1 = this.m_normal; a = this.m_cornerDir2; b = -this.m_normal.x; d = -this.m_normal.y; null == d && (d = 0); null == b && (b = 0); a.x = b; a.y = d; }; k['box2D.collision.shapes.B2EdgeShape'] = vg; vg.__name__ = 'box2D.collision.shapes.B2EdgeShape'; vg.__super__ = Ub; vg.prototype = t(Ub.prototype, { testPoint: function (a, b) { return !1; }, rayCast: function (a, b, d) { var e = b.p2.x - b.p1.x, f = b.p2.y - b.p1.y, c = d.R, l = d.position.x + (c.col1.x * this.m_v1.x + c.col2.x * this.m_v1.y), q = d.position.y + (c.col1.y * this.m_v1.x + c.col2.y * this.m_v1.y), y = d.position.y + (c.col1.y * this.m_v2.x + c.col2.y * this.m_v2.y) - q; d = -(d.position.x + (c.col1.x * this.m_v2.x + c.col2.x * this.m_v2.y) - l); c = 100 * Number.MIN_VALUE; var r = -(e * y + f * d); if (r > c) { l = b.p1.x - l; var h = b.p1.y - q; q = l * y + h * d; if ( 0 <= q && q <= b.maxFraction * r && ((b = -e * h + f * l), -c * r <= b && b <= r * (1 + c)) ) return ( (a.fraction = q / r), (b = Math.sqrt(y * y + d * d)), (a.normal.x = y / b), (a.normal.y = d / b), !0 ); } return !1; }, computeAABB: function (a, b) { var d = b.R, e = b.position.x + (d.col1.x * this.m_v1.x + d.col2.x * this.m_v1.y), f = b.position.y + (d.col1.y * this.m_v1.x + d.col2.y * this.m_v1.y), c = b.position.x + (d.col1.x * this.m_v2.x + d.col2.x * this.m_v2.y); b = b.position.y + (d.col1.y * this.m_v2.x + d.col2.y * this.m_v2.y); e < c ? ((a.lowerBound.x = e), (a.upperBound.x = c)) : ((a.lowerBound.x = c), (a.upperBound.x = e)); f < b ? ((a.lowerBound.y = f), (a.upperBound.y = b)) : ((a.lowerBound.y = b), (a.upperBound.y = f)); }, computeMass: function (a, b) { a.mass = 0; b = a.center; var d = this.m_v1; b.x = d.x; b.y = d.y; a.I = 0; }, computeSubmergedArea: function (a, b, d, e) { var f = new P(a.x * b, a.y * b), c = R.mulX(d, this.m_v1, !0); d = R.mulX(d, this.m_v2, !0); var l = R.dot(a, c) - b; a = R.dot(a, d) - b; if (0 < l) { if (0 < a) return 0; c.x = (-a / (l - a)) * c.x + (l / (l - a)) * d.x; c.y = (-a / (l - a)) * c.y + (l / (l - a)) * d.y; } else 0 < a && ((d.x = (-a / (l - a)) * c.x + (l / (l - a)) * d.x), (d.y = (-a / (l - a)) * c.y + (l / (l - a)) * d.y)); e.x = (f.x + c.x + d.x) / 3; e.y = (f.y + c.y + d.y) / 3; return 0.5 * ((c.x - f.x) * (d.y - f.y) - (c.y - f.y) * (d.x - f.x)); }, getLength: function () { return this.m_length; }, getVertex1: function () { return this.m_v1; }, getVertex2: function () { return this.m_v2; }, getCoreVertex1: function () { return this.m_coreV1; }, getCoreVertex2: function () { return this.m_coreV2; }, getNormalVector: function () { return this.m_normal; }, getDirectionVector: function () { return this.m_direction; }, getCorner1Vector: function () { return this.m_cornerDir1; }, getCorner2Vector: function () { return this.m_cornerDir2; }, corner1IsConvex: function () { return this.m_cornerConvex1; }, corner2IsConvex: function () { return this.m_cornerConvex2; }, getFirstVertex: function (a) { var b = a.R; return new P( a.position.x + (b.col1.x * this.m_coreV1.x + b.col2.x * this.m_coreV1.y), a.position.y + (b.col1.y * this.m_coreV1.x + b.col2.y * this.m_coreV1.y) ); }, getNextEdge: function () { return this.m_nextEdge; }, getPrevEdge: function () { return this.m_prevEdge; }, s_supportVec: null, support: function (a, b, d) { var e = a.R, f = a.position.x + (e.col1.x * this.m_coreV1.x + e.col2.x * this.m_coreV1.y), c = a.position.y + (e.col1.y * this.m_coreV1.x + e.col2.y * this.m_coreV1.y), l = a.position.x + (e.col1.x * this.m_coreV2.x + e.col2.x * this.m_coreV2.y); a = a.position.y + (e.col1.y * this.m_coreV2.x + e.col2.y * this.m_coreV2.y); f * b + c * d > l * b + a * d ? ((this.s_supportVec.x = f), (this.s_supportVec.y = c)) : ((this.s_supportVec.x = l), (this.s_supportVec.y = a)); return this.s_supportVec; }, copy: function () { var a = new vg(this.m_v1, this.m_v2); a.set(this); var b = w.__cast(a, vg), d = b.m_v0, e = this.m_v0; d.x = e.x; d.y = e.y; d = b.m_v3; e = this.m_v3; d.x = e.x; d.y = e.y; b.m_hasVertex0 = this.m_hasVertex0; b.m_hasVertex3 = this.m_hasVertex3; return a; }, setPrevEdge: function (a, b, d, e) { this.m_prevEdge = a; this.m_coreV1 = b; this.m_cornerDir1 = d; this.m_cornerConvex1 = e; }, setNextEdge: function (a, b, d, e) { this.m_nextEdge = a; this.m_coreV2 = b; this.m_cornerDir2 = d; this.m_cornerConvex2 = e; }, m_v1: null, m_v2: null, m_v0: null, m_v3: null, m_hasVertex0: null, m_hasVertex3: null, m_coreV1: null, m_coreV2: null, m_length: null, m_normal: null, m_direction: null, m_cornerDir1: null, m_cornerDir2: null, m_cornerConvex1: null, m_cornerConvex2: null, m_nextEdge: null, m_prevEdge: null, __class__: vg }); var rj = function () { this.mass = 0; this.center = new P(0, 0); this.I = 0; }; k['box2D.collision.shapes.B2MassData'] = rj; rj.__name__ = 'box2D.collision.shapes.B2MassData'; rj.prototype = { mass: null, center: null, I: null, __class__: rj }; var Eb = function () { Ub.call(this); this.m_type = 1; this.m_centroid = new P(); this.m_vertices = []; this.m_normals = []; }; k['box2D.collision.shapes.B2PolygonShape'] = Eb; Eb.__name__ = 'box2D.collision.shapes.B2PolygonShape'; Eb.asArray = function (a, b) { var d = new Eb(); d.setAsArray(a, b); return d; }; Eb.asVector = function (a, b) { var d = new Eb(); d.setAsVector(a, b); return d; }; Eb.asBox = function (a, b) { var d = new Eb(); d.setAsBox(a, b); return d; }; Eb.asOrientedBox = function (a, b, d, e) { null == e && (e = 0); var f = new Eb(); f.setAsOrientedBox(a, b, d, e); return f; }; Eb.asEdge = function (a, b) { var d = new Eb(); d.setAsEdge(a, b); return d; }; Eb.computeCentroid = function (a, b) { for (var d = new P(), e = 0, f = 0; f < b; ) { var c = f++, l = a[c]; c = c + 1 < b ? a[(c + 1) | 0] : a[0]; var q = 0.5 * ((l.x - 0) * (c.y - 0) - (l.y - 0) * (c.x - 0)); e += q; d.x += 0.3333333333333333 * q * (0 + l.x + c.x); d.y += 0.3333333333333333 * q * (0 + l.y + c.y); } d.x *= 1 / e; d.y *= 1 / e; return d; }; Eb.computeOBB = function (a, b, d) { for (var e, f = [], c = 0, l = d; c < l; ) (e = c++), (f[e] = b[e]); f[d] = f[0]; b = Number.MAX_VALUE; c = 1; for (l = d + 1; c < l; ) { e = c++; var q = f[(e - 1) | 0], y = f[e].x - q.x, r = f[e].y - q.y; e = Math.sqrt(y * y + r * r); y /= e; r /= e; for ( var h = -r, p = y, k = (e = Number.MAX_VALUE), n = -Number.MAX_VALUE, u = -Number.MAX_VALUE, m = 0, t = d; m < t; ) { var x = m++, w = f[x].x - q.x, v = f[x].y - q.y; x = y * w + r * v; w = h * w + p * v; x < e && (e = x); w < k && (k = w); x > n && (n = x); w > u && (u = w); } m = (n - e) * (u - k); m < 0.95 * b && ((b = m), (a.R.col1.x = y), (a.R.col1.y = r), (a.R.col2.x = h), (a.R.col2.y = p), (y = 0.5 * (e + n)), (r = 0.5 * (k + u)), (h = a.R), (a.center.x = q.x + (h.col1.x * y + h.col2.x * r)), (a.center.y = q.y + (h.col1.y * y + h.col2.y * r)), (a.extents.x = 0.5 * (n - e)), (a.extents.y = 0.5 * (u - k))); } }; Eb.__super__ = Ub; Eb.prototype = t(Ub.prototype, { copy: function () { var a = new Eb(); a.set(this); return a; }, set: function (a) { Ub.prototype.set.call(this, a); if (a instanceof Eb) { a = w.__cast(a, Eb); var b = this.m_centroid, d = a.m_centroid; b.x = d.x; b.y = d.y; this.m_vertexCount = a.m_vertexCount; this.reserve(this.m_vertexCount); for (var e = 0, f = this.m_vertexCount; e < f; ) { var c = e++; b = this.m_vertices[c]; d = a.m_vertices[c]; b.x = d.x; b.y = d.y; b = this.m_normals[c]; c = a.m_normals[c]; b.x = c.x; b.y = c.y; } } }, setAsArray: function (a, b) { null == b && (b = 0); for (var d = [], e = 0; e < a.length; ) { var f = a[e]; ++e; d.push(f); } this.setAsVector(d, b); }, setAsVector: function (a, b) { null == b && (b = 0); 0 == b && (b = a.length); Z.b2Assert(2 <= b); this.m_vertexCount = b; this.reserve(b); for (var d = 0, e = this.m_vertexCount; d < e; ) { b = d++; var f = this.m_vertices[b], c = a[b]; f.x = c.x; f.y = c.y; } d = 0; for (e = this.m_vertexCount; d < e; ) (b = d++), (a = R.subtractVVPooled( this.m_vertices[b + 1 < this.m_vertexCount ? b + 1 : 0], this.m_vertices[b] )), Z.b2Assert(a.lengthSquared() > Number.MIN_VALUE), (f = this.m_normals[b]), (c = R.crossVF(a, 1, !0)), (f.x = c.x), (f.y = c.y), this.m_normals[b].normalize(); this.m_centroid = Eb.computeCentroid(this.m_vertices, this.m_vertexCount); }, setAsBox: function (a, b) { this.m_vertexCount = 4; this.reserve(4); var d = this.m_vertices[0], e = -a, f = -b; null == f && (f = 0); null == e && (e = 0); d.x = e; d.y = f; d = this.m_vertices[1]; e = a; f = -b; null == f && (f = 0); null == e && (e = 0); d.x = e; d.y = f; d = this.m_vertices[2]; e = a; f = b; null == f && (f = 0); null == e && (e = 0); d.x = e; d.y = f; d = this.m_vertices[3]; e = -a; f = b; null == f && (f = 0); null == e && (e = 0); d.x = e; d.y = f; d = this.m_normals[0]; e = 0; f = -1; null == f && (f = 0); null == e && (e = 0); d.x = e; d.y = f; d = this.m_normals[1]; e = 1; f = 0; null == f && (f = 0); null == e && (e = 0); d.x = e; d.y = f; d = this.m_normals[2]; e = 0; f = 1; null == f && (f = 0); null == e && (e = 0); d.x = e; d.y = f; d = this.m_normals[3]; e = -1; f = 0; null == f && (f = 0); null == e && (e = 0); d.x = e; d.y = f; d = this.m_centroid; d.x = 0; d.y = 0; }, setAsOrientedBox: function (a, b, d, e) { null == e && (e = 0); this.m_vertexCount = 4; this.reserve(4); var f = this.m_vertices[0], c = -a, l = -b; null == l && (l = 0); null == c && (c = 0); f.x = c; f.y = l; f = this.m_vertices[1]; c = a; l = -b; null == l && (l = 0); null == c && (c = 0); f.x = c; f.y = l; f = this.m_vertices[2]; c = a; l = b; null == l && (l = 0); null == c && (c = 0); f.x = c; f.y = l; f = this.m_vertices[3]; c = -a; l = b; null == l && (l = 0); null == c && (c = 0); f.x = c; f.y = l; f = this.m_normals[0]; c = 0; l = -1; null == l && (l = 0); null == c && (c = 0); f.x = c; f.y = l; f = this.m_normals[1]; c = 1; l = 0; null == l && (l = 0); null == c && (c = 0); f.x = c; f.y = l; f = this.m_normals[2]; c = 0; l = 1; null == l && (l = 0); null == c && (c = 0); f.x = c; f.y = l; f = this.m_normals[3]; c = -1; l = 0; null == l && (l = 0); null == c && (c = 0); f.x = c; f.y = l; this.m_centroid = d; a = new Ue(); a.position = d; a.R.set(e); d = 0; for (e = this.m_vertexCount; d < e; ) (b = d++), (this.m_vertices[b] = R.mulX(a, this.m_vertices[b])), (this.m_normals[b] = R.mulMV(a.R, this.m_normals[b])); }, setAsEdge: function (a, b) { this.m_vertexCount = 2; this.reserve(2); var d = this.m_vertices[0]; d.x = a.x; d.y = a.y; d = this.m_vertices[1]; d.x = b.x; d.y = b.y; this.m_centroid.x = 0.5 * (a.x + b.x); this.m_centroid.y = 0.5 * (a.y + b.y); this.m_normals[0] = R.crossVF(R.subtractVV(b, a), 1); this.m_normals[0].normalize(); this.m_normals[1].x = -this.m_normals[0].x; this.m_normals[1].y = -this.m_normals[0].y; }, testPoint: function (a, b) { var d = a.R; var e = b.x - a.position.x; a = b.y - a.position.y; b = e * d.col1.x + a * d.col1.y; for (var f = e * d.col2.x + a * d.col2.y, c = 0, l = this.m_vertexCount; c < l; ) { var q = c++; d = this.m_vertices[q]; e = b - d.x; a = f - d.y; d = this.m_normals[q]; if (0 < d.x * e + d.y * a) return !1; } return !0; }, rayCast: function (a, b, d) { var e = 0, f = b.maxFraction, c = b.p1.x - d.position.x, l = b.p1.y - d.position.y, q = d.R, y = c * q.col1.x + l * q.col1.y, r = c * q.col2.x + l * q.col2.y; c = b.p2.x - d.position.x; l = b.p2.y - d.position.y; q = d.R; b = c * q.col1.x + l * q.col1.y - y; q = c * q.col2.x + l * q.col2.y - r; for (var h = -1, p = 0, k = this.m_vertexCount; p < k; ) { var n = p++; var u = this.m_vertices[n]; c = u.x - y; l = u.y - r; u = this.m_normals[n]; c = u.x * c + u.y * l; u = u.x * b + u.y * q; if (0 == u) { if (0 > c) return !1; } else 0 > u && c < e * u ? ((e = c / u), (h = n)) : 0 < u && c < f * u && (f = c / u); if (f < e - Number.MIN_VALUE) return !1; } return 0 <= h ? ((a.fraction = e), (q = d.R), (u = this.m_normals[h]), (a.normal.x = q.col1.x * u.x + q.col2.x * u.y), (a.normal.y = q.col1.y * u.x + q.col2.y * u.y), !0) : !1; }, computeAABB: function (a, b) { for ( var d = b.R, e = this.m_vertices[0], f = b.position.x + (d.col1.x * e.x + d.col2.x * e.y), c = b.position.y + (d.col1.y * e.x + d.col2.y * e.y), l = f, q = c, y = 1, r = this.m_vertexCount; y < r; ) { var h = y++; e = this.m_vertices[h]; h = b.position.x + (d.col1.x * e.x + d.col2.x * e.y); e = b.position.y + (d.col1.y * e.x + d.col2.y * e.y); f < h || (f = h); c < e || (c = e); l > h || (l = h); q > e || (q = e); } a.lowerBound.x = f - this.m_radius; a.lowerBound.y = c - this.m_radius; a.upperBound.x = l + this.m_radius; a.upperBound.y = q + this.m_radius; }, computeMass: function (a, b) { if (2 == this.m_vertexCount) (a.center.x = 0.5 * (this.m_vertices[0].x + this.m_vertices[1].x)), (a.center.y = 0.5 * (this.m_vertices[0].y + this.m_vertices[1].y)), (a.mass = 0), (a.I = 0); else { for (var d = 0, e = 0, f = 0, c = 0, l = 0, q = this.m_vertexCount; l < q; ) { var y = l++, r = this.m_vertices[y], h = y + 1 < this.m_vertexCount ? this.m_vertices[(y + 1) | 0] : this.m_vertices[0], p = r.x - 0, k = r.y - 0, n = h.x - 0, u = h.y - 0; y = p * u - k * n; var m = 0.5 * y; f += m; d += 0.3333333333333333 * m * (0 + r.x + h.x); e += 0.3333333333333333 * m * (0 + r.y + h.y); r = p; c += y * (0.3333333333333333 * (0.25 * (r * r + n * r + n * n) + (0 * r + 0 * n)) + 0.3333333333333333 * (0.25 * (k * k + u * k + u * u) + (0 * k + 0 * u))); } a.mass = b * f; l = a.center; d *= 1 / f; e *= 1 / f; null == e && (e = 0); null == d && (d = 0); l.x = d; l.y = e; a.I = b * c; } }, computeSubmergedArea: function (a, b, d, e) { var f = R.mulTMV(d.R, a, !0), c = b - R.dot(a, d.position), l = [], q = 0, y = -1; b = -1; for (var r = !1, h = 0, p = this.m_vertexCount; h < p; ) { a = h++; l[a] = R.dot(f, this.m_vertices[a]) - c; var k = l[a] < -Number.MIN_VALUE; 0 < a && (k ? r || ((y = a - 1), ++q) : r && ((b = a - 1), ++q)); r = k; } switch (q) { case 0: return r ? ((a = new rj()), this.computeMass(a, 1), (d = R.mulX(d, a.center)), (e.x = d.x), (e.y = d.y), a.mass) : 0; case 1: -1 == y ? (y = this.m_vertexCount - 1) : (b = this.m_vertexCount - 1); } a = (y + 1) % this.m_vertexCount; f = (b + 1) % this.m_vertexCount; c = (0 - l[y]) / (l[a] - l[y]); l = (0 - l[b]) / (l[f] - l[b]); y = new P( this.m_vertices[y].x * (1 - c) + this.m_vertices[a].x * c, this.m_vertices[y].y * (1 - c) + this.m_vertices[a].y * c ); l = new P( this.m_vertices[b].x * (1 - l) + this.m_vertices[f].x * l, this.m_vertices[b].y * (1 - l) + this.m_vertices[f].y * l ); b = 0; c = new P(); for (q = this.m_vertices[a]; a != f; ) (a = (a + 1) % this.m_vertexCount), (r = a == f ? l : this.m_vertices[a]), (h = 0.5 * ((q.x - y.x) * (r.y - y.y) - (q.y - y.y) * (r.x - y.x))), (b += h), (c.x += (h * (y.x + q.x + r.x)) / 3), (c.y += (h * (y.y + q.y + r.y)) / 3), (q = r); c.multiply(1 / b); d = R.mulX(d, c); e.x = d.x; e.y = d.y; return b; }, getVertexCount: function () { return this.m_vertexCount; }, getVertices: function () { return this.m_vertices; }, getNormals: function () { return this.m_normals; }, getSupport: function (a) { for ( var b = 0, d = this.m_vertices[0].x * a.x + this.m_vertices[0].y * a.y, e = 1, f = this.m_vertexCount; e < f; ) { var c = e++, l = this.m_vertices[c].x * a.x + this.m_vertices[c].y * a.y; l > d && ((b = c), (d = l)); } return b; }, getSupportVertex: function (a) { for ( var b = 0, d = this.m_vertices[0].x * a.x + this.m_vertices[0].y * a.y, e = 1, f = this.m_vertexCount; e < f; ) { var c = e++, l = this.m_vertices[c].x * a.x + this.m_vertices[c].y * a.y; l > d && ((b = c), (d = l)); } return this.m_vertices[b]; }, validate: function () { return !1; }, reserve: function (a) { for (var b = this.m_vertices.length; b < a; ) { var d = b++; this.m_vertices[d] = new P(); this.m_normals[d] = new P(); } }, m_centroid: null, m_vertices: null, m_normals: null, m_vertexCount: null, __class__: Eb }); var wk = function (a, b, d) { this._r = (255 * R.clamp(a, 0, 1)) | 0; this._g = (255 * R.clamp(b, 0, 1)) | 0; this._b = (255 * R.clamp(d, 0, 1)) | 0; }; k['box2D.common.B2Color'] = wk; wk.__name__ = 'box2D.common.B2Color'; wk.prototype = { set: function (a, b, d) { this._r = (255 * R.clamp(a, 0, 1)) | 0; this._g = (255 * R.clamp(b, 0, 1)) | 0; this._b = (255 * R.clamp(d, 0, 1)) | 0; }, r: null, g: null, b: null, color: null, set_r: function (a) { return (this._r = (255 * R.clamp(a, 0, 1)) | 0); }, set_g: function (a) { return (this._g = (255 * R.clamp(a, 0, 1)) | 0); }, set_b: function (a) { return (this._b = (255 * R.clamp(a, 0, 1)) | 0); }, get_color: function () { return (this._r << 16) | (this._g << 8) | this._b; }, _r: null, _g: null, _b: null, __class__: wk, __properties__: { get_color: 'get_color', set_b: 'set_b', set_g: 'set_g', set_r: 'set_r' } }; var Z = function () {}; k['box2D.common.B2Settings'] = Z; Z.__name__ = 'box2D.common.B2Settings'; Z.b2MixFriction = function (a, b) { return Math.sqrt(a * b); }; Z.b2MixRestitution = function (a, b) { return a > b ? a : b; }; Z.b2Assert = function (a) { if (!a) throw J.thrown('Assertion Failed'); }; var Jh = function (a, b, d) { this.col1 = new Ve(); this.col2 = new Ve(); this.col3 = new Ve(); null == a && null == b && null == d ? (this.col1.setZero(), this.col2.setZero(), this.col3.setZero()) : (this.col1.setV(a), this.col2.setV(b), this.col3.setV(d)); }; k['box2D.common.math.B2Mat33'] = Jh; Jh.__name__ = 'box2D.common.math.B2Mat33'; Jh.prototype = { setVVV: function (a, b, d) { this.col1.setV(a); this.col2.setV(b); this.col3.setV(d); }, copy: function () { return new Jh(this.col1, this.col2, this.col3); }, setM: function (a) { this.col1.setV(a.col1); this.col2.setV(a.col2); this.col3.setV(a.col3); }, addM: function (a) { this.col1.x += a.col1.x; this.col1.y += a.col1.y; this.col1.z += a.col1.z; this.col2.x += a.col2.x; this.col2.y += a.col2.y; this.col2.z += a.col2.z; this.col3.x += a.col3.x; this.col3.y += a.col3.y; this.col3.z += a.col3.z; }, setIdentity: function () { this.col1.x = 1; this.col2.x = 0; this.col3.x = 0; this.col1.y = 0; this.col2.y = 1; this.col3.y = 0; this.col1.z = 0; this.col2.z = 0; this.col3.z = 1; }, setZero: function () { this.col1.x = 0; this.col2.x = 0; this.col3.x = 0; this.col1.y = 0; this.col2.y = 0; this.col3.y = 0; this.col1.z = 0; this.col2.z = 0; this.col3.z = 0; }, solve22: function (a, b, d) { var e = this.col1.x, f = this.col2.x, c = this.col1.y, l = this.col2.y, q = e * l - f * c; 0 != q && (q = 1 / q); a.x = q * (l * b - f * d); a.y = q * (e * d - c * b); return a; }, solve33: function (a, b, d, e) { var f = this.col1.x, c = this.col1.y, l = this.col1.z, q = this.col2.x, y = this.col2.y, r = this.col2.z, h = this.col3.x, p = this.col3.y, k = this.col3.z, n = f * (y * k - r * p) + c * (r * h - q * k) + l * (q * p - y * h); 0 != n && (n = 1 / n); a.x = n * (b * (y * k - r * p) + d * (r * h - q * k) + e * (q * p - y * h)); a.y = n * (f * (d * k - e * p) + c * (e * h - b * k) + l * (b * p - d * h)); a.z = n * (f * (y * e - r * d) + c * (r * b - q * e) + l * (q * d - y * b)); return a; }, col1: null, col2: null, col3: null, __class__: Jh }; var R = function () {}; k['box2D.common.math.B2Math'] = R; R.__name__ = 'box2D.common.math.B2Math'; R.__properties__ = { get_MIN_VALUE: 'get_MIN_VALUE', get_MAX_VALUE: 'get_MAX_VALUE' }; R.isValid = function (a) { return isNaN(a) || -Infinity == a || Infinity == a ? !1 : !0; }; R.dot = function (a, b) { return a.x * b.x + a.y * b.y; }; R.crossVV = function (a, b) { return a.x * b.y - a.y * b.x; }; R.crossVF = function (a, b, d) { null == d && (d = !1); if (d) { d = P.getFromPool(); var e = b * a.y; a = -b * a.x; null == a && (a = 0); null == e && (e = 0); d.x = e; d.y = a; } else d = new P(b * a.y, -b * a.x); return d; }; R.crossFV = function (a, b, d) { null == d && (d = !1); if (d) { d = P.getFromPool(); var e = -a * b.y; a *= b.x; null == a && (a = 0); null == e && (e = 0); d.x = e; d.y = a; } else d = new P(-a * b.y, a * b.x); return d; }; R.mulMV = function (a, b, d) { null == d && (d = !1); if (d) { d = P.getFromPool(); var e = a.col1.x * b.x + a.col2.x * b.y; a = a.col1.y * b.x + a.col2.y * b.y; null == a && (a = 0); null == e && (e = 0); d.x = e; d.y = a; } else d = new P(a.col1.x * b.x + a.col2.x * b.y, a.col1.y * b.x + a.col2.y * b.y); return d; }; R.mulTMV = function (a, b, d) { null == d && (d = !1); if (d) { d = P.getFromPool(); var e = R.dot(b, a.col1); a = R.dot(b, a.col2); null == a && (a = 0); null == e && (e = 0); d.x = e; d.y = a; } else d = new P(R.dot(b, a.col1), R.dot(b, a.col2)); return d; }; R.mulX = function (a, b, d) { null == d && (d = !1); b = R.mulMV(a.R, b, d); b.x += a.position.x; b.y += a.position.y; return b; }; R.mulXT = function (a, b, d) { b = R.subtractVVPooled(b, a.position); d = b.x * a.R.col1.x + b.y * a.R.col1.y; b.y = b.x * a.R.col2.x + b.y * a.R.col2.y; b.x = d; return b; }; R.addVV = function (a, b) { return new P(a.x + b.x, a.y + b.y); }; R.subtractVV = function (a, b) { return new P(a.x - b.x, a.y - b.y); }; R.subtractVVPooled = function (a, b) { var d = P.getFromPool(), e = a.x - b.x; a = a.y - b.y; null == a && (a = 0); null == e && (e = 0); d.x = e; d.y = a; return d; }; R.distance = function (a, b) { var d = a.x - b.x; a = a.y - b.y; return Math.sqrt(d * d + a * a); }; R.distanceSquared = function (a, b) { var d = a.x - b.x; a = a.y - b.y; return d * d + a * a; }; R.mulFV = function (a, b) { return new P(a * b.x, a * b.y); }; R.addMM = function (a, b) { return yc.fromVV(R.addVV(a.col1, b.col1), R.addVV(a.col2, b.col2)); }; R.mulMM = function (a, b) { return yc.fromVV(R.mulMV(a, b.col1), R.mulMV(a, b.col2)); }; R.mulTMM = function (a, b) { var d = new P(R.dot(a.col1, b.col1), R.dot(a.col2, b.col1)); a = new P(R.dot(a.col1, b.col2), R.dot(a.col2, b.col2)); return yc.fromVV(d, a); }; R.abs = function (a) { return 0 < a ? a : -a; }; R.absV = function (a) { return new P(R.abs(a.x), R.abs(a.y)); }; R.absM = function (a) { return yc.fromVV(R.absV(a.col1), R.absV(a.col2)); }; R.min = function (a, b) { return a < b ? a : b; }; R.minV = function (a, b) { return new P(R.min(a.x, b.x), R.min(a.y, b.y)); }; R.max = function (a, b) { return a > b ? a : b; }; R.maxV = function (a, b) { return new P(R.max(a.x, b.x), R.max(a.y, b.y)); }; R.clamp = function (a, b, d) { return a < b ? b : a > d ? d : a; }; R.clampV = function (a, b, d) { return R.maxV(b, R.minV(a, d)); }; R.swap = function (a, b) { var d = a[0]; a[0] = b[0]; b[0] = d; }; R.random = function () { return 2 * Math.random() - 1; }; R.randomRange = function (a, b) { return (b - a) * Math.random() + a; }; R.nextPowerOfTwo = function (a) { a |= (a >> 1) & 2147483647; a |= (a >> 2) & 1073741823; a |= (a >> 4) & 268435455; a |= (a >> 8) & 16777215; return (a | ((a >> 16) & 65535)) + 1; }; R.isPowerOfTwo = function (a) { return 0 < a && 0 == (a & (a - 1)); }; R.get_MAX_VALUE = function () { return Number.MAX_VALUE; }; R.get_MIN_VALUE = function () { return Number.MIN_VALUE; }; var lh = function () { this.localCenter = new P(); this.c0 = new P(); this.c = new P(); }; k['box2D.common.math.B2Sweep'] = lh; lh.__name__ = 'box2D.common.math.B2Sweep'; lh.prototype = { set: function (a) { var b = this.localCenter, d = a.localCenter; b.x = d.x; b.y = d.y; b = this.c0; d = a.c0; b.x = d.x; b.y = d.y; b = this.c; d = a.c; b.x = d.x; b.y = d.y; this.a0 = a.a0; this.a = a.a; this.t0 = a.t0; }, copy: function () { var a = new lh(), b = a.localCenter, d = this.localCenter; b.x = d.x; b.y = d.y; b = a.c0; d = this.c0; b.x = d.x; b.y = d.y; b = a.c; d = this.c; b.x = d.x; b.y = d.y; a.a0 = this.a0; a.a = this.a; a.t0 = this.t0; return a; }, getTransform: function (a, b) { a.position.x = (1 - b) * this.c0.x + b * this.c.x; a.position.y = (1 - b) * this.c0.y + b * this.c.y; a.R.set((1 - b) * this.a0 + b * this.a); b = a.R; a.position.x -= b.col1.x * this.localCenter.x + b.col2.x * this.localCenter.y; a.position.y -= b.col1.y * this.localCenter.x + b.col2.y * this.localCenter.y; }, advance: function (a) { if (this.t0 < a && 1 - this.t0 > Number.MIN_VALUE) { var b = (a - this.t0) / (1 - this.t0); this.c0.x = (1 - b) * this.c0.x + b * this.c.x; this.c0.y = (1 - b) * this.c0.y + b * this.c.y; this.a0 = (1 - b) * this.a0 + b * this.a; this.t0 = a; } }, localCenter: null, c0: null, c: null, a0: null, a: null, t0: null, __class__: lh }; var Ve = function (a, b, d) { null == d && (d = 0); null == b && (b = 0); null == a && (a = 0); this.x = a; this.y = b; this.z = d; }; k['box2D.common.math.B2Vec3'] = Ve; Ve.__name__ = 'box2D.common.math.B2Vec3'; Ve.prototype = { setZero: function () { this.x = this.y = this.z = 0; }, set: function (a, b, d) { this.x = a; this.y = b; this.z = d; }, setV: function (a) { this.x = a.x; this.y = a.y; this.z = a.z; }, getNegative: function () { return new Ve(-this.x, -this.y, -this.z); }, negativeSelf: function () { this.x = -this.x; this.y = -this.y; this.z = -this.z; }, copy: function () { return new Ve(this.x, this.y, this.z); }, add: function (a) { this.x += a.x; this.y += a.y; this.z += a.z; }, subtract: function (a) { this.x -= a.x; this.y -= a.y; this.z -= a.z; }, multiply: function (a) { this.x *= a; this.y *= a; this.z *= a; }, x: null, y: null, z: null, __class__: Ve }; var va = function (a, b) { this.m_xf = new Ue(); this.m_sweep = new lh(); this.m_linearVelocity = new P(); this.m_force = new P(); this.m_flags = 0; a.bullet && (this.m_flags |= va.e_bulletFlag); a.fixedRotation && (this.m_flags |= va.e_fixedRotationFlag); a.allowSleep && (this.m_flags |= va.e_allowSleepFlag); a.awake && (this.m_flags |= va.e_awakeFlag); a.active && (this.m_flags |= va.e_activeFlag); a.ignoreGravity && (this.m_flags |= va.e_ignoreGravityFlag); this.m_world = b; b = this.m_xf.position; var d = a.position; b.x = d.x; b.y = d.y; this.m_xf.R.set(a.angle); b = this.m_sweep.localCenter; b.x = 0; b.y = 0; this.m_sweep.t0 = 1; this.m_sweep.a0 = this.m_sweep.a = a.angle; b = this.m_xf.R; d = this.m_sweep.localCenter; this.m_sweep.c.x = b.col1.x * d.x + b.col2.x * d.y; this.m_sweep.c.y = b.col1.y * d.x + b.col2.y * d.y; this.m_sweep.c.x += this.m_xf.position.x; this.m_sweep.c.y += this.m_xf.position.y; b = this.m_sweep.c0; d = this.m_sweep.c; b.x = d.x; b.y = d.y; this.m_contactList = this.m_controllerList = this.m_jointList = null; this.m_controllerCount = 0; this.m_next = this.m_prev = null; b = this.m_linearVelocity; d = a.linearVelocity; b.x = d.x; b.y = d.y; this.m_angularVelocity = a.angularVelocity; this.m_linearDamping = a.linearDamping; this.m_angularDamping = a.angularDamping; b = this.m_force; var e = (d = 0); null == e && (e = 0); null == d && (d = 0); b.x = d; b.y = e; this.m_sleepTime = this.m_torque = 0; this.m_type = a.type; this.m_invMass = this.m_type == va.b2_dynamicBody ? (this.m_mass = 1) : (this.m_mass = 0); this.m_invI = this.m_I = 0; this.m_inertiaScale = a.inertiaScale; this.m_userData = a.userData; this.m_fixtureList = null; this.m_fixtureCount = 0; this.groupID = a.groupID; this.origin = new P(); this.size = new P(); }; k['box2D.dynamics.B2Body'] = va; va.__name__ = 'box2D.dynamics.B2Body'; va.prototype = { connectEdges: function (a, b, d) { var e = Math.atan2(b.getDirectionVector().y, b.getDirectionVector().x); d = R.mulFV(Math.tan(0.5 * (e - d)), b.getDirectionVector()); d = R.subtractVV(d, b.getNormalVector()); d = R.mulFV(Z.b2_toiSlop, d); d = R.addVV(d, b.getVertex1()); var f = R.addVV(a.getDirectionVector(), b.getDirectionVector()); f.normalize(); var c = 0 < R.dot(a.getDirectionVector(), b.getNormalVector()); a.setNextEdge(b, d, f, c); b.setPrevEdge(a, d, f, c); return e; }, createFixture: function (a) { if (1 == this.m_world.isLocked()) return null; var b = new Gf(); b.create(this, this.m_xf, a); 0 != (this.m_flags & va.e_activeFlag) && b.createProxy(this.m_world.m_contactManager.m_broadPhase, this.m_xf); b.m_next = this.m_fixtureList; this.m_fixtureList = b; ++this.m_fixtureCount; b.m_body = this; 0 < b.m_density && this.resetMassData(); this.m_world.m_flags |= cc.e_newFixture; return b; }, createFixture2: function (a, b) { null == b && (b = 0); var d = new Hf(); d.shape = a; d.density = b; return this.createFixture(d); }, DestroyFixture: function (a) { if (1 != this.m_world.isLocked()) { for (var b = this.m_fixtureList, d = null; null != b; ) { if (b == a) { null != d ? (d.m_next = a.m_next) : (this.m_fixtureList = a.m_next); break; } d = b; b = b.m_next; } for (b = this.m_contactList; null != b; ) { d = b.contact; b = b.next; var e = d.getFixtureA(), f = d.getFixtureB(); (a != e && a != f) || this.m_world.m_contactManager.destroy(d); } 0 != (this.m_flags & va.e_activeFlag) && a.destroyProxy(this.m_world.m_contactManager.m_broadPhase); a.destroy(); a.m_body = null; a.m_next = null; --this.m_fixtureCount; this.resetMassData(); } }, setPositionAndAngle: function (a, b) { if (1 != this.m_world.isLocked()) { this.m_xf.R.set(b); var d = this.m_xf.position; d.x = a.x; d.y = a.y; d = this.m_xf.R; a = this.m_sweep.localCenter; this.m_sweep.c.x = d.col1.x * a.x + d.col2.x * a.y; this.m_sweep.c.y = d.col1.y * a.x + d.col2.y * a.y; this.m_sweep.c.x += this.m_xf.position.x; this.m_sweep.c.y += this.m_xf.position.y; d = this.m_sweep.c0; a = this.m_sweep.c; d.x = a.x; d.y = a.y; this.m_sweep.a0 = this.m_sweep.a = b; b = this.m_world.m_contactManager.m_broadPhase; for (d = this.m_fixtureList; null != d; ) d.synchronize(b, this.m_xf, this.m_xf), (d = d.m_next); this.m_world.m_contactManager.findNewContacts(); } }, setPositionFast: function (a) { if (1 != this.m_world.isLocked()) { var b = this.m_xf.position; b.x = a.x; b.y = a.y; b = this.m_xf.R; a = this.m_sweep.localCenter; this.m_sweep.c.x = b.col1.x * a.x + b.col2.x * a.y; this.m_sweep.c.y = b.col1.y * a.x + b.col2.y * a.y; this.m_sweep.c.x += this.m_xf.position.x; this.m_sweep.c.y += this.m_xf.position.y; b = this.m_sweep.c0; a = this.m_sweep.c; b.x = a.x; b.y = a.y; } }, setTransform: function (a) { this.setPositionAndAngle(a.position, a.getAngle()); }, getTransform: function () { return this.m_xf; }, getPosition: function () { return this.m_xf.position; }, setPosition: function (a) { this.setPositionAndAngle(a, this.getAngle()); }, getAngle: function () { return this.m_sweep.a; }, setAngle: function (a) { this.setPositionAndAngle(this.getPosition(), a); }, getWorldCenter: function () { return this.m_sweep.c; }, getLocalCenter: function () { return this.m_sweep.localCenter; }, setLinearVelocity: function (a) { if (this.m_type != va.b2_staticBody) { var b = this.m_linearVelocity; b.x = a.x; b.y = a.y; } }, getLinearVelocity: function () { return this.m_linearVelocity; }, setAngularVelocity: function (a) { this.m_type != va.b2_staticBody && (this.m_angularVelocity = a); }, getAngularVelocity: function () { return this.m_angularVelocity; }, getDefinition: function () { var a = new pi(); a.type = this.getType(); a.allowSleep = (this.m_flags & va.e_allowSleepFlag) == va.e_allowSleepFlag; a.angle = this.getAngle(); a.angularDamping = this.m_angularDamping; a.angularVelocity = this.m_angularVelocity; a.fixedRotation = (this.m_flags & va.e_fixedRotationFlag) == va.e_fixedRotationFlag; a.bullet = (this.m_flags & va.e_bulletFlag) == va.e_bulletFlag; a.awake = (this.m_flags & va.e_awakeFlag) == va.e_awakeFlag; a.linearDamping = this.m_linearDamping; var b = a.linearVelocity, d = this.getLinearVelocity(); b.x = d.x; b.y = d.y; a.position = this.getPosition(); a.userData = this.getUserData(); return a; }, applyForce: function (a, b) { this.m_type == va.b2_dynamicBody && (0 == this.isAwake() && this.setAwake(!0), (this.m_force.x += a.x), (this.m_force.y += a.y), (this.m_torque += (b.x - this.m_sweep.c.x) * a.y - (b.y - this.m_sweep.c.y) * a.x)); }, applyTorque: function (a) { this.m_type == va.b2_dynamicBody && (0 == this.isAwake() && this.setAwake(!0), (this.m_torque += a)); }, applyImpulse: function (a, b) { this.m_type == va.b2_dynamicBody && (0 == this.isAwake() && this.setAwake(!0), (this.m_linearVelocity.x += this.m_invMass * a.x), (this.m_linearVelocity.y += this.m_invMass * a.y), (this.m_angularVelocity += this.m_invI * ((b.x - this.m_sweep.c.x) * a.y - (b.y - this.m_sweep.c.y) * a.x))); }, split: function (a) { for ( var b = this.getLinearVelocity().copy(), d = this.getAngularVelocity(), e = this.getWorldCenter(), f = this.m_world.createBody(this.getDefinition()), c = null, l = this.m_fixtureList; null != l; ) if (a(l)) { var q = l.m_next; null != c ? (c.m_next = q) : (this.m_fixtureList = q); this.m_fixtureCount--; l.m_next = f.m_fixtureList; f.m_fixtureList = l; f.m_fixtureCount++; l.m_body = f; l = q; } else (c = l), (l = l.m_next); this.resetMassData(); f.resetMassData(); c = this.getWorldCenter(); a = f.getWorldCenter(); c = R.addVV(b, R.crossFV(d, R.subtractVV(c, e))); b = R.addVV(b, R.crossFV(d, R.subtractVV(a, e))); this.setLinearVelocity(c); f.setLinearVelocity(b); this.setAngularVelocity(d); f.setAngularVelocity(d); this.synchronizeFixtures(); f.synchronizeFixtures(); return f; }, merge: function (a) { for (var b = a.m_fixtureList; null != b; ) { var d = b.m_next; a.m_fixtureCount--; b.m_next = this.m_fixtureList; this.m_fixtureList = b; this.m_fixtureCount++; b.m_body = a; b = d; } this.m_fixtureCount = 0; this.getWorldCenter(); a.getWorldCenter(); this.getLinearVelocity().copy(); a.getLinearVelocity().copy(); this.getAngularVelocity(); a.getAngularVelocity(); this.resetMassData(); this.synchronizeFixtures(); }, getMass: function () { return this.m_mass; }, getInertia: function () { return this.m_I; }, getMassData: function (a) { a.mass = this.m_mass; a.I = this.m_I; a = a.center; var b = this.m_sweep.localCenter; a.x = b.x; a.y = b.y; }, setMassData: function (a) { Z.b2Assert(0 == this.m_world.isLocked()); if (1 != this.m_world.isLocked() && this.m_type == va.b2_dynamicBody) { this.m_invI = this.m_I = this.m_invMass = 0; this.m_mass = a.mass; 0 >= this.m_mass && (this.m_mass = 1); this.m_invMass = 1 / this.m_mass; 0 < a.I && 0 == (this.m_flags & va.e_fixedRotationFlag) && ((this.m_I = a.I - this.m_mass * (a.center.x * a.center.x + a.center.y * a.center.y)), (this.m_invI = 1 / this.m_I)); var b = this.m_sweep.c.copy(), d = this.m_sweep.localCenter; a = a.center; d.x = a.x; d.y = a.y; d = this.m_sweep.c0; a = R.mulX(this.m_xf, this.m_sweep.localCenter); d.x = a.x; d.y = a.y; d = this.m_sweep.c; a = this.m_sweep.c0; d.x = a.x; d.y = a.y; this.m_linearVelocity.x += this.m_angularVelocity * -(this.m_sweep.c.y - b.y); this.m_linearVelocity.y += this.m_angularVelocity * (this.m_sweep.c.x - b.x); } }, resetMassData: function () { this.m_invI = this.m_I = this.m_invMass = this.m_mass = 0; var a = this.m_sweep.localCenter; a.x = 0; a.y = 0; if (this.m_type != va.b2_staticBody && this.m_type != va.b2_kinematicBody) { var b = P.make(0, 0); for (a = this.m_fixtureList; null != a; ) if (0 != a.m_density) { var d = a.getMassData(); this.m_mass += d.mass; b.x += d.center.x * d.mass; b.y += d.center.y * d.mass; this.m_I += d.I; a = a.m_next; } 0 < this.m_mass ? ((this.m_invMass = 1 / this.m_mass), (b.x *= this.m_invMass), (b.y *= this.m_invMass)) : (this.m_invMass = this.m_mass = 1); 0 < this.m_I && 0 == (this.m_flags & va.e_fixedRotationFlag) ? ((this.m_I -= this.m_mass * (b.x * b.x + b.y * b.y)), (this.m_I *= this.m_inertiaScale), Z.b2Assert(0 < this.m_I), (this.m_invI = 1 / this.m_I)) : (this.m_invI = this.m_I = 0); d = this.m_sweep.c.copy(); a = this.m_sweep.localCenter; a.x = b.x; a.y = b.y; a = this.m_sweep.c0; b = R.mulX(this.m_xf, this.m_sweep.localCenter); a.x = b.x; a.y = b.y; a = this.m_sweep.c; b = this.m_sweep.c0; a.x = b.x; a.y = b.y; this.m_linearVelocity.x += this.m_angularVelocity * -(this.m_sweep.c.y - d.y); this.m_linearVelocity.y += this.m_angularVelocity * (this.m_sweep.c.x - d.x); } }, getWorldPoint: function (a) { var b = this.m_xf.R; a = new P(b.col1.x * a.x + b.col2.x * a.y, b.col1.y * a.x + b.col2.y * a.y); a.x += this.m_xf.position.x; a.y += this.m_xf.position.y; return a; }, getWorldVector: function (a) { return R.mulMV(this.m_xf.R, a); }, getLocalPoint: function (a) { return R.mulXT(this.m_xf, a); }, getLocalVector: function (a) { return R.mulTMV(this.m_xf.R, a); }, getLinearVelocityFromWorldPoint: function (a) { return new P( this.m_linearVelocity.x - this.m_angularVelocity * (a.y - this.m_sweep.c.y), this.m_linearVelocity.y + this.m_angularVelocity * (a.x - this.m_sweep.c.x) ); }, getLinearVelocityFromLocalPoint: function (a) { var b = this.m_xf.R; a = new P(b.col1.x * a.x + b.col2.x * a.y, b.col1.y * a.x + b.col2.y * a.y); a.x += this.m_xf.position.x; a.y += this.m_xf.position.y; return new P( this.m_linearVelocity.x - this.m_angularVelocity * (a.y - this.m_sweep.c.y), this.m_linearVelocity.y + this.m_angularVelocity * (a.x - this.m_sweep.c.x) ); }, getLinearDamping: function () { return this.m_linearDamping; }, setLinearDamping: function (a) { this.m_linearDamping = a; }, getAngularDamping: function () { return this.m_angularDamping; }, setAngularDamping: function (a) { this.m_angularDamping = a; }, setType: function (a) { if (this.m_type != a) for ( this.m_type = a, this.resetMassData(), this.m_type == va.b2_staticBody && ((a = this.m_linearVelocity), (a.x = 0), (this.m_angularVelocity = a.y = 0)), this.setAwake(!0), a = this.m_force, a.x = 0, this.m_torque = a.y = 0, a = this.m_contactList; null != a; ) a.contact.flagForFiltering(), (a = a.next); }, getType: function () { return this.m_type; }, setBullet: function (a) { this.m_flags = a ? this.m_flags | va.e_bulletFlag : this.m_flags & ~va.e_bulletFlag; }, isBullet: function () { return (this.m_flags & va.e_bulletFlag) == va.e_bulletFlag; }, setSleepingAllowed: function (a) { a ? (this.m_flags |= va.e_allowSleepFlag) : ((this.m_flags &= ~va.e_allowSleepFlag), this.setAwake(!0)); }, setAwake: function (a) { a ? ((this.m_flags |= va.e_awakeFlag), (this.m_sleepTime = 0)) : ((this.m_flags &= ~va.e_awakeFlag), (this.m_sleepTime = 0), (a = this.m_linearVelocity), (a.x = 0), (this.m_angularVelocity = a.y = 0), (a = this.m_force), (a.x = 0), (this.m_torque = a.y = 0)); }, isAwake: function () { return (this.m_flags & va.e_awakeFlag) == va.e_awakeFlag; }, setFixedRotation: function (a) { this.m_flags = a ? this.m_flags | va.e_fixedRotationFlag : this.m_flags & ~va.e_fixedRotationFlag; this.resetMassData(); }, isFixedRotation: function () { return (this.m_flags & va.e_fixedRotationFlag) == va.e_fixedRotationFlag; }, setActive: function (a) { if (a != this.isActive()) { var b; if (a) for ( this.m_flags |= va.e_activeFlag, a = this.m_world.m_contactManager.m_broadPhase, b = this.m_fixtureList; null != b; ) b.createProxy(a, this.m_xf), (b = b.m_next); else { this.m_flags &= ~va.e_activeFlag; a = this.m_world.m_contactManager.m_broadPhase; for (b = this.m_fixtureList; null != b; ) b.destroyProxy(a), (b = b.m_next); for (a = this.m_contactList; null != a; ) (b = a), (a = a.next), this.m_world.m_contactManager.destroy(b.contact); this.m_contactList = null; } } }, isActive: function () { return (this.m_flags & va.e_activeFlag) == va.e_activeFlag; }, isSleepingAllowed: function () { return (this.m_flags & va.e_allowSleepFlag) == va.e_allowSleepFlag; }, getFixtureList: function () { return this.m_fixtureList; }, getJointList: function () { return this.m_jointList; }, getControllerList: function () { return this.m_controllerList; }, getContactList: function () { return this.m_contactList; }, getNext: function () { return this.m_next; }, getUserData: function () { return this.m_userData; }, setUserData: function (a) { this.m_userData = a; }, getWorld: function () { return this.m_world; }, setFriction: function (a) { for (var b = this.m_fixtureList; null != b; ) (b.m_friction = a), (b = b.m_next); }, setBounciness: function (a) { for (var b = this.m_fixtureList; null != b; ) (b.m_restitution = a), (b = b.m_next); }, setPaused: function (a) { this.m_flags = a ? this.m_flags | va.e_pausedFlag : this.m_flags & ~va.e_pausedFlag; }, isPaused: function () { return (this.m_flags & va.e_pausedFlag) == va.e_pausedFlag; }, setIgnoreGravity: function (a) { this.m_flags = a ? this.m_flags | va.e_ignoreGravityFlag : this.m_flags & ~va.e_ignoreGravityFlag; }, isIgnoringGravity: function () { return (this.m_flags & va.e_ignoreGravityFlag) == va.e_ignoreGravityFlag; }, setAlwaysActive: function (a) { this.m_flags = a ? this.m_flags | va.e_alwaysActiveFlag : this.m_flags & ~va.e_alwaysActiveFlag; }, isAlwaysActive: function () { return (this.m_flags & va.e_alwaysActiveFlag) == va.e_alwaysActiveFlag; }, synchronizeFixtures: function () { var a = va.s_xf1; a.R.set(this.m_sweep.a0); var b = a.R, d = this.m_sweep.localCenter; a.position.x = this.m_sweep.c0.x - (b.col1.x * d.x + b.col2.x * d.y); a.position.y = this.m_sweep.c0.y - (b.col1.y * d.x + b.col2.y * d.y); b = this.m_world.m_contactManager.m_broadPhase; for (d = this.m_fixtureList; null != d; ) d.synchronize(b, a, this.m_xf), (d = d.m_next); }, synchronizeTransform: function () { this.m_xf.R.set(this.m_sweep.a); var a = this.m_xf.R, b = this.m_sweep.localCenter; this.m_xf.position.x = this.m_sweep.c.x - (a.col1.x * b.x + a.col2.x * b.y); this.m_xf.position.y = this.m_sweep.c.y - (a.col1.y * b.x + a.col2.y * b.y); }, shouldCollide: function (a) { if (this.m_type != va.b2_dynamicBody && a.m_type != va.b2_dynamicBody) return !1; for (var b = this.m_jointList; null != b; ) { if (b.other == a && 0 == b.joint.m_collideConnected) return !1; b = b.next; } return !0; }, advance: function (a) { this.m_sweep.advance(a); a = this.m_sweep.c; var b = this.m_sweep.c0; a.x = b.x; a.y = b.y; this.m_sweep.a = this.m_sweep.a0; this.synchronizeTransform(); }, m_flags: null, m_type: null, m_islandIndex: null, m_xf: null, m_sweep: null, m_linearVelocity: null, m_angularVelocity: null, m_force: null, m_torque: null, m_world: null, m_prev: null, m_next: null, m_fixtureList: null, m_fixtureCount: null, m_controllerList: null, m_controllerCount: null, m_jointList: null, m_contactList: null, m_mass: null, m_invMass: null, m_I: null, m_invI: null, m_inertiaScale: null, m_linearDamping: null, m_angularDamping: null, m_sleepTime: null, m_userData: null, groupID: null, origin: null, size: null, __class__: va }; var pi = function () { this.position = new P(); this.linearVelocity = new P(); this.userData = null; this.angularDamping = this.linearDamping = this.angularVelocity = this.angle = 0; this.awake = this.allowSleep = !0; this.bullet = this.fixedRotation = !1; this.type = va.b2_staticBody; this.active = !0; this.inertiaScale = 1; this.groupID = 3; }; k['box2D.dynamics.B2BodyDef'] = pi; pi.__name__ = 'box2D.dynamics.B2BodyDef'; pi.prototype = { type: null, position: null, angle: null, linearVelocity: null, angularVelocity: null, linearDamping: null, angularDamping: null, allowSleep: null, awake: null, fixedRotation: null, bullet: null, active: null, userData: null, inertiaScale: null, groupID: null, ignoreGravity: null, friction: null, bounciness: null, mass: null, aMass: null, __class__: pi }; var sj = function () {}; k['box2D.dynamics.B2ContactFilter'] = sj; sj.__name__ = 'box2D.dynamics.B2ContactFilter'; sj.prototype = { shouldCollide: function (a, b) { var d = a.m_body.groupID, e = b.m_body.groupID; a = a.groupID; b = b.groupID; -1e3 != a && (d = a); -1e3 != b && (e = b); return -1 == d || -1 == e ? !1 : -2 == d || -2 == e ? 1 == d || 1 == e ? !1 : !0 : ra.collisionMap[d][e]; }, rayCollide: function (a, b) { return null == a ? !0 : this.shouldCollide(w.__cast(a, Gf), b); }, __class__: sj }; var Bn = function () { this.normalImpulses = []; this.tangentImpulses = []; }; k['box2D.dynamics.B2ContactImpulse'] = Bn; Bn.__name__ = 'box2D.dynamics.B2ContactImpulse'; Bn.prototype = { normalImpulses: null, tangentImpulses: null, __class__: Bn }; var Ng = function () {}; k['box2D.dynamics.B2ContactListener'] = Ng; Ng.__name__ = 'box2D.dynamics.B2ContactListener'; Ng.prototype = { beginContact: function (a) { 2147483647 < Ng.KEY_LOCK && (Ng.KEY_LOCK = -2147483648); a.key = Ng.KEY_LOCK++; var b = a.getFixtureA().getUserData(), d = a.getFixtureB().getUserData(), e = b instanceof pd, f = d instanceof pd; !e || f || d instanceof Og ? !f || e || b instanceof Og ? (null != b.contacts && (b.contacts.set(a.key, a), b.contactCount++), null != d.contacts && (d.contacts.set(a.key, a), d.contactCount++)) : (w.__cast(d, pd).addActor(b), null != b.regionContacts && b.regionContacts.set(a.key, a)) : (w.__cast(b, pd).addActor(d), null != d.regionContacts && d.regionContacts.set(a.key, a)); }, endContact: function (a) { var b = a.getFixtureA().getUserData(), d = a.getFixtureB().getUserData(), e = b instanceof pd, f = d instanceof pd; if (e && !f) { e = !1; null != d.regionContacts && d.regionContacts.unset(a.key); for (a = d.regionContacts.iterator(); a.hasNext(); ) { f = a.next(); if ( f.getFixtureA().getUserData() instanceof pd && f.getFixtureA().getUserData() == b ) { e = !0; break; } if ( f.getFixtureB().getUserData() instanceof pd && f.getFixtureB().getUserData() == b ) { e = !0; break; } } (e && !d.recycled) || w.__cast(b, pd).removeActor(d); } else if (f && !e) { e = !1; null != b.regionContacts && b.regionContacts.unset(a.key); for (a = b.regionContacts.iterator(); a.hasNext(); ) { f = a.next(); if ( f.getFixtureA().getUserData() instanceof pd && f.getFixtureA().getUserData() == d ) { e = !0; break; } if ( f.getFixtureB().getUserData() instanceof pd && f.getFixtureB().getUserData() == d ) { e = !0; break; } } (e && !b.recycled) || w.__cast(d, pd).removeActor(b); } else { if (null != b.collisions) { e = b.collisions; f = a.key; var c = e.mH, l = c.mHash[(73856093 * f) & c.mMask]; if (-1 == l) f = -2147483648; else if (((c = c.mData), c[l] == f)) f = c[l + 1]; else { var q = -2147483648; for (l = c[l + 2]; -1 != l; ) { if (c[l] == f) { q = c[l + 1]; break; } l = c[l + 2]; } f = q; } c = -2147483648 == f ? null : e.mVals[f]; if (null != c) for (b.collisions.unset(a.key), b.collisionsCount--; 0 < c.points.length; ) Od.free(c.points.pop()); } null != b.contacts && b.contacts.unset(a.key) && b.contactCount--; if (null != d.collisions) { e = d.collisions; f = a.key; c = e.mH; l = c.mHash[(73856093 * f) & c.mMask]; if (-1 == l) f = -2147483648; else if (((c = c.mData), c[l] == f)) f = c[l + 1]; else { q = -2147483648; for (l = c[l + 2]; -1 != l; ) { if (c[l] == f) { q = c[l + 1]; break; } l = c[l + 2]; } f = q; } c = -2147483648 == f ? null : e.mVals[f]; if (null != c) for (d.collisions.unset(a.key), d.collisionsCount--; 0 < c.points.length; ) Od.free(c.points.pop()); } null != d.contacts && d.contacts.unset(a.key) && d.contactCount--; } }, preSolve: function (a, b) { uc.preSolve(a, b); }, postSolve: function (a, b) {}, __class__: Ng }; var xk = function () { this.m_world = null; this.m_contactCount = 0; this.m_contactFilter = sj.b2_defaultFilter; this.m_contactListener = Ng.b2_defaultListener; this.m_contactFactory = new Cn(this.m_allocator); this.m_broadPhase = new uk(); }; k['box2D.dynamics.B2ContactManager'] = xk; xk.__name__ = 'box2D.dynamics.B2ContactManager'; xk.prototype = { addPair: function (a, b) { var d = a.getBody(), e = b.getBody(); if (d != e) { for (var f = e.getContactList(); null != f; ) { if (f.other == d) { var c = f.contact.getFixtureA(), l = f.contact.getFixtureB(); if ((c == a && l == b) || (c == b && l == a)) return; } f = f.next; } 0 != e.shouldCollide(d) && 0 != this.m_contactFilter.shouldCollide(a, b) && ((f = this.m_contactFactory.create(a, b)), (a = f.getFixtureA()), (b = f.getFixtureB()), (d = a.m_body), (e = b.m_body), (f.m_prev = null), (f.m_next = this.m_world.m_contactList), null != this.m_world.m_contactList && (this.m_world.m_contactList.m_prev = f), (this.m_world.m_contactList = f), (f.m_nodeA.contact = f), (f.m_nodeA.other = e), (f.m_nodeA.prev = null), (f.m_nodeA.next = d.m_contactList), null != d.m_contactList && (d.m_contactList.prev = f.m_nodeA), (d.m_contactList = f.m_nodeA), (f.m_nodeB.contact = f), (f.m_nodeB.other = d), (f.m_nodeB.prev = null), (f.m_nodeB.next = e.m_contactList), null != e.m_contactList && (e.m_contactList.prev = f.m_nodeB), (e.m_contactList = f.m_nodeB), ++this.m_world.m_contactCount); } }, findNewContacts: function () { this.m_broadPhase.updatePairs(this); }, destroy: function (a) { var b = a.getFixtureA(), d = a.getFixtureB(); b = b.getBody(); d = d.getBody(); a.isTouching() && this.m_contactListener.endContact(a); null != a.m_prev && (a.m_prev.m_next = a.m_next); null != a.m_next && (a.m_next.m_prev = a.m_prev); a == this.m_world.m_contactList && (this.m_world.m_contactList = a.m_next); null != a.m_nodeA.prev && (a.m_nodeA.prev.next = a.m_nodeA.next); null != a.m_nodeA.next && (a.m_nodeA.next.prev = a.m_nodeA.prev); a.m_nodeA == b.m_contactList && (b.m_contactList = a.m_nodeA.next); null != a.m_nodeB.prev && (a.m_nodeB.prev.next = a.m_nodeB.next); null != a.m_nodeB.next && (a.m_nodeB.next.prev = a.m_nodeB.prev); a.m_nodeB == d.m_contactList && (d.m_contactList = a.m_nodeB.next); this.m_contactFactory.destroy(a); --this.m_contactCount; }, collide: function () { for (var a = this.m_world.m_contactList; null != a; ) { var b = a.getFixtureA(), d = a.getFixtureB(), e = b.getBody(), f = d.getBody(); if (0 == e.isAwake() && 0 == f.isAwake()) a = a.getNext(); else { if (0 != (a.m_flags & eb.e_filterFlag)) { if (0 == f.shouldCollide(e)) { b = a; a = b.getNext(); this.destroy(b); continue; } if (0 == this.m_contactFilter.shouldCollide(b, d)) { b = a; a = b.getNext(); this.destroy(b); continue; } a.m_flags &= ~eb.e_filterFlag; } 0 == this.m_broadPhase.testOverlap(b.m_proxy, d.m_proxy) ? ((b = a), (a = b.getNext()), this.destroy(b)) : (a.update(this.m_contactListener), (a = a.getNext())); } } }, m_world: null, m_broadPhase: null, m_contactList: null, m_contactCount: null, m_contactFilter: null, m_contactListener: null, m_contactFactory: null, m_allocator: null, __class__: xk }; var De = function () { this.m_xformScale = this.m_fillAlpha = this.m_alpha = this.m_lineThickness = this.m_drawScale = 1; this.m_drawFlags = 0; }; k['box2D.dynamics.B2DebugDraw'] = De; De.__name__ = 'box2D.dynamics.B2DebugDraw'; De.prototype = { setFlags: function (a) { this.m_drawFlags = a; }, getFlags: function () { return this.m_drawFlags; }, appendFlags: function (a) { this.m_drawFlags |= a; }, clearFlags: function (a) { this.m_drawFlags &= ~a; }, setSprite: function (a) { this.m_sprite = a; }, getSprite: function () { return this.m_sprite; }, setDrawScale: function (a) { this.m_drawScale = a; }, getDrawScale: function () { return this.m_drawScale; }, setLineThickness: function (a) { this.m_lineThickness = a; }, getLineThickness: function () { return this.m_lineThickness; }, setAlpha: function (a) { this.m_alpha = a; }, getAlpha: function () { return this.m_alpha; }, setFillAlpha: function (a) { this.m_fillAlpha = a; }, getFillAlpha: function () { return this.m_fillAlpha; }, setXFormScale: function (a) { this.m_xformScale = a; }, getXFormScale: function () { return this.m_xformScale; }, drawPolygon: function (a, b, d) { this.m_sprite.get_graphics().lineStyle(this.m_lineThickness, d.get_color(), this.m_alpha); this.m_sprite.get_graphics().moveTo(a[0].x * this.m_drawScale, a[0].y * this.m_drawScale); for (d = 0; d < b; ) { var e = d++; this.m_sprite .get_graphics() .lineTo(a[e].x * this.m_drawScale, a[e].y * this.m_drawScale); } this.m_sprite.get_graphics().lineTo(a[0].x * this.m_drawScale, a[0].y * this.m_drawScale); }, drawSolidPolygon: function (a, b, d) { this.m_sprite.get_graphics().lineStyle(this.m_lineThickness, d.get_color(), this.m_alpha); this.m_sprite.get_graphics().moveTo(a[0].x * this.m_drawScale, a[0].y * this.m_drawScale); this.m_sprite.get_graphics().beginFill(d.get_color(), this.m_fillAlpha); for (d = 0; d < b; ) { var e = d++; this.m_sprite .get_graphics() .lineTo(a[e].x * this.m_drawScale, a[e].y * this.m_drawScale); } this.m_sprite.get_graphics().lineTo(a[0].x * this.m_drawScale, a[0].y * this.m_drawScale); this.m_sprite.get_graphics().endFill(); }, drawCircle: function (a, b, d) { this.m_sprite.get_graphics().lineStyle(this.m_lineThickness, d.get_color(), this.m_alpha); this.m_sprite .get_graphics() .drawCircle(a.x * this.m_drawScale, a.y * this.m_drawScale, b * this.m_drawScale); }, drawSolidCircle: function (a, b, d, e) { this.m_sprite.get_graphics().lineStyle(this.m_lineThickness, e.get_color(), this.m_alpha); this.m_sprite.get_graphics().moveTo(0, 0); this.m_sprite.get_graphics().beginFill(e.get_color(), this.m_fillAlpha); this.m_sprite .get_graphics() .drawCircle(a.x * this.m_drawScale, a.y * this.m_drawScale, b * this.m_drawScale); this.m_sprite.get_graphics().endFill(); this.m_sprite.get_graphics().moveTo(a.x * this.m_drawScale, a.y * this.m_drawScale); this.m_sprite .get_graphics() .lineTo((a.x + d.x * b) * this.m_drawScale, (a.y + d.y * b) * this.m_drawScale); }, drawSegment: function (a, b, d) { this.m_sprite.get_graphics().lineStyle(this.m_lineThickness, d.get_color(), this.m_alpha); this.m_sprite.get_graphics().moveTo(a.x * this.m_drawScale, a.y * this.m_drawScale); this.m_sprite.get_graphics().lineTo(b.x * this.m_drawScale, b.y * this.m_drawScale); }, drawTransform: function (a) { this.m_sprite.get_graphics().lineStyle(this.m_lineThickness, 16711680, this.m_alpha); this.m_sprite .get_graphics() .moveTo(a.position.x * this.m_drawScale, a.position.y * this.m_drawScale); this.m_sprite .get_graphics() .lineTo( (a.position.x + this.m_xformScale * a.R.col1.x) * this.m_drawScale, (a.position.y + this.m_xformScale * a.R.col1.y) * this.m_drawScale ); this.m_sprite.get_graphics().lineStyle(this.m_lineThickness, 65280, this.m_alpha); this.m_sprite .get_graphics() .moveTo(a.position.x * this.m_drawScale, a.position.y * this.m_drawScale); this.m_sprite .get_graphics() .lineTo( (a.position.x + this.m_xformScale * a.R.col2.x) * this.m_drawScale, (a.position.y + this.m_xformScale * a.R.col2.y) * this.m_drawScale ); }, m_drawFlags: null, m_sprite: null, m_drawScale: null, m_lineThickness: null, m_alpha: null, m_fillAlpha: null, m_xformScale: null, __class__: De }; var Jy = function () {}; k['box2D.dynamics.B2DestructionListener'] = Jy; Jy.__name__ = 'box2D.dynamics.B2DestructionListener'; Jy.prototype = { sayGoodbyeJoint: function (a) {}, sayGoodbyeFixture: function (a) {}, __class__: Jy }; var tj = function () { this.categoryBits = 1; this.maskBits = 65535; this.groupIndex = 0; }; k['box2D.dynamics.B2FilterData'] = tj; tj.__name__ = 'box2D.dynamics.B2FilterData'; tj.prototype = { copy: function () { var a = new tj(); a.categoryBits = this.categoryBits; a.maskBits = this.maskBits; a.groupIndex = this.groupIndex; return a; }, categoryBits: null, maskBits: null, groupIndex: null, __class__: tj }; var Gf = function () { this.m_filter = new tj(); this.m_aabb = new ja(); this.m_shape = this.m_next = this.m_body = this.m_userData = null; this.m_restitution = this.m_friction = this.m_density = 0; this.groupID = 3; }; k['box2D.dynamics.B2Fixture'] = Gf; Gf.__name__ = 'box2D.dynamics.B2Fixture'; Gf.prototype = { getType: function () { return this.m_shape.getType(); }, getShape: function () { return this.m_shape; }, setSensor: function (a) { if (this.m_isSensor != a && ((this.m_isSensor = a), null != this.m_body)) for (a = this.m_body.getContactList(); null != a; ) { var b = a.contact, d = b.getFixtureA(), e = b.getFixtureB(); (d != this && e != this) || b.setSensor(d.isSensor() || e.isSensor()); a = a.next; } }, isSensor: function () { return this.m_isSensor; }, setFilterData: function (a) { this.m_filter = a.copy(); if (null == this.m_body) for (a = this.m_body.getContactList(); null != a; ) { var b = a.contact, d = b.getFixtureA(), e = b.getFixtureB(); (d != this && e != this) || b.flagForFiltering(); a = a.next; } }, getFilterData: function () { return this.m_filter.copy(); }, getBody: function () { return this.m_body; }, getNext: function () { return this.m_next; }, getUserData: function () { return this.m_userData; }, SetUserData: function (a) { this.m_userData = a; }, testPoint: function (a) { return this.m_shape.testPoint(this.m_body.getTransform(), a); }, rayCast: function (a, b) { return this.m_shape.rayCast(a, b, this.m_body.getTransform()); }, getMassData: function (a) { null == a && (a = new rj()); this.m_shape.computeMass(a, this.m_density); return a; }, setDensity: function (a) { this.m_density = a; }, getDensity: function () { return this.m_density; }, getFriction: function () { return this.m_friction; }, setFriction: function (a) { this.m_friction = a; }, getRestitution: function () { return this.m_restitution; }, setRestitution: function (a) { this.m_restitution = a; }, getAABB: function () { return this.m_aabb; }, create: function (a, b, d) { this.m_userData = d.userData; this.m_friction = d.friction; this.m_restitution = d.restitution; this.m_body = a; this.m_next = null; this.m_filter = d.filter.copy(); this.m_isSensor = d.isSensor; this.m_shape = d.shape.copy(); this.m_density = d.density; this.groupID = d.groupID; }, destroy: function () { this.m_shape = null; }, createProxy: function (a, b) { this.m_shape.computeAABB(this.m_aabb, b); this.m_proxy = a.createProxy(this.m_aabb, this); }, destroyProxy: function (a) { null != this.m_proxy && (a.destroyProxy(this.m_proxy), (this.m_proxy = null)); }, synchronize: function (a, b, d) { null != this.m_proxy && (this.m_shape.computeAABB(Gf.tempAABB1, b), this.m_shape.computeAABB(Gf.tempAABB2, d), this.m_aabb.combine(Gf.tempAABB1, Gf.tempAABB2), (b = R.subtractVVPooled(d.position, b.position)), a.moveProxy(this.m_proxy, this.m_aabb, b)); }, m_massData: null, m_aabb: null, m_density: null, m_next: null, m_body: null, m_shape: null, m_friction: null, m_restitution: null, m_proxy: null, m_filter: null, m_isSensor: null, m_userData: null, groupID: null, __class__: Gf }; var Hf = function () { this.filter = new tj(); this.userData = this.shape = null; this.friction = 0.2; this.density = this.restitution = 0; this.filter.categoryBits = 1; this.filter.maskBits = 65535; this.filter.groupIndex = 0; this.isSensor = !1; this.groupID = 3; }; k['box2D.dynamics.B2FixtureDef'] = Hf; Hf.__name__ = 'box2D.dynamics.B2FixtureDef'; Hf.prototype = { shape: null, userData: null, friction: null, restitution: null, density: null, isSensor: null, filter: null, groupID: null, __class__: Hf }; var Kh = function () { this.m_bodies = []; this.m_contacts = []; this.m_joints = []; }; k['box2D.dynamics.B2Island'] = Kh; Kh.__name__ = 'box2D.dynamics.B2Island'; Kh.prototype = { initialize: function (a, b, d, e, f, c) { this.m_bodyCapacity = a; this.m_contactCapacity = b; this.m_jointCapacity = d; this.m_jointCount = this.m_contactCount = this.m_bodyCount = 0; this.m_allocator = e; this.m_listener = f; this.m_contactSolver = c; e = this.m_bodies.length; for (f = a; e < f; ) (a = e++), (this.m_bodies[a] = null); e = this.m_contacts.length; for (f = b; e < f; ) (a = e++), (this.m_contacts[a] = null); e = this.m_joints.length; for (f = d; e < f; ) (a = e++), (this.m_joints[a] = null); }, clear: function () { this.m_jointCount = this.m_contactCount = this.m_bodyCount = 0; }, solve: function (a, b, d) { for (var e, f, c = 0, l = this.m_bodyCount; c < l; ) (e = c++), (e = this.m_bodies[e]), e.getType() == va.b2_dynamicBody && (e.isIgnoringGravity() ? ((e.m_linearVelocity.x += a.dt * e.m_invMass * e.m_force.x), (e.m_linearVelocity.y += a.dt * e.m_invMass * e.m_force.y)) : ((e.m_linearVelocity.x += a.dt * (b.x + e.m_invMass * e.m_force.x)), (e.m_linearVelocity.y += a.dt * (b.y + e.m_invMass * e.m_force.y))), (e.m_angularVelocity += a.dt * e.m_invI * e.m_torque), e.m_linearVelocity.multiply(R.clamp(1 - a.dt * e.m_linearDamping, 0, 1)), (e.m_angularVelocity *= R.clamp(1 - a.dt * e.m_angularDamping, 0, 1))); this.m_contactSolver.initialize( a, this.m_contacts, this.m_contactCount, this.m_allocator ); b = this.m_contactSolver; b.initVelocityConstraints(a); c = 0; for (l = this.m_jointCount; c < l; ) (e = c++), (f = this.m_joints[e]), f.initVelocityConstraints(a); c = 0; for (l = a.velocityIterations; c < l; ) { c++; e = 0; for (var q = this.m_jointCount; e < q; ) (f = e++), (f = this.m_joints[f]), f.solveVelocityConstraints(a); b.solveVelocityConstraints(); } c = 0; for (l = this.m_jointCount; c < l; ) (e = c++), (f = this.m_joints[e]), f.finalizeVelocityConstraints(); b.finalizeVelocityConstraints(); c = 0; for (l = this.m_bodyCount; c < l; ) if (((e = c++), (e = this.m_bodies[e]), e.getType() != va.b2_staticBody)) { q = a.dt * e.m_linearVelocity.x; var y = a.dt * e.m_linearVelocity.y; q * q + y * y > Z.b2_maxTranslationSquared && (e.m_linearVelocity.normalize(), (e.m_linearVelocity.x = e.m_linearVelocity.x * Z.b2_maxTranslation * a.inv_dt), (e.m_linearVelocity.y = e.m_linearVelocity.y * Z.b2_maxTranslation * a.inv_dt)); q = a.dt * e.m_angularVelocity; q * q > Z.b2_maxRotationSquared && (e.m_angularVelocity = 0 > e.m_angularVelocity ? -Z.b2_maxRotation * a.inv_dt : Z.b2_maxRotation * a.inv_dt); q = e.m_sweep.c0; y = e.m_sweep.c; q.x = y.x; q.y = y.y; e.m_sweep.a0 = e.m_sweep.a; e.m_sweep.c.x += a.dt * e.m_linearVelocity.x; e.m_sweep.c.y += a.dt * e.m_linearVelocity.y; e.m_sweep.a += a.dt * e.m_angularVelocity; e.synchronizeTransform(); } c = 0; for (l = a.positionIterations; c < l; ) { c++; y = b.solvePositionConstraints(Z.b2_contactBaumgarte); var r = !0; e = 0; for (q = this.m_jointCount; e < q; ) (f = e++), (f = this.m_joints[f]), (f = f.solvePositionConstraints(Z.b2_contactBaumgarte)), (r = r && f); if (y && r) break; } this.report(b.m_constraints); if (d) { d = Number.MAX_VALUE; b = Z.b2_linearSleepTolerance * Z.b2_linearSleepTolerance; q = Z.b2_angularSleepTolerance * Z.b2_angularSleepTolerance; c = 0; for (l = this.m_bodyCount; c < l; ) (e = c++), (e = this.m_bodies[e]), e.getType() != va.b2_staticBody && (0 == (e.m_flags & va.e_allowSleepFlag) && (d = e.m_sleepTime = 0), 0 == (e.m_flags & va.e_allowSleepFlag) || e.m_angularVelocity * e.m_angularVelocity > q || R.dot(e.m_linearVelocity, e.m_linearVelocity) > b ? (d = e.m_sleepTime = 0) : ((e.m_sleepTime += a.dt), (d = R.min(d, e.m_sleepTime)))); if (d >= Z.b2_timeToSleep) for (c = 0, l = this.m_bodyCount; c < l; ) (e = c++), (e = this.m_bodies[e]), e.setAwake(!1); } }, solveTOI: function (a) { this.m_contactSolver.initialize( a, this.m_contacts, this.m_contactCount, this.m_allocator ); for (var b = this.m_contactSolver, d = 0, e = this.m_jointCount; d < e; ) { var f = d++; this.m_joints[f].initVelocityConstraints(a); } d = 0; for (e = a.velocityIterations; d < e; ) { d++; b.solveVelocityConstraints(); f = 0; for (var c = this.m_jointCount; f < c; ) { var l = f++; this.m_joints[l].solveVelocityConstraints(a); } } d = 0; for (e = this.m_bodyCount; d < e; ) (f = d++), (f = this.m_bodies[f]), f.getType() != va.b2_staticBody && ((c = a.dt * f.m_linearVelocity.x), (l = a.dt * f.m_linearVelocity.y), c * c + l * l > Z.b2_maxTranslationSquared && (f.m_linearVelocity.normalize(), (f.m_linearVelocity.x = f.m_linearVelocity.x * Z.b2_maxTranslation * a.inv_dt), (f.m_linearVelocity.y = f.m_linearVelocity.y * Z.b2_maxTranslation * a.inv_dt)), (c = a.dt * f.m_angularVelocity), c * c > Z.b2_maxRotationSquared && (f.m_angularVelocity = 0 > f.m_angularVelocity ? -Z.b2_maxRotation * a.inv_dt : Z.b2_maxRotation * a.inv_dt), (c = f.m_sweep.c0), (l = f.m_sweep.c), (c.x = l.x), (c.y = l.y), (f.m_sweep.a0 = f.m_sweep.a), (f.m_sweep.c.x += a.dt * f.m_linearVelocity.x), (f.m_sweep.c.y += a.dt * f.m_linearVelocity.y), (f.m_sweep.a += a.dt * f.m_angularVelocity), f.synchronizeTransform()); d = 0; for (e = a.positionIterations; d < e; ) { d++; a = b.solvePositionConstraints(0.75); var q = !0; f = 0; for (c = this.m_jointCount; f < c; ) (l = f++), (l = this.m_joints[l].solvePositionConstraints(Z.b2_contactBaumgarte)), (q = q && l); if (a && q) break; } this.report(b.m_constraints); }, report: function (a) { if (null != this.m_listener) for (var b = 0, d = this.m_contactCount; b < d; ) { var e = b++, f = this.m_contacts[e]; e = a[e]; for (var c = 0, l = e.pointCount; c < l; ) { var q = c++; Kh.s_impulse.normalImpulses[q] = e.points[q].normalImpulse; Kh.s_impulse.tangentImpulses[q] = e.points[q].tangentImpulse; } this.m_listener.postSolve(f, Kh.s_impulse); } }, addBody: function (a) { a.m_islandIndex = this.m_bodyCount; this.m_bodies[this.m_bodyCount++] = a; }, addContact: function (a) { this.m_contacts[this.m_contactCount++] = a; }, addJoint: function (a) { this.m_joints[this.m_jointCount++] = a; }, m_allocator: null, m_listener: null, m_contactSolver: null, m_bodies: null, m_contacts: null, m_joints: null, m_bodyCount: null, m_jointCount: null, m_contactCount: null, m_bodyCapacity: null, m_contactCapacity: null, m_jointCapacity: null, __class__: Kh }; var uj = function () {}; k['box2D.dynamics.B2TimeStep'] = uj; uj.__name__ = 'box2D.dynamics.B2TimeStep'; uj.prototype = { set: function (a) { this.dt = a.dt; this.inv_dt = a.inv_dt; this.positionIterations = a.positionIterations; this.velocityIterations = a.velocityIterations; this.warmStarting = a.warmStarting; }, dt: null, inv_dt: null, dtRatio: null, velocityIterations: null, positionIterations: null, warmStarting: null, __class__: uj }; var cc = function (a, b) { this.pointQueryCallback = new yk(); this.shapeQueryCallback = new zk(); this.aabbQueryCallback = new Ak(); this.s_stack = []; this.m_contactManager = new xk(); this.m_contactSolver = new Ee(); this.m_island = new Kh(); this.m_controllerList = this.m_jointList = this.m_contactList = this.m_bodyList = this.m_debugDraw = this.m_destructionListener = null; this.m_controllerCount = this.m_jointCount = this.m_contactCount = this.m_bodyCount = 0; cc.m_warmStarting = !0; cc.m_continuousPhysics = !1; this.m_allowSleep = b; this.m_gravity = a; this.m_flags = this.m_inv_dt0 = 0; this.m_contactManager.m_world = this; a = new pi(); this.m_groundBody = this.createBody(a); }; k['box2D.dynamics.B2World'] = cc; cc.__name__ = 'box2D.dynamics.B2World'; cc.prototype = { setDestructionListener: function (a) { this.m_destructionListener = a; }, setContactFilter: function (a) { this.m_contactManager.m_contactFilter = a; }, setContactListener: function (a) { this.m_contactManager.m_contactListener = a; }, setDebugDraw: function (a) { this.m_debugDraw = a; }, setBroadPhase: function (a) { var b = this.m_contactManager.m_broadPhase; this.m_contactManager.m_broadPhase = a; for (var d = this.m_bodyList; null != d; ) { for (var e = d.m_fixtureList; null != e; ) (e.m_proxy = a.createProxy(b.getFatAABB(e.m_proxy), e)), (e = e.m_next); d = d.m_next; } }, validate: function () { this.m_contactManager.m_broadPhase.validate(); }, getProxyCount: function () { return this.m_contactManager.m_broadPhase.getProxyCount(); }, createBody: function (a) { if (1 == this.isLocked()) return null; a = new va(a, this); a.m_prev = null; a.m_next = this.m_bodyList; null != this.m_bodyList && (this.m_bodyList.m_prev = a); this.m_bodyList = a; ++this.m_bodyCount; return a; }, destroyBody: function (a) { if (1 != this.isLocked()) { for (var b = a.m_jointList; null != b; ) { var d = b; b = b.next; null != this.m_destructionListener && this.m_destructionListener.sayGoodbyeJoint(d.joint); this.destroyJoint(d.joint); } for (b = a.m_controllerList; null != b; ) (d = b), (b = b.nextController), d.controller.removeBody(a); for (b = a.m_contactList; null != b; ) (d = b), (b = b.next), this.m_contactManager.destroy(d.contact); a.m_contactList = null; for (b = a.m_fixtureList; null != b; ) (d = b), (b = b.m_next), null != this.m_destructionListener && this.m_destructionListener.sayGoodbyeFixture(d), d.destroyProxy(this.m_contactManager.m_broadPhase), d.destroy(); a.m_fixtureList = null; a.m_fixtureCount = 0; null != a.m_prev && (a.m_prev.m_next = a.m_next); null != a.m_next && (a.m_next.m_prev = a.m_prev); a == this.m_bodyList && (this.m_bodyList = a.m_next); --this.m_bodyCount; } }, createJoint: function (a) { var b = Sb.create(a, null); b.m_prev = null; b.m_next = this.m_jointList; null != this.m_jointList && (this.m_jointList.m_prev = b); this.m_jointList = b; ++this.m_jointCount; b.m_edgeA.joint = b; b.m_edgeA.other = b.m_bodyB; b.m_edgeA.prev = null; b.m_edgeA.next = b.m_bodyA.m_jointList; null != b.m_bodyA.m_jointList && (b.m_bodyA.m_jointList.prev = b.m_edgeA); b.m_bodyA.m_jointList = b.m_edgeA; b.m_edgeB.joint = b; b.m_edgeB.other = b.m_bodyA; b.m_edgeB.prev = null; b.m_edgeB.next = b.m_bodyB.m_jointList; null != b.m_bodyB.m_jointList && (b.m_bodyB.m_jointList.prev = b.m_edgeB); b.m_bodyB.m_jointList = b.m_edgeB; var d = a.bodyA, e = a.bodyB; if (0 == a.collideConnected) for (a = e.getContactList(); null != a; ) a.other == d && a.contact.flagForFiltering(), (a = a.next); return b; }, destroyJoint: function (a) { var b = a.m_collideConnected; null != a.m_prev && (a.m_prev.m_next = a.m_next); null != a.m_next && (a.m_next.m_prev = a.m_prev); a == this.m_jointList && (this.m_jointList = a.m_next); var d = a.m_bodyA, e = a.m_bodyB; d.setAwake(!0); e.setAwake(!0); null != a.m_edgeA.prev && (a.m_edgeA.prev.next = a.m_edgeA.next); null != a.m_edgeA.next && (a.m_edgeA.next.prev = a.m_edgeA.prev); a.m_edgeA == d.m_jointList && (d.m_jointList = a.m_edgeA.next); a.m_edgeA.prev = null; a.m_edgeA.next = null; null != a.m_edgeB.prev && (a.m_edgeB.prev.next = a.m_edgeB.next); null != a.m_edgeB.next && (a.m_edgeB.next.prev = a.m_edgeB.prev); a.m_edgeB == e.m_jointList && (e.m_jointList = a.m_edgeB.next); a.m_edgeB.prev = null; a.m_edgeB.next = null; Sb.destroy(a, null); --this.m_jointCount; if (0 == b) for (a = e.getContactList(); null != a; ) a.other == d && a.contact.flagForFiltering(), (a = a.next); }, addController: function (a) { a.m_next = this.m_controllerList; a.m_prev = null; this.m_controllerList = a; a.m_world = this; this.m_controllerCount++; return a; }, removeController: function (a) { null != a.m_prev && (a.m_prev.m_next = a.m_next); null != a.m_next && (a.m_next.m_prev = a.m_prev); this.m_controllerList == a && (this.m_controllerList = a.m_next); this.m_controllerCount--; }, createController: function (a) { if (a.m_world != this) throw J.thrown('Controller can only be a member of one world'); a.m_next = this.m_controllerList; a.m_prev = null; null != this.m_controllerList && (this.m_controllerList.m_prev = a); this.m_controllerList = a; ++this.m_controllerCount; a.m_world = this; return a; }, destroyController: function (a) { a.clear(); null != a.m_next && (a.m_next.m_prev = a.m_prev); null != a.m_prev && (a.m_prev.m_next = a.m_next); a == this.m_controllerList && (this.m_controllerList = a.m_next); --this.m_controllerCount; }, setWarmStarting: function (a) { cc.m_warmStarting = a; }, setContinuousPhysics: function (a) { cc.m_continuousPhysics = a; }, getBodyCount: function () { return this.m_bodyCount; }, getJointCount: function () { return this.m_jointCount; }, getContactCount: function () { return this.m_contactCount; }, setGravity: function (a) { this.m_gravity = a; }, getGravity: function () { return this.m_gravity; }, getGroundBody: function () { return this.m_groundBody; }, step: function (a, b, d) { P.freePool(); 0 != (this.m_flags & cc.e_newFixture) && (this.m_contactManager.findNewContacts(), (this.m_flags &= ~cc.e_newFixture)); this.m_flags |= cc.e_locked; var e = cc.s_timestep2; e.dt = a; e.velocityIterations = b; e.positionIterations = d; e.inv_dt = 0 < a ? 1 / a : 0; e.dtRatio = this.m_inv_dt0 * a; e.warmStarting = cc.m_warmStarting; this.m_contactManager.collide(); 0 < e.dt && this.solve(e); cc.m_continuousPhysics && 0 < e.dt && this.solveTOI(e); 0 < e.dt && (this.m_inv_dt0 = e.inv_dt); this.m_flags &= ~cc.e_locked; }, clearForces: function () { for (var a = this.m_bodyList; null != a; ) { var b = a.m_force; b.x = 0; b.y = 0; a.m_torque = 0; a = a.m_next; } }, drawDebugData: function () { if (null != this.m_debugDraw) { this.m_debugDraw.m_sprite.get_graphics().clear(); var a = this.m_debugDraw.getFlags(), b, d; new P(); new P(); new P(); new ja(); new ja(); new P(); new P(); new P(); new P(); var e = new wk(0, 0, 0); if (0 != (a & De.e_shapeBit)) for (b = this.m_bodyList; null != b; ) { var f = b.m_xf; for (d = b.getFixtureList(); null != d; ) { var c = d.getShape(); 0 == b.isActive() ? e.set(0.5, 0.5, 0.3) : b.getType() == va.b2_staticBody ? e.set(0.5, 0.9, 0.5) : b.getType() == va.b2_kinematicBody ? e.set(0.5, 0.5, 0.9) : 0 == b.isAwake() ? e.set(0.6, 0.6, 0.6) : e.set(0.9, 0.7, 0.7); this.drawShape(c, f, e); d = d.m_next; } b = b.m_next; } if (0 != (a & De.e_jointBit)) for (b = this.m_jointList; null != b; ) this.drawJoint(b), (b = b.m_next); if (0 != (a & De.e_controllerBit)) for (b = this.m_controllerList; null != b; ) b.draw(this.m_debugDraw), (b = b.m_next); if (0 != (a & De.e_pairBit)) for (e.set(0.3, 0.9, 0.9), b = this.m_contactManager.m_contactList; null != b; ) (c = b.getFixtureA()), (d = b.getFixtureB()), (c = c.getAABB().getCenter()), (d = d.getAABB().getCenter()), this.m_debugDraw.drawSegment(c, d, e), (b = b.getNext()); if (0 != (a & De.e_aabbBit)) for ( c = this.m_contactManager.m_broadPhase, f = [new P(), new P(), new P(), new P()], b = this.m_bodyList; null != b; ) { if (0 != b.isActive()) for (d = b.getFixtureList(); null != d; ) { var l = c.getFatAABB(d.m_proxy), q = f[0], y = l.lowerBound.x, r = l.lowerBound.y; null == r && (r = 0); null == y && (y = 0); q.x = y; q.y = r; q = f[1]; y = l.upperBound.x; r = l.lowerBound.y; null == r && (r = 0); null == y && (y = 0); q.x = y; q.y = r; q = f[2]; y = l.upperBound.x; r = l.upperBound.y; null == r && (r = 0); null == y && (y = 0); q.x = y; q.y = r; q = f[3]; y = l.lowerBound.x; l = l.upperBound.y; null == l && (l = 0); null == y && (y = 0); q.x = y; q.y = l; this.m_debugDraw.drawPolygon(f, 4, e); d = d.getNext(); } b = b.getNext(); } if (0 != (a & De.e_centerOfMassBit)) for (b = this.m_bodyList; null != b; ) (f = cc.s_xf), (f.R = b.m_xf.R), (f.position = b.getWorldCenter()), this.m_debugDraw.drawTransform(f), (b = b.m_next); } }, queryAABB: function (a, b) { this.aabbQueryCallback.broadPhase = this.m_contactManager.m_broadPhase; this.aabbQueryCallback.callbackMethod = a; this.m_contactManager.m_broadPhase.query(this.aabbQueryCallback, b); }, queryShape: function (a, b, d) { this.shapeQueryCallback.broadPhase = this.m_contactManager.m_broadPhase; this.shapeQueryCallback.callbackMethod = a; null == d && ((d = new Ue()), d.setIdentity()); this.shapeQueryCallback.transform = d; a = new ja(); b.computeAABB(a, d); this.shapeQueryCallback.shape = b; this.m_contactManager.m_broadPhase.query(this.shapeQueryCallback, a); }, queryPoint: function (a, b) { this.pointQueryCallback.broadPhase = this.m_contactManager.m_broadPhase; this.pointQueryCallback.callbackMethod = a; this.pointQueryCallback.p = b; a = new ja(); var d = a.lowerBound, e = b.x - Z.b2_linearSlop, f = b.y - Z.b2_linearSlop; null == f && (f = 0); null == e && (e = 0); d.x = e; d.y = f; d = a.upperBound; e = b.x + Z.b2_linearSlop; f = b.y + Z.b2_linearSlop; null == f && (f = 0); null == e && (e = 0); d.x = e; d.y = f; this.m_contactManager.m_broadPhase.query(this.pointQueryCallback, a); }, rayCast: function (a, b, d) { var e = this.m_contactManager.m_broadPhase, f = new zn(), c = new sk(b, d); e.rayCast(function (c, g) { g = e.getUserData(g); g = w.__cast(g, Gf); if (g.rayCast(f, c)) { c = f.fraction; var l = new P((1 - c) * b.x + c * d.x, (1 - c) * b.y + c * d.y); return a(g, l, f.normal, c); } return c.maxFraction; }, c); }, rayCastOne: function (a, b) { var d; this.rayCast( function (a, b, c, l) { d = a; return l; }, a, b ); return d; }, rayCastAll: function (a, b) { var d = []; this.rayCast( function (a, b, c, l) { d[d.length] = a; return 1; }, a, b ); return d; }, getBodyList: function () { return this.m_bodyList; }, getJointList: function () { return this.m_jointList; }, getContactList: function () { return this.m_contactList; }, isLocked: function () { return 0 < (this.m_flags & cc.e_locked); }, s_stack: null, solve: function (a) { for (var b = this.m_controllerList; null != b; ) b.step(a), (b = b.m_next); b = this.m_island; b.initialize( this.m_bodyCount, this.m_contactCount, this.m_jointCount, null, this.m_contactManager.m_contactListener, this.m_contactSolver ); for (var d = this.m_bodyList; null != d; ) (d.m_flags &= ~va.e_islandFlag), (d = d.m_next); for (var e = this.m_contactList; null != e; ) (e.m_flags &= ~eb.e_islandFlag), (e = e.m_next); for (e = this.m_jointList; null != e; ) (e.m_islandFlag = !1), (e = e.m_next); e = this.s_stack; for (var f = this.m_bodyList; null != f; ) { if ( 0 == (f.m_flags & va.e_islandFlag) && (!f.isActive() && !f.isAlwaysActive() && f.m_xf.position.x + f.origin.x + f.size.x >= this.m_aabb.lowerBound.x && f.m_xf.position.y + f.origin.y + f.size.y >= this.m_aabb.lowerBound.y && f.m_xf.position.x + f.origin.x <= this.m_aabb.upperBound.x && f.m_xf.position.y + f.origin.y <= this.m_aabb.upperBound.y && (f.setActive(!0), f.setAwake(!0)), 0 != f.isAwake() && 0 != f.isActive() && !f.isPaused() && f.getType() != va.b2_staticBody) ) if ( f.isActive() && !f.isAlwaysActive() && (f.m_xf.position.x + f.origin.x + f.size.x < this.m_aabb.lowerBound.x || f.m_xf.position.y + f.origin.y + f.size.y < this.m_aabb.lowerBound.y || f.m_xf.position.x + f.origin.x > this.m_aabb.upperBound.x || f.m_xf.position.y + f.origin.y > this.m_aabb.upperBound.y) ) f.setAwake(!1), f.setActive(!1); else { b.clear(); var c = 0; e[c++] = f; for (f.m_flags |= va.e_islandFlag; 0 < c; ) if ( ((d = e[--c]), b.addBody(d), 0 == d.isAwake() && d.setAwake(!0), d.getType() != va.b2_staticBody) ) { for (var l, q = d.m_contactList; null != q; ) 0 == (q.contact.m_flags & eb.e_islandFlag) && 1 != q.contact.isSensor() && 0 != q.contact.isEnabled() && 0 != q.contact.isTouching() && (b.addContact(q.contact), (q.contact.m_flags |= eb.e_islandFlag), (l = q.other), 0 == (l.m_flags & va.e_islandFlag) && ((e[c++] = l), (l.m_flags |= va.e_islandFlag))), (q = q.next); for (d = d.m_jointList; null != d; ) 1 != d.joint.m_islandFlag && ((l = d.other), 0 != l.isActive() && (b.addJoint(d.joint), (d.joint.m_islandFlag = !0), 0 == (l.m_flags & va.e_islandFlag) && ((e[c++] = l), (l.m_flags |= va.e_islandFlag)))), (d = d.next); } b.solve(a, this.m_gravity, this.m_allowSleep); c = 0; for (l = b.m_bodyCount; c < l; ) (d = c++), (d = b.m_bodies[d]), d.getType() == va.b2_staticBody && (d.m_flags &= ~va.e_islandFlag); } f = f.m_next; } c = 0; for (l = e.length; c < l; ) { d = c++; if (null == e[d]) break; e[d] = null; } for (d = this.m_bodyList; null != d; ) 0 != d.isAwake() && 0 != d.isActive() && d.getType() != va.b2_staticBody && d.synchronizeFixtures(), (d = d.m_next); this.m_contactManager.findNewContacts(); }, solveTOI: function (a) { var b, d = this.m_island; d.initialize( this.m_bodyCount, Z.b2_maxTOIContactsPerIsland, Z.b2_maxTOIJointsPerIsland, null, this.m_contactManager.m_contactListener, this.m_contactSolver ); for (var e = cc.s_queue, f = this.m_bodyList; null != f; ) (f.m_flags &= ~va.e_islandFlag), (f.m_sweep.t0 = 0), (f = f.m_next); for (b = this.m_contactList; null != b; ) (b.m_flags &= ~(eb.e_toiFlag | eb.e_islandFlag)), (b = b.m_next); for (f = this.m_jointList; null != f; ) (f.m_islandFlag = !1), (f = f.m_next); for (;;) { f = null; var c = 1; for (b = this.m_contactList; null != b; ) { if (1 != b.isSensor() && 0 != b.isEnabled() && 0 != b.isContinuous()) { if (0 != (b.m_flags & eb.e_toiFlag)) var l = b.m_toi; else { l = b.m_fixtureA; var q = b.m_fixtureB; l = l.m_body; q = q.m_body; if ( !( (l.getType() == va.b2_dynamicBody && 0 != l.isAwake()) || (q.getType() == va.b2_dynamicBody && 0 != q.isAwake()) ) ) { b = b.m_next; continue; } var y = l.m_sweep.t0; l.m_sweep.t0 < q.m_sweep.t0 ? ((y = q.m_sweep.t0), l.m_sweep.advance(y)) : q.m_sweep.t0 < l.m_sweep.t0 && ((y = l.m_sweep.t0), q.m_sweep.advance(y)); l = b.computeTOI(l.m_sweep, q.m_sweep); Z.b2Assert(0 <= l && 1 >= l); 0 < l && 1 > l && ((l = (1 - l) * y + l), 1 < l && (l = 1)); b.m_toi = l; b.m_flags |= eb.e_toiFlag; } Number.MIN_VALUE < l && l < c && ((f = b), (c = l)); } b = b.m_next; } if (null == f || 1 - 100 * Number.MIN_VALUE < c) break; l = f.m_fixtureA; q = f.m_fixtureB; l = l.m_body; q = q.m_body; cc.s_backupA.set(l.m_sweep); cc.s_backupB.set(q.m_sweep); l.advance(c); q.advance(c); f.update(this.m_contactManager.m_contactListener); f.m_flags &= ~eb.e_toiFlag; if (1 == f.isSensor() || 0 == f.isEnabled()) l.m_sweep.set(cc.s_backupA), q.m_sweep.set(cc.s_backupB), l.synchronizeTransform(), q.synchronizeTransform(); else if (0 != f.isTouching()) { b = l; b.getType() != va.b2_dynamicBody && (b = q); d.clear(); q = l = 0; e[l + q++] = b; for (b.m_flags |= va.e_islandFlag; 0 < q; ) if ( ((f = e[l++]), --q, d.addBody(f), 0 == f.isAwake() && f.setAwake(!0), f.getType() == va.b2_dynamicBody) ) { for (b = f.m_contactList; null != b && d.m_contactCount != d.m_contactCapacity; ) 0 == (b.contact.m_flags & eb.e_islandFlag) && 1 != b.contact.isSensor() && 0 != b.contact.isEnabled() && 0 != b.contact.isTouching() && (d.addContact(b.contact), (b.contact.m_flags |= eb.e_islandFlag), (y = b.other), 0 == (y.m_flags & va.e_islandFlag) && (y.getType() != va.b2_staticBody && (y.advance(c), y.setAwake(!0)), (e[l + q] = y), ++q, (y.m_flags |= va.e_islandFlag))), (b = b.next); for (b = f.m_jointList; null != b; ) d.m_jointCount != d.m_jointCapacity && 1 != b.joint.m_islandFlag && ((y = b.other), 0 != y.isActive() && (d.addJoint(b.joint), (b.joint.m_islandFlag = !0), 0 == (y.m_flags & va.e_islandFlag) && (y.getType() != va.b2_staticBody && (y.advance(c), y.setAwake(!0)), (e[l + q] = y), ++q, (y.m_flags |= va.e_islandFlag)))), (b = b.next); } b = cc.s_timestep; b.warmStarting = !1; b.dt = (1 - c) * a.dt; b.inv_dt = 1 / b.dt; b.dtRatio = 0; b.velocityIterations = a.velocityIterations; b.positionIterations = a.positionIterations; d.solveTOI(b); c = 0; for (l = d.m_bodyCount; c < l; ) if ( ((b = c++), (f = d.m_bodies[b]), (f.m_flags &= ~va.e_islandFlag), 0 != f.isAwake() && f.getType() == va.b2_dynamicBody) ) for (f.synchronizeFixtures(), b = f.m_contactList; null != b; ) (b.contact.m_flags &= ~eb.e_toiFlag), (b = b.next); c = 0; for (f = d.m_contactCount; c < f; ) (b = c++), (b = d.m_contacts[b]), (b.m_flags &= ~(eb.e_toiFlag | eb.e_islandFlag)); c = 0; for (b = d.m_jointCount; c < b; ) (f = c++), (f = d.m_joints[f]), (f.m_islandFlag = !1); this.m_contactManager.findNewContacts(); } } }, drawJoint: function (a) { var b = a.getBodyA(), d = a.getBodyB(), e = b.m_xf.position, f = d.m_xf.position, c = a.getAnchorA(), l = a.getAnchorB(), q = cc.s_jointColor; switch (a.m_type) { case 3: this.m_debugDraw.drawSegment(c, l, q); break; case 4: b = w.__cast(a, wg); a = b.getGroundAnchorA(); b = b.getGroundAnchorB(); this.m_debugDraw.drawSegment(a, c, q); this.m_debugDraw.drawSegment(b, l, q); this.m_debugDraw.drawSegment(a, b, q); break; case 5: this.m_debugDraw.drawSegment(c, l, q); break; default: b != this.m_groundBody && this.m_debugDraw.drawSegment(e, c, q), this.m_debugDraw.drawSegment(c, l, q), d != this.m_groundBody && this.m_debugDraw.drawSegment(f, l, q); } }, drawShape: function (a, b, d) { switch (a.m_type) { case 0: a = w.__cast(a, Lc); var e = R.mulX(b, a.m_p); this.m_debugDraw.drawSolidCircle(e, a.m_radius, b.R.col1, d); break; case 1: e = w.__cast(a, Eb); a = e.getVertexCount(); for (var f = e.getVertices(), c = [], l = 0; l < a; ) (e = l++), (c[e] = R.mulX(b, f[e])); this.m_debugDraw.drawSolidPolygon(c, a, d); break; case 2: (a = w.__cast(a, vg)), this.m_debugDraw.drawSegment( R.mulX(b, a.getVertex1()), R.mulX(b, a.getVertex2()), d ); } }, m_aabb: null, setScreenBounds: function (a) { this.m_aabb = a; }, getScreenBounds: function () { return this.m_aabb; }, m_flags: null, m_contactManager: null, m_contactSolver: null, m_island: null, m_bodyList: null, m_jointList: null, m_contactList: null, m_bodyCount: null, m_contactCount: null, m_jointCount: null, m_controllerList: null, m_controllerCount: null, m_gravity: null, m_allowSleep: null, m_groundBody: null, m_destructionListener: null, m_debugDraw: null, m_inv_dt0: null, aabbQueryCallback: null, shapeQueryCallback: null, pointQueryCallback: null, __class__: cc }; var Ak = function () {}; k['box2D.dynamics.AABBQueryCallback'] = Ak; Ak.__name__ = 'box2D.dynamics.AABBQueryCallback'; Ak.__interfaces__ = [df]; Ak.prototype = { broadPhase: null, callbackMethod: null, queryCallback: function (a) { return this.callbackMethod(this.broadPhase.getUserData(a)); }, __class__: Ak }; var zk = function () {}; k['box2D.dynamics.ShapeQueryCallback'] = zk; zk.__name__ = 'box2D.dynamics.ShapeQueryCallback'; zk.__interfaces__ = [df]; zk.prototype = { broadPhase: null, shape: null, transform: null, callbackMethod: null, queryCallback: function (a) { a = this.broadPhase.getUserData(a); return Ub.testOverlap( this.shape, this.transform, a.getShape(), a.getBody().getTransform() ) ? this.callbackMethod(a) : !0; }, __class__: zk }; var yk = function () {}; k['box2D.dynamics.PointQueryCallback'] = yk; yk.__name__ = 'box2D.dynamics.PointQueryCallback'; yk.__interfaces__ = [df]; yk.prototype = { broadPhase: null, callbackMethod: null, p: null, queryCallback: function (a) { a = this.broadPhase.getUserData(a); return a.testPoint(this.p) ? this.callbackMethod(a) : !0; }, __class__: yk }; var eb = function () { this.m_nodeA = new Bk(); this.m_nodeB = new Bk(); this.m_manifold = new kh(); this.m_oldManifold = new kh(); }; k['box2D.dynamics.contacts.B2Contact'] = eb; eb.__name__ = 'box2D.dynamics.contacts.B2Contact'; eb.prototype = { getManifold: function () { return this.m_manifold; }, getWorldManifold: function (a) { var b = this.m_fixtureA.getBody(), d = this.m_fixtureB.getBody(), e = this.m_fixtureA.getShape(), f = this.m_fixtureB.getShape(); a.initialize(this.m_manifold, b.getTransform(), e.m_radius, d.getTransform(), f.m_radius); }, isTouching: function () { return (this.m_flags & eb.e_touchingFlag) == eb.e_touchingFlag; }, isContinuous: function () { return (this.m_flags & eb.e_continuousFlag) == eb.e_continuousFlag; }, setSensor: function (a) { this.m_flags = a ? this.m_flags | eb.e_sensorFlag : this.m_flags & ~eb.e_sensorFlag; }, isSensor: function () { return (this.m_flags & eb.e_sensorFlag) == eb.e_sensorFlag; }, setEnabled: function (a) { this.m_flags = a ? this.m_flags | eb.e_enabledFlag : this.m_flags & ~eb.e_enabledFlag; }, isEnabled: function () { return (this.m_flags & eb.e_enabledFlag) == eb.e_enabledFlag; }, getNext: function () { return this.m_next; }, getFixtureA: function () { return this.m_fixtureA; }, getFixtureB: function () { return this.m_fixtureB; }, flagForFiltering: function () { this.m_flags |= eb.e_filterFlag; }, reset: function (a, b) { this.m_flags = eb.e_enabledFlag; if (null == a || null == b) this.m_fixtureB = this.m_fixtureA = null; else { if (a.isSensor() || b.isSensor()) this.m_flags |= eb.e_sensorFlag; var d = a.getBody(), e = b.getBody(); if ( d.getType() != va.b2_dynamicBody || d.isBullet() || e.getType() != va.b2_dynamicBody || e.isBullet() ) this.m_flags |= eb.e_continuousFlag; this.m_fixtureA = a; this.m_fixtureB = b; this.m_manifold.m_pointCount = 0; this.m_next = this.m_prev = null; this.m_nodeA.contact = null; this.m_nodeA.prev = null; this.m_nodeA.next = null; this.m_nodeA.other = null; this.m_nodeB.contact = null; this.m_nodeB.prev = null; this.m_nodeB.next = null; this.m_nodeB.other = null; } }, update: function (a) { var b = this.m_oldManifold; this.m_oldManifold = this.m_manifold; this.m_manifold = b; this.m_flags |= eb.e_enabledFlag; var d = !1; b = (this.m_flags & eb.e_touchingFlag) == eb.e_touchingFlag; var e = this.m_fixtureA.m_body, f = this.m_fixtureB.m_body, c = this.m_fixtureA.m_aabb.testOverlap(this.m_fixtureB.m_aabb); if (0 != (this.m_flags & eb.e_sensorFlag)) c && ((d = this.m_fixtureA.getShape()), (c = this.m_fixtureB.getShape()), (e = e.getTransform()), (f = f.getTransform()), (d = Ub.testOverlap(d, e, c, f))), (this.m_manifold.m_pointCount = 0); else { e.getType() != va.b2_dynamicBody || e.isBullet() || f.getType() != va.b2_dynamicBody || f.isBullet() ? (this.m_flags |= eb.e_continuousFlag) : (this.m_flags &= ~eb.e_continuousFlag); if (c) { this.evaluate(); d = 0 < this.m_manifold.m_pointCount; c = 0; for (var l = this.m_manifold.m_pointCount; c < l; ) { var q = c++; q = this.m_manifold.m_points[q]; q.m_normalImpulse = 0; q.m_tangentImpulse = 0; for (var y = q.m_id, r = 0, h = this.m_oldManifold.m_pointCount; r < h; ) { var p = r++; p = this.m_oldManifold.m_points[p]; if (p.m_id.get_key() == y.get_key()) { q.m_normalImpulse = p.m_normalImpulse; q.m_tangentImpulse = p.m_tangentImpulse; break; } } } } else this.m_manifold.m_pointCount = 0; d != b && (e.setAwake(!0), f.setAwake(!0)); } this.m_flags = d ? this.m_flags | eb.e_touchingFlag : this.m_flags & ~eb.e_touchingFlag; 0 == b && 1 == d && a.beginContact(this); 1 == b && 0 == d && a.endContact(this); 0 == (this.m_flags & eb.e_sensorFlag) && a.preSolve(this, this.m_oldManifold); }, evaluate: function () {}, computeTOI: function (a, b) { eb.s_input.proxyA.set(this.m_fixtureA.getShape()); eb.s_input.proxyB.set(this.m_fixtureB.getShape()); eb.s_input.sweepA = a; eb.s_input.sweepB = b; eb.s_input.tolerance = Z.b2_linearSlop; return Kb.timeOfImpact(eb.s_input); }, m_flags: null, m_prev: null, m_next: null, m_nodeA: null, m_nodeB: null, m_fixtureA: null, m_fixtureB: null, m_manifold: null, m_oldManifold: null, m_toi: null, key: null, __class__: eb }; var mh = function () { eb.call(this); }; k['box2D.dynamics.contacts.B2CircleContact'] = mh; mh.__name__ = 'box2D.dynamics.contacts.B2CircleContact'; mh.create = function (a) { return new mh(); }; mh.destroy = function (a, b) {}; mh.__super__ = eb; mh.prototype = t(eb.prototype, { reset: function (a, b) { eb.prototype.reset.call(this, a, b); }, evaluate: function () { var a = this.m_fixtureA.getBody(), b = this.m_fixtureB.getBody(); G.collideCircles( this.m_manifold, w.__cast(this.m_fixtureA.getShape(), Lc), a.m_xf, w.__cast(this.m_fixtureB.getShape(), Lc), b.m_xf ); }, __class__: mh }); var En = function () { this.localPlaneNormal = new P(); this.localPoint = new P(); this.normal = new P(); this.normalMass = new yc(); this.K = new yc(); this.points = []; for (var a = 0, b = Z.b2_maxManifoldPoints; a < b; ) { var d = a++; this.points[d] = new Dn(); } }; k['box2D.dynamics.contacts.B2ContactConstraint'] = En; En.__name__ = 'box2D.dynamics.contacts.B2ContactConstraint'; En.prototype = { points: null, localPlaneNormal: null, localPoint: null, normal: null, normalMass: null, K: null, bodyA: null, bodyB: null, type: null, radius: null, friction: null, restitution: null, pointCount: null, manifold: null, __class__: En }; var Dn = function () { this.localPoint = new P(); this.rA = new P(); this.rB = new P(); }; k['box2D.dynamics.contacts.B2ContactConstraintPoint'] = Dn; Dn.__name__ = 'box2D.dynamics.contacts.B2ContactConstraintPoint'; Dn.prototype = { localPoint: null, rA: null, rB: null, normalImpulse: null, tangentImpulse: null, normalMass: null, tangentMass: null, equalizedMass: null, velocityBias: null, __class__: Dn }; var Bk = function () {}; k['box2D.dynamics.contacts.B2ContactEdge'] = Bk; Bk.__name__ = 'box2D.dynamics.contacts.B2ContactEdge'; Bk.prototype = { other: null, contact: null, prev: null, next: null, __class__: Bk }; var Cn = function (a) { this.m_allocator = a; this.initializeRegisters(); }; k['box2D.dynamics.contacts.B2ContactFactory'] = Cn; Cn.__name__ = 'box2D.dynamics.contacts.B2ContactFactory'; Cn.prototype = { addType: function (a, b, d, e) { this.m_registers[d][e].createFcn = a; this.m_registers[d][e].destroyFcn = b; this.m_registers[d][e].primary = d; }, initializeRegisters: function () { this.m_registers = []; this.m_registers[0] = []; this.m_registers[0][0] = null; this.m_registers[0][1] = null; this.m_registers[0][2] = null; this.m_registers[1] = []; this.m_registers[1][0] = null; this.m_registers[1][1] = null; this.m_registers[1][2] = null; this.m_registers[2] = []; this.m_registers[2][0] = null; this.m_registers[2][1] = null; this.m_registers[2][2] = null; null == this.m_registers[0][0] && (this.m_registers[0][0] = new $f()); null == this.m_registers[0][1] && ((this.m_registers[0][1] = new $f()), (this.m_registers[1][0] = this.m_registers[0][1])); null == this.m_registers[0][2] && ((this.m_registers[0][2] = new $f()), (this.m_registers[2][0] = this.m_registers[0][2])); null == this.m_registers[1][0] && ((this.m_registers[1][0] = new $f()), (this.m_registers[0][1] = this.m_registers[1][0])); null == this.m_registers[1][1] && (this.m_registers[1][1] = new $f()); null == this.m_registers[1][2] && ((this.m_registers[1][2] = new $f()), (this.m_registers[2][1] = this.m_registers[1][2])); null == this.m_registers[2][0] && ((this.m_registers[2][0] = new $f()), (this.m_registers[0][2] = this.m_registers[2][0])); null == this.m_registers[2][1] && ((this.m_registers[2][1] = new $f()), (this.m_registers[1][2] = this.m_registers[2][1])); null == this.m_registers[2][2] && (this.m_registers[2][2] = new $f()); this.addType(mh.create, mh.destroy, 0, 0); this.addType(nh.create, nh.destroy, 1, 0); this.addType(oh.create, oh.destroy, 1, 1); this.addType(Qa.create, Qa.destroy, 2, 0); this.addType(L.create, L.destroy, 1, 2); }, create: function (a, b) { var d = a.getType(), e = b.getType(); e = this.m_registers[d][e]; if (null != e.pool) { var f = e.pool; e.pool = f.m_next; e.poolCount--; e.primary == d ? f.reset(a, b) : f.reset(b, a); return f; } f = e.createFcn; return null != f ? (e.primary == d ? ((f = f(this.m_allocator)), f.reset(a, b)) : ((f = f(this.m_allocator)), f.reset(b, a)), f) : null; }, destroy: function (a) { 0 < a.m_manifold.m_pointCount && (a.m_fixtureA.m_body.setAwake(!0), a.m_fixtureB.m_body.setAwake(!0)); var b = a.m_fixtureA.getType(), d = a.m_fixtureB.getType(); b = this.m_registers[b][d]; b.poolCount++; a.m_next = b.pool; b.pool = a; b = b.destroyFcn; b(a, this.m_allocator); }, m_registers: null, m_allocator: null, __class__: Cn }; var $f = function () {}; k['box2D.dynamics.contacts.B2ContactRegister'] = $f; $f.__name__ = 'box2D.dynamics.contacts.B2ContactRegister'; $f.prototype = { createFcn: null, destroyFcn: null, primary: null, pool: null, poolCount: null, __class__: $f }; var vj = function () { this.m_normal = new P(); this.m_separations = []; this.m_points = []; for (var a = 0, b = Z.b2_maxManifoldPoints; a < b; ) { var d = a++; this.m_points[d] = new P(); } }; k['box2D.dynamics.contacts.B2PositionSolverManifold'] = vj; vj.__name__ = 'box2D.dynamics.contacts.B2PositionSolverManifold'; vj.prototype = { initialize: function (a) { Z.b2Assert(0 < a.pointCount); switch (a.type) { case 1: var b = a.bodyA.m_xf.R; var d = a.localPoint; var e = a.bodyA.m_xf.position.x + (b.col1.x * d.x + b.col2.x * d.y); var f = a.bodyA.m_xf.position.y + (b.col1.y * d.x + b.col2.y * d.y); b = a.bodyB.m_xf.R; d = a.points[0].localPoint; var c = a.bodyB.m_xf.position.x + (b.col1.x * d.x + b.col2.x * d.y); b = a.bodyB.m_xf.position.y + (b.col1.y * d.x + b.col2.y * d.y); var l = c - e; d = b - f; var q = l * l + d * d; q > Number.MIN_VALUE * Number.MIN_VALUE ? ((q = Math.sqrt(q)), (this.m_normal.x = l / q), (this.m_normal.y = d / q)) : ((this.m_normal.x = 1), (this.m_normal.y = 0)); this.m_points[0].x = 0.5 * (e + c); this.m_points[0].y = 0.5 * (f + b); this.m_separations[0] = l * this.m_normal.x + d * this.m_normal.y - a.radius; break; case 2: b = a.bodyA.m_xf.R; d = a.localPlaneNormal; this.m_normal.x = b.col1.x * d.x + b.col2.x * d.y; this.m_normal.y = b.col1.y * d.x + b.col2.y * d.y; b = a.bodyA.m_xf.R; d = a.localPoint; e = a.bodyA.m_xf.position.x + (b.col1.x * d.x + b.col2.x * d.y); f = a.bodyA.m_xf.position.y + (b.col1.y * d.x + b.col2.y * d.y); b = a.bodyB.m_xf.R; c = 0; for (l = a.pointCount; c < l; ) { var y = c++; d = a.points[y].localPoint; q = a.bodyB.m_xf.position.x + (b.col1.x * d.x + b.col2.x * d.y); d = a.bodyB.m_xf.position.y + (b.col1.y * d.x + b.col2.y * d.y); this.m_separations[y] = (q - e) * this.m_normal.x + (d - f) * this.m_normal.y - a.radius; this.m_points[y].x = q; this.m_points[y].y = d; } break; case 4: b = a.bodyB.m_xf.R; d = a.localPlaneNormal; this.m_normal.x = b.col1.x * d.x + b.col2.x * d.y; this.m_normal.y = b.col1.y * d.x + b.col2.y * d.y; b = a.bodyB.m_xf.R; d = a.localPoint; e = a.bodyB.m_xf.position.x + (b.col1.x * d.x + b.col2.x * d.y); f = a.bodyB.m_xf.position.y + (b.col1.y * d.x + b.col2.y * d.y); b = a.bodyA.m_xf.R; c = 0; for (l = a.pointCount; c < l; ) (y = c++), (d = a.points[y].localPoint), (q = a.bodyA.m_xf.position.x + (b.col1.x * d.x + b.col2.x * d.y)), (d = a.bodyA.m_xf.position.y + (b.col1.y * d.x + b.col2.y * d.y)), (this.m_separations[y] = (q - e) * this.m_normal.x + (d - f) * this.m_normal.y - a.radius), (y = this.m_points[y]), null == d && (d = 0), null == q && (q = 0), (y.x = q), (y.y = d); this.m_normal.x *= -1; this.m_normal.y *= -1; } }, m_normal: null, m_points: null, m_separations: null, __class__: vj }; var Ee = function () { this.m_step = new uj(); this.m_constraints = []; }; k['box2D.dynamics.contacts.B2ContactSolver'] = Ee; Ee.__name__ = 'box2D.dynamics.contacts.B2ContactSolver'; Ee.prototype = { initialize: function (a, b, d, e) { this.m_step.set(a); this.m_allocator = e; for (this.m_constraintCount = d; this.m_constraints.length < this.m_constraintCount; ) this.m_constraints[this.m_constraints.length] = new En(); for (a = 0; a < d; ) { e = a++; var f = b[e]; var c = f.m_fixtureA, l = f.m_fixtureB, q = c.m_shape.m_radius, y = l.m_shape.m_radius, r = c.m_body, h = l.m_body; f = f.getManifold(); var p = Z.b2MixFriction(c.getFriction(), l.getFriction()), k = Z.b2MixRestitution(c.getRestitution(), l.getRestitution()), n = r.m_linearVelocity.x, u = r.m_linearVelocity.y, m = h.m_linearVelocity.x, t = h.m_linearVelocity.y, x = r.m_angularVelocity, w = h.m_angularVelocity; Z.b2Assert(0 < f.m_pointCount); Ee.s_worldManifold.initialize(f, r.m_xf, q, h.m_xf, y); c = Ee.s_worldManifold.m_normal.x; l = Ee.s_worldManifold.m_normal.y; e = this.m_constraints[e]; e.bodyA = r; e.bodyB = h; e.manifold = f; e.normal.x = c; e.normal.y = l; e.pointCount = f.m_pointCount; e.friction = p; e.restitution = k; e.localPlaneNormal.x = f.m_localPlaneNormal.x; e.localPlaneNormal.y = f.m_localPlaneNormal.y; e.localPoint.x = f.m_localPoint.x; e.localPoint.y = f.m_localPoint.y; e.radius = q + y; e.type = f.m_type; q = 0; for (y = e.pointCount; q < y; ) { var v = q++, G = f.m_points[v]; p = e.points[v]; p.normalImpulse = G.m_normalImpulse; p.tangentImpulse = G.m_tangentImpulse; k = p.localPoint; G = G.m_localPoint; k.x = G.x; k.y = G.y; k = p.rA.x = Ee.s_worldManifold.m_points[v].x - r.m_sweep.c.x; G = p.rA.y = Ee.s_worldManifold.m_points[v].y - r.m_sweep.c.y; var B = (p.rB.x = Ee.s_worldManifold.m_points[v].x - h.m_sweep.c.x); v = p.rB.y = Ee.s_worldManifold.m_points[v].y - h.m_sweep.c.y; var N = k * l - G * c, H = B * l - v * c; N *= N; H *= H; p.normalMass = 1 / (r.m_invMass + h.m_invMass + r.m_invI * N + h.m_invI * H); var D = r.m_mass * r.m_invMass + h.m_mass * h.m_invMass; D += r.m_mass * r.m_invI * N + h.m_mass * h.m_invI * H; p.equalizedMass = 1 / D; H = l; D = -c; N = k * D - G * H; H = B * D - v * H; N *= N; H *= H; p.tangentMass = 1 / (r.m_invMass + h.m_invMass + r.m_invI * N + h.m_invI * H); p.velocityBias = 0; k = e.normal.x * (m + -w * v - n - -x * G) + e.normal.y * (t + w * B - u - x * k); k < -Z.b2_velocityThreshold && (p.velocityBias += -e.restitution * k); } 2 == e.pointCount && ((t = e.points[0]), (m = e.points[1]), (f = r.m_invMass), (r = r.m_invI), (n = h.m_invMass), (h = h.m_invI), (u = t.rA.x * l - t.rA.y * c), (t = t.rB.x * l - t.rB.y * c), (x = m.rA.x * l - m.rA.y * c), (m = m.rB.x * l - m.rB.y * c), (l = f + n + r * u * u + h * t * t), (c = f + n + r * x * x + h * m * m), (h = f + n + r * u * x + h * t * m), l * l < 100 * (l * c - h * h) ? ((r = e.K.col1), (f = h), null == f && (f = 0), null == l && (l = 0), (r.x = l), (r.y = f), (l = e.K.col2), null == c && (c = 0), null == h && (h = 0), (l.x = h), (l.y = c), e.K.getInverse(e.normalMass)) : (e.pointCount = 1)); } }, initVelocityConstraints: function (a) { for (var b = 0, d = this.m_constraintCount; b < d; ) { var e = b++; e = this.m_constraints[e]; var f = e.bodyA, c = e.bodyB, l = f.m_invMass, q = f.m_invI, y = c.m_invMass, r = c.m_invI, h = e.normal.x, p = e.normal.y, k = p, n = -h; if (a.warmStarting) { var u = e.pointCount; for (var m = 0; m < u; ) { var t = m++; t = e.points[t]; t.normalImpulse *= a.dtRatio; t.tangentImpulse *= a.dtRatio; var x = t.normalImpulse * h + t.tangentImpulse * k, w = t.normalImpulse * p + t.tangentImpulse * n; f.m_angularVelocity -= q * (t.rA.x * w - t.rA.y * x); f.m_linearVelocity.x -= l * x; f.m_linearVelocity.y -= l * w; c.m_angularVelocity += r * (t.rB.x * w - t.rB.y * x); c.m_linearVelocity.x += y * x; c.m_linearVelocity.y += y * w; } } else for (u = e.pointCount, f = 0, c = u; f < c; ) (l = f++), (l = e.points[l]), (l.normalImpulse = 0), (l.tangentImpulse = 0); } }, solveVelocityConstraints: function () { for (var a, b, d, e, f, c, l, q, y, r, h = 0, p = this.m_constraintCount; h < p; ) { var k = h++; e = this.m_constraints[k]; k = e.bodyA; var n = e.bodyB, u = k.m_angularVelocity, m = n.m_angularVelocity, t = k.m_linearVelocity, x = n.m_linearVelocity, w = k.m_invMass, v = k.m_invI, G = n.m_invMass, B = n.m_invI; q = e.normal.x; var N = (y = e.normal.y), H = -q; r = e.friction; l = 0; for (c = e.pointCount; l < c; ) (a = l++), (a = e.points[a]), (b = x.x - m * a.rB.y - t.x + u * a.rA.y), (d = x.y + m * a.rB.x - t.y - u * a.rA.x), (b = b * N + d * H), (b = a.tangentMass * -b), (d = r * a.normalImpulse), (d = R.clamp(a.tangentImpulse + b, -d, d)), (b = d - a.tangentImpulse), (f = b * N), (b *= H), (t.x -= w * f), (t.y -= w * b), (u -= v * (a.rA.x * b - a.rA.y * f)), (x.x += G * f), (x.y += G * b), (m += B * (a.rB.x * b - a.rB.y * f)), (a.tangentImpulse = d); if (1 == e.pointCount) (a = e.points[0]), (b = x.x + -m * a.rB.y - t.x - -u * a.rA.y), (d = x.y + m * a.rB.x - t.y - u * a.rA.x), (e = b * q + d * y), (b = -a.normalMass * (e - a.velocityBias)), (d = a.normalImpulse + b), 0 < d || (d = 0), (b = d - a.normalImpulse), (f = b * q), (b *= y), (t.x -= w * f), (t.y -= w * b), (u -= v * (a.rA.x * b - a.rA.y * f)), (x.x += G * f), (x.y += G * b), (m += B * (a.rB.x * b - a.rB.y * f)), (a.normalImpulse = d); else { a = e.points[0]; N = e.points[1]; c = a.normalImpulse; l = N.normalImpulse; f = (x.x - m * a.rB.y - t.x + u * a.rA.y) * q + (x.y + m * a.rB.x - t.y - u * a.rA.x) * y; var D = (x.x - m * N.rB.y - t.x + u * N.rA.y) * q + (x.y + m * N.rB.x - t.y - u * N.rA.x) * y; b = f - a.velocityBias; d = D - N.velocityBias; r = e.K; b -= r.col1.x * c + r.col2.x * l; for (d -= r.col1.y * c + r.col2.y * l; ; ) { r = e.normalMass; H = -(r.col1.x * b + r.col2.x * d); r = -(r.col1.y * b + r.col2.y * d); if (0 <= H && 0 <= r) { c = H - c; l = r - l; e = c * q; c *= y; q *= l; y *= l; t.x -= w * (e + q); t.y -= w * (c + y); u -= v * (a.rA.x * c - a.rA.y * e + N.rA.x * y - N.rA.y * q); x.x += G * (e + q); x.y += G * (c + y); m += B * (a.rB.x * c - a.rB.y * e + N.rB.x * y - N.rB.y * q); a.normalImpulse = H; N.normalImpulse = r; break; } H = -a.normalMass * b; r = 0; D = e.K.col1.y * H + d; if (0 <= H && 0 <= D) { c = H - c; l = r - l; e = c * q; c *= y; q *= l; y *= l; t.x -= w * (e + q); t.y -= w * (c + y); u -= v * (a.rA.x * c - a.rA.y * e + N.rA.x * y - N.rA.y * q); x.x += G * (e + q); x.y += G * (c + y); m += B * (a.rB.x * c - a.rB.y * e + N.rB.x * y - N.rB.y * q); a.normalImpulse = H; N.normalImpulse = r; break; } H = 0; r = -N.normalMass * d; f = e.K.col2.x * r + b; if (0 <= r && 0 <= f) { c = H - c; l = r - l; e = c * q; c *= y; q *= l; y *= l; t.x -= w * (e + q); t.y -= w * (c + y); u -= v * (a.rA.x * c - a.rA.y * e + N.rA.x * y - N.rA.y * q); x.x += G * (e + q); x.y += G * (c + y); m += B * (a.rB.x * c - a.rB.y * e + N.rB.x * y - N.rB.y * q); a.normalImpulse = H; N.normalImpulse = r; break; } r = H = 0; f = b; D = d; if (0 <= f && 0 <= D) { c = H - c; l = r - l; e = c * q; c *= y; q *= l; y *= l; t.x -= w * (e + q); t.y -= w * (c + y); u -= v * (a.rA.x * c - a.rA.y * e + N.rA.x * y - N.rA.y * q); x.x += G * (e + q); x.y += G * (c + y); m += B * (a.rB.x * c - a.rB.y * e + N.rB.x * y - N.rB.y * q); a.normalImpulse = H; N.normalImpulse = r; break; } break; } } k.m_angularVelocity = u; n.m_angularVelocity = m; } }, finalizeVelocityConstraints: function () { for (var a = 0, b = this.m_constraintCount; a < b; ) { var d = a++; d = this.m_constraints[d]; for (var e = d.manifold, f = 0, c = d.pointCount; f < c; ) { var l = f++, q = e.m_points[l]; l = d.points[l]; q.m_normalImpulse = l.normalImpulse; q.m_tangentImpulse = l.tangentImpulse; } } }, solvePositionConstraints: function (a) { for (var b = 0, d = 0, e = this.m_constraintCount; d < e; ) { var f = d++; f = this.m_constraints[f]; var c = f.bodyA, l = f.bodyB, q = c.m_mass * c.m_invMass, y = c.m_mass * c.m_invI, r = l.m_mass * l.m_invMass, h = l.m_mass * l.m_invI; Ee.s_psm.initialize(f); for (var p = Ee.s_psm.m_normal, k = 0, n = f.pointCount; k < n; ) { var u = k++, m = f.points[u], t = Ee.s_psm.m_points[u], x = Ee.s_psm.m_separations[u]; u = t.x - c.m_sweep.c.x; var w = t.y - c.m_sweep.c.y, v = t.x - l.m_sweep.c.x; t = t.y - l.m_sweep.c.y; b < x || (b = x); x = R.clamp(a * (x + Z.b2_linearSlop), -Z.b2_maxLinearCorrection, 0); x *= -m.equalizedMass; m = x * p.x; x *= p.y; c.m_sweep.c.x -= q * m; c.m_sweep.c.y -= q * x; c.m_sweep.a -= y * (u * x - w * m); c.synchronizeTransform(); l.m_sweep.c.x += r * m; l.m_sweep.c.y += r * x; l.m_sweep.a += h * (v * x - t * m); l.synchronizeTransform(); } } return b > -1.5 * Z.b2_linearSlop; }, m_step: null, m_allocator: null, m_constraints: null, m_constraintCount: null, __class__: Ee }; var Qa = function () { eb.call(this); }; k['box2D.dynamics.contacts.B2EdgeAndCircleContact'] = Qa; Qa.__name__ = 'box2D.dynamics.contacts.B2EdgeAndCircleContact'; Qa.create = function (a) { return new Qa(); }; Qa.destroy = function (a, b) {}; Qa.__super__ = eb; Qa.prototype = t(eb.prototype, { m_v0: null, m_v1: null, m_v2: null, m_v3: null, reset: function (a, b) { eb.prototype.reset.call(this, a, b); }, evaluate: function () { var a = this.m_fixtureA.getBody(), b = this.m_fixtureB.getBody(); this.b2CollideEdgeAndCircle( this.m_manifold, w.__cast(this.m_fixtureA.getShape(), vg), a.m_xf, w.__cast(this.m_fixtureB.getShape(), Lc), b.m_xf ); }, b2CollideEdgeAndCircle: function (a, b, d, e, f) { a.m_pointCount = 0; this.multiplyTransformVector(f, e.m_p, Qa.temp1); f = Qa.q; var c = R.mulXT(d, Qa.temp1); f.x = c.x; f.y = c.y; this.m_v0 = b.m_v0; this.m_v1 = b.m_v1; this.m_v2 = b.m_v2; this.m_v3 = b.m_v3; f = Qa.e; c = this.m_v2.x - this.m_v1.x; var l = this.m_v2.y - this.m_v1.y; null == l && (l = 0); null == c && (c = 0); f.x = c; f.y = l; f = Qa.temp1; c = this.m_v2.x - Qa.q.x; l = this.m_v2.y - Qa.q.y; null == l && (l = 0); null == c && (c = 0); f.x = c; f.y = l; var q = R.dot(Qa.e, Qa.temp1); f = Qa.temp1; c = Qa.q.x - this.m_v1.x; l = Qa.q.y - this.m_v1.y; null == l && (l = 0); null == c && (c = 0); f.x = c; f.y = l; c = R.dot(Qa.e, Qa.temp1); d = b.m_radius + e.m_radius; if (0 >= c) { if ( ((f = Qa.p), (q = this.m_v1), (f.x = q.x), (f.y = q.y), (f = Qa.temp1), (c = Qa.q.x - Qa.p.x), (l = Qa.q.y - Qa.p.y), null == l && (l = 0), null == c && (c = 0), (f.x = c), (f.y = l), (f = R.dot(Qa.temp1, Qa.temp1)), !(f > d * d)) ) { if ( b.m_hasVertex0 && ((f = Qa.temp1), (c = this.m_v1.x - this.m_v0.x), (l = this.m_v1.y - this.m_v0.y), null == l && (l = 0), null == c && (c = 0), (f.x = c), (f.y = l), (f = Qa.temp2), (c = this.m_v1.x - Qa.q.x), (l = this.m_v1.y - Qa.q.y), null == l && (l = 0), null == c && (c = 0), (f.x = c), (f.y = l), 0 < R.dot(Qa.temp1, Qa.temp2)) ) return; a.m_pointCount = 1; a.m_type = 1; f = a.m_localPlaneNormal; f.x = 0; f.y = 0; f = a.m_localPoint; q = Qa.p; f.x = q.x; f.y = q.y; a.m_points[0].m_id.set_key(0); a.m_points[0].m_id.indexA = 0; a.m_points[0].m_id.indexB = 0; a.m_points[0].m_id.typeA = Rb.VERTEX; a.m_points[0].m_id.typeB = Rb.VERTEX; f = a.m_points[0].m_localPoint; q = e.m_p; f.x = q.x; f.y = q.y; } } else if (0 >= q) { if ( ((f = Qa.p), (q = this.m_v2), (f.x = q.x), (f.y = q.y), (f = Qa.temp1), (c = Qa.q.x - Qa.p.x), (l = Qa.q.y - Qa.p.y), null == l && (l = 0), null == c && (c = 0), (f.x = c), (f.y = l), (f = R.dot(Qa.temp1, Qa.temp1)), !(f > d * d)) ) { if ( b.m_hasVertex3 && ((f = Qa.temp1), (c = this.m_v3.x - this.m_v2.x), (l = this.m_v3.y - this.m_v2.y), null == l && (l = 0), null == c && (c = 0), (f.x = c), (f.y = l), (f = Qa.temp2), (c = Qa.q.x - this.m_v2.x), (l = Qa.q.y - this.m_v2.y), null == l && (l = 0), null == c && (c = 0), (f.x = c), (f.y = l), 0 < R.dot(Qa.temp1, Qa.temp2)) ) return; a.m_pointCount = 1; a.m_type = 1; f = a.m_localPlaneNormal; f.x = 0; f.y = 0; f = a.m_localPoint; q = Qa.p; f.x = q.x; f.y = q.y; a.m_points[0].m_id.set_key(0); a.m_points[0].m_id.indexA = 1; a.m_points[0].m_id.indexB = 0; a.m_points[0].m_id.typeA = Rb.VERTEX; a.m_points[0].m_id.typeB = Rb.VERTEX; f = a.m_points[0].m_localPoint; q = e.m_p; f.x = q.x; f.y = q.y; } } else (b = R.dot(Qa.e, Qa.e)), Z.b2Assert(0 < b), (Qa.p.x = (1 / b) * (this.m_v1.x * q + this.m_v2.x * c)), (Qa.p.y = (1 / b) * (this.m_v1.y * q + this.m_v2.y * c)), (Qa.temp1.x = Qa.q.x - Qa.p.x), (Qa.temp1.y = Qa.q.y - Qa.p.y), (f = R.dot(Qa.temp1, Qa.temp1)), f > d * d || ((f = Qa.temp1), (c = -Qa.e.y), (l = Qa.e.x), null == l && (l = 0), null == c && (c = 0), (f.x = c), (f.y = l), (f = Qa.temp2), (c = Qa.q.x - this.m_v1.x), (l = Qa.q.y - this.m_v1.y), null == l && (l = 0), null == c && (c = 0), (f.x = c), (f.y = l), 0 > R.dot(Qa.temp1, Qa.temp2) && ((f = Qa.temp1), (f.x = -f.x), (f.y = -f.y)), Qa.temp1.normalize(), (a.m_pointCount = 1), (a.m_type = 2), (f = a.m_localPlaneNormal), (c = Qa.temp1), (f.x = c.x), (f.y = c.y), (f = a.m_localPoint), (c = this.m_v1), (f.x = c.x), (f.y = c.y), a.m_points[0].m_id.set_key(0), (a.m_points[0].m_id.indexA = 0), (a.m_points[0].m_id.indexB = 0), (a.m_points[0].m_id.typeA = Rb.FACE), (a.m_points[0].m_id.typeB = Rb.VERTEX), (f = a.m_points[0].m_localPoint), (c = e.m_p), (f.x = c.x), (f.y = c.y)); }, multiplyTransformsInverse: function (a, b, d) { this.multiplyRotationsInverse(a.R, b.R, Qa.mat); var e = Qa.temp2; b = b.position; e.x = b.x; e.y = b.y; Qa.temp2.subtract(a.position); this.multiplyRotationVectorInverse(a.R, Qa.temp2, d.position); e = d.R.col1; b = Qa.mat.col1; e.x = b.x; e.y = b.y; e = d.R.col2; b = Qa.mat.col2; e.x = b.x; e.y = b.y; }, multiplyRotationsInverse: function (a, b, d) { d.col1.x = a.col1.x * b.col1.x + a.col1.y * b.col1.y; d.col1.y = a.col2.x * b.col1.x + a.col2.y * b.col1.y; d.col2.x = a.col1.x * b.col2.x + a.col1.y * b.col2.y; d.col2.y = a.col2.x * b.col2.x + a.col2.y * b.col2.y; }, multiplyRotationVector: function (a, b, d) { d.x = a.col1.x * b.x + a.col2.x * b.y; d.y = a.col1.y * b.x + a.col2.y * b.y; }, multiplyRotationVectorInverse: function (a, b, d) { d.x = a.col1.x * b.x + a.col1.y * b.y; d.y = a.col2.x * b.x + a.col2.y * b.y; }, multiplyTransformVector: function (a, b, d) { d.x = a.R.col1.x * b.x + a.R.col2.x * b.y + a.position.x; d.y = a.R.col1.y * b.x + a.R.col2.y * b.y + a.position.y; }, __class__: Qa }); var nh = function () { eb.call(this); }; k['box2D.dynamics.contacts.B2PolyAndCircleContact'] = nh; nh.__name__ = 'box2D.dynamics.contacts.B2PolyAndCircleContact'; nh.create = function (a) { return new nh(); }; nh.destroy = function (a, b) {}; nh.__super__ = eb; nh.prototype = t(eb.prototype, { reset: function (a, b) { eb.prototype.reset.call(this, a, b); Z.b2Assert(1 == a.getType()); Z.b2Assert(0 == b.getType()); }, evaluate: function () { var a = this.m_fixtureA.m_body, b = this.m_fixtureB.m_body; G.collidePolygonAndCircle( this.m_manifold, w.__cast(this.m_fixtureA.getShape(), Eb), a.m_xf, w.__cast(this.m_fixtureB.getShape(), Lc), b.m_xf ); }, __class__: nh }); var ph = function () { this.v = new P(); this.id = new Rb(); }; k['box2D.dynamics.contacts.ClipVertex'] = ph; ph.__name__ = 'box2D.dynamics.contacts.ClipVertex'; ph.prototype = { v: null, id: null, set: function (a) { var b = this.v, d = a.v; b.x = d.x; b.y = d.y; this.id.set(a.id); }, __class__: ph }; var Ck = function () {}; k['box2D.dynamics.contacts.EPAxis'] = Ck; Ck.__name__ = 'box2D.dynamics.contacts.EPAxis'; Ck.prototype = { type: null, index: null, separation: null, __class__: Ck }; var Fn = function () { this.vertices = []; this.normals = []; for (var a = 0; 32 > a; ) a++, this.vertices.push(new P()), this.normals.push(new P()); }; k['box2D.dynamics.contacts.TempPolygon'] = Fn; Fn.__name__ = 'box2D.dynamics.contacts.TempPolygon'; Fn.prototype = { vertices: null, normals: null, count: null, __class__: Fn }; var Gn = function () { this.v1 = new P(); this.v2 = new P(); this.normal = new P(); this.sideNormal1 = new P(); this.sideNormal2 = new P(); }; k['box2D.dynamics.contacts.ReferenceFace'] = Gn; Gn.__name__ = 'box2D.dynamics.contacts.ReferenceFace'; Gn.prototype = { i1: null, i2: null, v1: null, v2: null, normal: null, sideNormal1: null, sideNormal2: null, sideOffset1: null, sideOffset2: null, __class__: Gn }; var L = function () { eb.call(this); }; k['box2D.dynamics.contacts.B2PolyAndEdgeContact'] = L; L.__name__ = 'box2D.dynamics.contacts.B2PolyAndEdgeContact'; L.create = function (a) { return new L(); }; L.destroy = function (a, b) {}; L.clipSegmentToLine = function (a, b, d, e, f) { var c = 0, l = R.dot(d, b[0].v) - e; d = R.dot(d, b[1].v) - e; 0 >= l && a[c++].set(b[0]); 0 >= d && a[c++].set(b[1]); 0 > l * d && ((l /= l - d), (d = a[c].v), (e = b[1].v), (d.x = e.x), (d.y = e.y), a[c].v.subtract(b[0].v), a[c].v.multiply(l), a[c].v.add(b[0].v), (a[c].id.indexA = f), (a[c].id.indexB = b[0].id.indexB), (a[c].id.typeA = Rb.VERTEX), (a[c].id.typeB = Rb.FACE), ++c); return c; }; L.__super__ = eb; L.prototype = t(eb.prototype, { m_v0: null, m_v1: null, m_v2: null, m_v3: null, m_front: null, m_radius: null, reset: function (a, b) { a.getShape() instanceof Eb ? (eb.prototype.reset.call(this, b, a), Z.b2Assert(1 == a.getType()), Z.b2Assert(2 == b.getType())) : (eb.prototype.reset.call(this, a, b), Z.b2Assert(2 == a.getType()), Z.b2Assert(1 == b.getType())); }, evaluate: function () { var a = this.m_fixtureA.getBody(), b = this.m_fixtureB.getBody(); this.b2CollidePolyAndEdge( this.m_manifold, w.__cast(this.m_fixtureA.getShape(), vg), a.m_xf, w.__cast(this.m_fixtureB.getShape(), Eb), b.m_xf ); }, b2CollidePolyAndEdge: function (a, b, d, e, f) { this.multiplyTransformsInverse(d, f, L.m_xf); this.multiplyTransformVector(L.m_xf, e.m_centroid, L.temp); f = L.m_centroidB; var c = L.temp; f.x = c.x; f.y = c.y; this.m_v0 = b.m_v0; this.m_v1 = b.m_v1; this.m_v2 = b.m_v2; this.m_v3 = b.m_v3; d = b.m_hasVertex0; b = b.m_hasVertex3; f = L.edge1; c = this.m_v2; f.x = c.x; f.y = c.y; L.edge1.subtract(this.m_v1); L.edge1.normalize(); f = L.m_normal1; c = L.edge1.y; var l = -L.edge1.x; null == l && (l = 0); null == c && (c = 0); f.x = c; f.y = l; f = L.temp; c = L.m_centroidB; f.x = c.x; f.y = c.y; L.temp.subtract(this.m_v1); var q = R.dot(L.m_normal1, L.temp), y = 0, r = 0, h = !1, p = !1; d && ((f = L.edge0), (c = this.m_v1), (f.x = c.x), (f.y = c.y), L.edge0.subtract(this.m_v0), L.edge0.normalize(), (f = L.m_normal0), (c = L.edge0.y), (l = -L.edge0.x), null == l && (l = 0), null == c && (c = 0), (f.x = c), (f.y = l), (h = 0 <= R.crossVV(L.edge0, L.edge1)), (f = L.temp), (c = L.m_centroidB), (f.x = c.x), (f.y = c.y), L.temp.subtract(this.m_v0), (y = R.dot(L.m_normal0, L.temp))); b && ((f = L.edge2), (c = this.m_v3), (f.x = c.x), (f.y = c.y), L.edge2.subtract(this.m_v2), L.edge2.normalize(), (f = L.m_normal2), (c = L.edge2.y), (l = -L.edge2.x), null == l && (l = 0), null == c && (c = 0), (f.x = c), (f.y = l), (p = 0 < R.crossVV(L.edge1, L.edge2)), (f = L.temp), (c = L.m_centroidB), (f.x = c.x), (f.y = c.y), L.temp.subtract(this.m_v2), (r = R.dot(L.m_normal2, L.temp))); d && b ? h && p ? (this.m_front = 0 <= y || 0 <= q || 0 <= r) ? ((f = L.m_normal), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_lowerLimit), (c = L.m_normal0), (f.x = c.x), (f.y = c.y), (f = L.m_upperLimit), (c = L.m_normal2), (f.x = c.x), (f.y = c.y)) : ((f = L.m_normal), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_normal), (f.x = -f.x), (f.y = -f.y), (f = L.m_lowerLimit), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_lowerLimit), (f.x = -f.x), (f.y = -f.y), (f = L.m_upperLimit), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_upperLimit), (f.x = -f.x), (f.y = -f.y)) : h ? (this.m_front = 0 <= y || (0 <= q && 0 <= r)) ? ((f = L.m_normal), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_lowerLimit), (c = L.m_normal0), (f.x = c.x), (f.y = c.y), (f = L.m_upperLimit), (c = L.m_normal1), (f.x = c.x), (f.y = c.y)) : ((f = L.m_normal), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_normal), (f.x = -f.x), (f.y = -f.y), (f = L.m_lowerLimit), (c = L.m_normal2), (f.x = c.x), (f.y = c.y), (f = L.m_lowerLimit), (f.x = -f.x), (f.y = -f.y), (f = L.m_upperLimit), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_upperLimit), (f.x = -f.x), (f.y = -f.y)) : p ? (this.m_front = 0 <= r || (0 <= y && 0 <= q)) ? ((f = L.m_normal), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_lowerLimit), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_upperLimit), (c = L.m_normal2), (f.x = c.x), (f.y = c.y)) : ((f = L.m_normal), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_normal), (f.x = -f.x), (f.y = -f.y), (f = L.m_lowerLimit), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_lowerLimit), (f.x = -f.x), (f.y = -f.y), (f = L.m_upperLimit), (c = L.m_normal0), (f.x = c.x), (f.y = c.y), (f = L.m_upperLimit), (f.x = -f.x), (f.y = -f.y)) : (this.m_front = 0 <= y && 0 <= q && 0 <= r) ? ((f = L.m_normal), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_lowerLimit), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_upperLimit), (c = L.m_normal1), (f.x = c.x), (f.y = c.y)) : ((f = L.m_normal), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_normal), (f.x = -f.x), (f.y = -f.y), (f = L.m_lowerLimit), (c = L.m_normal2), (f.x = c.x), (f.y = c.y), (f = L.m_lowerLimit), (f.x = -f.x), (f.y = -f.y), (f = L.m_upperLimit), (c = L.m_normal0), (f.x = c.x), (f.y = c.y), (f = L.m_upperLimit), (f.x = -f.x), (f.y = -f.y)) : d ? (h ? ((this.m_front = 0 <= y || 0 <= q) ? ((f = L.m_normal), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_lowerLimit), (c = L.m_normal0)) : ((f = L.m_normal), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_normal), (f.x = -f.x), (f.y = -f.y), (f = L.m_lowerLimit), (c = L.m_normal1)), (f.x = c.x), (f.y = c.y), (f = L.m_upperLimit), (c = L.m_normal1)) : (this.m_front = 0 <= y && 0 <= q) ? ((f = L.m_normal), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_lowerLimit), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_upperLimit), (c = L.m_normal1)) : ((f = L.m_normal), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_normal), (f.x = -f.x), (f.y = -f.y), (f = L.m_lowerLimit), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_upperLimit), (c = L.m_normal0)), (f.x = c.x), (f.y = c.y), (f = L.m_upperLimit), (f.x = -f.x), (f.y = -f.y)) : b ? (p ? (this.m_front = 0 <= q || 0 <= r) ? ((f = L.m_normal), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_lowerLimit), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_lowerLimit), (f.x = -f.x), (f.y = -f.y), (f = L.m_upperLimit), (c = L.m_normal2)) : ((f = L.m_normal), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_normal), (f.x = -f.x), (f.y = -f.y), (f = L.m_lowerLimit), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_lowerLimit), (f.x = -f.x), (f.y = -f.y), (f = L.m_upperLimit), (c = L.m_normal1)) : ((this.m_front = 0 <= q && 0 <= r) ? ((f = L.m_normal), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_lowerLimit), (c = L.m_normal1)) : ((f = L.m_normal), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_normal), (f.x = -f.x), (f.y = -f.y), (f = L.m_lowerLimit), (c = L.m_normal2)), (f.x = c.x), (f.y = c.y), (f = L.m_lowerLimit), (f.x = -f.x), (f.y = -f.y), (f = L.m_upperLimit), (c = L.m_normal1)), (f.x = c.x), (f.y = c.y)) : (this.m_front = 0 <= q) ? ((f = L.m_normal), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_lowerLimit), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_lowerLimit), (f.x = -f.x), (f.y = -f.y), (f = L.m_upperLimit), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_upperLimit), (f.x = -f.x), (f.y = -f.y)) : ((f = L.m_normal), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_normal), (f.x = -f.x), (f.y = -f.y), (f = L.m_lowerLimit), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.m_upperLimit), (c = L.m_normal1), (f.x = c.x), (f.y = c.y)); L.m_polygonB.count = e.m_vertexCount; b = 0; for (l = e.m_vertexCount; b < l; ) (q = b++), this.multiplyTransformVector(L.m_xf, e.m_vertices[q], L.temp), (f = L.m_polygonB.vertices[q]), (c = L.temp), (f.x = c.x), (f.y = c.y), this.multiplyRotationVector(L.m_xf.R, e.m_normals[q], L.temp), (c = L.m_polygonB.normals[q]), (y = L.temp), (c.x = y.x), (c.y = y.y); this.m_radius = 2 * Z.b2_polygonRadius; a.m_pointCount = 0; this.computeEdgeSeparation(L.edgeAxis); if ( !( L.edgeAxis.type == If.UNKNOWN || L.edgeAxis.separation > this.m_radius || (this.computePolygonSeparation(L.polygonAxis), L.polygonAxis.type != If.UNKNOWN && L.polygonAxis.separation > this.m_radius) ) ) { d = L.polygonAxis.type == If.UNKNOWN ? L.edgeAxis : L.polygonAxis.separation > 0.98 * L.edgeAxis.separation + 0.001 ? L.polygonAxis : L.edgeAxis; if (d.type == If.EDGE_A) { a.m_type = 2; f = 0; c = R.dot(L.m_normal, L.m_polygonB.normals[0]); b = 1; for (l = L.m_polygonB.count; b < l; ) (q = b++), (y = R.dot(L.m_normal, L.m_polygonB.normals[q])), y < c && ((c = y), (f = q)); b = f; l = b + 1 < L.m_polygonB.count ? b + 1 : 0; f = L.ie[0].v; c = L.m_polygonB.vertices[b]; f.x = c.x; f.y = c.y; L.ie[0].id.indexA = 0; L.ie[0].id.indexB = b; L.ie[0].id.typeA = Rb.FACE; L.ie[0].id.typeB = Rb.VERTEX; f = L.ie[1].v; c = L.m_polygonB.vertices[l]; f.x = c.x; f.y = c.y; L.ie[1].id.indexA = 0; L.ie[1].id.indexB = l; L.ie[1].id.typeA = Rb.FACE; L.ie[1].id.typeB = Rb.VERTEX; this.m_front ? ((L.rf.i1 = 0), (L.rf.i2 = 1), (f = L.rf.v1), (c = this.m_v1), (f.x = c.x), (f.y = c.y), (f = L.rf.v2), (c = this.m_v2), (f.x = c.x), (f.y = c.y), (f = L.rf.normal), (c = L.m_normal1), (f.x = c.x), (f.y = c.y)) : ((L.rf.i1 = 1), (L.rf.i2 = 0), (f = L.rf.v1), (c = this.m_v2), (f.x = c.x), (f.y = c.y), (f = L.rf.v2), (c = this.m_v1), (f.x = c.x), (f.y = c.y), (f = L.rf.normal), (c = L.m_normal1), (f.x = c.x), (f.y = c.y), (f = L.rf.normal), (f.x = -f.x), (f.y = -f.y)); } else (a.m_type = 4), (f = L.ie[0].v), (c = this.m_v1), (f.x = c.x), (f.y = c.y), (L.ie[0].id.indexA = 0), (L.ie[0].id.indexB = d.index), (L.ie[0].id.typeA = Rb.VERTEX), (L.ie[0].id.typeB = Rb.FACE), (f = L.ie[1].v), (c = this.m_v2), (f.x = c.x), (f.y = c.y), (L.ie[1].id.indexA = 0), (L.ie[1].id.indexB = d.index), (L.ie[1].id.typeA = Rb.VERTEX), (L.ie[1].id.typeB = Rb.FACE), (L.rf.i1 = d.index), (L.rf.i2 = L.rf.i1 + 1 < L.m_polygonB.count ? L.rf.i1 + 1 : 0), (f = L.rf.v1), (c = L.m_polygonB.vertices[L.rf.i1]), (f.x = c.x), (f.y = c.y), (f = L.rf.v2), (c = L.m_polygonB.vertices[L.rf.i2]), (f.x = c.x), (f.y = c.y), (f = L.rf.normal), (c = L.m_polygonB.normals[L.rf.i1]), (f.x = c.x), (f.y = c.y); f = L.rf.sideNormal1; c = L.rf.normal.y; l = -L.rf.normal.x; null == l && (l = 0); null == c && (c = 0); f.x = c; f.y = l; f = L.rf.sideNormal2; c = L.rf.sideNormal1; f.x = c.x; f.y = c.y; f = L.rf.sideNormal2; f.x = -f.x; f.y = -f.y; L.rf.sideOffset1 = R.dot(L.rf.sideNormal1, L.rf.v1); L.rf.sideOffset2 = R.dot(L.rf.sideNormal2, L.rf.v2); f = L.clipSegmentToLine( L.clipPoints1, L.ie, L.rf.sideNormal1, L.rf.sideOffset1, L.rf.i1 ); if ( !( f < Z.b2_maxManifoldPoints || ((f = L.clipSegmentToLine( L.clipPoints2, L.clipPoints1, L.rf.sideNormal2, L.rf.sideOffset2, L.rf.i2 )), f < Z.b2_maxManifoldPoints) ) ) { d.type == If.EDGE_A ? ((f = a.m_localPlaneNormal), (c = L.rf.normal), (f.x = c.x), (f.y = c.y), (f = a.m_localPoint), (c = L.rf.v1)) : ((f = a.m_localPlaneNormal), (c = e.m_normals[L.rf.i1]), (f.x = c.x), (f.y = c.y), (f = a.m_localPoint), (c = e.m_vertices[L.rf.i1])); f.x = c.x; f.y = c.y; b = e = 0; for (l = Z.b2_maxManifoldPoints; b < l; ) (q = b++), (f = L.temp), (c = L.clipPoints2[q].v), (f.x = c.x), (f.y = c.y), L.temp.subtract(L.rf.v1), R.dot(L.rf.normal, L.temp) <= this.m_radius && ((f = a.m_points[e]), d.type == If.EDGE_A ? ((c = f.m_localPoint), (y = R.mulXT(L.m_xf, L.clipPoints2[q].v)), (c.x = y.x), (c.y = y.y), f.m_id.set(L.clipPoints2[q].id)) : ((c = f.m_localPoint), (y = L.clipPoints2[q].v), (c.x = y.x), (c.y = y.y), (f.m_id.typeA = L.clipPoints2[q].id.typeB), (f.m_id.typeB = L.clipPoints2[q].id.typeA), (f.m_id.indexA = L.clipPoints2[q].id.indexB), (f.m_id.indexB = L.clipPoints2[q].id.indexA)), ++e); a.m_pointCount = e; } } }, computeEdgeSeparation: function (a) { a.type = If.EDGE_A; a.index = this.m_front ? 0 : 1; a.separation = Number.MAX_VALUE; for (var b = 0, d = L.m_polygonB.count; b < d; ) { var e = b++, c = L.temp; e = L.m_polygonB.vertices[e]; c.x = e.x; c.y = e.y; L.temp.subtract(this.m_v1); c = R.dot(L.m_normal, L.temp); c < a.separation && (a.separation = c); } }, computePolygonSeparation: function (a) { a.type = If.UNKNOWN; a.index = -1; a.separation = -Number.MAX_VALUE; var b = L.perp, d = -L.m_normal.y, e = L.m_normal.x; null == e && (e = 0); null == d && (d = 0); b.x = d; b.y = e; d = 0; for (e = L.m_polygonB.count; d < e; ) { var c = d++; b = L.n; var g = L.m_polygonB.normals[c]; b.x = g.x; b.y = g.y; b = L.n; b.x = -b.x; b.y = -b.y; b = L.temp; g = L.m_polygonB.vertices[c]; b.x = g.x; b.y = g.y; L.temp.subtract(this.m_v1); b = R.dot(L.n, L.temp); g = L.temp; var l = L.m_polygonB.vertices[c]; g.x = l.x; g.y = l.y; L.temp.subtract(this.m_v2); g = R.dot(L.n, L.temp); b = Math.min(b, g); if (b > this.m_radius) { a.type = If.EDGE_B; a.index = c; a.separation = b; break; } 0 <= R.dot(L.n, L.perp) ? ((g = L.temp), (l = L.n), (g.x = l.x), (g.y = l.y), L.temp.subtract(L.m_upperLimit)) : ((g = L.temp), (l = L.n), (g.x = l.x), (g.y = l.y), L.temp.subtract(L.m_lowerLimit)); !(R.dot(L.temp, L.m_normal) < -Z.b2_angularSlop) && b > a.separation && ((a.type = If.EDGE_B), (a.index = c), (a.separation = b)); } }, multiplyTransformsInverse: function (a, b, d) { this.multiplyRotationsInverse(a.R, b.R, L.mat); var e = L.temp2; b = b.position; e.x = b.x; e.y = b.y; L.temp2.subtract(a.position); this.multiplyRotationVectorInverse(a.R, L.temp2, d.position); e = d.R.col1; b = L.mat.col1; e.x = b.x; e.y = b.y; e = d.R.col2; b = L.mat.col2; e.x = b.x; e.y = b.y; }, multiplyRotationsInverse: function (a, b, d) { d.col1.x = a.col1.x * b.col1.x + a.col1.y * b.col1.y; d.col1.y = a.col2.x * b.col1.x + a.col2.y * b.col1.y; d.col2.x = a.col1.x * b.col2.x + a.col1.y * b.col2.y; d.col2.y = a.col2.x * b.col2.x + a.col2.y * b.col2.y; }, multiplyRotationVector: function (a, b, d) { d.x = a.col1.x * b.x + a.col2.x * b.y; d.y = a.col1.y * b.x + a.col2.y * b.y; }, multiplyRotationVectorInverse: function (a, b, d) { d.x = a.col1.x * b.x + a.col1.y * b.y; d.y = a.col2.x * b.x + a.col2.y * b.y; }, multiplyTransformVector: function (a, b, d) { d.x = a.R.col1.x * b.x + a.R.col2.x * b.y + a.position.x; d.y = a.R.col1.y * b.x + a.R.col2.y * b.y + a.position.y; }, __class__: L }); var If = (N['box2D.dynamics.contacts.Type'] = { __ename__: 'box2D.dynamics.contacts.Type', __constructs__: null, UNKNOWN: { _hx_name: 'UNKNOWN', _hx_index: 0, __enum__: 'box2D.dynamics.contacts.Type', toString: x }, EDGE_A: { _hx_name: 'EDGE_A', _hx_index: 1, __enum__: 'box2D.dynamics.contacts.Type', toString: x }, EDGE_B: { _hx_name: 'EDGE_B', _hx_index: 2, __enum__: 'box2D.dynamics.contacts.Type', toString: x } }); If.__constructs__ = [If.UNKNOWN, If.EDGE_A, If.EDGE_B]; var oh = function () { eb.call(this); }; k['box2D.dynamics.contacts.B2PolygonContact'] = oh; oh.__name__ = 'box2D.dynamics.contacts.B2PolygonContact'; oh.create = function (a) { return new oh(); }; oh.destroy = function (a, b) {}; oh.__super__ = eb; oh.prototype = t(eb.prototype, { reset: function (a, b) { eb.prototype.reset.call(this, a, b); }, evaluate: function () { var a = this.m_fixtureA.getBody(), b = this.m_fixtureB.getBody(); G.collidePolygons( this.m_manifold, w.__cast(this.m_fixtureA.getShape(), Eb), a.m_xf, w.__cast(this.m_fixtureB.getShape(), Eb), b.m_xf ); }, __class__: oh }); var Ky = function () {}; k['box2D.dynamics.controllers.B2Controller'] = Ky; Ky.__name__ = 'box2D.dynamics.controllers.B2Controller'; Ky.prototype = { step: function (a) {}, draw: function (a) {}, addBody: function (a) { var b = new Hn(); b.controller = this; b.body = a; b.nextBody = this.m_bodyList; b.prevBody = null; this.m_bodyList = b; null != b.nextBody && (b.nextBody.prevBody = b); this.m_bodyCount++; b.nextController = a.m_controllerList; b.prevController = null; a.m_controllerList = b; null != b.nextController && (b.nextController.prevController = b); a.m_controllerCount++; }, removeBody: function (a) { for (var b = a.m_controllerList; null != b && b.controller != this; ) b = b.nextController; null != b.prevBody && (b.prevBody.nextBody = b.nextBody); null != b.nextBody && (b.nextBody.prevBody = b.prevBody); null != b.nextController && (b.nextController.prevController = b.prevController); null != b.prevController && (b.prevController.nextController = b.nextController); this.m_bodyList == b && (this.m_bodyList = b.nextBody); a.m_controllerList == b && (a.m_controllerList = b.nextController); a.m_controllerCount--; this.m_bodyCount--; }, clear: function () { for (; null != this.m_bodyList; ) this.removeBody(this.m_bodyList.body); }, getNext: function () { return this.m_next; }, getWorld: function () { return this.m_world; }, getBodyList: function () { return this.m_bodyList; }, m_next: null, m_prev: null, m_bodyList: null, m_bodyCount: null, m_world: null, __class__: Ky }; var Hn = function () {}; k['box2D.dynamics.controllers.B2ControllerEdge'] = Hn; Hn.__name__ = 'box2D.dynamics.controllers.B2ControllerEdge'; Hn.prototype = { controller: null, body: null, prevBody: null, nextBody: null, prevController: null, nextController: null, __class__: Hn }; var Sb = function (a) { this.m_edgeA = new Dk(); this.m_edgeB = new Dk(); this.m_localCenterA = new P(); this.m_localCenterB = new P(); Z.b2Assert(a.bodyA != a.bodyB); this.m_type = a.type; this.m_next = this.m_prev = null; this.m_bodyA = a.bodyA; this.m_bodyB = a.bodyB; this.m_collideConnected = a.collideConnected; this.m_islandFlag = !1; this.m_userData = a.userData; }; k['box2D.dynamics.joints.B2Joint'] = Sb; Sb.__name__ = 'box2D.dynamics.joints.B2Joint'; Sb.create = function (a, b) { b = null; 3 == a.type ? (b = new qi(w.__cast(a, Lh))) : 5 == a.type ? (b = new Ek(w.__cast(a, Fk))) : 2 == a.type ? (b = new ri(w.__cast(a, Gk))) : 1 == a.type ? (b = new ag(w.__cast(a, Mh))) : 4 == a.type ? (b = new wg(w.__cast(a, Hk))) : 6 == a.type ? (b = new Ik(w.__cast(a, Jk))) : 7 == a.type ? (b = new wj(w.__cast(a, Nh))) : 8 == a.type ? (b = new Kk(w.__cast(a, Lk))) : 9 == a.type && (b = new Mk(w.__cast(a, Nk))); return b; }; Sb.destroy = function (a, b) {}; Sb.prototype = { getType: function () { return this.m_type; }, getAnchorA: function () { return null; }, getAnchorB: function () { return null; }, getReactionForce: function (a) { return null; }, getReactionTorque: function (a) { return 0; }, getBodyA: function () { return this.m_bodyA; }, getBodyB: function () { return this.m_bodyB; }, getNext: function () { return this.m_next; }, getUserData: function () { return this.m_userData; }, setUserData: function (a) { this.m_userData = a; }, isActive: function () { return this.m_bodyA.isActive() ? this.m_bodyB.isActive() : !1; }, initVelocityConstraints: function (a) {}, solveVelocityConstraints: function (a) {}, finalizeVelocityConstraints: function () {}, solvePositionConstraints: function (a) { return !1; }, m_type: null, m_prev: null, m_next: null, m_edgeA: null, m_edgeB: null, m_bodyA: null, m_bodyB: null, m_islandFlag: null, m_collideConnected: null, m_userData: null, m_localCenterA: null, m_localCenterB: null, m_invMassA: null, m_invMassB: null, m_invIA: null, m_invIB: null, ID: null, __class__: Sb }; var qi = function (a) { Sb.call(this, a); this.m_localAnchor1 = new P(); this.m_localAnchor2 = new P(); this.m_u = new P(); var b = this.m_localAnchor1, d = a.localAnchorA; b.x = d.x; b.y = d.y; b = this.m_localAnchor2; d = a.localAnchorB; b.x = d.x; b.y = d.y; this.m_length = a.length; this.m_frequencyHz = a.frequencyHz; this.m_dampingRatio = a.dampingRatio; this.m_bias = this.m_gamma = this.m_impulse = 0; }; k['box2D.dynamics.joints.B2DistanceJoint'] = qi; qi.__name__ = 'box2D.dynamics.joints.B2DistanceJoint'; qi.__super__ = Sb; qi.prototype = t(Sb.prototype, { getAnchorA: function () { return this.m_bodyA.getWorldPoint(this.m_localAnchor1); }, getAnchorB: function () { return this.m_bodyB.getWorldPoint(this.m_localAnchor2); }, getReactionForce: function (a) { return new P(a * this.m_impulse * this.m_u.x, a * this.m_impulse * this.m_u.y); }, getReactionTorque: function (a) { return 0; }, getLength: function () { return this.m_length; }, setLength: function (a) { this.m_length = a; }, getFrequency: function () { return this.m_frequencyHz; }, setFrequency: function (a) { this.m_frequencyHz = a; }, getDampingRatio: function () { return this.m_dampingRatio; }, setDampingRatio: function (a) { this.m_dampingRatio = a; }, initVelocityConstraints: function (a) { var b = this.m_bodyA, d = this.m_bodyB, e = b.m_xf.R, c = this.m_localAnchor1.x - b.m_sweep.localCenter.x, g = this.m_localAnchor1.y - b.m_sweep.localCenter.y, l = e.col1.x * c + e.col2.x * g; g = e.col1.y * c + e.col2.y * g; c = l; e = d.m_xf.R; var q = this.m_localAnchor2.x - d.m_sweep.localCenter.x, y = this.m_localAnchor2.y - d.m_sweep.localCenter.y; l = e.col1.x * q + e.col2.x * y; y = e.col1.y * q + e.col2.y * y; q = l; this.m_u.x = d.m_sweep.c.x + q - b.m_sweep.c.x - c; this.m_u.y = d.m_sweep.c.y + y - b.m_sweep.c.y - g; e = Math.sqrt(this.m_u.x * this.m_u.x + this.m_u.y * this.m_u.y); e > Z.b2_linearSlop ? this.m_u.multiply(1 / e) : ((l = this.m_u), (l.x = 0), (l.y = 0)); l = c * this.m_u.y - g * this.m_u.x; var r = q * this.m_u.y - y * this.m_u.x; l = b.m_invMass + b.m_invI * l * l + d.m_invMass + d.m_invI * r * r; this.m_mass = 0 != l ? 1 / l : 0; if (0 < this.m_frequencyHz) { e -= this.m_length; r = 2 * Math.PI * this.m_frequencyHz; var h = this.m_mass * r * r; this.m_gamma = a.dt * (2 * this.m_mass * this.m_dampingRatio * r + a.dt * h); this.m_gamma = 0 != this.m_gamma ? 1 / this.m_gamma : 0; this.m_bias = e * a.dt * h * this.m_gamma; this.m_mass = l + this.m_gamma; this.m_mass = 0 != this.m_mass ? 1 / this.m_mass : 0; } a.warmStarting ? ((this.m_impulse *= a.dtRatio), (a = this.m_impulse * this.m_u.x), (e = this.m_impulse * this.m_u.y), (b.m_linearVelocity.x -= b.m_invMass * a), (b.m_linearVelocity.y -= b.m_invMass * e), (b.m_angularVelocity -= b.m_invI * (c * e - g * a)), (d.m_linearVelocity.x += d.m_invMass * a), (d.m_linearVelocity.y += d.m_invMass * e), (d.m_angularVelocity += d.m_invI * (q * e - y * a))) : (this.m_impulse = 0); }, solveVelocityConstraints: function (a) { a = this.m_bodyA; var b = this.m_bodyB, d = a.m_xf.R, e = this.m_localAnchor1.x - a.m_sweep.localCenter.x, c = this.m_localAnchor1.y - a.m_sweep.localCenter.y, g = d.col1.x * e + d.col2.x * c; c = d.col1.y * e + d.col2.y * c; e = g; d = b.m_xf.R; var l = this.m_localAnchor2.x - b.m_sweep.localCenter.x, q = this.m_localAnchor2.y - b.m_sweep.localCenter.y; g = d.col1.x * l + d.col2.x * q; q = d.col1.y * l + d.col2.y * q; l = g; g = -this.m_mass * (this.m_u.x * (b.m_linearVelocity.x + -b.m_angularVelocity * q - (a.m_linearVelocity.x + -a.m_angularVelocity * c)) + this.m_u.y * (b.m_linearVelocity.y + b.m_angularVelocity * l - (a.m_linearVelocity.y + a.m_angularVelocity * e)) + this.m_bias + this.m_gamma * this.m_impulse); this.m_impulse += g; d = g * this.m_u.x; g *= this.m_u.y; a.m_linearVelocity.x -= a.m_invMass * d; a.m_linearVelocity.y -= a.m_invMass * g; a.m_angularVelocity -= a.m_invI * (e * g - c * d); b.m_linearVelocity.x += b.m_invMass * d; b.m_linearVelocity.y += b.m_invMass * g; b.m_angularVelocity += b.m_invI * (l * g - q * d); }, solvePositionConstraints: function (a) { if (0 < this.m_frequencyHz) return !0; a = this.m_bodyA; var b = this.m_bodyB, d = a.m_xf.R, e = this.m_localAnchor1.x - a.m_sweep.localCenter.x, c = this.m_localAnchor1.y - a.m_sweep.localCenter.y, g = d.col1.x * e + d.col2.x * c; c = d.col1.y * e + d.col2.y * c; e = g; d = b.m_xf.R; var l = this.m_localAnchor2.x - b.m_sweep.localCenter.x, q = this.m_localAnchor2.y - b.m_sweep.localCenter.y; g = d.col1.x * l + d.col2.x * q; q = d.col1.y * l + d.col2.y * q; l = g; var y = b.m_sweep.c.x + l - a.m_sweep.c.x - e, r = b.m_sweep.c.y + q - a.m_sweep.c.y - c; d = Math.sqrt(y * y + r * r); y /= d; r /= d; d -= this.m_length; d = R.clamp(d, -Z.b2_maxLinearCorrection, Z.b2_maxLinearCorrection); g = -this.m_mass * d; var h = this.m_u; null == r && (r = 0); null == y && (y = 0); h.x = y; h.y = r; r = g * this.m_u.x; g *= this.m_u.y; a.m_sweep.c.x -= a.m_invMass * r; a.m_sweep.c.y -= a.m_invMass * g; a.m_sweep.a -= a.m_invI * (e * g - c * r); b.m_sweep.c.x += b.m_invMass * r; b.m_sweep.c.y += b.m_invMass * g; b.m_sweep.a += b.m_invI * (l * g - q * r); a.synchronizeTransform(); b.synchronizeTransform(); return R.abs(d) < Z.b2_linearSlop; }, m_localAnchor1: null, m_localAnchor2: null, m_u: null, m_frequencyHz: null, m_dampingRatio: null, m_gamma: null, m_bias: null, m_impulse: null, m_mass: null, m_length: null, __class__: qi }); var Vc = function () { this.type = 0; this.bodyB = this.bodyA = this.userData = null; this.collideConnected = !1; }; k['box2D.dynamics.joints.B2JointDef'] = Vc; Vc.__name__ = 'box2D.dynamics.joints.B2JointDef'; Vc.prototype = { type: null, userData: null, bodyA: null, bodyB: null, collideConnected: null, ID: null, actor1: null, actor2: null, __class__: Vc }; var Lh = function () { Vc.call(this); this.localAnchorA = new P(); this.localAnchorB = new P(); this.type = 3; this.length = 1; this.dampingRatio = this.frequencyHz = 0; }; k['box2D.dynamics.joints.B2DistanceJointDef'] = Lh; Lh.__name__ = 'box2D.dynamics.joints.B2DistanceJointDef'; Lh.__super__ = Vc; Lh.prototype = t(Vc.prototype, { initialize: function (a, b, d, e) { this.bodyA = a; this.bodyB = b; a = this.localAnchorA; b = this.bodyA.getLocalPoint(d); a.x = b.x; a.y = b.y; a = this.localAnchorB; b = this.bodyB.getLocalPoint(e); a.x = b.x; a.y = b.y; a = e.x - d.x; d = e.y - d.y; this.length = Math.sqrt(a * a + d * d); this.dampingRatio = this.frequencyHz = 0; }, localAnchorA: null, localAnchorB: null, length: null, frequencyHz: null, dampingRatio: null, __class__: Lh }); var Mk = function (a) { Sb.call(this, a); this.m_localAnchorA = new P(); this.m_localAnchorB = new P(); this.m_linearMass = new yc(); this.m_linearImpulse = new P(); var b = this.m_localAnchorA, d = a.localAnchorA; b.x = d.x; b.y = d.y; b = this.m_localAnchorB; d = a.localAnchorB; b.x = d.x; b.y = d.y; this.m_linearMass.setZero(); this.m_angularMass = 0; b = this.m_linearImpulse; b.x = 0; this.m_angularImpulse = b.y = 0; this.m_maxForce = a.maxForce; this.m_maxTorque = a.maxTorque; }; k['box2D.dynamics.joints.B2FrictionJoint'] = Mk; Mk.__name__ = 'box2D.dynamics.joints.B2FrictionJoint'; Mk.__super__ = Sb; Mk.prototype = t(Sb.prototype, { getAnchorA: function () { return this.m_bodyA.getWorldPoint(this.m_localAnchorA); }, getAnchorB: function () { return this.m_bodyB.getWorldPoint(this.m_localAnchorB); }, getReactionForce: function (a) { return new P(a * this.m_linearImpulse.x, a * this.m_linearImpulse.y); }, getReactionTorque: function (a) { return a * this.m_angularImpulse; }, setMaxForce: function (a) { this.m_maxForce = a; }, getMaxForce: function () { return this.m_maxForce; }, setMaxTorque: function (a) { this.m_maxTorque = a; }, getMaxTorque: function () { return this.m_maxTorque; }, initVelocityConstraints: function (a) { var b = this.m_bodyA, d = this.m_bodyB, e = b.m_xf.R, c = this.m_localAnchorA.x - b.m_sweep.localCenter.x, g = this.m_localAnchorA.y - b.m_sweep.localCenter.y, l = e.col1.x * c + e.col2.x * g; g = e.col1.y * c + e.col2.y * g; c = l; e = d.m_xf.R; var q = this.m_localAnchorB.x - d.m_sweep.localCenter.x, y = this.m_localAnchorB.y - d.m_sweep.localCenter.y; l = e.col1.x * q + e.col2.x * y; y = e.col1.y * q + e.col2.y * y; q = l; e = b.m_invMass; l = d.m_invMass; var r = b.m_invI, h = d.m_invI, p = new yc(); p.col1.x = e + l; p.col2.x = 0; p.col1.y = 0; p.col2.y = e + l; p.col1.x += r * g * g; p.col2.x += -r * c * g; p.col1.y += -r * c * g; p.col2.y += r * c * c; p.col1.x += h * y * y; p.col2.x += -h * q * y; p.col1.y += -h * q * y; p.col2.y += h * q * q; p.getInverse(this.m_linearMass); this.m_angularMass = r + h; 0 < this.m_angularMass && (this.m_angularMass = 1 / this.m_angularMass); a.warmStarting ? ((this.m_linearImpulse.x *= a.dtRatio), (this.m_linearImpulse.y *= a.dtRatio), (this.m_angularImpulse *= a.dtRatio), (a = this.m_linearImpulse), (b.m_linearVelocity.x -= e * a.x), (b.m_linearVelocity.y -= e * a.y), (b.m_angularVelocity -= r * (c * a.y - g * a.x + this.m_angularImpulse)), (d.m_linearVelocity.x += l * a.x), (d.m_linearVelocity.y += l * a.y), (d.m_angularVelocity += h * (q * a.y - y * a.x + this.m_angularImpulse))) : ((b = this.m_linearImpulse), (b.x = 0), (this.m_angularImpulse = b.y = 0)); }, solveVelocityConstraints: function (a) { var b = this.m_bodyA, d = this.m_bodyB, e = b.m_linearVelocity, c = b.m_angularVelocity, g = d.m_linearVelocity, l = d.m_angularVelocity, q = b.m_invMass, y = d.m_invMass, r = b.m_invI, h = d.m_invI, p = b.m_xf.R, k = this.m_localAnchorA.x - b.m_sweep.localCenter.x, n = this.m_localAnchorA.y - b.m_sweep.localCenter.y, u = p.col1.x * k + p.col2.x * n; n = p.col1.y * k + p.col2.y * n; k = u; p = d.m_xf.R; var m = this.m_localAnchorB.x - d.m_sweep.localCenter.x, t = this.m_localAnchorB.y - d.m_sweep.localCenter.y; u = p.col1.x * m + p.col2.x * t; t = p.col1.y * m + p.col2.y * t; m = u; u = -this.m_angularMass * (l - c); var x = this.m_angularImpulse; p = a.dt * this.m_maxTorque; this.m_angularImpulse = R.clamp(this.m_angularImpulse + u, -p, p); u = this.m_angularImpulse - x; c -= r * u; l += h * u; p = R.mulMV( this.m_linearMass, new P(-(g.x - l * t - e.x + c * n), -(g.y + l * m - e.y - c * k)) ); u = this.m_linearImpulse.copy(); this.m_linearImpulse.add(p); p = a.dt * this.m_maxForce; this.m_linearImpulse.lengthSquared() > p * p && (this.m_linearImpulse.normalize(), this.m_linearImpulse.multiply(p)); p = R.subtractVV(this.m_linearImpulse, u); e.x -= q * p.x; e.y -= q * p.y; c -= r * (k * p.y - n * p.x); g.x += y * p.x; g.y += y * p.y; l += h * (m * p.y - t * p.x); b.m_angularVelocity = c; d.m_angularVelocity = l; }, solvePositionConstraints: function (a) { return !0; }, m_localAnchorA: null, m_localAnchorB: null, m_linearMass: null, m_angularMass: null, m_linearImpulse: null, m_angularImpulse: null, m_maxForce: null, m_maxTorque: null, __class__: Mk }); var Nk = function () { Vc.call(this); this.localAnchorA = new P(); this.localAnchorB = new P(); this.type = 9; this.maxTorque = this.maxForce = 0; }; k['box2D.dynamics.joints.B2FrictionJointDef'] = Nk; Nk.__name__ = 'box2D.dynamics.joints.B2FrictionJointDef'; Nk.__super__ = Vc; Nk.prototype = t(Vc.prototype, { initialize: function (a, b, d) { this.bodyA = a; this.bodyB = b; a = this.localAnchorA; b = this.bodyA.getLocalPoint(d); a.x = b.x; a.y = b.y; a = this.localAnchorB; b = this.bodyB.getLocalPoint(d); a.x = b.x; a.y = b.y; }, localAnchorA: null, localAnchorB: null, maxForce: null, maxTorque: null, __class__: Nk }); var Ik = function (a) { Sb.call(this, a); this.m_groundAnchor1 = new P(); this.m_groundAnchor2 = new P(); this.m_localAnchor1 = new P(); this.m_localAnchor2 = new P(); this.m_J = new In(); var b = a.joint1.m_type, d = a.joint2.m_type; this.m_prismatic2 = this.m_revolute2 = this.m_prismatic1 = this.m_revolute1 = null; this.m_ground1 = a.joint1.getBodyA(); this.m_bodyA = a.joint1.getBodyB(); if (1 == b) { this.m_revolute1 = w.__cast(a.joint1, ag); var e = this.m_groundAnchor1, c = this.m_revolute1.m_localAnchor1; e.x = c.x; e.y = c.y; e = this.m_localAnchor1; c = this.m_revolute1.m_localAnchor2; e.x = c.x; e.y = c.y; b = this.m_revolute1.getJointAngle(); } else (this.m_prismatic1 = w.__cast(a.joint1, ri)), (e = this.m_groundAnchor1), (c = this.m_prismatic1.m_localAnchor1), (e.x = c.x), (e.y = c.y), (e = this.m_localAnchor1), (c = this.m_prismatic1.m_localAnchor2), (e.x = c.x), (e.y = c.y), (b = this.m_prismatic1.getJointTranslation()); this.m_ground2 = a.joint2.getBodyA(); this.m_bodyB = a.joint2.getBodyB(); 1 == d ? ((this.m_revolute2 = w.__cast(a.joint2, ag)), (e = this.m_groundAnchor2), (c = this.m_revolute2.m_localAnchor1), (e.x = c.x), (e.y = c.y), (e = this.m_localAnchor2), (c = this.m_revolute2.m_localAnchor2), (e.x = c.x), (e.y = c.y), (d = this.m_revolute2.getJointAngle())) : ((this.m_prismatic2 = w.__cast(a.joint2, ri)), (e = this.m_groundAnchor2), (c = this.m_prismatic2.m_localAnchor1), (e.x = c.x), (e.y = c.y), (e = this.m_localAnchor2), (c = this.m_prismatic2.m_localAnchor2), (e.x = c.x), (e.y = c.y), (d = this.m_prismatic2.getJointTranslation())); this.m_ratio = a.ratio; this.m_constant = b + this.m_ratio * d; this.m_impulse = 0; }; k['box2D.dynamics.joints.B2GearJoint'] = Ik; Ik.__name__ = 'box2D.dynamics.joints.B2GearJoint'; Ik.__super__ = Sb; Ik.prototype = t(Sb.prototype, { getAnchorA: function () { return this.m_bodyA.getWorldPoint(this.m_localAnchor1); }, getAnchorB: function () { return this.m_bodyB.getWorldPoint(this.m_localAnchor2); }, getReactionForce: function (a) { return new P( a * this.m_impulse * this.m_J.linearB.x, a * this.m_impulse * this.m_J.linearB.y ); }, getReactionTorque: function (a) { var b = this.m_bodyB.m_xf.R, d = this.m_localAnchor1.x - this.m_bodyB.m_sweep.localCenter.x, e = this.m_localAnchor1.y - this.m_bodyB.m_sweep.localCenter.y, c = b.col1.x * d + b.col2.x * e; e = b.col1.y * d + b.col2.y * e; return ( a * (this.m_impulse * this.m_J.angularB - c * this.m_impulse * this.m_J.linearB.y + e * this.m_impulse * this.m_J.linearB.x) ); }, getRatio: function () { return this.m_ratio; }, setRatio: function (a) { this.m_ratio = a; }, initVelocityConstraints: function (a) { var b = this.m_ground1, d = this.m_ground2, e = this.m_bodyA, c = this.m_bodyB, g = 0; this.m_J.setZero(); if (null != this.m_revolute1) (this.m_J.angularA = -1), (g += e.m_invI); else { var l = b.m_xf.R; var q = this.m_prismatic1.m_localXAxis1; b = l.col1.x * q.x + l.col2.x * q.y; q = l.col1.y * q.x + l.col2.y * q.y; l = e.m_xf.R; var y = this.m_localAnchor1.x - e.m_sweep.localCenter.x; var r = this.m_localAnchor1.y - e.m_sweep.localCenter.y; var h = l.col1.x * y + l.col2.x * r; r = l.col1.y * y + l.col2.y * r; l = h * q - r * b; y = this.m_J.linearA; b = -b; q = -q; null == q && (q = 0); null == b && (b = 0); y.x = b; y.y = q; this.m_J.angularA = -l; g += e.m_invMass + e.m_invI * l * l; } null != this.m_revolute2 ? ((this.m_J.angularB = -this.m_ratio), (g += this.m_ratio * this.m_ratio * c.m_invI)) : ((l = d.m_xf.R), (q = this.m_prismatic2.m_localXAxis1), (b = l.col1.x * q.x + l.col2.x * q.y), (q = l.col1.y * q.x + l.col2.y * q.y), (l = c.m_xf.R), (y = this.m_localAnchor2.x - c.m_sweep.localCenter.x), (r = this.m_localAnchor2.y - c.m_sweep.localCenter.y), (h = l.col1.x * y + l.col2.x * r), (r = l.col1.y * y + l.col2.y * r), (l = h * q - r * b), (y = this.m_J.linearB), (b *= -this.m_ratio), (q *= -this.m_ratio), null == q && (q = 0), null == b && (b = 0), (y.x = b), (y.y = q), (this.m_J.angularB = -this.m_ratio * l), (g += this.m_ratio * this.m_ratio * (c.m_invMass + c.m_invI * l * l))); this.m_mass = 0 < g ? 1 / g : 0; a.warmStarting ? ((e.m_linearVelocity.x += e.m_invMass * this.m_impulse * this.m_J.linearA.x), (e.m_linearVelocity.y += e.m_invMass * this.m_impulse * this.m_J.linearA.y), (e.m_angularVelocity += e.m_invI * this.m_impulse * this.m_J.angularA), (c.m_linearVelocity.x += c.m_invMass * this.m_impulse * this.m_J.linearB.x), (c.m_linearVelocity.y += c.m_invMass * this.m_impulse * this.m_J.linearB.y), (c.m_angularVelocity += c.m_invI * this.m_impulse * this.m_J.angularB)) : (this.m_impulse = 0); }, solveVelocityConstraints: function (a) { a = this.m_bodyA; var b = this.m_bodyB, d = this.m_J.compute( a.m_linearVelocity, a.m_angularVelocity, b.m_linearVelocity, b.m_angularVelocity ); d *= -this.m_mass; this.m_impulse += d; a.m_linearVelocity.x += a.m_invMass * d * this.m_J.linearA.x; a.m_linearVelocity.y += a.m_invMass * d * this.m_J.linearA.y; a.m_angularVelocity += a.m_invI * d * this.m_J.angularA; b.m_linearVelocity.x += b.m_invMass * d * this.m_J.linearB.x; b.m_linearVelocity.y += b.m_invMass * d * this.m_J.linearB.y; b.m_angularVelocity += b.m_invI * d * this.m_J.angularB; }, solvePositionConstraints: function (a) { a = this.m_bodyA; var b = this.m_bodyB; var d = null != this.m_revolute1 ? this.m_revolute1.getJointAngle() : this.m_prismatic1.getJointTranslation(); var e = null != this.m_revolute2 ? this.m_revolute2.getJointAngle() : this.m_prismatic2.getJointTranslation(); d = -this.m_mass * (this.m_constant - (d + this.m_ratio * e)); a.m_sweep.c.x += a.m_invMass * d * this.m_J.linearA.x; a.m_sweep.c.y += a.m_invMass * d * this.m_J.linearA.y; a.m_sweep.a += a.m_invI * d * this.m_J.angularA; b.m_sweep.c.x += b.m_invMass * d * this.m_J.linearB.x; b.m_sweep.c.y += b.m_invMass * d * this.m_J.linearB.y; b.m_sweep.a += b.m_invI * d * this.m_J.angularB; a.synchronizeTransform(); b.synchronizeTransform(); return 0 < Z.b2_linearSlop; }, m_ground1: null, m_ground2: null, m_revolute1: null, m_prismatic1: null, m_revolute2: null, m_prismatic2: null, m_groundAnchor1: null, m_groundAnchor2: null, m_localAnchor1: null, m_localAnchor2: null, m_J: null, m_constant: null, m_ratio: null, m_mass: null, m_impulse: null, __class__: Ik }); var Jk = function () { Vc.call(this); this.type = 6; this.joint2 = this.joint1 = null; this.ratio = 1; }; k['box2D.dynamics.joints.B2GearJointDef'] = Jk; Jk.__name__ = 'box2D.dynamics.joints.B2GearJointDef'; Jk.__super__ = Vc; Jk.prototype = t(Vc.prototype, { joint1: null, joint2: null, ratio: null, __class__: Jk }); var In = function () { this.linearA = new P(); this.linearB = new P(); }; k['box2D.dynamics.joints.B2Jacobian'] = In; In.__name__ = 'box2D.dynamics.joints.B2Jacobian'; In.prototype = { linearA: null, angularA: null, linearB: null, angularB: null, setZero: function () { var a = this.linearA; a.x = 0; this.angularA = a.y = 0; a = this.linearB; a.x = 0; this.angularB = a.y = 0; }, set: function (a, b, d, e) { var c = this.linearA; c.x = a.x; c.y = a.y; this.angularA = b; c = this.linearB; c.x = d.x; c.y = d.y; this.angularB = e; }, compute: function (a, b, d, e) { return ( this.linearA.x * a.x + this.linearA.y * a.y + this.angularA * b + (this.linearB.x * d.x + this.linearB.y * d.y) + this.angularB * e ); }, __class__: In }; var Dk = function () {}; k['box2D.dynamics.joints.B2JointEdge'] = Dk; Dk.__name__ = 'box2D.dynamics.joints.B2JointEdge'; Dk.prototype = { other: null, joint: null, prev: null, next: null, __class__: Dk }; var wj = function (a) { Sb.call(this, a); this.m_localAnchor1 = new P(); this.m_localAnchor2 = new P(); this.m_localXAxis1 = new P(); this.m_localYAxis1 = new P(); this.m_axis = new P(); this.m_perp = new P(); this.m_K = new yc(); this.m_impulse = new P(); var b = this.m_localAnchor1, d = a.localAnchorA; b.x = d.x; b.y = d.y; b = this.m_localAnchor2; d = a.localAnchorB; b.x = d.x; b.y = d.y; b = this.m_localXAxis1; d = a.localAxisA; b.x = d.x; b.y = d.y; this.m_localYAxis1.x = -this.m_localXAxis1.y; this.m_localYAxis1.y = this.m_localXAxis1.x; b = this.m_impulse; b.x = 0; this.m_motorImpulse = this.m_motorMass = b.y = 0; this.m_lowerTranslation = a.lowerTranslation; this.m_upperTranslation = a.upperTranslation; this.m_maxMotorForce = a.maxMotorForce; this.m_motorSpeed = a.motorSpeed; this.m_enableLimit = a.enableLimit; this.m_enableMotor = a.enableMotor; this.m_limitState = 0; b = this.m_axis; b.x = 0; b.y = 0; b = this.m_perp; b.x = 0; b.y = 0; }; k['box2D.dynamics.joints.B2LineJoint'] = wj; wj.__name__ = 'box2D.dynamics.joints.B2LineJoint'; wj.__super__ = Sb; wj.prototype = t(Sb.prototype, { getAnchorA: function () { return this.m_bodyA.getWorldPoint(this.m_localAnchor1); }, getAnchorB: function () { return this.m_bodyB.getWorldPoint(this.m_localAnchor2); }, getReactionForce: function (a) { return new P( a * (this.m_impulse.x * this.m_perp.x + (this.m_motorImpulse + this.m_impulse.y) * this.m_axis.x), a * (this.m_impulse.x * this.m_perp.y + (this.m_motorImpulse + this.m_impulse.y) * this.m_axis.y) ); }, getReactionTorque: function (a) { return a * this.m_impulse.y; }, getJointTranslation: function () { var a = this.m_bodyA, b = this.m_bodyB, d = a.getWorldPoint(this.m_localAnchor1), e = b.getWorldPoint(this.m_localAnchor2); b = e.x - d.x; d = e.y - d.y; a = a.getWorldVector(this.m_localXAxis1); return a.x * b + a.y * d; }, getJointSpeed: function () { var a = this.m_bodyA, b = this.m_bodyB, d = a.m_xf.R, e = this.m_localAnchor1.x - a.m_sweep.localCenter.x, c = this.m_localAnchor1.y - a.m_sweep.localCenter.y, g = d.col1.x * e + d.col2.x * c; c = d.col1.y * e + d.col2.y * c; e = g; d = b.m_xf.R; var l = this.m_localAnchor2.x - b.m_sweep.localCenter.x, q = this.m_localAnchor2.y - b.m_sweep.localCenter.y; g = d.col1.x * l + d.col2.x * q; q = d.col1.y * l + d.col2.y * q; l = g; d = b.m_sweep.c.x + l - (a.m_sweep.c.x + e); g = b.m_sweep.c.y + q - (a.m_sweep.c.y + c); var y = a.getWorldVector(this.m_localXAxis1), r = a.m_linearVelocity, h = b.m_linearVelocity; a = a.m_angularVelocity; b = b.m_angularVelocity; return ( d * -a * y.y + g * a * y.x + (y.x * (h.x + -b * q - r.x - -a * c) + y.y * (h.y + b * l - r.y - a * e)) ); }, isLimitEnabled: function () { return this.m_enableLimit; }, enableLimit: function (a) { this.m_bodyA.setAwake(!0); this.m_bodyB.setAwake(!0); this.m_enableLimit = a; }, getLowerLimit: function () { return this.m_lowerTranslation; }, getUpperLimit: function () { return this.m_upperTranslation; }, setLimits: function (a, b) { this.m_bodyA.setAwake(!0); this.m_bodyB.setAwake(!0); this.m_lowerTranslation = a; this.m_upperTranslation = b; }, isMotorEnabled: function () { return this.m_enableMotor; }, enableMotor: function (a) { this.m_bodyA.setAwake(!0); this.m_bodyB.setAwake(!0); this.m_enableMotor = a; }, setMotorSpeed: function (a) { this.m_bodyA.setAwake(!0); this.m_bodyB.setAwake(!0); this.m_motorSpeed = a; }, getMotorSpeed: function () { return this.m_motorSpeed; }, setMaxMotorForce: function (a) { this.m_bodyA.setAwake(!0); this.m_bodyB.setAwake(!0); this.m_maxMotorForce = a; }, getMaxMotorForce: function () { return this.m_maxMotorForce; }, getMotorForce: function () { return this.m_motorImpulse; }, initVelocityConstraints: function (a) { var b = this.m_bodyA, d = this.m_bodyB, e = this.m_localCenterA, c = b.getLocalCenter(); e.x = c.x; e.y = c.y; e = this.m_localCenterB; c = d.getLocalCenter(); e.x = c.x; e.y = c.y; var g = b.getTransform(); d.getTransform(); var l = b.m_xf.R, q = this.m_localAnchor1.x - this.m_localCenterA.x, y = this.m_localAnchor1.y - this.m_localCenterA.y, r = l.col1.x * q + l.col2.x * y; y = l.col1.y * q + l.col2.y * y; q = r; l = d.m_xf.R; var h = this.m_localAnchor2.x - this.m_localCenterB.x, p = this.m_localAnchor2.y - this.m_localCenterB.y; r = l.col1.x * h + l.col2.x * p; p = l.col1.y * h + l.col2.y * p; h = r; l = d.m_sweep.c.x + h - b.m_sweep.c.x - q; r = d.m_sweep.c.y + p - b.m_sweep.c.y - y; this.m_invMassA = b.m_invMass; this.m_invMassB = d.m_invMass; this.m_invIA = b.m_invI; this.m_invIB = d.m_invI; e = this.m_axis; c = R.mulMV(g.R, this.m_localXAxis1); e.x = c.x; e.y = c.y; this.m_a1 = (l + q) * this.m_axis.y - (r + y) * this.m_axis.x; this.m_a2 = h * this.m_axis.y - p * this.m_axis.x; this.m_motorMass = this.m_invMassA + this.m_invMassB + this.m_invIA * this.m_a1 * this.m_a1 + this.m_invIB * this.m_a2 * this.m_a2; this.m_motorMass = this.m_motorMass > Number.MIN_VALUE ? 1 / this.m_motorMass : 0; e = this.m_perp; c = R.mulMV(g.R, this.m_localYAxis1); e.x = c.x; e.y = c.y; this.m_s1 = (l + q) * this.m_perp.y - (r + y) * this.m_perp.x; this.m_s2 = h * this.m_perp.y - p * this.m_perp.x; g = this.m_invMassA; q = this.m_invMassB; y = this.m_invIA; h = this.m_invIB; this.m_K.col1.x = g + q + y * this.m_s1 * this.m_s1 + h * this.m_s2 * this.m_s2; this.m_K.col1.y = y * this.m_s1 * this.m_a1 + h * this.m_s2 * this.m_a2; this.m_K.col2.x = this.m_K.col1.y; this.m_K.col2.y = g + q + y * this.m_a1 * this.m_a1 + h * this.m_a2 * this.m_a2; this.m_enableLimit ? ((l = this.m_axis.x * l + this.m_axis.y * r), R.abs(this.m_upperTranslation - this.m_lowerTranslation) < 2 * Z.b2_linearSlop ? (this.m_limitState = 3) : l <= this.m_lowerTranslation ? 1 != this.m_limitState && ((this.m_limitState = 1), (this.m_impulse.y = 0)) : l >= this.m_upperTranslation ? 2 != this.m_limitState && ((this.m_limitState = 2), (this.m_impulse.y = 0)) : ((this.m_limitState = 0), (this.m_impulse.y = 0))) : (this.m_limitState = 0); 0 == this.m_enableMotor && (this.m_motorImpulse = 0); a.warmStarting ? ((this.m_impulse.x *= a.dtRatio), (this.m_impulse.y *= a.dtRatio), (this.m_motorImpulse *= a.dtRatio), (a = this.m_impulse.x * this.m_perp.x + (this.m_motorImpulse + this.m_impulse.y) * this.m_axis.x), (l = this.m_impulse.x * this.m_perp.y + (this.m_motorImpulse + this.m_impulse.y) * this.m_axis.y), (r = this.m_impulse.x * this.m_s1 + (this.m_motorImpulse + this.m_impulse.y) * this.m_a1), (g = this.m_impulse.x * this.m_s2 + (this.m_motorImpulse + this.m_impulse.y) * this.m_a2), (b.m_linearVelocity.x -= this.m_invMassA * a), (b.m_linearVelocity.y -= this.m_invMassA * l), (b.m_angularVelocity -= this.m_invIA * r), (d.m_linearVelocity.x += this.m_invMassB * a), (d.m_linearVelocity.y += this.m_invMassB * l), (d.m_angularVelocity += this.m_invIB * g)) : ((e = this.m_impulse), (e.x = 0), (this.m_motorImpulse = e.y = 0)); }, solveVelocityConstraints: function (a) { var b = this.m_bodyA, d = this.m_bodyB, e = b.m_linearVelocity, c = b.m_angularVelocity, g = d.m_linearVelocity, l = d.m_angularVelocity; if (this.m_enableMotor && 3 != this.m_limitState) { var q = this.m_motorMass * (this.m_motorSpeed - (this.m_axis.x * (g.x - e.x) + this.m_axis.y * (g.y - e.y) + this.m_a2 * l - this.m_a1 * c)); var y = this.m_motorImpulse; a = a.dt * this.m_maxMotorForce; this.m_motorImpulse = R.clamp(this.m_motorImpulse + q, -a, a); q = this.m_motorImpulse - y; y = q * this.m_axis.x; a = q * this.m_axis.y; var r = q * this.m_a1; q *= this.m_a2; e.x -= this.m_invMassA * y; e.y -= this.m_invMassA * a; c -= this.m_invIA * r; g.x += this.m_invMassB * y; g.y += this.m_invMassB * a; l += this.m_invIB * q; } a = this.m_perp.x * (g.x - e.x) + this.m_perp.y * (g.y - e.y) + this.m_s2 * l - this.m_s1 * c; this.m_enableLimit && 0 != this.m_limitState ? ((r = this.m_axis.x * (g.x - e.x) + this.m_axis.y * (g.y - e.y) + this.m_a2 * l - this.m_a1 * c), (y = this.m_impulse.copy()), (q = this.m_K.solve(new P(), -a, -r)), this.m_impulse.add(q), 1 == this.m_limitState ? (this.m_impulse.y = R.max(this.m_impulse.y, 0)) : 2 == this.m_limitState && (this.m_impulse.y = R.min(this.m_impulse.y, 0)), (a = -a - (this.m_impulse.y - y.y) * this.m_K.col2.x), (this.m_impulse.x = 0 != this.m_K.col1.x ? a / this.m_K.col1.x + y.x : y.x), (q.x = this.m_impulse.x - y.x), (q.y = this.m_impulse.y - y.y), (y = q.x * this.m_perp.x + q.y * this.m_axis.x), (a = q.x * this.m_perp.y + q.y * this.m_axis.y), (r = q.x * this.m_s1 + q.y * this.m_a1), (q = q.x * this.m_s2 + q.y * this.m_a2)) : ((q = 0 != this.m_K.col1.x ? -a / this.m_K.col1.x : 0), (this.m_impulse.x += q), (y = q * this.m_perp.x), (a = q * this.m_perp.y), (r = q * this.m_s1), (q *= this.m_s2)); e.x -= this.m_invMassA * y; e.y -= this.m_invMassA * a; c -= this.m_invIA * r; g.x += this.m_invMassB * y; g.y += this.m_invMassB * a; l += this.m_invIB * q; y = b.m_linearVelocity; y.x = e.x; y.y = e.y; b.m_angularVelocity = c; y = d.m_linearVelocity; y.x = g.x; y.y = g.y; d.m_angularVelocity = l; }, solvePositionConstraints: function (a) { a = this.m_bodyA; var b = this.m_bodyB, d = a.m_sweep.c, e = a.m_sweep.a, c = b.m_sweep.c, g = b.m_sweep.a, l = 0; var q = !1; var y = 0, r = yc.fromAngle(e); var h = yc.fromAngle(g); var p = r, k = this.m_localAnchor1.x - this.m_localCenterA.x; var n = this.m_localAnchor1.y - this.m_localCenterA.y; var u = p.col1.x * k + p.col2.x * n; n = p.col1.y * k + p.col2.y * n; k = u; p = h; h = this.m_localAnchor2.x - this.m_localCenterB.x; var m = this.m_localAnchor2.y - this.m_localCenterB.y; u = p.col1.x * h + p.col2.x * m; m = p.col1.y * h + p.col2.y * m; h = u; p = c.x + h - d.x - k; u = c.y + m - d.y - n; if (this.m_enableLimit) { this.m_axis = R.mulMV(r, this.m_localXAxis1); this.m_a1 = (p + k) * this.m_axis.y - (u + n) * this.m_axis.x; this.m_a2 = h * this.m_axis.y - m * this.m_axis.x; var t = this.m_axis.x * p + this.m_axis.y * u; R.abs(this.m_upperTranslation - this.m_lowerTranslation) < 2 * Z.b2_linearSlop ? ((y = R.clamp(t, -Z.b2_maxLinearCorrection, Z.b2_maxLinearCorrection)), (l = R.abs(t)), (q = !0)) : t <= this.m_lowerTranslation ? ((y = R.clamp( t - this.m_lowerTranslation + Z.b2_linearSlop, -Z.b2_maxLinearCorrection, 0 )), (l = this.m_lowerTranslation - t), (q = !0)) : t >= this.m_upperTranslation && ((y = R.clamp( t - this.m_upperTranslation + Z.b2_linearSlop, 0, Z.b2_maxLinearCorrection )), (l = t - this.m_upperTranslation), (q = !0)); } this.m_perp = R.mulMV(r, this.m_localYAxis1); this.m_s1 = (p + k) * this.m_perp.y - (u + n) * this.m_perp.x; this.m_s2 = h * this.m_perp.y - m * this.m_perp.x; r = new P(); k = this.m_perp.x * p + this.m_perp.y * u; l = R.max(l, R.abs(k)); q ? ((q = this.m_invMassA), (n = this.m_invMassB), (h = this.m_invIA), (m = this.m_invIB), (this.m_K.col1.x = q + n + h * this.m_s1 * this.m_s1 + m * this.m_s2 * this.m_s2), (this.m_K.col1.y = h * this.m_s1 * this.m_a1 + m * this.m_s2 * this.m_a2), (this.m_K.col2.x = this.m_K.col1.y), (this.m_K.col2.y = q + n + h * this.m_a1 * this.m_a1 + m * this.m_a2 * this.m_a2), this.m_K.solve(r, -k, -y)) : ((q = this.m_invMassA), (n = this.m_invMassB), (h = this.m_invIA), (m = this.m_invIB), (y = q + n + h * this.m_s1 * this.m_s1 + m * this.m_s2 * this.m_s2), (r.x = 0 != y ? -k / y : 0), (r.y = 0)); y = r.x * this.m_perp.x + r.y * this.m_axis.x; q = r.x * this.m_perp.y + r.y * this.m_axis.y; k = r.x * this.m_s1 + r.y * this.m_a1; r = r.x * this.m_s2 + r.y * this.m_a2; d.x -= this.m_invMassA * y; d.y -= this.m_invMassA * q; e -= this.m_invIA * k; c.x += this.m_invMassB * y; c.y += this.m_invMassB * q; g += this.m_invIB * r; a.m_sweep.a = e; b.m_sweep.a = g; a.synchronizeTransform(); b.synchronizeTransform(); return l <= Z.b2_linearSlop ? 0 <= Z.b2_angularSlop : !1; }, m_localAnchor1: null, m_localAnchor2: null, m_localXAxis1: null, m_localYAxis1: null, m_axis: null, m_perp: null, m_s1: null, m_s2: null, m_a1: null, m_a2: null, m_K: null, m_impulse: null, m_motorMass: null, m_motorImpulse: null, m_lowerTranslation: null, m_upperTranslation: null, m_maxMotorForce: null, m_motorSpeed: null, m_enableLimit: null, m_enableMotor: null, m_limitState: null, __class__: wj }); var Nh = function () { Vc.call(this); this.localAnchorA = new P(); this.localAnchorB = new P(); this.localAxisA = new P(); this.type = 7; var a = this.localAxisA, b = 1, d = 0; null == d && (d = 0); null == b && (b = 0); a.x = b; a.y = d; this.enableLimit = !1; this.upperTranslation = this.lowerTranslation = 0; this.enableMotor = !1; this.motorSpeed = this.maxMotorForce = 0; }; k['box2D.dynamics.joints.B2LineJointDef'] = Nh; Nh.__name__ = 'box2D.dynamics.joints.B2LineJointDef'; Nh.__super__ = Vc; Nh.prototype = t(Vc.prototype, { initialize: function (a, b, d, e) { this.bodyA = a; this.bodyB = b; this.localAnchorA = this.bodyA.getLocalPoint(d); this.localAnchorB = this.bodyB.getLocalPoint(d); this.localAxisA = this.bodyA.getLocalVector(e); }, localAnchorA: null, localAnchorB: null, localAxisA: null, enableLimit: null, lowerTranslation: null, upperTranslation: null, enableMotor: null, maxMotorForce: null, motorSpeed: null, __class__: Nh }); var Ek = function (a) { Sb.call(this, a); this.K = new yc(); this.K1 = new yc(); this.K2 = new yc(); this.m_localAnchor = new P(); this.m_target = new P(); this.m_impulse = new P(); this.m_mass = new yc(); this.m_C = new P(); var b = this.m_target, d = a.target; b.x = d.x; b.y = d.y; b = this.m_target.x - this.m_bodyB.m_xf.position.x; d = this.m_target.y - this.m_bodyB.m_xf.position.y; var e = this.m_bodyB.m_xf.R; this.m_localAnchor.x = b * e.col1.x + d * e.col1.y; this.m_localAnchor.y = b * e.col2.x + d * e.col2.y; this.m_maxForce = a.maxForce; b = this.m_impulse; b.x = 0; b.y = 0; this.m_frequencyHz = a.frequencyHz; this.m_dampingRatio = a.dampingRatio; this.m_gamma = this.m_beta = 0; }; k['box2D.dynamics.joints.B2MouseJoint'] = Ek; Ek.__name__ = 'box2D.dynamics.joints.B2MouseJoint'; Ek.__super__ = Sb; Ek.prototype = t(Sb.prototype, { getAnchorA: function () { return this.m_target; }, getAnchorB: function () { return this.m_bodyB.getWorldPoint(this.m_localAnchor); }, getReactionForce: function (a) { return new P(a * this.m_impulse.x, a * this.m_impulse.y); }, getReactionTorque: function (a) { return 0; }, getTarget: function () { return this.m_target; }, setTarget: function (a) { 0 == this.m_bodyB.isAwake() && this.m_bodyB.setAwake(!0); this.m_target = a; }, getMaxForce: function () { return this.m_maxForce; }, setMaxForce: function (a) { this.m_maxForce = a; }, getFrequency: function () { return this.m_frequencyHz; }, setFrequency: function (a) { this.m_frequencyHz = a; }, getDampingRatio: function () { return this.m_dampingRatio; }, setDampingRatio: function (a) { this.m_dampingRatio = a; }, K: null, K1: null, K2: null, initVelocityConstraints: function (a) { var b = this.m_bodyB, d = b.getMass(), e = 2 * Math.PI * this.m_frequencyHz, c = d * e * e; this.m_gamma = a.dt * (2 * d * this.m_dampingRatio * e + a.dt * c); this.m_gamma = 0 != this.m_gamma ? 1 / this.m_gamma : 0; this.m_beta = a.dt * c * this.m_gamma; c = b.m_xf.R; d = this.m_localAnchor.x - b.m_sweep.localCenter.x; e = this.m_localAnchor.y - b.m_sweep.localCenter.y; var g = c.col1.x * d + c.col2.x * e; e = c.col1.y * d + c.col2.y * e; d = g; c = b.m_invMass; g = b.m_invI; this.K1.col1.x = c; this.K1.col2.x = 0; this.K1.col1.y = 0; this.K1.col2.y = c; this.K2.col1.x = g * e * e; this.K2.col2.x = -g * d * e; this.K2.col1.y = -g * d * e; this.K2.col2.y = g * d * d; this.K.setM(this.K1); this.K.addM(this.K2); this.K.col1.x += this.m_gamma; this.K.col2.y += this.m_gamma; this.K.getInverse(this.m_mass); this.m_C.x = b.m_sweep.c.x + d - this.m_target.x; this.m_C.y = b.m_sweep.c.y + e - this.m_target.y; b.m_angularVelocity *= 0.98; this.m_impulse.x *= a.dtRatio; this.m_impulse.y *= a.dtRatio; b.m_linearVelocity.x += c * this.m_impulse.x; b.m_linearVelocity.y += c * this.m_impulse.y; b.m_angularVelocity += g * (d * this.m_impulse.y - e * this.m_impulse.x); }, solveVelocityConstraints: function (a) { var b = this.m_bodyB, d = b.m_xf.R, e = this.m_localAnchor.x - b.m_sweep.localCenter.x, c = this.m_localAnchor.y - b.m_sweep.localCenter.y, g = d.col1.x * e + d.col2.x * c; c = d.col1.y * e + d.col2.y * c; e = g; g = b.m_linearVelocity.x + -b.m_angularVelocity * c; var l = b.m_linearVelocity.y + b.m_angularVelocity * e; d = this.m_mass; g = g + this.m_beta * this.m_C.x + this.m_gamma * this.m_impulse.x; var q = l + this.m_beta * this.m_C.y + this.m_gamma * this.m_impulse.y; l = -(d.col1.x * g + d.col2.x * q); q = -(d.col1.y * g + d.col2.y * q); d = this.m_impulse.x; g = this.m_impulse.y; this.m_impulse.x += l; this.m_impulse.y += q; a = a.dt * this.m_maxForce; this.m_impulse.lengthSquared() > a * a && this.m_impulse.multiply(a / this.m_impulse.length()); l = this.m_impulse.x - d; q = this.m_impulse.y - g; b.m_linearVelocity.x += b.m_invMass * l; b.m_linearVelocity.y += b.m_invMass * q; b.m_angularVelocity += b.m_invI * (e * q - c * l); }, solvePositionConstraints: function (a) { return !0; }, m_localAnchor: null, m_target: null, m_impulse: null, m_mass: null, m_C: null, m_maxForce: null, m_frequencyHz: null, m_dampingRatio: null, m_beta: null, m_gamma: null, __class__: Ek }); var Fk = function () { Vc.call(this); this.target = new P(); this.type = 5; this.maxForce = 0; this.frequencyHz = 5; this.dampingRatio = 0.7; }; k['box2D.dynamics.joints.B2MouseJointDef'] = Fk; Fk.__name__ = 'box2D.dynamics.joints.B2MouseJointDef'; Fk.__super__ = Vc; Fk.prototype = t(Vc.prototype, { target: null, maxForce: null, frequencyHz: null, dampingRatio: null, __class__: Fk }); var ri = function (a) { Sb.call(this, a); this.m_localAnchor1 = new P(); this.m_localAnchor2 = new P(); this.m_localXAxis1 = new P(); this.m_localYAxis1 = new P(); this.m_axis = new P(); this.m_perp = new P(); this.m_K = new Jh(); this.m_impulse = new Ve(); var b = this.m_localAnchor1, d = a.localAnchorA; b.x = d.x; b.y = d.y; b = this.m_localAnchor2; d = a.localAnchorB; b.x = d.x; b.y = d.y; b = this.m_localXAxis1; d = a.localAxisA; b.x = d.x; b.y = d.y; this.m_localYAxis1.x = -this.m_localXAxis1.y; this.m_localYAxis1.y = this.m_localXAxis1.x; this.m_refAngle = a.referenceAngle; this.m_impulse.setZero(); this.m_motorImpulse = this.m_motorMass = 0; this.m_lowerTranslation = a.lowerTranslation; this.m_upperTranslation = a.upperTranslation; this.m_maxMotorForce = a.maxMotorForce; this.m_motorSpeed = a.motorSpeed; this.m_enableLimit = a.enableLimit; this.m_enableMotor = a.enableMotor; this.m_limitState = 0; b = this.m_axis; b.x = 0; b.y = 0; b = this.m_perp; b.x = 0; b.y = 0; }; k['box2D.dynamics.joints.B2PrismaticJoint'] = ri; ri.__name__ = 'box2D.dynamics.joints.B2PrismaticJoint'; ri.__super__ = Sb; ri.prototype = t(Sb.prototype, { getAnchorA: function () { return this.m_bodyA.getWorldPoint(this.m_localAnchor1); }, getAnchorB: function () { return this.m_bodyB.getWorldPoint(this.m_localAnchor2); }, getReactionForce: function (a) { return new P( a * (this.m_impulse.x * this.m_perp.x + (this.m_motorImpulse + this.m_impulse.z) * this.m_axis.x), a * (this.m_impulse.x * this.m_perp.y + (this.m_motorImpulse + this.m_impulse.z) * this.m_axis.y) ); }, getReactionTorque: function (a) { return a * this.m_impulse.y; }, getJointTranslation: function () { var a = this.m_bodyA, b = this.m_bodyB, d = a.getWorldPoint(this.m_localAnchor1), e = b.getWorldPoint(this.m_localAnchor2); b = e.x - d.x; d = e.y - d.y; a = a.getWorldVector(this.m_localXAxis1); return a.x * b + a.y * d; }, getJointSpeed: function () { var a = this.m_bodyA, b = this.m_bodyB, d = a.m_xf.R, e = this.m_localAnchor1.x - a.m_sweep.localCenter.x, c = this.m_localAnchor1.y - a.m_sweep.localCenter.y, g = d.col1.x * e + d.col2.x * c; c = d.col1.y * e + d.col2.y * c; e = g; d = b.m_xf.R; var l = this.m_localAnchor2.x - b.m_sweep.localCenter.x, q = this.m_localAnchor2.y - b.m_sweep.localCenter.y; g = d.col1.x * l + d.col2.x * q; q = d.col1.y * l + d.col2.y * q; l = g; d = b.m_sweep.c.x + l - (a.m_sweep.c.x + e); g = b.m_sweep.c.y + q - (a.m_sweep.c.y + c); var y = a.getWorldVector(this.m_localXAxis1), r = a.m_linearVelocity, h = b.m_linearVelocity; a = a.m_angularVelocity; b = b.m_angularVelocity; return ( d * -a * y.y + g * a * y.x + (y.x * (h.x + -b * q - r.x - -a * c) + y.y * (h.y + b * l - r.y - a * e)) ); }, isLimitEnabled: function () { return this.m_enableLimit; }, enableLimit: function (a) { this.m_bodyA.setAwake(!0); this.m_bodyB.setAwake(!0); this.m_enableLimit = a; }, getLowerLimit: function () { return this.m_lowerTranslation; }, getUpperLimit: function () { return this.m_upperTranslation; }, setLimits: function (a, b) { this.m_bodyA.setAwake(!0); this.m_bodyB.setAwake(!0); this.m_lowerTranslation = a; this.m_upperTranslation = b; }, isMotorEnabled: function () { return this.m_enableMotor; }, enableMotor: function (a) { this.m_bodyA.setAwake(!0); this.m_bodyB.setAwake(!0); this.m_enableMotor = a; }, setMotorSpeed: function (a) { this.m_bodyA.setAwake(!0); this.m_bodyB.setAwake(!0); this.m_motorSpeed = a; }, getMotorSpeed: function () { return this.m_motorSpeed; }, setMaxMotorForce: function (a) { this.m_bodyA.setAwake(!0); this.m_bodyB.setAwake(!0); this.m_maxMotorForce = a; }, getMotorForce: function () { return this.m_motorImpulse; }, initVelocityConstraints: function (a) { var b = this.m_bodyA, d = this.m_bodyB, e = this.m_localCenterA, c = b.getLocalCenter(); e.x = c.x; e.y = c.y; e = this.m_localCenterB; c = d.getLocalCenter(); e.x = c.x; e.y = c.y; var g = b.getTransform(); d.getTransform(); var l = b.m_xf.R, q = this.m_localAnchor1.x - this.m_localCenterA.x, y = this.m_localAnchor1.y - this.m_localCenterA.y, r = l.col1.x * q + l.col2.x * y; y = l.col1.y * q + l.col2.y * y; q = r; l = d.m_xf.R; var h = this.m_localAnchor2.x - this.m_localCenterB.x, p = this.m_localAnchor2.y - this.m_localCenterB.y; r = l.col1.x * h + l.col2.x * p; p = l.col1.y * h + l.col2.y * p; h = r; l = d.m_sweep.c.x + h - b.m_sweep.c.x - q; r = d.m_sweep.c.y + p - b.m_sweep.c.y - y; this.m_invMassA = b.m_invMass; this.m_invMassB = d.m_invMass; this.m_invIA = b.m_invI; this.m_invIB = d.m_invI; e = this.m_axis; c = R.mulMV(g.R, this.m_localXAxis1); e.x = c.x; e.y = c.y; this.m_a1 = (l + q) * this.m_axis.y - (r + y) * this.m_axis.x; this.m_a2 = h * this.m_axis.y - p * this.m_axis.x; this.m_motorMass = this.m_invMassA + this.m_invMassB + this.m_invIA * this.m_a1 * this.m_a1 + this.m_invIB * this.m_a2 * this.m_a2; this.m_motorMass > Number.MIN_VALUE && (this.m_motorMass = 1 / this.m_motorMass); e = this.m_perp; c = R.mulMV(g.R, this.m_localYAxis1); e.x = c.x; e.y = c.y; this.m_s1 = (l + q) * this.m_perp.y - (r + y) * this.m_perp.x; this.m_s2 = h * this.m_perp.y - p * this.m_perp.x; g = this.m_invMassA; q = this.m_invMassB; y = this.m_invIA; h = this.m_invIB; this.m_K.col1.x = g + q + y * this.m_s1 * this.m_s1 + h * this.m_s2 * this.m_s2; this.m_K.col1.y = y * this.m_s1 + h * this.m_s2; this.m_K.col1.z = y * this.m_s1 * this.m_a1 + h * this.m_s2 * this.m_a2; this.m_K.col2.x = this.m_K.col1.y; this.m_K.col2.y = y + h; this.m_K.col2.z = y * this.m_a1 + h * this.m_a2; this.m_K.col3.x = this.m_K.col1.z; this.m_K.col3.y = this.m_K.col2.z; this.m_K.col3.z = g + q + y * this.m_a1 * this.m_a1 + h * this.m_a2 * this.m_a2; this.m_enableLimit ? ((l = this.m_axis.x * l + this.m_axis.y * r), R.abs(this.m_upperTranslation - this.m_lowerTranslation) < 2 * Z.b2_linearSlop ? (this.m_limitState = 3) : l <= this.m_lowerTranslation ? 1 != this.m_limitState && ((this.m_limitState = 1), (this.m_impulse.z = 0)) : l >= this.m_upperTranslation ? 2 != this.m_limitState && ((this.m_limitState = 2), (this.m_impulse.z = 0)) : ((this.m_limitState = 0), (this.m_impulse.z = 0))) : (this.m_limitState = 0); 0 == this.m_enableMotor && (this.m_motorImpulse = 0); a.warmStarting ? ((this.m_impulse.x *= a.dtRatio), (this.m_impulse.y *= a.dtRatio), (this.m_motorImpulse *= a.dtRatio), (a = this.m_impulse.x * this.m_perp.x + (this.m_motorImpulse + this.m_impulse.z) * this.m_axis.x), (l = this.m_impulse.x * this.m_perp.y + (this.m_motorImpulse + this.m_impulse.z) * this.m_axis.y), (r = this.m_impulse.x * this.m_s1 + this.m_impulse.y + (this.m_motorImpulse + this.m_impulse.z) * this.m_a1), (g = this.m_impulse.x * this.m_s2 + this.m_impulse.y + (this.m_motorImpulse + this.m_impulse.z) * this.m_a2), (b.m_linearVelocity.x -= this.m_invMassA * a), (b.m_linearVelocity.y -= this.m_invMassA * l), (b.m_angularVelocity -= this.m_invIA * r), (d.m_linearVelocity.x += this.m_invMassB * a), (d.m_linearVelocity.y += this.m_invMassB * l), (d.m_angularVelocity += this.m_invIB * g)) : (this.m_impulse.setZero(), (this.m_motorImpulse = 0)); }, solveVelocityConstraints: function (a) { var b = this.m_bodyA, d = this.m_bodyB, e = b.m_linearVelocity, c = b.m_angularVelocity, g = d.m_linearVelocity, l = d.m_angularVelocity; if (this.m_enableMotor && 3 != this.m_limitState) { var q = this.m_motorMass * (this.m_motorSpeed - (this.m_axis.x * (g.x - e.x) + this.m_axis.y * (g.y - e.y) + this.m_a2 * l - this.m_a1 * c)); var y = this.m_motorImpulse; a = a.dt * this.m_maxMotorForce; this.m_motorImpulse = R.clamp(this.m_motorImpulse + q, -a, a); q = this.m_motorImpulse - y; y = q * this.m_axis.x; a = q * this.m_axis.y; var r = q * this.m_a1; q *= this.m_a2; e.x -= this.m_invMassA * y; e.y -= this.m_invMassA * a; c -= this.m_invIA * r; g.x += this.m_invMassB * y; g.y += this.m_invMassB * a; l += this.m_invIB * q; } r = this.m_perp.x * (g.x - e.x) + this.m_perp.y * (g.y - e.y) + this.m_s2 * l - this.m_s1 * c; a = l - c; this.m_enableLimit && 0 != this.m_limitState ? ((q = this.m_axis.x * (g.x - e.x) + this.m_axis.y * (g.y - e.y) + this.m_a2 * l - this.m_a1 * c), (y = this.m_impulse.copy()), (q = this.m_K.solve33(new Ve(), -r, -a, -q)), this.m_impulse.add(q), 1 == this.m_limitState ? (this.m_impulse.z = R.max(this.m_impulse.z, 0)) : 2 == this.m_limitState && (this.m_impulse.z = R.min(this.m_impulse.z, 0)), (r = -r - (this.m_impulse.z - y.z) * this.m_K.col3.x), (a = -a - (this.m_impulse.z - y.z) * this.m_K.col3.y), (a = this.m_K.solve22(new P(), r, a)), (a.x += y.x), (a.y += y.y), (this.m_impulse.x = a.x), (this.m_impulse.y = a.y), (q.x = this.m_impulse.x - y.x), (q.y = this.m_impulse.y - y.y), (q.z = this.m_impulse.z - y.z), (y = q.x * this.m_perp.x + q.z * this.m_axis.x), (a = q.x * this.m_perp.y + q.z * this.m_axis.y), (r = q.x * this.m_s1 + q.y + q.z * this.m_a1), (q = q.x * this.m_s2 + q.y + q.z * this.m_a2)) : ((q = this.m_K.solve22(new P(), -r, -a)), (this.m_impulse.x += q.x), (this.m_impulse.y += q.y), (y = q.x * this.m_perp.x), (a = q.x * this.m_perp.y), (r = q.x * this.m_s1 + q.y), (q = q.x * this.m_s2 + q.y)); e.x -= this.m_invMassA * y; e.y -= this.m_invMassA * a; c -= this.m_invIA * r; g.x += this.m_invMassB * y; g.y += this.m_invMassB * a; l += this.m_invIB * q; q = b.m_linearVelocity; q.x = e.x; q.y = e.y; b.m_angularVelocity = c; q = d.m_linearVelocity; q.x = g.x; q.y = g.y; d.m_angularVelocity = l; }, solvePositionConstraints: function (a) { a = this.m_bodyA; var b = this.m_bodyB, d = a.m_sweep.c, e = a.m_sweep.a, c = b.m_sweep.c, g = b.m_sweep.a, l = 0; var q = !1; var y = 0, r = yc.fromAngle(e), h = yc.fromAngle(g); var p = r; var k = this.m_localAnchor1.x - this.m_localCenterA.x; var n = this.m_localAnchor1.y - this.m_localCenterA.y; var u = p.col1.x * k + p.col2.x * n; n = p.col1.y * k + p.col2.y * n; k = u; p = h; h = this.m_localAnchor2.x - this.m_localCenterB.x; var m = this.m_localAnchor2.y - this.m_localCenterB.y; u = p.col1.x * h + p.col2.x * m; m = p.col1.y * h + p.col2.y * m; h = u; p = c.x + h - d.x - k; u = c.y + m - d.y - n; if (this.m_enableLimit) { this.m_axis = R.mulMV(r, this.m_localXAxis1); this.m_a1 = (p + k) * this.m_axis.y - (u + n) * this.m_axis.x; this.m_a2 = h * this.m_axis.y - m * this.m_axis.x; var t = this.m_axis.x * p + this.m_axis.y * u; R.abs(this.m_upperTranslation - this.m_lowerTranslation) < 2 * Z.b2_linearSlop ? ((y = R.clamp(t, -Z.b2_maxLinearCorrection, Z.b2_maxLinearCorrection)), (l = R.abs(t)), (q = !0)) : t <= this.m_lowerTranslation ? ((y = R.clamp( t - this.m_lowerTranslation + Z.b2_linearSlop, -Z.b2_maxLinearCorrection, 0 )), (l = this.m_lowerTranslation - t), (q = !0)) : t >= this.m_upperTranslation && ((y = R.clamp( t - this.m_upperTranslation + Z.b2_linearSlop, 0, Z.b2_maxLinearCorrection )), (l = t - this.m_upperTranslation), (q = !0)); } this.m_perp = R.mulMV(r, this.m_localYAxis1); this.m_s1 = (p + k) * this.m_perp.y - (u + n) * this.m_perp.x; this.m_s2 = h * this.m_perp.y - m * this.m_perp.x; r = new Ve(); n = this.m_perp.x * p + this.m_perp.y * u; h = g - e - this.m_refAngle; l = R.max(l, R.abs(n)); k = R.abs(h); q ? ((q = this.m_invMassA), (m = this.m_invMassB), (p = this.m_invIA), (u = this.m_invIB), (this.m_K.col1.x = q + m + p * this.m_s1 * this.m_s1 + u * this.m_s2 * this.m_s2), (this.m_K.col1.y = p * this.m_s1 + u * this.m_s2), (this.m_K.col1.z = p * this.m_s1 * this.m_a1 + u * this.m_s2 * this.m_a2), (this.m_K.col2.x = this.m_K.col1.y), (this.m_K.col2.y = p + u), (this.m_K.col2.z = p * this.m_a1 + u * this.m_a2), (this.m_K.col3.x = this.m_K.col1.z), (this.m_K.col3.y = this.m_K.col2.z), (this.m_K.col3.z = q + m + p * this.m_a1 * this.m_a1 + u * this.m_a2 * this.m_a2), this.m_K.solve33(r, -n, -h, -y)) : ((q = this.m_invMassA), (m = this.m_invMassB), (p = this.m_invIA), (u = this.m_invIB), (y = p * this.m_s1 + u * this.m_s2), (t = p + u), this.m_K.col1.set( q + m + p * this.m_s1 * this.m_s1 + u * this.m_s2 * this.m_s2, y, 0 ), this.m_K.col2.set(y, t, 0), (y = this.m_K.solve22(new P(), -n, -h)), (r.x = y.x), (r.y = y.y), (r.z = 0)); y = r.x * this.m_perp.x + r.z * this.m_axis.x; q = r.x * this.m_perp.y + r.z * this.m_axis.y; n = r.x * this.m_s1 + r.y + r.z * this.m_a1; r = r.x * this.m_s2 + r.y + r.z * this.m_a2; d.x -= this.m_invMassA * y; d.y -= this.m_invMassA * q; e -= this.m_invIA * n; c.x += this.m_invMassB * y; c.y += this.m_invMassB * q; g += this.m_invIB * r; a.m_sweep.a = e; b.m_sweep.a = g; a.synchronizeTransform(); b.synchronizeTransform(); return l <= Z.b2_linearSlop ? k <= Z.b2_angularSlop : !1; }, m_localAnchor1: null, m_localAnchor2: null, m_localXAxis1: null, m_localYAxis1: null, m_refAngle: null, m_axis: null, m_perp: null, m_s1: null, m_s2: null, m_a1: null, m_a2: null, m_K: null, m_impulse: null, m_motorMass: null, m_motorImpulse: null, m_lowerTranslation: null, m_upperTranslation: null, m_maxMotorForce: null, m_motorSpeed: null, m_enableLimit: null, m_enableMotor: null, m_limitState: null, __class__: ri }); var Gk = function () { Vc.call(this); this.localAnchorA = new P(); this.localAnchorB = new P(); this.localAxisA = new P(); this.type = 2; var a = this.localAxisA, b = 1, d = 0; null == d && (d = 0); null == b && (b = 0); a.x = b; a.y = d; this.referenceAngle = 0; this.enableLimit = !1; this.upperTranslation = this.lowerTranslation = 0; this.enableMotor = !1; this.motorSpeed = this.maxMotorForce = 0; }; k['box2D.dynamics.joints.B2PrismaticJointDef'] = Gk; Gk.__name__ = 'box2D.dynamics.joints.B2PrismaticJointDef'; Gk.__super__ = Vc; Gk.prototype = t(Vc.prototype, { initialize: function (a, b, d, e) { this.bodyA = a; this.bodyB = b; this.localAnchorA = this.bodyA.getLocalPoint(d); this.localAnchorB = this.bodyB.getLocalPoint(d); this.localAxisA = this.bodyA.getLocalVector(e); this.referenceAngle = this.bodyB.getAngle() - this.bodyA.getAngle(); }, localAnchorA: null, localAnchorB: null, localAxisA: null, referenceAngle: null, enableLimit: null, lowerTranslation: null, upperTranslation: null, enableMotor: null, maxMotorForce: null, motorSpeed: null, __class__: Gk }); var wg = function (a) { Sb.call(this, a); this.m_groundAnchor1 = new P(); this.m_groundAnchor2 = new P(); this.m_localAnchor1 = new P(); this.m_localAnchor2 = new P(); this.m_u1 = new P(); this.m_u2 = new P(); this.m_ground = this.m_bodyA.m_world.m_groundBody; this.m_groundAnchor1.x = a.groundAnchorA.x - this.m_ground.m_xf.position.x; this.m_groundAnchor1.y = a.groundAnchorA.y - this.m_ground.m_xf.position.y; this.m_groundAnchor2.x = a.groundAnchorB.x - this.m_ground.m_xf.position.x; this.m_groundAnchor2.y = a.groundAnchorB.y - this.m_ground.m_xf.position.y; var b = this.m_localAnchor1, d = a.localAnchorA; b.x = d.x; b.y = d.y; b = this.m_localAnchor2; d = a.localAnchorB; b.x = d.x; b.y = d.y; this.m_ratio = a.ratio; this.m_constant = a.lengthA + this.m_ratio * a.lengthB; this.m_maxLength1 = R.min( a.maxLengthA, this.m_constant - this.m_ratio * wg.b2_minPulleyLength ); this.m_maxLength2 = R.min( a.maxLengthB, (this.m_constant - wg.b2_minPulleyLength) / this.m_ratio ); this.m_limitImpulse2 = this.m_limitImpulse1 = this.m_impulse = 0; }; k['box2D.dynamics.joints.B2PulleyJoint'] = wg; wg.__name__ = 'box2D.dynamics.joints.B2PulleyJoint'; wg.__super__ = Sb; wg.prototype = t(Sb.prototype, { getAnchorA: function () { return this.m_bodyA.getWorldPoint(this.m_localAnchor1); }, getAnchorB: function () { return this.m_bodyB.getWorldPoint(this.m_localAnchor2); }, getReactionForce: function (a) { return new P(a * this.m_impulse * this.m_u2.x, a * this.m_impulse * this.m_u2.y); }, getReactionTorque: function (a) { return 0; }, getGroundAnchorA: function () { var a = this.m_ground.m_xf.position.copy(); a.add(this.m_groundAnchor1); return a; }, getGroundAnchorB: function () { var a = this.m_ground.m_xf.position.copy(); a.add(this.m_groundAnchor2); return a; }, getLength1: function () { var a = this.m_bodyA.getWorldPoint(this.m_localAnchor1), b = a.x - (this.m_ground.m_xf.position.x + this.m_groundAnchor1.x); a = a.y - (this.m_ground.m_xf.position.y + this.m_groundAnchor1.y); return Math.sqrt(b * b + a * a); }, getLength2: function () { var a = this.m_bodyB.getWorldPoint(this.m_localAnchor2), b = a.x - (this.m_ground.m_xf.position.x + this.m_groundAnchor2.x); a = a.y - (this.m_ground.m_xf.position.y + this.m_groundAnchor2.y); return Math.sqrt(b * b + a * a); }, getRatio: function () { return this.m_ratio; }, initVelocityConstraints: function (a) { var b = this.m_bodyA, d = this.m_bodyB, e = b.m_xf.R, c = this.m_localAnchor1.x - b.m_sweep.localCenter.x, g = this.m_localAnchor1.y - b.m_sweep.localCenter.y, l = e.col1.x * c + e.col2.x * g; g = e.col1.y * c + e.col2.y * g; c = l; e = d.m_xf.R; var q = this.m_localAnchor2.x - d.m_sweep.localCenter.x, y = this.m_localAnchor2.y - d.m_sweep.localCenter.y; l = e.col1.x * q + e.col2.x * y; y = e.col1.y * q + e.col2.y * y; q = l; l = d.m_sweep.c.x + q; var r = d.m_sweep.c.y + y, h = this.m_ground.m_xf.position.x + this.m_groundAnchor2.x, p = this.m_ground.m_xf.position.y + this.m_groundAnchor2.y; e = this.m_u1; var k = b.m_sweep.c.x + c - (this.m_ground.m_xf.position.x + this.m_groundAnchor1.x), n = b.m_sweep.c.y + g - (this.m_ground.m_xf.position.y + this.m_groundAnchor1.y); null == n && (n = 0); null == k && (k = 0); e.x = k; e.y = n; e = this.m_u2; k = l - h; n = r - p; null == n && (n = 0); null == k && (k = 0); e.x = k; e.y = n; l = this.m_u1.length(); r = this.m_u2.length(); l > Z.b2_linearSlop ? this.m_u1.multiply(1 / l) : ((e = this.m_u1), (e.x = 0), (e.y = 0)); r > Z.b2_linearSlop ? this.m_u2.multiply(1 / r) : ((e = this.m_u2), (e.x = 0), (e.y = 0)); 0 < this.m_constant - l - this.m_ratio * r ? (this.m_impulse = this.m_state = 0) : (this.m_state = 2); l < this.m_maxLength1 ? (this.m_limitImpulse1 = this.m_limitState1 = 0) : (this.m_limitState1 = 2); r < this.m_maxLength2 ? (this.m_limitImpulse2 = this.m_limitState2 = 0) : (this.m_limitState2 = 2); e = c * this.m_u1.y - g * this.m_u1.x; l = q * this.m_u2.y - y * this.m_u2.x; this.m_limitMass1 = b.m_invMass + b.m_invI * e * e; this.m_limitMass2 = d.m_invMass + d.m_invI * l * l; this.m_pulleyMass = this.m_limitMass1 + this.m_ratio * this.m_ratio * this.m_limitMass2; this.m_limitMass1 = 1 / this.m_limitMass1; this.m_limitMass2 = 1 / this.m_limitMass2; this.m_pulleyMass = 1 / this.m_pulleyMass; a.warmStarting ? ((this.m_impulse *= a.dtRatio), (this.m_limitImpulse1 *= a.dtRatio), (this.m_limitImpulse2 *= a.dtRatio), (a = (-this.m_impulse - this.m_limitImpulse1) * this.m_u1.x), (e = (-this.m_impulse - this.m_limitImpulse1) * this.m_u1.y), (l = (-this.m_ratio * this.m_impulse - this.m_limitImpulse2) * this.m_u2.x), (r = (-this.m_ratio * this.m_impulse - this.m_limitImpulse2) * this.m_u2.y), (b.m_linearVelocity.x += b.m_invMass * a), (b.m_linearVelocity.y += b.m_invMass * e), (b.m_angularVelocity += b.m_invI * (c * e - g * a)), (d.m_linearVelocity.x += d.m_invMass * l), (d.m_linearVelocity.y += d.m_invMass * r), (d.m_angularVelocity += d.m_invI * (q * r - y * l))) : (this.m_limitImpulse2 = this.m_limitImpulse1 = this.m_impulse = 0); }, solveVelocityConstraints: function (a) { a = this.m_bodyA; var b = this.m_bodyB, d = a.m_xf.R, e = this.m_localAnchor1.x - a.m_sweep.localCenter.x, c = this.m_localAnchor1.y - a.m_sweep.localCenter.y, g = d.col1.x * e + d.col2.x * c; c = d.col1.y * e + d.col2.y * c; e = g; d = b.m_xf.R; var l = this.m_localAnchor2.x - b.m_sweep.localCenter.x, q = this.m_localAnchor2.y - b.m_sweep.localCenter.y; g = d.col1.x * l + d.col2.x * q; q = d.col1.y * l + d.col2.y * q; l = g; if (2 == this.m_state) { d = a.m_linearVelocity.x + -a.m_angularVelocity * c; g = a.m_linearVelocity.y + a.m_angularVelocity * e; var y = b.m_linearVelocity.x + -b.m_angularVelocity * q; var r = b.m_linearVelocity.y + b.m_angularVelocity * l; d = -(this.m_u1.x * d + this.m_u1.y * g) - this.m_ratio * (this.m_u2.x * y + this.m_u2.y * r); r = this.m_pulleyMass * -d; d = this.m_impulse; this.m_impulse = R.max(0, this.m_impulse + r); r = this.m_impulse - d; d = -r * this.m_u1.x; g = -r * this.m_u1.y; y = -this.m_ratio * r * this.m_u2.x; r = -this.m_ratio * r * this.m_u2.y; a.m_linearVelocity.x += a.m_invMass * d; a.m_linearVelocity.y += a.m_invMass * g; a.m_angularVelocity += a.m_invI * (e * g - c * d); b.m_linearVelocity.x += b.m_invMass * y; b.m_linearVelocity.y += b.m_invMass * r; b.m_angularVelocity += b.m_invI * (l * r - q * y); } 2 == this.m_limitState1 && ((d = a.m_linearVelocity.x + -a.m_angularVelocity * c), (g = a.m_linearVelocity.y + a.m_angularVelocity * e), (d = -(this.m_u1.x * d + this.m_u1.y * g)), (r = -this.m_limitMass1 * d), (d = this.m_limitImpulse1), (this.m_limitImpulse1 = R.max(0, this.m_limitImpulse1 + r)), (r = this.m_limitImpulse1 - d), (d = -r * this.m_u1.x), (g = -r * this.m_u1.y), (a.m_linearVelocity.x += a.m_invMass * d), (a.m_linearVelocity.y += a.m_invMass * g), (a.m_angularVelocity += a.m_invI * (e * g - c * d))); 2 == this.m_limitState2 && ((y = b.m_linearVelocity.x + -b.m_angularVelocity * q), (r = b.m_linearVelocity.y + b.m_angularVelocity * l), (d = -(this.m_u2.x * y + this.m_u2.y * r)), (r = -this.m_limitMass2 * d), (d = this.m_limitImpulse2), (this.m_limitImpulse2 = R.max(0, this.m_limitImpulse2 + r)), (r = this.m_limitImpulse2 - d), (y = -r * this.m_u2.x), (r = -r * this.m_u2.y), (b.m_linearVelocity.x += b.m_invMass * y), (b.m_linearVelocity.y += b.m_invMass * r), (b.m_angularVelocity += b.m_invI * (l * r - q * y))); }, solvePositionConstraints: function (a) { a = this.m_bodyA; var b = this.m_bodyB, d = this.m_ground.m_xf.position.x + this.m_groundAnchor1.x, e = this.m_ground.m_xf.position.y + this.m_groundAnchor1.y, c = this.m_ground.m_xf.position.x + this.m_groundAnchor2.x, g = this.m_ground.m_xf.position.y + this.m_groundAnchor2.y, l = 0; if (2 == this.m_state) { var q = a.m_xf.R; var y = this.m_localAnchor1.x - a.m_sweep.localCenter.x; var r = this.m_localAnchor1.y - a.m_sweep.localCenter.y; var h = q.col1.x * y + q.col2.x * r; r = q.col1.y * y + q.col2.y * r; y = h; q = b.m_xf.R; var p = this.m_localAnchor2.x - b.m_sweep.localCenter.x; var k = this.m_localAnchor2.y - b.m_sweep.localCenter.y; h = q.col1.x * p + q.col2.x * k; k = q.col1.y * p + q.col2.y * k; p = h; var n = a.m_sweep.c.x + y; var u = a.m_sweep.c.y + r; h = b.m_sweep.c.x + p; var m = b.m_sweep.c.y + k; q = this.m_u1; n -= d; u -= e; null == u && (u = 0); null == n && (n = 0); q.x = n; q.y = u; q = this.m_u2; n = h - c; u = m - g; null == u && (u = 0); null == n && (n = 0); q.x = n; q.y = u; h = this.m_u1.length(); u = this.m_u2.length(); h > Z.b2_linearSlop ? this.m_u1.multiply(1 / h) : ((q = this.m_u1), (q.x = 0), (q.y = 0)); u > Z.b2_linearSlop ? this.m_u2.multiply(1 / u) : ((q = this.m_u2), (q.x = 0), (q.y = 0)); q = this.m_constant - h - this.m_ratio * u; l = R.max(l, -q); q = R.clamp(q + Z.b2_linearSlop, -Z.b2_maxLinearCorrection, 0); q *= -this.m_pulleyMass; n = -q * this.m_u1.x; u = -q * this.m_u1.y; h = -this.m_ratio * q * this.m_u2.x; m = -this.m_ratio * q * this.m_u2.y; a.m_sweep.c.x += a.m_invMass * n; a.m_sweep.c.y += a.m_invMass * u; a.m_sweep.a += a.m_invI * (y * u - r * n); b.m_sweep.c.x += b.m_invMass * h; b.m_sweep.c.y += b.m_invMass * m; b.m_sweep.a += b.m_invI * (p * m - k * h); a.synchronizeTransform(); b.synchronizeTransform(); } 2 == this.m_limitState1 && ((q = a.m_xf.R), (y = this.m_localAnchor1.x - a.m_sweep.localCenter.x), (r = this.m_localAnchor1.y - a.m_sweep.localCenter.y), (h = q.col1.x * y + q.col2.x * r), (r = q.col1.y * y + q.col2.y * r), (y = h), (n = a.m_sweep.c.x + y), (u = a.m_sweep.c.y + r), (q = this.m_u1), (n -= d), (u -= e), null == u && (u = 0), null == n && (n = 0), (q.x = n), (q.y = u), (h = this.m_u1.length()), h > Z.b2_linearSlop ? ((this.m_u1.x *= 1 / h), (this.m_u1.y *= 1 / h)) : ((q = this.m_u1), (q.x = 0), (q.y = 0)), (q = this.m_maxLength1 - h), (l = R.max(l, -q)), (q = R.clamp(q + Z.b2_linearSlop, -Z.b2_maxLinearCorrection, 0)), (q *= -this.m_limitMass1), (n = -q * this.m_u1.x), (u = -q * this.m_u1.y), (a.m_sweep.c.x += a.m_invMass * n), (a.m_sweep.c.y += a.m_invMass * u), (a.m_sweep.a += a.m_invI * (y * u - r * n)), a.synchronizeTransform()); 2 == this.m_limitState2 && ((q = b.m_xf.R), (p = this.m_localAnchor2.x - b.m_sweep.localCenter.x), (k = this.m_localAnchor2.y - b.m_sweep.localCenter.y), (h = q.col1.x * p + q.col2.x * k), (k = q.col1.y * p + q.col2.y * k), (p = h), (h = b.m_sweep.c.x + p), (m = b.m_sweep.c.y + k), (q = this.m_u2), (n = h - c), (u = m - g), null == u && (u = 0), null == n && (n = 0), (q.x = n), (q.y = u), (u = this.m_u2.length()), u > Z.b2_linearSlop ? ((this.m_u2.x *= 1 / u), (this.m_u2.y *= 1 / u)) : ((q = this.m_u2), (q.x = 0), (q.y = 0)), (q = this.m_maxLength2 - u), (l = R.max(l, -q)), (q = R.clamp(q + Z.b2_linearSlop, -Z.b2_maxLinearCorrection, 0)), (q *= -this.m_limitMass2), (h = -q * this.m_u2.x), (m = -q * this.m_u2.y), (b.m_sweep.c.x += b.m_invMass * h), (b.m_sweep.c.y += b.m_invMass * m), (b.m_sweep.a += b.m_invI * (p * m - k * h)), b.synchronizeTransform()); return l < Z.b2_linearSlop; }, m_ground: null, m_groundAnchor1: null, m_groundAnchor2: null, m_localAnchor1: null, m_localAnchor2: null, m_u1: null, m_u2: null, m_constant: null, m_ratio: null, m_maxLength1: null, m_maxLength2: null, m_pulleyMass: null, m_limitMass1: null, m_limitMass2: null, m_impulse: null, m_limitImpulse1: null, m_limitImpulse2: null, m_state: null, m_limitState1: null, m_limitState2: null, __class__: wg }); var Hk = function () { Vc.call(this); this.groundAnchorA = new P(); this.groundAnchorB = new P(); this.localAnchorA = new P(); this.localAnchorB = new P(); this.type = 4; var a = this.groundAnchorA, b = -1, d = 1; null == d && (d = 0); null == b && (b = 0); a.x = b; a.y = d; a = this.groundAnchorB; d = b = 1; null == d && (d = 0); null == b && (b = 0); a.x = b; a.y = d; a = this.localAnchorA; b = -1; d = 0; null == d && (d = 0); null == b && (b = 0); a.x = b; a.y = d; a = this.localAnchorB; b = 1; d = 0; null == d && (d = 0); null == b && (b = 0); a.x = b; a.y = d; this.maxLengthB = this.lengthB = this.maxLengthA = this.lengthA = 0; this.ratio = 1; this.collideConnected = !0; }; k['box2D.dynamics.joints.B2PulleyJointDef'] = Hk; Hk.__name__ = 'box2D.dynamics.joints.B2PulleyJointDef'; Hk.__super__ = Vc; Hk.prototype = t(Vc.prototype, { initialize: function (a, b, d, e, c, g, l) { this.bodyA = a; this.bodyB = b; a = this.groundAnchorA; a.x = d.x; a.y = d.y; a = this.groundAnchorB; a.x = e.x; a.y = e.y; this.localAnchorA = this.bodyA.getLocalPoint(c); this.localAnchorB = this.bodyB.getLocalPoint(g); a = c.x - d.x; d = c.y - d.y; this.lengthA = Math.sqrt(a * a + d * d); d = g.x - e.x; e = g.y - e.y; this.lengthB = Math.sqrt(d * d + e * e); this.ratio = l; l = this.lengthA + this.ratio * this.lengthB; this.maxLengthA = l - this.ratio * wg.b2_minPulleyLength; this.maxLengthB = (l - wg.b2_minPulleyLength) / this.ratio; }, groundAnchorA: null, groundAnchorB: null, localAnchorA: null, localAnchorB: null, lengthA: null, maxLengthA: null, lengthB: null, maxLengthB: null, ratio: null, __class__: Hk }); var ag = function (a) { Sb.call(this, a); this.K = new yc(); this.K1 = new yc(); this.K2 = new yc(); this.K3 = new yc(); this.impulse3 = new Ve(); this.impulse2 = new P(); this.reduced = new P(); this.m_localAnchor1 = new P(); this.m_localAnchor2 = new P(); this.m_impulse = new Ve(); this.m_mass = new Jh(); var b = this.m_localAnchor1, d = a.localAnchorA; b.x = d.x; b.y = d.y; b = this.m_localAnchor2; d = a.localAnchorB; b.x = d.x; b.y = d.y; this.m_referenceAngle = a.referenceAngle; this.m_impulse.setZero(); this.m_motorImpulse = 0; this.m_lowerAngle = a.lowerAngle; this.m_upperAngle = a.upperAngle; this.m_maxMotorTorque = a.maxMotorTorque; this.m_motorSpeed = a.motorSpeed; this.m_enableLimit = a.enableLimit; this.m_enableMotor = a.enableMotor; this.m_limitState = 0; }; k['box2D.dynamics.joints.B2RevoluteJoint'] = ag; ag.__name__ = 'box2D.dynamics.joints.B2RevoluteJoint'; ag.__super__ = Sb; ag.prototype = t(Sb.prototype, { getAnchorA: function () { return this.m_bodyA.getWorldPoint(this.m_localAnchor1); }, getAnchorB: function () { return this.m_bodyB.getWorldPoint(this.m_localAnchor2); }, getReactionForce: function (a) { return new P(a * this.m_impulse.x, a * this.m_impulse.y); }, getReactionTorque: function (a) { return a * this.m_impulse.z; }, getJointAngle: function () { return this.m_bodyB.m_sweep.a - this.m_bodyA.m_sweep.a - this.m_referenceAngle; }, getJointSpeed: function () { return this.m_bodyB.m_angularVelocity - this.m_bodyA.m_angularVelocity; }, isLimitEnabled: function () { return this.m_enableLimit; }, enableLimit: function (a) { this.m_enableLimit = a; }, getLowerLimit: function () { return this.m_lowerAngle; }, getUpperLimit: function () { return this.m_upperAngle; }, setLimits: function (a, b) { this.m_lowerAngle = a; this.m_upperAngle = b; }, isMotorEnabled: function () { this.m_bodyA.setAwake(!0); this.m_bodyB.setAwake(!0); return this.m_enableMotor; }, enableMotor: function (a) { this.m_enableMotor = a; }, setMotorSpeed: function (a) { this.m_bodyA.setAwake(!0); this.m_bodyB.setAwake(!0); this.m_motorSpeed = a; }, getMotorSpeed: function () { return this.m_motorSpeed; }, setMaxMotorTorque: function (a) { this.m_maxMotorTorque = a; }, getMotorTorque: function () { return this.m_maxMotorTorque; }, K: null, K1: null, K2: null, K3: null, initVelocityConstraints: function (a) { var b = this.m_bodyA, d = this.m_bodyB, e = b.m_xf.R, c = this.m_localAnchor1.x - b.m_sweep.localCenter.x, g = this.m_localAnchor1.y - b.m_sweep.localCenter.y, l = e.col1.x * c + e.col2.x * g; g = e.col1.y * c + e.col2.y * g; c = l; e = d.m_xf.R; var q = this.m_localAnchor2.x - d.m_sweep.localCenter.x, y = this.m_localAnchor2.y - d.m_sweep.localCenter.y; l = e.col1.x * q + e.col2.x * y; y = e.col1.y * q + e.col2.y * y; q = l; e = b.m_invMass; l = d.m_invMass; var r = b.m_invI, h = d.m_invI; this.m_mass.col1.x = e + l + g * g * r + y * y * h; this.m_mass.col2.x = -g * c * r - y * q * h; this.m_mass.col3.x = -g * r - y * h; this.m_mass.col1.y = this.m_mass.col2.x; this.m_mass.col2.y = e + l + c * c * r + q * q * h; this.m_mass.col3.y = c * r + q * h; this.m_mass.col1.z = this.m_mass.col3.x; this.m_mass.col2.z = this.m_mass.col3.y; this.m_mass.col3.z = r + h; this.m_motorMass = 1 / (r + h); 0 == this.m_enableMotor && (this.m_motorImpulse = 0); if (this.m_enableLimit) { var p = d.m_sweep.a - b.m_sweep.a - this.m_referenceAngle; R.abs(this.m_upperAngle - this.m_lowerAngle) < 2 * Z.b2_angularSlop ? (this.m_limitState = 3) : p <= this.m_lowerAngle ? (1 != this.m_limitState && (this.m_impulse.z = 0), (this.m_limitState = 1)) : p >= this.m_upperAngle ? (2 != this.m_limitState && (this.m_impulse.z = 0), (this.m_limitState = 2)) : ((this.m_limitState = 0), (this.m_impulse.z = 0)); } else this.m_limitState = 0; a.warmStarting ? ((this.m_impulse.x *= a.dtRatio), (this.m_impulse.y *= a.dtRatio), (this.m_motorImpulse *= a.dtRatio), (a = this.m_impulse.x), (p = this.m_impulse.y), (b.m_linearVelocity.x -= e * a), (b.m_linearVelocity.y -= e * p), (b.m_angularVelocity -= r * (c * p - g * a + this.m_motorImpulse + this.m_impulse.z)), (d.m_linearVelocity.x += l * a), (d.m_linearVelocity.y += l * p), (d.m_angularVelocity += h * (q * p - y * a + this.m_motorImpulse + this.m_impulse.z))) : (this.m_impulse.setZero(), (this.m_motorImpulse = 0)); }, impulse3: null, impulse2: null, reduced: null, solveVelocityConstraints: function (a) { var b = this.m_bodyA, d = this.m_bodyB, e = b.m_linearVelocity, c = b.m_angularVelocity, g = d.m_linearVelocity, l = d.m_angularVelocity, q = b.m_invMass, y = d.m_invMass, r = b.m_invI, h = d.m_invI; if (this.m_enableMotor && 3 != this.m_limitState) { var p = this.m_motorMass * -(l - c - this.m_motorSpeed); var k = this.m_motorImpulse; a = a.dt * this.m_maxMotorTorque; this.m_motorImpulse = R.clamp(this.m_motorImpulse + p, -a, a); p = this.m_motorImpulse - k; c -= r * p; l += h * p; } if (this.m_enableLimit && 0 != this.m_limitState) { var n = b.m_xf.R; p = this.m_localAnchor1.x - b.m_sweep.localCenter.x; k = this.m_localAnchor1.y - b.m_sweep.localCenter.y; var u = n.col1.x * p + n.col2.x * k; k = n.col1.y * p + n.col2.y * k; p = u; n = d.m_xf.R; a = this.m_localAnchor2.x - d.m_sweep.localCenter.x; var m = this.m_localAnchor2.y - d.m_sweep.localCenter.y; u = n.col1.x * a + n.col2.x * m; m = n.col1.y * a + n.col2.y * m; a = u; u = g.x + -l * m - e.x - -c * k; var t = g.y + l * a - e.y - c * p; this.m_mass.solve33(this.impulse3, -u, -t, -(l - c)); 3 == this.m_limitState ? this.m_impulse.add(this.impulse3) : 1 == this.m_limitState ? ((n = this.m_impulse.z + this.impulse3.z), 0 > n && (this.m_mass.solve22(this.reduced, -u, -t), (this.impulse3.x = this.reduced.x), (this.impulse3.y = this.reduced.y), (this.impulse3.z = -this.m_impulse.z), (this.m_impulse.x += this.reduced.x), (this.m_impulse.y += this.reduced.y), (this.m_impulse.z = 0))) : 2 == this.m_limitState && ((n = this.m_impulse.z + this.impulse3.z), 0 < n && (this.m_mass.solve22(this.reduced, -u, -t), (this.impulse3.x = this.reduced.x), (this.impulse3.y = this.reduced.y), (this.impulse3.z = -this.m_impulse.z), (this.m_impulse.x += this.reduced.x), (this.m_impulse.y += this.reduced.y), (this.m_impulse.z = 0))); e.x -= q * this.impulse3.x; e.y -= q * this.impulse3.y; c -= r * (p * this.impulse3.y - k * this.impulse3.x + this.impulse3.z); g.x += y * this.impulse3.x; g.y += y * this.impulse3.y; l += h * (a * this.impulse3.y - m * this.impulse3.x + this.impulse3.z); } else (n = b.m_xf.R), (p = this.m_localAnchor1.x - b.m_sweep.localCenter.x), (k = this.m_localAnchor1.y - b.m_sweep.localCenter.y), (u = n.col1.x * p + n.col2.x * k), (k = n.col1.y * p + n.col2.y * k), (p = u), (n = d.m_xf.R), (a = this.m_localAnchor2.x - d.m_sweep.localCenter.x), (m = this.m_localAnchor2.y - d.m_sweep.localCenter.y), (u = n.col1.x * a + n.col2.x * m), (m = n.col1.y * a + n.col2.y * m), (a = u), this.m_mass.solve22( this.impulse2, -(g.x + -l * m - e.x - -c * k), -(g.y + l * a - e.y - c * p) ), (this.m_impulse.x += this.impulse2.x), (this.m_impulse.y += this.impulse2.y), (e.x -= q * this.impulse2.x), (e.y -= q * this.impulse2.y), (c -= r * (p * this.impulse2.y - k * this.impulse2.x)), (g.x += y * this.impulse2.x), (g.y += y * this.impulse2.y), (l += h * (a * this.impulse2.y - m * this.impulse2.x)); q = b.m_linearVelocity; q.x = e.x; q.y = e.y; b.m_angularVelocity = c; q = d.m_linearVelocity; q.x = g.x; q.y = g.y; d.m_angularVelocity = l; }, solvePositionConstraints: function (a) { a = this.m_bodyA; var b = this.m_bodyB, d = 0; if (this.m_enableLimit && 0 != this.m_limitState) { var e = b.m_sweep.a - a.m_sweep.a - this.m_referenceAngle; var c = 0; 3 == this.m_limitState ? ((e = R.clamp( e - this.m_lowerAngle, -Z.b2_maxAngularCorrection, Z.b2_maxAngularCorrection )), (c = -this.m_motorMass * e), (d = R.abs(e))) : 1 == this.m_limitState ? ((e -= this.m_lowerAngle), (d = -e), (e = R.clamp(e + Z.b2_angularSlop, -Z.b2_maxAngularCorrection, 0)), (c = -this.m_motorMass * e)) : 2 == this.m_limitState && ((d = e -= this.m_upperAngle), (e = R.clamp(e - Z.b2_angularSlop, 0, Z.b2_maxAngularCorrection)), (c = -this.m_motorMass * e)); a.m_sweep.a -= a.m_invI * c; b.m_sweep.a += b.m_invI * c; a.synchronizeTransform(); b.synchronizeTransform(); } var g = a.m_xf.R; c = this.m_localAnchor1.x - a.m_sweep.localCenter.x; e = this.m_localAnchor1.y - a.m_sweep.localCenter.y; var l = g.col1.x * c + g.col2.x * e; e = g.col1.y * c + g.col2.y * e; c = l; g = b.m_xf.R; var q = this.m_localAnchor2.x - b.m_sweep.localCenter.x, y = this.m_localAnchor2.y - b.m_sweep.localCenter.y; l = g.col1.x * q + g.col2.x * y; y = g.col1.y * q + g.col2.y * y; q = l; var r = b.m_sweep.c.x + q - a.m_sweep.c.x - c; var h = b.m_sweep.c.y + y - a.m_sweep.c.y - e; var p = r * r + h * h; g = Math.sqrt(p); l = a.m_invMass; var k = b.m_invMass, n = a.m_invI, u = b.m_invI, m = 10 * Z.b2_linearSlop; p > m * m && ((p = 1 / (l + k)), (r = p * -r), (h = p * -h), (a.m_sweep.c.x -= 0.5 * l * r), (a.m_sweep.c.y -= 0.5 * l * h), (b.m_sweep.c.x += 0.5 * k * r), (b.m_sweep.c.y += 0.5 * k * h), (r = b.m_sweep.c.x + q - a.m_sweep.c.x - c), (h = b.m_sweep.c.y + y - a.m_sweep.c.y - e)); this.K1.col1.x = l + k; this.K1.col2.x = 0; this.K1.col1.y = 0; this.K1.col2.y = l + k; this.K2.col1.x = n * e * e; this.K2.col2.x = -n * c * e; this.K2.col1.y = -n * c * e; this.K2.col2.y = n * c * c; this.K3.col1.x = u * y * y; this.K3.col2.x = -u * q * y; this.K3.col1.y = -u * q * y; this.K3.col2.y = u * q * q; this.K.setM(this.K1); this.K.addM(this.K2); this.K.addM(this.K3); this.K.solve(ag.tImpulse, -r, -h); r = ag.tImpulse.x; h = ag.tImpulse.y; a.m_sweep.c.x -= a.m_invMass * r; a.m_sweep.c.y -= a.m_invMass * h; a.m_sweep.a -= a.m_invI * (c * h - e * r); b.m_sweep.c.x += b.m_invMass * r; b.m_sweep.c.y += b.m_invMass * h; b.m_sweep.a += b.m_invI * (q * h - y * r); a.synchronizeTransform(); b.synchronizeTransform(); return g <= Z.b2_linearSlop ? d <= Z.b2_angularSlop : !1; }, m_localAnchor1: null, m_localAnchor2: null, m_impulse: null, m_motorImpulse: null, m_mass: null, m_motorMass: null, m_enableMotor: null, m_maxMotorTorque: null, m_motorSpeed: null, m_enableLimit: null, m_referenceAngle: null, m_lowerAngle: null, m_upperAngle: null, m_limitState: null, __class__: ag }); var Mh = function () { Vc.call(this); this.localAnchorA = new P(); this.localAnchorB = new P(); this.type = 1; var a = this.localAnchorA, b = 0, d = 0; null == d && (d = 0); null == b && (b = 0); a.x = b; a.y = d; a = this.localAnchorB; d = b = 0; null == d && (d = 0); null == b && (b = 0); a.x = b; a.y = d; this.motorSpeed = this.maxMotorTorque = this.upperAngle = this.lowerAngle = this.referenceAngle = 0; this.enableMotor = this.enableLimit = !1; }; k['box2D.dynamics.joints.B2RevoluteJointDef'] = Mh; Mh.__name__ = 'box2D.dynamics.joints.B2RevoluteJointDef'; Mh.__super__ = Vc; Mh.prototype = t(Vc.prototype, { initialize: function (a, b, d) { this.bodyA = a; this.bodyB = b; this.localAnchorA = this.bodyA.getLocalPoint(d); this.localAnchorB = this.bodyB.getLocalPoint(d); this.referenceAngle = this.bodyB.getAngle() - this.bodyA.getAngle(); }, localAnchorA: null, localAnchorB: null, referenceAngle: null, enableLimit: null, lowerAngle: null, upperAngle: null, enableMotor: null, motorSpeed: null, maxMotorTorque: null, __class__: Mh }); var Kk = function (a) { Sb.call(this, a); this.m_localAnchorA = new P(); this.m_localAnchorB = new P(); this.m_impulse = new Ve(); this.m_mass = new Jh(); var b = this.m_localAnchorA, d = a.localAnchorA; b.x = d.x; b.y = d.y; b = this.m_localAnchorB; d = a.localAnchorB; b.x = d.x; b.y = d.y; this.m_referenceAngle = a.referenceAngle; this.m_impulse.setZero(); this.m_mass = new Jh(); }; k['box2D.dynamics.joints.B2WeldJoint'] = Kk; Kk.__name__ = 'box2D.dynamics.joints.B2WeldJoint'; Kk.__super__ = Sb; Kk.prototype = t(Sb.prototype, { getAnchorA: function () { return this.m_bodyA.getWorldPoint(this.m_localAnchorA); }, getAnchorB: function () { return this.m_bodyB.getWorldPoint(this.m_localAnchorB); }, getReactionForce: function (a) { return new P(a * this.m_impulse.x, a * this.m_impulse.y); }, getReactionTorque: function (a) { return a * this.m_impulse.z; }, initVelocityConstraints: function (a) { var b = this.m_bodyA, d = this.m_bodyB, e = b.m_xf.R, c = this.m_localAnchorA.x - b.m_sweep.localCenter.x, g = this.m_localAnchorA.y - b.m_sweep.localCenter.y, l = e.col1.x * c + e.col2.x * g; g = e.col1.y * c + e.col2.y * g; c = l; e = d.m_xf.R; var q = this.m_localAnchorB.x - d.m_sweep.localCenter.x, y = this.m_localAnchorB.y - d.m_sweep.localCenter.y; l = e.col1.x * q + e.col2.x * y; y = e.col1.y * q + e.col2.y * y; q = l; e = b.m_invMass; l = d.m_invMass; var r = b.m_invI, h = d.m_invI; this.m_mass.col1.x = e + l + g * g * r + y * y * h; this.m_mass.col2.x = -g * c * r - y * q * h; this.m_mass.col3.x = -g * r - y * h; this.m_mass.col1.y = this.m_mass.col2.x; this.m_mass.col2.y = e + l + c * c * r + q * q * h; this.m_mass.col3.y = c * r + q * h; this.m_mass.col1.z = this.m_mass.col3.x; this.m_mass.col2.z = this.m_mass.col3.y; this.m_mass.col3.z = r + h; a.warmStarting ? ((this.m_impulse.x *= a.dtRatio), (this.m_impulse.y *= a.dtRatio), (this.m_impulse.z *= a.dtRatio), (b.m_linearVelocity.x -= e * this.m_impulse.x), (b.m_linearVelocity.y -= e * this.m_impulse.y), (b.m_angularVelocity -= r * (c * this.m_impulse.y - g * this.m_impulse.x + this.m_impulse.z)), (d.m_linearVelocity.x += l * this.m_impulse.x), (d.m_linearVelocity.y += l * this.m_impulse.y), (d.m_angularVelocity += h * (q * this.m_impulse.y - y * this.m_impulse.x + this.m_impulse.z))) : this.m_impulse.setZero(); }, solveVelocityConstraints: function (a) { a = this.m_bodyA; var b = this.m_bodyB, d = a.m_linearVelocity, e = a.m_angularVelocity, c = b.m_linearVelocity, g = b.m_angularVelocity, l = a.m_invMass, q = b.m_invMass, y = a.m_invI, r = b.m_invI, h = a.m_xf.R, p = this.m_localAnchorA.x - a.m_sweep.localCenter.x, k = this.m_localAnchorA.y - a.m_sweep.localCenter.y, n = h.col1.x * p + h.col2.x * k; k = h.col1.y * p + h.col2.y * k; p = n; h = b.m_xf.R; var u = this.m_localAnchorB.x - b.m_sweep.localCenter.x, m = this.m_localAnchorB.y - b.m_sweep.localCenter.y; n = h.col1.x * u + h.col2.x * m; m = h.col1.y * u + h.col2.y * m; u = n; h = c.x - g * m - d.x + e * k; n = c.y + g * u - d.y - e * p; var t = g - e, x = new Ve(); this.m_mass.solve33(x, -h, -n, -t); this.m_impulse.add(x); d.x -= l * x.x; d.y -= l * x.y; e -= y * (p * x.y - k * x.x + x.z); c.x += q * x.x; c.y += q * x.y; g += r * (u * x.y - m * x.x + x.z); a.m_angularVelocity = e; b.m_angularVelocity = g; }, solvePositionConstraints: function (a) { a = this.m_bodyA; var b = this.m_bodyB, d = a.m_xf.R, e = this.m_localAnchorA.x - a.m_sweep.localCenter.x, c = this.m_localAnchorA.y - a.m_sweep.localCenter.y, g = d.col1.x * e + d.col2.x * c; c = d.col1.y * e + d.col2.y * c; e = g; d = b.m_xf.R; var l = this.m_localAnchorB.x - b.m_sweep.localCenter.x, q = this.m_localAnchorB.y - b.m_sweep.localCenter.y; g = d.col1.x * l + d.col2.x * q; q = d.col1.y * l + d.col2.y * q; l = g; d = a.m_invMass; g = b.m_invMass; var y = a.m_invI, r = b.m_invI, h = b.m_sweep.c.x + l - a.m_sweep.c.x - e, p = b.m_sweep.c.y + q - a.m_sweep.c.y - c, k = b.m_sweep.a - a.m_sweep.a - this.m_referenceAngle, n = 10 * Z.b2_linearSlop, u = Math.sqrt(h * h + p * p), m = R.abs(k); u > n && ((y *= 1), (r *= 1)); this.m_mass.col1.x = d + g + c * c * y + q * q * r; this.m_mass.col2.x = -c * e * y - q * l * r; this.m_mass.col3.x = -c * y - q * r; this.m_mass.col1.y = this.m_mass.col2.x; this.m_mass.col2.y = d + g + e * e * y + l * l * r; this.m_mass.col3.y = e * y + l * r; this.m_mass.col1.z = this.m_mass.col3.x; this.m_mass.col2.z = this.m_mass.col3.y; this.m_mass.col3.z = y + r; n = new Ve(); this.m_mass.solve33(n, -h, -p, -k); a.m_sweep.c.x -= d * n.x; a.m_sweep.c.y -= d * n.y; a.m_sweep.a -= y * (e * n.y - c * n.x + n.z); b.m_sweep.c.x += g * n.x; b.m_sweep.c.y += g * n.y; b.m_sweep.a += r * (l * n.y - q * n.x + n.z); a.synchronizeTransform(); b.synchronizeTransform(); return u <= Z.b2_linearSlop ? m <= Z.b2_angularSlop : !1; }, m_localAnchorA: null, m_localAnchorB: null, m_referenceAngle: null, m_impulse: null, m_mass: null, __class__: Kk }); var Lk = function () { Vc.call(this); this.localAnchorA = new P(); this.localAnchorB = new P(); this.type = 8; this.referenceAngle = 0; }; k['box2D.dynamics.joints.B2WeldJointDef'] = Lk; Lk.__name__ = 'box2D.dynamics.joints.B2WeldJointDef'; Lk.__super__ = Vc; Lk.prototype = t(Vc.prototype, { initialize: function (a, b, d) { this.bodyA = a; this.bodyB = b; a = this.localAnchorA; b = this.bodyA.getLocalPoint(d); a.x = b.x; a.y = b.y; a = this.localAnchorB; b = this.bodyB.getLocalPoint(d); a.x = b.x; a.y = b.y; this.referenceAngle = this.bodyB.getAngle() - this.bodyA.getAngle(); }, localAnchorA: null, localAnchorB: null, referenceAngle: null, __class__: Lk }); var Jn = function () { this.stringMapCloner = new Ok(this, qa); this.intMapCloner = new Ok(this, Ya); this.classHandles = new qa(); this.classHandles.h.String = m(this, this.returnString); this.classHandles.h.Array = m(this, this.cloneArray); this.classHandles.h['haxe.ds.StringMap'] = ((B = this.stringMapCloner), m(B, B.clone)); this.classHandles.h['haxe.ds.IntMap'] = ((B = this.intMapCloner), m(B, B.clone)); }; k['cloner.Cloner'] = Jn; Jn.__name__ = 'cloner.Cloner'; Jn.prototype = { cache: null, classHandles: null, stringMapCloner: null, intMapCloner: null, depth: null, returnString: function (a) { return a; }, clone: function (a) { this.cache = new Jc(); this.depth = 0; ++this.depth; a = this.__clone(a); --this.depth; this.cache = null; return a; }, _clone: function (a) { ++this.depth; a = this.__clone(a); --this.depth; return a; }, __clone: function (a) { if (30 < this.depth) throw J.thrown('deep clone'); if ('string' == typeof a) return a; try { if (null != a.__name__) return a; } catch (d) { ka.lastError = d; } var b = ma.typeof(a); switch (b._hx_index) { case 0: return null; case 1: return a; case 2: return a; case 3: return a; case 4: return this.handleAnonymous(a); case 5: return null; case 6: return ( (b = b.c), null == this.cache.h.__keys__[a.__id__] && this.cache.set(a, this.handleClass(b, a)), this.cache.h[a.__id__] ); case 7: return a; case 8: return null; } }, handleAnonymous: function (a) { for (var b = aa.fields(a), d = {}, e = 0, c = b.length; e < c; ) { var g = e++; g = b[g]; var l = aa.getProperty(a, g); ++this.depth; l = this.__clone(l); --this.depth; d[g] = l; } return d; }, handleClass: function (a, b) { a = this.classHandles.h[a.__name__]; null == a && (a = m(this, this.cloneClass)); return a(b); }, cloneArray: function (a) { a = a.slice(); for (var b = 0, d = a.length; b < d; ) { var e = b++; ++this.depth; var c = this.__clone(a[e]); --this.depth; a[e] = c; } return a; }, cloneClass: function (a) { for ( var b = Object.create(w.getClass(a).prototype), d = aa.fields(a), e = 0, c = d.length; e < c; ) { var g = e++; g = d[g]; var l = aa.getProperty(a, g); ++this.depth; l = this.__clone(l); --this.depth; b[g] = l; } return b; }, __class__: Jn }; var Ok = function (a, b) { this.cloner = a; this.type = b; this.noArgs = []; }; k['cloner.MapCloner'] = Ok; Ok.__name__ = 'cloner.MapCloner'; Ok.prototype = { cloner: null, type: null, noArgs: null, clone: function (a) { for (var b = ma.createInstance(this.type, this.noArgs), d = a.keys(); d.hasNext(); ) { var e = d.next(), c = this.cloner, g = a.get(e); ++c.depth; g = c.__clone(g); --c.depth; b.set(e, g); } return b; }, __class__: Ok }; var Qg = function (a) { null == a && (a = !0); Ca.call(this); this.alignRight = a; this.start = !0; this.fps = this.mem_max = 0; this.text = new We(); this.text.set_defaultTextFormat(new Pg('_sans', 10, 16777215)); this.text.set_wordWrap(!0); this.text.set_multiline(!0); this.text.set_width(70); this.text.set_height(50); this.text.set_selectable(!1); this.text.mouseEnabled = !1; this.rectangle = new ea(69, 0, 1, 50); this.addEventListener('addedToStage', m(this, this.init), !1, 0, !0); this.addEventListener('removedFromStage', m(this, this.destroy), !1, 0, !0); }; k['com.nmefermmmtools.debug.Stats'] = Qg; Qg.__name__ = 'com.nmefermmmtools.debug.Stats'; Qg.__super__ = Ca; Qg.prototype = t(Ca.prototype, { text: null, timer: null, fps: null, ms: null, ms_prev: null, mem: null, mem_max: null, graph: null, rectangle: null, alignRight: null, start: null, fps_graph: null, mem_graph: null, ms_graph: null, mem_max_graph: null, _stage: null, fpsStr: null, memStr: null, memMaxStr: null, msStr: null, init: function (a) { this._stage = Oa.get_current().stage; this.get_graphics().beginFill(51); this.get_graphics().drawRect(0, 0, 70, 50); this.get_graphics().endFill(); this.addChild(this.text); this.graph = new la(70, 50, !1, 51); this.addEventListener('enterFrame', m(this, this.update)); }, destroy: function (a) { for (this.get_graphics().clear(); 0 < this.get_numChildren(); ) this.removeChildAt(0); this.graph.dispose(); this.removeEventListener('enterFrame', m(this, this.update)); }, update: function (a) { this.start && this.alignRight && (this.set_x(this._stage.stageWidth - this.get_width()), (this.start = !1)); this.timer = Oa.getTimer(); this.timer - 1e3 > this.ms_prev ? ((this.mem = 9.54e-7 * bg.get_totalMemory()), (this.mem_max = this.mem_max > this.mem ? this.mem_max : this.mem), (this.fps_graph = 50 - (Math.min(50, (this.fps / this._stage.get_frameRate()) * 50) | 0)), (this.mem_graph = 50 - this.normalizeMem(this.mem)), (this.mem_max_graph = 50 - this.normalizeMem(this.mem_max)), (this.ms_graph = (50 - ((this.timer - this.ms) >> 1)) | 0), this.graph.scroll(-1, 0), this.get_graphics().clear(), this.get_graphics().beginFill(51), this.get_graphics().drawRect(0, 0, 70, 50), this.get_graphics().endFill(), this.get_graphics().beginBitmapFill(this.graph, new Ia(1, 0, 0, 1, 0, 50)), this.get_graphics().drawRect(0, 50, 70, 50), this.get_graphics().endFill(), this.graph.fillRect(this.rectangle, 51), this.graph.lock(), this.graph.setPixel(69, this.fps_graph, 16776960), this.graph.setPixel(69, this.mem_graph, 65535), this.graph.setPixel(69, this.mem_max_graph, 16711792), this.graph.setPixel(69, this.ms_graph, 65280), this.graph.unlock(), 60 < this.fps && (this.fps = 60), (this.fpsStr = 'FPS: ' + this.fps + ' / 60'), (this.memStr = 'MEM: ' + Math.round(this.mem)), (this.memMaxStr = 'MAX: ' + Math.round(this.mem_max)), (this.fps = 0), (this.ms_prev = this.timer), this.text.set_htmlText( "" + this.fpsStr + "
" + this.memStr + "
" + this.memMaxStr + '' )) : (this.fps++, (this.ms = this.timer)); }, normalizeMem: function (a) { return (Math.min(50, Math.sqrt(Math.sqrt(5e3 * a))) - 2) | 0; }, __class__: Qg }); var xg = function () {}; k['com.nmefermmmtools.debug.Colors'] = xg; xg.__name__ = 'com.nmefermmmtools.debug.Colors'; var yg = function () {}; k['com.stencyl.APIKeys'] = yg; yg.__name__ = 'com.stencyl.APIKeys'; var ba = function () {}; k['com.stencyl.Config'] = ba; ba.__name__ = 'com.stencyl.Config'; ba.load = function () { var a = W.getConfigText('config/game-config.json'); ba.loadFromString(a); }; ba.loadMap = function (a, b) { for (var d = 0, e = aa.fields(a); d < e.length; ) { var c = e[d]; ++d; T.startsWith(c, 'config-') ? Object.prototype.hasOwnProperty.call(ba.defines.h, C.substr(c, 7, null)) && ba.loadMap(aa.field(a, c), b) : (b[c] = aa.field(a, c)); } return b; }; ba.loadFromString = function (a, b) { null == b && (b = !0); if (null != ba.data && b) { b = ba.data; ba.data = ba.loadMap(JSON.parse(a), {}); ba.setStaticFields(); for (var d = (a = !1), e = 0, c = aa.fields(b); e < c.length; ) { var g = c[e]; ++e; var l = aa.field(b, g), q = aa.field(ba.data, g); if (l != q) switch (g) { case 'debugDraw': (h.DEBUG_DRAW = ba.debugDraw) || (null != h.debugDrawer && null != h.debugDrawer.m_sprite && h.debugDrawer.m_sprite.get_graphics().clear()); break; case 'disposeImages': case 'physicsMode': d = !0; break; case 'antialias': case 'forceHiResAssets': case 'gameScale': case 'scaleMode': case 'scales': case 'stageHeight': case 'stageWidth': a = !0; break; case 'keys': E.loadInputConfig(); break; case 'releaseMode': case 'useGciLogging': xa.setupTracing(!ba.releaseMode); break; case 'showConsole': h.engine.setStatsVisible(ba.showConsole); } } d ? xa.reloadGame() : a && h.engine.reloadScreen(); } else (ba.data = ba.loadMap(JSON.parse(a), {})), ba.setStaticFields(); }; ba.setStaticFields = function () { ba.landscape = ba.data.landscape; ba.autorotate = ba.data.autorotate; ba.scaleMode = xj.fromString(ba.data.scaleMode); ba.stageWidth = ba.data.stageWidth; ba.stageHeight = ba.data.stageHeight; ba.initSceneID = ba.data.initSceneID; ba.physicsMode = Kn.fromString(ba.data.physicsMode); ba.gameScale = ba.data.gameScale; ba.forceHiResAssets = ba.data.forceHiResAssets; ba.antialias = ba.data.antialias; ba.pixelsnap = ba.data.pixelsnap; ba.startInFullScreen = ba.data.startInFullScreen; ba.disposeImages = ba.data.disposeImages; ba.adPositionBottom = ba.data.adPositionBottom; ba.testAds = ba.data.testAds; ba.releaseMode = ba.data.releaseMode; ba.showConsole = ba.data.showConsole; ba.debugDraw = ba.data.debugDraw; ba.disableBackButton = ba.data.disableBackButton; ba.useGciLogging = ba.data.useGciLogging; ba.keys = ba.asMap(ba.data.keys); for ( var a = ba.data.scales, b = Gd.fromString, d = Array(a.length), e = 0, c = a.length; e < c; ) { var g = e++; d[g] = b(a[g]); } ba.scales = kd.array(d); ba.toolsetInterfaceHost = ba.data.toolsetInterfaceHost; ba.toolsetInterfacePort = ba.data.toolsetInterfacePort; ba.projectName = ba.data.projectName; ba.buildConfig = ba.data.buildConfig; }; ba.asMap = function (a) { for (var b = new qa(), d = 0, e = aa.fields(a); d < e.length; ) { var c = e[d]; ++d; b.h[c] = aa.field(a, c); } return b; }; var jc = function () { this.actorTypesLoaded = !1; this.resourceLookup = this.resourceNameLookup = this.behaviorLookup = this.behaviorReader = this.resourceReaderPool = null; if (null == Da.getBytes('assets/data/game.mbs')) throw J.thrown('Data.hx - Could not load game. Check your logs for a possible cause.'); }; k['com.stencyl.Data'] = jc; jc.__name__ = 'com.stencyl.Data'; jc.get = function () { null == jc.instance && ((jc.instance = new jc()), jc.instance.loadAll()); return jc.instance; }; jc.resetStatics = function () { jc.instance = null; }; jc.prototype = { readers: null, gameMbs: null, resourceListMbs: null, sceneListMbs: null, behaviorListMbs: null, resources: null, resourceMap: null, behaviors: null, resourceLookup: null, resourceNameLookup: null, behaviorLookup: null, behaviorReader: null, resourceReaderPool: null, loadAll: function () { this.gameMbs = new Rg(ff.get(), !1, !0); this.gameMbs.readData(Bb.toBytes(Da.getBytes('assets/data/game.mbs'))); this.sceneListMbs = new Rg(ff.get(), !1, !0); this.sceneListMbs.readData(Bb.toBytes(Da.getBytes('assets/data/scenes.mbs'))); this.resourceListMbs = new Rg(ff.get(), !1, !1); this.resourceListMbs.readData(Bb.toBytes(Da.getBytes('assets/data/resources.mbs'))); this.behaviorListMbs = new Rg(ff.get(), !1, !1); this.behaviorListMbs.readData(Bb.toBytes(Da.getBytes('assets/data/behaviors.mbs'))); this.behaviors = new Pk(new Ya(), m(this, this.loadBehaviorFromMbs)); this.resources = new Pk(new Ya(), m(this, this.loadResourceFromMbs)); this.resourceMap = new Ln(new qa(), m(this, this.loadResourceFromMbsByName)); this.loadReaders(); this.scanBehaviorMbs(); this.scanResourceMbs(); }, readGameMbs: function () { var a = new Rg(ff.get(), !1, !0); a.readData(Bb.toBytes(Da.getBytes('assets/data/game.mbs'))); return a.getRoot(); }, loadReaders: function () { this.readers = []; this.readers.push(new Qk()); this.readers.push(new Rk()); this.readers.push(new Sk()); this.readers.push(new Tk()); this.readers.push(new Uk()); this.readers.push(new Vk()); }, scanBehaviorMbs: function () { this.behaviorLookup = new Ya(); for (var a = this.behaviorListMbs.getRoot(), b = 0, d = a.length(); b < d; ) { b++; var e = a.elementAddress; this.behaviorReader = a.getNextObject(); var c = this.behaviorLookup, g = this.behaviorReader.getId(); c.h[g] = e; } }, scanResourceMbs: function () { this.resourceLookup = new Ya(); this.resourceNameLookup = new qa(); var a = this.resourceListMbs.getRoot(); this.resourceReaderPool = de.createObjectPool(this.resourceListMbs); for ( var b = new rb(this.resourceListMbs), d = M.INTEGER.getSize(), e = 0, c = a.length(); e < c; ) { e++; var g = a.elementAddress, l = this.resourceListMbs.readInt(g + d); a.elementAddress += a.elementSize; b.setAddress(l); l = this.resourceLookup; var q = b.getId(); l.h[q] = g; this.resourceListMbs.readTypecode(g) == qc.MBS_SPRITE ? ((g = this.resourceNameLookup), (l = 'Sprite_' + b.getName()), (q = b.getId()), (g.h[l] = q)) : ((g = this.resourceNameLookup), (l = b.getName()), (q = b.getId()), (g.h[l] = q)); } }, loadResourceFromMbsByName: function (a) { a = this.resourceNameLookup.h[a]; return null == a ? null : this.loadResourceFromMbs(a); }, loadResourceFromMbs: function (a) { a = this.resourceLookup.h[a]; if (null == a) return null; a = de.readDynamicUsingPool(this.resourceListMbs, a, this.resourceReaderPool); a = this.readResource(a.getMbsType().getName(), a); null != a && ((this.resources.map.h[a.ID] = a), a instanceof si ? (this.resourceMap.map.h['Sprite_' + a.name] = a) : (this.resourceMap.map.h[a.name] = a)); return a; }, loadAllResourcesOfType: function (a) { var b = this.resourceListMbs.getRoot(), d = new rb(this.resourceListMbs), e = M.INTEGER.getSize(); b.elementAddress = b.getAddress() + 2 * e; for (var c = 0, g = b.length(); c < g; ) { c++; var l = b.elementAddress; this.resourceListMbs.readTypecode(l) == a && ((l = this.resourceListMbs.readInt(l + e)), d.setAddress(l), this.loadResourceFromMbs(d.getId())); b.elementAddress += b.elementSize; } }, loadBehaviorFromMbs: function (a) { a = this.behaviorLookup.h[a]; if (null == a) return null; this.behaviorReader.setAddress(a); return ti.readBehavior(this.behaviorReader); }, readResource: function (a, b) { for (var d = 0, e = this.readers; d < e.length; ) { var c = e[d]; ++d; if (c.accepts(a)) return c.read(b); } return null; }, actorTypesLoaded: null, getAllActorTypes: function () { this.actorTypesLoaded || (this.loadAllResourcesOfType(Pa.MBS_ACTOR_TYPE), (this.actorTypesLoaded = !0)); for (var a = [], b = this.resources.map.iterator(); b.hasNext(); ) { var d = b.next(); d instanceof cg && a.push(w.__cast(d, cg)); } return a; }, loadAtlas: function (a) { var b = ra.get().atlases.h[a]; if (null != b && !b.active) for (b.active = !0, a = 0, b = b.members; a < b.length; ) { var d = b[a]; ++a; d = this.resources.get(d); null != d && d.loadGraphics(); } }, unloadAtlas: function (a) {}, reloadScaledResources: function () { for (var a = this.resources.map.iterator(); a.hasNext(); ) { var b = a.next(); null != b && (b instanceof Oh || b instanceof cg || (b.isAtlasActive() && b.reloadGraphics(-1))); } }, __class__: jc }; var ed = function () { var a = (this.eventTable = new Ya()), b = ed.TYPE_ADS, d = []; a.h[b] = d; a = this.eventTable; b = ed.TYPE_PURCHASES; d = []; a.h[b] = d; a = this.eventTable; b = ed.TYPE_GAMECENTER; d = []; a.h[b] = d; a = this.eventTable; b = ed.TYPE_KEYBOARD; d = []; a.h[b] = d; }; k['com.stencyl.event.EventMaster'] = ed; ed.__name__ = 'com.stencyl.event.EventMaster'; ed.prototype = { eventTable: null, addAdEvent: function (a) { this.eventTable.h[ed.TYPE_ADS].push(a); }, addPurchaseEvent: function (a) { this.eventTable.h[ed.TYPE_PURCHASES].push(a); }, addGameCenterEvent: function (a) { this.eventTable.h[ed.TYPE_GAMECENTER].push(a); }, addKeyboardEvent: function (a) { this.eventTable.h[ed.TYPE_KEYBOARD].push(a); }, clear: function () { this.eventTable.h[ed.TYPE_ADS].length = 0; this.eventTable.h[ed.TYPE_PURCHASES].length = 0; this.eventTable.h[ed.TYPE_GAMECENTER].length = 0; this.eventTable.h[ed.TYPE_KEYBOARD].length = 0; }, __class__: ed }; var h = function (a) { this.isHUDZoomable = this.sceneInitialized = this.keyPollOccurred = this.isFullScreen = this.ignoreResize = !1; this.zoomMultiplier = 1; ('opengl' != h.stage.window.context.type && 'opengles' != h.stage.window.context.type && 'webgl' != h.stage.window.context.type) || fd.initialize(); qd.get_isSupported() && ((this.shaderLayer = new Ca()), this.shaderLayer.set_name('Shader Layer')); a.mouseChildren = !1; a.mouseEnabled = !1; ba.debugDraw && (h.DEBUG_DRAW = !0); h.engine = this; c.engine = this; this.root = a; this.isFullScreen = ba.startInFullScreen; h.screenScaleX = h.unzoomedScaleX = a.get_scaleX(); h.screenScaleY = h.unzoomedScaleY = a.get_scaleY(); h.screenOffsetX = a.get_x() | 0; h.screenOffsetY = a.get_y() | 0; h.NO_PHYSICS = 1 == ba.physicsMode; h.stage.addEventListener('enterFrame', m(this, this.onUpdate)); h.stage.addEventListener('deactivate', m(this, this.onFocusLost)); h.stage.addEventListener('activate', m(this, this.onFocus)); h.stage.addEventListener('resize', m(this, this.onWindowResize)); h.stage.window.onRestore.add(m(this, this.onWindowRestore)); h.stage.window.onMaximize.add(m(this, this.onWindowMaximize)); h.stage.window.onFullscreen.add(m(this, this.onWindowFullScreen)); this.isFullScreen && !h.stage.window.__fullscreen && (h.stage.window.__fullscreen = !0); this.begin(ba.initSceneID); }; k['com.stencyl.Engine'] = h; h.__name__ = 'com.stencyl.Engine'; h.resetStatics = function () { h.stage.removeEventListener('enterFrame', ((B = h.engine), m(B, B.onUpdate))); h.stage.removeEventListener('deactivate', ((B = h.engine), m(B, B.onFocusLost))); h.stage.removeEventListener('activate', ((B = h.engine), m(B, B.onFocus))); h.stage.removeEventListener('resize', ((B = h.engine), m(B, B.onWindowResize))); h.stage.window.onRestore.remove(((B = h.engine), m(B, B.onWindowRestore))); h.stage.window.onMaximize.remove(((B = h.engine), m(B, B.onWindowMaximize))); h.stage.window.onFullscreen.remove(((B = h.engine), m(B, B.onWindowFullScreen))); null != h.engine.stats && h.stage.removeChild(h.engine.stats); h.NO_PHYSICS = !1; h.DEBUG_DRAW = !1; h.IMG_BASE = ''; h.SCALE = 1; h.checkedWideScreen = !1; h.isStandardIOS = !1; h.isExtendedIOS = !1; h.isIPhone6 = !1; h.isIPhone6Plus = !1; h.isTabletIOS = !1; h.engine = null; h.landscape = !1; h.cameraX = 0; h.cameraY = 0; h.screenScaleX = 0; h.screenScaleY = 0; h.unzoomedScaleX = 0; h.unzoomedScaleY = 0; h.screenOffsetX = 0; h.screenOffsetY = 0; h.screenWidth = 0; h.screenHeight = 0; h.sceneWidth = 0; h.sceneHeight = 0; h.screenWidthHalf = 0; h.screenHeightHalf = 0; h.paused = !1; h.started = !1; h.events = new ed(); h.ITERATIONS = 3; h.physicsScale = 10; h.preservePadding = !1; h.paddingLeft = 0; h.paddingRight = 0; h.paddingTop = 0; h.paddingBottom = 0; h.ngID = ''; h.ngKey = ''; h.movieClip = null; h.stage = null; h.STEP_SIZE = 10; h.MS_PER_SEC = 1e3; h.elapsedTime = 0; h.timeScale = 1; h.totalElapsedTime = 0; h.debug = !1; h.debugDrawer = null; }; h.initBehaviors = function (a, b, d, e, c) { if (null != b) { var f = b.h; b = f; for (var l = Object.keys(f), q = l.length, y = 0; y < q; ) { var r = b[l[y++]]; if (null != r && r.enabled) { var h = jc.get().behaviors.get(r.behaviorID), p = new qa(); if (null != h) { if (h.isEvent) { f = h.attributes.h; f = Object.keys(f); for (var k = f.length, n = 0; n < k; ) { var u = f[n++], m = h.attributes.h[u]; if (null != m) { var t = m.type, x = m.ID; 'list' == t ? ((m = new ui(x, m.fieldName, m.fullName, [], t, null, m.hidden)), (p.h[u] = m)) : 'map' == t && ((m = new ui(x, m.fieldName, m.fullName, new qa(), t, null, m.hidden)), (p.h[u] = m)); } } } f = Object.keys(r.values.h); k = f.length; for (n = 0; n < k; ) (u = f[n++]), (m = h.attributes.h[u]), null != m && ((m = new ui( m.ID, m.fieldName, m.fullName, r.values.h[u], m.type, null, m.hidden )), (p.h[u] = m)); r = new Wk(d, e, h.ID, h.name, h.classname, !0, !1, p, h.type, h.isEvent); a.add(r); } } } c && a.initScripts(); } }; h.toPhysicalUnits = function (a) { return (a /= h.physicsScale); }; h.toPixelUnits = function (a) { return (a *= h.physicsScale); }; h.vToPhysicalUnits = function (a) { a.x = h.toPhysicalUnits(a.x); a.y = h.toPhysicalUnits(a.y); return a; }; h.vToPixelUnits = function (a) { a.x = h.toPixelUnits(a.x); a.y = h.toPixelUnits(a.y); return a; }; h.prototype = { zoomMultiplier: null, isHUDZoomable: null, world: null, gravityX: null, gravityY: null, physicalWidth: null, physicalHeight: null, leave: null, enter: null, sceneToEnter: null, shakeTimer: null, shakeIntensity: null, isShaking: null, scene: null, camera: null, sceneInitialized: null, channels: null, tasks: null, regions: null, terrainRegions: null, joints: null, root: null, colorLayer: null, maskLayer: null, master: null, hudLayer: null, transitionLayer: null, debugLayer: null, g: null, groups: null, reverseGroups: null, allActors: null, nextID: null, actorsOfType: null, recycledActorsOfType: null, actorsToCreateInNextScene: null, layers: null, layersByName: null, interactiveLayers: null, backgroundLayers: null, dynamicTiles: null, animatedTiles: null, topLayer: null, bottomLayer: null, middleLayer: null, layersToDraw: null, tileUpdated: null, loadedAtlases: null, atlasesToLoad: null, atlasesToUnload: null, actorsToCreate: null, gameAttributes: null, savableAttributes: null, behaviors: null, lastTime: null, acc: null, mx: null, my: null, collisionPairs: null, disableCollisionList: null, keyPollOccurred: null, whenKeyPressedEvents: null, whenAnyKeyPressed: null, whenAnyKeyReleased: null, whenAnyGamepadPressed: null, whenAnyGamepadReleased: null, whenTypeGroupCreatedEvents: null, whenTypeGroupKilledEvents: null, whenTypeGroupPositionStateChangedEvents: null, whenCollidedEvents: null, whenSoundEndedEvents: null, whenChannelEndedEvents: null, whenUpdated: null, whenDrawing: null, whenMousePressed: null, whenMouseReleased: null, whenMouseMoved: null, whenMouseDragged: null, whenPaused: null, whenFullscreenChanged: null, whenScreenSizeChanged: null, whenGameScaleChanged: null, whenSwiped: null, whenMTStarted: null, whenMTDragged: null, whenMTEnded: null, whenFocusChanged: null, nativeListeners: null, shader: null, shaderLayer: null, shaders: null, isFullScreen: null, ignoreResize: null, stats: null, onKeyDown: function (a) { this.isFullScreen && 27 == a.keyCode && this.setFullScreen(!1); }, onWindowResize: function (a) { !this.isFullScreen || h.stage.window.__fullscreen || h.stage.window.__minimized || this.ignoreResize || this.setFullScreen(!1); }, onWindowRestore: function () { this.isFullScreen && !h.stage.window.__fullscreen && (h.stage.window.__fullscreen = !0); }, onWindowMaximize: function () { this.isFullScreen && !h.stage.window.__fullscreen && (h.stage.window.__fullscreen = !0); }, onWindowFullScreen: function () { this.isFullScreen || this.setFullScreen(!0); }, isInFullScreen: function () { return 1 == Oa.get_current().stage.get_displayState(); }, setFullScreen: function (a) { if (this.isFullScreen != a) { this.ignoreResize = !0; this.isFullScreen = a; this.reloadScreen(); if (0 < this.whenFullscreenChanged.length) for ( this.whenFullscreenChanged._dispatchIndex = 0; this.whenFullscreenChanged._dispatchIndex < this.whenFullscreenChanged.length; ) { try { this.whenFullscreenChanged.listeners[this.whenFullscreenChanged._dispatchIndex](); } catch (b) { if (((ka.lastError = b), 'string' != typeof J.caught(b).unwrap())) throw b; } ++this.whenFullscreenChanged._dispatchIndex; } this.ignoreResize = !1; } }, toggleFullScreen: function () { this.setFullScreen(!this.isFullScreen); }, reloadScreen: function () { var a = h.IMG_BASE, b = h.SCALE, d = h.screenWidth, e = h.screenHeight; this.root.initScreen(this.isFullScreen); h.screenWidth = xa.logicalWidth | 0; h.screenWidthHalf = (h.screenWidth / 2) | 0; h.screenHeight = xa.logicalHeight | 0; h.screenHeightHalf = (h.screenHeight / 2) | 0; this.setColorBackground(this.scene.colorBackground); d = h.screenWidth != d || h.screenHeight != e; e = b != h.SCALE; a != h.IMG_BASE && jc.get().reloadScaledResources(); if (b != h.SCALE) { null != h.debugDrawer && h.debugDrawer.setDrawScale(10 * h.SCALE); this.g.scaleX = this.g.scaleY = h.SCALE; W.applyToAllChildren(this.root, function (a) { w.__implements(a, qh) && w.__cast(a, qh).updateScale(); }); for (a = this.allActors.iterator(); a.hasNext(); ) (b = a.next()), null == b || b.dead || b.recycled || (b.updateMatrix = !0); for (b = this.recycledActorsOfType.iterator(); b.hasNext(); ) for (var c = b.next(), g = 0; g < c.length; ) (a = c[g]), ++g, null != a.currAnimation && a.currAnimation.framesUpdated(), (a.updateMatrix = !0); a = this.g; a.font = a.defaultFont; a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE); this.moveCamera(this.camera.realX, this.camera.realY); } h.unzoomedScaleX = h.screenScaleX = this.root.get_scaleX(); h.unzoomedScaleY = h.screenScaleY = this.root.get_scaleY(); h.screenOffsetX = this.root.get_x() | 0; h.screenOffsetY = this.root.get_y() | 0; null != this.stats && (this.stats.set_x(h.stage.stageWidth - this.stats.get_width()), this.stats.set_y(0)); this.resetShaders(); if (e && 0 < this.whenGameScaleChanged.length) for ( this.whenGameScaleChanged._dispatchIndex = 0; this.whenGameScaleChanged._dispatchIndex < this.whenGameScaleChanged.length; ) { try { this.whenGameScaleChanged.listeners[this.whenGameScaleChanged._dispatchIndex](); } catch (l) { if (((ka.lastError = l), 'string' != typeof J.caught(l).unwrap())) throw l; } ++this.whenGameScaleChanged._dispatchIndex; } if (d && 0 < this.whenScreenSizeChanged.length) for ( this.whenScreenSizeChanged._dispatchIndex = 0; this.whenScreenSizeChanged._dispatchIndex < this.whenScreenSizeChanged.length; ) { try { this.whenScreenSizeChanged.listeners[this.whenScreenSizeChanged._dispatchIndex](); } catch (l) { if (((ka.lastError = l), 'string' != typeof J.caught(l).unwrap())) throw l; } ++this.whenScreenSizeChanged._dispatchIndex; } }, addShader: function (a) { if (qd.get_isSupported()) { a = a.basicShader; null != this.shaders && this.clearShaders(); this.shaders = [a.model]; for (a = a.multipassParent; null != a; ) this.shaders.splice(0, 0, a.model), (a = a.multipassParent); a = 0; for (var b = this.shaders; a < b.length; ) { var d = b[a]; ++a; this.shaderLayer.addChild(d); } } }, clearShaders: function () { W.removeAllChildren(this.shaderLayer); h.stage.context3D.setRenderToBackBuffer(); this.shaders = []; }, toggleShadersForHUD: function () { null != this.shaderLayer && null != this.hudLayer && null != this.root && this.root.swapChildren(this.shaderLayer, this.hudLayer); }, resetShaders: function () { if (null != this.shaders) for (var a = 0, b = this.shaders; a < b.length; ) { var d = b[a]; ++a; d.rebuild(); } }, begin: function (a) { this.loadedAtlases = new Ya(); this.atlasesToLoad = new Ya(); this.atlasesToUnload = new Ya(); E.enable(); E.define('iSHIFT', [16]); E.define('iCTRL', [17]); E.define('iCOMMAND', [15]); h.landscape = ba.landscape; var b = xa.logicalWidth, d = xa.logicalHeight; h.screenWidth = b | 0; h.screenHeight = d | 0; h.screenWidthHalf = (b / 2) | 0; h.screenHeightHalf = (d / 2) | 0; jc.get(); ra.get().loadScenes(); this.g = new ha(); h.started = !0; this.tileUpdated = !1; this.shakeTimer = 0; this.shakeIntensity = 0.01; this.isShaking = !1; this.enter = this.leave = null; h.cameraX = 0; this.acc = h.cameraY = 0; this.lastTime = Oa.getTimer(); h.sceneWidth = b | 0; h.sceneHeight = d | 0; this.colorLayer = new Ke(); this.colorLayer.set_name('Color Layer'); this.root.addChild(this.colorLayer); this.master = new Ca(); this.master.set_name('Master'); this.root.addChild(this.master); this.hudLayer = new Ec(-1, '__hud__', -1, 0, 0, 1, 10, null); this.hudLayer.set_name('HUD Layer'); this.root.addChild(this.hudLayer); this.transitionLayer = new Ca(); this.transitionLayer.set_name('Transition Layer'); this.root.addChild(this.transitionLayer); this.debugLayer = new Ca(); this.debugLayer.set_name('Debug Layer'); this.root.addChild(this.debugLayer); qd.get_isSupported() && this.root.addChild(this.shaderLayer); this.root.addChild(this.root.maskLayer); this.actorsToCreateInNextScene = []; this.gameAttributes = new qa(); this.savableAttributes = new qa(); this.setStatsVisible(ba.showConsole); b = ra.get().gameAttributes.h; b = Object.keys(b); d = b.length; for (var e = 0; e < d; ) { var c = b[e++], g = ra.get().gameAttributes.h[c]; this.gameAttributes.h[c] = g; } this.channels = []; this.channels.push(new Vb(this, 0)); this.channels.push(new Vb(this, 1)); this.channels.push(new Vb(this, 2)); this.channels.push(new Vb(this, 3)); this.channels.push(new Vb(this, 4)); this.channels.push(new Vb(this, 5)); this.channels.push(new Vb(this, 6)); this.channels.push(new Vb(this, 7)); this.channels.push(new Vb(this, 8)); this.channels.push(new Vb(this, 9)); this.channels.push(new Vb(this, 10)); this.channels.push(new Vb(this, 11)); this.channels.push(new Vb(this, 12)); this.channels.push(new Vb(this, 13)); this.channels.push(new Vb(this, 14)); this.channels.push(new Vb(this, 15)); this.channels.push(new Vb(this, 16)); this.channels.push(new Vb(this, 17)); this.channels.push(new Vb(this, 18)); this.channels.push(new Vb(this, 19)); this.channels.push(new Vb(this, 20)); this.channels.push(new Vb(this, 21)); this.channels.push(new Vb(this, 22)); this.channels.push(new Vb(this, 23)); this.channels.push(new Vb(this, 24)); this.channels.push(new Vb(this, 25)); this.channels.push(new Vb(this, 26)); this.channels.push(new Vb(this, 27)); this.channels.push(new Vb(this, 28)); this.channels.push(new Vb(this, 29)); this.channels.push(new Vb(this, 30)); this.channels.push(new Vb(this, 31)); this.sceneToEnter = a; this.loadScene(a); this.sceneInitialized = !0; }, setStatsVisible: function (a) { a != (null != this.stats) && (a ? ((this.stats = new Qg()), h.stage.addChild(this.stats), this.stats.set_x(h.stage.stageWidth - this.stats.get_width()), this.stats.set_y(0)) : (h.stage.removeChild(this.stats), (this.stats = null))); }, loadScene: function (a) { this.collisionPairs = new xe(32); h.preservePadding || ((h.paddingTop = 0), (h.paddingLeft = 0), (h.paddingBottom = 0), (h.paddingRight = 0)); this.tasks = []; this.scene = ra.get().scenes.h[a]; if (-1 == a || null == this.scene) if (((this.scene = ra.get().scenes.h[ba.initSceneID]), null == this.scene)) { h.stage.removeEventListener('enterFrame', m(this, this.onUpdate)); return; } this.scene.load(); a = new Ya(); if (this.scene.retainsAtlases) for (var b = this.loadedAtlases.iterator(); b.hasNext(); ) { var d = b.next(); a.h[d] = d; } else { for (b = this.loadedAtlases.iterator(); b.hasNext(); ) (d = b.next()), ra.get().atlases.h[d].allScenes && (a.h[d] = d); d = 0; for (var e = this.scene.atlases; d < e.length; ) (b = e[d]), ++d, (a.h[b] = b); } for (d = this.atlasesToLoad.iterator(); d.hasNext(); ) (e = d.next()), (a.h[e] = e); for (d = this.atlasesToUnload.iterator(); d.hasNext(); ) (e = d.next()), a.remove(e); for (d = this.loadedAtlases.iterator(); d.hasNext(); ) (e = d.next()), a.h.hasOwnProperty(e) || (jc.get().unloadAtlas(e), this.loadedAtlases.remove(e)); for (d = a.iterator(); d.hasNext(); ) (e = d.next()), this.loadedAtlases.h.hasOwnProperty(e) || (jc.get().loadAtlas(e), (this.loadedAtlases.h[e] = e)); this.atlasesToLoad = new Ya(); this.atlasesToUnload = new Ya(); h.sceneWidth = this.scene.sceneWidth; h.sceneHeight = this.scene.sceneHeight; this.behaviors = new yj(); this.groups = new Ya(); this.reverseGroups = new qa(); d = 0; for (e = ra.get().groups; d < e.length; ) (a = e[d]), ++d, (b = new dg(a.ID, a.name)), (this.groups.h[a.ID] = b), (this.reverseGroups.h[a.name] = b), (b.name = a.name); a = new dg(-2, 'Regions'); this.groups.h[-2] = a; this.reverseGroups.h.Regions = a; this.disableCollisionList = []; this.actorsOfType = new Ya(); this.recycledActorsOfType = new Ya(); this.regions = new xe(32); this.regions.reuseIterator = !0; this.terrainRegions = new Ya(); this.joints = new Ya(); this.dynamicTiles = new qa(); this.animatedTiles = []; this.allActors = new xe(256); this.allActors.reuseIterator = !0; this.nextID = 0; this.whenKeyPressedEvents = new Mn(); this.whenAnyKeyPressed = new Fc(); this.whenAnyKeyReleased = new Fc(); this.whenAnyGamepadPressed = new Fc(); this.whenAnyGamepadReleased = new Fc(); this.whenTypeGroupCreatedEvents = new Jc(); this.whenTypeGroupKilledEvents = new Jc(); this.whenTypeGroupPositionStateChangedEvents = new Ya(); this.whenCollidedEvents = new Ya(); this.whenSoundEndedEvents = new Jc(); this.whenChannelEndedEvents = new Ya(); this.nativeListeners = []; this.whenUpdated = new Fc(); this.whenDrawing = new Fc(); this.whenMousePressed = new Fc(); this.whenMouseReleased = new Fc(); this.whenMouseMoved = new Fc(); this.whenMouseDragged = new Fc(); this.whenPaused = new Fc(); this.whenSwiped = new Fc(); this.whenMTStarted = new Fc(); this.whenMTDragged = new Fc(); this.whenMTEnded = new Fc(); this.whenFocusChanged = new Fc(); this.whenFullscreenChanged = new Fc(); this.whenScreenSizeChanged = new Fc(); this.whenGameScaleChanged = new Fc(); h.NO_PHYSICS || this.initPhysics(); this.gravityX = this.scene.gravityX; this.gravityY = this.scene.gravityY; this.loadTerrain(); this.loadRegions(); this.loadTerrainRegions(); this.loadActors(); this.loadCamera(); this.loadJoints(); this.loadDeferredActors(); h.initBehaviors(this.behaviors, this.scene.behaviorValues, this, this, !0); this.initActorScripts(); }, initPhysics: function () { var a = new P(this.scene.gravityX, this.scene.gravityY); this.world = new cc(a, !1); cc.m_continuousPhysics = !1; cc.m_warmStarting = !0; a = new ja(); a.lowerBound.x = 0; a.lowerBound.y = 0; a.upperBound.x = h.screenWidth / h.physicsScale; a.upperBound.y = h.screenHeight / h.physicsScale; this.world.setScreenBounds(a); h.debugDrawer = new De(); h.debugDrawer.setSprite(this.debugLayer); h.debugDrawer.setLineThickness(3); h.debugDrawer.setDrawScale(10 * h.SCALE); h.debugDrawer.setFillAlpha(0); h.debugDrawer.setFlags(De.e_shapeBit | De.e_jointBit); this.world.setDebugDraw(h.debugDrawer); }, loadActors: function () { this.actorsToCreate = []; for (var a = this.scene.actors.iterator(); a.hasNext(); ) { var b = a.next(); this.actorsToCreate.push(this.createActor(b, !0)); } a = 0; for (b = this.interactiveLayers; a < b.length; ) { var d = b[a]; ++a; for (var e = 0, c = d.actorContainer.get_numChildren(); e < c; ) { var g = e++, l = d.actorContainer.getChildAt(g); for (l = this.scene.actors.h[l.ID]; l.orderInLayer != g; ) d.actorContainer.swapChildrenAt(g, l.orderInLayer), (l = d.actorContainer.getChildAt(g)), (l = this.scene.actors.h[l.ID]); } } }, loadDeferredActors: function () { for (var a = 0, b = this.actorsToCreateInNextScene; a < b.length; ) { var d = b[a]; ++a; c.lastCreatedActor = this.createActorOfType(d.type, d.x, d.y, d.layer); } this.actorsToCreateInNextScene = []; }, initActorScripts: function () { for (var a = 0, b = this.actorsToCreate; a < b.length; ) { var d = b[a]; ++a; d.initScripts(); } this.actorsToCreate = null; }, loadCamera: function () { this.camera = new vb( this, -1, 2, 0, 0, -1, 2, 2, null, null, null, null, !0, !1, !0, !1, null, !0, !1 ); this.camera.set_name('Camera'); this.camera.isCamera = !0; h.cameraX = 0; h.cameraY = 0; }, loadRegions: function () { this.regions = new xe(32); this.regions.reuseIterator = !0; for (var a = this.scene.regions.iterator(); a.hasNext(); ) { var b = a.next(), d = new pd(this, b.x, b.y, b.shapes, b.simpleBounds); d.set_name(b.name); h.NO_PHYSICS || d.setXY(b.x + d.regionWidth / 2, b.y + d.regionHeight / 2); d.ID = b.ID; this.addRegion(d); } }, loadTerrainRegions: function () { this.terrainRegions = new Ya(); if (!h.NO_PHYSICS) for (var a = this.scene.terrainRegions.iterator(); a.hasNext(); ) { var b = a.next(), d = new Og(this, b.x, b.y, b.shapes, b.groupID, b.fillColor); d.set_name(b.name); d.setX(h.toPixelUnits(b.x) + d.regionWidth / 2); d.setY(h.toPixelUnits(b.y) + d.regionHeight / 2); d.ID = b.ID; this.addTerrainRegion(d); } }, loadJoints: function () { if (!h.NO_PHYSICS) for (var a = this.scene.joints.iterator(); a.hasNext(); ) { var b = a.next(), d = b.actor1, e = b.actor2, c = b.collideConnected; if (3 == b.type) { var g = this.joints; var l = b.ID; b = this.createStickJoint(this.getActor(d).body, this.getActor(e).body, b.ID, c); g.h[l] = b; } else if (1 == b.type) { l = w.__cast(b, Mh); g = this.getActor(d).body.getLocalCenter().copy(); g.x = h.toPixelUnits(g.x); g.y = h.toPixelUnits(g.y); d = this.getActor(d).body; e = -1 == e ? this.world.m_groundBody : this.getActor(e).body; var q = this.joints, y = b.ID; b = this.createHingeJoint( d, e, g, b.ID, c, l.enableLimit, l.enableMotor, l.lowerAngle, l.upperAngle, l.maxMotorTorque, -l.motorSpeed ); q.h[y] = b; } else if (2 == b.type || 7 == b.type) (l = w.__cast(b, Nh)), (g = this.getActor(d).body.getLocalCenter().copy()), (g.x = h.toPixelUnits(g.x)), (g.y = h.toPixelUnits(g.y)), (d = this.getActor(d).body), (e = -1 == e ? this.world.m_groundBody : this.getActor(e).body), (g = this.joints), (q = b.ID), (b = this.createSlidingJoint( d, e, l.localAxisA, b.ID, c, l.enableLimit, l.enableMotor, l.lowerTranslation, l.upperTranslation, l.maxMotorForce, l.motorSpeed )), (g.h[q] = b); } }, loadTerrain: function () { this.initLayers(); for (var a = 0, b = this.scene.wireframes; a < b.length; ) { var d = b[a]; ++a; var e = null; h.NO_PHYSICS || (e = new vb( this, 1e8, 1, d.x, d.y, -1, d.width | 0, d.height | 0, null, new qa(), null, null, !1, !0, !1, !1, d.shape )); e.set_name('Terrain'); e.typeID = -1; e.set_visible(!1); this.getGroup(1).addChild(e); } }, initLayers: function () { this.setColorBackground(this.scene.colorBackground); this.animatedTiles = this.scene.animatedTiles; if (null != this.animatedTiles) for (var a = 0, b = this.animatedTiles; a < b.length; ) { var d = b[a]; ++a; d.currFrame = 0; d.currTime = 0; d.updateSource = !0; } this.layers = this.scene.layers; this.layersToDraw = new Ya(); this.layersByName = new qa(); this.interactiveLayers = []; this.backgroundLayers = []; var e = (d = !1), c = 0, g = -1, l = {}; if (0 == this.layers.mSize) { a = new me( 0, this.scene, (this.scene.sceneWidth / this.scene.tileWidth) | 0, (this.scene.sceneHeight / this.scene.tileHeight) | 0 ); var q = new Ec(0, 'default', 0, 1, 1, 1, 10, a); this.layers.set(q.ID, q); } for (q = this.layers.iterator(); q.hasNext(); ) (a = q.next()), (g = Math.max(g, a.order) | 0), (l[a.order] = a), (this.layersByName.h[a.layerName] = a), a instanceof Ec ? this.interactiveLayers.push(w.__cast(a, Ec)) : a instanceof Wd && this.backgroundLayers.push(w.__cast(a, Wd)); a = 0; for (b = g + 1; a < b; ) { q = a++; var y = g - q; q = l[q]; q.order = y; this.layersToDraw.h[y] = q; } a = 0; for (b = g + 1; a < b; ) (q = a++), (q = this.layersToDraw.h[q]), q instanceof Wd ? ((q = w.__cast(q, Wd)), q.load(), this.master.addChild(q)) : q instanceof Ec && ((g = w.__cast(q, Ec)), d || ((d = !0), (this.bottomLayer = g)), e || c != Math.floor(this.interactiveLayers.length / 2) || ((e = !0), (this.middleLayer = g)), this.master.addChild(g), (this.topLayer = g), g.tiles.mountGrid(), ++c); }, setColorBackground: function (a) { a.draw( this.colorLayer.get_graphics(), 0, 0, (h.screenWidth * h.SCALE) | 0, (h.screenHeight * h.SCALE) | 0 ); }, optimizePool: function () { for (var a = this.recycledActorsOfType.iterator(); a.hasNext(); ) { for (var b = a.next(), d = [], e = 0; e < b.length; ) { var c = b[e]; ++e; null != c && c.recycled && d.push(c); } for (e = 0; e < d.length; ) (c = d[e]), ++e, C.remove(b, c), this.removeActor(c); } }, cleanup: function () { null != h.debugDrawer && null != h.debugDrawer.m_sprite && h.debugDrawer.m_sprite.get_graphics().clear(); for (var a = 0, b = this.interactiveLayers; a < b.length; ) { var d = b[a]; ++a; d.clear(); } this.hudLayer.clear(); W.removeAllChildren(this.master); this.behaviors.destroy(); this.camera.destroy(); this.camera = null; if (null != this.world) { a = this.world.getBodyList(); for (b = this.world.getJointList(); null != b; ) this.world.destroyJoint(b), (b = b.getNext()); for (; null != a; ) this.world.destroyBody(a), (a = a.getNext()); } for (a = this.actorsOfType.iterator(); a.hasNext(); ) (b = a.next()), (b.length = 0); for (b = this.recycledActorsOfType.iterator(); b.hasNext(); ) for (d = b.next(), a = 0; a < d.length; ) { var e = d[a]; ++a; e.destroyed || e.destroy(); } for (a = this.recycledActorsOfType.iterator(); a.hasNext(); ) (b = a.next()), (b.length = 0); for (e = this.allActors.iterator(); e.hasNext(); ) e.next().destroy(); for (; 0 < kd.count(this.allActors); ) for (a = this.allActors.keys(); a.hasNext(); ) (b = a.next()), this.allActors.unset(b); this.scene.unload(); this.nativeListeners = this.whenFocusChanged = this.whenMTEnded = this.whenMTDragged = this.whenMTStarted = this.whenSwiped = this.whenGameScaleChanged = this.whenScreenSizeChanged = this.whenFullscreenChanged = this.whenPaused = this.whenMouseDragged = this.whenMouseMoved = this.whenMouseReleased = this.whenMousePressed = this.whenDrawing = this.whenUpdated = this.whenChannelEndedEvents = this.whenSoundEndedEvents = this.whenCollidedEvents = this.whenTypeGroupPositionStateChangedEvents = this.whenTypeGroupKilledEvents = this.whenTypeGroupCreatedEvents = this.whenAnyGamepadReleased = this.whenAnyGamepadPressed = this.whenAnyKeyReleased = this.whenAnyKeyPressed = this.whenKeyPressedEvents = this.disableCollisionList = this.collisionPairs = this.tasks = this.scene = this.allActors = this.reverseGroups = this.groups = this.joints = this.terrainRegions = this.regions = this.animatedTiles = this.dynamicTiles = this.layersToDraw = this.backgroundLayers = this.interactiveLayers = this.layersByName = this.layers = this.recycledActorsOfType = this.actorsOfType = null; c.lastCreatedActor = null; c.lastCreatedJoint = null; c.lastCreatedRegion = null; c.lastCreatedTerrainRegion = null; E.update(); this.world = null; }, switchScene: function (a, b, d) { if (!this.isTransitioning()) { null != b && b.isComplete() && b.reset(); if (null == b || 0 == b.duration) b = new qb(0); if (null == d || 0 == d.duration) d = new qb(1); this.leave = b; this.enter = d; this.leave.isComplete() || this.leave.start(); this.sceneToEnter = a; } }, enterScene: function () { this.enter.isComplete() || (this.enter.start(), null != this.leave && this.leave.cleanup()); this.leave = null; this.sceneInitialized = !1; this.cleanup(); this.loadScene(this.sceneToEnter); this.sceneInitialized = !0; }, isTransitioning: function () { return (null != this.enter && this.enter.isActive()) || (null != this.leave && this.leave.isActive()) ? !0 : !1; }, isTransitioningOut: function () { return null != this.leave && this.leave.isActive() ? !0 : !1; }, createActorInNextScene: function (a, b, d, e) { this.actorsToCreateInNextScene.push(new Nn(a, b, d, e)); }, createActor: function (a, b) { b = w.__cast(jc.get().resources.get(a.actorType.spriteID), si); b = new vb( this, a.elementID, a.groupID, a.x, a.y, a.layerID, -1, -1, b, a.behaviorValues, a.actorType, h.NO_PHYSICS ? null : a.actorType.bodyDef, !1, !1, !1, !1, null, a.actorType.autoScale, a.actorType.ignoreGravity, a.actorType.physicsMode ); if (0 != a.angle) if (0 != b.currOffset.x || 0 != b.currOffset.y) { var d = b.currOrigin.x | 0, e = b.currOrigin.y | 0; b.setOriginPoint((b.cacheWidth / 2) | 0, (b.cacheHeight / 2) | 0); b.setAngle(a.angle, !1); b.setOriginPoint(d, e); } else b.setAngle(a.angle, !1); if (1 != a.scaleX || 1 != a.scaleY) { var f = (b.cacheWidth / 2) | 0, g = (b.cacheHeight / 2) | 0; if (b.currOrigin.x != f || b.currOrigin.y != g) (d = Math.sin(0.01745329251994278 * a.angle)), (e = Math.cos(0.01745329251994278 * a.angle)), (f = (b.currOrigin.x - f) * a.scaleX - b.currOffset.x), (g = (b.currOrigin.y - g) * a.scaleY - b.currOffset.y), b.setX(b.getX(!1) + f * e - g * d), b.setY(b.getY(!1) + f * d + g * e); b.growTo(a.scaleX, a.scaleY, 0); } b.set_name(a.actorType.name); null == this.recycledActorsOfType.h[a.actorType.ID] && (this.recycledActorsOfType.h[a.actorType.ID] = []); d = this.recycledActorsOfType.h[a.actorType.ID]; d.push(b); 2 != a.actorType.physicsMode && ((d = this.groups.h[a.groupID]), null != d && d.addChild(b)); 1e8 == a.elementID ? (this.nextID++, (b.ID = this.nextID), this.allActors.set(b.ID, b)) : (this.allActors.set(b.ID, b), (this.nextID = Math.max(b.ID, this.nextID) | 0)); b.internalUpdate(0, !1); b.updateDrawingMatrix(); null != a.actorType && -1 != a.actorType.ID && ((d = this.actorsOfType.h[a.actorType.ID]), null == d && ((d = []), (this.actorsOfType.h[a.actorType.ID] = d)), null != d && d.push(b)); return (c.lastCreatedActor = b); }, removeActor: function (a) { this.allActors.unset(a.ID); this.removeActorFromLayer(a, a.layer); var b = this.groups, d = a.getGroupID(); b.h[d].removeChild(a); a.destroy(); null != a.type && -1 != a.typeID && ((b = this.actorsOfType.h[a.typeID]), null != b && C.remove(b, a)); }, removeActorFromLayer: function (a, b) { null != b && a.layer == b && (b == this.hudLayer && (0 == a.physicsMode && a.body.setAlwaysActive(a.alwaysSimulate), (a.isHUD = !1), (a.cachedLayer = null)), b.actorContainer.contains(a) && (b.actorContainer.removeChild(a), (a.layer = null))); }, moveActorToLayer: function (a, b) { if (a.layer != b && null != b) { if ( null == a.layer || a.layer.scrollFactorX != b.scrollFactorX || a.layer.scrollFactorY != b.scrollFactorY ) a.updateMatrix = !0; b == this.hudLayer && (0 == a.physicsMode && a.body.setAlwaysActive(!0), (a.isHUD = !0), (a.cachedLayer = a.layer)); null != a.layer && this.removeActorFromLayer(a, a.layer); b.actorContainer.addChild(a); a.layer = b; } }, recycleActor: function (a) { if (null != a && !a.recycled) { var b = h.engine.whenTypeGroupKilledEvents, d = a.getType(), e = b.h[d.__id__]; b = h.engine.whenTypeGroupKilledEvents; d = a.getGroup(); b = b.h[d.__id__]; if (0 < a.whenKilled.length) for ( a.whenKilled._dispatchIndex = 0; a.whenKilled._dispatchIndex < a.whenKilled.length; ) { try { a.whenKilled.listeners[a.whenKilled._dispatchIndex](); } catch (f) { if (((ka.lastError = f), 'string' != typeof J.caught(f).unwrap())) throw f; } ++a.whenKilled._dispatchIndex; } if (null != e && 0 < e.length) for (e._dispatchIndex = 0; e._dispatchIndex < e.length; ) { try { e.listeners[e._dispatchIndex](a); } catch (f) { if (((ka.lastError = f), 'string' != typeof J.caught(f).unwrap())) throw f; } ++e._dispatchIndex; } if (null != b && 0 < b.length) for (b._dispatchIndex = 0; b._dispatchIndex < b.length; ) { try { b.listeners[b._dispatchIndex](a); } catch (f) { if (((ka.lastError = f), 'string' != typeof J.caught(f).unwrap())) throw f; } ++b._dispatchIndex; } a.isHUD && a.unanchorFromScreen(); a.alwaysSimulate && a.makeSometimesSimulate(!1); a.firstMove = !1; a.setXY(1e6, 1e6, !1, !0); a.colX = 1e6; a.colY = 1e6; a.recycled = !0; a.killLeaveScreen = !1; a.lastScreenState = !1; a.lastSceneState = !1; a.cancelTweens(); a.clearFilters(); a.resetBlendMode(); a.set_alpha(1); a.realScaleX = 1; a.realScaleY = 1; a.switchToDefaultAnimation(); a.disableActorDrawing(); a.removeAttachedImages(); if (0 == a.physicsMode && null != a.body) for (e = a.body.getContactList(); null != e; ) h.engine.world.m_contactManager.m_contactListener.endContact(e.contact), (e = e.next); a.removeAllListeners(); a.resetListeners(); this.removeActorFromLayer(a, a.layer); 0 == a.physicsMode && (a.body.setActive(!1), a.body.setAwake(!1), a.body.setBullet(a.type.bodyDef.bullet), null != a.body.m_prev && (a.body.m_prev.m_next = a.body.m_next), null != a.body.m_next && (a.body.m_next.m_prev = a.body.m_prev), a.body == this.world.m_bodyList && (this.world.m_bodyList = a.body.m_next), (a.body.m_prev = null), (a.body.m_next = null), --this.world.m_bodyCount); a.xSpeed = 0; a.ySpeed = 0; a.rSpeed = 0; a.continuousCollision = !1; e = 0; for (b = this.tasks; e < b.length; ) (d = b[e]), ++e, d.actor == a && this.removeTask(d); this.allActors.unset(a.ID); } }, getRecycledActorOfType: function (a, b, d, e) { a = this.getRecycledActorOfTypeOnLayer(a, b, d, this.getLayerByOrder(e).ID); h.paused && (a.updateDrawingMatrix(), a.pause()); return a; }, getRecycledActorOfTypeOnLayer: function (a, b, d, e) { var c = null; if (null == this.recycledActorsOfType.h[a.ID]) { var g = a.ID; this.recycledActorsOfType.h[g] = []; } g = this.recycledActorsOfType.h[a.ID]; if (null != g) { for (var l = 0; l < g.length; ) if (((c = g[l]), ++l, null != c && c.recycled)) { c.createTime = Oa.getTimer(); this.allActors.set(c.ID, c); c.dead = !1; c.dying = !1; c.recycled = !1; c.killLeaveScreen = !1; c.switchToDefaultAnimation(); c.customizedBehaviors ? ((c.customizedBehaviors = !1), (c.behaviors = new yj()), h.initBehaviors(c.behaviors, a.behaviorValues, c, this, !1)) : c.enableAllBehaviors(); 0 == c.physicsMode && (c.body.setActive(!0), c.body.setAwake(!0), (c.body.m_prev = null), (c.body.m_next = this.world.m_bodyList), null != this.world.m_bodyList && (this.world.m_bodyList.m_prev = c.body), (this.world.m_bodyList = c.body), ++this.world.m_bodyCount); c.registry = new qa(); c.enableActorDrawing(); c.setXY(b, d, !1, !0); 0 == c.physicsMode && ((c.colX = b), (c.colY = d)); c.setAngle(0, !1); c.setIgnoreGravity(c.defaultGravity); c.set_alpha(1); c.realScaleX = 1; c.realScaleY = 1; null != c.bodyDef && (c.continuousCollision = c.bodyDef.bullet); c.updateDrawingMatrix(!0); this.moveActorToLayer(c, this.getLayerById(e)); c.initScripts(); a = this.whenTypeGroupCreatedEvents.h[a.__id__]; b = this.whenTypeGroupCreatedEvents; g = c.getGroup(); b = b.h[g.__id__]; if (null != a && 0 < a.length) for (a._dispatchIndex = 0; a._dispatchIndex < a.length; ) { try { a.listeners[a._dispatchIndex](c); } catch (q) { if (((ka.lastError = q), 'string' != typeof J.caught(q).unwrap())) throw q; } ++a._dispatchIndex; } if (null != b && 0 < b.length) for (b._dispatchIndex = 0; b._dispatchIndex < b.length; ) { try { b.listeners[b._dispatchIndex](c); } catch (q) { if (((ka.lastError = q), 'string' != typeof J.caught(q).unwrap())) throw q; } ++b._dispatchIndex; } return c; } c = this.createActorOfType(a, b, d, e); } return c; }, createActorOfType: function (a, b, d, e) { if (null == a) return null; b = new Xk(1e8, b | 0, d | 0, 1, 1, e, -1, 0, a.groupID, a.ID, null, !1); b = this.createActor(b, !0); b.initScripts(); a = this.whenTypeGroupCreatedEvents.h[a.__id__]; d = this.whenTypeGroupCreatedEvents; e = b.getGroup(); d = d.h[e.__id__]; if (null != a && 0 < a.length) for (a._dispatchIndex = 0; a._dispatchIndex < a.length; ) { try { a.listeners[a._dispatchIndex](b); } catch (f) { if (((ka.lastError = f), 'string' != typeof J.caught(f).unwrap())) throw f; } ++a._dispatchIndex; } if (null != d && 0 < d.length) for (d._dispatchIndex = 0; d._dispatchIndex < d.length; ) { try { d.listeners[d._dispatchIndex](b); } catch (f) { if (((ka.lastError = f), 'string' != typeof J.caught(f).unwrap())) throw f; } ++d._dispatchIndex; } return b; }, getTopLayer: function () { return this.topLayer.ID; }, getBottomLayer: function () { return this.bottomLayer.ID; }, getMiddleLayer: function () { return this.middleLayer.ID; }, update: function (a) { if (null != this.scene) { kb.update(a | 0); if (!h.NO_PHYSICS) { var b = this.world.getScreenBounds(); b.lowerBound.x = (h.cameraX / h.SCALE - h.paddingLeft) / h.physicsScale; b.lowerBound.y = (h.cameraY / h.SCALE - h.paddingTop) / h.physicsScale; b.upperBound.x = b.lowerBound.x + (h.screenWidth + h.paddingRight + h.paddingLeft) / h.physicsScale; b.upperBound.y = b.lowerBound.y + (h.screenHeight + h.paddingBottom + h.paddingTop) / h.physicsScale; } b = (E.mouseX / h.SCALE) | 0; var d = (E.mouseY / h.SCALE) | 0; if (E.mousePressed && ((c.mpx = b), (c.mpy = d), 0 < this.whenMousePressed.length)) for ( this.whenMousePressed._dispatchIndex = 0; this.whenMousePressed._dispatchIndex < this.whenMousePressed.length; ) { try { this.whenMousePressed.listeners[this.whenMousePressed._dispatchIndex](); } catch (l) { if (((ka.lastError = l), 'string' != typeof J.caught(l).unwrap())) throw l; } ++this.whenMousePressed._dispatchIndex; } if (E.mouseReleased && ((c.mrx = b), (c.mry = d), 0 < this.whenMouseReleased.length)) for ( this.whenMouseReleased._dispatchIndex = 0; this.whenMouseReleased._dispatchIndex < this.whenMouseReleased.length; ) { try { this.whenMouseReleased.listeners[this.whenMouseReleased._dispatchIndex](); } catch (l) { if (((ka.lastError = l), 'string' != typeof J.caught(l).unwrap())) throw l; } ++this.whenMouseReleased._dispatchIndex; } if (this.mx != b || this.my != d) { this.mx = b; this.my = d; if (0 < this.whenMouseMoved.length) for ( this.whenMouseMoved._dispatchIndex = 0; this.whenMouseMoved._dispatchIndex < this.whenMouseMoved.length; ) { try { this.whenMouseMoved.listeners[this.whenMouseMoved._dispatchIndex](); } catch (l) { if (((ka.lastError = l), 'string' != typeof J.caught(l).unwrap())) throw l; } ++this.whenMouseMoved._dispatchIndex; } if (E.mouseDown && !E.mousePressed && 0 < this.whenMouseDragged.length) for ( this.whenMouseDragged._dispatchIndex = 0; this.whenMouseDragged._dispatchIndex < this.whenMouseDragged.length; ) { try { this.whenMouseDragged.listeners[this.whenMouseDragged._dispatchIndex](); } catch (l) { if (((ka.lastError = l), 'string' != typeof J.caught(l).unwrap())) throw l; } ++this.whenMouseDragged._dispatchIndex; } } for (var e = 0; e < this.tasks.length; ) (b = this.tasks[e]), b.done || b.update(h.STEP_SIZE), b.done && (C.remove(this.tasks, b), --e), ++e; if (0 < this.whenKeyPressedEvents.keys.length) { b = 0; for (d = this.whenKeyPressedEvents.keys.length; b < d; ) { e = b++; var f = this.whenKeyPressedEvents.keys[e]; e = E.pressed(f); var g = E.released(f); if (e || g) if (((f = this.whenKeyPressedEvents.map.get(f)), 0 < f.length)) for (f._dispatchIndex = 0; f._dispatchIndex < f.length; ) { try { f.listeners[f._dispatchIndex](e, g); } catch (l) { if (((ka.lastError = l), 'string' != typeof J.caught(l).unwrap())) throw l; } ++f._dispatchIndex; } } this.keyPollOccurred = !0; } if (0 < this.whenUpdated.length) for ( this.whenUpdated._dispatchIndex = 0; this.whenUpdated._dispatchIndex < this.whenUpdated.length; ) { try { this.whenUpdated.listeners[this.whenUpdated._dispatchIndex](a); } catch (l) { if (((ka.lastError = l), 'string' != typeof J.caught(l).unwrap())) throw l; } ++this.whenUpdated._dispatchIndex; } h.NO_PHYSICS || (this.world.step(0.01, 3, 3), this.world.clearForces(), h.DEBUG_DRAW && this.world.drawDebugData()); if (0 != this.regions.mSize) for (b = this.regions.iterator(); b.hasNext(); ) (d = b.next()), null != d && d.innerUpdate(a, !0); for (; 0 < this.disableCollisionList.length; ) this.disableCollisionList.pop(); if (0 != this.collisionPairs.mSize) for (b = this.collisionPairs.keys(); b.hasNext(); ) (d = b.next()), this.collisionPairs.unset(d); se.updateAll(a); if (0 != this.allActors.mSize) for (e = this.allActors.iterator(); e.hasNext(); ) (b = e.next()), null == b || b.dead || b.recycled || ((d = (0 != b.physicsMode || b.body.isActive()) && b.colX + b.cacheWidth * b.realScaleX >= h.cameraX / h.SCALE - h.paddingLeft && b.colY + b.cacheHeight * b.realScaleY >= h.cameraY / h.SCALE - h.paddingTop && b.colX < h.cameraX / h.SCALE + h.screenWidth + h.paddingRight && b.colY < h.cameraY / h.SCALE + h.screenHeight + h.paddingBottom), (b.isOnScreenCache = d || b.isHUD), 0 == b.physicsMode && null != b.body ? b.killLeaveScreen && !d ? this.recycleActor(b) : (b.body.isActive() || b.alwaysSimulate || b.isHUD) && b.innerUpdate(a, !1) : 0 != b.physicsMode && (b.killLeaveScreen && !d ? this.recycleActor(b) : (d || b.alwaysSimulate || b.isHUD) && b.innerUpdate(a, !1)), b.dead && this.disableCollisionList.push(b)); this.keyPollOccurred = !1; b = 0; for (d = this.disableCollisionList.length; b < d; ) (e = b++), (e = this.disableCollisionList[e]), null != e && (e.handlesCollisions = !1); b = 0; for (d = this.animatedTiles.length; b < d; ) (e = b++), (e = this.animatedTiles[e]), e.update(a), (this.tileUpdated = this.tileUpdated || e.updateSource); null != this.leave && this.leave.isActive() ? this.leave.update(a) : null != this.enter && this.enter.isActive() && this.enter.update(a); for (b = this.layers.iterator(); b.hasNext(); ) b.next().updatePosition(h.cameraX, h.cameraY, a); !h.NO_PHYSICS && h.DEBUG_DRAW && (this.debugLayer.set_x(-h.cameraX), this.debugLayer.set_y(-h.cameraY)); this.isShaking && ((this.shakeTimer -= h.STEP_SIZE), 0 >= this.shakeTimer ? this.stopShakingScreen() : ((a = -this.shakeIntensity * h.screenHeight + 2 * Math.random() * this.shakeIntensity * h.screenHeight), this.master.set_x( (-this.shakeIntensity * h.screenWidth + 2 * Math.random() * this.shakeIntensity * h.screenWidth) * h.SCALE ), this.master.set_y(a * h.SCALE))); } }, onUpdate: function (a) { a = Oa.getTimer(); var b = a - this.lastTime; 200 <= b && (b = 200); this.acc += b; h.elapsedTime = b; h.totalElapsedTime += b | 0; null != this.leave ? (this.leave.isComplete() && (this.leave.deactivate(), this.enterScene()), this.postUpdate(a)) : (null != this.enter && this.enter.isComplete() && (this.enter.deactivate(), this.enter.cleanup(), (this.enter = null)), this.sceneInitialized && this.postUpdate(a)); }, postUpdate: function (a) { for (; this.acc > h.STEP_SIZE; ) this.update(h.STEP_SIZE), (this.acc -= h.STEP_SIZE), E.update(); this.lastTime = a; if (0 != this.allActors.mSize) for (a = this.allActors.iterator(); a.hasNext(); ) { var b = a.next(); null == b || (0 == b.physicsMode && null == b.body) || (b.dead || b.dying ? this.removeActor(b) : b.updateMatrix || b.resetOrigin ? (b.updateDrawingMatrix(), (b.updateMatrix = !1), (b.resetOrigin = !1)) : b.smoothMove && (b.drawX != b.realX || b.drawY != b.realY) && b.updateDrawingMatrix()); } this.draw(); }, onFocus: function (a) { h.inFocus || ((h.inFocus = !0), this.focusChanged(!1)); }, onFocusLost: function (a) { h.inFocus && ((h.inFocus = !1), this.focusChanged(!0)); }, focusChanged: function (a) { if (null != this.whenFocusChanged && 0 < this.whenFocusChanged.length) for ( this.whenFocusChanged._dispatchIndex = 0; this.whenFocusChanged._dispatchIndex < this.whenFocusChanged.length; ) { try { this.whenFocusChanged.listeners[this.whenFocusChanged._dispatchIndex](a); } catch (b) { if (((ka.lastError = b), 'string' != typeof J.caught(b).unwrap())) throw b; } ++this.whenFocusChanged._dispatchIndex; } }, handleCollision: function (a, b) { var d = a.typeID, e = b.otherActor.typeID; if (h.NO_PHYSICS) { var c = 1e6 + b.thisActor.groupID; var g = 1e6 + b.otherActor.groupID; } else { if (null != b.thisShape) { g = b.thisShape.groupID; if (-1e3 == g) { var l = b.thisShape.getBody(); null != l && (g = l.getUserData().groupID); } c = 1e6 + g; } else c = 1e6 + b.thisActor.groupID; null != b.otherShape ? ((g = b.otherShape.groupID), -1e3 == g && ((l = b.otherShape.getBody()), null != l && (g = l.getUserData().groupID)), (g = 1e6 + g)) : (g = 1e6 + b.otherActor.groupID); } if (null != this.collisionPairs) { l = a.ID; var q = this.collisionPairs.mH, y = q.mHash[(73856093 * l) & q.mMask]; if (-1 == y) l = !1; else { var r = q.mData; if (r[y] == l) l = !0; else { q = !1; for (y = r[y + 2]; -1 != y; ) { if (r[y] == l) { q = !0; break; } y = r[y + 2]; } l = q; } } l || this.collisionPairs.set(a.ID, new Ya()); l = b.otherActor.ID; q = this.collisionPairs.mH; y = q.mHash[(73856093 * l) & q.mMask]; if (-1 == y) l = !1; else if (((r = q.mData), r[y] == l)) l = !0; else { q = !1; for (y = r[y + 2]; -1 != y; ) { if (r[y] == l) { q = !0; break; } y = r[y + 2]; } l = q; } l || this.collisionPairs.set(b.otherActor.ID, new Ya()); q = this.collisionPairs; l = a.ID; r = q.mH; y = r.mHash[(73856093 * l) & r.mMask]; if (-1 == y) l = -2147483648; else if (((r = r.mData), r[y] == l)) l = r[y + 1]; else { var k = -2147483648; for (y = r[y + 2]; -1 != y; ) { if (r[y] == l) { k = r[y + 1]; break; } y = r[y + 2]; } l = k; } if ((-2147483648 == l ? null : q.mVals[l]).h.hasOwnProperty(b.otherActor.ID)) l = !0; else { q = this.collisionPairs; l = b.otherActor.ID; r = q.mH; y = r.mHash[(73856093 * l) & r.mMask]; if (-1 == y) l = -2147483648; else if (((r = r.mData), r[y] == l)) l = r[y + 1]; else { k = -2147483648; for (y = r[y + 2]; -1 != y; ) { if (r[y] == l) { k = r[y + 1]; break; } y = r[y + 2]; } l = k; } l = (-2147483648 == l ? null : q.mVals[l]).h.hasOwnProperty(a.ID); } if (l) return; } if (-1 < d || -1 < e) { if ( !b.otherCollidedWithTerrain && this.whenCollidedEvents.h.hasOwnProperty(d) && this.whenCollidedEvents.h[d].h.hasOwnProperty(e) ) { l = this.whenCollidedEvents.h[d].h[e]; if (0 < l.length) for (l._dispatchIndex = 0; l._dispatchIndex < l.length; ) { try { l.listeners[l._dispatchIndex](b); } catch (p) { if (((ka.lastError = p), 'string' != typeof J.caught(p).unwrap())) throw p; } ++l._dispatchIndex; } 0 == l.length && this.whenCollidedEvents.h[d].remove(e); } if ( d != e && this.whenCollidedEvents.h.hasOwnProperty(e) && this.whenCollidedEvents.h[e].h.hasOwnProperty(d) ) { l = this.whenCollidedEvents.h[e].h[d]; q = b.switchData(uc.get()); if (0 < l.length) for (l._dispatchIndex = 0; l._dispatchIndex < l.length; ) { try { l.listeners[l._dispatchIndex](q); } catch (p) { if (((ka.lastError = p), 'string' != typeof J.caught(p).unwrap())) throw p; } ++l._dispatchIndex; } 0 == l.length && this.whenCollidedEvents.h[e].remove(d); } } if (0 < c && 0 < g) { if ( this.whenCollidedEvents.h.hasOwnProperty(c) && this.whenCollidedEvents.h[c].h.hasOwnProperty(g) ) { l = this.whenCollidedEvents.h[c].h[g]; if (0 < l.length) for (l._dispatchIndex = 0; l._dispatchIndex < l.length; ) { try { l.listeners[l._dispatchIndex](b); } catch (p) { if (((ka.lastError = p), 'string' != typeof J.caught(p).unwrap())) throw p; } ++l._dispatchIndex; } 0 == l.length && this.whenCollidedEvents.h[c].remove(g); } if ( c != g && this.whenCollidedEvents.h.hasOwnProperty(g) && this.whenCollidedEvents.h[g].h.hasOwnProperty(c) ) { l = this.whenCollidedEvents.h[g].h[c]; q = b.switchData(uc.get()); if (0 < l.length) for (l._dispatchIndex = 0; l._dispatchIndex < l.length; ) { try { l.listeners[l._dispatchIndex](q); } catch (p) { if (((ka.lastError = p), 'string' != typeof J.caught(p).unwrap())) throw p; } ++l._dispatchIndex; } 0 == l.length && this.whenCollidedEvents.h[g].remove(c); } } if (null != this.collisionPairs) { q = this.collisionPairs; l = a.ID; r = q.mH; y = r.mHash[(73856093 * l) & r.mMask]; if (-1 == y) l = -2147483648; else if (((r = r.mData), r[y] == l)) l = r[y + 1]; else { k = -2147483648; for (y = r[y + 2]; -1 != y; ) { if (r[y] == l) { k = r[y + 1]; break; } y = r[y + 2]; } l = k; } (-2147483648 == l ? null : q.mVals[l]).h[b.otherActor.ID] = !1; q = this.collisionPairs; l = b.otherActor.ID; r = q.mH; y = r.mHash[(73856093 * l) & r.mMask]; if (-1 == y) l = -2147483648; else if (((r = r.mData), r[y] == l)) l = r[y + 1]; else { k = -2147483648; for (y = r[y + 2]; -1 != y; ) { if (r[y] == l) { k = r[y + 1]; break; } y = r[y + 2]; } l = k; } (-2147483648 == l ? null : q.mVals[l]).h[a.ID] = !1; } }, soundFinished: function (a) { var b = w.__cast(this.channels[a], Vb); if (null != this.whenSoundEndedEvents) { var d = this.whenSoundEndedEvents.h[b.currentClip.__id__]; b.currentSound = null; if (null != d && 0 < d.length) for (d._dispatchIndex = 0; d._dispatchIndex < d.length; ) { try { d.listeners[d._dispatchIndex](); } catch (e) { if (((ka.lastError = e), 'string' != typeof J.caught(e).unwrap())) throw e; } ++d._dispatchIndex; } } else b.currentSound = null; if ( null != this.whenChannelEndedEvents && ((a = this.whenChannelEndedEvents.h[a]), null != a && 0 < a.length) ) for (a._dispatchIndex = 0; a._dispatchIndex < a.length; ) { try { a.listeners[a._dispatchIndex](); } catch (e) { if (((ka.lastError = e), 'string' != typeof J.caught(e).unwrap())) throw e; } ++a._dispatchIndex; } }, addTask: function (a) { this.tasks.push(a); }, removeTask: function (a) { C.remove(this.tasks, a); }, shakeScreen: function (a, b) { this.shakeTimer = (h.MS_PER_SEC * b) | 0; this.isShaking = !0; this.shakeIntensity = a; }, stopShakingScreen: function () { this.shakeTimer = 0; this.isShaking = !1; this.master.set_x(0); this.master.set_y(0); }, cameraFollow: function (a, b, d) { this.moveCamera(a.colX + a.cacheWidth / 2, a.colY + a.cacheHeight / 2); }, moveCamera: function (a, b) { this.camera.setLocation(a, b); h.cameraX = this.camera.realX - h.screenWidthHalf; h.cameraY = this.camera.realY - h.screenHeightHalf; h.limitCameraToScene && ((h.cameraX = Math.max(0, Math.min(h.sceneWidth - h.screenWidth, h.cameraX))), (h.cameraY = Math.max(0, Math.min(h.sceneHeight - h.screenHeight, h.cameraY)))); h.cameraX *= h.SCALE; h.cameraY *= h.SCALE; 1 != this.zoomMultiplier && this.isHUDZoomable && (this.hudLayer.set_x(-c.getScreenX()), this.hudLayer.set_y(-c.getScreenY())); }, setZoom: function (a, b) { null == b && (b = !0); 0 >= a || this.zoomMultiplier == a || ((this.zoomMultiplier = a), this.root.set_scaleX((h.screenScaleX = a * h.unzoomedScaleX)), this.root.set_scaleY((h.screenScaleY = a * h.unzoomedScaleY)), b && ((h.screenWidth = ((1 / a) * xa.logicalWidth) | 0), (h.screenWidthHalf = (h.screenWidth / 2) | 0), (h.screenHeight = ((1 / a) * xa.logicalHeight) | 0), (h.screenHeightHalf = (h.screenHeight / 2) | 0)), this.setColorBackground(this.scene.colorBackground), this.root.set_scrollRect( new ea(0, 0, h.screenWidth * h.SCALE, h.screenHeight * h.SCALE) ), this.moveCamera(this.camera.realX, this.camera.realY), this.isHUDZoomable || (this.hudLayer.set_scaleX(1 / a), this.hudLayer.set_scaleY(1 / a))); }, pause: function () { if (!this.isTransitioning()) { h.paused = !0; if (0 != this.allActors.mSize) for (var a = this.allActors.keys(); a.hasNext(); ) { var b = a.next(), d = this.allActors, e = d.mH, c = e.mHash[(73856093 * b) & e.mMask]; if (-1 == c) b = -2147483648; else if (((e = e.mData), e[c] == b)) b = e[c + 1]; else { var g = -2147483648; for (c = e[c + 2]; -1 != c; ) { if (e[c] == b) { g = e[c + 1]; break; } c = e[c + 2]; } b = g; } d = -2147483648 == b ? null : d.mVals[b]; null != d && d.pause(); } if (0 < this.whenPaused.length) for ( this.whenPaused._dispatchIndex = 0; this.whenPaused._dispatchIndex < this.whenPaused.length; ) { try { this.whenPaused.listeners[this.whenPaused._dispatchIndex](!0); } catch (l) { if (((ka.lastError = l), 'string' != typeof J.caught(l).unwrap())) throw l; } ++this.whenPaused._dispatchIndex; } } }, unpause: function () { h.paused = !1; if (0 != this.allActors.mSize) for (var a = this.allActors.keys(); a.hasNext(); ) { var b = a.next(), d = this.allActors, e = d.mH, c = e.mHash[(73856093 * b) & e.mMask]; if (-1 == c) b = -2147483648; else if (((e = e.mData), e[c] == b)) b = e[c + 1]; else { var g = -2147483648; for (c = e[c + 2]; -1 != c; ) { if (e[c] == b) { g = e[c + 1]; break; } c = e[c + 2]; } b = g; } d = -2147483648 == b ? null : d.mVals[b]; null != d && d.unpause(); } if (0 < this.whenPaused.length) for ( this.whenPaused._dispatchIndex = 0; this.whenPaused._dispatchIndex < this.whenPaused.length; ) { try { this.whenPaused.listeners[this.whenPaused._dispatchIndex](!1); } catch (l) { if (((ka.lastError = l), 'string' != typeof J.caught(l).unwrap())) throw l; } ++this.whenPaused._dispatchIndex; } }, isPaused: function () { return h.paused; }, draw: function () { for (var a = 0, b = this.interactiveLayers; a < b.length; ) { var d = b[a]; ++a; d.overlay.get_graphics().clear(); } this.hudLayer.overlay.get_graphics().clear(); this.g.graphics = this.transitionLayer.get_graphics(); this.g.graphics.clear(); d = this.g; d.alpha = 1; d.strokeSize = 0; d.fillColor = 0; d.strokeColor = 0; d.font = d.defaultFont; if (0 != this.allActors.mSize) for (a = this.allActors.iterator(); a.hasNext(); ) if (((b = a.next()), 0 < b.whenDrawing.length && null != b.layer)) { this.g.graphics = b.layer.overlay.get_graphics(); d = this.g; d.drawActor = !0; d.actor = b; if (b.smoothMove) { var e = b.drawY - Math.floor(b.cacheHeight / 2) - b.currOffset.y; d.x = (b.drawX - Math.floor(b.cacheWidth / 2) - b.currOffset.x) * d.scaleX; d.y = e * d.scaleY; } else (d.x = b.colX * d.scaleX), (d.y = b.colY * d.scaleY); d = this.g; d.alpha = 1; d.strokeSize = 0; d.fillColor = 0; d.strokeColor = 0; d.font = d.defaultFont; if (0 < b.whenDrawing.length) for ( b.whenDrawing._dispatchIndex = 0; b.whenDrawing._dispatchIndex < b.whenDrawing.length; ) { try { b.whenDrawing.listeners[b.whenDrawing._dispatchIndex](this.g, 0, 0); } catch (f) { if (((ka.lastError = f), 'string' != typeof J.caught(f).unwrap())) throw f; } ++b.whenDrawing._dispatchIndex; } } a = 0; for (b = this.interactiveLayers; a < b.length; ) if (((d = b[a]), ++a, d.cameraMoved || this.tileUpdated)) d.tiles.draw((h.cameraX * d.scrollFactorX) | 0, (h.cameraY * d.scrollFactorY) | 0), (d.cameraMoved = !1); this.tileUpdated = !1; this.g.graphics = this.transitionLayer.get_graphics(); d = this.g; d.drawActor = !1; d.actor = null; d.x = 0; d.y = 0; d = this.g; d.alpha = 1; d.strokeSize = 0; d.fillColor = 0; d.strokeColor = 0; d.font = d.defaultFont; if (0 < this.whenDrawing.length) for ( this.whenDrawing._dispatchIndex = 0; this.whenDrawing._dispatchIndex < this.whenDrawing.length; ) { try { this.whenDrawing.listeners[this.whenDrawing._dispatchIndex](this.g, 0, 0); } catch (f) { if (((ka.lastError = f), 'string' != typeof J.caught(f).unwrap())) throw f; } ++this.whenDrawing._dispatchIndex; } ha.visitStringCache(); null != this.leave && this.leave.isActive() ? this.leave.draw(null) : null != this.enter && this.enter.isActive() && this.enter.draw(null); null != this.shaders && 0 < this.shaders.length && this.shaders[0].capture(); }, getValue: function (a, b) { return this.behaviors.getAttribute(a, b); }, setValue: function (a, b, d) { this.behaviors.setAttribute(a, b, d); }, say: function (a, b, d) { return this.behaviors.call2(a, b, d); }, shout: function (a, b) { return this.behaviors.call(a, b); }, getActor: function (a) { var b = this.allActors, d = b.mH, e = d.mHash[(73856093 * a) & d.mMask]; if (-1 == e) a = -2147483648; else if (((d = d.mData), d[e] == a)) a = d[e + 1]; else { var c = -2147483648; for (e = d[e + 2]; -1 != e; ) { if (d[e] == a) { c = d[e + 1]; break; } e = d[e + 2]; } a = c; } return -2147483648 == a ? null : b.mVals[a]; }, getActorsOfType: function (a) { return null == a ? [] : null != this.actorsOfType.h[a.ID] ? this.actorsOfType.h[a.ID] : []; }, getRecycledActorsOfType: function (a) { return this.recycledActorsOfType.h[a.ID]; }, getLayer: function (a, b) { return 0 == a ? this.getLayerById(z.parseInt(b)) : this.getLayerByName(b); }, getLayerById: function (a, b) { null == b && (b = !0); if (-1 == a) return null; var d = h.engine.layers, e = d.mH, c = e.mHash[(73856093 * a) & e.mMask]; if (-1 == c) a = -2147483648; else if (((e = e.mData), e[c] == a)) a = e[c + 1]; else { var g = -2147483648; for (c = e[c + 2]; -1 != c; ) { if (e[c] == a) { g = e[c + 1]; break; } c = e[c + 2]; } a = g; } d = -2147483648 == a ? null : d.mVals[a]; null == d && b && (d = this.topLayer); return d; }, getLayerByName: function (a, b) { null == b && (b = !0); a = h.engine.layersByName.h[a]; null == a && b && (a = this.topLayer); return a; }, getLayerByOrder: function (a) { switch (a) { case 0: return this.topLayer; case 1: return this.middleLayer; case 2: return this.bottomLayer; default: return this.topLayer; } }, sendToBack: function (a) { a.isHUD || this.moveActorToLayer(a, this.bottomLayer); }, sendBackward: function (a) { if (!a.isHUD) for (var b = a.layer.order; this.layersToDraw.h.hasOwnProperty(--b); ) if (this.layersToDraw.h[b] instanceof Ec) { this.moveActorToLayer(a, this.layersToDraw.h[b]); break; } }, bringToFront: function (a) { a.isHUD || this.moveActorToLayer(a, this.topLayer); }, bringForward: function (a) { if (!a.isHUD) for (var b = a.layer.order; this.layersToDraw.h.hasOwnProperty(++b); ) if (this.layersToDraw.h[b] instanceof Ec) { this.moveActorToLayer(a, this.layersToDraw.h[b]); break; } }, getNumberOfActorsWithinLayer: function (a) { return a instanceof Ec ? w.__cast(a, Ec).actorContainer.get_numChildren() : 0; }, getNumberOfLayers: function () { return this.master.get_numChildren(); }, getOrderOfLayer: function (a) { return a.order; }, moveLayerToOrder: function (a, b) { 0 > b && (b = 0); b > this.master.get_numChildren() - 1 && (b = this.master.get_numChildren() - 1); a.order != b && (this.master.setChildIndex(a, b), this.refreshLayers()); }, getNextLayerID: function () { for (var a = -1, b = this.layers.iterator(); b.hasNext(); ) { var d = b.next(); a = Math.max(a, d.ID) | 0; } return a + 1; }, insertLayer: function (a, b) { this.master.addChildAt(a, b); a instanceof Wd ? this.backgroundLayers.push(w.__cast(a, Wd)) : a instanceof Ec && this.interactiveLayers.push(w.__cast(a, Ec)); this.layers.set(a.ID, a); this.layersByName.h[a.layerName] = a; this.refreshLayers(); }, removeLayer: function (a) { this.master.removeChild(a); a instanceof Wd ? C.remove(this.backgroundLayers, w.__cast(a, Wd)) : a instanceof Ec && C.remove(this.interactiveLayers, w.__cast(a, Ec)); this.layers.unset(a.ID); a = a.layerName; var b = this.layersByName; Object.prototype.hasOwnProperty.call(b.h, a) && delete b.h[a]; this.refreshLayers(); }, refreshLayers: function () { for (var a = !1, b = !1, d = 0, e = 0, c = this.master.get_numChildren(); e < c; ) { var g = e++, l = w.__cast(this.master.getChildAt(g), zg); this.layersToDraw.h[g] = l; l.order = g; l instanceof Ec && (a || ((a = !0), (this.bottomLayer = l)), b || d != Math.floor(this.interactiveLayers.length / 2) || ((b = !0), (this.middleLayer = l)), (this.topLayer = l), ++d); } }, getPhysicalWidth: function () { return this.physicalWidth; }, getPhysicalHeight: function () { return this.physicalHeight; }, enableGlobalSleeping: function () { this.world.m_allowSleep = !0; }, disableGlobalSleeping: function () { this.world.m_allowSleep = !1; }, getGroup: function (a, b) { return -1e3 == a && null != b ? ((a = this.groups), (b = b.getGroupID()), a.h[b]) : this.groups.h[a]; }, getGroupByName: function (a) { a = this.reverseGroups.h[a]; return null == a ? this.groups.h[3] : a; }, nextJointID: function () { for (var a = -1, b = this.joints.iterator(); b.hasNext(); ) { var d = b.next(); null != d && (a = Math.max(a, d.ID) | 0); } return a + 1; }, addJoint: function (a) { var b = this.nextJointID(); a.ID = b; this.joints.h[b] = a; }, getJoint: function (a) { return this.joints.h[a]; }, destroyJoint: function (a) { this.joints.remove(a.ID); this.world.destroyJoint(a); }, createStickJoint: function (a, b, d, e, c, g) { null == g && (g = 0); null == c && (c = 0); null == e && (e = !1); null == d && (d = -1); var f = a.getLocalCenter(), q = b.getLocalCenter(); 0 == a.getType() && ((f.x = a.getUserData().getPhysicsWidth() / 2), (f.y = a.getUserData().getPhysicsHeight() / 2)); 0 == b.getType() && ((q.x = b.getUserData().getPhysicsWidth() / 2), (q.y = b.getUserData().getPhysicsHeight() / 2)); f = a.getWorldPoint(f); q = b.getWorldPoint(q); var y = new Lh(); y.initialize(a, b, f, q); y.collideConnected = e; y.dampingRatio = c; y.frequencyHz = g; a = this.world.createJoint(y); -1 == d ? this.addJoint(a) : ((this.joints.h[d] = a), (a.ID = d)); return w.__cast(a, qi); }, createCustomStickJoint: function (a, b, d, e, c, g) { b = new P(b, d); c = new P(c, g); b.x = h.toPhysicalUnits(b.x); b.y = h.toPhysicalUnits(b.y); c.x = h.toPhysicalUnits(c.x); c.y = h.toPhysicalUnits(c.y); b = a.getWorldPoint(b); c = e.getWorldPoint(c); g = new Lh(); g.initialize(a, e, b, c); a = this.world.createJoint(g); this.addJoint(a); return w.__cast(a, qi); }, createHingeJoint: function (a, b, d, e, c, g, l, q, y, r, k) { null == k && (k = 0); null == r && (r = 0); null == y && (y = 0); null == q && (q = 0); null == l && (l = !1); null == g && (g = !1); null == c && (c = !1); null == e && (e = -1); null == b && (b = this.world.m_groundBody); null == d && (d = a.getLocalCenter()); var f = new Mh(); f.bodyA = a; f.bodyB = b; d.x = h.toPhysicalUnits(d.x); d.y = h.toPhysicalUnits(d.y); f.localAnchorA = d; f.localAnchorB = b.getLocalPoint(a.getWorldPoint(d)); f.collideConnected = c; f.enableLimit = g; f.enableMotor = l; f.lowerAngle = q; f.upperAngle = y; f.maxMotorTorque = r; f.motorSpeed = k; a = this.world.createJoint(f); -1 == e ? this.addJoint(a) : ((this.joints.h[e] = a), (a.ID = e)); return w.__cast(a, ag); }, createSlidingJoint: function (a, b, d, e, c, g, l, q, y, r, k) { null == k && (k = 0); null == r && (r = 0); null == y && (y = 0); null == q && (q = 0); null == l && (l = !1); null == g && (g = !1); null == c && (c = !1); null == e && (e = -1); null == b && (b = this.world.m_groundBody); null == d && (d = new P(1, 0)); d.normalize(); var f = a.getWorldCenter(), n = b.getWorldCenter(); 0 == a.getType() && null != a.getUserData() && ((f.x = a.getUserData().getPhysicsWidth() / 2), (f.y = a.getUserData().getPhysicsHeight() / 2), (f = a.getWorldPoint(f))); 0 == b.getType() && null != b.getUserData() && ((n.x = b.getUserData().getPhysicsWidth() / 2), (n.y = b.getUserData().getPhysicsHeight() / 2), b.getWorldPoint(n)); n = new Nh(); n.initialize(a, b, f, d); n.collideConnected = c; n.enableLimit = g; n.enableMotor = l; n.lowerTranslation = h.toPhysicalUnits(q); n.upperTranslation = h.toPhysicalUnits(y); n.maxMotorForce = r; n.motorSpeed = h.toPhysicalUnits(k); a = this.world.createJoint(n); -1 == e ? this.addJoint(a) : ((this.joints.h[e] = a), (a.ID = e)); return w.__cast(a, wj); }, createRegion: function (a, b, d, e) { null == e && (e = !1); var c = []; c.push(d); d = new pd(this, a, b, c); e && d.setXY(a + d.regionWidth / 2, b + d.regionHeight / 2); this.addRegion(d); return d; }, createBoxRegion: function (a, b, d, e) { if (h.NO_PHYSICS) return (a = new pd(this, a, b, [], new ea(0, 0, d, e))), this.addRegion(a), a; d = h.toPhysicalUnits(d); e = h.toPhysicalUnits(e); var c = new Eb(); c.setAsBox(d / 2, e / 2); return this.createRegion(a, b, c, !0); }, createCircularRegion: function (a, b, d) { if (h.NO_PHYSICS) return (a = new pd(this, a, b, [], new ea(0, 0, 2 * d, 2 * d))), this.addRegion(a), a; d = h.toPhysicalUnits(d); var e = new Lc(); e.m_radius = d; return this.createRegion(a, b, e, !0); }, addRegion: function (a) { -1 == a.ID && (a.ID = this.nextRegionID()); this.regions.set(a.ID, a); h.NO_PHYSICS && this.groups.h[-2].addChild(a); }, removeRegion: function (a) { a = this.getRegion(a); this.regions.unset(a.ID); a.destroy(); h.NO_PHYSICS && this.groups.h[-2].removeChild(a); }, getRegion: function (a) { var b = this.regions, d = b.mH, e = d.mHash[(73856093 * a) & d.mMask]; if (-1 == e) a = -2147483648; else if (((d = d.mData), d[e] == a)) a = d[e + 1]; else { var c = -2147483648; for (e = d[e + 2]; -1 != e; ) { if (d[e] == a) { c = d[e + 1]; break; } e = d[e + 2]; } a = c; } return -2147483648 == a ? null : b.mVals[a]; }, getRegions: function () { return this.regions; }, nextRegionID: function () { for (var a = -1, b = this.regions.iterator(); b.hasNext(); ) { var d = b.next(); null != d && (a = Math.max(a, d.ID) | 0); } return a + 1; }, isInRegion: function (a, b) { if (null != b) { var d = this.regions; var e = b.getID(), c = d.mH, g = c.mHash[(73856093 * e) & c.mMask]; if (-1 == g) e = -2147483648; else if (((c = c.mData), c[g] == e)) e = c[g + 1]; else { var l = -2147483648; for (g = c[g + 2]; -1 != g; ) { if (c[g] == e) { l = c[g + 1]; break; } g = c[g + 2]; } e = l; } d = null != (-2147483648 == e ? null : d.mVals[e]); } else d = !1; return d ? b.containsActor(a) : !1; }, createTerrainRegion: function (a, b, d, e, c) { null == c && (c = 1); null == e && (e = !1); var f = []; f.push(d); d = new Og(this, a, b, f, c); e && d.setXY(a + d.regionWidth / 2, b + d.regionHeight / 2); this.addTerrainRegion(d); return d; }, createBoxTerrainRegion: function (a, b, d, e, c) { null == c && (c = 1); d = h.toPhysicalUnits(d); e = h.toPhysicalUnits(e); var f = new Eb(); f.setAsBox(d / 2, e / 2); return this.createTerrainRegion(a, b, f, !0, c); }, createCircularTerrainRegion: function (a, b, d, e) { null == e && (e = 1); d = h.toPhysicalUnits(d); var c = new Lc(); c.m_radius = d; return this.createTerrainRegion(a, b, c, !0, e); }, addTerrainRegion: function (a) { -1 == a.ID && (a.ID = this.nextTerrainRegionID()); this.terrainRegions.h[a.ID] = a; }, removeTerrainRegion: function (a) { var b = this.getTerrainRegion(a); this.terrainRegions.remove(a); b.destroy(); }, getTerrainRegion: function (a) { return this.terrainRegions.h[a]; }, getTerrainRegions: function () { return this.terrainRegions; }, nextTerrainRegionID: function () { for (var a = -1, b = this.terrainRegions.iterator(); b.hasNext(); ) { var d = b.next(); null != d && (a = Math.max(a, d.ID) | 0); } return a + 1; }, setGameAttribute: function (a, b) { this.gameAttributes.h[a] = b; }, getGameAttribute: function (a) { return this.gameAttributes.h[a]; }, restoreGameAttributes: function () { var a = jc.get().readGameMbs(); a = te.readMap(a.getGameAttributes()); this.gameAttributes.h = Object.create(null); for (var b = Object.keys(a.h), d = b.length, e = 0; e < d; ) { var c = b[e++]; this.gameAttributes.h[c] = a.h[c]; } }, setOffscreenTolerance: function (a, b, d, e) { h.paddingTop = a; h.paddingLeft = b; h.paddingBottom = d; h.paddingRight = e; }, setScrollFactor: function (a, b, d) { this.setLayerScrollFactor(this.getLayerById(a), b, d); }, setLayerScrollFactor: function (a, b, d) { null == d && (d = b); a.scrollFactorX = b; a.scrollFactorY = d; }, __class__: h }; var On = function (a, b) { this.inputControlMap = a; this.getInputs = b; }; k['com.stencyl.InputMethod_String'] = On; On.__name__ = 'com.stencyl.InputMethod_String'; On.prototype = { inputControlMap: null, getInputs: null, mapInputToControl: function (a, b) { this.inputControlMap.exists(a) || this.inputControlMap.set(a, []); for (var d = this.inputControlMap.get(a), e = 0; e < d.length; ) { var c = d[e]; ++e; c != b && (C.remove(this.getInputs(c), a), E.controlStateUpdated(c)); } -1 == this.getInputs(b).indexOf(a) && (this.getInputs(b).push(a), d.push(b), E.controlStateUpdated(b)); }, unmapInput: function (a) { var b = this.inputControlMap.get(a); if (null != b) for (var d = 0; d < b.length; ) { var e = b[d]; ++d; C.remove(this.getInputs(e), a); E.controlStateUpdated(e); } this.inputControlMap.remove(a); }, addInputToControl: function (a, b) { -1 == this.getInputs(b).indexOf(a) && (this.getInputs(b).push(a), E.controlStateUpdated(b), this.inputControlMap.exists(a) || this.inputControlMap.set(a, []), this.inputControlMap.get(a).push(b)); }, removeInputFromControl: function (a, b) { if (-1 != this.getInputs(b).indexOf(a)) { C.remove(this.getInputs(b), a); E.controlStateUpdated(b); var d = this.inputControlMap.get(a); C.remove(d, b); 0 == d.length && this.inputControlMap.remove(a); } }, getInputsForControl: function (a) { return null != a ? this.getInputs(a) : null; }, removeAllInputsFromControl: function (a) { for (var b = this.getInputs(a); 0 < b.length; ) { var d = b.pop(), e = this.inputControlMap.get(d); C.remove(e, a); 0 == e.length && this.inputControlMap.remove(d); } E.controlStateUpdated(a); }, __class__: On }; var Pn = function (a, b) { this.inputControlMap = a; this.getInputs = b; }; k['com.stencyl.InputMethod_Int'] = Pn; Pn.__name__ = 'com.stencyl.InputMethod_Int'; Pn.prototype = { inputControlMap: null, getInputs: null, mapInputToControl: function (a, b) { this.inputControlMap.exists(a) || this.inputControlMap.set(a, []); for (var d = this.inputControlMap.get(a), e = 0; e < d.length; ) { var c = d[e]; ++e; c != b && (C.remove(this.getInputs(c), a), E.controlStateUpdated(c)); } -1 == this.getInputs(b).indexOf(a) && (this.getInputs(b).push(a), d.push(b), E.controlStateUpdated(b)); }, unmapInput: function (a) { var b = this.inputControlMap.get(a); if (null != b) for (var d = 0; d < b.length; ) { var e = b[d]; ++d; C.remove(this.getInputs(e), a); E.controlStateUpdated(e); } this.inputControlMap.remove(a); }, addInputToControl: function (a, b) { -1 == this.getInputs(b).indexOf(a) && (this.getInputs(b).push(a), E.controlStateUpdated(b), this.inputControlMap.exists(a) || this.inputControlMap.set(a, []), this.inputControlMap.get(a).push(b)); }, removeInputFromControl: function (a, b) { if (-1 != this.getInputs(b).indexOf(a)) { C.remove(this.getInputs(b), a); E.controlStateUpdated(b); var d = this.inputControlMap.get(a); C.remove(d, b); 0 == d.length && this.inputControlMap.remove(a); } }, getInputsForControl: function (a) { return null != a ? this.getInputs(a) : null; }, removeAllInputsFromControl: function (a) { for (var b = this.getInputs(a); 0 < b.length; ) { var d = b.pop(), e = this.inputControlMap.get(d); C.remove(e, a); 0 == e.length && this.inputControlMap.remove(d); } E.controlStateUpdated(a); }, __class__: Pn }; var E = function () {}; k['com.stencyl.Input'] = E; E.__name__ = 'com.stencyl.Input'; E.resetStatics = function () { h.stage.removeEventListener('keyDown', E.onKeyDown); h.stage.removeEventListener('keyUp', E.onKeyUp); h.stage.removeEventListener('mouseDown', E.onMouseDown); h.stage.removeEventListener('mouseUp', E.onMouseUp); h.stage.removeEventListener('mouseWheel', E.onMouseWheel); h.stage.removeEventListener('rightMouseDown', E.onRightMouseDown); h.stage.removeEventListener('rightMouseUp', E.onRightMouseUp); h.stage.removeEventListener('middleMouseDown', E.onMiddleMouseDown); h.stage.removeEventListener('middleMouseUp', E.onMiddleMouseUp); ue.get_supportsTouchEvents() && (h.stage.removeEventListener('touchBegin', E.onTouchBegin), h.stage.removeEventListener('touchMove', E.onTouchMove), h.stage.removeEventListener('touchEnd', E.onTouchEnd)); E._roxAgent.detach(); h.engine.root.removeEventListener('rox_gesture_swipe', E.onSwipe); E.mouseX = 0; E.mouseY = 0; E.mouseDown = E.mousePressed = E.mouseReleased = E.mouseWheel = !1; E.rightMouseDown = E.rightMousePressed = E.rightMouseReleased = !1; E.middleMouseDown = E.middleMousePressed = E.middleMouseReleased = !1; E.mouseWheelDelta = 0; E.accelX = E.accelY = E.accelZ = 0; E.multiTouchPoints = null; E.numTouches = 0; E._swipeDirection = 0; E.swipedUp = E.swipedDown = E.swipedRight = E.swipedLeft = !1; E._roxAgent = null; E._enabled = !1; E._key = []; E._joySensitivity = 0.12; E._joyState = new Ya(); E._joyInput.inputControlMap = new qa(); E._keyInput.inputControlMap = new Ya(); E._controlMap = new qa(); E._controlsToReset = []; }; E.define = function (a, b) { if (null == E._controlMap.h[a]) { var d = E._controlMap, e = new Yk(a); d.h[a] = e; } else E.unmapControl(a); for (d = 0; d < b.length; ) (e = b[d]), ++d, E.addKeyToControl(e, a); }; E.mapKey = function (a, b) { E._keyInput.mapInputToControl(a, E._controlMap.h[b]); }; E.unmapKey = function (a) { E._keyInput.unmapInput(a); }; E.addKeyToControl = function (a, b) { E._keyInput.addInputToControl(a, E._controlMap.h[b]); }; E.removeKeyFromControl = function (a, b) { E._keyInput.removeInputFromControl(a, E._controlMap.h[b]); }; E.getKeys = function (a) { return E._keyInput.getInputsForControl(E._controlMap.h[a]); }; E.mapJoystickButton = function (a, b) { E._joyInput.mapInputToControl( E.multipleGamepadsEnabled || -1 == a.indexOf(', ') ? a : a.substring(a.indexOf(', ') + 2), E._controlMap.h[b] ); }; E.unmapJoystickButton = function (a) { E._joyInput.unmapInput( E.multipleGamepadsEnabled || -1 == a.indexOf(', ') ? a : a.substring(a.indexOf(', ') + 2) ); }; E.addJoystickButtonToControl = function (a, b) { E._joyInput.addInputToControl( E.multipleGamepadsEnabled || -1 == a.indexOf(', ') ? a : a.substring(a.indexOf(', ') + 2), E._controlMap.h[b] ); }; E.removeJoystickButtonFromControl = function (a, b) { E._joyInput.removeInputFromControl( E.multipleGamepadsEnabled || -1 == a.indexOf(', ') ? a : a.substring(a.indexOf(', ') + 2), E._controlMap.h[b] ); }; E.getJoystickButtons = function (a) { return E._joyInput.getInputsForControl(E._controlMap.h[a]); }; E.unmapControl = function (a) { a = E._controlMap.h[a]; E._keyInput.removeAllInputsFromControl(a); E._joyInput.removeAllInputsFromControl(a); }; E.unmapKeyboardFromControl = function (a) { E._keyInput.removeAllInputsFromControl(E._controlMap.h[a]); }; E.unmapJoystickFromControl = function (a) { E._joyInput.removeAllInputsFromControl(E._controlMap.h[a]); }; E.setJoySensitivity = function (a) { E._joySensitivity = a; }; E.saveJoystickConfig = function (a) { for ( var b = new qa(), d = new qa(), e = Object.keys(E._joyInput.inputControlMap.h), c = e.length, g = 0; g < c; ) { for ( var l = e[g++], q = [], y = 0, r = E._joyInput.inputControlMap.h[l]; y < r.length; ) { var h = r[y]; ++y; q.push(h.name); } d.h[l] = q; } b.h._joyControlMap = d; b.h._joySensitivity = E._joySensitivity; b.h._format = 2; W.saveMap(b, '_jc-' + a); }; E.loadJoystickConfig = function (a) { E.clearJoystickConfig(); var b = new qa(); W.loadMap(b, '_jc-' + a, function (a) { if (0 < W.mapCount(b)) { a = b.h._format; if (null == a || 1 == a) { a = b.h._joyControlMap; var d = a.h; d = Object.keys(d); for (var c = d.length, g = 0; g < c; ) { var l = d[g++], q = a.h[l]; q = E._controlMap.h[q]; E.multipleGamepadsEnabled || -1 == l.indexOf(', ') || (l = l.substring(l.indexOf(', ') + 2)); E._joyInput.inputControlMap.h[l] = [q]; q.buttons.push(l); } } else if (2 == a) for ( a = b.h._joyControlMap, d = a.h, d = Object.keys(d), c = d.length, g = 0; g < c; ) { l = d[g++]; for (var y = a.h[l], r = [], h = 0; h < y.length; ) (q = y[h]), ++h, r.push(E._controlMap.h[q]); y = r; E.multipleGamepadsEnabled || -1 == l.indexOf(', ') || (l = l.substring(l.indexOf(', ') + 2)); E._joyInput.inputControlMap.h[l] = y; for (r = 0; r < y.length; ) (q = y[r]), ++r, q.buttons.push(l); } E._joySensitivity = b.h._joySensitivity; } }); }; E.clearJoystickConfig = function () { for (var a = E._controlMap.h, b = Object.keys(a), d = b.length, e = 0; e < d; ) a[b[e++]].buttons = []; E._joyInput.inputControlMap = new qa(); E._joySensitivity = 0.12; }; E.loadInputConfig = function () { for (var a = Object.keys(ba.keys.h), b = a.length, d = 0; d < b; ) { for (var e = a[d++], c = ba.keys.h[e], g = [], l = 0; l < c.length; ) { var q = c[l]; ++l; g.push(Ha.keyFromName(q)); } c = g; g = new Yk(e); E._controlMap.h[e] = g; for (e = 0; e < c.length; ) (l = c[e]), ++e, E._keyInput.addInputToControl(l, g); } }; E.check = function (a) { a = E._controlMap.h[a]; return null != a ? a.down : !1; }; E.pressed = function (a) { a = E._controlMap.h[a]; return null != a ? a.pressed : !1; }; E.released = function (a) { a = E._controlMap.h[a]; return null != a ? a.released : !1; }; E.getButtonPressure = function (a) { a = E._controlMap.h[a]; return null != a ? a.pressure : 0; }; E.simulateKeyPress = function (a) { E.controlPressed(E._controlMap.h[a], 1); }; E.simulateKeyRelease = function (a) { E.controlReleased(E._controlMap.h[a]); }; E.enableJoystick = function () {}; E.enable = function () { if (!E._enabled && null != h.stage) { h.stage.addEventListener('keyDown', E.onKeyDown, !1, 2); h.stage.addEventListener('keyUp', E.onKeyUp, !1, 2); h.stage.addEventListener('mouseDown', E.onMouseDown, !1, 2); h.stage.addEventListener('mouseUp', E.onMouseUp, !1, 2); h.stage.addEventListener('mouseWheel', E.onMouseWheel, !1, 2); h.stage.addEventListener('rightMouseDown', E.onRightMouseDown, !1, 2); h.stage.addEventListener('rightMouseUp', E.onRightMouseUp, !1, 2); h.stage.addEventListener('middleMouseDown', E.onMiddleMouseDown, !1, 2); h.stage.addEventListener('middleMouseUp', E.onMiddleMouseUp, !1, 2); ue.get_supportsTouchEvents() && ((E.multiTouchPoints = new qa()), (ue.inputMode = 2), h.stage.addEventListener('touchBegin', E.onTouchBegin), h.stage.addEventListener('touchMove', E.onTouchMove), h.stage.addEventListener('touchEnd', E.onTouchEnd)); zc.onConnect.add(E.onJoystickConnected); for (var a = zc.devices.iterator(); a.hasNext(); ) { var b = a.next(); E.onJoystickConnected(b); } E._roxAgent = new ub(h.engine.root, 2); h.engine.root.addEventListener('rox_gesture_swipe', E.onSwipe); E._swipeDirection = -1; E.swipedLeft = !1; E.swipedRight = !1; E.swipedUp = !1; E.swipedDown = !1; E.mouseX = 0; E.mouseY = 0; E.accelX = 0; E.accelY = 0; E.accelZ = 0; E.numTouches = 0; E._enabled = !0; } }; E.update = function () { E.swipedLeft = !1; E.swipedRight = !1; E.swipedUp = !1; E.swipedDown = !1; if (-1 < E._swipeDirection) { switch (E._swipeDirection) { case 0: E.swipedLeft = !0; break; case 1: E.swipedRight = !0; break; case 2: E.swipedUp = !0; break; case 3: E.swipedDown = !0; } if (0 < h.engine.whenSwiped.length) for ( h.engine.whenSwiped._dispatchIndex = 0; h.engine.whenSwiped._dispatchIndex < h.engine.whenSwiped.length; ) { try { h.engine.whenSwiped.listeners[h.engine.whenSwiped._dispatchIndex](); } catch (d) { if (((ka.lastError = d), 'string' != typeof J.caught(d).unwrap())) throw d; } ++h.engine.whenSwiped._dispatchIndex; } E._swipeDirection = -1; } E.mouseX = (h.stage.get_mouseX() - h.screenOffsetX) / h.screenScaleX; E.mouseY = (h.stage.get_mouseY() - h.screenOffsetY) / h.screenScaleY; for (var a = E._controlsToReset.length; 0 <= --a; ) { var b = E._controlsToReset.pop(); b.pressed = !1; b.released = !1; } E.mousePressed && (E.mousePressed = !1); E.mouseReleased && (E.mouseReleased = !1); E.rightMousePressed && (E.rightMousePressed = !1); E.rightMouseReleased && (E.rightMouseReleased = !1); E.middleMousePressed && (E.middleMousePressed = !1); E.middleMouseReleased && (E.middleMouseReleased = !1); E.mouseWheelDelta = 0; }; E.onSwipe = function (a) { a = w.__cast(a.extra, na); Math.abs(a.x) <= Math.abs(a.y) ? (E._swipeDirection = 0 >= a.y ? 2 : 3) : Math.abs(a.x) > Math.abs(a.y) && (E._swipeDirection = 0 >= a.x ? 0 : 1); }; E.controlsPressed = function (a, b) { if (null != a) for (var d = 0; d < a.length; ) { var e = a[d]; ++d; E.controlPressed(e, b); } }; E.controlsReleased = function (a) { if (null != a) for (var b = 0; b < a.length; ) { var d = a[b]; ++b; E.controlReleased(d); } }; E.controlPressed = function (a, b) { if (null != a) if (a.down) a.pressure = b; else if ( ((a.down = !0), (a.pressed = !0), (a.pressure = b), E._controlsToReset.push(a), h.engine.keyPollOccurred && ((a = h.engine.whenKeyPressedEvents.map.get(a.name)), null != a && 0 < a.length)) ) for (a._dispatchIndex = 0; a._dispatchIndex < a.length; ) { try { a.listeners[a._dispatchIndex](!0, !1); } catch (d) { if (((ka.lastError = d), 'string' != typeof J.caught(d).unwrap())) throw d; } ++a._dispatchIndex; } }; E.controlReleased = function (a) { if ( null != a && a.down && ((a.down = !1), (a.released = !0), (a.pressure = 0), E._controlsToReset.push(a), h.engine.keyPollOccurred && ((a = h.engine.whenKeyPressedEvents.map.get(a.name)), null != a && 0 < a.length)) ) for (a._dispatchIndex = 0; a._dispatchIndex < a.length; ) { try { a.listeners[a._dispatchIndex](!1, !0); } catch (b) { if (((ka.lastError = b), 'string' != typeof J.caught(b).unwrap())) throw b; } ++a._dispatchIndex; } }; E.controlStateUpdated = function (a) { for (var b = 0, d = 0, e = a.keys; d < e.length; ) { var c = e[d]; ++d; E._key[c] && (b = 1); } d = 0; for (e = a.buttons; d < e.length; ) { c = e[d]; ++d; c = pe.fromID(c); var g = c.a[0], l = c.a[1], q = c.a[2]; if (E._joyState.h.hasOwnProperty(g)) switch (((g = E._joyState.h[g]), l)) { case 0: g.axisState[q] == c.a[3] && (b = Math.max(b, Math.abs(g.axisPressure[q]))); break; case 1: g.hatState[q] == c.a[3] && (b = 1); break; case 2: g.buttonState[q] && (b = 1); } } a.pressure = b; 0 < b && !a.down ? E.controlPressed(a, b) : 0 == b && a.down && E.controlReleased(a); }; E.onKeyDown = function (a) { var b = a.keyCode; if (!(7e3 < b)) { if (!E._key[b] && ((E._key[b] = !0), (b = E._keyInput.inputControlMap.h[b]), null != b)) for (var d = 0; d < b.length; ) { var e = b[d]; ++d; E.controlPressed(e, 1); } if (0 < h.engine.whenAnyKeyPressed.length) for ( h.engine.whenAnyKeyPressed._dispatchIndex = 0; h.engine.whenAnyKeyPressed._dispatchIndex < h.engine.whenAnyKeyPressed.length; ) { try { h.engine.whenAnyKeyPressed.listeners[h.engine.whenAnyKeyPressed._dispatchIndex](a); } catch (f) { if (((ka.lastError = f), 'string' != typeof J.caught(f).unwrap())) throw f; } ++h.engine.whenAnyKeyPressed._dispatchIndex; } } }; E.onKeyUp = function (a) { var b = a.keyCode; if (!(7e3 < b)) { if (E._key[b] && ((E._key[b] = !1), (b = E._keyInput.inputControlMap.h[b]), null != b)) for (var d = 0; d < b.length; ) { var e = b[d]; ++d; E.controlReleased(e); } if (0 < h.engine.whenAnyKeyReleased.length) for ( h.engine.whenAnyKeyReleased._dispatchIndex = 0; h.engine.whenAnyKeyReleased._dispatchIndex < h.engine.whenAnyKeyReleased.length; ) { try { h.engine.whenAnyKeyReleased.listeners[h.engine.whenAnyKeyReleased._dispatchIndex]( a ); } catch (f) { if (((ka.lastError = f), 'string' != typeof J.caught(f).unwrap())) throw f; } ++h.engine.whenAnyKeyReleased._dispatchIndex; } } }; E.onMouseDown = function (a) { E.mouseX = (h.stage.get_mouseX() - h.screenOffsetX) / h.screenScaleX; E.mouseY = (h.stage.get_mouseY() - h.screenOffsetY) / h.screenScaleY; E.mouseDown || ((E.mouseDown = !0), (E.mousePressed = !0)); }; E.onMouseUp = function (a) { E.mouseX = (h.stage.get_mouseX() - h.screenOffsetX) / h.screenScaleX; E.mouseY = (h.stage.get_mouseY() - h.screenOffsetY) / h.screenScaleY; E.mouseDown = !1; E.mouseReleased = !0; }; E.onRightMouseDown = function (a) { E.rightMouseDown || ((E.rightMouseDown = !0), (E.rightMousePressed = !0)); }; E.onRightMouseUp = function (a) { E.rightMouseDown = !1; E.rightMouseReleased = !0; }; E.onMiddleMouseDown = function (a) { E.middleMouseDown || ((E.middleMouseDown = !0), (E.middleMousePressed = !0)); }; E.onMiddleMouseUp = function (a) { E.middleMouseDown = !1; E.middleMouseReleased = !0; }; E.onMouseWheel = function (a) { E.mouseWheel = !0; E.mouseWheelDelta = a.delta; }; E.onJoystickConnected = function (a) { var b = new Qn(a); E._joyState.h[a.id] = b; a.onAxisMove.add(function (a, e) { E.onJoyAxisMove(b, a, e); }); a.onButtonDown.add(function (a) { E.onJoyButtonDown(b, a); }); a.onButtonUp.add(function (a) { E.onJoyButtonUp(b, a); }); a.onHatMove.add(function (a, e) { E.onJoyHatMove(b, a, e); }); a.onTrackballMove.add(function (a, e, c) { E.onJoyBallMove(b, a, e, c); }); a.onDisconnect.add(function () { E._joyState.remove(a.id); }); }; E.onJoyAxisMove = function (a, b, d) { var e = E.multipleGamepadsEnabled ? a.joystick.id + ', ' : '', c = a.axisState; var g = d < -E._joySensitivity ? -1 : d > E._joySensitivity ? 1 : 0; var l = c[b]; if (g != l) -1 == l ? E.joyRelease(e + '-axis ' + b) : 1 == l && E.joyRelease(e + '+axis ' + b), -1 == g ? E.joyPress(e + '-axis ' + b, Math.abs(d)) : 1 == g && E.joyPress(e + '+axis ' + b, Math.abs(d)); else if ( 0 != g && ((l = null), -1 == g ? (l = E._joyInput.inputControlMap.h[e + '-axis ' + b]) : 1 == g && (l = E._joyInput.inputControlMap.h[e + '+axis ' + b]), null != l) ) for (e = 0; e < l.length; ) { var q = l[e]; ++e; q.pressure = Math.abs(d); } c[b] = g; a.axisPressure[b] = d; }; E.onJoyBallMove = function (a, b, d, e) {}; E.onJoyHatMove = function (a, b, d) { b = E.multipleGamepadsEnabled ? a.joystick.id + ', ' : ''; var e = a.hatState[0], c = a.hatState[1], g = eg.get_left(d) ? -1 : eg.get_right(d) ? 1 : 0; d = eg.get_up(d) ? -1 : eg.get_down(d) ? 1 : 0; g != e && (-1 == e ? E.joyRelease(b + 'left hat') : 1 == e && E.joyRelease(b + 'right hat'), -1 == g ? E.joyPress(b + 'left hat', 1) : 1 == g && E.joyPress(b + 'right hat', 1)); d != c && (-1 == c ? E.joyRelease(b + 'up hat') : 1 == c && E.joyRelease(b + 'down hat'), -1 == d ? E.joyPress(b + 'up hat', 1) : 1 == d && E.joyPress(b + 'down hat', 1)); a.hatState = [g, d]; }; E.onJoyButtonDown = function (a, b) { var d = E.multipleGamepadsEnabled ? a.joystick.id + ', ' : ''; a.buttonState[b] = !0; E.joyPress(d + b, 1); }; E.onJoyButtonUp = function (a, b) { var d = E.multipleGamepadsEnabled ? a.joystick.id + ', ' : ''; a.buttonState[b] = !1; E.joyRelease(d + b); }; E.joyPress = function (a, b) { var d = E._joyInput.inputControlMap.h[a]; if (null != d) for (var e = 0; e < d.length; ) { var c = d[e]; ++e; E.controlPressed(c, b); } if (0 < h.engine.whenAnyGamepadPressed.length) for ( h.engine.whenAnyGamepadPressed._dispatchIndex = 0; h.engine.whenAnyGamepadPressed._dispatchIndex < h.engine.whenAnyGamepadPressed.length; ) { try { h.engine.whenAnyGamepadPressed.listeners[ h.engine.whenAnyGamepadPressed._dispatchIndex ](a); } catch (g) { if (((ka.lastError = g), 'string' != typeof J.caught(g).unwrap())) throw g; } ++h.engine.whenAnyGamepadPressed._dispatchIndex; } }; E.joyRelease = function (a) { var b = E._joyInput.inputControlMap.h[a]; if (null != b) for (var d = 0; d < b.length; ) { var e = b[d]; ++d; E.controlReleased(e); } if (0 < h.engine.whenAnyGamepadReleased.length) for ( h.engine.whenAnyGamepadReleased._dispatchIndex = 0; h.engine.whenAnyGamepadReleased._dispatchIndex < h.engine.whenAnyGamepadReleased.length; ) { try { h.engine.whenAnyGamepadReleased.listeners[ h.engine.whenAnyGamepadReleased._dispatchIndex ](a); } catch (f) { if (((ka.lastError = f), 'string' != typeof J.caught(f).unwrap())) throw f; } ++h.engine.whenAnyGamepadReleased._dispatchIndex; } }; E.onTouchBegin = function (a) { if (0 < h.engine.whenMTStarted.length) for ( h.engine.whenMTStarted._dispatchIndex = 0; h.engine.whenMTStarted._dispatchIndex < h.engine.whenMTStarted.length; ) { try { h.engine.whenMTStarted.listeners[h.engine.whenMTStarted._dispatchIndex](a); } catch (b) { if (((ka.lastError = b), 'string' != typeof J.caught(b).unwrap())) throw b; } ++h.engine.whenMTStarted._dispatchIndex; } E.multiTouchPoints.h[null == a.touchPointID ? 'null' : '' + a.touchPointID] = a; E.numTouches++; }; E.onTouchMove = function (a) { if (0 < h.engine.whenMTDragged.length) for ( h.engine.whenMTDragged._dispatchIndex = 0; h.engine.whenMTDragged._dispatchIndex < h.engine.whenMTDragged.length; ) { try { h.engine.whenMTDragged.listeners[h.engine.whenMTDragged._dispatchIndex](a); } catch (b) { if (((ka.lastError = b), 'string' != typeof J.caught(b).unwrap())) throw b; } ++h.engine.whenMTDragged._dispatchIndex; } E.multiTouchPoints.h[null == a.touchPointID ? 'null' : '' + a.touchPointID] = a; }; E.onTouchEnd = function (a) { if (0 < h.engine.whenMTEnded.length) for ( h.engine.whenMTEnded._dispatchIndex = 0; h.engine.whenMTEnded._dispatchIndex < h.engine.whenMTEnded.length; ) { try { h.engine.whenMTEnded.listeners[h.engine.whenMTEnded._dispatchIndex](a); } catch (d) { if (((ka.lastError = d), 'string' != typeof J.caught(d).unwrap())) throw d; } ++h.engine.whenMTEnded._dispatchIndex; } a = null == a.touchPointID ? 'null' : '' + a.touchPointID; var b = E.multiTouchPoints; Object.prototype.hasOwnProperty.call(b.h, a) && delete b.h[a]; E.numTouches--; }; var Yk = function (a) { this.pressure = 0; this.name = a; this.keys = []; this.buttons = []; }; k['com.stencyl.Control'] = Yk; Yk.__name__ = 'com.stencyl.Control'; Yk.prototype = { name: null, keys: null, buttons: null, pressed: null, released: null, down: null, pressure: null, __class__: Yk }; var Ly = function (a, b) { this.inputControlMap = a; this.getInputs = b; }; k['com.stencyl.InputMethod'] = Ly; Ly.__name__ = 'com.stencyl.InputMethod'; Ly.prototype = { inputControlMap: null, getInputs: null, mapInputToControl: function (a, b) { this.inputControlMap.exists(a) || this.inputControlMap.set(a, []); for (var d = this.inputControlMap.get(a), e = 0; e < d.length; ) { var c = d[e]; ++e; c != b && (C.remove(this.getInputs(c), a), E.controlStateUpdated(c)); } -1 == this.getInputs(b).indexOf(a) && (this.getInputs(b).push(a), d.push(b), E.controlStateUpdated(b)); }, unmapInput: function (a) { var b = this.inputControlMap.get(a); if (null != b) for (var d = 0; d < b.length; ) { var e = b[d]; ++d; C.remove(this.getInputs(e), a); E.controlStateUpdated(e); } this.inputControlMap.remove(a); }, addInputToControl: function (a, b) { -1 == this.getInputs(b).indexOf(a) && (this.getInputs(b).push(a), E.controlStateUpdated(b), this.inputControlMap.exists(a) || this.inputControlMap.set(a, []), this.inputControlMap.get(a).push(b)); }, removeInputFromControl: function (a, b) { if (-1 != this.getInputs(b).indexOf(a)) { C.remove(this.getInputs(b), a); E.controlStateUpdated(b); var d = this.inputControlMap.get(a); C.remove(d, b); 0 == d.length && this.inputControlMap.remove(a); } }, getInputsForControl: function (a) { return null != a ? this.getInputs(a) : null; }, removeAllInputsFromControl: function (a) { for (var b = this.getInputs(a); 0 < b.length; ) { var d = b.pop(), e = this.inputControlMap.get(d); C.remove(e, a); 0 == e.length && this.inputControlMap.remove(d); } E.controlStateUpdated(a); }, __class__: Ly }; var Qn = function (a) { this.joystick = a; this.hatState = [0, 0]; var b = [], d = 0, e = zc.__getDeviceData(); for (e = e[a.id].axes.length; d < e; ) d++, b.push(0); this.axisState = b; b = []; d = 0; e = zc.__getDeviceData(); for (e = e[a.id].axes.length; d < e; ) d++, b.push(0); this.axisPressure = b; this.buttonState = []; }; k['com.stencyl.JoystickState'] = Qn; Qn.__name__ = 'com.stencyl.JoystickState'; Qn.prototype = { joystick: null, hatState: null, axisState: null, axisPressure: null, buttonState: null, __class__: Qn }; var pe = function () { this.id = ''; this.a = []; }; k['com.stencyl.JoystickButton'] = pe; pe.__name__ = 'com.stencyl.JoystickButton'; pe.normalize = function (a) { return E.multipleGamepadsEnabled || -1 == a.indexOf(', ') ? a : a.substring(a.indexOf(', ') + 2); }; pe.fromID = function (a) { if (Object.prototype.hasOwnProperty.call(pe.cacheFromID.h, a)) return pe.cacheFromID.h[a]; var b = new pe(); b.id = a; var d = 0; E.multipleGamepadsEnabled && ((d = z.parseInt(C.substr(a, 0, a.indexOf(',')))), (a = C.substr(a, a.indexOf(',') + 2, null))); if (-1 != a.indexOf('axis')) { var e = z.parseInt(C.substr(a, a.lastIndexOf(' ') + 1, null)), c = '+' == a.charAt(0) ? 1 : -1; b.a = [d, 0, e, c]; } else if (-1 != a.indexOf('hat')) { c = e = 0; switch (a.split(' ')[0]) { case 'down': c = e = 1; break; case 'left': e = 0; c = -1; break; case 'right': e = 0; c = 1; break; case 'up': (e = 1), (c = -1); } b.a = [d, 1, e, c]; } else (a = z.parseInt(a)), (b.a = [d, 2, a]); return (pe.cacheFromID.h[b.id] = b); }; pe.prototype = { equals: function (a) { return this.id == a.id; }, id: null, a: null, __class__: pe }; var Ha = function () {}; k['com.stencyl.Key'] = Ha; Ha.__name__ = 'com.stencyl.Key'; Ha.nameOfKey = function (a) { if (97 <= a && 122 >= a) return String.fromCodePoint(a); if (112 <= a && 126 >= a) return 'F' + z.string(a - 111); if (96 <= a && 105 >= a) return 'NUMPAD ' + z.string(a - 96); switch (a) { case 8: return 'BACKSPACE'; case 9: return 'TAB'; case 13: return 'ENTER'; case 15: return 'COMMAND'; case 16: return 'SHIFT'; case 17: return 'CONTROL'; case 20: return 'CAPS LOCK'; case 27: return 'ESCAPE'; case 32: return 'SPACE'; case 33: return 'PAGE UP'; case 34: return 'PAGE DOWN'; case 35: return 'END'; case 36: return 'HOME'; case 37: return 'LEFT'; case 38: return 'UP'; case 39: return 'RIGHT'; case 40: return 'DOWN'; case 45: return 'INSERT'; case 46: return 'DELETE'; case 106: return 'NUMPAD MULTIPLY'; case 107: return 'NUMPAD ADD'; case 108: return 'NUMPAD ENTER'; case 109: return 'NUMPAD SUBTRACT'; case 110: return 'NUMPAD DECIMAL'; case 111: return 'NUMPAD DIVIDE'; default: return String.fromCodePoint(a); } }; Ha.keyFromName = function (a) { return Ha.keyboardNameMap.h[a]; }; var na = function (a, b) { null == b && (b = 0); null == a && (a = 0); this.x = a; this.y = b; }; k['openfl.geom.Point'] = na; na.__name__ = 'openfl.geom.Point'; na.distance = function (a, b) { var d = a.x - b.x; a = a.y - b.y; return Math.sqrt(d * d + a * a); }; na.interpolate = function (a, b, d) { return new na(b.x + d * (a.x - b.x), b.y + d * (a.y - b.y)); }; na.polar = function (a, b) { return new na(a * Math.cos(b), a * Math.sin(b)); }; na.prototype = { x: null, y: null, add: function (a) { return new na(a.x + this.x, a.y + this.y); }, clone: function () { return new na(this.x, this.y); }, copyFrom: function (a) { this.x = a.x; this.y = a.y; }, equals: function (a) { return null != a && a.x == this.x ? a.y == this.y : !1; }, normalize: function (a) { if (0 != this.x || 0 != this.y) (a /= Math.sqrt(this.x * this.x + this.y * this.y)), (this.x *= a), (this.y *= a); }, offset: function (a, b) { this.x += a; this.y += b; }, setTo: function (a, b) { this.x = a; this.y = b; }, subtract: function (a) { return new na(this.x - a.x, this.y - a.y); }, toString: function () { return '(x=' + this.x + ', y=' + this.y + ')'; }, __toLimeVector2: function () { null == na.__limeVector2 && (na.__limeVector2 = new Xd()); var a = na.__limeVector2; a.x = this.x; a.y = this.y; return na.__limeVector2; }, get_length: function () { return Math.sqrt(this.x * this.x + this.y * this.y); }, __class__: na, __properties__: { get_length: 'get_length' } }; var ea = function (a, b, d, e) { null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); null == a && (a = 0); this.x = a; this.y = b; this.width = d; this.height = e; }; k['openfl.geom.Rectangle'] = ea; ea.__name__ = 'openfl.geom.Rectangle'; ea.prototype = { height: null, width: null, x: null, y: null, clone: function () { return new ea(this.x, this.y, this.width, this.height); }, contains: function (a, b) { return a >= this.x && b >= this.y && a < this.get_right() ? b < this.get_bottom() : !1; }, containsPoint: function (a) { return this.contains(a.x, a.y); }, containsRect: function (a) { return 0 >= a.width || 0 >= a.height ? a.x > this.x && a.y > this.y && a.get_right() < this.get_right() ? a.get_bottom() < this.get_bottom() : !1 : a.x >= this.x && a.y >= this.y && a.get_right() <= this.get_right() ? a.get_bottom() <= this.get_bottom() : !1; }, copyFrom: function (a) { this.x = a.x; this.y = a.y; this.width = a.width; this.height = a.height; }, equals: function (a) { return a == this ? !0 : null != a && this.x == a.x && this.y == a.y && this.width == a.width ? this.height == a.height : !1; }, inflate: function (a, b) { this.x -= a; this.width += 2 * a; this.y -= b; this.height += 2 * b; }, inflatePoint: function (a) { this.inflate(a.x, a.y); }, intersection: function (a) { var b = this.x < a.x ? a.x : this.x, d = this.get_right() > a.get_right() ? a.get_right() : this.get_right(); if (d <= b) return new ea(); var e = this.y < a.y ? a.y : this.y; a = this.get_bottom() > a.get_bottom() ? a.get_bottom() : this.get_bottom(); return a <= e ? new ea() : new ea(b, e, d - b, a - e); }, intersects: function (a) { var b = this.x < a.x ? a.x : this.x; if ((this.get_right() > a.get_right() ? a.get_right() : this.get_right()) <= b) return !1; b = this.y < a.y ? a.y : this.y; return (this.get_bottom() > a.get_bottom() ? a.get_bottom() : this.get_bottom()) > b; }, isEmpty: function () { return 0 >= this.width ? !0 : 0 >= this.height; }, offset: function (a, b) { this.x += a; this.y += b; }, offsetPoint: function (a) { this.x += a.x; this.y += a.y; }, setEmpty: function () { this.x = this.y = this.width = this.height = 0; }, setTo: function (a, b, d, e) { this.x = a; this.y = b; this.width = d; this.height = e; }, toString: function () { return ( '(x=' + this.x + ', y=' + this.y + ', width=' + this.width + ', height=' + this.height + ')' ); }, union: function (a) { if (0 == this.width || 0 == this.height) return a.clone(); if (0 == a.width || 0 == a.height) return this.clone(); var b = this.x > a.x ? a.x : this.x, d = this.get_right() < a.get_right() ? a.get_right() : this.get_right(), e = this.y > a.y ? a.y : this.y; a = this.get_bottom() < a.get_bottom() ? a.get_bottom() : this.get_bottom(); return new ea(b, e, d - b, a - e); }, __contract: function (a, b, d, e) { if (0 != this.width || 0 != this.height) { var c = 0, g = 0, l = 0, q = 0; this.x < a && (c = a - this.x); this.y < b && (g = b - this.y); this.get_right() > a + d && (l = a + d - this.get_right()); this.get_bottom() > b + e && (q = b + e - this.get_bottom()); this.x += c; this.y += g; this.width += l - c; this.height += q - g; } }, __expand: function (a, b, d, e) { if (0 == this.width && 0 == this.height) (this.x = a), (this.y = b), (this.width = d), (this.height = e); else { var c = this.get_right(), g = this.get_bottom(); this.x > a && ((this.x = a), (this.width = c - a)); this.y > b && ((this.y = b), (this.height = g - b)); c < a + d && (this.width = a + d - this.x); g < b + e && (this.height = b + e - this.y); } }, __toLimeRectangle: function () { null == ea.__limeRectangle && (ea.__limeRectangle = new Qd()); ea.__limeRectangle.setTo(this.x, this.y, this.width, this.height); return ea.__limeRectangle; }, __transform: function (a, b) { var d = b.a * this.x + b.c * this.y, e = d, c = b.b * this.x + b.d * this.y, g = c, l = b.a * (this.x + this.width) + b.c * this.y, q = b.b * (this.x + this.width) + b.d * this.y; l < d && (d = l); q < c && (c = q); l > e && (e = l); q > g && (g = q); l = b.a * (this.x + this.width) + b.c * (this.y + this.height); q = b.b * (this.x + this.width) + b.d * (this.y + this.height); l < d && (d = l); q < c && (c = q); l > e && (e = l); q > g && (g = q); l = b.a * this.x + b.c * (this.y + this.height); q = b.b * this.x + b.d * (this.y + this.height); l < d && (d = l); q < c && (c = q); l > e && (e = l); q > g && (g = q); a.setTo(d + b.tx, c + b.ty, e - d, g - c); }, get_bottom: function () { return this.y + this.height; }, set_bottom: function (a) { this.height = a - this.y; return a; }, get_bottomRight: function () { return new na(this.x + this.width, this.y + this.height); }, set_bottomRight: function (a) { this.width = a.x - this.x; this.height = a.y - this.y; return a.clone(); }, get_left: function () { return this.x; }, set_left: function (a) { this.width -= a - this.x; return (this.x = a); }, get_right: function () { return this.x + this.width; }, set_right: function (a) { this.width = a - this.x; return a; }, get_size: function () { return new na(this.width, this.height); }, set_size: function (a) { this.width = a.x; this.height = a.y; return a.clone(); }, get_top: function () { return this.y; }, set_top: function (a) { this.height -= a - this.y; return (this.y = a); }, get_topLeft: function () { return new na(this.x, this.y); }, set_topLeft: function (a) { this.x = a.x; this.y = a.y; return a.clone(); }, __class__: ea, __properties__: { set_topLeft: 'set_topLeft', get_topLeft: 'get_topLeft', set_top: 'set_top', get_top: 'get_top', set_size: 'set_size', get_size: 'get_size', set_right: 'set_right', get_right: 'get_right', set_left: 'set_left', get_left: 'get_left', set_bottomRight: 'set_bottomRight', get_bottomRight: 'get_bottomRight', set_bottom: 'set_bottom', get_bottom: 'get_bottom' } }; var c = function () { this.checkProperties = this.scriptInit = !1; this.nameMap = new qa(); this.propertyChangeEvents = new qa(); this.equalityPairs = new Jc(); this.attributeTweens = new qa(); }; k['com.stencyl.behavior.Script'] = c; c.__name__ = 'com.stencyl.behavior.Script'; c.resetStatics = function () { c.engine = null; c.lastCreatedActor = null; c.lastCreatedJoint = null; c.lastCreatedRegion = null; c.lastCreatedTerrainRegion = null; c.mpx = 0; c.mpy = 0; c.mrx = 0; c.mry = 0; c.imageApiAutoscale = !0; }; c.sameAs = function (a, b) { return a == b; }; c.sameAsAny = function (a, b, d) { return a != b ? a == d : !0; }; c.asBoolean = function (a) { return 1 == a ? !0 : 'true' == a ? !0 : !1; }; c.strCompare = function (a, b, d) { return 0 > d ? a < b : a > b; }; c.strCompareBefore = function (a, b) { return a < b; }; c.strCompareAfter = function (a, b) { return a > b; }; c.asNumber = function (a) { return null == a ? 0 : 'number' == typeof a ? w.__cast(a, ob) : 'number' == typeof a && (a | 0) === a ? w.__cast(a, nb) : 'boolean' == typeof a ? w.__cast(a, jb) ? 1 : 0 : 'string' == typeof a ? parseFloat(a) : parseFloat(z.string(a)); }; c.hasValue = function (a) { return c.isPrimitive(a) ? !0 : 'string' == typeof a ? '' != w.__cast(a, String) : null != a; }; c.isPrimitive = function (a) { return 'boolean' == typeof a || 'number' == typeof a || ('number' == typeof a && (a | 0) === a) ? !0 : !1; }; c.getDefaultValue = function (a) { return 'boolean' == typeof a ? !1 : 'number' == typeof a || ('number' == typeof a && (a | 0) === a) ? 0 : 'string' == typeof a ? '' : null; }; c.getGroupByName = function (a) { return c.engine.getGroupByName(a); }; c.getLastCreatedRegion = function () { return c.lastCreatedRegion; }; c.getAllRegions = function () { for (var a = [], b = c.engine.regions.iterator(); b.hasNext(); ) { var d = b.next(); null != d && a.push(d); } return a; }; c.getRegion = function (a) { return c.engine.getRegion(a); }; c.removeRegion = function (a) { c.engine.removeRegion(a); }; c.createBoxRegion = function (a, b, d, e) { return (c.lastCreatedRegion = c.engine.createBoxRegion(a, b, d, e)); }; c.createCircularRegion = function (a, b, d) { return (c.lastCreatedRegion = c.engine.createCircularRegion(a, b, d)); }; c.isInRegion = function (a, b) { return c.engine.isInRegion(a, b); }; c.getActorsInRegion = function (a) { var b = []; for (a = a.getContainedActors().iterator(); a.hasNext(); ) { var d = a.next(); b.push(c.engine.getActor(d)); } return b; }; c.sceneHasBehavior = function (a) { return c.engine.behaviors.hasBehavior(a); }; c.enableBehaviorForScene = function (a) { c.engine.behaviors.enableBehavior(a); }; c.disableBehaviorForScene = function (a) { c.engine.behaviors.disableBehavior(a); }; c.isBehaviorEnabledForScene = function (a) { return c.engine.behaviors.isBehaviorEnabled(a); }; c.getValueForScene = function (a, b) { return c.engine.getValue(a, b); }; c.setValueForScene = function (a, b, d) { c.engine.setValue(a, b, d); }; c.shoutToScene = function (a, b) { return c.engine.shout(a, b); }; c.sayToScene = function (a, b, d) { return c.engine.say(a, b, d); }; c.setGameAttribute = function (a, b) { c.engine.gameAttributes.h[a] = b; }; c.getGameAttribute = function (a) { return c.engine.getGameAttribute(a); }; c.setSavable = function (a, b) { c.engine.savableAttributes.h[a] = b; }; c.runLater = function (a, b, d) { a = new Zk(b, a | 0, !1, d); c.engine.addTask(a); return a; }; c.runPeriodically = function (a, b, d) { a = new Zk(b, a | 0, !0, d); c.engine.addTask(a); return a; }; c.getStepSize = function () { return h.STEP_SIZE; }; c.getScene = function () { return c.engine.scene; }; c.getCurrentScene = function () { return c.getScene().ID; }; c.getIDForScene = function (a) { for (var b = ra.get().scenes.iterator(); b.hasNext(); ) { var d = b.next(); if (a == d.name) return d.ID; } return 0; }; c.getCurrentSceneName = function () { return c.getScene().name; }; c.getSceneWidth = function () { return c.getScene().sceneWidth; }; c.getSceneHeight = function () { return c.getScene().sceneHeight; }; c.getTileWidth = function () { return c.getScene().tileWidth; }; c.getTileHeight = function () { return c.getScene().tileHeight; }; c.reloadCurrentScene = function (a, b) { c.engine.switchScene(c.getCurrentScene(), a, b); }; c.switchScene = function (a, b, d) { c.engine.switchScene(a, b, d); }; c.createPixelizeOut = function (a, b) { return new zj(a, 1, 15); }; c.createPixelizeIn = function (a, b) { return new zj(a, 15, 1); }; c.createBubblesOut = function (a, b) { null == b && (b = -16777216); return new Aj(qb.OUT, a, 50, b); }; c.createBubblesIn = function (a, b) { null == b && (b = -16777216); return new Aj(qb.IN, a, 50, b); }; c.createBlindsOut = function (a, b) { null == b && (b = -16777216); return new Bj(qb.OUT, a, 10, b); }; c.createBlindsIn = function (a, b) { null == b && (b = -16777216); return new Bj(qb.IN, a, 10, b); }; c.createRectangleOut = function (a, b) { null == b && (b = -16777216); return new Cj(qb.OUT, a, b); }; c.createRectangleIn = function (a, b) { null == b && (b = -16777216); return new Cj(qb.IN, a, b); }; c.createSlideTransition = function (a, b) { return new Me(c.engine.master, c.engine.colorLayer, a, b); }; c.createSlideUpTransition = function (a) { return c.createSlideTransition(a, Me.SLIDE_UP); }; c.createSlideDownTransition = function (a) { return c.createSlideTransition(a, Me.SLIDE_DOWN); }; c.createSlideLeftTransition = function (a) { return c.createSlideTransition(a, Me.SLIDE_LEFT); }; c.createSlideRightTransition = function (a) { return c.createSlideTransition(a, Me.SLIDE_RIGHT); }; c.createCrossfadeTransition = function (a) { return new $k(c.engine.root, a); }; c.createFadeOut = function (a, b) { null == b && (b = -16777216); return new al(a, b); }; c.createFadeIn = function (a, b) { null == b && (b = -16777216); return new bl(a, b); }; c.createCircleOut = function (a, b) { null == b && (b = -16777216); return new Dj(qb.OUT, a, b); }; c.createCircleIn = function (a, b) { null == b && (b = -16777216); return new Dj(qb.IN, a, b); }; c.setBlendModeForLayer = function (a, b) { a.set_blendMode(b); a instanceof Ec && w.__cast(a, Ec).tiles.set_blendMode(b); }; c.showTileLayer = function (a) { a.set_alpha(1); }; c.hideTileLayer = function (a) { a.set_alpha(0); }; c.fadeTileLayerTo = function (a, b, d, e) { null == a.alphaTween && (a.alphaTween = new ye().doOnUpdate(function () { a.set_alpha(a.alphaTween.value); })); a.alphaTween.tween(a.get_alpha(), b, e, (1e3 * d) | 0); }; c.getTileLayerOpacity = function (a) { return 100 * a.get_alpha(); }; c.setDrawingLayer = function (a) { a instanceof Ec && (h.engine.g.graphics = a.overlay.get_graphics()); }; c.setDrawingLayerToActorLayer = function (a) { null != a && (h.engine.g.graphics = a.layer.overlay.get_graphics()); }; c.setDrawingLayerToSceneLayer = function () { h.engine.g.graphics = h.engine.transitionLayer.get_graphics(); }; c.getScreenX = function () { return h.cameraX / h.SCALE; }; c.getScreenY = function () { return h.cameraY / h.SCALE; }; c.getScreenXCenter = function () { return h.cameraX / h.SCALE + h.screenWidth / 2; }; c.getScreenYCenter = function () { return h.cameraY / h.SCALE + h.screenHeight / 2; }; c.getCamera = function () { return c.engine.camera; }; c.isCtrlDown = function () { return E.check('iCTRL') ? !0 : E.check('iCOMMAND'); }; c.isShiftDown = function () { return E.check('iSHIFT'); }; c.simulateKeyPress = function (a) { E.simulateKeyPress(a); }; c.simulateKeyRelease = function (a) { E.simulateKeyRelease(a); }; c.isKeyDown = function (a) { return E.check(a); }; c.isKeyPressed = function (a) { return E.pressed(a); }; c.isKeyReleased = function (a) { return E.released(a); }; c.isMouseDown = function () { return E.mouseDown; }; c.isMousePressed = function () { return E.mousePressed; }; c.isMouseReleased = function () { return E.mouseReleased; }; c.getMouseX = function () { return E.mouseX / h.SCALE; }; c.getMouseY = function () { return E.mouseY / h.SCALE; }; c.getMouseWorldX = function () { return E.mouseX / h.SCALE + h.cameraX; }; c.getMouseWorldY = function () { return E.mouseY / h.SCALE + h.cameraY; }; c.getMousePressedX = function () { return c.mpx; }; c.getMousePressedY = function () { return c.mpy; }; c.getMouseReleasedX = function () { return c.mrx; }; c.getMouseReleasedY = function () { return c.mry; }; c.showCursor = function () { qe.show(); }; c.hideCursor = function () { qe.hide(); }; c.charFromCharCode = function (a) { return 32 > a || (126 < a && 160 > a) ? '' : String.fromCodePoint(a); }; c.getLastCreatedActor = function () { return c.lastCreatedActor; }; c.createActor = function (a, b, d, e) { a = c.engine.createActorOfType(a, b, d, e); return (c.lastCreatedActor = a); }; c.createRecycledActor = function (a, b, d, e) { a = c.engine.getRecycledActorOfType(a, b, d, e); return (c.lastCreatedActor = a); }; c.createRecycledActorOnLayer = function (a, b, d, e) { a = c.engine.getRecycledActorOfTypeOnLayer(a, b, d, e.ID); return (c.lastCreatedActor = a); }; c.recycleActor = function (a) { c.engine.recycleActor(a); }; c.createActorInNextScene = function (a, b, d, e) { c.engine.createActorInNextScene(a, b, d, e); }; c.getActorTypeByName = function (a) { return jc.get().resourceMap.get(a); }; c.getActorType = function (a) { return jc.get().resources.get(a); }; c.getAllActorTypes = function () { return jc.get().getAllActorTypes(); }; c.getActorsOfType = function (a) { return c.engine.getActorsOfType(a); }; c.getActor = function (a) { return c.engine.getActor(a); }; c.getActorGroup = function (a) { return c.engine.getGroup(a); }; c.setGravity = function (a, b) { c.engine.gravityX = a; c.engine.gravityY = b; null != c.engine.world && c.engine.world.setGravity(new P(a, b)); }; c.getGravity = function () { return null == c.engine.world ? ((c.dummyVec.x = c.engine.gravityX), (c.dummyVec.y = c.engine.gravityY), c.dummyVec) : c.engine.world.getGravity(); }; c.enableContinuousCollisions = function () { cc.m_continuousPhysics = !0; }; c.toPhysicalUnits = function (a) { return h.toPhysicalUnits(a); }; c.toPixelUnits = function (a) { return h.toPixelUnits(a); }; c.makeActorNotPassThroughTerrain = function (a) { h.NO_PHYSICS ? null != a && 1 == a.physicsMode && (a.continuousCollision = !0) : ((cc.m_continuousPhysics = !0), null != a && 0 == a.physicsMode && a.body.setBullet(!0)); }; c.makeActorPassThroughTerrain = function (a) { if (h.NO_PHYSICS) null != a && 1 == a.physicsMode && (a.continuousCollision = !1); else if (null != a && 0 == a.physicsMode) { a.body.setBullet(!1); a = !1; for (var b = c.engine.allActors.iterator(); b.hasNext(); ) { var d = b.next(); if (null != d.body && d.body.isBullet()) { a = !0; break; } } a || (cc.m_continuousPhysics = !1); } }; c.mute = function () {}; c.unmute = function () {}; c.getSound = function (a) { return jc.get().resources.get(a); }; c.getSoundByName = function (a) { return jc.get().resourceMap.get(a); }; c.playSound = function (a) { if (null != a) for (var b = 0; 32 > b; ) { var d = b++; d = c.engine.channels[d]; if (null == d.currentSound) { d.playSound(a); d.setVolume(1); d.setPanning(0); break; } } }; c.loopSound = function (a) { if (null != a) for (var b = 0; 32 > b; ) { var d = b++; d = c.engine.channels[d]; if (null == d.currentSound) { d.loopSound(a); d.setVolume(1); d.setPanning(0); break; } } }; c.playSoundOnChannel = function (a, b) { b = c.engine.channels[b]; b.playSound(a); b.setVolume(1); b.setPanning(0); }; c.loopSoundOnChannel = function (a, b) { b = c.engine.channels[b]; b.loopSound(a); b.setVolume(1); b.setPanning(0); }; c.stopSoundOnChannel = function (a) { c.engine.channels[a].stopSound(); }; c.pauseSoundOnChannel = function (a) { c.engine.channels[a].setPause(!0); }; c.resumeSoundOnChannel = function (a) { c.engine.channels[a].setPause(!1); }; c.setVolumeForChannel = function (a, b) { c.engine.channels[b].setVolume(a); }; c.setPanningForChannel = function (a, b) { c.engine.channels[b].setPanning(a); }; c.stopAllSounds = function () { for (var a = 0; 32 > a; ) { var b = a++; c.engine.channels[b].stopSound(); } }; c.setVolumeForAllSounds = function (a) { Vb.masterVolume = a; for (a = 0; 32 > a; ) { var b = a++; b = c.engine.channels[b]; b.setVolume(b.volume); } }; c.fadeInSoundOnChannel = function (a, b) { c.engine.channels[a].fadeInSound(b); }; c.fadeOutSoundOnChannel = function (a, b) { c.engine.channels[a].fadeOutSound(b); }; c.fadeSoundOnChannel = function (a, b, d) { c.engine.channels[a].fadeSound(b, d / 100); }; c.fadeInForAllSounds = function (a) { for (var b = 0; 32 > b; ) { var d = b++; c.engine.channels[d].fadeInSound(a); } }; c.fadeOutForAllSounds = function (a) { for (var b = 0; 32 > b; ) { var d = b++; c.engine.channels[d].fadeOutSound(a); } }; c.fadeForAllSounds = function (a, b) { for (var d = 0; 32 > d; ) { var e = d++; c.engine.channels[e].fadeSound(a, b / 100); } }; c.getPositionForChannel = function (a) { a = c.engine.channels[a]; return null != a && null != a.currentSound ? a.paused ? a.position : a.currentSound.get_position() : 0; }; c.setPositionForChannel = function (a, b) { a = c.engine.channels[a]; null != a && null != a.currentSound && (a.paused ? (a.position = b) : a.looping ? a.loopSound(a.currentClip, b) : a.playSound(a.currentClip, b)); }; c.getSoundLengthForChannel = function (a) { a = c.engine.channels[a]; return null != a && null != a.currentSource ? a.currentSource.get_length() : 0; }; c.getSoundLength = function (a) { return null != a && null != a.src ? a.src.get_length() : 0; }; c.setColorBackground = function (a, b) { null == b && (b = -2); c.engine.colorLayer.get_graphics().clear(); a != Jf.TRANSPARENT && (b == Jf.TRANSPARENT ? c.engine.setColorBackground(new Jf(a)) : c.engine.setColorBackground(new vi(a, b))); }; c.setScrollSpeedForBackground = function (a, b, d) { if (null == a) { a = 0; for (var e = h.engine.backgroundLayers; a < e.length; ) { var c = e[a]; ++a; c.setScrollSpeed(b, d); } } else a instanceof Wd && w.__cast(a, Wd).setScrollSpeed(b, d); }; c.setScrollFactorForLayer = function (a, b, d) { a instanceof Wd ? w.__cast(a, Wd).setScrollFactor(b, d) : a instanceof Ec && ((a.scrollFactorX = b), (a.scrollFactorY = d)); }; c.changeBackground = function (a, b) { b = jc.get().resourceMap.get(b); null != b && a instanceof Wd && w.__cast(a, Wd).reload(b.ID); }; c.changeBackgroundImage = function (a, b) { null != b && a instanceof Wd && w.__cast(a, Wd).setImage(b); }; c.addBackground = function (a, b, d) { a = jc.get().resourceMap.get(a); b = new Wd(c.engine.getNextLayerID(), b, d, 0, 0, 1, 10, a.ID, !1); b.load(); c.engine.insertLayer(b, d); }; c.addBackgroundFromImage = function (a, b, d, e) { d = new Wd(c.engine.getNextLayerID(), d, e, 0, 0, 1, 10, -1, !1); d.loadFromImg(a, b); c.engine.insertLayer(d, e); }; c.addTileLayer = function (a, b) { var d = (c.engine.scene.sceneWidth / c.engine.scene.tileWidth) | 0, e = (c.engine.scene.sceneHeight / c.engine.scene.tileHeight) | 0, f = c.engine.getNextLayerID(); d = new me(f, c.engine.scene, d, e); d.set_name(a); a = new Ec(f, a, b, 1, 1, 1, 10, d); c.engine.insertLayer(a, b); }; c.newImage = function (a, b) { return c.imageApiAutoscale ? new la((a * h.SCALE) | 0, (b * h.SCALE) | 0, !0, 0) : new la(a, b, !0, 0); }; c.captureScreenshot = function () { var a = new la(c.getStageWidth() | 0, c.getStageHeight() | 0); a.draw(Oa.get_current().stage, null, null, null, null, ba.antialias); return a; }; c.getImageForActor = function (a) { return a.getCurrentImage(); }; c.getExternalImage = function (a) { return Da.getBitmapData('assets/data/' + a, !1); }; c.loadImageFromURL = function (a, b) { var d = new Ej(); d.contentLoaderInfo.addEventListener('complete', function (a) { a = w.__cast(w.__cast(a.currentTarget, fg).content, rc).get_bitmapData(); b(a); }); d.load(new Sg(a)); }; c.getSubImage = function (a, b, d, e, f) { c.imageApiAutoscale && ((b = (b * h.SCALE) | 0), (d = (d * h.SCALE) | 0), (e = (e * h.SCALE) | 0), (f = (f * h.SCALE) | 0)); if (null != a && 0 <= b && 0 <= d && 0 < e && 0 < f && b < a.width && d < a.height) { var g = new la(e, f); c.dummyRect.x = b; c.dummyRect.y = d; c.dummyRect.width = e; c.dummyRect.height = f; c.dummyPoint.x = 0; c.dummyPoint.y = 0; g.copyPixels(a, c.dummyRect, c.dummyPoint); return g; } return new la(1, 1); }; c.setOrderForImage = function (a, b) { null != a && null != a.parent && 0 <= b && b < a.parent.get_numChildren() && a.parent.setChildIndex(a, b); }; c.getOrderForImage = function (a) { return null != a && null != a.parent ? a.parent.getChildIndex(a) : -1; }; c.bringImageBack = function (a) { null != a && null != a.parent && c.setOrderForImage(a, a.parent.getChildIndex(a) - 1); }; c.bringImageForward = function (a) { null != a && null != a.parent && c.setOrderForImage(a, a.parent.getChildIndex(a) + 1); }; c.bringImageToBack = function (a) { null != a && null != a.parent && c.setOrderForImage(a, 0); }; c.bringImageToFront = function (a) { null != a && null != a.parent && c.setOrderForImage(a, a.parent.get_numChildren() - 1); }; c.attachImageToActor = function (a, b, d, e, f) { null == f && (f = 1); null != a && (null != a.parent && c.removeImage(a), 2 == f ? (b.addChild(a), b.setChildIndex(a, 0)) : b.addChild(a), (a.cacheParentAnchor = b.cacheAnchor), a.set_imgX(d), a.set_imgY(e), a.set_smoothing(ba.antialias), b.attachedImages.push(a)); }; c.attachImageToHUD = function (a, b, d) { null != a && (null != a.parent && c.removeImage(a), c.engine.hudLayer.addChild(a), c.engine.hudLayer.attachedImages.push(a), a.set_imgX(b), a.set_imgY(d), a.set_smoothing(ba.antialias)); }; c.attachImageToLayer = function (a, b, d, e, f) { null == f && (f = 1); null != a && (null != a.parent && c.removeImage(a), 2 == f ? b.addChildAt(a, 0) : b.addChild(a), -1 == b.attachedImages.indexOf(a) && b.attachedImages.push(a), a.set_imgX(d), a.set_imgY(e), a.set_smoothing(ba.antialias)); }; c.removeImage = function (a) { null != a && (a.parent instanceof vb ? C.remove(w.__cast(a.parent, vb).attachedImages, a) : a.parent instanceof Ec && C.remove(w.__cast(a.parent, Ec).attachedImages, a), a.parent.removeChild(a)); }; c.resizeImage = function (a, b, d, e) { null == e && (e = !0); null == d && (d = 1); null == b && (b = 1); var c = new Ia(); c.scale(b, d); b = new la((a.width * b) | 0, (a.height * d) | 0, !0, 0); b.draw(a, c, null, null, null, e); return b; }; c.drawImageOnImage = function (a, b, d, e, f) { c.imageApiAutoscale && ((d = (d * h.SCALE) | 0), (e = (e * h.SCALE) | 0)); if (null != a && null != b) if (((c.dummyPoint.x = d), (c.dummyPoint.y = e), 10 == f)) b.copyPixels(a, a.rect, c.dummyPoint, null, null, !0); else { var g = new Ia(); g.identity(); g.translate(d, e); b.draw(a, g, null, f); } }; c.drawTextOnImage = function (a, b, d, e, f) { c.imageApiAutoscale && ((d = (d * h.SCALE) | 0), (e = (e * h.SCALE) | 0)); null != a && f.font.renderToImg(a, b, 0, 1, d, e, f.letterSpacing, f.fontScale, 0, !1); }; c.clearImagePartially = function (a, b, d, e, f) { c.imageApiAutoscale && ((b = (b * h.SCALE) | 0), (d = (d * h.SCALE) | 0), (e = (e * h.SCALE) | 0), (f = (f * h.SCALE) | 0)); null != a && ((c.dummyRect.x = b), (c.dummyRect.y = d), (c.dummyRect.width = e), (c.dummyRect.height = f), a.fillRect(c.dummyRect, 0)); }; c.clearImage = function (a) { null != a && a.fillRect(a.rect, 0); }; c.clearImageUsingMask = function (a, b, d, e) { c.imageApiAutoscale && ((d = (d * h.SCALE) | 0), (e = (e * h.SCALE) | 0)); var f = b.width, g = b.height, l = 0, q = 0; 0 > d ? ((f = d > a.width - f ? a.width : f + d), (l -= d), (d = 0)) : d > a.width - f && ((f -= d - (a.width - f)), (d = a.width - f)); 0 > e ? ((g = e > a.height - g ? a.height : g + e), (q -= e), (e = 0)) : e > a.height - g && ((g -= e - (a.height - g)), (e = a.height - g)); if (!(0 >= f || 0 >= g)) { l = new ea(l, q, f, g); b = b.getPixels(l); d = new ea(d, e, f, g); e = a.getPixels(d); l = 0; for (f *= g; l < f; ) { g = l++; b.position = 4 * g; e.position = 4 * g; q = b.readUnsignedByte(); var y = e.readUnsignedByte(); q = ((256 - q) * y) >> 8; e.position = 4 * g; e.writeByte(q); } b.position = 0; e.position = 0; a.setPixels(d, e); } }; c.retainImageUsingMask = function (a, b, d, e) { c.imageApiAutoscale && ((d = (d * h.SCALE) | 0), (e = (e * h.SCALE) | 0)); c.dummyPoint.x = d; c.dummyPoint.y = e; a.copyChannel(b, b.rect, c.dummyPoint, 8, 8); }; c.fillImage = function (a, b) { null != a && a.fillRect(a.rect, -16777216 | b); }; c.filterImage = function (a, b) { null != a && ((c.dummyPoint.x = 0), (c.dummyPoint.y = 0), a.applyFilter(a, a.rect, c.dummyPoint, b)); }; c.imageSetPixel = function (a, b, d, e) { if (null != a) if (c.imageApiAutoscale && 1 != h.SCALE) { var f = ((b + 1) * h.SCALE) | 0, g = ((d + 1) * h.SCALE) | 0; b = (b * h.SCALE) | 0; for (d = (d * h.SCALE) | 0; b < f; ) for (var l = b++, q = d, y = g; q < y; ) { var r = q++; a.setPixel32(l, r, e | -16777216); } } else a.setPixel32(b, d, e | -16777216); }; c.imageGetPixel = function (a, b, d) { return null != a ? (c.imageApiAutoscale && ((b = (b * h.SCALE) | 0), (d = (d * h.SCALE) | 0)), a.getPixel(b, d)) : 0; }; c.imageSwapColor = function (a, b, d) { null != a && ((c.dummyPoint.x = 0), (c.dummyPoint.y = 0), a.threshold(a, a.rect, c.dummyPoint, '==', -16777216 | b, -16777216 | d, -1, !0)); }; c.flipImageHorizontal = function (a) { var b = new Ia(); b.scale(-1, 1); b.translate(a.width, 0); var d = new la(a.width, a.height, !0, 0); d.draw(a, b); c.dummyPoint.x = 0; c.dummyPoint.y = 0; a.copyPixels(d, d.rect, c.dummyPoint); }; c.flipImageVertical = function (a) { var b = new Ia(); b.scale(1, -1); b.translate(0, a.height); var d = new la(a.width, a.height, !0, 0); d.draw(a, b); c.dummyPoint.x = 0; c.dummyPoint.y = 0; a.copyPixels(d, d.rect, c.dummyPoint); }; c.setXForImage = function (a, b) { null != a && a.set_imgX(b); }; c.setYForImage = function (a, b) { null != a && a.set_imgY(b); }; c.fadeImageTo = function (a, b, d, e) { null == d && (d = 1); a.get_tweenProps().alpha.tween(a.get_alpha(), b, e, (1e3 * d) | 0); }; c.setOriginForImage = function (a, b, d) { a.setOrigin(b, d); }; c.growImageTo = function (a, b, d, e, c) { null == e && (e = 1); null == d && (d = 1); null == b && (b = 1); a.get_tweenProps().scaleXY.tween(a.get_scaleX(), b, a.get_scaleY(), d, c, (1e3 * e) | 0); }; c.spinImageTo = function (a, b, d, e) { null == d && (d = 1); a.get_tweenProps().angle.tween(a.get_rotation(), b, e, (1e3 * d) | 0); }; c.moveImageTo = function (a, b, d, e, c) { null == e && (e = 1); a.get_tweenProps().xy.tween(a.get_imgX(), b, a.get_imgY(), d, c, (1e3 * e) | 0); }; c.spinImageBy = function (a, b, d, e) { null == d && (d = 1); c.spinImageTo(a, a.get_rotation() + b, d, e); }; c.moveImageBy = function (a, b, d, e, f) { null == e && (e = 1); c.moveImageTo(a, a.get_imgX() + b, a.get_imgY() + d, e, f); }; c.setFilterForImage = function (a, b) { null != a && a.img.set_filters(a.get_filters().concat([b])); }; c.clearFiltersForImage = function (a) { null != a && a.img.set_filters([]); }; c.imageToText = function (a) { var b = a.getPixels(a.rect); return a.width + ';' + a.height + ';' + c.toBase64(fb.ofData(Bb.toArrayBuffer(b))); }; c.imageFromText = function (a) { var b = a.split(';'); a = z.parseInt(b[0]); var d = z.parseInt(b[1]), e = c.fromBase64(b[2]); b = new nc(0); for (var f = 0, g = e.length; f < g; ) { var l = f++; b.writeByte(e.b[l]); } b.position = 0; b.__endian = 0; a = new la(a, d, !0, 0); a.setPixels(a.rect, b); return a; }; c.toBase64 = function (a) { var b = fb.ofString('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'); a = new Fj(b).encodeBytes(a).toString(); b = a.length % 4; 1 < b && (a += '='); 2 == b && (a += '='); return a; }; c.fromBase64 = function (a) { var b = -1; '=' == a.charAt(a.length - 2) ? (b = 2) : '=' == a.charAt(a.length - 1) && (b = 1); -1 != b && (a = C.substr(a, 0, a.length - b)); b = fb.ofString('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'); return new Fj(b).decodeBytes(fb.ofString(a)); }; c.startShakingScreen = function (a, b) { null == b && (b = 0.5); null == a && (a = 0.05); c.engine.shakeScreen(a, b); }; c.stopShakingScreen = function () { c.engine.stopShakingScreen(); }; c.getTopLayer = function () { return c.engine.getTopLayer(); }; c.getBottomLayer = function () { return c.engine.getBottomLayer(); }; c.getMiddleLayer = function () { return c.engine.getMiddleLayer(); }; c.getTileLayerAt = function (a) { return null != a && a instanceof Ec ? w.__cast(a, Ec).tiles : null; }; c.getTilesetIDByName = function (a) { a = jc.get().resourceMap.get(a); return a instanceof qf ? a.ID : -1; }; c.setTileAt = function (a, b, d, e, f) { if (null != d && d instanceof Ec) { c.removeTileAt(a, b, d); var g = w.__cast(d, Ec).tiles; e = jc.get().resources.get(e).tiles[f]; g.setTileAt(a, b, e); null == e || null == e.pixels || W.contains(c.engine.animatedTiles, e) || (1 < e.durations.length && c.engine.animatedTiles.push(e)); if (null != e && -1 != e.collisionID) { e = ra.get().shapes.h[e.collisionID]; g = e.getVertices(); e = e.getVertexCount(); g = Eb.asArray(g, e); e = 0; for (f = g.getVertices(); e < f.length; ) { var l = f[e]; ++e; l.x *= c.engine.scene.tileWidth / 32; l.y *= c.engine.scene.tileHeight / 32; } e = b * c.engine.scene.tileWidth; f = a * c.engine.scene.tileHeight; h.NO_PHYSICS || null == g ? null != g && c.getTileLayerAt(d).grid.setTile(b, a) : c.createDynamicTile( g, e, f, d.ID, c.engine.scene.tileWidth, c.engine.scene.tileHeight ); } c.engine.tileUpdated = !0; } }; c.tileExistsAt = function (a, b, d) { return null != c.getTileAt(a, b, d); }; c.tileCollisionAt = function (a, b, d) { if (null == d) { d = 0; for (var e = c.engine.interactiveLayers; d < e.length; ) { var f = e[d]; ++d; f = f.tiles.getTileAt(a, b); if (null != f && -1 != f.collisionID) return !0; } return !1; } f = c.getTileAt(a, b, d); return null == f || -1 == f.collisionID ? !1 : !0; }; c.getTilePosition = function (a, b) { var d = c.engine.scene.tileHeight, e = c.engine.scene.tileWidth; return 0 == a ? Math.floor(b / e) : Math.floor(b / d); }; c.getTileIDAt = function (a, b, d) { a = c.getTileAt(a, b, d); return null == a ? -1 : a.tileID; }; c.getTileColIDAt = function (a, b, d) { a = c.getTileAt(a, b, d); return null == a ? -1 : a.collisionID; }; c.getTileDataAt = function (a, b, d) { a = c.getTileAt(a, b, d); return null == a ? '' : a.metadata; }; c.getTilesetIDAt = function (a, b, d) { a = c.getTileAt(a, b, d); return null == a ? -1 : a.parent.ID; }; c.getTileAt = function (a, b, d) { d = c.getTileLayerAt(d); return null == d ? null : d.getTileAt(a, b); }; c.removeTileAt = function (a, b, d) { if (null != d && d instanceof Ec) { var e = w.__cast(d, Ec).tiles, f = c.getTileAt(a, b, d); null != f && (h.NO_PHYSICS || -1 == f.collisionID ? -1 != f.collisionID && ((d = b), (f = a), null == f && (f = 0), null == d && (d = 0), e.grid.setTile(d, f, !1)) : ((d = 'ID-' + b * c.engine.scene.tileWidth + '-' + a * c.engine.scene.tileHeight + '-' + d.ID), (f = c.engine.dynamicTiles.h[d]), null != f && (c.engine.removeActor(f), (f = c.engine.dynamicTiles), Object.prototype.hasOwnProperty.call(f.h, d) && delete f.h[d])), e.setTileAt(a, b, null), (c.engine.tileUpdated = !0)); } }; c.getTileForCollision = function (a, b) { if (a.thisCollidedWithTile || a.otherCollidedWithTile) { var d = Math.round(h.toPixelUnits(b.normalX)), e = Math.round(h.toPixelUnits(b.normalY)), f = Math.round(h.toPixelUnits(b.x)); b = Math.round(h.toPixelUnits(b.y)); a.thisCollidedWithTile && ((d = -d), (e = -e)); 0 > d && 0 == f % c.engine.scene.tileWidth && --f; 0 > e && 0 == b % c.engine.scene.tileHeight && --b; f = c.getTilePosition(0, f); b = c.getTilePosition(1, b); a = 0; for (d = c.engine.interactiveLayers; a < d.length; ) if (((e = d[a]), ++a, (e = e.tiles.getTileAt(b, f)), null != e && -1 != e.collisionID)) return e; } return null; }; c.getTileDataForCollision = function (a, b) { a = c.getTileForCollision(a, b); return null != a ? a.metadata : ''; }; c.getTilePositionForCollision = function (a, b, d) { if (b.thisCollidedWithTile || b.otherCollidedWithTile) { var e = Math.round(h.toPixelUnits(d.normalX)), f = Math.round(h.toPixelUnits(d.normalY)), g = Math.round(h.toPixelUnits(d.x)); d = Math.round(h.toPixelUnits(d.y)); b.thisCollidedWithTile && ((e = -e), (f = -f)); 0 > e && 0 == g % c.engine.scene.tileWidth && --g; 0 > f && 0 == d % c.engine.scene.tileHeight && --d; g = c.getTilePosition(0, g); d = c.getTilePosition(1, d); return 0 == a ? g : d; } return -1; }; c.createDynamicTile = function (a, b, d, e, f, g) { a = new vb( c.engine, 1e8, 1, b, d, e, f, g, null, null, null, null, !1, !0, !1, !1, a, !1, !1 ); a.set_name('Terrain'); a.set_visible(!1); c.engine.dynamicTiles.h['ID-' + b + '-' + d + '-' + e] = a; }; c.getFont = function (a) { return jc.get().resources.get(a); }; c.pause = function () { c.engine.pause(); }; c.unpause = function () { c.engine.unpause(); }; c.toggleFullScreen = function () { h.engine.toggleFullScreen(); }; c.pauseAll = function () { h.paused = !0; }; c.unpauseAll = function () { h.paused = !1; }; c.getScreenWidth = function () { return h.screenWidth; }; c.getScreenHeight = function () { return h.screenHeight; }; c.getStageWidth = function () { return h.stage.stageWidth; }; c.getStageHeight = function () { return h.stage.stageHeight; }; c.setOffscreenTolerance = function (a, b, d, e) { h.paddingTop = a; h.paddingLeft = b; h.paddingBottom = d; h.paddingRight = e; }; c.isTransitioning = function () { return c.engine.isTransitioning(); }; c.setTimeScale = function (a) { h.timeScale = a; }; c.randomFloat = function () { return Math.random(); }; c.randomFloatBetween = function (a, b) { return a <= b ? a + Math.random() * (b - a) : b + Math.random() * (a - b); }; c.randomInt = function (a, b) { return a <= b ? a + Math.floor(Math.random() * (b - a + 1)) : b + Math.floor(Math.random() * (a - b + 1)); }; c.saveGame = function (a, b) { a = ld.getLocal(a, vd.current.meta.h.localSavePath); for (var d = Object.keys(c.engine.gameAttributes.h), e = d.length, f = 0; f < e; ) { var g = d[f++]; 0 != c.engine.savableAttributes.h[g] && W.saveToSharedObject(a, g, c.engine.gameAttributes.h[g]); } W.flushSharedObject(a, b); }; c.loadGame = function (a, b) { a = ld.getLocal(a, vd.current.meta.h.localSavePath); for (var d = 0, e = aa.fields(a.data); d < e.length; ) { var f = e[d]; ++d; var g = c.engine.gameAttributes, l = W.loadFromSharedObject(a, f); g.h[f] = l; } null != b && b(!0); }; c.saveData = function (a, b, d, e) { a = ld.getLocal(a, vd.current.meta.h.localSavePath); W.saveToSharedObject(a, b, d); W.flushSharedObject(a, e); }; c.loadData = function (a, b, d) { a = ld.getLocal(a, vd.current.meta.h.localSavePath); b = W.loadFromSharedObject(a, b); null != d && d(!0); return b; }; c.checkData = function (a, b) { a = ld.getLocal(a, vd.current.meta.h.localSavePath); return null != aa.field(a.data, b); }; c.defaultURLHandler = function (a) { new rh(a.target); }; c.openURLInBrowser = function (a) { Oa.getURL(new Sg(a)); }; c.visitURL = function (a, b) { null == b && (b = c.defaultURLHandler); try { var d = new Sg(a); d.method = 'GET'; new rh(d).addEventListener('complete', b); } catch (e) { if (((ka.lastError = e), 'string' != typeof J.caught(e).unwrap())) throw e; } }; c.postToURL = function (a, b, d) { null == d && (d = c.defaultURLHandler); a = new Sg(a); a.method = 'POST'; null != b && (a.data = Dz._new(b)); try { var e = new rh(a); e.addEventListener('complete', d); c.runLater(500, function (a) { e.close(); }); } catch (f) { if (((ka.lastError = f), 'string' != typeof J.caught(f).unwrap())) throw f; } }; c.convertToPseudoUnicode = function (a) { var b = ''; try { for (var d = 0, e = 0, c = a.length; e < c; ) { d = e; var g = a.charCodeAt(e); e += 55296 <= g && 56319 >= g ? 2 : 1; var l = gg.codePointAt(a, d), q = l; if (128 > q) { var y = 65535 >= l ? String.fromCodePoint(l) : String.fromCodePoint((l >> 10) + 55232) + String.fromCodePoint((l & 1023) | 56320); b += y; } else b += '~x' + T.hex(q, 4); } } catch (r) { return (ka.lastError = r), a; } return b; }; c.simpleTweet = function (a, b) { c.openURLInBrowser('http://twitter.com/home?status=' + encodeURIComponent(a + ' ' + b)); }; c.newgroundsShowAd = function () {}; c.newgroundsSetMedalPosition = function (a, b) {}; c.newgroundsUnlockMedal = function (a) {}; c.newgroundsSubmitScore = function (a, b) {}; c.newgroundsShowScore = function (a) {}; c.newgroundsHelper = function (a) {}; c.kongregateInitAPI = function () {}; c.kongregateSubmitStat = function (a, b) {}; c.kongregateIsGuest = function () { return !0; }; c.kongregateGetUsername = function () { return 'Guest'; }; c.kongregateGetUserID = function () { return 0; }; c.loadAtlas = function (a) { c.engine.atlasesToLoad.h[a] = a; }; c.unloadAtlas = function (a) { c.engine.atlasesToUnload.h[a] = a; }; c.atlasIsLoaded = function (a) { a = ra.get().atlases.h[a]; return null != a ? a.active : !1; }; c.initGooglePlayGames = function () {}; c.stopGooglePlayGames = function () {}; c.getGPGConnectionInfo = function (a) { return !1; }; c.showGPGAchievements = function () {}; c.showGPGLeaderboards = function () {}; c.showGPGLeaderboard = function (a) {}; c.showGPGQuests = function () {}; c.unlockGPGAchievement = function (a) {}; c.incrementGPGAchievement = function (a, b) {}; c.submitGPGScore = function (a, b) {}; c.updateGPGEvent = function (a, b) {}; c.getCompletedGPGQuests = function () { return []; }; c.gameCenterInitialize = function () {}; c.gameCenterIsAuthenticated = function () { return !1; }; c.gameCenterGetPlayerName = function () { return 'None'; }; c.gameCenterGetPlayerID = function () { return 'None'; }; c.gameCenterShowLeaderboard = function (a) {}; c.gameCenterShowAchievements = function () {}; c.gameCenterSubmitScore = function (a, b) {}; c.gameCenterSubmitAchievement = function (a, b) {}; c.gameCenterResetAchievements = function () {}; c.gameCenterShowBanner = function (a, b) {}; c.purchasesAreInitialized = function () { return !1; }; c.purchasesRestore = function () {}; c.purchasesBuy = function (a) {}; c.purchasesHasBought = function (a) { return !1; }; c.purchasesGetTitle = function (a) { return ''; }; c.purchasesGetDescription = function (a) { return ''; }; c.purchasesGetPrice = function (a) { return ''; }; c.purchasesRequestProductInfo = function (a) {}; c.purchasesUse = function (a) {}; c.purchasesGetQuantity = function (a) { return 0; }; c.showAlert = function (a, b) {}; c.vibrate = function (a) {}; c.showKeyboard = function () {}; c.hideKeyboard = function () {}; c.setKeyboardText = function (a) {}; c.setIconBadgeNumber = function (a) {}; c.enableDebugDrawing = function () { h.DEBUG_DRAW = !0; h.NO_PHYSICS || h.debugDrawer.m_sprite.get_graphics().clear(); }; c.disableDebugDrawing = function () { h.DEBUG_DRAW = !1; h.NO_PHYSICS || h.debugDrawer.m_sprite.get_graphics().clear(); }; c.gameURL = function () { return ''; }; c.exitGame = function () {}; c.createGrayscaleFilter = function () { var a = []; a = a.concat([0.5, 0.5, 0.5, 0, 0]); a = a.concat([0.5, 0.5, 0.5, 0, 0]); a = a.concat([0.5, 0.5, 0.5, 0, 0]); a = a.concat([0, 0, 0, 1, 0]); return new hg(a); }; c.createSepiaFilter = function () { var a = []; a = a.concat([0.34, 0.33, 0.33, 0, 30]); a = a.concat([0.33, 0.34, 0.33, 0, 20]); a = a.concat([0.33, 0.33, 0.34, 0, 0]); a = a.concat([0, 0, 0, 1, 0]); return new hg(a); }; c.createNegativeFilter = function () { var a = []; a = a.concat([-1, 0, 0, 0, 255]); a = a.concat([0, -1, 0, 0, 255]); a = a.concat([0, 0, -1, 0, 255]); a = a.concat([0, 0, 0, 1, 0]); return new hg(a); }; c.createTintFilter = function (a, b) { null == b && (b = 1); var d = new Za(); d.colorize(a, b); return d.getFilter(); }; c.createHueFilter = function (a) { var b = new Za(); b.adjustHue(a); b.adjustSaturation(1); return b.getFilter(); }; c.createSaturationFilter = function (a) { var b = new Za(); b.adjustSaturation(a / 100); return b.getFilter(); }; c.createBrightnessFilter = function (a) { var b = new Za(); b.adjustBrightness(a / 100); return b.getFilter(); }; c.prototype = { wrapper: null, propertyChangeEvents: null, equalityPairs: null, checkProperties: null, nameMap: null, attributeTweens: null, scriptInit: null, toInternalName: function (a) { if (null == this.nameMap) return a; var b = this.nameMap.h[a]; return null == b ? a : b; }, forwardMessage: function (a) {}, clearListeners: function () { this.propertyChangeEvents = new qa(); }, internalGetGroup: function (a, b, d) { if (h.NO_PHYSICS) return ( (b = w.__cast(d, uc)), a == b.actorA ? c.engine.getGroup(b.groupA) : c.engine.getGroup(b.groupB) ); b = w.__cast(b, Gf); if (null == b) return w.__cast(a, vb).getGroup(); a = b.groupID; return -1e3 == a && ((b = b.getBody()), null != b) ? c.engine.getGroup(b.getUserData().groupID) : c.engine.getGroup(a); }, init: function () {}, addMobileKeyboardListener: function (a, b) { a = new wi(ed.TYPE_KEYBOARD, a, b); c.engine.nativeListeners.push(a); }, addMobileAdListener: function (a, b) { a = new wi(ed.TYPE_ADS, a, b); c.engine.nativeListeners.push(a); }, addGameCenterListener: function (a, b) { a = new wi(ed.TYPE_GAMECENTER, a, b); c.engine.nativeListeners.push(a); }, addPurchaseListener: function (a, b) { a = new wi(ed.TYPE_PURCHASES, a, b); c.engine.nativeListeners.push(a); }, addListener: function (a, b) { a.add(b); this instanceof n && w.__cast(this, n).actor.registerListener(a, b); }, addListenerWithKey: function (a, b, d) { a.exists(b) || a.set(b, new Fc()); a = a.get(b); a.add(d); this instanceof n && w.__cast(this, n).actor.registerListener(a, d); }, addListenerWithKey2: function (a, b, d, e) { if (!a.h.hasOwnProperty(b)) { var c = new Ya(); a.h[b] = c; } if (!a.h[b].h.hasOwnProperty(d)) { var g = a.h[b]; c = new Fc(); g.h[d] = c; } a = a.h[b].h[d]; a.add(e); this instanceof n && w.__cast(this, n).actor.registerListener(a, e); }, addWhenCreatedListener: function (a, b) { null != a && this.addListener(a.whenCreated, function () { b(null); }); }, addWhenKilledListener: function (a, b) { null != a && this.addListener(a.whenKilled, function () { b(null); }); }, addWhenUpdatedListener: function (a, b) { var d = this instanceof n; null == a && d && (a = w.__cast(this, n).actor); null != a ? ((d = function (a) { b(a, null); }), this.addListener(a.whenUpdated, d)) : ((d = function (a) { b(a, null); }), this.addListener(c.engine.whenUpdated, d)); }, addWhenDrawingListener: function (a, b) { var d = this instanceof n; null == a && d && (a = w.__cast(this, n).actor); null != a ? ((d = function (a, d, c) { b(a, d, c, null); }), this.addListener(a.whenDrawing, d)) : ((d = function (a, d, c) { b(a, d, c, null); }), this.addListener(c.engine.whenDrawing, d)); }, addActorEntersRegionListener: function (a, b) { null != a && this.addListener(a.whenActorEntered, function (a) { b(a, null); }); }, addActorExitsRegionListener: function (a, b) { null != a && this.addListener(a.whenActorExited, function (a) { b(a, null); }); }, addActorPositionListener: function (a, b) { null != a && this.addListener(a.whenPositionStateChanged, function (a, e, c, g) { b(a, e, c, g, null); }); }, addActorTypeGroupPositionListener: function (a, b) { this.addListenerWithKey( c.engine.whenTypeGroupPositionStateChangedEvents, a, function (a, e, c, g, l) { b(a, e, c, g, l, null); } ); }, addSwipeListener: function (a) { this.addListener(c.engine.whenSwiped, function () { a(null); }); }, addMultiTouchStartListener: function (a) { this.addListener(c.engine.whenMTStarted, function (b) { a(b, null); }); }, addMultiTouchMoveListener: function (a) { this.addListener(c.engine.whenMTDragged, function (b) { a(b, null); }); }, addMultiTouchEndListener: function (a) { this.addListener(c.engine.whenMTEnded, function (b) { a(b, null); }); }, addKeyStateListener: function (a, b) { this.addListener(c.engine.whenKeyPressedEvents.getOrCreateEvent(a), function (a, e) { b(a, e, null); }); }, addAnyKeyPressedListener: function (a) { this.addListener(c.engine.whenAnyKeyPressed, function (b) { a(b, null); }); }, addAnyKeyReleasedListener: function (a) { this.addListener(c.engine.whenAnyKeyReleased, function (b) { a(b, null); }); }, addAnyGamepadPressedListener: function (a) { this.addListener(c.engine.whenAnyGamepadPressed, function (b) { a(b, null); }); }, addAnyGamepadReleasedListener: function (a) { this.addListener(c.engine.whenAnyGamepadReleased, function (b) { a(b, null); }); }, addMousePressedListener: function (a) { this.addListener(c.engine.whenMousePressed, function () { a(null); }); }, addMouseReleasedListener: function (a) { this.addListener(c.engine.whenMouseReleased, function () { a(null); }); }, addMouseMovedListener: function (a) { this.addListener(c.engine.whenMouseMoved, function () { a(null); }); }, addMouseDraggedListener: function (a) { this.addListener(c.engine.whenMouseDragged, function () { a(null); }); }, addMouseOverActorListener: function (a, b) { null != a && this.addListener(a.whenMousedOver, function (a) { b(a, null); }); }, addPropertyChangeListener: function (a, b, d) { var e = function () { d(null, null); }; this.addListenerWithKey(this.propertyChangeEvents, a, e); null != b && this.addListenerWithKey(this.propertyChangeEvents, b, e); this.checkProperties = !0; }, propertyChanged: function (a) { if ( this.checkProperties && ((a = this.propertyChangeEvents.h[a]), null != a && 0 < a.length) ) for (a._dispatchIndex = 0; a._dispatchIndex < a.length; ) { try { a.listeners[a._dispatchIndex](); } catch (b) { if (((ka.lastError = b), 'string' != typeof J.caught(b).unwrap())) throw b; } ++a._dispatchIndex; } }, addCollisionListener: function (a, b) { null != a && this.addListener(a.whenCollided, function (a) { b(a, null); }); }, addSceneCollisionListener: function (a, b, d) { this.addListenerWithKey2(c.engine.whenCollidedEvents, a, b, function (a) { d(a, null); }); }, addWhenTypeGroupCreatedListener: function (a, b) { this.addListenerWithKey(c.engine.whenTypeGroupCreatedEvents, a, function (a) { b(a, null); }); }, addWhenTypeGroupKilledListener: function (a, b) { this.addListenerWithKey(c.engine.whenTypeGroupKilledEvents, a, function (a) { b(a, null); }); }, addSoundListener: function (a, b) { a instanceof Oh ? this.addListenerWithKey(c.engine.whenSoundEndedEvents, a, function () { b(null); }) : this.addListenerWithKey(c.engine.whenChannelEndedEvents, a, function () { b(null); }); }, addFocusChangeListener: function (a) { this.addListener(c.engine.whenFocusChanged, function (b) { a(b, null); }); }, addPauseListener: function (a) { this.addListener(c.engine.whenPaused, function (b) { a(b, null); }); }, addFullscreenListener: function (a) { this.addListener(c.engine.whenFullscreenChanged, function () { a(null); }); }, addGameScaleListener: function (a) { this.addListener(c.engine.whenGameScaleChanged, function () { a(null); }); }, addScreenSizeListener: function (a) { this.addListener(c.engine.whenScreenSizeChanged, function () { a(null); }); }, disableThisBehavior: function () { c.engine.behaviors.disableBehavior(this.wrapper.name); }, tweenNumber: function (a, b, d, e) { null == d && (d = 1); var c = this, g = this.attributeTweens.h[a]; null == g && ((g = new ye()), g.doOnUpdate(function () { c[a] = g.value; }), (this.attributeTweens.h[a] = g)); g.tween(aa.field(this, a), b, e, (1e3 * d) | 0); }, abortTweenNumber: function (a) { a = this.attributeTweens.h[a]; null != a && kb.cancel(a); }, pauseTweens: function () { for (var a = this.attributeTweens.h, b = Object.keys(a), d = b.length, e = 0; e < d; ) a[b[e++]].paused = !0; }, unpauseTweens: function () { for (var a = this.attributeTweens.h, b = Object.keys(a), d = b.length, e = 0; e < d; ) a[b[e++]].paused = !1; }, __class__: c }; var n = function (a) { c.call(this); this.actor = a; }; k['com.stencyl.behavior.ActorScript'] = n; n.__name__ = 'com.stencyl.behavior.ActorScript'; n.__super__ = c; n.prototype = t(c.prototype, { actor: null, getValue: function (a, b) { return this.actor.getValue(a, b); }, setValue: function (a, b, d) { this.actor.setValue(a, b, d); }, shout: function (a, b) { return this.actor.shout(a, b); }, disableThisBehavior: function () { this.actor.disableBehavior(this.wrapper.name); }, __class__: n }); var ui = function (a, b, d, e, c, g, l) { this.ID = a; this.fieldName = b; this.fullName = d; this.type = c; this.value = e; this.realValue = null; this.hidden = l; }; k['com.stencyl.behavior.Attribute'] = ui; ui.__name__ = 'com.stencyl.behavior.Attribute'; ui.prototype = { ID: null, fieldName: null, fullName: null, type: null, defaultValue: null, value: null, realValue: null, hidden: null, getRealValue: function () { null == this.realValue && ('int' == this.type ? (this.realValue = this.value) : 'float' == this.type || 'number' == this.type ? (this.realValue = this.value) : 'bool' == this.type || 'boolean' == this.type ? (this.realValue = this.value) : 'color' == this.type ? (this.realValue = this.value) : 'sound' == this.type || 'actortype' == this.type || 'font' == this.type ? ((this.realValue = -1 == this.value ? null : jc.get().resources.get(this.value)), 'font' != this.type || this.realValue instanceof Af || (this.realValue = null), 'sound' != this.type || this.realValue instanceof Oh || (this.realValue = null), 'actortype' != this.type || this.realValue instanceof cg || (this.realValue = null)) : 'actorgroup' == this.type ? (this.realValue = this.value) : 'control' == this.type ? (this.realValue = this.value) : 'animation' == this.type ? (this.realValue = this.value) : 'game-attribute' == this.type ? (this.realValue = this.value) : 'scene' == this.type ? (this.realValue = ra.get().scenes.h[this.value]) : 'text' == this.type ? (this.realValue = this.value) : 'list' == this.type ? ((this.realValue = this.value), null == this.value && (this.realValue = [])) : 'map' == this.type ? ((this.realValue = this.value), null == this.value && (this.realValue = new qa())) : null != this.value && 'actor' == this.type ? (this.realValue = this.value) : null != this.value && 'joint' == this.type ? (this.realValue = this.value) : null != this.value && 'region' == this.type && (this.realValue = this.value)); return this.realValue; }, __class__: ui }; var Wk = function (a, b, d, e, c, g, l, q, y, r) { this.isEvent = r; this.parent = a; this.engine = b; this.classname = c; if (null != b) try { this.cls = k[c]; } catch (pf) { if (((ka.lastError = pf), 'string' != typeof J.caught(pf).unwrap())) throw pf; } this.enabled = g; this.drawable = l; this.ID = d; this.name = e; this.type = y; this.attributes = q; }; k['com.stencyl.behavior.Behavior'] = Wk; Wk.__name__ = 'com.stencyl.behavior.Behavior'; Wk.prototype = { parent: null, engine: null, enabled: null, drawable: null, isEvent: null, ID: null, name: null, type: null, classname: null, cls: null, script: null, attributes: null, initScript: function (a) { null == a && (a = !1); if (null == this.cls) this.script = new fa(); else { if ('actor' == this.type) { if (w.getClass(this.parent) == h) { this.script = new fa(); return; } this.script = ma.createInstance(this.cls, [0, this.parent, null]); } else { if (w.getClass(this.parent) == vb) { this.script = new fa(); return; } this.script = ma.createInstance(this.cls, [0, null]); } this.script.wrapper = this; this.initAttributes(); if (!a) try { this.script.init(), (this.script.scriptInit = !0); } catch (b) { if (((ka.lastError = b), 'string' != typeof J.caught(b).unwrap())) throw b; } } }, initAttributes: function () { for (var a = this.attributes.h, b = Object.keys(a), d = b.length, e = 0; e < d; ) { var c = a[b[e++]]; try { if ( !( c.hidden || ('actor' == c.type && 'actor' == c.fieldName && this.script instanceof n) ) ) { var g = this.script.toInternalName(c.fieldName); if ('actor' == c.type || 'joint' == c.type || 'region' == c.type) { var l = c.getRealValue(); 'actor' == c.type ? (this.script[g] = this.engine.getActor(l)) : 'joint' != c.type && 'region' == c.type && (this.script[g] = this.engine.getRegion(l)); } else if ('actorgroup' == c.type) { var q = c.getRealValue(); this.script[g] = this.engine.getGroup(q); } else { var y = c.getRealValue(); if ('list' == c.type) { c = null; if (null != y) { c = w.__cast(y, Array); for (var r = [], h = 0; h < c.length; ) { var p = c[h]; ++h; r.push(p); } c = r; } else c = []; this.script[g] = c; } else if ('map' == c.type) { c = null; if (null != y) { r = y; c = new qa(); for (var k = r.keys(); k.hasNext(); ) { var u = k.next(), m = r.get(u); c.h[u] = m; } } else c = new qa(); this.script[g] = c; } else this.script[g] = y; } } } catch (vz) { if (((ka.lastError = vz), 'string' != typeof J.caught(vz).unwrap())) throw vz; } } }, __class__: Wk }; var Gj = function (a, b) { this.behaviorID = a; this.values = b; this.enabled = !0; }; k['com.stencyl.behavior.BehaviorInstance'] = Gj; Gj.__name__ = 'com.stencyl.behavior.BehaviorInstance'; Gj.prototype = { behaviorID: null, values: null, enabled: null, __class__: Gj }; var yj = function () { this.behaviors = []; this.cache = new qa(); }; k['com.stencyl.behavior.BehaviorManager'] = yj; yj.__name__ = 'com.stencyl.behavior.BehaviorManager'; yj.prototype = { behaviors: null, cache: null, destroy: function () { this.cache = this.behaviors = null; }, add: function (a) { this.cache.h[a.name] = a; this.behaviors.push(a); }, hasBehavior: function (a) { return null == this.cache ? !1 : null != this.cache.h[a]; }, enableBehavior: function (a) { if (this.hasBehavior(a)) { a = this.cache.h[a]; if (null != a.script && !a.script.scriptInit) try { a.script.init(), (a.script.scriptInit = !0); } catch (b) { if (((ka.lastError = b), 'string' != typeof J.caught(b).unwrap())) throw b; } a.enabled = !0; } }, disableBehavior: function (a) { this.hasBehavior(a) && (this.cache.h[a].enabled = !1); }, isBehaviorEnabled: function (a) { return this.hasBehavior(a) ? this.cache.h[a].enabled : !1; }, initScripts: function () { for (var a = 0, b = this.behaviors.length; a < b; ) { var d = a++; d = this.behaviors[d]; d.initScript(!d.enabled); } }, getAttribute: function (a, b) { a = this.cache.h[a]; if (null != a && null != a.script) { b = a.script.toInternalName(b); var d = aa.field(a.script, b); null != d || sh.hasField(a.script.wrapper.classname, b); return d; } return null; }, setAttribute: function (a, b, d) { a = this.cache.h[a]; null != a && null != a.script && sh.hasField(a.script.wrapper.classname, b) && ((a.script[b] = d), a.script.propertyChanged(b)); }, call: function (a, b) { if (null == this.cache) return null; for (var d = null, e = 0, c = this.behaviors.length; e < c; ) { var g = e++; g = this.behaviors[g]; if (g.enabled && null != g.script) try { var l = aa.field(g.script, a); null != l ? (d = l.apply(g.script, b)) : g.script.forwardMessage(a); } catch (q) { if (((ka.lastError = q), 'string' == typeof J.caught(q).unwrap())) g.script.forwardMessage(a); else throw q; } } return d; }, call2: function (a, b, d) { if (null == this.cache) return null; var e = null; a = this.cache.h[a]; if (null != a) { if (!a.enabled || null == a.script) return e; try { var c = aa.field(a.script, b); null != c ? (e = c.apply(a.script, d)) : a.script.forwardMessage(b); } catch (g) { if (((ka.lastError = g), 'string' == typeof J.caught(g).unwrap())) a.script.forwardMessage(b); else throw g; } } return e; }, __class__: yj }; var sh = function () {}; k['com.stencyl.behavior.ReflectionHelper'] = sh; sh.__name__ = 'com.stencyl.behavior.ReflectionHelper'; sh.getFieldMap = function (a) { var b = sh.fieldMaps.h[a]; if (null == b) try { for (var d = ma.getInstanceFields(k[a]), e = new qa(), c = 0; c < d.length; ) { var g = d[c]; ++c; e.h[g] = !0; } b = e; sh.fieldMaps.h[a] = b; } catch (l) { if (((ka.lastError = l), 'string' != typeof J.caught(l).unwrap())) throw l; } return b; }; sh.hasField = function (a, b) { a = sh.getFieldMap(a); return null == a ? !1 : Object.prototype.hasOwnProperty.call(a.h, b); }; var fa = function () { c.call(this); }; k['com.stencyl.behavior.SceneScript'] = fa; fa.__name__ = 'com.stencyl.behavior.SceneScript'; fa.__super__ = c; fa.prototype = t(c.prototype, { __class__: fa }); var Zk = function (a, b, d, e) { this.toExecute = a; this.interval = b; this.repeats = d; this.actor = e; this.done = !1; this.timer = b; }; k['com.stencyl.behavior.TimedTask'] = Zk; Zk.__name__ = 'com.stencyl.behavior.TimedTask'; Zk.prototype = { toExecute: null, interval: null, repeats: null, actor: null, timer: null, done: null, actorCreateTime: null, update: function (a) { null == this.actor || this.actor.isAlive() ? (null == this.actor && h.engine.isPaused()) || (null != this.actor && this.actor.isPaused()) || ((this.timer -= a), 0 >= this.timer && (this.toExecute(this), (this.done = !this.repeats), this.repeats && (this.timer += this.interval))) : (this.done = !0); }, __class__: Zk }; var Fc = function () { this._dispatchIndex = -1; this.listeners = []; this.length = 0; }; k['com.stencyl.event.Event'] = Fc; Fc.__name__ = 'com.stencyl.event.Event'; Fc.prototype = { listeners: null, length: null, _dispatchIndex: null, add: function (a) { this.listeners.push(a); ++this.length; }, has: function (a) { for (var b = 0, d = this.listeners; b < d.length; ) { var e = d[b]; ++b; if (aa.compareMethods(e, a)) return !0; } return !1; }, remove: function (a) { for (var b = this.listeners.length; 0 <= --b; ) aa.compareMethods(this.listeners[b], a) && (this.listeners.splice(b, 1), --this.length, this._dispatchIndex >= b && --this._dispatchIndex); }, removeAll: function () { this.listeners.splice(0, this.length); this._dispatchIndex = this.length = 0; }, __class__: Fc }; var Ez = function () {}; k['com.stencyl.event.EventDispatcher'] = Ez; Ez.__name__ = 'com.stencyl.event.EventDispatcher'; var Mn = function () { this.keys = []; this.map = new qa(); }; k['com.stencyl.event.EventMap_String_func_Bool_Bool_Void'] = Mn; Mn.__name__ = 'com.stencyl.event.EventMap_String_func_Bool_Bool_Void'; Mn.prototype = { keys: null, map: null, hasEvents: function () { return 0 < this.keys.length; }, getOrCreateEvent: function (a) { var b = this.map.get(a); null == b && ((b = new Fc()), this.map.set(a, b), this.keys.push(a)); return b; }, getEvent: function (a) { return this.map.get(a); }, __class__: Mn }; var wi = function (a, b, d) { this.metaType = a; this.type = b; this.fn = d; }; k['com.stencyl.event.NativeListener'] = wi; wi.__name__ = 'com.stencyl.event.NativeListener'; wi.prototype = { metaType: null, type: null, fn: null, checkEvents: function (a) { a = a.eventTable.h[this.metaType]; if (null != a) for (var b = 0; b < a.length; ) { var d = a[b]; ++b; d.type == this.type && (this.metaType == ed.TYPE_ADS ? this.fn() : this.metaType == ed.TYPE_PURCHASES ? this.fn(d.data1) : this.metaType == ed.TYPE_GAMECENTER ? this.fn(d.data1) : this.metaType == ed.TYPE_KEYBOARD && this.fn(d.data1)); } }, __class__: wi }; var Sc = function (a, b) { null == b && (b = ''); this.type = a; this.data1 = b; }; k['com.stencyl.event.StencylEvent'] = Sc; Sc.__name__ = 'com.stencyl.event.StencylEvent'; Sc.prototype = { type: null, data1: null, __class__: Sc }; var ub = function (a, b) { null == b && (b = 2); this.swipeTimeout = 0.1; this.longPressDelay = 1; var d = this; if (!ub.initialized) { ub.initialized = !0; var e = Oa.get_current().stage; ub.moveToleSqr = 0.008 * new na(e.stageWidth, e.stageHeight).get_length(); ub.moveToleSqr *= ub.moveToleSqr; ue.get_supportsTouchEvents() && (ue.inputMode = 2); } this.owner = a; this.mode = b; a = ue.get_supportsTouchEvents(); this.owner.mouseEnabled = !0; this.listenEvents = 1 == this.mode ? a ? ub.touchEvents : ub.mouseEvents : a ? ub.geTouchEvents : ub.geMouseEvents; this.handler = 1 == this.mode ? a ? m(this, this.convertTouch) : m(this, this.convertMouse) : a ? m(this, this.onTouch) : m(this, this.onMouse); a = 0; for (b = this.listenEvents; a < b.length; ) (e = b[a]), ++a, this.owner.addEventListener(e, this.handler); 3 == this.mode && Oa.get_current().stage.addEventListener('resize', function (a) { d.overlay = null; }); this.touchList = new F(); this.setReady(); }; k['com.stencyl.gestures.RoxGestureAgent'] = ub; ub.__name__ = 'com.stencyl.gestures.RoxGestureAgent'; ub.__properties__ = { get_multitouchSupported: 'get_multitouchSupported' }; ub.init = function () { if (!ub.initialized) { ub.initialized = !0; var a = Oa.get_current().stage; ub.moveToleSqr = 0.008 * new na(a.stageWidth, a.stageHeight).get_length(); ub.moveToleSqr *= ub.moveToleSqr; ue.get_supportsTouchEvents() && (ue.inputMode = 2); } }; ub.localOffset = function (a, b) { var d = a.parent.localToGlobal(new na(a.get_x(), a.get_y())); d.offset(b.x, b.y); d = a.parent.globalToLocal(d); d.offset(-a.get_x(), -a.get_y()); return d; }; ub.get_multitouchSupported = function () { return ue.get_supportsTouchEvents() ? 1 < ue.maxTouchPoints : !1; }; ub.initTypeMap = function () { for (var a = new qa(), b = 0, d = ub.MAP.length >> 1; b < d; ) { var e = b++; a.h[ub.MAP[e << 1]] = ub.MAP[(e << 1) + 1]; } return a; }; ub.prototype = { mode: null, longPressDelay: null, swipeTimeout: null, owner: null, touch0: null, touch1: null, touchList: null, listenEvents: null, handler: null, longPressTimer: null, tweener: null, overlay: null, state: null, detach: function () { null != this.tweener && (kb.cancel(this.tweener), (this.tweener = null)); this.setReady(); for (var a = 0, b = this.listenEvents; a < b.length; ) { var d = b[a]; ++a; this.owner.removeEventListener(d, this.handler); } this.overlay = this.owner = null; }, getHandler: function (a) { null == a && (a = 3); var b = m(this, this.handleEvent), d = a; return function (a) { b(d, a); }; }, startTweenXY: function (a, b, d, e) { var c = this; this.tweener = new Kf(); this.tweener .tween(a.get_x(), d, a.get_y(), e, v.linear, (1e3 * b) | 0) .doOnUpdate(function () { a.set_x(c.tweener.value1); a.set_y(c.tweener.value2); }); }, stopTween: function () { null != this.tweener && (kb.cancel(this.tweener), (this.tweener = null)); }, handleEvent: function (a, b) { var d = b.target; if (d == this.owner) switch (b.type) { case 'rox_gesture_pan': b = b.extra; var e = d.parent.localToGlobal(new na(d.get_x(), d.get_y())); e.offset(b.x, b.y); e = d.parent.globalToLocal(e); e.offset(-d.get_x(), -d.get_y()); b = e; 0 != (a & 1) && d.set_x(d.get_x() + b.x); 0 != (a & 2) && d.set_y(d.get_y() + b.y); break; case 'rox_gesture_pinch': e = b.extra; var c = d.parent.localToGlobal(new na(d.get_x(), d.get_y())), g = c.x - b.stageX; c = c.y - b.stageY; a = Math.atan2(c, g); g = new na(g, c).get_length(); g = na.polar(g * e, a); g.offset(b.stageX, b.stageY); g = d.parent.globalToLocal(g); d.set_scaleX(d.get_scaleX() * e); d.set_scaleY(d.get_scaleY() * e); d.set_x(g.x); d.set_y(g.y); break; case 'rox_gesture_rotation': a = b.extra; c = d.parent.localToGlobal(new na(d.get_x(), d.get_y())); g = c.x - b.stageX; c = c.y - b.stageY; e = Math.atan2(c, g); g = new na(g, c).get_length(); g = na.polar(g, e + a); g.offset(b.stageX, b.stageY); g = d.parent.globalToLocal(g); d.set_rotation(d.get_rotation() + ub.R2D * a); d.set_x(g.x); d.set_y(g.y); break; case 'rox_gesture_swipe': b = new na(2 * b.extra.x, 2 * b.extra.y); e = d.parent.localToGlobal(new na(d.get_x(), d.get_y())); e.offset(b.x, b.y); e = d.parent.globalToLocal(e); e.offset(-d.get_x(), -d.get_y()); b = e; a = d.get_x() + b.x; b = d.get_y() + b.y; var l = this; this.tweener = new Kf(); this.tweener .tween(d.get_x(), a, d.get_y(), b, v.linear, 2e3) .doOnUpdate(function () { d.set_x(l.tweener.value1); d.set_y(l.tweener.value2); }); } }, convertTouch: function (a) { this.owner.dispatchEvent( new Wc( ub.typeMap.h[a.type], a.bubbles, a.cancelable, a.localX, a.localY, a.stageX, a.stageY, a.touchPointID, this ) ); }, convertMouse: function (a) { var b = a.type; ('mouseDown' == b || 'mouseUp' == b || 'click' == b || a.buttonDown) && this.owner.dispatchEvent( new Wc( ub.typeMap.h[b], a.bubbles, a.cancelable, a.localX, a.localY, a.stageX, a.stageY, 0, this ) ); }, onTouch: function (a) { var b = a.touchPointID, d = null == this.touch0 || this.touch0.tid == b; (d || (null != this.touch1 && this.touch1.tid == b) || (null != this.touch0 && null == this.touch1 && this.touch0.tid != b)) && this.handleTouch(ub.typeMap.h[a.type], a, d, b); }, onMouse: function (a) { var b = a.type; ('mouseDown' == b || 'mouseUp' == b || a.buttonDown) && this.handleTouch(ub.typeMap.h[b], a, !0, 0); }, handleTouch: function (a, b, d, e) { var c = new Rn(this.owner, b, e); e = d ? this.touch0 : this.touch1; if ('rox_touch_move' == a && null != e) { var g = e.sx - c.sx; var l = e.sy - c.sy; g = g * g + l * l < ub.moveToleSqr; } else g = !1; if (g) return !1; e = !0; switch (this.state) { case 0: if (d && 'rox_touch_begin' == a) { this.state = 1; this.touch0 = c; var q = m(this, this.sendLongPress); g = function () { q(c); }; this.longPressTimer = kb.timer((1e3 * this.longPressDelay) | 0).doOnComplete(g); null != this.tweener && (kb.cancel(this.tweener), (this.tweener = null)); if (3 == this.mode) for ( d = Oa.get_current().stage, null == this.overlay && ((this.overlay = new Ca()), this.overlay.set_name('overlay'), this.overlay.get_graphics().beginFill(16777215, 0.00392156862745098), this.overlay.get_graphics().drawRect(0, 0, d.stageWidth, d.stageHeight)), d.addChild(this.overlay), d = 0, a = this.listenEvents; d < a.length; ) (g = a[d]), ++d, this.overlay.addEventListener(g, this.handler); } else e = !1; break; case 1: d && 'rox_touch_end' == a ? (this.owner.dispatchEvent( new Wc('rox_gesture_tap', null, null, c.lx, c.ly, c.sx, c.sy, null, this) ), this.setReady()) : d && 'rox_touch_move' == a ? ((d = new na(c.sx - this.touch0.sx, c.sy - this.touch0.sy)), this.owner.dispatchEvent( new Wc('rox_gesture_pan', null, null, c.lx, c.ly, c.sx, c.sy, null, this, d) ), (this.state = 4), null != this.touch0 && this.touchList.push(this.touch0), (this.touch0 = c), null != this.longPressTimer && (kb.cancel(this.longPressTimer), (this.longPressTimer = null))) : d || 'rox_touch_begin' != a ? (e = !1) : ((this.state = 2), (this.touch1 = c), null != this.longPressTimer && (kb.cancel(this.longPressTimer), (this.longPressTimer = null))); break; case 2: 'rox_touch_end' == a ? (this.owner.dispatchEvent( new Wc('rox_gesture_end', null, null, c.lx, c.ly, c.sx, c.sy, null, this) ), this.setReady()) : 'rox_touch_move' == a ? ((b = d ? this.touch1 : this.touch0), (l = d ? this.touch0 : this.touch1), (g = na.distance(c.spt, b.spt) / na.distance(l.spt, b.spt)), (a = Math.atan2(c.sy - b.sy, c.sx - b.sx) - Math.atan2(l.sy - b.sy, l.sx - b.sx)), (b = na.interpolate(b.lpt, l.lpt, 0.5)), (l = this.owner.localToGlobal(b)), 1 != g && this.owner.dispatchEvent( new Wc('rox_gesture_pinch', null, null, b.x, b.y, l.x, l.y, null, this, g) ), 0 != a && this.owner.dispatchEvent( new Wc('rox_gesture_rotation', null, null, b.x, b.y, l.x, l.y, null, this, a) ), d ? (this.touch0 = c) : (this.touch1 = c)) : (e = !1); break; case 4: if (d && 'rox_touch_move' == a) (d = new na(c.sx - this.touch0.sx, c.sy - this.touch0.sy)), this.owner.dispatchEvent( new Wc('rox_gesture_pan', null, null, c.lx, c.ly, c.sx, c.sy, null, this, d) ), (this.state = 4), null != this.touch0 && this.touchList.push(this.touch0), (this.touch0 = c), null != this.longPressTimer && (kb.cancel(this.longPressTimer), (this.longPressTimer = null)); else if ( d && ('rox_touch_end' == a || (3 != this.mode && 'rox_touch_out' == a && b.target == this.owner)) ) { if (0 >= this.swipeTimeout || c.time - this.touch0.time < this.swipeTimeout) { d = this.touchList.pop(); b = null; for (a = this.touchList.h; null != a; ) { g = a.item; a = a.next; if (0.2 < d.time - g.time) break; b = g; } null != b && ((l = d.sy - b.sy), (g = d.sx - b.sx), (a = Math.atan2(l, g)), (d = na.polar((new na(g, l).get_length() / (d.time - b.time)) * 0.25, a)), this.owner.dispatchEvent( new Wc('rox_gesture_swipe', null, null, c.lx, c.ly, c.sx, c.sy, null, this, d) )); } this.setReady(); } else d || 'rox_touch_begin' != a ? (e = !1) : (this.owner.dispatchEvent( new Wc('rox_gesture_begin', null, null, c.lx, c.ly, c.sx, c.sy, null, this) ), (this.state = 2), (this.touch1 = c), null != this.longPressTimer && (kb.cancel(this.longPressTimer), (this.longPressTimer = null))); } return e; }, sendLongPress: function (a) { this.owner.dispatchEvent( new Wc('rox_gesture_long_press', null, null, a.lx, a.ly, a.sx, a.sy, null, this) ); this.setReady(); }, setReady: function () { this.state = 0; this.touch0 = this.touch1 = null; this.touchList.clear(); null != this.longPressTimer && (kb.cancel(this.longPressTimer), (this.longPressTimer = null)); if (null != this.overlay && 3 == this.mode) { for (var a = 0, b = this.listenEvents; a < b.length; ) { var d = b[a]; ++a; this.overlay.removeEventListener(d, this.handler); } Oa.get_current().stage.removeChild(this.overlay); } }, setMove: function (a) { this.state = 4; null != this.touch0 && this.touchList.push(this.touch0); this.touch0 = a; null != this.longPressTimer && (kb.cancel(this.longPressTimer), (this.longPressTimer = null)); }, setTwoFingerMove: function (a) { this.state = 2; this.touch1 = a; null != this.longPressTimer && (kb.cancel(this.longPressTimer), (this.longPressTimer = null)); }, cancelLongPress: function () { null != this.longPressTimer && (kb.cancel(this.longPressTimer), (this.longPressTimer = null)); }, __class__: ub }; var Rn = function (a, b, d) { this.tid = d; this.sx = b.stageX; this.sy = b.stageY; this.spt = new na(this.sx, this.sy); this.lpt = a.globalToLocal(this.spt); this.lx = this.lpt.x; this.ly = this.lpt.y; this.time = new Date().getTime() / 1e3; }; k['com.stencyl.gestures._RoxGestureAgent.TouchPoint'] = Rn; Rn.__name__ = 'com.stencyl.gestures._RoxGestureAgent.TouchPoint'; Rn.prototype = { tid: null, lx: null, ly: null, sx: null, sy: null, lpt: null, spt: null, time: null, distSqr: function (a) { var b = a.sx - this.sx; a = a.sy - this.sy; return b * b + a * a; }, __class__: Rn }; var oa = function (a, b, d) { null == d && (d = !1); null == b && (b = !1); this.type = a; this.bubbles = b; this.cancelable = d; this.eventPhase = 2; }; k['openfl.events.Event'] = oa; oa.__name__ = 'openfl.events.Event'; oa.prototype = { bubbles: null, cancelable: null, currentTarget: null, eventPhase: null, target: null, type: null, __isCanceled: null, __isCanceledNow: null, __preventDefault: null, clone: function () { var a = new oa(this.type, this.bubbles, this.cancelable); a.eventPhase = this.eventPhase; a.target = this.target; a.currentTarget = this.currentTarget; return a; }, formatToString: function (a, b, d, e, c, g) { var f = []; null != b && f.push(b); null != d && f.push(d); null != e && f.push(e); null != c && f.push(c); null != g && f.push(g); return m(this, this.__formatToString).apply(this, [a, f]); }, isDefaultPrevented: function () { return this.__preventDefault; }, preventDefault: function () { this.cancelable && (this.__preventDefault = !0); }, stopImmediatePropagation: function () { this.__isCanceledNow = this.__isCanceled = !0; }, stopPropagation: function () { this.__isCanceled = !0; }, toString: function () { return this.__formatToString('Event', ['type', 'bubbles', 'cancelable']); }, __formatToString: function (a, b) { a = '[' + a; for (var d, e = 0; e < b.length; ) { var c = b[e]; ++e; d = aa.field(this, c); a = 'string' == typeof d ? a + (' ' + c + '="' + z.string(d) + '"') : a + (' ' + c + '=' + z.string(d)); } return a + ']'; }, __init: function () { this.currentTarget = this.target = null; this.cancelable = this.bubbles = !1; this.eventPhase = 2; this.__preventDefault = this.__isCanceledNow = this.__isCanceled = !1; }, __class__: oa }; var Wc = function (a, b, d, e, c, g, l, q, y, r) { null == q && (q = 0); null == d && (d = !1); null == b && (b = !0); oa.call(this, a, b, d); this.localX = e; this.localY = c; this.stageX = g; this.stageY = l; this.touchPointID = q; this.agent = y; this.extra = r; }; k['com.stencyl.gestures.RoxGestureEvent'] = Wc; Wc.__name__ = 'com.stencyl.gestures.RoxGestureEvent'; Wc.__super__ = oa; Wc.prototype = t(oa.prototype, { localX: null, localY: null, stageX: null, stageY: null, touchPointID: null, agent: null, extra: null, toString: function () { return ( this.type + '(' + this.touchPointID + '): local=(' + this.localX + ',' + this.localY + '), stage=(' + this.stageX + ',' + this.stageY + '), extra=' + (this.extra instanceof na ? 'Point(' + z.string(this.extra.x) + ',' + z.string(this.extra.y) + ')' : this.extra) ); }, __class__: Wc }); var cl = function () {}; k['com.stencyl.graphics.AbstractAnimation'] = cl; cl.__name__ = 'com.stencyl.graphics.AbstractAnimation'; cl.__isInterface__ = !0; cl.prototype = { update: null, getCurrentFrame: null, getNumFrames: null, setFrame: null, isFinished: null, activate: null, reset: null, draw: null, getFrameDurations: null, setFrameDurations: null, setFrameDuration: null, getCurrentImage: null, __class__: cl }; var rc = function (a, b, d) { null == d && (d = !1); Ka.call(this); this.__drawableType = 2; this.__bitmapData = a; this.pixelSnapping = b; this.smoothing = d; null == b && (this.pixelSnapping = 1); }; k['openfl.display.Bitmap'] = rc; rc.__name__ = 'openfl.display.Bitmap'; rc.__super__ = Ka; rc.prototype = t(Ka.prototype, { pixelSnapping: null, smoothing: null, __image: null, __bitmapData: null, __imageVersion: null, __enterFrame: function (a) { null == this.__bitmapData || null == this.__bitmapData.image || this.__bitmapData.image.version == this.__imageVersion || this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()); }, __getBounds: function (a, b) { var d = ea.__pool.get(); null != this.__bitmapData ? d.setTo(0, 0, this.__bitmapData.width, this.__bitmapData.height) : d.setTo(0, 0, 0, 0); d.__transform(d, b); a.__expand(d.x, d.y, d.width, d.height); ea.__pool.release(d); }, __hitTest: function (a, b, d, e, c, g) { if ( !g.get_visible() || this.__isMask || null == this.__bitmapData || (null != this.get_mask() && !this.get_mask().__hitTestMask(a, b)) ) return !1; this.__getRenderTransform(); var f = this.__renderTransform, q = f.a * f.d - f.b * f.c; d = 0 == q ? -f.tx : (1 / q) * (f.c * (f.ty - b) + f.d * (a - f.tx)); f = this.__renderTransform; q = f.a * f.d - f.b * f.c; a = 0 == q ? -f.ty : (1 / q) * (f.a * (b - f.ty) + f.b * (f.tx - a)); if (0 < d && 0 < a && d <= this.__bitmapData.width && a <= this.__bitmapData.height) { if (null != this.__scrollRect && !this.__scrollRect.contains(d, a)) return !1; null == e || c || e.push(g); return !0; } return !1; }, __hitTestMask: function (a, b) { if (null == this.__bitmapData) return !1; this.__getRenderTransform(); var d = this.__renderTransform, e = d.a * d.d - d.b * d.c, c = 0 == e ? -d.tx : (1 / e) * (d.c * (d.ty - b) + d.d * (a - d.tx)); d = this.__renderTransform; e = d.a * d.d - d.b * d.c; a = 0 == e ? -d.ty : (1 / e) * (d.a * (b - d.ty) + d.b * (d.tx - a)); return 0 < c && 0 < a && c <= this.__bitmapData.width && a <= this.__bitmapData.height ? !0 : !1; }, get_bitmapData: function () { return this.__bitmapData; }, set_bitmapData: function (a) { this.__bitmapData = a; this.smoothing = !1; this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()); this.__imageVersion = -1; return this.__bitmapData; }, set_height: function (a) { null != this.__bitmapData ? this.set_scaleY(a / this.__bitmapData.height) : this.set_scaleY(0); return a; }, set_width: function (a) { null != this.__bitmapData ? this.set_scaleX(a / this.__bitmapData.width) : this.set_scaleX(0); return a; }, __class__: rc, __properties__: t(Ka.prototype.__properties__, { set_bitmapData: 'set_bitmapData', get_bitmapData: 'get_bitmapData' }) }); var Hj = function (a) { rc.call(this, a.frames[0]); this.model = a; this.set_x(Math.round((-a.frameWidth / 2) * h.SCALE)); this.set_y(Math.round((-a.frameHeight / 2) * h.SCALE)); this.frameIndex = this.timer = 0; this.individualDurations = !1; this.durations = a.durations; this.numFrames = this.durations.length; this.smoothing = ba.antialias; this.finished = 1 >= this.numFrames; null != this.filter ? (this.filteredFrames[this.frameIndex] || ((this.frames[this.frameIndex] = this.applyFilters( this.frames[this.frameIndex], this.model.frames[this.frameIndex], this.filter )), (this.filteredFrames[this.frameIndex] = !0)), this.set_bitmapData(this.frames[this.frameIndex])) : this.set_bitmapData(this.model.frames[this.frameIndex]); this.smoothing = ba.antialias; }; k['com.stencyl.graphics.BitmapAnimation'] = Hj; Hj.__name__ = 'com.stencyl.graphics.BitmapAnimation'; Hj.__interfaces__ = [cl]; Hj.__super__ = rc; Hj.prototype = t(rc.prototype, { model: null, frameIndex: null, timer: null, finished: null, durations: null, individualDurations: null, frames: null, numFrames: null, filter: null, filteredFrames: null, update: function (a) { this.model.sync && this.model.looping ? ((a = this.frameIndex), (this.timer = this.model.sharedTimer), (this.frameIndex = this.model.sharedFrameIndex), a != this.frameIndex && (null != this.filter ? (this.filteredFrames[this.frameIndex] || ((this.frames[this.frameIndex] = this.applyFilters( this.frames[this.frameIndex], this.model.frames[this.frameIndex], this.filter )), (this.filteredFrames[this.frameIndex] = !0)), this.set_bitmapData(this.frames[this.frameIndex])) : this.set_bitmapData(this.model.frames[this.frameIndex]), (this.smoothing = ba.antialias))) : ((this.timer += a), 0 < this.numFrames && this.timer > this.durations[this.frameIndex] && ((a = this.frameIndex), (this.timer -= this.durations[this.frameIndex]), this.frameIndex++, this.frameIndex >= this.numFrames && (this.model.looping ? (this.frameIndex = 0) : ((this.finished = !0), this.frameIndex--)), a != this.frameIndex && (null != this.filter ? (this.filteredFrames[this.frameIndex] || ((this.frames[this.frameIndex] = this.applyFilters( this.frames[this.frameIndex], this.model.frames[this.frameIndex], this.filter )), (this.filteredFrames[this.frameIndex] = !0)), this.set_bitmapData(this.frames[this.frameIndex])) : this.set_bitmapData(this.model.frames[this.frameIndex]), (this.smoothing = ba.antialias)))); }, getCurrentFrame: function () { return this.frameIndex; }, getNumFrames: function () { return this.numFrames; }, setFrame: function (a) { if (0 > a || a >= this.numFrames) a = 0; a != this.frameIndex && ((this.frameIndex = a), null != this.filter ? (this.filteredFrames[this.frameIndex] || ((this.frames[this.frameIndex] = this.applyFilters( this.frames[this.frameIndex], this.model.frames[this.frameIndex], this.filter )), (this.filteredFrames[this.frameIndex] = !0)), this.set_bitmapData(this.frames[this.frameIndex])) : this.set_bitmapData(this.model.frames[this.frameIndex]), (this.smoothing = ba.antialias)); this.timer = 0; this.finished = !1; }, isFinished: function () { return this.finished; }, reset: function () { this.frameIndex = this.timer = 0; this.finished = !1; null != this.filter ? (this.filteredFrames[this.frameIndex] || ((this.frames[this.frameIndex] = this.applyFilters( this.frames[this.frameIndex], this.model.frames[this.frameIndex], this.filter )), (this.filteredFrames[this.frameIndex] = !0)), this.set_bitmapData(this.frames[this.frameIndex])) : this.set_bitmapData(this.model.frames[this.frameIndex]); this.smoothing = ba.antialias; }, updateBitmap: function () { null != this.filter ? (this.filteredFrames[this.frameIndex] || ((this.frames[this.frameIndex] = this.applyFilters( this.frames[this.frameIndex], this.model.frames[this.frameIndex], this.filter )), (this.filteredFrames[this.frameIndex] = !0)), this.set_bitmapData(this.frames[this.frameIndex])) : this.set_bitmapData(this.model.frames[this.frameIndex]); this.smoothing = ba.antialias; }, set_filter: function (a) { this.filter = a; for (var b = [], d = 0, e = this.numFrames; d < e; ) d++, b.push(!1); this.filteredFrames = b; b = []; d = 0; for (e = this.numFrames; d < e; ) d++, b.push(null); this.frames = b; null != this.filter ? (this.filteredFrames[this.frameIndex] || ((this.frames[this.frameIndex] = this.applyFilters( this.frames[this.frameIndex], this.model.frames[this.frameIndex], this.filter )), (this.filteredFrames[this.frameIndex] = !0)), this.set_bitmapData(this.frames[this.frameIndex])) : this.set_bitmapData(this.model.frames[this.frameIndex]); this.smoothing = ba.antialias; return a; }, applyFilters: function (a, b, d) { null == a && (a = new la(b.width, b.height)); for (var e = 0; e < d.length; ) { var c = d[e]; ++e; b = c.__applyFilter(a, b, b.rect, W.zero); } return a; }, draw: function (a, b, d, e, c) { if (!ba.disposeImages || this.model.checkImageReadable()) { c = this.get_bitmapData(); null == e && (e = 0); b *= a.scaleX; d *= a.scaleY; a.rect.x = 0; a.rect.y = 0; a.rect.width = c.width; a.rect.height = c.height; a.drawActor ? null != a.actor && a.actor.isHUD ? ((a.point.x = a.x + b), (a.point.y = a.y + d)) : ((a.point.x = a.x + b - h.cameraX), (a.point.y = a.y + d - h.cameraY)) : ((a.point.x = a.x + b), (a.point.y = a.y + d)); a.mtx.identity(); a.mtx.rotate(e); a.mtx.translate(a.point.x, a.point.y); if (0 == e) 1 != a.alpha && ((a.point2.x = 0), (a.point2.y = 0), (a.rect2.width = c.width), (a.rect2.height = c.height), (d = new la(c.width, c.height, !0, a.toARGB(0, (255 * a.alpha) | 0))), (b = new la(c.width, c.height, !0, 0)), b.copyPixels(c, a.rect2, a.point2, d, null, !0), (c = b)), a.graphics.beginBitmapFill(c, a.mtx), a.graphics.drawRect(a.point.x, a.point.y, c.width, c.height); else { 1 != a.alpha && ((a.point2.x = 0), (a.point2.y = 0), (a.rect2.width = c.width), (a.rect2.height = c.height), (d = new la(c.width, c.height, !0, a.toARGB(0, (255 * a.alpha) | 0))), (b = new la(c.width, c.height, !0, 0)), b.copyPixels(c, a.rect2, a.point2, d, null, !0), (c = b)); d = new la(c.width + 2, c.height + 2, !0, 0); b = Math.sqrt(Math.pow(d.width, 2) + Math.pow(d.height, 2)) | 0; e = new ea(0, 0, c.width, c.height); var f = new na(1, 1); d.copyPixels(c, e, f); a.graphics.beginBitmapFill(d, a.mtx, !1, ba.antialias); a.graphics.drawRect(a.x - (b - c.width) / 2, a.y - (b - c.height) / 2, b, b); } a.graphics.endFill(); } }, getFrameDurations: function () { return this.durations; }, setFrameDurations: function (a) { if (null != this.durations) { for (var b = [], d = 0, e = this.durations.length; d < e; ) d++, b.push(a); this.durations = b; this.individualDurations = !0; } }, setFrameDuration: function (a, b) { if (!this.individualDurations) { for (var d = [], e = 0, c = this.durations.length; e < c; ) { var g = e++; d.push(this.durations[g]); } this.durations = d; this.individualDurations = !0; } 0 <= a && a < this.durations.length && (this.durations[a] = b); }, framesUpdated: function () { this.set_x(Math.round((-this.model.frameWidth / 2) * h.SCALE)); this.set_y(Math.round((-this.model.frameHeight / 2) * h.SCALE)); null != this.filter ? (this.filteredFrames[this.frameIndex] || ((this.frames[this.frameIndex] = this.applyFilters( this.frames[this.frameIndex], this.model.frames[this.frameIndex], this.filter )), (this.filteredFrames[this.frameIndex] = !0)), this.set_bitmapData(this.frames[this.frameIndex])) : this.set_bitmapData(this.model.frames[this.frameIndex]); this.smoothing = ba.antialias; }, getCurrentImage: function () { return ba.disposeImages && !this.model.checkImageReadable() ? se.UNLOADED : this.get_bitmapData(); }, activate: function () {}, __class__: Hj, __properties__: t(rc.prototype.__properties__, { set_filter: 'set_filter' }) }); var qh = function () {}; k['com.stencyl.graphics.EngineScaleUpdateListener'] = qh; qh.__name__ = 'com.stencyl.graphics.EngineScaleUpdateListener'; qh.__isInterface__ = !0; qh.prototype = { updateScale: null, __class__: qh }; var rf = function (a) { this.cacheParentAnchor = W.zero; Ca.call(this); this.img = a; this.offsetY = this.offsetX = 0; this.addChild(a); }; k['com.stencyl.graphics.BitmapWrapper'] = rf; rf.__name__ = 'com.stencyl.graphics.BitmapWrapper'; rf.__interfaces__ = [qh]; rf.__super__ = Ca; rf.prototype = t(Ca.prototype, { img: null, offsetX: null, offsetY: null, cacheParentAnchor: null, smoothing: null, imgX: null, imgY: null, tweenProps: null, set_imgX: function (a) { this.set_x((a + this.offsetX) * h.SCALE - this.cacheParentAnchor.x); return (this.imgX = a); }, get_imgX: function () { return this.imgX; }, set_imgY: function (a) { this.set_y((a + this.offsetY) * h.SCALE - this.cacheParentAnchor.y); return (this.imgY = a); }, get_imgY: function () { return this.imgY; }, set_smoothing: function (a) { return (this.img.smoothing = a); }, get_smoothing: function () { return this.img.smoothing; }, setOrigin: function (a, b) { this.set_x(this.get_x() + (a - this.offsetX) * h.SCALE); this.set_y(this.get_y() + (b - this.offsetY) * h.SCALE); this.offsetX = a; this.offsetY = b; this.img.set_x(-a * h.SCALE); this.img.set_y(-b * h.SCALE); }, updateScale: function () { this.updatePosition(); }, updatePosition: function () { this.set_x((this.get_imgX() + this.offsetX) * h.SCALE - this.cacheParentAnchor.x); this.set_y((this.get_imgY() + this.offsetY) * h.SCALE - this.cacheParentAnchor.y); }, get_tweenProps: function () { null == this.tweenProps && (this.tweenProps = new Sn(this)); return this.tweenProps; }, __class__: rf, __properties__: t(Ca.prototype.__properties__, { get_tweenProps: 'get_tweenProps', set_imgY: 'set_imgY', get_imgY: 'get_imgY', set_imgX: 'set_imgX', get_imgX: 'get_imgX', set_smoothing: 'set_smoothing', get_smoothing: 'get_smoothing' }) }); var Sn = function (a) { this.bmp = a; this.xy = new Kf().doOnUpdate(m(this, this.onUpdateXY)); this.angle = new ye().doOnUpdate(m(this, this.onUpdateAngle)); this.alpha = new ye().doOnUpdate(m(this, this.onUpdateAlpha)); this.scaleXY = new Kf().doOnUpdate(m(this, this.onUpdateScaleXY)); }; k['com.stencyl.graphics.BitmapTweenProperties'] = Sn; Sn.__name__ = 'com.stencyl.graphics.BitmapTweenProperties'; Sn.prototype = { xy: null, angle: null, alpha: null, scaleXY: null, bmp: null, pause: function () { this.xy.paused = !0; this.angle.paused = !0; this.alpha.paused = !0; this.scaleXY.paused = !0; }, unpause: function () { this.xy.paused = !1; this.angle.paused = !1; this.alpha.paused = !1; this.scaleXY.paused = !1; }, cancel: function () { this.xy.active && kb.cancel(this.xy); this.angle.active && kb.cancel(this.angle); this.alpha.active && kb.cancel(this.alpha); this.scaleXY.active && kb.cancel(this.scaleXY); }, onUpdateXY: function () { this.bmp.set_imgX(this.xy.value1); this.bmp.set_imgY(this.xy.value2); }, onUpdateAngle: function () { this.bmp.set_rotation(this.angle.value); }, onUpdateAlpha: function () { this.bmp.set_alpha(this.alpha.value); }, onUpdateScaleXY: function () { this.bmp.set_scaleX(this.scaleXY.value1); this.bmp.set_scaleY(this.scaleXY.value2); }, __class__: Sn }; var dl = function () {}; k['com.stencyl.graphics.BlendModes'] = dl; dl.__name__ = 'com.stencyl.graphics.BlendModes'; dl.get = function (a) { return dl.stringBlendMap.h[a]; }; var ha = function () { this.drawActor = !1; this.x = this.y = 0; this.scaleX = this.scaleY = h.SCALE; this.alpha = 1; this.blendMode = 10; this.strokeColor = this.fillColor = this.strokeSize = 0; this.rect = new ea(); this.rect2 = new ea(); this.point = new na(); this.point2 = new na(); this.data = [0, 0, 0]; this.drawPoly = !1; this.firstY = this.firstX = this.pointCounter = 0; this.font = this.defaultFont = new Af(-1, 0, '', !0); this.mtx = new Ia(); }; k['com.stencyl.graphics.G'] = ha; ha.__name__ = 'com.stencyl.graphics.html'; ha.resetStatics = function () { ha.fontCache = null; }; ha.visitStringCache = function () { for (var a = ha.drawnStringCacheKeys.length; 0 < a--; ) { var b = ha.drawnStringCache.h[ha.drawnStringCacheKeys[a]]; --b.lifetime; if (0 == b.lifetime) { b.img.dispose(); b = ha.drawnStringCacheKeys[a]; var d = ha.drawnStringCache; Object.prototype.hasOwnProperty.call(d.h, b) && delete d.h[b]; ha.drawnStringCacheKeys[a] = ha.drawnStringCacheKeys[ha.drawnStringCacheKeys.length - 1]; ha.drawnStringCacheKeys.pop(); } } }; ha.prototype = { defaultFont: null, graphics: null, x: null, y: null, scaleX: null, scaleY: null, alpha: null, blendMode: null, strokeSize: null, fillColor: null, strokeColor: null, font: null, fontData: null, mtx: null, rect: null, rect2: null, point: null, point2: null, data: null, drawPoly: null, pointCounter: null, firstX: null, firstY: null, drawActor: null, actor: null, resetGraphicsSettings: function () { this.alpha = 1; this.strokeColor = this.fillColor = this.strokeSize = 0; this.font = this.defaultFont; }, setFont: function (a) { null != a && a != this.font && (this.font = a); }, startGraphics: function () { !this.drawActor || (null != this.actor && this.actor.isHUD) || ((this.x -= h.cameraX), (this.y -= h.cameraY)); 0 == this.strokeSize ? this.graphics.lineStyle() : this.graphics.lineStyle(this.strokeSize * h.SCALE, this.strokeColor, this.alpha); }, endGraphics: function () { this.drawActor && !this.actor.isHUD && ((this.x += h.cameraX), (this.y += h.cameraY)); this.graphics.lineStyle(); }, translate: function (a, b) { this.x += a * this.scaleX; this.y += b * this.scaleY; }, moveTo: function (a, b) { if (this.drawActor) { if (null != this.actor) { var d = this.actor; this.drawActor = !0; this.actor = d; if (d.smoothMove) { var e = d.drawY - Math.floor(d.cacheHeight / 2) - d.currOffset.y; this.x = (d.drawX - Math.floor(d.cacheWidth / 2) - d.currOffset.x) * this.scaleX; this.y = e * this.scaleY; } else (this.x = d.colX * this.scaleX), (this.y = d.colY * this.scaleY); } this.x += a * this.scaleX; this.y += b * this.scaleY; } else (this.x = a * this.scaleX), (this.y = b * this.scaleY); }, translateToScreen: function () { this.drawActor = !1; this.actor = null; this.y = this.x = 0; }, translateToActor: function (a) { this.drawActor = !0; this.actor = a; if (a.smoothMove) { var b = a.drawY - Math.floor(a.cacheHeight / 2) - a.currOffset.y; this.x = (a.drawX - Math.floor(a.cacheWidth / 2) - a.currOffset.x) * this.scaleX; this.y = b * this.scaleY; } else (this.x = a.colX * this.scaleX), (this.y = a.colY * this.scaleY); }, getCacheKey: function (a, b, d) { return a + ':' + b.ID + ':' + d + ':' + b.letterSpacing + ':' + h.SCALE; }, drawString: function (a, b, d) { null == this.font && ((this.font = this.defaultFont), this.font.fontScale != h.SCALE && (this.font.fontScale = h.SCALE)); this.drawActor ? null != this.actor && this.actor.isHUD ? ((b = this.x + b * this.scaleX), (d = this.y + d * this.scaleY)) : ((b = this.x + b * this.scaleX - h.cameraX), (d = this.y + d * this.scaleY - h.cameraY)) : ((b = this.x + b * this.scaleX), (d = this.y + d * this.scaleY)); this.mtx.identity(); this.mtx.translate(b, d); var e = null, c = this.font; c = a + ':' + c.ID + ':' + this.alpha + ':' + c.letterSpacing + ':' + h.SCALE; if (Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, c)) (a = ha.drawnStringCache.h[c]), (a.lifetime = 5), (e = a.img); else { var g = this.font.font.getTextWidth(a, this.font.letterSpacing, this.font.fontScale), l = (this.font.font.getFontHeight() * this.font.fontScale) | 0; 0 < g && 0 < l && ((e = new la(g, l, !0, 0)), this.font.font.renderToImg( e, a, 0, this.alpha, 0, 0, this.font.letterSpacing, this.font.fontScale, 0, !1 ), (a = new sc()), (a.img = e), (a.lifetime = 5), (ha.drawnStringCache.h[c] = a), ha.drawnStringCacheKeys.push(c)); } null != e && (this.graphics.beginBitmapFill(e, this.mtx, !1, ba.antialias), this.graphics.drawRect(b, d, e.width, e.height), this.graphics.endFill()); }, drawLine: function (a, b, d, e) { a *= this.scaleX; b *= this.scaleY; d *= this.scaleX; e *= this.scaleY; !this.drawActor || (null != this.actor && this.actor.isHUD) || ((this.x -= h.cameraX), (this.y -= h.cameraY)); 0 == this.strokeSize ? this.graphics.lineStyle() : this.graphics.lineStyle(this.strokeSize * h.SCALE, this.strokeColor, this.alpha); this.graphics.moveTo(this.x + a, this.y + b); this.graphics.lineTo(this.x + d, this.y + e); this.drawActor && !this.actor.isHUD && ((this.x += h.cameraX), (this.y += h.cameraY)); this.graphics.lineStyle(); }, fillPixel: function (a, b) { !this.drawActor || (null != this.actor && this.actor.isHUD) || ((this.x -= h.cameraX), (this.y -= h.cameraY)); 0 == this.strokeSize ? this.graphics.lineStyle() : this.graphics.lineStyle(this.strokeSize * h.SCALE, this.strokeColor, this.alpha); this.graphics.lineStyle(); this.graphics.beginFill(this.fillColor, this.alpha); this.graphics.drawRect( this.x + ((a * h.SCALE) | 0), this.y + ((b * h.SCALE) | 0), h.SCALE | 0, h.SCALE | 0 ); this.graphics.endFill(); this.drawActor && !this.actor.isHUD && ((this.x += h.cameraX), (this.y += h.cameraY)); this.graphics.lineStyle(); }, drawRect: function (a, b, d, e) { a *= this.scaleX; b *= this.scaleY; d *= this.scaleX; e *= this.scaleY; !this.drawActor || (null != this.actor && this.actor.isHUD) || ((this.x -= h.cameraX), (this.y -= h.cameraY)); 0 == this.strokeSize ? this.graphics.lineStyle() : this.graphics.lineStyle(this.strokeSize * h.SCALE, this.strokeColor, this.alpha); this.graphics.drawRect(this.x + a, this.y + b, d, e); this.drawActor && !this.actor.isHUD && ((this.x += h.cameraX), (this.y += h.cameraY)); this.graphics.lineStyle(); }, fillRect: function (a, b, d, e) { a *= this.scaleX; b *= this.scaleY; d *= this.scaleX; e *= this.scaleY; !this.drawActor || (null != this.actor && this.actor.isHUD) || ((this.x -= h.cameraX), (this.y -= h.cameraY)); 0 == this.strokeSize ? this.graphics.lineStyle() : this.graphics.lineStyle(this.strokeSize * h.SCALE, this.strokeColor, this.alpha); this.graphics.beginFill(this.fillColor, this.alpha); this.graphics.drawRect(this.x + a, this.y + b, d, e); this.graphics.endFill(); this.drawActor && !this.actor.isHUD && ((this.x += h.cameraX), (this.y += h.cameraY)); this.graphics.lineStyle(); }, drawRoundRect: function (a, b, d, e, c) { a *= this.scaleX; b *= this.scaleY; d *= this.scaleX; e *= this.scaleY; !this.drawActor || (null != this.actor && this.actor.isHUD) || ((this.x -= h.cameraX), (this.y -= h.cameraY)); 0 == this.strokeSize ? this.graphics.lineStyle() : this.graphics.lineStyle(this.strokeSize * h.SCALE, this.strokeColor, this.alpha); this.graphics.drawRoundRect(this.x + a, this.y + b, d, e, c, c); this.drawActor && !this.actor.isHUD && ((this.x += h.cameraX), (this.y += h.cameraY)); this.graphics.lineStyle(); }, fillRoundRect: function (a, b, d, e, c) { a *= this.scaleX; b *= this.scaleY; d *= this.scaleX; e *= this.scaleY; !this.drawActor || (null != this.actor && this.actor.isHUD) || ((this.x -= h.cameraX), (this.y -= h.cameraY)); 0 == this.strokeSize ? this.graphics.lineStyle() : this.graphics.lineStyle(this.strokeSize * h.SCALE, this.strokeColor, this.alpha); this.graphics.beginFill(this.fillColor, this.alpha); this.graphics.drawRoundRect(this.x + a, this.y + b, d, e, c, c); this.graphics.endFill(); this.drawActor && !this.actor.isHUD && ((this.x += h.cameraX), (this.y += h.cameraY)); this.graphics.lineStyle(); }, drawCircle: function (a, b, d) { a *= this.scaleX; b *= this.scaleY; d *= this.scaleX; !this.drawActor || (null != this.actor && this.actor.isHUD) || ((this.x -= h.cameraX), (this.y -= h.cameraY)); 0 == this.strokeSize ? this.graphics.lineStyle() : this.graphics.lineStyle(this.strokeSize * h.SCALE, this.strokeColor, this.alpha); this.graphics.drawCircle(this.x + a, this.y + b, d); this.drawActor && !this.actor.isHUD && ((this.x += h.cameraX), (this.y += h.cameraY)); this.graphics.lineStyle(); }, fillCircle: function (a, b, d) { a *= this.scaleX; b *= this.scaleY; d *= this.scaleX; !this.drawActor || (null != this.actor && this.actor.isHUD) || ((this.x -= h.cameraX), (this.y -= h.cameraY)); 0 == this.strokeSize ? this.graphics.lineStyle() : this.graphics.lineStyle(this.strokeSize * h.SCALE, this.strokeColor, this.alpha); this.graphics.beginFill(this.fillColor, this.alpha); this.graphics.drawCircle(this.x + a, this.y + b, d); this.graphics.endFill(); this.drawActor && !this.actor.isHUD && ((this.x += h.cameraX), (this.y += h.cameraY)); this.graphics.lineStyle(); }, beginFillPolygon: function () { this.drawPoly = !1; !this.drawActor || (null != this.actor && this.actor.isHUD) || ((this.x -= h.cameraX), (this.y -= h.cameraY)); 0 == this.strokeSize ? this.graphics.lineStyle() : this.graphics.lineStyle(this.strokeSize * h.SCALE, this.strokeColor, this.alpha); this.graphics.moveTo(this.x, this.y); this.pointCounter = 0; }, endDrawingPolygon: function () { 2 <= this.pointCounter && (this.drawPoly ? this.graphics.lineTo(this.x + this.firstX, this.y + this.firstY) : (this.graphics.lineTo(this.x + this.firstX, this.y + this.firstY), this.graphics.endFill()), this.drawActor && !this.actor.isHUD && ((this.x += h.cameraX), (this.y += h.cameraY)), this.graphics.lineStyle()); }, beginDrawPolygon: function () { this.drawPoly = !0; !this.drawActor || (null != this.actor && this.actor.isHUD) || ((this.x -= h.cameraX), (this.y -= h.cameraY)); 0 == this.strokeSize ? this.graphics.lineStyle() : this.graphics.lineStyle(this.strokeSize * h.SCALE, this.strokeColor, this.alpha); this.graphics.moveTo(this.x, this.y); this.pointCounter = 0; }, addPointToPolygon: function (a, b) { a *= this.scaleX; b *= this.scaleY; 0 == this.pointCounter && ((this.firstX = a), (this.firstY = b), this.graphics.moveTo(this.x + a, this.y + b), this.drawPoly || this.graphics.beginFill(this.fillColor, this.alpha)); this.pointCounter++; this.graphics.lineTo(this.x + a, this.y + b); }, drawImage: function (a, b, d, e, c) { null == e && (e = 0); b *= this.scaleX; d *= this.scaleY; this.rect.x = 0; this.rect.y = 0; this.rect.width = a.width; this.rect.height = a.height; this.drawActor ? null != this.actor && this.actor.isHUD ? ((this.point.x = this.x + b), (this.point.y = this.y + d)) : ((this.point.x = this.x + b - h.cameraX), (this.point.y = this.y + d - h.cameraY)) : ((this.point.x = this.x + b), (this.point.y = this.y + d)); this.mtx.identity(); this.mtx.rotate(e); this.mtx.translate(this.point.x, this.point.y); 0 == e ? (1 != this.alpha && ((this.point2.x = 0), (this.point2.y = 0), (this.rect2.width = a.width), (this.rect2.height = a.height), (b = new la(a.width, a.height, !0, this.toARGB(0, (255 * this.alpha) | 0))), (d = new la(a.width, a.height, !0, 0)), d.copyPixels(a, this.rect2, this.point2, b, null, !0), (a = d)), this.graphics.beginBitmapFill(a, this.mtx), this.graphics.drawRect(this.point.x, this.point.y, a.width, a.height)) : (1 != this.alpha && ((this.point2.x = 0), (this.point2.y = 0), (this.rect2.width = a.width), (this.rect2.height = a.height), (b = new la(a.width, a.height, !0, this.toARGB(0, (255 * this.alpha) | 0))), (d = new la(a.width, a.height, !0, 0)), d.copyPixels(a, this.rect2, this.point2, b, null, !0), (a = d)), (b = new la(a.width + 2, a.height + 2, !0, 0)), (d = Math.sqrt(Math.pow(b.width, 2) + Math.pow(b.height, 2)) | 0), (e = new ea(0, 0, a.width, a.height)), (c = new na(1, 1)), b.copyPixels(a, e, c), this.graphics.beginBitmapFill(b, this.mtx, !1, ba.antialias), this.graphics.drawRect( this.x - (d - a.width) / 2, this.y - (d - a.height) / 2, d, d )); this.graphics.endFill(); }, toARGB: function (a, b) { return a + (b << 24); }, resetFont: function () { this.font = this.defaultFont; this.font.fontScale != h.SCALE && (this.font.fontScale = h.SCALE); }, __class__: ha }; var sc = function () {}; k['com.stencyl.graphics._G.TemporaryImage'] = sc; sc.__name__ = 'com.stencyl.graphics._G.TemporaryImage'; sc.prototype = { lifetime: null, img: null, __class__: sc }; var fd = function () {}; k['com.stencyl.graphics.GLUtil'] = fd; fd.__name__ = 'com.stencyl.graphics.GLUtil'; fd.initialize = function () { null == fd.gl && ((fd.context = h.stage.window.context), (fd.context3D = h.stage.context3D), (fd.gl = $b.fromRenderContext(fd.context)), (fd.renderer = h.stage.__renderer), (fd.textureMaxSize = fd.gl.getParameter(fd.gl.MAX_TEXTURE_SIZE)), (fd.textureMaxSize = (fd.textureMaxSize / 2) | 0), fd.textureMaxSize > fd.MAX_TEXTURE_CAP && (fd.textureMaxSize = fd.MAX_TEXTURE_CAP), null == la.__supportsBGRA && new la(1, 1, !0, 0).getTexture(fd.context3D)); }; fd.uploadTexture = function (a, b) { a.getTexture(fd.context3D); b && fd.disposeSoftwareBuffer(a); }; fd.disposeSoftwareBuffer = function (a) { a.image = null; a.readable = !1; a.__surface = null; a.__vertexBuffer = null; a.__framebuffer = null; a.__framebufferContext = null; }; fd.createNewTexture = function (a) { var b = fd.context3D.createRectangleTexture(a, a, 1, !1); b.uploadFromTypedArray(null); var d = new la(0, 0, !0, 0); d.__resize(a, a); d.readable = !1; d.__texture = b; d.__textureContext = fd.context; d.__isValid = !0; d.image = null; return d; }; fd.clearTexture = function (a) { a.__texture.uploadFromTypedArray(null); }; var Gd = function (a) { this.value = a; }; k['com.stencyl.graphics.Scale'] = Gd; Gd.__name__ = 'com.stencyl.graphics.Scale'; Gd.fromString = function (a) { switch (a) { case '1.5x': return Gd._1_5X; case '1x': return Gd._1X; case '2x': return Gd._2X; case '3x': return Gd._3X; case '4x': return Gd._4X; default: return Gd._1X; } }; Gd.prototype = { value: null, toString: function () { return 1 == this.value ? '1x' : 1.5 == this.value ? '1.5x' : 2 == this.value ? '2x' : 3 == this.value ? '3x' : 4 == this.value ? '4x' : ''; }, __class__: Gd }; var xj = { _new: function (a) { return a; }, fromString: function (a) { switch (a) { case 'FULLSCREEN': return 1; case 'NO_SCALING': return 0; case 'SCALE_TO_FIT_FILL': return 4; case 'SCALE_TO_FIT_FULLSCREEN': return 5; case 'SCALE_TO_FIT_LETTERBOX': return 3; case 'STRETCH_TO_FIT': return 2; default: return 0; } }, toString: function (a) { switch (a) { case 0: return 'NO_SCALING'; case 1: return 'FULLSCREEN'; case 2: return 'STRETCH_TO_FIT'; case 3: return 'SCALE_TO_FIT_LETTERBOX'; case 4: return 'SCALE_TO_FIT_FILL'; case 5: return 'SCALE_TO_FIT_FULLSCREEN'; default: return 'NO_SCALING'; } } }, gf = function () { this.lineSpacing = 0; this.isDefault = !1; this._maxHeight = 0; this._point = new na(); this._glyphs = new Ya(); this._num_letters = 0; }; k['com.stencyl.graphics.fonts.BitmapFont'] = gf; gf.__name__ = 'com.stencyl.graphics.fonts.BitmapFont'; gf.store = function (a, b) { gf._storedFonts.h[a] = b; }; gf.fetch = function (a) { return gf._storedFonts.h[a]; }; gf.prototype = { _glyphs: null, _num_letters: null, _tileset: null, _glyphString: null, _maxHeight: null, _point: null, isDefault: null, lineSpacing: null, loadPixelizer: function (a, b) { this.reset(); this._glyphString = b; if (null != a) { b = []; a = this.prepareBitmapData(a, b); this._tileset = new Ph(a); for (var d = 0, e = b.length; d < e; ) { var c = d++; a = b[c]; this.setGlyph(C.cca(this._glyphString, c), a, c, 0, 0, Math.floor(a.width)); } } return this; }, loadAngelCode: function (a, b) { this.reset(); if (null != a) { this._glyphString = ''; var d = new ea(), e = new na(), c = 0, g; this._tileset = new Ph(a); a = null; for (b = b.elements(); b.hasNext(); ) { var l = b.next(); if (l.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element but found ' + (null == l.nodeType ? 'null' : ua.toString(l.nodeType)) ); if ('font' == l.nodeName) for (g = l.elements(); g.hasNext(); ) { l = g.next(); if (l.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element but found ' + (null == l.nodeType ? 'null' : ua.toString(l.nodeType)) ); if ('common' == l.nodeName) this.lineSpacing = z.parseInt(l.get('lineHeight')); else { if (l.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element but found ' + (null == l.nodeType ? 'null' : ua.toString(l.nodeType)) ); 'chars' == l.nodeName && (a = l); } } } if (null != a) for (b = a.elements(); b.hasNext(); ) { l = b.next(); if (l.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element but found ' + (null == l.nodeType ? 'null' : ua.toString(l.nodeType)) ); if ('char' == l.nodeName) { d.x = z.parseInt(l.get('x')); d.y = z.parseInt(l.get('y')); d.width = z.parseInt(l.get('width')); d.height = z.parseInt(l.get('height')); e.x = z.parseInt(l.get('xoffset')); e.y = z.parseInt(l.get('yoffset')); a = z.parseInt(l.get('id')); g = String.fromCodePoint(a); this._glyphString += g; var q = (l = z.parseInt(l.get('xadvance'))); d.width > l && ((q = d.width | 0), (e.x = 0)); ' ' != g && '' != g ? this.setGlyph(a, d, c, Math.floor(e.x), Math.floor(e.y), q) : this.setGlyph(a, d, c, Math.floor(e.x), 1, q); ++c; } } } return this; }, reset: function () { this.dispose(); this._maxHeight = 0; this._glyphs = new Ya(); this._glyphString = ''; }, prepareBitmapData: function (a, b) { for (var d = a.getPixel(0, 0), e = 0, c; e < a.height; ) { var g = 0; for (c = 0; c < a.width; ) { if ((a.getPixel(c, e) | 0) != d) { for (var l = c, q = e; (a.getPixel(l, e) | 0) != d; ) ++l; for (; (a.getPixel(c, q) | 0) != d; ) ++q; l -= c; q -= e; b.push(new ea(c, e, l, q)); q > g && (g = q); q > this._maxHeight && (this._maxHeight = q); c += l; } ++c; } e += g + 1; } b = a.clone(); g = a.getPixel32(0, 0); for (e = 0; e < a.height; ) { for (c = 0; c < a.width; ) (d = a.getPixel32(c, e)), d == g && b.setPixel32(c, e, 0), ++c; ++e; } return b; }, dispose: function () { this._tileset = null; this._num_letters = 0; this._glyphs = null; }, setGlyph: function (a, b, d, e, c, g) { null == g && (g = 0); null == c && (c = 0); null == e && (e = 0); 0 == b.width && (b.width = 1); 0 == b.height && (b.height = 1); this._tileset.addRect(b); var f = new Tn(); f.tileID = d; f.xoffset = e; f.yoffset = c; f.xadvance = g; this._glyphs.h[a] = f; this._num_letters++; Math.floor(b.height) + c > this._maxHeight && (this._maxHeight = Math.floor(b.height) + c); }, render: function (a, b, d, e, c, g, l, q) { this._point.x = e; this._point.y = c; c = e = 0; for (q = b.length; c < q; ) { var f = c++; if (!(f < e)) { var r = C.cca(b, f); 126 == r && 'x' == b.charAt(f + 1) && ((f = b.substring(f + 2, f + 6)), (r = z.parseInt('0x' + f)), (e += 5)); var h = this._glyphs.h[r]; this._glyphs.h.hasOwnProperty(r) && ((f = h.xadvance), 32 != r && ((r = new ig( h.tileID, this._point.x + h.xoffset * l, this._point.y + h.yoffset * l )), r.set_scaleX(l), r.set_scaleY(l), r.set_alpha(d), a.addTile(r)), (this._point.x += f * l + g)); ++e; } } }, renderToImg: function (a, b, d, e, c, g, l, q, y, r) { null == r && (r = !0); null == y && (y = 0); var f = new jg(a.width, a.height, this._tileset, ba.antialias); this.render(f, b, e, c, g, l, q, y); r ? a.draw( f, null, new Kc(((d >> 16) & 255) / 255, ((d >> 8) & 255) / 255, (d & 255) / 255) ) : a.draw(f); f.removeTiles(); }, toARGB: function (a, b) { return a + (b << 24); }, getTextWidth: function (a, b, d) { null == d && (d = 1); null == b && (b = 0); for (var e = 0, c = 0, g = a.length, l = 0; l < g; ) { var q = l++; if (!(q < c)) { var y = C.cca(a, q); 126 == y && 'x' == a.charAt(q + 1) && ((q = a.substring(q + 2, q + 6)), (y = z.parseInt('0x' + q)), (c += 5)); this._glyphs.h.hasOwnProperty(y) && (e += this._glyphs.h[y].xadvance); ++c; } } e = Math.round(e * d); 1 < g && (e += (g - 1) * b); return e; }, getFontHeight: function () { return this._maxHeight; }, numLetters: null, get_numLetters: function () { return this._num_letters; }, containsCharacter: function (a) { return 0 <= this._glyphString.indexOf(a); }, getTileset: function () { return this._tileset; }, __class__: gf, __properties__: { get_numLetters: 'get_numLetters' } }; var th = function () {}; k['com.stencyl.graphics.fonts.DefaultFontGenerator'] = th; th.__name__ = 'com.stencyl.graphics.fonts.DefaultFontGenerator'; th.generateAndStoreDefaultFont = function () { for (var a = '', b = new la(700, 9, !0, -7829368), d = 0, e = 0; e < th.fontData.length; ) { a += C.substr(th.fontData, e, 1); for ( var c = z.parseInt(C.substr(th.fontData, ++e, 1)), g = 0, l = z.parseInt(C.substr(th.fontData, ++e, 1)); g < l; ) for (var q = g++, y = 0, r = c; y < r; ) { var h = y++; ++e; '1' == C.substr(th.fontData, e, 1) ? b.setPixel32(1 + 7 * d + h, 1 + q, -1) : b.setPixel32(1 + 7 * d + h, 1 + q, 0); } ++e; ++d; } gf.store('default', new gf().loadPixelizer(b, a)); b.dispose(); }; var Tn = function () {}; k['com.stencyl.graphics.fonts.FontSymbol'] = Tn; Tn.__name__ = 'com.stencyl.graphics.fonts.FontSymbol'; Tn.prototype = { xoffset: null, yoffset: null, xadvance: null, tileID: null, __class__: Tn }; var el = function (a) { this.cacheParentAnchor = W.zero; Ca.call(this); this._text = ''; this._color = 0; this._useColor = !0; this._outline = !1; this._outlineColor = 0; this._shadow = !1; this._shadowColor = 0; this._background = !1; this._backgroundColor = 16777215; this._alignment = 1; this._padding = 0; this._pendingTextChange = !1; this._fieldWidth = 1; this._multiLine = !1; this._letterSpacing = this._lineSpacing = 0; this._fontScale = 1; this._autoUpperCase = !1; this._wordWrap = this._fixedWidth = !0; this._alpha = 1; null == a ? (null == gf.fetch('default') && th.generateAndStoreDefaultFont(), (this._font = gf.fetch('default'))) : (this._font = a); this.set_cacheAsBitmap(!0); this._pendingTextChange = !0; this.update(); }; k['com.stencyl.graphics.fonts.Label'] = el; el.__name__ = 'com.stencyl.graphics.fonts.Label'; el.__interfaces__ = [qh]; el.__super__ = Ca; el.prototype = t(Ca.prototype, { _stencylFont: null, _font: null, _text: null, _color: null, _useColor: null, _outline: null, _outlineColor: null, _shadow: null, _shadowColor: null, _background: null, _backgroundColor: null, _alignment: null, _padding: null, _lineSpacing: null, _letterSpacing: null, _fontScale: null, _autoUpperCase: null, _wordWrap: null, _fixedWidth: null, _pendingTextChange: null, _fieldWidth: null, _multiLine: null, _alpha: null, labelX: null, labelY: null, _shadowTilemap: null, _outlineTilemap: null, _characterTilemap: null, cacheParentAnchor: null, destroy: function () { this._font = this._stencylFont = null; this.removeChildren(); this._characterTilemap = this._shadowTilemap = this._outlineTilemap = null; }, get_text: function () { return this._text; }, set_text: function (a) { a.split('\\n').join('\n') != this._text && ((this._text = a), (this._text = this._text.split('\\n').join('\n')), this._autoUpperCase && (this._text = this._text.toUpperCase()), (this._pendingTextChange = !0), this.update()); return this._text; }, updateBitmapData: function () { if (null != this._font) { var a = this._fieldWidth, b = [], d = this._font.getFontHeight(), e = this._alignment, c = this._text.split('\n'), g = -1; this._multiLine || (c = [c[0]]); for (var l, q; ++g < c.length; ) if (this._fixedWidth) { var y = !1; var r = c[g].split(' '); if (0 < r.length) for (var h = 0, p = ''; !y; ) { q = r[h]; var k = p + q + ' ', n = !1; if (this._wordWrap) this._font.getTextWidth(k, this._letterSpacing, this._fontScale) > this._fieldWidth ? ('' == p ? r.splice(0, 1) : b.push(C.substr(p, 0, p.length - 1)), (p = ''), this._multiLine ? r.splice(0, h) : r.splice(0, r.length), (h = 0), (n = !0)) : ((p += q + ' '), ++h); else if ( this._font.getTextWidth(k, this._letterSpacing, this._fontScale) > this._fieldWidth ) { var u = 0; for (l = q.length; u < l; ) (k = p + q.charAt(u)), this._font.getTextWidth(k, this._letterSpacing, this._fontScale) > this._fieldWidth ? (b.push(C.substr(p, 0, p.length - 1)), (q = p = ''), (h = r.length), (u = l), (n = !0)) : (p += q.charAt(u)), ++u; } else (p += q + ' '), ++h; h >= r.length && (n || ((y = C.substr(p, 0, p.length - 1)), (a = Math.floor( Math.max( a, this._font.getTextWidth(y, this._letterSpacing, this._fontScale) ) )), b.push(y)), (y = !0)); } else b.push(''); } else (a = Math.floor( Math.max(a, this._font.getTextWidth(c[g], this._letterSpacing, this._fontScale)) )), b.push(c[g]); a = a + 2 * this._padding + (this._outline ? 2 : 0); c = Math.floor( 2 * this._padding + Math.max( 1, b.length * d * this._fontScale + (this._shadow ? 1 : 0) + (this._outline ? 2 : 0) ) ) + (1 <= b.length ? this._lineSpacing * (b.length - 1) : 0); this.get_graphics().clear(); 1 == this._background && (this.get_graphics().beginFill(this._backgroundColor, this._alpha), this.get_graphics().drawRect(0, 0, a, c), this.get_graphics().endFill()); this.removeChildren(); this._outline && ((this._outlineTilemap = new jg(a, c, this._font.getTileset(), ba.antialias)), this.tint(this._outlineTilemap, this._outlineColor), this.addChild(this._outlineTilemap)); this._shadow && ((this._shadowTilemap = new jg(a, c, this._font.getTileset(), ba.antialias)), this.tint(this._shadowTilemap, this._shadowColor), this.addChild(this._shadowTilemap)); this._characterTilemap = new jg(a, c, this._font.getTileset(), ba.antialias); this._useColor && this.tint(this._characterTilemap, this._color); this.addChild(this._characterTilemap); for (g = c = 0; g < b.length; ) { r = b[g]; ++g; p = h = 0; 3 == e && (h = this._fixedWidth ? Math.floor( (this._fieldWidth - this._font.getTextWidth(r, this._letterSpacing, this._fontScale)) / 2 ) : Math.floor( (a - this._font.getTextWidth(r, this._letterSpacing, this._fontScale)) / 2 )); 2 == e && (h = this._fixedWidth ? this._fieldWidth - Math.floor(this._font.getTextWidth(r, this._letterSpacing, this._fontScale)) : a - Math.floor(this._font.getTextWidth(r, this._letterSpacing, this._fontScale)) - 2 * this.get_padding()); if (this._outline) { for (y = 0; 3 > y; ) for (u = y++, l = 0; 3 > l; ) (q = l++), this._font.render( this._outlineTilemap, r, this._alpha, q + h + this._padding, u + c * (Math.floor(d * this._fontScale) + this._lineSpacing) + this._padding, this._letterSpacing, this._fontScale ); ++h; ++p; } this._shadow && this._font.render( this._shadowTilemap, r, this._alpha, 1 + h + this._padding, 1 + p + c * (Math.floor(d * this._fontScale) + this._lineSpacing) + this._padding, this._letterSpacing, this._fontScale ); this._font.render( this._characterTilemap, r, this._alpha, h + this._padding, p + c * (Math.floor(d * this._fontScale) + this._lineSpacing) + this._padding, this._letterSpacing, this._fontScale ); ++c; } this._pendingTextChange = !1; } }, update: function () { this._pendingTextChange && this.updateBitmapData(); }, get_background: function () { return this._background; }, set_background: function (a) { this._background != a && ((this._background = a), (this._pendingTextChange = !0), this.update()); return a; }, get_backgroundColor: function () { return this._backgroundColor; }, set_backgroundColor: function (a) { this._backgroundColor != a && ((this._backgroundColor = a), this._background && ((this._pendingTextChange = !0), this.update())); return a; }, get_shadow: function () { return this._shadow; }, set_shadow: function (a) { this._shadow != a && ((this._shadow = a), (this._outline = !1), this.updateGlyphs(!1, this._shadow, !1), (this._pendingTextChange = !0), this.update()); return a; }, get_shadowColor: function () { return this._shadowColor; }, set_shadowColor: function (a) { this._shadowColor != a && ((this._shadowColor = a), this.updateGlyphs(!1, this._shadow, !1), (this._pendingTextChange = !0), this.update()); return a; }, get_padding: function () { return this._padding; }, set_padding: function (a) { this._padding != a && ((this._padding = a), (this._pendingTextChange = !0), this.update()); return a; }, get_color: function () { return this._color; }, set_color: function (a) { this._color != a && ((this._color = a), this.updateGlyphs(!0, !1, !1), (this._pendingTextChange = !0), this.update()); return a; }, get_useColor: function () { return this._useColor; }, set_useColor: function (a) { this._useColor != a && ((this._useColor = a), this.updateGlyphs(!0, !1, !1), (this._pendingTextChange = !0), this.update()); return a; }, setWidth: function (a) { 1 > a && (a = 1); a != this._fieldWidth && ((this._fieldWidth = a), (this._pendingTextChange = !0), this.update()); return a; }, get_alignment: function () { return this._alignment; }, set_alignment: function (a) { this._alignment != a && ((this._alignment = a), (this._pendingTextChange = !0), this.update()); return a; }, get_multiLine: function () { return this._multiLine; }, set_multiLine: function (a) { this._multiLine != a && ((this._multiLine = a), (this._pendingTextChange = !0), this.update()); return a; }, get_outline: function () { return this._outline; }, set_outline: function (a) { this._outline != a && ((this._outline = a), (this._shadow = !1), this.updateGlyphs(!1, !1, !0), (this._pendingTextChange = !0), this.update()); return a; }, get_outlineColor: function () { return this._outlineColor; }, set_outlineColor: function (a) { this._outlineColor != a && ((this._outlineColor = a), this.updateGlyphs(!1, !1, this._outline), (this._pendingTextChange = !0), this.update()); return a; }, get_font: function () { return this._font; }, set_font: function (a) { this._font != a && ((this._font = a), this.updateGlyphs(!0, this._shadow, this._outline), (this._pendingTextChange = !0), this.update()); return a; }, get_stencylFont: function () { return this._stencylFont; }, set_stencylFont: function (a) { this._stencylFont != a && ((this._stencylFont = a), this.set_font(a.font)); return a; }, get_lineSpacing: function () { return this._lineSpacing; }, set_lineSpacing: function (a) { this._lineSpacing != a && ((this._lineSpacing = Math.floor(Math.abs(a))), (this._pendingTextChange = !0), this.update()); return a; }, setAlpha: function (a) { this._alpha != a && ((this._alpha = a), (this._pendingTextChange = !0), this.update()); }, getAlpha: function () { return this._alpha; }, get_fontScale: function () { return this._fontScale; }, set_fontScale: function (a) { var b = Math.abs(a); b != this._fontScale && ((this._fontScale = b), this.updateGlyphs(!0, this._shadow, this._outline), (this._pendingTextChange = !0), this.update()); return a; }, get_letterSpacing: function () { return this._letterSpacing; }, set_letterSpacing: function (a) { a = Math.floor(a); a != this._letterSpacing && ((this._letterSpacing = a), (this._pendingTextChange = !0), this.update()); return this._letterSpacing; }, get_autoUpperCase: function () { return this._autoUpperCase; }, set_autoUpperCase: function (a) { this._autoUpperCase != a && (this._autoUpperCase = a) && this.set_text(this._text.toUpperCase()); return this._autoUpperCase; }, get_wordWrap: function () { return this._wordWrap; }, set_wordWrap: function (a) { this._wordWrap != a && ((this._wordWrap = a), (this._pendingTextChange = !0), this.update()); return this._wordWrap; }, get_fixedWidth: function () { return this._fixedWidth; }, set_fixedWidth: function (a) { this._fixedWidth != a && ((this._fixedWidth = a), (this._pendingTextChange = !0), this.update()); return this._fixedWidth; }, set_labelX: function (a) { this.set_x(a * h.SCALE); return (this.labelX = a); }, get_labelX: function () { return this.labelX; }, set_labelY: function (a) { this.set_y(a * h.SCALE); return (this.labelY = a); }, get_labelY: function () { return this.labelY; }, updatePosition: function () { this.set_x(this.get_labelX() * h.SCALE - this.cacheParentAnchor.x); this.set_y(this.get_labelY() * h.SCALE - this.cacheParentAnchor.y); }, updateScale: function () { this.updatePosition(); null != this._stencylFont && this.set_font(this._stencylFont.font); }, updateGlyphs: function (a, b, d) {}, tint: function (a, b) { var d = new Za(); d.colorize(b, 1); a.set_filters([d.getFilter()]); }, __class__: el, __properties__: t(Ca.prototype.__properties__, { set_fixedWidth: 'set_fixedWidth', get_fixedWidth: 'get_fixedWidth', set_wordWrap: 'set_wordWrap', get_wordWrap: 'get_wordWrap', set_autoUpperCase: 'set_autoUpperCase', get_autoUpperCase: 'get_autoUpperCase', set_letterSpacing: 'set_letterSpacing', get_letterSpacing: 'get_letterSpacing', set_fontScale: 'set_fontScale', get_fontScale: 'get_fontScale', set_lineSpacing: 'set_lineSpacing', get_lineSpacing: 'get_lineSpacing', set_stencylFont: 'set_stencylFont', get_stencylFont: 'get_stencylFont', set_font: 'set_font', get_font: 'get_font', set_outlineColor: 'set_outlineColor', get_outlineColor: 'get_outlineColor', set_outline: 'set_outline', get_outline: 'get_outline', set_multiLine: 'set_multiLine', get_multiLine: 'get_multiLine', set_alignment: 'set_alignment', get_alignment: 'get_alignment', set_useColor: 'set_useColor', get_useColor: 'get_useColor', set_color: 'set_color', get_color: 'get_color', set_padding: 'set_padding', get_padding: 'get_padding', set_shadowColor: 'set_shadowColor', get_shadowColor: 'get_shadowColor', set_shadow: 'set_shadow', get_shadow: 'get_shadow', set_backgroundColor: 'set_backgroundColor', get_backgroundColor: 'get_backgroundColor', set_background: 'set_background', get_background: 'get_background', set_text: 'set_text', get_text: 'get_text', set_labelY: 'set_labelY', get_labelY: 'get_labelY', set_labelX: 'set_labelX', get_labelX: 'get_labelX' }) }); var Un = function () {}; k['com.stencyl.graphics.fonts.TextAlign'] = Un; Un.__name__ = 'com.stencyl.graphics.fonts.TextAlign'; var gd = function () {}; k['com.stencyl.graphics.shaders.BasicShader'] = gd; gd.__name__ = 'com.stencyl.graphics.shaders.BasicShader'; gd.prototype = { multipassParent: null, multipassTarget: null, model: null, setProperty: function (a, b) { this.model.setUniform(a, b); }, getProperty: function (a) { return this.model.getUniform(a); }, tweenProperty: function (a, b, d, e) { null == d && (d = 1); this.model.tweenUniform(a, b, d, e); }, enable: function () { h.engine.addShader(this.model); }, disable: function () { h.engine.clearShaders(); }, setTimeScale: function (a) { this.model.timeScale = a; }, combine: function (a) { this.multipassTarget = a; a.multipassParent = this; return a; }, __class__: gd }; var Vn = function (a, b, d, e, c, g, l, q, y) { null == y && (y = 0.0075); null == q && (q = 0.009); null == l && (l = 0.012); null == g && (g = 0.6); null == c && (c = 0.4); null == e && (e = 3); null == d && (d = 4); null == b && (b = 0.004); null == a && (a = 0.25); this.model = new qd( this, '\n\t\t\t#ifdef GL_ES\n\t\t\t\tprecision mediump float;\n\t\t\t#endif\n\t\t\t\n\t\t\tvarying vec2 vTexCoord;\n\t\t\tuniform vec2 uResolution;\n\t\t\tuniform sampler2D uImage0;\n\t\t\t\n\t\t\tuniform float currPixelWeight;\n\t\t\tuniform float neighborPixelWeight;\n\t\t\tuniform float lowThreshold;\n\t\t\tuniform float mediumThreshold;\n\t\t\tuniform float lowMultiplier;\n\t\t\tuniform float mediumMultiplier;\n\t\t\tuniform float highMultiplier;\n\n\t\t\tvoid main(void)\n\t\t\t{\n\t\t\t\tvec4 sum = vec4(0.0);\n\t\t\t\tvec2 q1 = vTexCoord;\n\t\t\t\tvec4 oricol = texture2D(uImage0, vec2(q1.x, q1.y));\n\t\t\t\tvec3 col;\n\t\t\t\t\n\t\t\t\tfor(int i = -3; i < 3; i++) \n\t\t\t\t{\n\t\t\t\t\tfor(int j = -3; j < 3; j++) \n\t\t\t\t\t{\n\t\t\t\t\t\tsum += texture2D(uImage0, vec2(j, i) * neighborPixelWeight + vec2(q1.x, q1.y)) * currPixelWeight;\n\t\t\t\t\t}\n\t\t\t \t}\n\t\t\t \n\t\t\t \tif(oricol.r < lowThreshold) \n\t\t\t \t{\n\t\t\t\t\tgl_FragColor = sum * sum * lowMultiplier + oricol;\n\t\t\t \t} \n\t\t\t \n\t\t\t \telse \n\t\t\t \t{\n\t\t\t\t\tif(oricol.r < mediumThreshold) \n\t\t\t\t\t{\n\t\t\t\t\t\tgl_FragColor = sum * sum * mediumMultiplier + oricol;\n\t\t\t\t \t} \n\t\t\t\t \t\n\t\t\t\t \telse \n\t\t\t\t \t{\n\t\t\t\t\t\tgl_FragColor = sum * sum * highMultiplier + oricol;\n\t\t\t\t \t}\n\t\t\t }\n\t\t\t}\n\t\t', !0 ); this.setProperty('currPixelWeight', a); this.setProperty('neighborPixelWeight', b); this.setProperty('sampleX', d); this.setProperty('sampleY', e); this.setProperty('lowThreshold', c); this.setProperty('mediumThreshold', g); this.setProperty('lowMultiplier', l); this.setProperty('mediumMultiplier', q); this.setProperty('highMultiplier', y); }; k['com.stencyl.graphics.shaders.BloomShader'] = Vn; Vn.__name__ = 'com.stencyl.graphics.shaders.BloomShader'; Vn.__super__ = gd; Vn.prototype = t(gd.prototype, { __class__: Vn }); var Wn = function (a, b, d) { null == d && (d = 1); null == b && (b = 1); null == a && (a = 2); this.model = new qd( this, '\n\t\t\t#ifdef GL_ES\n\t\t\t\tprecision mediump float;\n\t\t\t#endif\n\t\t\t\n\t\t\t//in attributes from our vertex shader\n\t\t\tvarying vec2 vTexCoord;\n\t\t\t\n\t\t\t//declare uniforms\n\t\t\tuniform sampler2D uImage0;\n\t\t\tuniform vec2 uResolution;\n\t\t\t\n\t\t\tuniform float radius;\n\t\t\tuniform float dirx;\n\t\t\tuniform float diry;\n\t\t\t\n\t\t\tvoid main()\n\t\t\t{\n\t\t\t\t//this will be our RGBA sum\n\t\t\t\tvec4 sum = vec4(0.0);\n\t\t\t\n\t\t\t\t//our original texcoord for this fragment\n\t\t\t\tvec2 tc = vTexCoord;\n\t\t\t\n\t\t\t\t//the amount to blur, i.e. how far off center to sample from\n\t\t\t\t//1.0 -> blur by one pixel\n\t\t\t\t//2.0 -> blur by two pixels, etc.\n\t\t\t\tfloat blur = radius / uResolution.x;\n\t\t\t\n\t\t\t\t//the direction of our blur\n\t\t\t\t//(1.0, 0.0) -> x-axis blur\n\t\t\t\t//(0.0, 1.0) -> y-axis blur\n\t\t\t\tfloat hstep = dirx;\n\t\t\t\tfloat vstep = diry;\n\t\t\t\n\t\t\t\t//apply blurring, using a 9-tap filter with predefined gaussian weights\n\t\t\t\n\t\t\t\tsum += texture2D(uImage0, vec2(tc.x - 4.0*blur*hstep, tc.y - 4.0*blur*vstep)) * 0.0162162162;\n\t\t\t\tsum += texture2D(uImage0, vec2(tc.x - 3.0*blur*hstep, tc.y - 3.0*blur*vstep)) * 0.0540540541;\n\t\t\t\tsum += texture2D(uImage0, vec2(tc.x - 2.0*blur*hstep, tc.y - 2.0*blur*vstep)) * 0.1216216216;\n\t\t\t\tsum += texture2D(uImage0, vec2(tc.x - 1.0*blur*hstep, tc.y - 1.0*blur*vstep)) * 0.1945945946;\n\t\t\t\n\t\t\t\tsum += texture2D(uImage0, vec2(tc.x, tc.y)) * 0.2270270270;\n\t\t\t\n\t\t\t\tsum += texture2D(uImage0, vec2(tc.x + 1.0*blur*hstep, tc.y + 1.0*blur*vstep)) * 0.1945945946;\n\t\t\t\tsum += texture2D(uImage0, vec2(tc.x + 2.0*blur*hstep, tc.y + 2.0*blur*vstep)) * 0.1216216216;\n\t\t\t\tsum += texture2D(uImage0, vec2(tc.x + 3.0*blur*hstep, tc.y + 3.0*blur*vstep)) * 0.0540540541;\n\t\t\t\tsum += texture2D(uImage0, vec2(tc.x + 4.0*blur*hstep, tc.y + 4.0*blur*vstep)) * 0.0162162162;\n\t\t\t\n\t\t\t\t//discard alpha for our simple demo, multiply by vertex color and return\n\t\t\t\tgl_FragColor = vec4(sum.rgb, 1.0);\n\t\t\t}\n\t\t', !0 ); this.setRadius(a); this.setDirectionX(b); this.setDirectionY(d); }; k['com.stencyl.graphics.shaders.BlurShader'] = Wn; Wn.__name__ = 'com.stencyl.graphics.shaders.BlurShader'; Wn.__super__ = gd; Wn.prototype = t(gd.prototype, { setRadius: function (a) { this.setProperty('radius', a); }, setDirectionX: function (a) { this.setProperty('dirx', a); }, setDirectionY: function (a) { this.setProperty('diry', a); }, __class__: Wn }); var Qh = function (a, b, d) { null == d && (d = 1); null == b && (b = 1); null == a && (a = 1); this.model = new qd( this, '\n\t\t\t#ifdef GL_ES\n\t\t\t\tprecision mediump float;\n\t\t\t#endif\n\n\t\t\tvarying vec2 vTexCoord;\n\t\t\tuniform sampler2D uImage0;\n\t\t\tuniform float contrast;\n\t\t\tuniform float brightness;\n\t\t\tuniform float saturation;\n\n\t\t\tvec3 _mix(vec3 a, vec3 b, float amount) \n\t\t\t{ \n\t\t\t\treturn vec3(a.x * (1.0 - amount) + b.x * amount, a.y * (1.0 - amount) + b.y * amount, a.z * (1.0 - amount) + b.z * amount); \n\t\t\t}\n\n\t\t\tvoid main() \n\t\t\t{\n\t\t\t\tvec3 color = texture2D(uImage0, vTexCoord).rgb;\n\t\t\t\tconst vec3 luminanceCoefficient = vec3(0.2125, 0.7154, 0.0721);\n\t\t\t\tvec3 avgLuminance = vec3(0.5, 0.5, 0.5);\n\t\t\n\t\t\t\tvec3 brtColor = vec3(color.x * brightness, color.y * brightness, color.z * brightness);\n\t\t\t\tvec3 intensity = vec3(dot(brtColor, luminanceCoefficient));\n\t\t\t\tvec3 satColor = _mix(intensity, brtColor, saturation);\n\t\t\t\tvec3 conColor = _mix(avgLuminance, satColor, contrast);\n\t\t\n\t\t\t\tgl_FragColor = vec4(conColor, 1);\n\t\t\t}\n\t\t', !0 ); this.setContrast(a); this.setBrightness(b); this.setSaturation(d); }; k['com.stencyl.graphics.shaders.CSBShader'] = Qh; Qh.__name__ = 'com.stencyl.graphics.shaders.CSBShader'; Qh.create = function (a, b) { null == b && (b = 1); null == a && (a = 'contrast'); return 'contrast' == a ? new Qh(b, 1, 1) : 'saturation' == a ? new Qh(1, 1, b) : new Qh(1, b, 1); }; Qh.__super__ = gd; Qh.prototype = t(gd.prototype, { setContrast: function (a) { this.setProperty('contrast', a); }, setBrightness: function (a) { this.setProperty('brightness', a); }, setSaturation: function (a) { this.setProperty('saturation', a); }, __class__: Qh }); var Xn = function (a) { this.model = new qd(this, 'assets/data/' + a); }; k['com.stencyl.graphics.shaders.ExternalShader'] = Xn; Xn.__name__ = 'com.stencyl.graphics.shaders.ExternalShader'; Xn.__super__ = gd; Xn.prototype = t(gd.prototype, { __class__: Xn }); var Yn = function (a, b, d, e, c) { null == c && (c = 1); null == e && (e = 1.6); null == d && (d = 0.6); null == b && (b = !1); null == a && (a = 0.05); this.model = new qd( this, "\n\t\t\t/*\n\t\t\t\tFilm Grain post-process shader v1.1\n\t\t\t\tMartins Upitis (martinsh) devlog-martinsh.blogspot.com\n\t\t\t*/\n\n\t\t\t#ifdef GL_ES\n\t\t\t\tprecision mediump float;\n\t\t\t#endif\n\t\t\t\n\t\t\tuniform sampler2D uImage0; //rendered scene sampler\n\t\t\tuniform vec2 uResolution; //scene sampler resolution\n\t\t\tuniform float uTime;\n\t\t\t\n\t\t\tvarying vec2 vTexCoord;\n\t\t\t\n\t\t\tconst float permTexUnit = 1.0/256.0; // Perm texture texel-size\n\t\t\tconst float permTexUnitHalf = 0.5/256.0; // Half perm texture texel-size\n\t\t\t\n\t\t\tfloat width;\n\t\t\tfloat height;\n\t\t\t\n\t\t\tuniform float grainamount; //grain amount\n\t\t\tuniform float colored; //colored noise?\n\t\t\tuniform float coloramount;\n\t\t\tuniform float grainsize; //grain particle size (1.5 - 2.5)\n\t\t\tuniform float lumamount; //\n\t\t\t\n\t\t\t//a random texture generator, but you can also use a pre-computed perturbation texture\n\t\t\tvec4 rnm(in vec2 tc)\n\t\t\t{\n\t\t\t\tfloat noise = sin(dot(tc + vec2(uTime,uTime),vec2(12.9898,78.233))) * 43758.5453;\n\t\t\t\n\t\t\t\tfloat noiseR = fract(noise)*2.0-1.0;\n\t\t\t\tfloat noiseG = fract(noise*1.2154)*2.0-1.0;\n\t\t\t\tfloat noiseB = fract(noise*1.3453)*2.0-1.0;\n\t\t\t\tfloat noiseA = fract(noise*1.3647)*2.0-1.0;\n\t\t\t\n\t\t\t\treturn vec4(noiseR,noiseG,noiseB,noiseA);\n\t\t\t}\n\t\t\t\n\t\t\tfloat fade(in float t) {\n\t\t\t\treturn t*t*t*(t*(t*6.0-15.0)+10.0);\n\t\t\t}\n\t\t\t\n\t\t\tfloat pnoise3D(in vec3 p)\n\t\t\t{\n\t\t\t\tvec3 pi = permTexUnit*floor(p)+permTexUnitHalf; // Integer part, scaled so +1 moves permTexUnit texel\n\t\t\t\t// and offset 1/2 texel to sample texel centers\n\t\t\t\tvec3 pf = fract(p); // Fractional part for interpolation\n\t\t\t\n\t\t\t\t// Noise contributions from (x=0, y=0), z=0 and z=1\n\t\t\t\tfloat perm00 = rnm(pi.xy).a ;\n\t\t\t\tvec3 grad000 = rnm(vec2(perm00, pi.z)).rgb * 4.0 - 1.0;\n\t\t\t\tfloat n000 = dot(grad000, pf);\n\t\t\t\tvec3 grad001 = rnm(vec2(perm00, pi.z + permTexUnit)).rgb * 4.0 - 1.0;\n\t\t\t\tfloat n001 = dot(grad001, pf - vec3(0.0, 0.0, 1.0));\n\t\t\t\n\t\t\t\t// Noise contributions from (x=0, y=1), z=0 and z=1\n\t\t\t\tfloat perm01 = rnm(pi.xy + vec2(0.0, permTexUnit)).a ;\n\t\t\t\tvec3 grad010 = rnm(vec2(perm01, pi.z)).rgb * 4.0 - 1.0;\n\t\t\t\tfloat n010 = dot(grad010, pf - vec3(0.0, 1.0, 0.0));\n\t\t\t\tvec3 grad011 = rnm(vec2(perm01, pi.z + permTexUnit)).rgb * 4.0 - 1.0;\n\t\t\t\tfloat n011 = dot(grad011, pf - vec3(0.0, 1.0, 1.0));\n\t\t\t\n\t\t\t\t// Noise contributions from (x=1, y=0), z=0 and z=1\n\t\t\t\tfloat perm10 = rnm(pi.xy + vec2(permTexUnit, 0.0)).a ;\n\t\t\t\tvec3 grad100 = rnm(vec2(perm10, pi.z)).rgb * 4.0 - 1.0;\n\t\t\t\tfloat n100 = dot(grad100, pf - vec3(1.0, 0.0, 0.0));\n\t\t\t\tvec3 grad101 = rnm(vec2(perm10, pi.z + permTexUnit)).rgb * 4.0 - 1.0;\n\t\t\t\tfloat n101 = dot(grad101, pf - vec3(1.0, 0.0, 1.0));\n\t\t\t\n\t\t\t\t// Noise contributions from (x=1, y=1), z=0 and z=1\n\t\t\t\tfloat perm11 = rnm(pi.xy + vec2(permTexUnit, permTexUnit)).a ;\n\t\t\t\tvec3 grad110 = rnm(vec2(perm11, pi.z)).rgb * 4.0 - 1.0;\n\t\t\t\tfloat n110 = dot(grad110, pf - vec3(1.0, 1.0, 0.0));\n\t\t\t\tvec3 grad111 = rnm(vec2(perm11, pi.z + permTexUnit)).rgb * 4.0 - 1.0;\n\t\t\t\tfloat n111 = dot(grad111, pf - vec3(1.0, 1.0, 1.0));\n\t\t\t\n\t\t\t\t// Blend contributions along x\n\t\t\t\tvec4 n_x = mix(vec4(n000, n001, n010, n011), vec4(n100, n101, n110, n111), fade(pf.x));\n\t\t\t\n\t\t\t\t// Blend contributions along y\n\t\t\t\tvec2 n_xy = mix(n_x.xy, n_x.zw, fade(pf.y));\n\t\t\t\n\t\t\t\t// Blend contributions along z\n\t\t\t\tfloat n_xyz = mix(n_xy.x, n_xy.y, fade(pf.z));\n\t\t\t\n\t\t\t\t// We're done, return the final noise value.\n\t\t\t\treturn n_xyz;\n\t\t\t}\n\t\t\t\n\t\t\t//2d coordinate orientation thing\n\t\t\tvec2 coordRot(in vec2 tc, in float angle)\n\t\t\t{\n\t\t\t\tfloat aspect = width/height;\n\t\t\t\tfloat rotX = ((tc.x*2.0-1.0)*aspect*cos(angle)) - ((tc.y*2.0-1.0)*sin(angle));\n\t\t\t\tfloat rotY = ((tc.y*2.0-1.0)*cos(angle)) + ((tc.x*2.0-1.0)*aspect*sin(angle));\n\t\t\t\trotX = ((rotX/aspect)*0.5+0.5);\n\t\t\t\trotY = rotY*0.5+0.5;\n\t\t\t\treturn vec2(rotX,rotY);\n\t\t\t}\n\t\t\t\n\t\t\tvoid main()\n\t\t\t{\n\t\t\t\twidth = uResolution.x;\n\t\t\t\theight = uResolution.y;\n\t\t\t\t\n\t\t\t\tvec2 texCoord = vTexCoord.st;\n\t\t\t\n\t\t\t\tvec3 rotOffset = vec3(1.425,3.892,5.835); //rotation offset values\n\t\t\t\tvec2 rotCoordsR = coordRot(texCoord, uTime + rotOffset.x);\n\t\t\t\tvec3 noise = vec3(pnoise3D(vec3(rotCoordsR*vec2(width/grainsize,height/grainsize),0.0)));\n\t\t\t\n\t\t\t\tif (colored == 1.0)\n\t\t\t\t{\n\t\t\t\t\tvec2 rotCoordsG = coordRot(texCoord, uTime + rotOffset.y);\n\t\t\t\t\tvec2 rotCoordsB = coordRot(texCoord, uTime + rotOffset.z);\n\t\t\t\t\tnoise.g = mix(noise.r,pnoise3D(vec3(rotCoordsG*vec2(width/grainsize,height/grainsize),1.0)),coloramount);\n\t\t\t\t\tnoise.b = mix(noise.r,pnoise3D(vec3(rotCoordsB*vec2(width/grainsize,height/grainsize),2.0)),coloramount);\n\t\t\t\t}\n\t\t\t\n\t\t\t\tvec3 col = texture2D(uImage0, texCoord).rgb;\n\t\t\t\n\t\t\t\t//noisiness response curve based on scene luminance\n\t\t\t\tvec3 lumcoeff = vec3(0.299,0.587,0.114);\n\t\t\t\tfloat luminance = mix(0.0,dot(col, lumcoeff),lumamount);\n\t\t\t\tfloat lum = smoothstep(0.2,0.0,luminance);\n\t\t\t\tlum += luminance;\n\t\t\t\n\t\t\t\n\t\t\t\tnoise = mix(noise,vec3(0.0),pow(lum,4.0));\n\t\t\t\tcol = col+noise*grainamount;\n\t\t\t\n\t\t\t\tgl_FragColor = vec4(col,1.0);\n\t\t\t}\n\t\t", !0 ); this.setGrainAmount(a); this.setColorAmount(d); this.setGrainSize(e); this.setLuminance(c); b ? this.enableColor() : this.disableColor(); }; k['com.stencyl.graphics.shaders.GrainShader'] = Yn; Yn.__name__ = 'com.stencyl.graphics.shaders.GrainShader'; Yn.__super__ = gd; Yn.prototype = t(gd.prototype, { enableColor: function () { this.setProperty('colored', 1); }, disableColor: function () { this.setProperty('colored', 0); }, setGrainAmount: function (a) { this.setProperty('grainamount', a); }, setColorAmount: function (a) { this.setProperty('coloramount', a); }, setGrainSize: function (a) { this.setProperty('grainsize', a); }, setLuminance: function (a) { this.setProperty('lumamount', a); }, __class__: Yn }); var Zn = function () { this.model = new qd( this, '\n\t\t\t#ifdef GL_ES\n\t\t\t\tprecision mediump float;\n\t\t\t#endif\n\t\t\t\n\t\t\tvarying vec2 vTexCoord;\n\t\t\tuniform sampler2D uImage0;\n\t\t\t\n\t\t\tvoid main(void)\n\t\t\t{\n\t\t\t\tvec4 color = texture2D(uImage0, vTexCoord);\n\t\t\t\tfloat gray = dot(color.rgb, vec3(0.299, 0.587, 0.114));\n\t\t\t\tgl_FragColor = vec4(gray, gray, gray, 1.0);\n\t\t\t}\n\t\t', !0 ); }; k['com.stencyl.graphics.shaders.GrayscaleShader'] = Zn; Zn.__name__ = 'com.stencyl.graphics.shaders.GrayscaleShader'; Zn.__super__ = gd; Zn.prototype = t(gd.prototype, { __class__: Zn }); var $n = function (a, b) { null == b && (b = !0); null == a && (a = 0); b && (a *= Math.PI / 180); this.model = new qd( this, '\n\t\t\t#ifdef GL_ES\n\t\t\t\tprecision mediump float;\n\t\t\t#endif\n\t\t\t\n\t\t\tvarying vec2 vTexCoord;\n\t\t\tuniform sampler2D uImage0;\n\t\t\t\n\t\t\tuniform float hue;\n\t\t\tconst mat3 rgb2yiq = mat3(0.299, 0.587, 0.114, 0.595716, -0.274453, -0.321263, 0.211456, -0.522591, 0.311135);\n\t\t\tconst mat3 yiq2rgb = mat3(1.0, 0.9563, 0.6210, 1.0, -0.2721, -0.6474, 1.0, -1.1070, 1.7046);\n\n\t\t\tvoid main() \n\t\t\t{\n\t\t\t\tvec3 color = texture2D(uImage0, vTexCoord).rgb;\n\t\t\t\tvec3 yColor = rgb2yiq * color; \n\n\t\t\t\tfloat originalHue = atan(yColor.b, yColor.g);\n\t\t\t\tfloat finalHue = originalHue + hue;\n\t\t\t\tfloat chroma = sqrt(yColor.b * yColor.b + yColor.g * yColor.g);\n\t\t\t\t\n\t\t\t\tvec3 yFinalColor = vec3(yColor.r, chroma * cos(finalHue), chroma * sin(finalHue));\n\t\t\t\tgl_FragColor = vec4(yiq2rgb * yFinalColor, 1.0);\n\t\t\t}\n\t\t', !0 ); this.setHue(a, !1); }; k['com.stencyl.graphics.shaders.HueShader'] = $n; $n.__name__ = 'com.stencyl.graphics.shaders.HueShader'; $n.__super__ = gd; $n.prototype = t(gd.prototype, { setHue: function (a, b) { null == b && (b = !0); b && (a *= Math.PI / 180); this.setProperty('hue', a); }, __class__: $n }); var ao = function (a) { this.model = new qd(this, a, !0); }; k['com.stencyl.graphics.shaders.InlineShader'] = ao; ao.__name__ = 'com.stencyl.graphics.shaders.InlineShader'; ao.__super__ = gd; ao.prototype = t(gd.prototype, { __class__: ao }); var bo = function () { this.model = new qd( this, '\n\t\t\t#ifdef GL_ES\n\t\t\t\tprecision mediump float;\n\t\t\t#endif\n\t\t\t\n\t\t\tvarying vec2 vTexCoord;\n\t\t\tuniform sampler2D uImage0;\n\t\t\t\n\t\t\tvoid main(void)\n\t\t\t{\n\t\t\t\tvec4 color = texture2D(uImage0, vTexCoord);\n\t\t\t\tgl_FragColor = vec4(vec3(1.0, 1.0, 1.0) - color.rgb, color.a);\n\t\t\t}\n\t\t', !0 ); }; k['com.stencyl.graphics.shaders.InvertShader'] = bo; bo.__name__ = 'com.stencyl.graphics.shaders.InvertShader'; bo.__super__ = gd; bo.prototype = t(gd.prototype, { __class__: bo }); var qd = function (a, b, d) { null == d && (d = !1); this.timeScale = 1; this.time = 0; Ka.call(this); this.__drawableType = 3; this.basicShader = a; this.gl = h.stage.__renderer.gl; this.uniforms = new qa(); this.changedUniforms = []; this.uniformTweens = new qa(); this.rebuild(); this.gl.checkFramebufferStatus(36160); this.buffer = this.gl.createBuffer(); this.gl.bindBuffer(34962, this.buffer); a = [-1, -1, 0, 0, 1, -1, 1, 0, -1, 1, 0, 1, 1, -1, 1, 0, 1, 1, 1, 1, -1, 1, 0, 1]; a = null != a ? new Float32Array(a) : null; $b.bufferData(this.gl, 34962, a, 35044); this.gl.bindBuffer(34962, null); if (d) this.fullScreenShader = new Ij([ { src: '\n#ifdef GL_ES\n\tprecision mediump float;\n#endif\n\nattribute vec4 aVertex;\n\nattribute vec2 aTexCoord;\nvarying vec2 vTexCoord;\n\nvoid main() {\n\tvTexCoord = aTexCoord;\n\tgl_Position = vec4(aVertex.x, aVertex.y, 0.0, 1.0);\n}', fragment: !1 }, { src: b, fragment: !0 } ]); else if (6 < b.length && '.glslx' == C.substr(b, -6, null)) { d = S.parse(Da.getText(b)).firstElement(); if (d.nodeType != S.Document && d.nodeType != S.Element) throw J.thrown( 'Invalid nodeType ' + (null == d.nodeType ? 'null' : ua.toString(d.nodeType)) ); b = Rz.resolve(d, 'vertex') ? Fz.get_innerData(Gz.resolve(d, 'vertex')) : '\n#ifdef GL_ES\n\tprecision mediump float;\n#endif\n\nattribute vec4 aVertex;\n\nattribute vec2 aTexCoord;\nvarying vec2 vTexCoord;\n\nvoid main() {\n\tvTexCoord = aTexCoord;\n\tgl_Position = vec4(aVertex.x, aVertex.y, 0.0, 1.0);\n}'; d = Fz.get_innerData(Gz.resolve(d, 'fragment')); this.fullScreenShader = new Ij([ { src: b, fragment: !1 }, { src: d, fragment: !0 } ]); } else (b = Da.getText(b)), (this.fullScreenShader = new Ij([ { src: '\n#ifdef GL_ES\n\tprecision mediump float;\n#endif\n\nattribute vec4 aVertex;\n\nattribute vec2 aTexCoord;\nvarying vec2 vTexCoord;\n\nvoid main() {\n\tvTexCoord = aTexCoord;\n\tgl_Position = vec4(aVertex.x, aVertex.y, 0.0, 1.0);\n}', fragment: !1 }, { src: b, fragment: !0 } ])); this.imageUniform = u.context.getUniformLocation(this.fullScreenShader.program, 'uImage0'); this.timeUniform = u.context.getUniformLocation(this.fullScreenShader.program, 'uTime'); this.resolutionUniform = u.context.getUniformLocation( this.fullScreenShader.program, 'uResolution' ); this.resolutionUsUniform = u.context.getUniformLocation( this.fullScreenShader.program, 'uResolutionUs' ); this.vertexSlot = u.context.getAttribLocation(this.fullScreenShader.program, 'aVertex'); this.texCoordSlot = u.context.getAttribLocation(this.fullScreenShader.program, 'aTexCoord'); this.addEventListener('renderOpenGL', m(this, this.renderGL)); }; k['com.stencyl.graphics.shaders.PostProcess'] = qd; qd.__name__ = 'com.stencyl.graphics.shaders.PostProcess'; qd.__properties__ = { get_vertices: 'get_vertices', get_isSupported: 'get_isSupported' }; qd.get_isSupported = function () { return !1; }; qd.get_vertices = function () { return [-1, -1, 0, 0, 1, -1, 1, 0, -1, 1, 0, 1, 1, -1, 1, 0, 1, 1, 1, 1, -1, 1, 0, 1]; }; qd.__super__ = Ka; qd.prototype = t(Ka.prototype, { __added: null, __initialized: null, gl: null, __enterFrame: function (a) { this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()); }, renderGL: function (a) { var b = a.renderer; if (null != this.stage && this.__renderable) { a = h.stage; var d = a.context3D; b.__setBlendMode(null); null == this.basicShader.multipassTarget ? d.setRenderToBackBuffer() : d.setRenderToTexture(this.basicShader.multipassTarget.model.texture); d.clear(); this.time += h.elapsedTime * this.timeScale; u.context.useProgram(this.fullScreenShader.program); this.gl.enableVertexAttribArray(this.vertexSlot); this.gl.enableVertexAttribArray(this.texCoordSlot); this.gl.activeTexture(33984); this.gl.bindTexture(3553, this.texture.__getTexture()); 'opengl' == a.window.context.type && this.gl.enable(3553); this.gl.bindBuffer(34962, this.buffer); this.gl.vertexAttribPointer(this.vertexSlot, 2, 5126, !1, 16, 0); this.gl.vertexAttribPointer(this.texCoordSlot, 2, 5126, !1, 16, 8); this.gl.uniform1i(this.imageUniform, 0); this.gl.uniform1f(this.timeUniform, this.time); this.gl.uniform2f(this.resolutionUniform, a.stageWidth | 0, a.stageHeight | 0); this.gl.uniform2f( this.resolutionUsUniform, (a.stageWidth / (h.SCALE * h.screenScaleX)) | 0, (a.stageHeight / (h.SCALE * h.screenScaleY)) | 0 ); for (b = this.changedUniforms.length; 0 < b--; ) { var e = this.changedUniforms.pop(); if (e.value instanceof Array) { if (0 != e.value.length) { var c = this.gl, g = e.id; e = e.value; e = null != e ? new Float32Array(e) : null; c.uniform1fv(g, e); } } else this.gl.uniform1f(e.id, e.value); } this.gl.drawArrays(4, 0, 6); this.gl.bindBuffer(34962, null); 'opengl' == a.window.context.type && this.gl.disable(3553); this.gl.bindTexture(3553, null); this.gl.disableVertexAttribArray(this.vertexSlot); this.gl.disableVertexAttribArray(this.texCoordSlot); d.__contextState.program = null; d.__flushGLProgram(); d.__contextState.__currentGLElementArrayBuffer = null; } }, setUniform: function (a, b) { if (Object.prototype.hasOwnProperty.call(this.uniforms.h, a)) (a = this.uniforms.h[a]), (a.value = b), this.changedUniforms.push(a); else { var d = u.context.getUniformLocation(this.fullScreenShader.program, a); d != qd.UNIFORM_NOT_FOUND && ((b = { id: d, value: b }), (this.uniforms.h[a] = b), this.changedUniforms.push(b)); } }, getUniform: function (a) { return Object.prototype.hasOwnProperty.call(this.uniforms.h, a) ? this.uniforms.h[a].value : -1; }, tweenUniform: function (a, b, d, e) { null == d && (d = 1); var c = this; if (Object.prototype.hasOwnProperty.call(this.uniforms.h, a)) { var g = this.uniforms.h[a], l = this.uniformTweens.h[a]; null == l && ((l = new ye()), l.doOnUpdate(function () { g.value = l.value; c.changedUniforms.push(g); }), (this.uniformTweens.h[a] = l)); l.tween(g.value, b, e, (1e3 * d) | 0); } }, rebuild: function () { null != this.texture && this.texture.dispose(); this.texture = h.stage.context3D.createRectangleTexture( xa.windowWidth | 0, xa.windowHeight | 0, 1, !0 ); this.texture.__context.__bindGLTexture2D(this.texture.__textureID); this.texture.__setSamplerState(new Tg()); $b.texImage2D( this.gl, this.texture.__textureTarget, 0, this.texture.__internalFormat, this.texture.__width, this.texture.__height, 0, this.gl.RGB, this.gl.UNSIGNED_BYTE, null ); this.texture.__context.__bindGLTexture2D(null); }, createTexture: function (a, b) { this.texture = h.stage.context3D.createRectangleTexture(a, b, 1, !0); this.texture.__context.__bindGLTexture2D(this.texture.__textureID); this.texture.__setSamplerState(new Tg()); $b.texImage2D( this.gl, this.texture.__textureTarget, 0, this.texture.__internalFormat, this.texture.__width, this.texture.__height, 0, this.gl.RGB, this.gl.UNSIGNED_BYTE, null ); this.texture.__context.__bindGLTexture2D(null); }, capture: function () { h.stage.context3D.setRenderToTexture(this.texture); var a = this.texture.__getGLFramebuffer(!1, 0, 0); this.gl.bindFramebuffer(36160, a); this.gl.clear(16640); null != h.stage && null != h.stage.__renderer && (h.stage.__renderer.__cleared = !0); }, texture: null, fullScreenShader: null, buffer: null, basicShader: null, time: null, timeScale: null, vertexSlot: null, texCoordSlot: null, imageUniform: null, resolutionUniform: null, resolutionUsUniform: null, timeUniform: null, uniforms: null, changedUniforms: null, uniformTweens: null, __class__: qd }); var co = function (a) { null == a && (a = 1); this.model = new qd( this, '\n\t\t\t#ifdef GL_ES\n\t\t\t\tprecision mediump float;\n\t\t\t#endif\n\t\t\t\n\t\t\tvarying vec2 vTexCoord;\n\t\t\tuniform vec2 uResolution;\n\t\t\tuniform sampler2D uImage0;\n\t\t\t\n\t\t\tuniform float scale;\n\t\t\t\n\t\t\tvoid main()\n\t\t\t{\n\t\t\t\tif (mod(floor(vTexCoord.y * uResolution.y / scale), 2.0) == 0.0)\n\t\t\t\t\tgl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);\n\t\t\t\telse\n\t\t\t\t\tgl_FragColor = texture2D(uImage0, vTexCoord);\n\t\t\t}\n\t\t', !0 ); this.setScale(a); }; k['com.stencyl.graphics.shaders.ScanlineShader'] = co; co.__name__ = 'com.stencyl.graphics.shaders.ScanlineShader'; co.__super__ = gd; co.prototype = t(gd.prototype, { setScale: function (a) { this.setProperty('scale', a); }, __class__: co }); var eo = function () { this.model = new qd( this, '\n\t\t\t#ifdef GL_ES\n\t\t\t\tprecision mediump float;\n\t\t\t#endif\n\t\t\t\n\t\t\tvarying vec2 vTexCoord;\n\t\t\tuniform sampler2D uImage0;\n\t\t\t\n\t\t\tvoid main(void)\n\t\t\t{\n\t\t\t\tvec4 color = texture2D(uImage0, vTexCoord);\n\t\t\t\tgl_FragColor.r = dot(color, vec4(0.393,0.769,0.189,0));\n\t\t\t\tgl_FragColor.g = dot(color, vec4(0.349,0.686,0.168,0));\n\t\t\t\tgl_FragColor.b = dot(color, vec4(0.272,0.534,0.131,0));\n\t\t\t\tgl_FragColor.a = color.a;\n\t\t\t}\n\t\t', !0 ); }; k['com.stencyl.graphics.shaders.SepiaShader'] = eo; eo.__name__ = 'com.stencyl.graphics.shaders.SepiaShader'; eo.__super__ = gd; eo.prototype = t(gd.prototype, { __class__: eo }); var Ij = function (a) { this.program = u.context.createProgram(); for (var b = 0; b < a.length; ) { var d = a[b]; ++b; d = this.compile(d.src, d.fragment ? 35632 : 35633); if (null == d) return; u.context.attachShader(this.program, d); u.context.deleteShader(d); } u.context.linkProgram(this.program); u.context.getProgramParameter(this.program, 35714); }; k['com.stencyl.graphics.shaders.Shader'] = Ij; Ij.__name__ = 'com.stencyl.graphics.shaders.Shader'; Ij.prototype = { compile: function (a, b) { b = u.context.createShader(b); u.context.shaderSource(b, a); u.context.compileShader(b); return 0 == u.context.getShaderParameter(b, 35713) ? null : b; }, attribute: function (a) { return u.context.getAttribLocation(this.program, a); }, uniform: function (a) { return u.context.getUniformLocation(this.program, a); }, bind: function () { u.context.useProgram(this.program); }, program: null, __class__: Ij }; var fo = function (a) { null == a && (a = 2); this.model = new qd( this, '\n\t\t\t#ifdef GL_ES\n\t\t\t\tprecision mediump float;\n\t\t\t#endif\n\t\t\t\n\t\t\tvarying vec2 vTexCoord;\n\t\t\tuniform sampler2D uImage0;\n\t\t\tuniform vec2 uResolution;\n\t\t\t\n\t\t\tuniform float amount;\n\t\t\t\n\t\t\tvoid main()\n\t\t\t{\n\t\t\t\t//this will be our RGBA sum\n\t\t\t\tvec4 sum = vec4(0.0);\n\t\t\t\t\n\t\t\t\t//our original texcoord for this fragment\n\t\t\t\tvec2 tc = vTexCoord;\n\t\t\t\t\n\t\t\t\tfloat reach = 1.0 / uResolution.x;\n\n\t\t\t\t//current pixel\n\t\t\t\tsum += texture2D(uImage0, vec2(tc.x, tc.y));\n\t\t\t\t\n\t\t\t\t//sharpen\n\t\t\t\tsum += (texture2D(uImage0, vec2(tc.x, tc.y)) - texture2D(uImage0, vec2(tc.x + 1.0 * reach, tc.y))) * amount;\n\t\t\t\tsum += (texture2D(uImage0, vec2(tc.x, tc.y)) - texture2D(uImage0, vec2(tc.x - 1.0 * reach, tc.y))) * amount;\n\t\t\t\tsum += (texture2D(uImage0, vec2(tc.x, tc.y)) - texture2D(uImage0, vec2(tc.x, tc.y + 1.0 * reach))) * amount;\n\t\t\t\tsum += (texture2D(uImage0, vec2(tc.x, tc.y)) - texture2D(uImage0, vec2(tc.x, tc.y - 1.0 * reach))) * amount;\n\t\t\t\t\n\t\t\t\tgl_FragColor = vec4(sum.rgb, 1.0);\n\t\t\t}\n\t\t', !0 ); this.setAmount(a); }; k['com.stencyl.graphics.shaders.SharpenShader'] = fo; fo.__name__ = 'com.stencyl.graphics.shaders.SharpenShader'; fo.__super__ = gd; fo.prototype = t(gd.prototype, { setAmount: function (a) { this.setProperty('amount', a); }, __class__: fo }); var go = function (a, b) { null == b && (b = 1); this.model = new qd( this, '\n\t\t\t#ifdef GL_ES\n\t\t\t\tprecision mediump float;\n\t\t\t#endif\n\n\t\t\tvarying vec2 vTexCoord;\n\t\t\tuniform sampler2D uImage0;\n\t\t\tuniform float amount;\n\t\t\tuniform float red;\n\t\t\tuniform float green;\n\t\t\tuniform float blue;\n\n\t\t\tvec3 _mix(vec3 a, vec3 b, float amount) \n\t\t\t{ \n\t\t\t\treturn vec3(a.x * (1.0 - amount) + b.x * amount, a.y * (1.0 - amount) + b.y * amount, a.z * (1.0 - amount) + b.z * amount); \n\t\t\t}\n\n\t\t\tvoid main() \n\t\t\t{\n\t\t\t\tvec3 color = texture2D(uImage0, vTexCoord).rgb;\n\t\t\t\tvec3 endColor = _mix(color, vec3(red, green, blue), amount);\n\t\t\t\tgl_FragColor = vec4(endColor.x, endColor.y, endColor.z, 1);\n\t\t\t}\n\t\t', !0 ); this.setColor(a); this.setAmount(b); }; k['com.stencyl.graphics.shaders.TintShader'] = go; go.__name__ = 'com.stencyl.graphics.shaders.TintShader'; go.__super__ = gd; go.prototype = t(gd.prototype, { setAmount: function (a) { this.setProperty('amount', a); }, setColor: function (a) { this.setProperty('red', ((a >> 16) & 255) / 255); this.setProperty('green', ((a >> 8) & 255) / 255); this.setProperty('blue', (a & 255) / 255); }, __class__: go }); var qb = function (a) { this.duration = a; this.complete = this.active = !1; 0 == a && (this.active = this.complete = !0); }; k['com.stencyl.graphics.transitions.Transition'] = qb; qb.__name__ = 'com.stencyl.graphics.transitions.Transition'; qb.prototype = { duration: null, direction: null, active: null, complete: null, start: function () {}, reset: function () { this.complete = !1; }, stop: function () { this.complete = !0; }, deactivate: function () { this.active = !1; }, cleanup: function () {}, isActive: function () { return this.active; }, isComplete: function () { return this.complete; }, update: function (a) {}, draw: function (a) {}, getDuration: function () { return this.duration; }, __class__: qb }; var Bj = function (a, b, d, e) { null == d && (d = 10); qb.call(this, b); this.color = e; this.direction = a; this.numBlinds = d; a == qb.IN ? ((this.beginBlindWidth = (h.screenWidth * h.SCALE) / d), (this.endBlindWidth = 0)) : a == qb.OUT ? ((this.beginBlindWidth = 0), (this.endBlindWidth = (h.screenWidth * h.SCALE) / d)) : (this.complete = !0); }; k['com.stencyl.graphics.transitions.BlindsTransition'] = Bj; Bj.__name__ = 'com.stencyl.graphics.transitions.BlindsTransition'; Bj.__super__ = qb; Bj.prototype = t(qb.prototype, { color: null, numBlinds: null, blindWidth: null, beginBlindWidth: null, endBlindWidth: null, blindRect: null, rect: null, graphics: null, start: function () { this.active = !0; this.blindRect = new ea(0, 0, this.beginBlindWidth, h.screenHeight * h.SCALE); this.blindWidth = new ye(); this.rect = new Ke(); this.graphics = this.rect.get_graphics(); this.direction == qb.IN && (this.graphics.beginFill(this.color), this.graphics.drawRect(0, 0, h.screenWidth * h.SCALE, h.screenHeight * h.SCALE), this.graphics.endFill()); h.engine.transitionLayer.addChild(this.rect); this.blindWidth .tween(this.beginBlindWidth, this.endBlindWidth, v.linear, (1e3 * this.duration) | 0) .doOnComplete(m(this, this.stop)); }, draw: function (a) { this.graphics.clear(); this.graphics.beginFill(this.color); this.blindRect.x = 0; this.blindRect.width = this.blindWidth.value; this.direction == qb.IN && (this.blindRect.x += (h.screenWidth * h.SCALE) / this.numBlinds - this.blindWidth.value); a = 0; for (var b = this.numBlinds; a < b; ) a++, this.graphics.drawRect( this.blindRect.x, this.blindRect.y, this.blindRect.width, this.blindRect.height ), (this.blindRect.x += (h.screenWidth * h.SCALE) / this.numBlinds); this.graphics.endFill(); }, cleanup: function () { null != this.rect && (h.engine.transitionLayer.removeChild(this.rect), (this.rect = null)); }, __class__: Bj }); var Aj = function (a, b, d, e) { null == e && (e = -16777216); null == d && (d = 50); qb.call(this, b); this.color = e; this.direction = a; this.numBubbles = d; }; k['com.stencyl.graphics.transitions.BubblesTransition'] = Aj; Aj.__name__ = 'com.stencyl.graphics.transitions.BubblesTransition'; Aj.__super__ = qb; Aj.prototype = t(qb.prototype, { color: null, numBubbles: null, radius: null, beginRadius: null, endRadius: null, rect: null, graphics: null, drawBitmap: null, bubblePositions: null, bubbleRect: null, screenWidth: null, screenHeight: null, start: function () { this.active = !0; this.rect = new Ke(); this.graphics = this.rect.get_graphics(); this.screenWidth = (h.screenWidth * h.SCALE) | 0; this.screenHeight = (h.screenHeight * h.SCALE) | 0; this.direction == qb.IN && (this.graphics.beginFill(this.color), this.graphics.drawRect(0, 0, this.screenWidth, this.screenHeight), this.graphics.endFill()); this.drawBitmap = new la(this.screenWidth, this.screenHeight); var a = this.screenWidth / this.screenHeight, b = Math.sqrt(this.numBubbles / a) | 0, d = this.screenHeight / b; a = Math.ceil((b * a) | 0); b = Math.ceil(b); var e = (a * d - this.screenWidth) | 0, c = new ea(-e / 2, -((b * d - this.screenHeight) | 0) / 2, d, d); this.bubblePositions = []; for (var g = 0; g < b; ) { g++; for (var l = 0, q = a; l < q; ) l++, this.bubblePositions.push( new na( c.x + Math.floor(Math.random() * (d + 1)), c.y + Math.floor(Math.random() * (d + 1)) ) ), (c.x += d); c.x = -e / 2; c.y += d; } this.beginRadius = 0; this.endRadius = Math.ceil(na.distance(new na(0, 0), new na(d, d))); this.radius = new ye(); h.engine.transitionLayer.addChild(this.rect); this.radius .tween(this.beginRadius, this.endRadius, v.linear, (1e3 * this.duration) | 0) .doOnComplete(m(this, this.stop)); }, draw: function (a) { this.graphics.clear(); if (this.direction == qb.IN) { this.drawBitmap.draw(h.engine.colorLayer); this.drawBitmap.draw(h.engine.master); this.graphics.beginFill(this.color); this.graphics.drawRect(0, 0, this.screenWidth, this.screenHeight); this.graphics.endFill(); a = 0; for (var b = this.bubblePositions; a < b.length; ) { var d = b[a]; ++a; this.graphics.beginBitmapFill(this.drawBitmap); this.graphics.drawCircle(d.x, d.y, this.radius.value); this.graphics.endFill(); } } else if (this.direction == qb.OUT) for (a = 0, b = this.bubblePositions; a < b.length; ) (d = b[a]), ++a, this.graphics.beginFill(this.color), this.graphics.drawCircle(d.x, d.y, this.radius.value), this.graphics.endFill(); }, cleanup: function () { null != this.rect && (h.engine.transitionLayer.removeChild(this.rect), (this.rect = null)); }, __class__: Aj }); var Dj = function (a, b, d) { null == d && (d = -16777216); qb.call(this, b); this.color = d; this.direction = a; a == qb.IN ? ((this.beginRadius = 0), (this.endRadius = Math.ceil( na.distance( new na(0, 0), new na(h.screenWidthHalf * h.SCALE, h.screenHeightHalf * h.SCALE) ) ) | 0)) : a == qb.OUT && ((this.beginRadius = Math.ceil( na.distance( new na(0, 0), new na(h.screenWidthHalf * h.SCALE, h.screenHeightHalf * h.SCALE) ) ) | 0), (this.endRadius = 0)); }; k['com.stencyl.graphics.transitions.CircleTransition'] = Dj; Dj.__name__ = 'com.stencyl.graphics.transitions.CircleTransition'; Dj.__super__ = qb; Dj.prototype = t(qb.prototype, { color: null, radius: null, beginRadius: null, endRadius: null, circleImg: null, s: null, start: function () { this.active = !0; this.s = new Ke(); this.circleImg = new la((h.screenWidth * h.SCALE) | 0, (h.screenHeight * h.SCALE) | 0); this.radius = new ye(); if (this.direction == qb.IN) { var a = this.s.get_graphics(); a.beginFill(this.color); a.drawRect(0, 0, h.screenWidth * h.SCALE, h.screenHeight * h.SCALE); a.endFill(); } h.engine.transitionLayer.addChild(this.s); this.radius .tween(this.beginRadius, this.endRadius, v.linear, (1e3 * this.duration) | 0) .doOnComplete(m(this, this.stop)); }, draw: function (a) { this.s.get_graphics().clear(); this.s.get_graphics().beginFill(this.color); this.s.get_graphics().drawRect(0, 0, h.screenWidth * h.SCALE, h.screenHeight * h.SCALE); this.s.get_graphics().endFill(); this.circleImg.draw(h.engine.colorLayer); this.circleImg.draw(h.engine.master); this.s.get_graphics().beginBitmapFill(this.circleImg); this.s .get_graphics() .drawCircle( h.screenWidthHalf * h.SCALE, h.screenHeightHalf * h.SCALE, this.radius.value ); this.s.get_graphics().endFill(); }, cleanup: function () { null != this.s && (h.engine.transitionLayer.removeChild(this.s), (this.s = null)); }, __class__: Dj }); var $k = function (a, b) { qb.call(this, b); this.oldImg = a; }; k['com.stencyl.graphics.transitions.CrossfadeTransition'] = $k; $k.__name__ = 'com.stencyl.graphics.transitions.CrossfadeTransition'; $k.__super__ = qb; $k.prototype = t(qb.prototype, { oldImg: null, bitmap: null, rect: null, rectAlpha: null, start: function () { this.active = !0; this.bitmap = new la((h.screenWidth * h.SCALE) | 0, (h.screenHeight * h.SCALE) | 0); this.bitmap.draw(this.oldImg); this.rect = new Ke(); var a = this.rect.get_graphics(); a.beginBitmapFill(this.bitmap); a.drawRect(0, 0, h.screenWidth * h.SCALE, h.screenHeight * h.SCALE); a.endFill(); h.engine.transitionLayer.addChild(this.rect); this.rectAlpha = new ye(); this.rectAlpha .tween(1, 0, v.linear, (1e3 * this.duration) | 0) .doOnComplete(m(this, this.stop)); }, update: function (a) { this.rect.set_alpha(this.rectAlpha.value); }, draw: function (a) {}, cleanup: function () { this.bitmap = this.oldImg = null; null != this.rect && (h.engine.transitionLayer.removeChild(this.rect), (this.rect = null)); }, __class__: $k }); var bl = function (a, b) { null == b && (b = -16777216); qb.call(this, a); this.color = b; this.direction = qb.IN; }; k['com.stencyl.graphics.transitions.FadeInTransition'] = bl; bl.__name__ = 'com.stencyl.graphics.transitions.FadeInTransition'; bl.__super__ = qb; bl.prototype = t(qb.prototype, { color: null, rect: null, rectAlpha: null, start: function () { this.active = !0; this.rect = new Ke(); var a = this.rect.get_graphics(); a.beginFill(this.color); a.drawRect(0, 0, h.screenWidth * h.SCALE + 4, h.screenHeight * h.SCALE + 4); a.endFill(); a.drawCircle(1, 1, 1); h.engine.transitionLayer.addChild(this.rect); this.rectAlpha = new ye(); this.rectAlpha .tween(1, 0, v.linear, (1e3 * this.duration) | 0) .doOnComplete(m(this, this.stop)); }, update: function (a) { this.rect.set_alpha(this.rectAlpha.value); }, cleanup: function () { null != this.rect && (h.engine.transitionLayer.removeChild(this.rect), (this.rect = null)); }, __class__: bl }); var al = function (a, b) { null == b && (b = -16777216); qb.call(this, a); this.color = b; this.direction = qb.IN; }; k['com.stencyl.graphics.transitions.FadeOutTransition'] = al; al.__name__ = 'com.stencyl.graphics.transitions.FadeOutTransition'; al.__super__ = qb; al.prototype = t(qb.prototype, { color: null, rect: null, rectAlpha: null, start: function () { this.active = !0; this.rect = new Ke(); this.rect.set_alpha(0); var a = this.rect.get_graphics(); a.beginFill(this.color); a.drawRect(0, 0, h.screenWidth * h.SCALE + 4, h.screenHeight * h.SCALE + 4); a.endFill(); a.drawCircle(1, 1, 1); h.engine.transitionLayer.addChild(this.rect); this.rectAlpha = new ye(); this.rectAlpha .tween(0, 1, v.linear, (1e3 * this.duration) | 0) .doOnComplete(m(this, this.stop)); }, update: function (a) { this.rect.set_alpha(this.rectAlpha.value); }, cleanup: function () { null != this.rect && (h.engine.transitionLayer.removeChild(this.rect), (this.rect = null)); }, __class__: al }); var zj = function (a, b, d) { qb.call(this, a); this.beginPixelSize = b; this.endPixelSize = d; }; k['com.stencyl.graphics.transitions.PixelizeTransition'] = zj; zj.__name__ = 'com.stencyl.graphics.transitions.PixelizeTransition'; zj.__super__ = qb; zj.prototype = t(qb.prototype, { pixelSizeTween: null, beginPixelSize: null, endPixelSize: null, srcImg: null, displayImg: null, displayBitmap: null, c: null, r: null, xOverflow: null, yOverflow: null, pixelRect: null, halfSize: null, start: function () { this.active = !0; this.srcImg = new la((h.screenWidth * h.SCALE) | 0, (h.screenHeight * h.SCALE) | 0); this.displayImg = new la((h.screenWidth * h.SCALE) | 0, (h.screenHeight * h.SCALE) | 0); this.pixelRect = new ea(0, 0, 0, 0); h.engine.transitionLayer.addChild((this.displayBitmap = new rc(this.displayImg))); this.pixelSizeTween = new ye(); this.pixelSizeTween .tween(this.beginPixelSize, this.endPixelSize, v.linear, (1e3 * this.duration) | 0) .doOnComplete(m(this, this.stop)); }, draw: function (a) { a = this.pixelSizeTween.value | 0; if (1 == a) this.displayImg.draw(h.engine.colorLayer), this.displayImg.draw(h.engine.master); else { this.srcImg.draw(h.engine.colorLayer); this.srcImg.draw(h.engine.master); this.c = Math.ceil((h.screenWidth * h.SCALE) / a); this.r = Math.ceil((h.screenHeight * h.SCALE) / a); this.xOverflow = (this.c * a - h.screenWidth * h.SCALE) | 0; this.yOverflow = (this.r * a - h.screenHeight * h.SCALE) | 0; this.pixelRect.x = -this.xOverflow / 2; this.pixelRect.y = -this.yOverflow / 2; this.pixelRect.height = this.pixelRect.width = a; this.halfSize = (a / 2) | 0; this.displayImg.lock(); for (var b = 0, d = this.r; b < d; ) { b++; for (var e = 0, c = this.c; e < c; ) { e++; var g = this.srcImg.getPixel32( (this.pixelRect.x + this.halfSize) | 0, (this.pixelRect.y + this.halfSize) | 0 ); for ( var l = this.pixelRect.x | 0, q = (this.pixelRect.x + this.pixelRect.width) | 0; l < q; ) for ( var y = l++, r = this.pixelRect.y | 0, k = (this.pixelRect.y + this.pixelRect.height) | 0; r < k; ) { var p = r++; this.displayImg.setPixel32(y, p, g); } this.pixelRect.x += a; } this.pixelRect.x = -this.xOverflow / 2; this.pixelRect.y += a; } this.displayImg.unlock(); } }, cleanup: function () { null != this.displayBitmap && h.engine.transitionLayer.removeChild(this.displayBitmap); }, __class__: zj }); var Cj = function (a, b, d) { qb.call(this, b); this.color = d; this.direction = a; a == qb.IN ? ((this.beginHeight = this.beginWidth = 0), (this.endWidth = (h.screenWidth * h.SCALE) | 0), (this.endHeight = (h.screenHeight * h.SCALE) | 0)) : a == qb.OUT ? ((this.beginWidth = (h.screenWidth * h.SCALE) | 0), (this.beginHeight = (h.screenHeight * h.SCALE) | 0), (this.endHeight = this.endWidth = 0)) : (this.complete = !0); }; k['com.stencyl.graphics.transitions.RectangleTransition'] = Cj; Cj.__name__ = 'com.stencyl.graphics.transitions.RectangleTransition'; Cj.__super__ = qb; Cj.prototype = t(qb.prototype, { rectangleImg: null, graphics: null, color: null, size: null, beginWidth: null, endWidth: null, beginHeight: null, endHeight: null, rect: null, start: function () { this.active = !0; this.size = new Kf(); this.rectangleImg = new la((h.screenWidth * h.SCALE) | 0, (h.screenHeight * h.SCALE) | 0); this.rect = new Ke(); this.graphics = this.rect.get_graphics(); this.direction == qb.IN && (this.graphics.beginFill(this.color), this.graphics.drawRect(0, 0, h.screenWidth * h.SCALE, h.screenHeight * h.SCALE), this.graphics.endFill()); h.engine.transitionLayer.addChild(this.rect); this.size.onComplete = m(this, this.stop); this.size.tween( this.beginWidth, this.endWidth, this.beginHeight, this.endHeight, v.linear, (1e3 * this.duration) | 0 ); }, draw: function (a) { this.graphics.clear(); this.graphics.beginFill(this.color); this.graphics.drawRect(0, 0, h.screenWidth * h.SCALE, h.screenHeight * h.SCALE); this.graphics.endFill(); this.rectangleImg.draw(h.engine.colorLayer); this.rectangleImg.draw(h.engine.master); this.graphics.beginBitmapFill(this.rectangleImg); this.graphics.drawRect( (h.screenWidth * h.SCALE - this.size.value1) / 2, (h.screenHeight * h.SCALE - this.size.value2) / 2, this.size.value1, this.size.value2 ); this.graphics.endFill(); }, cleanup: function () { null != this.rect && (h.engine.transitionLayer.removeChild(this.rect), (this.rect = null)); }, __class__: Cj }); var Me = function (a, b, d, e) { qb.call(this, d); this.sceneSpr = a; this.sceneCol = b; this.oldSceneMatrix = new Ia(); this.newSceneMatrix = new Ia(); this.ty = this.tx = 0; e == Me.SLIDE_UP ? ((this.newSceneMatrix.ty = -h.screenHeight * h.SCALE), (this.ty = h.screenHeight * h.SCALE)) : e == Me.SLIDE_DOWN ? ((this.newSceneMatrix.ty = h.screenHeight * h.SCALE), (this.ty = -h.screenHeight * h.SCALE)) : e == Me.SLIDE_LEFT ? ((this.newSceneMatrix.tx = -h.screenWidth * h.SCALE), (this.tx = h.screenWidth * h.SCALE)) : e == Me.SLIDE_RIGHT ? ((this.newSceneMatrix.tx = h.screenWidth * h.SCALE), (this.tx = -h.screenWidth * h.SCALE)) : (this.complete = !0); }; k['com.stencyl.graphics.transitions.SlideTransition'] = Me; Me.__name__ = 'com.stencyl.graphics.transitions.SlideTransition'; Me.__super__ = qb; Me.prototype = t(qb.prototype, { sceneSpr: null, sceneCol: null, oldBitmap: null, newBitmap: null, drawBitmap: null, graphics: null, oldSceneMatrix: null, newSceneMatrix: null, osm_xy: null, nsm_xy: null, tx: null, ty: null, rect: null, start: function () { this.active = !0; this.oldBitmap = new la((h.screenWidth * h.SCALE) | 0, (h.screenHeight * h.SCALE) | 0); this.oldBitmap.draw(this.sceneCol); this.oldBitmap.draw(this.sceneSpr); this.newBitmap = new la((h.screenWidth * h.SCALE) | 0, (h.screenHeight * h.SCALE) | 0); this.drawBitmap = new la((h.screenWidth * h.SCALE) | 0, (h.screenHeight * h.SCALE) | 0); this.rect = new Ke(); this.graphics = this.rect.get_graphics(); this.graphics.beginBitmapFill(this.oldBitmap); this.graphics.drawRect(0, 0, h.screenWidth * h.SCALE, h.screenHeight * h.SCALE); this.graphics.endFill(); h.engine.transitionLayer.addChild(this.rect); this.osm_xy = new Kf(); this.nsm_xy = new Kf(); this.osm_xy.tween( this.oldSceneMatrix.tx, this.tx, this.oldSceneMatrix.ty, this.ty, v.linear, (1e3 * this.duration) | 0 ); this.nsm_xy.tween( this.newSceneMatrix.tx, 0, this.newSceneMatrix.ty, 0, v.linear, (1e3 * this.duration) | 0 ); this.nsm_xy.doOnComplete(m(this, this.stop)); }, update: function (a) { this.oldSceneMatrix.tx = this.osm_xy.value1; this.oldSceneMatrix.ty = this.osm_xy.value2; this.newSceneMatrix.tx = this.nsm_xy.value1; this.newSceneMatrix.ty = this.nsm_xy.value2; }, draw: function (a) { this.graphics.clear(); this.newBitmap.draw(this.sceneCol); this.newBitmap.draw(this.sceneSpr); this.drawBitmap.draw(this.newBitmap, this.newSceneMatrix); this.drawBitmap.draw(this.oldBitmap, this.oldSceneMatrix); this.graphics.beginBitmapFill(this.drawBitmap); this.graphics.drawRect(0, 0, h.screenWidth * h.SCALE, h.screenHeight * h.SCALE); this.graphics.endFill(); }, cleanup: function () { this.sceneSpr = null; null != this.rect && (h.engine.transitionLayer.removeChild(this.rect), (this.rect = null)); }, __class__: Me }); var Ug = function () {}; k['com.stencyl.io.AbstractReader'] = Ug; Ug.__name__ = 'com.stencyl.io.AbstractReader'; Ug.__isInterface__ = !0; Ug.prototype = { accepts: null, read: null, __class__: Ug }; var Tk = function () {}; k['com.stencyl.io.ActorTypeReader'] = Tk; Tk.__name__ = 'com.stencyl.io.ActorTypeReader'; Tk.__interfaces__ = [Ug]; Tk.prototype = { accepts: function (a) { return a == Pa.MBS_ACTOR_TYPE.getName(); }, read: function (a) { var b = a.getId(), d = a.getAtlasID(), e = a.getName(), c = new pi(); c.fixedRotation = a.getFixedRotation(); switch (a.getBodyType()) { case 0: var g = va.b2_staticBody; break; case 1: g = va.b2_kinematicBody; break; default: g = va.b2_dynamicBody; } c.type = g; c.linearDamping = a.getLinearDamping(); c.angularDamping = a.getAngularDamping(); c.friction = a.getFriction(); c.bounciness = a.getRestitution(); c.mass = a.getMass(); c.aMass = a.getInertia(); c.active = !0; c.bullet = !1; c.allowSleep = !1; c.awake = !0; c.ignoreGravity = a.getIgnoreGravity(); c.bullet = a.getContinuous(); g = a.getSprite(); var l = a.getGroupID(), q = a.getPhysicsMode(), y = a.getAutoScale(), r = a.getPausable(), h = c.ignoreGravity || c.type == va.b2_staticBody || c.type == va.b2_kinematicBody, p = te.readBehaviors(a.getSnippets()); a = a.getEventSnippetID(); if (-1 < a) { var k = new Gj(a, new qa()); p.h['' + a] = k; } return new cg(b, d, e, l, g, p, c, q, y, r, h); }, __class__: Tk }; var te = function () {}; k['com.stencyl.io.AttributeValues'] = te; te.__name__ = 'com.stencyl.io.AttributeValues'; te.readBehaviors = function (a) { for (var b = new qa(), d = 0, e = a.length(); d < e; ) { d++; var c = a.getNextObject(); if (c.getEnabled()) { var g = c.getId(); c = te.readBehaviorProperties(c.getProperties()); c = new Gj(g, c); b.h['' + g] = c; } } return b; }; te.readBehaviorProperties = function (a) { for (var b = new qa(), d = 0, e = a.length(); d < e; ) { d++; var c = a.getNextObject(), g = c.getId(), l = c.getType(); c = te.readAttribute(l, c); b.h['' + g] = c; } return b; }; te.readAttribute = function (a, b) { switch (a) { case 'list': return te.readList(b.getValue()); case 'map': return te.readMap(b.getValue()); default: return b.getValue(); } }; te.readAttributeDef = function (a, b) { switch (a) { case 'list': return te.readList(b.getDefaultValue()); case 'map': return te.readMap(b.getDefaultValue()); default: return b.getDefaultValue(); } }; te.readList = function (a) { if (null == a) return null; for (var b = [], d = 0, e = a.length(); d < e; ) { var c = d++; b[c] = a.readObject(); } return b; }; te.readMap = function (a) { if (null == a) return null; for (var b = new qa(), d = 0, e = a.length(); d < e; ) { d++; var c = a.getNextObject(), g = c.getKey(); c = c.getValue(); if (c instanceof uh) { for (var l = [], q = 0, y = c.length(); q < y; ) q++, l.push(c.readObject()); c = l; } else c instanceof Wa && (c = te.readMap(c)); b.h[g] = c; } return b; }; var Qk = function () {}; k['com.stencyl.io.BackgroundReader'] = Qk; Qk.__name__ = 'com.stencyl.io.BackgroundReader'; Qk.__interfaces__ = [Ug]; Qk.prototype = { accepts: function (a) { return a == Ra.MBS_BACKGROUND.getName(); }, read: function (a) { var b = a.getId(), d = a.getAtlasID(), e = a.getName(), c = a.getXVelocity(), g = a.getYVelocity(), l = a.getXParallaxFactor(), q = a.getYParallaxFactor(), y = []; if (0 < a.getNumFrames()) for (var r = a.getDurations(), h = 0, p = r.length(); h < p; ) h++, y.push(r.readInt()); a = a.getRepeats(); return 0 != c || 0 != g ? new vh(b, d, e, y, l, q, a, c, g) : new Ag(b, d, e, y, l, q, a); }, __class__: Qk }; var ti = function () {}; k['com.stencyl.io.BehaviorReader'] = ti; ti.__name__ = 'com.stencyl.io.BehaviorReader'; ti.readBehavior = function (a) { var b = a.getId(), d = a.getName(), e = a.getClassname(), c = a.getAttachedEvent(), g = new qa(), l = a.getType(); a = a.getAttributes(); for (var q = 0, y = a.length(); q < y; ) { q++; var h = a.getNextObject(), k = '' + h.getId(); h = ti.readAttribute(h, c); g.h[k] = h; } return new Wk(null, null, b, d, e, !0, !0, g, l, c); }; ti.readAttribute = function (a, b) { var d = a.getId(), e = a.getName(), c = a.getFullname(); b = b || a.getHidden(); var g = a.getType(); a = te.readAttributeDef(g, a); return new ui(d, e, c, a, g, null, b); }; ti.prototype = { __class__: ti }; var Vk = function () {}; k['com.stencyl.io.FontReader'] = Vk; Vk.__name__ = 'com.stencyl.io.FontReader'; Vk.__interfaces__ = [Ug]; Vk.prototype = { accepts: function (a) { return a == dc.MBS_FONT.getName(); }, read: function (a) { return new Af(a.getId(), a.getAtlasID(), a.getName(), !1); }, __class__: Vk }; var wd = function () {}; k['com.stencyl.io.ShapeReader'] = wd; wd.__name__ = 'com.stencyl.io.ShapeReader'; wd.readPoint = function (a) { return new na(a.getX(), a.getY()); }; wd.readPoints = function (a) { for (var b = Array(a.length()), d = 0, e = a.length(); d < e; ) { var c = d++, g = a.getNextObject(); b[c] = new na(g.getX(), g.getY()); } return b; }; wd.createCircle = function (a, b, d, e, c) { null == c && (c = -1); null == e && (e = -1); var f = 2 * a, l = new Lc(); l.m_radius = h.toPhysicalUnits(a); l.m_p.x = h.toPhysicalUnits(b - (e - f) / 2); l.m_p.y = h.toPhysicalUnits(d - (c - f) / 2); return l; }; wd.createPolygon = function (a, b, d, e) { null == e && (e = 0); null == d && (d = 0); var c = []; var g = b.length; var l = 0; d = (-d / 2) | 0; e = (-e / 2) | 0; if ('MbsPolygon' == a || 'MbsPolyRegion' == a) { for (l = 0; l < g; ) { var q = b[l]; a = h.toPhysicalUnits(q.x + d); q = h.toPhysicalUnits(q.y + e); c[l] = new P(a, q); ++l; } wd.EnsureCorrectVertexDirection(c); return Eb.asArray(c, c.length); } if ('MbsWireframe' == a) { for (; l < g; ) (q = b[l]), c.push(new P(h.toPhysicalUnits(q.x), h.toPhysicalUnits(q.y))), ++l; b = wd.getWidth(c); g = wd.getHeight(c); l = []; d = 0; for (e = c.length + 1; d < e; ) { var y = d++; a = new vg(c[y % c.length], c[(y + 1) % c.length]); l.push(a); a.m_hasVertex0 = !0; a.m_hasVertex3 = !0; q = c[(y - 1) % c.length]; y = c[(y + 2) % c.length]; null == q && (q = c[c.length - 1]); null == y && (y = c[0]); a.m_v0 = q; a.m_v3 = y; } c = new Ya(); c.h[0] = l; c.h[1] = b; c.h[2] = g; return c; } return null; }; wd.CheckVertexDirection = function (a) { if (2 < a.length) { for (var b = 0, d = 0; 0 == b && d < a.length - 2; ) (b = a[d].winding(a[d + 1], a[d + 2])), ++d; if (0 > b) return !1; } return !0; }; wd.EnsureCorrectVertexDirection = function (a) { return wd.CheckVertexDirection(a) ? !0 : (wd.ReverseVertices(a), !1); }; wd.ReverseVertices = function (a) { for (var b = 0, d = a.length - 1, e; d > b; ) (e = a[b].x), (a[b].x = a[d].x), (a[d].x = e), (e = a[b].y), (a[b].y = a[d].y), (a[d].y = e), ++b, --d; }; wd.getWidth = function (a) { for (var b = 1e7, d = 0, e = 0; e < a.length; ) { var c = a[e]; ++e; b = Math.min(b, c.x); d = Math.max(d, c.x); } return d - b; }; wd.getHeight = function (a) { for (var b = 1e7, d = 0, e = 0; e < a.length; ) { var c = a[e]; ++e; b = Math.min(b, c.y); d = Math.max(d, c.y); } return d - b; }; var Rk = function () {}; k['com.stencyl.io.SoundReader'] = Rk; Rk.__name__ = 'com.stencyl.io.SoundReader'; Rk.__interfaces__ = [Ug]; Rk.prototype = { accepts: function (a) { return a == tc.MBS_MUSIC.getName(); }, read: function (a) { var b = a.getStream(), d = a.getLoop(), e = a.getPan(), c = a.getVolume(), g = a.getType(); return new Oh(a.getId(), a.getName(), b, d, e, c, g, a.getAtlasID()); }, __class__: Rk }; var Uk = function () {}; k['com.stencyl.io.SpriteReader'] = Uk; Uk.__name__ = 'com.stencyl.io.SpriteReader'; Uk.__interfaces__ = [Ug]; Uk.prototype = { accepts: function (a) { return a == qc.MBS_SPRITE.getName(); }, read: function (a) { var b = a.getDefaultAnimation(), d = a.getReadableImages(); b = new si(a.getId(), a.getAtlasID(), a.getName(), b, d); a = a.getAnimations(); d = 0; for (var e = a.length(); d < e; ) { d++; var c = a.getNextObject(); c = this.readAnimation(c, b); b.animations.h[c.animID] = c; } return b; }, readAnimation: function (a, b) { for ( var d = a.getId(), e = a.getName(), c = a.getWidth(), g = a.getHeight(), l = a.getOriginX(), q = a.getOriginY(), y = a.getNumFrames(), h = a.getAcross(), k = a.getDown(), p = this.readSimpleShapes(a, (c / h) | 0, (g / k) | 0), n = this.readShapes(a, (c / h) | 0, (g / k) | 0), u = a.getLoop(), m = a.getSync(), t = [], x = a.getDurations(), w = 0, v = x.length(); w < v; ) (a = w++), (t[a] = x.readInt()), (t[a] = Math.floor(t[a] / 10)), (t[a] *= 10); return new se(d, e, b, p, n, u, m, c, g, l, q, t, y, h, k); }, readSimpleShapes: function (a, b, d) { b = new Ya(); a = a.getShapes(); d = 0; for (var e = a.length(); d < e; ) { d++; var c = a.getNextObject(), g = c.getId(), l = c.getGroupID(), q = c.getSensor(); c = c.getShape(); if (c instanceof Tc && ((c = c.getPoints()), 4 == c.length())) { for ( var y = c.getNextObject(), h = 0, k = 1e7, p = 1e7, n = 0, u = 0, m = y.getX() | 0, t = y.getY() | 0; h < c.length(); ) (k = Math.min(k, y.getX()) | 0), (p = Math.min(p, y.getY()) | 0), (n = Math.max(n, y.getX()) | 0), (u = Math.max(u, y.getY()) | 0), ++h, h < c.length() && (y = c.getNextObject()); l = new hd(n - k, u - p, m, t, !q, l); b.h[g] = l; } } return b; }, readShapes: function (a, b, d) { var e = new Ya(); a = a.getShapes(); for (var c = 0, g = a.length(); c < g; ) { c++; var l = a.getNextObject(), q = l.getId(); l.getGroupID(); var y = l.getSensor(), h = l.getShape(); if (h instanceof Hd) h = wd.createCircle( h.getRadius(), h.getPosition().getX(), h.getPosition().getY(), b, d ); else { var k = h; h = wd.createPolygon( h.getMbsType().getName(), wd.readPoints(k.getPoints()).slice(0), b, d ); } k = new Hf(); k.shape = h; k.density = l.getDensity(); k.friction = l.getFriction(); k.restitution = l.getRestitution(); k.isSensor = y; k.groupID = l.getGroupID(); e.h[q] = k; } return e; }, __class__: Uk }; var Sk = function () {}; k['com.stencyl.io.TilesetReader'] = Sk; Sk.__name__ = 'com.stencyl.io.TilesetReader'; Sk.__interfaces__ = [Ug]; Sk.prototype = { accepts: function (a) { return a == ec.MBS_TILESET.getName(); }, read: function (a) { var b = a.getAcross(), d = a.getDown(), e = a.getTileWidth(), c = a.getTileHeight(), g = a.getReadableImages(), l = []; b = new qf(a.getId(), a.getAtlasID(), a.getName(), b, d, e, c, g, l); a = a.getTiles(); d = 0; for (e = a.length(); d < e; ) d++, (c = a.getNextObject()), (l[c.getId()] = this.readTile(c, b)); b.isAtlasActive() && b.loadGraphics(); return b; }, readTile: function (a, b) { for ( var d = a.getId(), e = a.getCollision(), c = a.getMetadata(), g = a.getFrames(), l = [], q = 0, y = a.getDurations(), h = 0, k = y.length(); h < k; ) h++, (l[q] = y.readInt()), (l[q] = Math.floor(l[q] / 10)), (l[q] *= 10), ++q; q = null; -1 != a.getAutotile() && ((h = ra.get().autotileFormats), (k = a.getAutotile()), (q = h.h[k])); y = null; if (0 != a.getAutotileMerge().length()) for (y = new Ya(), a = a.getAutotileMerge(), h = 0, k = a.length(); h < k; ) { h++; var p = a.readInt(); y.h[p] = p; } return new Mc(d, e, c, g, l, q, y, b); }, __class__: Sk }; var lb = function (a) { this.data = a; }; k['mbs.core.MbsObject'] = lb; lb.__name__ = 'mbs.core.MbsObject'; lb.prototype = { data: null, address: null, getMbs: function () { return this.data; }, getAddress: function () { return this.address; }, setAddress: function (a) { this.address = a; }, getMbsType: function () { throw J.thrown('Must override getMbsType in MbsObject subclasses'); }, __class__: lb }; var rb = function (a) { this.data = a; }; k['com.stencyl.io.mbs.MbsResource'] = rb; rb.__name__ = 'com.stencyl.io.mbs.MbsResource'; rb.initializeType = function () { null == rb.MBS_RESOURCE && ((rb.MBS_RESOURCE = new yb('MbsResource')), rb.MBS_RESOURCE.setInstantiator(function (a) { return new rb(a); }), (rb.atlasID = rb.MBS_RESOURCE.createField('atlasID', M.INTEGER)), (rb.description = rb.MBS_RESOURCE.createField('description', M.STRING)), (rb.id = rb.MBS_RESOURCE.createField('id', M.INTEGER)), (rb.$name = rb.MBS_RESOURCE.createField('name', M.STRING))); }; rb.new_MbsResource_list = function (a) { return new Wa(a, rb.MBS_RESOURCE, new rb(a)); }; rb.__super__ = lb; rb.prototype = t(lb.prototype, { getMbsType: function () { return rb.MBS_RESOURCE; }, allocateNew: function () { this.setAddress(this.data.allocate(rb.MBS_RESOURCE.getSize())); }, getAtlasID: function () { return this.data.readInt(this.address + rb.atlasID.address); }, setAtlasID: function (a) { this.data.writeInt(this.address + rb.atlasID.address, a); }, getDescription: function () { return this.data.readString(this.address + rb.description.address); }, setDescription: function (a) { this.data.writeString(this.address + rb.description.address, a); }, getId: function () { return this.data.readInt(this.address + rb.id.address); }, setId: function (a) { this.data.writeInt(this.address + rb.id.address, a); }, getName: function () { return this.data.readString(this.address + rb.$name.address); }, setName: function (a) { this.data.writeString(this.address + rb.$name.address, a); }, __class__: rb }); var Ra = function (a) { this.data = a; this._durations = new Lf(a); }; k['com.stencyl.io.mbs.MbsBackground'] = Ra; Ra.__name__ = 'com.stencyl.io.mbs.MbsBackground'; Ra.initializeType = function () { null == Ra.MBS_BACKGROUND && (rb.initializeType(), (Ra.MBS_BACKGROUND = new yb('MbsBackground')), Ra.MBS_BACKGROUND.setInstantiator(function (a) { return new Ra(a); }), Ra.MBS_BACKGROUND.inherit(rb.MBS_RESOURCE), (Ra.readableImages = Ra.MBS_BACKGROUND.createField('readableImages', M.BOOLEAN)), (Ra.durations = Ra.MBS_BACKGROUND.createField('durations', M.LIST)), (Ra.height = Ra.MBS_BACKGROUND.createField('height', M.INTEGER)), (Ra.numFrames = Ra.MBS_BACKGROUND.createField('numFrames', M.INTEGER)), (Ra.repeats = Ra.MBS_BACKGROUND.createField('repeats', M.BOOLEAN)), (Ra.resized = Ra.MBS_BACKGROUND.createField('resized', M.BOOLEAN)), (Ra.width = Ra.MBS_BACKGROUND.createField('width', M.INTEGER)), (Ra.xParallaxFactor = Ra.MBS_BACKGROUND.createField('xParallaxFactor', M.FLOAT)), (Ra.xVelocity = Ra.MBS_BACKGROUND.createField('xVelocity', M.FLOAT)), (Ra.yParallaxFactor = Ra.MBS_BACKGROUND.createField('yParallaxFactor', M.FLOAT)), (Ra.yVelocity = Ra.MBS_BACKGROUND.createField('yVelocity', M.FLOAT))); }; Ra.new_MbsBackground_list = function (a) { return new Wa(a, Ra.MBS_BACKGROUND, new Ra(a)); }; Ra.__super__ = rb; Ra.prototype = t(rb.prototype, { getMbsType: function () { return Ra.MBS_BACKGROUND; }, _durations: null, allocateNew: function () { this.setAddress(this.data.allocate(Ra.MBS_BACKGROUND.getSize())); }, getReadableImages: function () { return this.data.readBool(this.address + Ra.readableImages.address); }, setReadableImages: function (a) { this.data.writeBool(this.address + Ra.readableImages.address, a); }, getDurations: function () { this._durations.setAddress(this.data.readInt(this.address + Ra.durations.address)); return this._durations; }, createDurations: function (a) { this._durations.allocateNew(a); this.data.writeInt(this.address + Ra.durations.address, this._durations.getAddress()); return this._durations; }, getHeight: function () { return this.data.readInt(this.address + Ra.height.address); }, setHeight: function (a) { this.data.writeInt(this.address + Ra.height.address, a); }, getNumFrames: function () { return this.data.readInt(this.address + Ra.numFrames.address); }, setNumFrames: function (a) { this.data.writeInt(this.address + Ra.numFrames.address, a); }, getRepeats: function () { return this.data.readBool(this.address + Ra.repeats.address); }, setRepeats: function (a) { this.data.writeBool(this.address + Ra.repeats.address, a); }, getResized: function () { return this.data.readBool(this.address + Ra.resized.address); }, setResized: function (a) { this.data.writeBool(this.address + Ra.resized.address, a); }, getWidth: function () { return this.data.readInt(this.address + Ra.width.address); }, setWidth: function (a) { this.data.writeInt(this.address + Ra.width.address, a); }, getXParallaxFactor: function () { return this.data.readFloat(this.address + Ra.xParallaxFactor.address); }, setXParallaxFactor: function (a) { this.data.writeFloat(this.address + Ra.xParallaxFactor.address, a); }, getXVelocity: function () { return this.data.readFloat(this.address + Ra.xVelocity.address); }, setXVelocity: function (a) { this.data.writeFloat(this.address + Ra.xVelocity.address, a); }, getYParallaxFactor: function () { return this.data.readFloat(this.address + Ra.yParallaxFactor.address); }, setYParallaxFactor: function (a) { this.data.writeFloat(this.address + Ra.yParallaxFactor.address, a); }, getYVelocity: function () { return this.data.readFloat(this.address + Ra.yVelocity.address); }, setYVelocity: function (a) { this.data.writeFloat(this.address + Ra.yVelocity.address, a); }, __class__: Ra }); var xd = function (a) { this.data = a; }; k['com.stencyl.io.mbs.MbsBlank'] = xd; xd.__name__ = 'com.stencyl.io.mbs.MbsBlank'; xd.initializeType = function () { null == xd.MBS_BLANK && ((xd.MBS_BLANK = new yb('MbsBlank')), xd.MBS_BLANK.setInstantiator(function (a) { return new xd(a); }), (xd.$name = xd.MBS_BLANK.createField('name', M.STRING)), (xd.type = xd.MBS_BLANK.createField('type', M.STRING))); }; xd.new_MbsBlank_list = function (a) { return new Wa(a, xd.MBS_BLANK, new xd(a)); }; xd.__super__ = lb; xd.prototype = t(lb.prototype, { getMbsType: function () { return xd.MBS_BLANK; }, allocateNew: function () { this.setAddress(this.data.allocate(xd.MBS_BLANK.getSize())); }, getName: function () { return this.data.readString(this.address + xd.$name.address); }, setName: function (a) { this.data.writeString(this.address + xd.$name.address, a); }, getType: function () { return this.data.readString(this.address + xd.type.address); }, setType: function (a) { this.data.writeString(this.address + xd.type.address, a); }, __class__: xd }); var Fb = function (a) { this.data = a; this._blanks = new Wa(a, xd.MBS_BLANK, new xd(a)); }; k['com.stencyl.io.mbs.MbsCustomBlock'] = Fb; Fb.__name__ = 'com.stencyl.io.mbs.MbsCustomBlock'; Fb.initializeType = function () { null == Fb.MBS_CUSTOM_BLOCK && (rb.initializeType(), (Fb.MBS_CUSTOM_BLOCK = new yb('MbsCustomBlock')), Fb.MBS_CUSTOM_BLOCK.setInstantiator(function (a) { return new Fb(a); }), Fb.MBS_CUSTOM_BLOCK.inherit(rb.MBS_RESOURCE), (Fb.blocktag = Fb.MBS_CUSTOM_BLOCK.createField('blocktag', M.STRING)), (Fb.blocktype = Fb.MBS_CUSTOM_BLOCK.createField('blocktype', M.STRING)), (Fb.code = Fb.MBS_CUSTOM_BLOCK.createField('code', M.STRING)), (Fb.global = Fb.MBS_CUSTOM_BLOCK.createField('global', M.BOOLEAN)), (Fb.gui = Fb.MBS_CUSTOM_BLOCK.createField('gui', M.STRING)), (Fb.message = Fb.MBS_CUSTOM_BLOCK.createField('message', M.STRING)), (Fb.returnType = Fb.MBS_CUSTOM_BLOCK.createField('returnType', M.STRING)), (Fb.snippetID = Fb.MBS_CUSTOM_BLOCK.createField('snippetID', M.INTEGER)), (Fb.blanks = Fb.MBS_CUSTOM_BLOCK.createField('blanks', M.LIST))); }; Fb.new_MbsCustomBlock_list = function (a) { return new Wa(a, Fb.MBS_CUSTOM_BLOCK, new Fb(a)); }; Fb.__super__ = rb; Fb.prototype = t(rb.prototype, { getMbsType: function () { return Fb.MBS_CUSTOM_BLOCK; }, _blanks: null, allocateNew: function () { this.setAddress(this.data.allocate(Fb.MBS_CUSTOM_BLOCK.getSize())); }, getBlocktag: function () { return this.data.readString(this.address + Fb.blocktag.address); }, setBlocktag: function (a) { this.data.writeString(this.address + Fb.blocktag.address, a); }, getBlocktype: function () { return this.data.readString(this.address + Fb.blocktype.address); }, setBlocktype: function (a) { this.data.writeString(this.address + Fb.blocktype.address, a); }, getCode: function () { return this.data.readString(this.address + Fb.code.address); }, setCode: function (a) { this.data.writeString(this.address + Fb.code.address, a); }, getGlobal: function () { return this.data.readBool(this.address + Fb.global.address); }, setGlobal: function (a) { this.data.writeBool(this.address + Fb.global.address, a); }, getGui: function () { return this.data.readString(this.address + Fb.gui.address); }, setGui: function (a) { this.data.writeString(this.address + Fb.gui.address, a); }, getMessage: function () { return this.data.readString(this.address + Fb.message.address); }, setMessage: function (a) { this.data.writeString(this.address + Fb.message.address, a); }, getReturnType: function () { return this.data.readString(this.address + Fb.returnType.address); }, setReturnType: function (a) { this.data.writeString(this.address + Fb.returnType.address, a); }, getSnippetID: function () { return this.data.readInt(this.address + Fb.snippetID.address); }, setSnippetID: function (a) { this.data.writeInt(this.address + Fb.snippetID.address, a); }, getBlanks: function () { this._blanks.setAddress(this.data.readInt(this.address + Fb.blanks.address)); return this._blanks; }, createBlanks: function (a) { this._blanks.allocateNew(a); this.data.writeInt(this.address + Fb.blanks.address, this._blanks.getAddress()); return this._blanks; }, __class__: Fb }); var dc = function (a) { this.data = a; }; k['com.stencyl.io.mbs.MbsFont'] = dc; dc.__name__ = 'com.stencyl.io.mbs.MbsFont'; dc.initializeType = function () { null == dc.MBS_FONT && (rb.initializeType(), (dc.MBS_FONT = new yb('MbsFont')), dc.MBS_FONT.setInstantiator(function (a) { return new dc(a); }), dc.MBS_FONT.inherit(rb.MBS_RESOURCE), (dc.alphabet = dc.MBS_FONT.createField('alphabet', M.STRING)), (dc.readableImages = dc.MBS_FONT.createField('readableImages', M.BOOLEAN)), (dc.height = dc.MBS_FONT.createField('height', M.INTEGER)), (dc.offsets = dc.MBS_FONT.createField('offsets', M.STRING)), (dc.prerendered = dc.MBS_FONT.createField('prerendered', M.BOOLEAN)), (dc.rowHeight = dc.MBS_FONT.createField('rowHeight', M.INTEGER))); }; dc.new_MbsFont_list = function (a) { return new Wa(a, dc.MBS_FONT, new dc(a)); }; dc.__super__ = rb; dc.prototype = t(rb.prototype, { getMbsType: function () { return dc.MBS_FONT; }, allocateNew: function () { this.setAddress(this.data.allocate(dc.MBS_FONT.getSize())); }, getAlphabet: function () { return this.data.readString(this.address + dc.alphabet.address); }, setAlphabet: function (a) { this.data.writeString(this.address + dc.alphabet.address, a); }, getReadableImages: function () { return this.data.readBool(this.address + dc.readableImages.address); }, setReadableImages: function (a) { this.data.writeBool(this.address + dc.readableImages.address, a); }, getHeight: function () { return this.data.readInt(this.address + dc.height.address); }, setHeight: function (a) { this.data.writeInt(this.address + dc.height.address, a); }, getOffsets: function () { return this.data.readString(this.address + dc.offsets.address); }, setOffsets: function (a) { this.data.writeString(this.address + dc.offsets.address, a); }, getPrerendered: function () { return this.data.readBool(this.address + dc.prerendered.address); }, setPrerendered: function (a) { this.data.writeBool(this.address + dc.prerendered.address, a); }, getRowHeight: function () { return this.data.readInt(this.address + dc.rowHeight.address); }, setRowHeight: function (a) { this.data.writeInt(this.address + dc.rowHeight.address, a); }, __class__: dc }); var tc = function (a) { this.data = a; }; k['com.stencyl.io.mbs.MbsMusic'] = tc; tc.__name__ = 'com.stencyl.io.mbs.MbsMusic'; tc.initializeType = function () { null == tc.MBS_MUSIC && (rb.initializeType(), (tc.MBS_MUSIC = new yb('MbsMusic')), tc.MBS_MUSIC.setInstantiator(function (a) { return new tc(a); }), tc.MBS_MUSIC.inherit(rb.MBS_RESOURCE), (tc.loop = tc.MBS_MUSIC.createField('loop', M.BOOLEAN)), (tc.pan = tc.MBS_MUSIC.createField('pan', M.INTEGER)), (tc.stream = tc.MBS_MUSIC.createField('stream', M.BOOLEAN)), (tc.type = tc.MBS_MUSIC.createField('type', M.STRING)), (tc.volume = tc.MBS_MUSIC.createField('volume', M.INTEGER))); }; tc.new_MbsMusic_list = function (a) { return new Wa(a, tc.MBS_MUSIC, new tc(a)); }; tc.__super__ = rb; tc.prototype = t(rb.prototype, { getMbsType: function () { return tc.MBS_MUSIC; }, allocateNew: function () { this.setAddress(this.data.allocate(tc.MBS_MUSIC.getSize())); }, getLoop: function () { return this.data.readBool(this.address + tc.loop.address); }, setLoop: function (a) { this.data.writeBool(this.address + tc.loop.address, a); }, getPan: function () { return this.data.readInt(this.address + tc.pan.address); }, setPan: function (a) { this.data.writeInt(this.address + tc.pan.address, a); }, getStream: function () { return this.data.readBool(this.address + tc.stream.address); }, setStream: function (a) { this.data.writeBool(this.address + tc.stream.address, a); }, getType: function () { return this.data.readString(this.address + tc.type.address); }, setType: function (a) { this.data.writeString(this.address + tc.type.address, a); }, getVolume: function () { return this.data.readInt(this.address + tc.volume.address); }, setVolume: function (a) { this.data.writeInt(this.address + tc.volume.address, a); }, __class__: tc }); var sf = function (a, b) { this.name = a; this.size = b; }; k['mbs.core.MbsType'] = sf; sf.__name__ = 'mbs.core.MbsType'; sf.prototype = { name: null, size: null, getName: function () { return this.name; }, getSize: function () { return this.size; }, toString: function () { return 'MbsType [name=' + this.getName() + ']'; }, createInstance: function (a) { throw J.thrown("Can't create an instance of type " + this.name); }, __class__: sf }; var M = function () {}; k['mbs.core.MbsTypes'] = M; M.__name__ = 'mbs.core.MbsTypes'; var vc = function (a) { this.data = a; }; k['mbs.core.header.MbsHeader'] = vc; vc.__name__ = 'mbs.core.header.MbsHeader'; vc.initializeType = function () { null == vc.MBS_HEADER && ((vc.MBS_HEADER = new yb('MbsHeader')), vc.MBS_HEADER.setInstantiator(function (a) { return new vc(a); }), (vc.version = vc.MBS_HEADER.createField('version', M.INTEGER)), (vc.typeTableHash = vc.MBS_HEADER.createField('typeTableHash', M.INTEGER)), (vc.typeTablePointer = vc.MBS_HEADER.createField('typeTablePointer', M.INTEGER)), (vc.stringTablePointer = vc.MBS_HEADER.createField('stringTablePointer', M.INTEGER)), (vc.root = vc.MBS_HEADER.createField('root', M.DYNAMIC))); }; vc.new_MbsHeader_list = function (a) { return new Wa(a, vc.MBS_HEADER, new vc(a)); }; vc.__super__ = lb; vc.prototype = t(lb.prototype, { getMbsType: function () { return vc.MBS_HEADER; }, allocateNew: function () { this.setAddress(this.data.allocate(vc.MBS_HEADER.getSize())); }, getVersion: function () { return this.data.readInt(this.address + vc.version.address); }, setVersion: function (a) { this.data.writeInt(this.address + vc.version.address, a); }, getTypeTableHash: function () { return this.data.readInt(this.address + vc.typeTableHash.address); }, setTypeTableHash: function (a) { this.data.writeInt(this.address + vc.typeTableHash.address, a); }, getTypeTablePointer: function () { return this.data.readInt(this.address + vc.typeTablePointer.address); }, setTypeTablePointer: function (a) { this.data.writeInt(this.address + vc.typeTablePointer.address, a); }, getStringTablePointer: function () { return this.data.readInt(this.address + vc.stringTablePointer.address); }, setStringTablePointer: function (a) { this.data.writeInt(this.address + vc.stringTablePointer.address, a); }, getRoot: function () { return de.readDynamic(this.data, this.address + vc.root.address); }, setRoot: function (a) { de.writeDynamic(this.data, this.address + vc.root.address, a); }, __class__: vc }); var yb = function (a) { sf.call(this, a, 0); this.fields = []; }; k['mbs.core.ComposedType'] = yb; yb.__name__ = 'mbs.core.ComposedType'; yb.__super__ = sf; yb.prototype = t(sf.prototype, { parent: null, fields: null, inherit: function (a) { this.parent = a; this.size = a.getSize(); }, createField: function (a, b) { a = new xi(a, b, this.size); this.fields.push(a); this.size += b.getSize(); return a; }, getParent: function () { return this.parent; }, getFields: function () { return this.fields; }, instantiator: null, setInstantiator: function (a) { this.instantiator = a; }, createInstance: function (a) { return null != this.instantiator ? this.instantiator(a) : sf.prototype.createInstance.call(this, a); }, createList: function (a) { return new Wa(a, this, this.createInstance(a)); }, __class__: yb }); var Nc = function (a) { this.data = a; }; k['mbs.core.header.MbsTypeInfo'] = Nc; Nc.__name__ = 'mbs.core.header.MbsTypeInfo'; Nc.initializeType = function () { null == Nc.MBS_TYPE_INFO && ((Nc.MBS_TYPE_INFO = new yb('MbsTypeInfo')), Nc.MBS_TYPE_INFO.setInstantiator(function (a) { return new Nc(a); }), (Nc.$name = Nc.MBS_TYPE_INFO.createField('name', M.STRING)), (Nc.parent = Nc.MBS_TYPE_INFO.createField('parent', M.STRING)), (Nc.fieldsPointer = Nc.MBS_TYPE_INFO.createField('fieldsPointer', M.INTEGER)), (Nc.size = Nc.MBS_TYPE_INFO.createField('size', M.INTEGER))); }; Nc.new_MbsTypeInfo_list = function (a) { return new Wa(a, Nc.MBS_TYPE_INFO, new Nc(a)); }; Nc.__super__ = lb; Nc.prototype = t(lb.prototype, { getMbsType: function () { return Nc.MBS_TYPE_INFO; }, allocateNew: function () { this.setAddress(this.data.allocate(Nc.MBS_TYPE_INFO.getSize())); }, getName: function () { return this.data.readString(this.address + Nc.$name.address); }, setName: function (a) { this.data.writeString(this.address + Nc.$name.address, a); }, getParent: function () { return this.data.readString(this.address + Nc.parent.address); }, setParent: function (a) { this.data.writeString(this.address + Nc.parent.address, a); }, getFieldsPointer: function () { return this.data.readInt(this.address + Nc.fieldsPointer.address); }, setFieldsPointer: function (a) { this.data.writeInt(this.address + Nc.fieldsPointer.address, a); }, getSize: function () { return this.data.readInt(this.address + Nc.size.address); }, setSize: function (a) { this.data.writeInt(this.address + Nc.size.address, a); }, __class__: Nc }); var Zc = function (a) { this.data = a; }; k['mbs.core.header.MbsFieldInfo'] = Zc; Zc.__name__ = 'mbs.core.header.MbsFieldInfo'; Zc.initializeType = function () { null == Zc.MBS_FIELD_INFO && ((Zc.MBS_FIELD_INFO = new yb('MbsFieldInfo')), Zc.MBS_FIELD_INFO.setInstantiator(function (a) { return new Zc(a); }), (Zc.$name = Zc.MBS_FIELD_INFO.createField('name', M.STRING)), (Zc.type = Zc.MBS_FIELD_INFO.createField('type', M.STRING)), (Zc.fieldAddress = Zc.MBS_FIELD_INFO.createField('fieldAddress', M.INTEGER))); }; Zc.new_MbsFieldInfo_list = function (a) { return new Wa(a, Zc.MBS_FIELD_INFO, new Zc(a)); }; Zc.__super__ = lb; Zc.prototype = t(lb.prototype, { getMbsType: function () { return Zc.MBS_FIELD_INFO; }, allocateNew: function () { this.setAddress(this.data.allocate(Zc.MBS_FIELD_INFO.getSize())); }, getName: function () { return this.data.readString(this.address + Zc.$name.address); }, setName: function (a) { this.data.writeString(this.address + Zc.$name.address, a); }, getType: function () { return this.data.readString(this.address + Zc.type.address); }, setType: function (a) { this.data.writeString(this.address + Zc.type.address, a); }, getFieldAddress: function () { return this.data.readInt(this.address + Zc.fieldAddress.address); }, setFieldAddress: function (a) { this.data.writeInt(this.address + Zc.fieldAddress.address, a); }, __class__: Zc }); var Rh = function () { this.types = Rh.basicTypes.slice(); this.typecodes = new Jc(); this.addTypes(); for (var a = 0, b = 0, d = this.types; b < d.length; ) { var e = d[b]; ++b; this.typecodes.set(e, a++); } }; k['mbs.core.MbsTypedefSet'] = Rh; Rh.__name__ = 'mbs.core.MbsTypedefSet'; Rh.prototype = { types: null, typecodes: null, getTypes: function () { return this.types; }, addTypes: function () {}, getHash: function () { return 0; }, getTypecode: function (a) { return this.typecodes.h[a.__id__]; }, getType: function (a) { return this.types[a]; }, __class__: Rh }; var ff = function () { Rh.call(this); }; k['com.stencyl.io.mbs.Typedefs'] = ff; ff.__name__ = 'com.stencyl.io.mbs.Typedefs'; ff.get = function () { null == ff.instance && (ff.instance = new ff()); return ff.instance; }; ff.__super__ = Rh; ff.prototype = t(Rh.prototype, { addTypes: function () { rb.initializeType(); this.types.push(rb.MBS_RESOURCE); Ra.initializeType(); this.types.push(Ra.MBS_BACKGROUND); Fb.initializeType(); this.types.push(Fb.MBS_CUSTOM_BLOCK); xd.initializeType(); this.types.push(xd.MBS_BLANK); dc.initializeType(); this.types.push(dc.MBS_FONT); tc.initializeType(); this.types.push(tc.MBS_MUSIC); Pa.initializeType(); this.types.push(Pa.MBS_ACTOR_TYPE); qc.initializeType(); this.types.push(qc.MBS_SPRITE); db.initializeType(); this.types.push(db.MBS_ANIMATION); Nb.initializeType(); this.types.push(Nb.MBS_ANIM_SHAPE); oc.initializeType(); this.types.push(oc.MBS_GAME); Gc.initializeType(); this.types.push(Gc.MBS_ATLAS); yd.initializeType(); this.types.push(yd.MBS_COLLISION_SHAPE); zd.initializeType(); this.types.push(zd.MBS_COLLISION_GROUP); Ad.initializeType(); this.types.push(Ad.MBS_COLLISION_PAIR); md.initializeType(); this.types.push(md.MBS_SCENE_HEADER); ec.initializeType(); this.types.push(ec.MBS_TILESET); Ob.initializeType(); this.types.push(Ob.MBS_TILE); pa.initializeType(); this.types.push(pa.MBS_SCENE); mb.initializeType(); this.types.push(mb.MBS_ACTOR_INSTANCE); ee.initializeType(); this.types.push(ee.MBS_COLOR_BACKGROUND); Bd.initializeType(); this.types.push(Bd.MBS_GRADIENT_BACKGROUND); tb.initializeType(); this.types.push(tb.MBS_LAYER); fe.initializeType(); this.types.push(fe.MBS_INTERACTIVE_LAYER); Cd.initializeType(); this.types.push(Cd.MBS_IMAGE_BACKGROUND); Tb.initializeType(); this.types.push(Tb.MBS_JOINT); Dd.initializeType(); this.types.push(Dd.MBS_STICK_JOINT); fc.initializeType(); this.types.push(fc.MBS_HINGE_JOINT); Pb.initializeType(); this.types.push(Pb.MBS_SLIDING_JOINT); Wb.initializeType(); this.types.push(Wb.MBS_REGION); Yd.initializeType(); this.types.push(Yd.MBS_TERRAIN_REGION); pc.initializeType(); this.types.push(pc.MBS_POINT); Rd.initializeType(); this.types.push(Rd.MBS_SHAPE); Hd.initializeType(); this.types.push(Hd.MBS_CIRCLE); Tc.initializeType(); this.types.push(Tc.MBS_POLYGON); rd.initializeType(); this.types.push(rd.MBS_POLY_REGION); ge.initializeType(); this.types.push(ge.MBS_WIREFRAME); gb.initializeType(); this.types.push(gb.MBS_SNIPPET_DEF); Db.initializeType(); this.types.push(Db.MBS_ATTRIBUTE_DEF); $c.initializeType(); this.types.push($c.MBS_BLOCK); gc.initializeType(); this.types.push(gc.MBS_EVENT); Hc.initializeType(); this.types.push(Hc.MBS_SNIPPET); ad.initializeType(); this.types.push(ad.MBS_ATTRIBUTE); Ed.initializeType(); this.types.push(Ed.MBS_MAP_ELEMENT); hc.initializeType(); this.types.push(hc.MBS_AUTOTILE_FORMAT); bd.initializeType(); this.types.push(bd.MBS_CORNERS); }, getHash: function () { return -1349349184; }, __class__: ff }); var Pa = function (a) { this.data = a; this._snippets = new Wa(a, Hc.MBS_SNIPPET, new Hc(a)); }; k['com.stencyl.io.mbs.actortype.MbsActorType'] = Pa; Pa.__name__ = 'com.stencyl.io.mbs.actortype.MbsActorType'; Pa.initializeType = function () { null == Pa.MBS_ACTOR_TYPE && (rb.initializeType(), (Pa.MBS_ACTOR_TYPE = new yb('MbsActorType')), Pa.MBS_ACTOR_TYPE.setInstantiator(function (a) { return new Pa(a); }), Pa.MBS_ACTOR_TYPE.inherit(rb.MBS_RESOURCE), (Pa.angularDamping = Pa.MBS_ACTOR_TYPE.createField('angularDamping', M.FLOAT)), (Pa.autoScale = Pa.MBS_ACTOR_TYPE.createField('autoScale', M.BOOLEAN)), (Pa.bodyType = Pa.MBS_ACTOR_TYPE.createField('bodyType', M.INTEGER)), (Pa.continuous = Pa.MBS_ACTOR_TYPE.createField('continuous', M.BOOLEAN)), (Pa.eventSnippetID = Pa.MBS_ACTOR_TYPE.createField('eventSnippetID', M.INTEGER)), (Pa.fixedRotation = Pa.MBS_ACTOR_TYPE.createField('fixedRotation', M.BOOLEAN)), (Pa.friction = Pa.MBS_ACTOR_TYPE.createField('friction', M.FLOAT)), (Pa.groupID = Pa.MBS_ACTOR_TYPE.createField('groupID', M.INTEGER)), (Pa.ignoreGravity = Pa.MBS_ACTOR_TYPE.createField('ignoreGravity', M.BOOLEAN)), (Pa.inertia = Pa.MBS_ACTOR_TYPE.createField('inertia', M.FLOAT)), (Pa.linearDamping = Pa.MBS_ACTOR_TYPE.createField('linearDamping', M.FLOAT)), (Pa.mass = Pa.MBS_ACTOR_TYPE.createField('mass', M.FLOAT)), (Pa.pausable = Pa.MBS_ACTOR_TYPE.createField('pausable', M.BOOLEAN)), (Pa.physicsMode = Pa.MBS_ACTOR_TYPE.createField('physicsMode', M.INTEGER)), (Pa.restitution = Pa.MBS_ACTOR_TYPE.createField('restitution', M.FLOAT)), (Pa.sprite = Pa.MBS_ACTOR_TYPE.createField('sprite', M.INTEGER)), (Pa.isStatic = Pa.MBS_ACTOR_TYPE.createField('isStatic', M.BOOLEAN)), (Pa.snippets = Pa.MBS_ACTOR_TYPE.createField('snippets', M.LIST))); }; Pa.new_MbsActorType_list = function (a) { return new Wa(a, Pa.MBS_ACTOR_TYPE, new Pa(a)); }; Pa.__super__ = rb; Pa.prototype = t(rb.prototype, { getMbsType: function () { return Pa.MBS_ACTOR_TYPE; }, _snippets: null, allocateNew: function () { this.setAddress(this.data.allocate(Pa.MBS_ACTOR_TYPE.getSize())); }, getAngularDamping: function () { return this.data.readFloat(this.address + Pa.angularDamping.address); }, setAngularDamping: function (a) { this.data.writeFloat(this.address + Pa.angularDamping.address, a); }, getAutoScale: function () { return this.data.readBool(this.address + Pa.autoScale.address); }, setAutoScale: function (a) { this.data.writeBool(this.address + Pa.autoScale.address, a); }, getBodyType: function () { return this.data.readInt(this.address + Pa.bodyType.address); }, setBodyType: function (a) { this.data.writeInt(this.address + Pa.bodyType.address, a); }, getContinuous: function () { return this.data.readBool(this.address + Pa.continuous.address); }, setContinuous: function (a) { this.data.writeBool(this.address + Pa.continuous.address, a); }, getEventSnippetID: function () { return this.data.readInt(this.address + Pa.eventSnippetID.address); }, setEventSnippetID: function (a) { this.data.writeInt(this.address + Pa.eventSnippetID.address, a); }, getFixedRotation: function () { return this.data.readBool(this.address + Pa.fixedRotation.address); }, setFixedRotation: function (a) { this.data.writeBool(this.address + Pa.fixedRotation.address, a); }, getFriction: function () { return this.data.readFloat(this.address + Pa.friction.address); }, setFriction: function (a) { this.data.writeFloat(this.address + Pa.friction.address, a); }, getGroupID: function () { return this.data.readInt(this.address + Pa.groupID.address); }, setGroupID: function (a) { this.data.writeInt(this.address + Pa.groupID.address, a); }, getIgnoreGravity: function () { return this.data.readBool(this.address + Pa.ignoreGravity.address); }, setIgnoreGravity: function (a) { this.data.writeBool(this.address + Pa.ignoreGravity.address, a); }, getInertia: function () { return this.data.readFloat(this.address + Pa.inertia.address); }, setInertia: function (a) { this.data.writeFloat(this.address + Pa.inertia.address, a); }, getLinearDamping: function () { return this.data.readFloat(this.address + Pa.linearDamping.address); }, setLinearDamping: function (a) { this.data.writeFloat(this.address + Pa.linearDamping.address, a); }, getMass: function () { return this.data.readFloat(this.address + Pa.mass.address); }, setMass: function (a) { this.data.writeFloat(this.address + Pa.mass.address, a); }, getPausable: function () { return this.data.readBool(this.address + Pa.pausable.address); }, setPausable: function (a) { this.data.writeBool(this.address + Pa.pausable.address, a); }, getPhysicsMode: function () { return this.data.readInt(this.address + Pa.physicsMode.address); }, setPhysicsMode: function (a) { this.data.writeInt(this.address + Pa.physicsMode.address, a); }, getRestitution: function () { return this.data.readFloat(this.address + Pa.restitution.address); }, setRestitution: function (a) { this.data.writeFloat(this.address + Pa.restitution.address, a); }, getSprite: function () { return this.data.readInt(this.address + Pa.sprite.address); }, setSprite: function (a) { this.data.writeInt(this.address + Pa.sprite.address, a); }, getIsStatic: function () { return this.data.readBool(this.address + Pa.isStatic.address); }, setIsStatic: function (a) { this.data.writeBool(this.address + Pa.isStatic.address, a); }, getSnippets: function () { this._snippets.setAddress(this.data.readInt(this.address + Pa.snippets.address)); return this._snippets; }, createSnippets: function (a) { this._snippets.allocateNew(a); this.data.writeInt(this.address + Pa.snippets.address, this._snippets.getAddress()); return this._snippets; }, __class__: Pa }); var Nb = function (a) { this.data = a; }; k['com.stencyl.io.mbs.actortype.MbsAnimShape'] = Nb; Nb.__name__ = 'com.stencyl.io.mbs.actortype.MbsAnimShape'; Nb.initializeType = function () { null == Nb.MBS_ANIM_SHAPE && ((Nb.MBS_ANIM_SHAPE = new yb('MbsAnimShape')), Nb.MBS_ANIM_SHAPE.setInstantiator(function (a) { return new Nb(a); }), (Nb.shape = Nb.MBS_ANIM_SHAPE.createField('shape', M.DYNAMIC)), (Nb.density = Nb.MBS_ANIM_SHAPE.createField('density', M.FLOAT)), (Nb.friction = Nb.MBS_ANIM_SHAPE.createField('friction', M.FLOAT)), (Nb.groupID = Nb.MBS_ANIM_SHAPE.createField('groupID', M.INTEGER)), (Nb.id = Nb.MBS_ANIM_SHAPE.createField('id', M.INTEGER)), (Nb.$name = Nb.MBS_ANIM_SHAPE.createField('name', M.STRING)), (Nb.restitution = Nb.MBS_ANIM_SHAPE.createField('restitution', M.FLOAT)), (Nb.sensor = Nb.MBS_ANIM_SHAPE.createField('sensor', M.BOOLEAN))); }; Nb.new_MbsAnimShape_list = function (a) { return new Wa(a, Nb.MBS_ANIM_SHAPE, new Nb(a)); }; Nb.__super__ = lb; Nb.prototype = t(lb.prototype, { getMbsType: function () { return Nb.MBS_ANIM_SHAPE; }, allocateNew: function () { this.setAddress(this.data.allocate(Nb.MBS_ANIM_SHAPE.getSize())); }, getShape: function () { return de.readDynamic(this.data, this.address + Nb.shape.address); }, setShape: function (a) { de.writeDynamic(this.data, this.address + Nb.shape.address, a); }, getDensity: function () { return this.data.readFloat(this.address + Nb.density.address); }, setDensity: function (a) { this.data.writeFloat(this.address + Nb.density.address, a); }, getFriction: function () { return this.data.readFloat(this.address + Nb.friction.address); }, setFriction: function (a) { this.data.writeFloat(this.address + Nb.friction.address, a); }, getGroupID: function () { return this.data.readInt(this.address + Nb.groupID.address); }, setGroupID: function (a) { this.data.writeInt(this.address + Nb.groupID.address, a); }, getId: function () { return this.data.readInt(this.address + Nb.id.address); }, setId: function (a) { this.data.writeInt(this.address + Nb.id.address, a); }, getName: function () { return this.data.readString(this.address + Nb.$name.address); }, setName: function (a) { this.data.writeString(this.address + Nb.$name.address, a); }, getRestitution: function () { return this.data.readFloat(this.address + Nb.restitution.address); }, setRestitution: function (a) { this.data.writeFloat(this.address + Nb.restitution.address, a); }, getSensor: function () { return this.data.readBool(this.address + Nb.sensor.address); }, setSensor: function (a) { this.data.writeBool(this.address + Nb.sensor.address, a); }, __class__: Nb }); var db = function (a) { this.data = a; this._durations = new Lf(a); this._shapes = new Wa(a, Nb.MBS_ANIM_SHAPE, new Nb(a)); }; k['com.stencyl.io.mbs.actortype.MbsAnimation'] = db; db.__name__ = 'com.stencyl.io.mbs.actortype.MbsAnimation'; db.initializeType = function () { null == db.MBS_ANIMATION && ((db.MBS_ANIMATION = new yb('MbsAnimation')), db.MBS_ANIMATION.setInstantiator(function (a) { return new db(a); }), (db.across = db.MBS_ANIMATION.createField('across', M.INTEGER)), (db.down = db.MBS_ANIMATION.createField('down', M.INTEGER)), (db.durations = db.MBS_ANIMATION.createField('durations', M.LIST)), (db.height = db.MBS_ANIMATION.createField('height', M.INTEGER)), (db.id = db.MBS_ANIMATION.createField('id', M.INTEGER)), (db.loop = db.MBS_ANIMATION.createField('loop', M.BOOLEAN)), (db.$name = db.MBS_ANIMATION.createField('name', M.STRING)), (db.numFrames = db.MBS_ANIMATION.createField('numFrames', M.INTEGER)), (db.originX = db.MBS_ANIMATION.createField('originX', M.INTEGER)), (db.originY = db.MBS_ANIMATION.createField('originY', M.INTEGER)), (db.sync = db.MBS_ANIMATION.createField('sync', M.BOOLEAN)), (db.version = db.MBS_ANIMATION.createField('version', M.INTEGER)), (db.width = db.MBS_ANIMATION.createField('width', M.INTEGER)), (db.shapes = db.MBS_ANIMATION.createField('shapes', M.LIST))); }; db.new_MbsAnimation_list = function (a) { return new Wa(a, db.MBS_ANIMATION, new db(a)); }; db.__super__ = lb; db.prototype = t(lb.prototype, { getMbsType: function () { return db.MBS_ANIMATION; }, _durations: null, _shapes: null, allocateNew: function () { this.setAddress(this.data.allocate(db.MBS_ANIMATION.getSize())); }, getAcross: function () { return this.data.readInt(this.address + db.across.address); }, setAcross: function (a) { this.data.writeInt(this.address + db.across.address, a); }, getDown: function () { return this.data.readInt(this.address + db.down.address); }, setDown: function (a) { this.data.writeInt(this.address + db.down.address, a); }, getDurations: function () { this._durations.setAddress(this.data.readInt(this.address + db.durations.address)); return this._durations; }, createDurations: function (a) { this._durations.allocateNew(a); this.data.writeInt(this.address + db.durations.address, this._durations.getAddress()); return this._durations; }, getHeight: function () { return this.data.readInt(this.address + db.height.address); }, setHeight: function (a) { this.data.writeInt(this.address + db.height.address, a); }, getId: function () { return this.data.readInt(this.address + db.id.address); }, setId: function (a) { this.data.writeInt(this.address + db.id.address, a); }, getLoop: function () { return this.data.readBool(this.address + db.loop.address); }, setLoop: function (a) { this.data.writeBool(this.address + db.loop.address, a); }, getName: function () { return this.data.readString(this.address + db.$name.address); }, setName: function (a) { this.data.writeString(this.address + db.$name.address, a); }, getNumFrames: function () { return this.data.readInt(this.address + db.numFrames.address); }, setNumFrames: function (a) { this.data.writeInt(this.address + db.numFrames.address, a); }, getOriginX: function () { return this.data.readInt(this.address + db.originX.address); }, setOriginX: function (a) { this.data.writeInt(this.address + db.originX.address, a); }, getOriginY: function () { return this.data.readInt(this.address + db.originY.address); }, setOriginY: function (a) { this.data.writeInt(this.address + db.originY.address, a); }, getSync: function () { return this.data.readBool(this.address + db.sync.address); }, setSync: function (a) { this.data.writeBool(this.address + db.sync.address, a); }, getVersion: function () { return this.data.readInt(this.address + db.version.address); }, setVersion: function (a) { this.data.writeInt(this.address + db.version.address, a); }, getWidth: function () { return this.data.readInt(this.address + db.width.address); }, setWidth: function (a) { this.data.writeInt(this.address + db.width.address, a); }, getShapes: function () { this._shapes.setAddress(this.data.readInt(this.address + db.shapes.address)); return this._shapes; }, createShapes: function (a) { this._shapes.allocateNew(a); this.data.writeInt(this.address + db.shapes.address, this._shapes.getAddress()); return this._shapes; }, __class__: db }); var qc = function (a) { this.data = a; this._animations = new Wa(a, db.MBS_ANIMATION, new db(a)); }; k['com.stencyl.io.mbs.actortype.MbsSprite'] = qc; qc.__name__ = 'com.stencyl.io.mbs.actortype.MbsSprite'; qc.initializeType = function () { null == qc.MBS_SPRITE && (rb.initializeType(), (qc.MBS_SPRITE = new yb('MbsSprite')), qc.MBS_SPRITE.setInstantiator(function (a) { return new qc(a); }), qc.MBS_SPRITE.inherit(rb.MBS_RESOURCE), (qc.defaultAnimation = qc.MBS_SPRITE.createField('defaultAnimation', M.INTEGER)), (qc.readableImages = qc.MBS_SPRITE.createField('readableImages', M.BOOLEAN)), (qc.height = qc.MBS_SPRITE.createField('height', M.INTEGER)), (qc.width = qc.MBS_SPRITE.createField('width', M.INTEGER)), (qc.animations = qc.MBS_SPRITE.createField('animations', M.LIST))); }; qc.new_MbsSprite_list = function (a) { return new Wa(a, qc.MBS_SPRITE, new qc(a)); }; qc.__super__ = rb; qc.prototype = t(rb.prototype, { getMbsType: function () { return qc.MBS_SPRITE; }, _animations: null, allocateNew: function () { this.setAddress(this.data.allocate(qc.MBS_SPRITE.getSize())); }, getDefaultAnimation: function () { return this.data.readInt(this.address + qc.defaultAnimation.address); }, setDefaultAnimation: function (a) { this.data.writeInt(this.address + qc.defaultAnimation.address, a); }, getReadableImages: function () { return this.data.readBool(this.address + qc.readableImages.address); }, setReadableImages: function (a) { this.data.writeBool(this.address + qc.readableImages.address, a); }, getHeight: function () { return this.data.readInt(this.address + qc.height.address); }, setHeight: function (a) { this.data.writeInt(this.address + qc.height.address, a); }, getWidth: function () { return this.data.readInt(this.address + qc.width.address); }, setWidth: function (a) { this.data.writeInt(this.address + qc.width.address, a); }, getAnimations: function () { this._animations.setAddress(this.data.readInt(this.address + qc.animations.address)); return this._animations; }, createAnimations: function (a) { this._animations.allocateNew(a); this.data.writeInt(this.address + qc.animations.address, this._animations.getAddress()); return this._animations; }, __class__: qc }); var Gc = function (a) { this.data = a; this._members = new Lf(a); }; k['com.stencyl.io.mbs.game.MbsAtlas'] = Gc; Gc.__name__ = 'com.stencyl.io.mbs.game.MbsAtlas'; Gc.initializeType = function () { null == Gc.MBS_ATLAS && ((Gc.MBS_ATLAS = new yb('MbsAtlas')), Gc.MBS_ATLAS.setInstantiator(function (a) { return new Gc(a); }), (Gc.id = Gc.MBS_ATLAS.createField('id', M.INTEGER)), (Gc.$name = Gc.MBS_ATLAS.createField('name', M.STRING)), (Gc.members = Gc.MBS_ATLAS.createField('members', M.LIST)), (Gc.allScenes = Gc.MBS_ATLAS.createField('allScenes', M.BOOLEAN))); }; Gc.new_MbsAtlas_list = function (a) { return new Wa(a, Gc.MBS_ATLAS, new Gc(a)); }; Gc.__super__ = lb; Gc.prototype = t(lb.prototype, { getMbsType: function () { return Gc.MBS_ATLAS; }, _members: null, allocateNew: function () { this.setAddress(this.data.allocate(Gc.MBS_ATLAS.getSize())); }, getId: function () { return this.data.readInt(this.address + Gc.id.address); }, setId: function (a) { this.data.writeInt(this.address + Gc.id.address, a); }, getName: function () { return this.data.readString(this.address + Gc.$name.address); }, setName: function (a) { this.data.writeString(this.address + Gc.$name.address, a); }, getMembers: function () { this._members.setAddress(this.data.readInt(this.address + Gc.members.address)); return this._members; }, createMembers: function (a) { this._members.allocateNew(a); this.data.writeInt(this.address + Gc.members.address, this._members.getAddress()); return this._members; }, getAllScenes: function () { return this.data.readBool(this.address + Gc.allScenes.address); }, setAllScenes: function (a) { this.data.writeBool(this.address + Gc.allScenes.address, a); }, __class__: Gc }); var zd = function (a) { this.data = a; }; k['com.stencyl.io.mbs.game.MbsCollisionGroup'] = zd; zd.__name__ = 'com.stencyl.io.mbs.game.MbsCollisionGroup'; zd.initializeType = function () { null == zd.MBS_COLLISION_GROUP && ((zd.MBS_COLLISION_GROUP = new yb('MbsCollisionGroup')), zd.MBS_COLLISION_GROUP.setInstantiator(function (a) { return new zd(a); }), (zd.id = zd.MBS_COLLISION_GROUP.createField('id', M.INTEGER)), (zd.$name = zd.MBS_COLLISION_GROUP.createField('name', M.STRING))); }; zd.new_MbsCollisionGroup_list = function (a) { return new Wa(a, zd.MBS_COLLISION_GROUP, new zd(a)); }; zd.__super__ = lb; zd.prototype = t(lb.prototype, { getMbsType: function () { return zd.MBS_COLLISION_GROUP; }, allocateNew: function () { this.setAddress(this.data.allocate(zd.MBS_COLLISION_GROUP.getSize())); }, getId: function () { return this.data.readInt(this.address + zd.id.address); }, setId: function (a) { this.data.writeInt(this.address + zd.id.address, a); }, getName: function () { return this.data.readString(this.address + zd.$name.address); }, setName: function (a) { this.data.writeString(this.address + zd.$name.address, a); }, __class__: zd }); var Ad = function (a) { this.data = a; }; k['com.stencyl.io.mbs.game.MbsCollisionPair'] = Ad; Ad.__name__ = 'com.stencyl.io.mbs.game.MbsCollisionPair'; Ad.initializeType = function () { null == Ad.MBS_COLLISION_PAIR && ((Ad.MBS_COLLISION_PAIR = new yb('MbsCollisionPair')), Ad.MBS_COLLISION_PAIR.setInstantiator(function (a) { return new Ad(a); }), (Ad.group1 = Ad.MBS_COLLISION_PAIR.createField('group1', M.INTEGER)), (Ad.group2 = Ad.MBS_COLLISION_PAIR.createField('group2', M.INTEGER))); }; Ad.new_MbsCollisionPair_list = function (a) { return new Wa(a, Ad.MBS_COLLISION_PAIR, new Ad(a)); }; Ad.__super__ = lb; Ad.prototype = t(lb.prototype, { getMbsType: function () { return Ad.MBS_COLLISION_PAIR; }, allocateNew: function () { this.setAddress(this.data.allocate(Ad.MBS_COLLISION_PAIR.getSize())); }, getGroup1: function () { return this.data.readInt(this.address + Ad.group1.address); }, setGroup1: function (a) { this.data.writeInt(this.address + Ad.group1.address, a); }, getGroup2: function () { return this.data.readInt(this.address + Ad.group2.address); }, setGroup2: function (a) { this.data.writeInt(this.address + Ad.group2.address, a); }, __class__: Ad }); var yd = function (a) { this.data = a; this._points = new Wa(a, pc.MBS_POINT, new pc(a)); }; k['com.stencyl.io.mbs.game.MbsCollisionShape'] = yd; yd.__name__ = 'com.stencyl.io.mbs.game.MbsCollisionShape'; yd.initializeType = function () { null == yd.MBS_COLLISION_SHAPE && ((yd.MBS_COLLISION_SHAPE = new yb('MbsCollisionShape')), yd.MBS_COLLISION_SHAPE.setInstantiator(function (a) { return new yd(a); }), (yd.id = yd.MBS_COLLISION_SHAPE.createField('id', M.INTEGER)), (yd.points = yd.MBS_COLLISION_SHAPE.createField('points', M.LIST))); }; yd.new_MbsCollisionShape_list = function (a) { return new Wa(a, yd.MBS_COLLISION_SHAPE, new yd(a)); }; yd.__super__ = lb; yd.prototype = t(lb.prototype, { getMbsType: function () { return yd.MBS_COLLISION_SHAPE; }, _points: null, allocateNew: function () { this.setAddress(this.data.allocate(yd.MBS_COLLISION_SHAPE.getSize())); }, getId: function () { return this.data.readInt(this.address + yd.id.address); }, setId: function (a) { this.data.writeInt(this.address + yd.id.address, a); }, getPoints: function () { this._points.setAddress(this.data.readInt(this.address + yd.points.address)); return this._points; }, createPoints: function (a) { this._points.allocateNew(a); this.data.writeInt(this.address + yd.points.address, this._points.getAddress()); return this._points; }, __class__: yd }); var oc = function (a) { this.data = a; this._shapes = new Wa(a, yd.MBS_COLLISION_SHAPE, new yd(a)); this._atlases = new Wa(a, Gc.MBS_ATLAS, new Gc(a)); this._autotileFormats = new Wa(a, hc.MBS_AUTOTILE_FORMAT, new hc(a)); this._groups = new Wa(a, zd.MBS_COLLISION_GROUP, new zd(a)); this._cgroups = new Wa(a, Ad.MBS_COLLISION_PAIR, new Ad(a)); this._gameAttributes = new Wa(a, Ed.MBS_MAP_ELEMENT, new Ed(a)); }; k['com.stencyl.io.mbs.game.MbsGame'] = oc; oc.__name__ = 'com.stencyl.io.mbs.game.MbsGame'; oc.initializeType = function () { null == oc.MBS_GAME && ((oc.MBS_GAME = new yb('MbsGame')), oc.MBS_GAME.setInstantiator(function (a) { return new oc(a); }), (oc.shapes = oc.MBS_GAME.createField('shapes', M.LIST)), (oc.atlases = oc.MBS_GAME.createField('atlases', M.LIST)), (oc.autotileFormats = oc.MBS_GAME.createField('autotileFormats', M.LIST)), (oc.groups = oc.MBS_GAME.createField('groups', M.LIST)), (oc.cgroups = oc.MBS_GAME.createField('cgroups', M.LIST)), (oc.gameAttributes = oc.MBS_GAME.createField('gameAttributes', M.LIST))); }; oc.new_MbsGame_list = function (a) { return new Wa(a, oc.MBS_GAME, new oc(a)); }; oc.__super__ = lb; oc.prototype = t(lb.prototype, { getMbsType: function () { return oc.MBS_GAME; }, _shapes: null, _atlases: null, _autotileFormats: null, _groups: null, _cgroups: null, _gameAttributes: null, allocateNew: function () { this.setAddress(this.data.allocate(oc.MBS_GAME.getSize())); }, getShapes: function () { this._shapes.setAddress(this.data.readInt(this.address + oc.shapes.address)); return this._shapes; }, createShapes: function (a) { this._shapes.allocateNew(a); this.data.writeInt(this.address + oc.shapes.address, this._shapes.getAddress()); return this._shapes; }, getAtlases: function () { this._atlases.setAddress(this.data.readInt(this.address + oc.atlases.address)); return this._atlases; }, createAtlases: function (a) { this._atlases.allocateNew(a); this.data.writeInt(this.address + oc.atlases.address, this._atlases.getAddress()); return this._atlases; }, getAutotileFormats: function () { this._autotileFormats.setAddress( this.data.readInt(this.address + oc.autotileFormats.address) ); return this._autotileFormats; }, createAutotileFormats: function (a) { this._autotileFormats.allocateNew(a); this.data.writeInt( this.address + oc.autotileFormats.address, this._autotileFormats.getAddress() ); return this._autotileFormats; }, getGroups: function () { this._groups.setAddress(this.data.readInt(this.address + oc.groups.address)); return this._groups; }, createGroups: function (a) { this._groups.allocateNew(a); this.data.writeInt(this.address + oc.groups.address, this._groups.getAddress()); return this._groups; }, getCgroups: function () { this._cgroups.setAddress(this.data.readInt(this.address + oc.cgroups.address)); return this._cgroups; }, createCgroups: function (a) { this._cgroups.allocateNew(a); this.data.writeInt(this.address + oc.cgroups.address, this._cgroups.getAddress()); return this._cgroups; }, getGameAttributes: function () { this._gameAttributes.setAddress( this.data.readInt(this.address + oc.gameAttributes.address) ); return this._gameAttributes; }, createGameAttributes: function (a) { this._gameAttributes.allocateNew(a); this.data.writeInt( this.address + oc.gameAttributes.address, this._gameAttributes.getAddress() ); return this._gameAttributes; }, __class__: oc }); var hc = function (a) { this.data = a; this._corners = new Wa(a, bd.MBS_CORNERS, new bd(a)); this._flags = new Lf(a); }; k['com.stencyl.io.mbs.game.autotile.MbsAutotileFormat'] = hc; hc.__name__ = 'com.stencyl.io.mbs.game.autotile.MbsAutotileFormat'; hc.initializeType = function () { null == hc.MBS_AUTOTILE_FORMAT && ((hc.MBS_AUTOTILE_FORMAT = new yb('MbsAutotileFormat')), hc.MBS_AUTOTILE_FORMAT.setInstantiator(function (a) { return new hc(a); }), (hc.id = hc.MBS_AUTOTILE_FORMAT.createField('id', M.INTEGER)), (hc.$name = hc.MBS_AUTOTILE_FORMAT.createField('name', M.STRING)), (hc.across = hc.MBS_AUTOTILE_FORMAT.createField('across', M.INTEGER)), (hc.down = hc.MBS_AUTOTILE_FORMAT.createField('down', M.INTEGER)), (hc.corners = hc.MBS_AUTOTILE_FORMAT.createField('corners', M.LIST)), (hc.flags = hc.MBS_AUTOTILE_FORMAT.createField('flags', M.LIST))); }; hc.new_MbsAutotileFormat_list = function (a) { return new Wa(a, hc.MBS_AUTOTILE_FORMAT, new hc(a)); }; hc.__super__ = lb; hc.prototype = t(lb.prototype, { getMbsType: function () { return hc.MBS_AUTOTILE_FORMAT; }, _corners: null, _flags: null, allocateNew: function () { this.setAddress(this.data.allocate(hc.MBS_AUTOTILE_FORMAT.getSize())); }, getId: function () { return this.data.readInt(this.address + hc.id.address); }, setId: function (a) { this.data.writeInt(this.address + hc.id.address, a); }, getName: function () { return this.data.readString(this.address + hc.$name.address); }, setName: function (a) { this.data.writeString(this.address + hc.$name.address, a); }, getAcross: function () { return this.data.readInt(this.address + hc.across.address); }, setAcross: function (a) { this.data.writeInt(this.address + hc.across.address, a); }, getDown: function () { return this.data.readInt(this.address + hc.down.address); }, setDown: function (a) { this.data.writeInt(this.address + hc.down.address, a); }, getCorners: function () { this._corners.setAddress(this.data.readInt(this.address + hc.corners.address)); return this._corners; }, createCorners: function (a) { this._corners.allocateNew(a); this.data.writeInt(this.address + hc.corners.address, this._corners.getAddress()); return this._corners; }, getFlags: function () { this._flags.setAddress(this.data.readInt(this.address + hc.flags.address)); return this._flags; }, createFlags: function (a) { this._flags.allocateNew(a); this.data.writeInt(this.address + hc.flags.address, this._flags.getAddress()); return this._flags; }, __class__: hc }); var bd = function (a) { this.data = a; this._topLeft = new pc(a); this._topRight = new pc(a); this._bottomLeft = new pc(a); this._bottomRight = new pc(a); }; k['com.stencyl.io.mbs.game.autotile.MbsCorners'] = bd; bd.__name__ = 'com.stencyl.io.mbs.game.autotile.MbsCorners'; bd.initializeType = function () { null == bd.MBS_CORNERS && ((bd.MBS_CORNERS = new yb('MbsCorners')), bd.MBS_CORNERS.setInstantiator(function (a) { return new bd(a); }), (bd.topLeft = bd.MBS_CORNERS.createField('topLeft', pc.MBS_POINT)), (bd.topRight = bd.MBS_CORNERS.createField('topRight', pc.MBS_POINT)), (bd.bottomLeft = bd.MBS_CORNERS.createField('bottomLeft', pc.MBS_POINT)), (bd.bottomRight = bd.MBS_CORNERS.createField('bottomRight', pc.MBS_POINT))); }; bd.new_MbsCorners_list = function (a) { return new Wa(a, bd.MBS_CORNERS, new bd(a)); }; bd.__super__ = lb; bd.prototype = t(lb.prototype, { getMbsType: function () { return bd.MBS_CORNERS; }, _topLeft: null, _topRight: null, _bottomLeft: null, _bottomRight: null, allocateNew: function () { this.setAddress(this.data.allocate(bd.MBS_CORNERS.getSize())); }, getTopLeft: function () { this._topLeft.setAddress(this.address + bd.topLeft.address); return this._topLeft; }, getTopRight: function () { this._topRight.setAddress(this.address + bd.topRight.address); return this._topRight; }, getBottomLeft: function () { this._bottomLeft.setAddress(this.address + bd.bottomLeft.address); return this._bottomLeft; }, getBottomRight: function () { this._bottomRight.setAddress(this.address + bd.bottomRight.address); return this._bottomRight; }, __class__: bd }); var mb = function (a) { this.data = a; this._snippets = new Wa(a, Hc.MBS_SNIPPET, new Hc(a)); }; k['com.stencyl.io.mbs.scene.MbsActorInstance'] = mb; mb.__name__ = 'com.stencyl.io.mbs.scene.MbsActorInstance'; mb.initializeType = function () { null == mb.MBS_ACTOR_INSTANCE && ((mb.MBS_ACTOR_INSTANCE = new yb('MbsActorInstance')), mb.MBS_ACTOR_INSTANCE.setInstantiator(function (a) { return new mb(a); }), (mb.angle = mb.MBS_ACTOR_INSTANCE.createField('angle', M.FLOAT)), (mb.aid = mb.MBS_ACTOR_INSTANCE.createField('aid', M.INTEGER)), (mb.customized = mb.MBS_ACTOR_INSTANCE.createField('customized', M.BOOLEAN)), (mb.groupID = mb.MBS_ACTOR_INSTANCE.createField('groupID', M.INTEGER)), (mb.id = mb.MBS_ACTOR_INSTANCE.createField('id', M.INTEGER)), (mb.$name = mb.MBS_ACTOR_INSTANCE.createField('name', M.STRING)), (mb.scaleX = mb.MBS_ACTOR_INSTANCE.createField('scaleX', M.FLOAT)), (mb.scaleY = mb.MBS_ACTOR_INSTANCE.createField('scaleY', M.FLOAT)), (mb.x = mb.MBS_ACTOR_INSTANCE.createField('x', M.INTEGER)), (mb.y = mb.MBS_ACTOR_INSTANCE.createField('y', M.INTEGER)), (mb.z = mb.MBS_ACTOR_INSTANCE.createField('z', M.INTEGER)), (mb.orderInLayer = mb.MBS_ACTOR_INSTANCE.createField('orderInLayer', M.INTEGER)), (mb.snippets = mb.MBS_ACTOR_INSTANCE.createField('snippets', M.LIST))); }; mb.new_MbsActorInstance_list = function (a) { return new Wa(a, mb.MBS_ACTOR_INSTANCE, new mb(a)); }; mb.__super__ = lb; mb.prototype = t(lb.prototype, { getMbsType: function () { return mb.MBS_ACTOR_INSTANCE; }, _snippets: null, allocateNew: function () { this.setAddress(this.data.allocate(mb.MBS_ACTOR_INSTANCE.getSize())); }, getAngle: function () { return this.data.readFloat(this.address + mb.angle.address); }, setAngle: function (a) { this.data.writeFloat(this.address + mb.angle.address, a); }, getAid: function () { return this.data.readInt(this.address + mb.aid.address); }, setAid: function (a) { this.data.writeInt(this.address + mb.aid.address, a); }, getCustomized: function () { return this.data.readBool(this.address + mb.customized.address); }, setCustomized: function (a) { this.data.writeBool(this.address + mb.customized.address, a); }, getGroupID: function () { return this.data.readInt(this.address + mb.groupID.address); }, setGroupID: function (a) { this.data.writeInt(this.address + mb.groupID.address, a); }, getId: function () { return this.data.readInt(this.address + mb.id.address); }, setId: function (a) { this.data.writeInt(this.address + mb.id.address, a); }, getName: function () { return this.data.readString(this.address + mb.$name.address); }, setName: function (a) { this.data.writeString(this.address + mb.$name.address, a); }, getScaleX: function () { return this.data.readFloat(this.address + mb.scaleX.address); }, setScaleX: function (a) { this.data.writeFloat(this.address + mb.scaleX.address, a); }, getScaleY: function () { return this.data.readFloat(this.address + mb.scaleY.address); }, setScaleY: function (a) { this.data.writeFloat(this.address + mb.scaleY.address, a); }, getX: function () { return this.data.readInt(this.address + mb.x.address); }, setX: function (a) { this.data.writeInt(this.address + mb.x.address, a); }, getY: function () { return this.data.readInt(this.address + mb.y.address); }, setY: function (a) { this.data.writeInt(this.address + mb.y.address, a); }, getZ: function () { return this.data.readInt(this.address + mb.z.address); }, setZ: function (a) { this.data.writeInt(this.address + mb.z.address, a); }, getOrderInLayer: function () { return this.data.readInt(this.address + mb.orderInLayer.address); }, setOrderInLayer: function (a) { this.data.writeInt(this.address + mb.orderInLayer.address, a); }, getSnippets: function () { this._snippets.setAddress(this.data.readInt(this.address + mb.snippets.address)); return this._snippets; }, createSnippets: function (a) { this._snippets.allocateNew(a); this.data.writeInt(this.address + mb.snippets.address, this._snippets.getAddress()); return this._snippets; }, __class__: mb }); var pa = function (a) { this.data = a; this._actorInstances = new Wa(a, mb.MBS_ACTOR_INSTANCE, new mb(a)); this._atlasMembers = new Lf(a); this._layers = new uh(a); this._joints = new uh(a); this._regions = new Wa(a, Wb.MBS_REGION, new Wb(a)); this._snippets = new Wa(a, Hc.MBS_SNIPPET, new Hc(a)); this._terrain = new Wa(a, ge.MBS_WIREFRAME, new ge(a)); this._terrainRegions = new Wa(a, Yd.MBS_TERRAIN_REGION, new Yd(a)); }; k['com.stencyl.io.mbs.scene.MbsScene'] = pa; pa.__name__ = 'com.stencyl.io.mbs.scene.MbsScene'; pa.initializeType = function () { null == pa.MBS_SCENE && ((pa.MBS_SCENE = new yb('MbsScene')), pa.MBS_SCENE.setInstantiator(function (a) { return new pa(a); }), (pa.retainAtlases = pa.MBS_SCENE.createField('retainAtlases', M.BOOLEAN)), (pa.depth = pa.MBS_SCENE.createField('depth', M.INTEGER)), (pa.description = pa.MBS_SCENE.createField('description', M.STRING)), (pa.eventSnippetID = pa.MBS_SCENE.createField('eventSnippetID', M.INTEGER)), (pa.extendedHeight = pa.MBS_SCENE.createField('extendedHeight', M.INTEGER)), (pa.extendedWidth = pa.MBS_SCENE.createField('extendedWidth', M.INTEGER)), (pa.extendedX = pa.MBS_SCENE.createField('extendedX', M.INTEGER)), (pa.extendedY = pa.MBS_SCENE.createField('extendedY', M.INTEGER)), (pa.format = pa.MBS_SCENE.createField('format', M.STRING)), (pa.gravityX = pa.MBS_SCENE.createField('gravityX', M.FLOAT)), (pa.gravityY = pa.MBS_SCENE.createField('gravityY', M.FLOAT)), (pa.height = pa.MBS_SCENE.createField('height', M.INTEGER)), (pa.id = pa.MBS_SCENE.createField('id', M.INTEGER)), (pa.$name = pa.MBS_SCENE.createField('name', M.STRING)), (pa.revision = pa.MBS_SCENE.createField('revision', M.STRING)), (pa.savecount = pa.MBS_SCENE.createField('savecount', M.INTEGER)), (pa.tileDepth = pa.MBS_SCENE.createField('tileDepth', M.INTEGER)), (pa.tileHeight = pa.MBS_SCENE.createField('tileHeight', M.INTEGER)), (pa.tileWidth = pa.MBS_SCENE.createField('tileWidth', M.INTEGER)), (pa.type = pa.MBS_SCENE.createField('type', M.STRING)), (pa.width = pa.MBS_SCENE.createField('width', M.INTEGER)), (pa.actorInstances = pa.MBS_SCENE.createField('actorInstances', M.LIST)), (pa.atlasMembers = pa.MBS_SCENE.createField('atlasMembers', M.LIST)), (pa.layers = pa.MBS_SCENE.createField('layers', M.LIST)), (pa.joints = pa.MBS_SCENE.createField('joints', M.LIST)), (pa.regions = pa.MBS_SCENE.createField('regions', M.LIST)), (pa.snippets = pa.MBS_SCENE.createField('snippets', M.LIST)), (pa.terrain = pa.MBS_SCENE.createField('terrain', M.LIST)), (pa.terrainRegions = pa.MBS_SCENE.createField('terrainRegions', M.LIST))); }; pa.new_MbsScene_list = function (a) { return new Wa(a, pa.MBS_SCENE, new pa(a)); }; pa.__super__ = lb; pa.prototype = t(lb.prototype, { getMbsType: function () { return pa.MBS_SCENE; }, _actorInstances: null, _atlasMembers: null, _layers: null, _joints: null, _regions: null, _snippets: null, _terrain: null, _terrainRegions: null, allocateNew: function () { this.setAddress(this.data.allocate(pa.MBS_SCENE.getSize())); }, getRetainAtlases: function () { return this.data.readBool(this.address + pa.retainAtlases.address); }, setRetainAtlases: function (a) { this.data.writeBool(this.address + pa.retainAtlases.address, a); }, getDepth: function () { return this.data.readInt(this.address + pa.depth.address); }, setDepth: function (a) { this.data.writeInt(this.address + pa.depth.address, a); }, getDescription: function () { return this.data.readString(this.address + pa.description.address); }, setDescription: function (a) { this.data.writeString(this.address + pa.description.address, a); }, getEventSnippetID: function () { return this.data.readInt(this.address + pa.eventSnippetID.address); }, setEventSnippetID: function (a) { this.data.writeInt(this.address + pa.eventSnippetID.address, a); }, getExtendedHeight: function () { return this.data.readInt(this.address + pa.extendedHeight.address); }, setExtendedHeight: function (a) { this.data.writeInt(this.address + pa.extendedHeight.address, a); }, getExtendedWidth: function () { return this.data.readInt(this.address + pa.extendedWidth.address); }, setExtendedWidth: function (a) { this.data.writeInt(this.address + pa.extendedWidth.address, a); }, getExtendedX: function () { return this.data.readInt(this.address + pa.extendedX.address); }, setExtendedX: function (a) { this.data.writeInt(this.address + pa.extendedX.address, a); }, getExtendedY: function () { return this.data.readInt(this.address + pa.extendedY.address); }, setExtendedY: function (a) { this.data.writeInt(this.address + pa.extendedY.address, a); }, getFormat: function () { return this.data.readString(this.address + pa.format.address); }, setFormat: function (a) { this.data.writeString(this.address + pa.format.address, a); }, getGravityX: function () { return this.data.readFloat(this.address + pa.gravityX.address); }, setGravityX: function (a) { this.data.writeFloat(this.address + pa.gravityX.address, a); }, getGravityY: function () { return this.data.readFloat(this.address + pa.gravityY.address); }, setGravityY: function (a) { this.data.writeFloat(this.address + pa.gravityY.address, a); }, getHeight: function () { return this.data.readInt(this.address + pa.height.address); }, setHeight: function (a) { this.data.writeInt(this.address + pa.height.address, a); }, getId: function () { return this.data.readInt(this.address + pa.id.address); }, setId: function (a) { this.data.writeInt(this.address + pa.id.address, a); }, getName: function () { return this.data.readString(this.address + pa.$name.address); }, setName: function (a) { this.data.writeString(this.address + pa.$name.address, a); }, getRevision: function () { return this.data.readString(this.address + pa.revision.address); }, setRevision: function (a) { this.data.writeString(this.address + pa.revision.address, a); }, getSavecount: function () { return this.data.readInt(this.address + pa.savecount.address); }, setSavecount: function (a) { this.data.writeInt(this.address + pa.savecount.address, a); }, getTileDepth: function () { return this.data.readInt(this.address + pa.tileDepth.address); }, setTileDepth: function (a) { this.data.writeInt(this.address + pa.tileDepth.address, a); }, getTileHeight: function () { return this.data.readInt(this.address + pa.tileHeight.address); }, setTileHeight: function (a) { this.data.writeInt(this.address + pa.tileHeight.address, a); }, getTileWidth: function () { return this.data.readInt(this.address + pa.tileWidth.address); }, setTileWidth: function (a) { this.data.writeInt(this.address + pa.tileWidth.address, a); }, getType: function () { return this.data.readString(this.address + pa.type.address); }, setType: function (a) { this.data.writeString(this.address + pa.type.address, a); }, getWidth: function () { return this.data.readInt(this.address + pa.width.address); }, setWidth: function (a) { this.data.writeInt(this.address + pa.width.address, a); }, getActorInstances: function () { this._actorInstances.setAddress( this.data.readInt(this.address + pa.actorInstances.address) ); return this._actorInstances; }, createActorInstances: function (a) { this._actorInstances.allocateNew(a); this.data.writeInt( this.address + pa.actorInstances.address, this._actorInstances.getAddress() ); return this._actorInstances; }, getAtlasMembers: function () { this._atlasMembers.setAddress(this.data.readInt(this.address + pa.atlasMembers.address)); return this._atlasMembers; }, createAtlasMembers: function (a) { this._atlasMembers.allocateNew(a); this.data.writeInt( this.address + pa.atlasMembers.address, this._atlasMembers.getAddress() ); return this._atlasMembers; }, getLayers: function () { this._layers.setAddress(this.data.readInt(this.address + pa.layers.address)); return this._layers; }, createLayers: function (a) { this._layers.allocateNew(a); this.data.writeInt(this.address + pa.layers.address, this._layers.getAddress()); return this._layers; }, getJoints: function () { this._joints.setAddress(this.data.readInt(this.address + pa.joints.address)); return this._joints; }, createJoints: function (a) { this._joints.allocateNew(a); this.data.writeInt(this.address + pa.joints.address, this._joints.getAddress()); return this._joints; }, getRegions: function () { this._regions.setAddress(this.data.readInt(this.address + pa.regions.address)); return this._regions; }, createRegions: function (a) { this._regions.allocateNew(a); this.data.writeInt(this.address + pa.regions.address, this._regions.getAddress()); return this._regions; }, getSnippets: function () { this._snippets.setAddress(this.data.readInt(this.address + pa.snippets.address)); return this._snippets; }, createSnippets: function (a) { this._snippets.allocateNew(a); this.data.writeInt(this.address + pa.snippets.address, this._snippets.getAddress()); return this._snippets; }, getTerrain: function () { this._terrain.setAddress(this.data.readInt(this.address + pa.terrain.address)); return this._terrain; }, createTerrain: function (a) { this._terrain.allocateNew(a); this.data.writeInt(this.address + pa.terrain.address, this._terrain.getAddress()); return this._terrain; }, getTerrainRegions: function () { this._terrainRegions.setAddress( this.data.readInt(this.address + pa.terrainRegions.address) ); return this._terrainRegions; }, createTerrainRegions: function (a) { this._terrainRegions.allocateNew(a); this.data.writeInt( this.address + pa.terrainRegions.address, this._terrainRegions.getAddress() ); return this._terrainRegions; }, __class__: pa }); var md = function (a) { this.data = a; }; k['com.stencyl.io.mbs.scene.MbsSceneHeader'] = md; md.__name__ = 'com.stencyl.io.mbs.scene.MbsSceneHeader'; md.initializeType = function () { null == md.MBS_SCENE_HEADER && ((md.MBS_SCENE_HEADER = new yb('MbsSceneHeader')), md.MBS_SCENE_HEADER.setInstantiator(function (a) { return new md(a); }), (md.id = md.MBS_SCENE_HEADER.createField('id', M.INTEGER)), (md.$name = md.MBS_SCENE_HEADER.createField('name', M.STRING)), (md.description = md.MBS_SCENE_HEADER.createField('description', M.STRING))); }; md.new_MbsSceneHeader_list = function (a) { return new Wa(a, md.MBS_SCENE_HEADER, new md(a)); }; md.__super__ = lb; md.prototype = t(lb.prototype, { getMbsType: function () { return md.MBS_SCENE_HEADER; }, allocateNew: function () { this.setAddress(this.data.allocate(md.MBS_SCENE_HEADER.getSize())); }, getId: function () { return this.data.readInt(this.address + md.id.address); }, setId: function (a) { this.data.writeInt(this.address + md.id.address, a); }, getName: function () { return this.data.readString(this.address + md.$name.address); }, setName: function (a) { this.data.writeString(this.address + md.$name.address, a); }, getDescription: function () { return this.data.readString(this.address + md.description.address); }, setDescription: function (a) { this.data.writeString(this.address + md.description.address, a); }, __class__: md }); var Ob = function (a) { this.data = a; this._durations = new Lf(a); this._autotileMerge = new Lf(a); }; k['com.stencyl.io.mbs.scene.MbsTile'] = Ob; Ob.__name__ = 'com.stencyl.io.mbs.scene.MbsTile'; Ob.initializeType = function () { null == Ob.MBS_TILE && ((Ob.MBS_TILE = new yb('MbsTile')), Ob.MBS_TILE.setInstantiator(function (a) { return new Ob(a); }), (Ob.collision = Ob.MBS_TILE.createField('collision', M.INTEGER)), (Ob.metadata = Ob.MBS_TILE.createField('metadata', M.STRING)), (Ob.durations = Ob.MBS_TILE.createField('durations', M.LIST)), (Ob.frames = Ob.MBS_TILE.createField('frames', M.INTEGER)), (Ob.id = Ob.MBS_TILE.createField('id', M.INTEGER)), (Ob.order = Ob.MBS_TILE.createField('order', M.INTEGER)), (Ob.autotile = Ob.MBS_TILE.createField('autotile', M.INTEGER)), (Ob.autotileMerge = Ob.MBS_TILE.createField('autotileMerge', M.LIST))); }; Ob.new_MbsTile_list = function (a) { return new Wa(a, Ob.MBS_TILE, new Ob(a)); }; Ob.__super__ = lb; Ob.prototype = t(lb.prototype, { getMbsType: function () { return Ob.MBS_TILE; }, _durations: null, _autotileMerge: null, allocateNew: function () { this.setAddress(this.data.allocate(Ob.MBS_TILE.getSize())); }, getCollision: function () { return this.data.readInt(this.address + Ob.collision.address); }, setCollision: function (a) { this.data.writeInt(this.address + Ob.collision.address, a); }, getMetadata: function () { return this.data.readString(this.address + Ob.metadata.address); }, setMetadata: function (a) { this.data.writeString(this.address + Ob.metadata.address, a); }, getDurations: function () { this._durations.setAddress(this.data.readInt(this.address + Ob.durations.address)); return this._durations; }, createDurations: function (a) { this._durations.allocateNew(a); this.data.writeInt(this.address + Ob.durations.address, this._durations.getAddress()); return this._durations; }, getFrames: function () { return this.data.readInt(this.address + Ob.frames.address); }, setFrames: function (a) { this.data.writeInt(this.address + Ob.frames.address, a); }, getId: function () { return this.data.readInt(this.address + Ob.id.address); }, setId: function (a) { this.data.writeInt(this.address + Ob.id.address, a); }, getOrder: function () { return this.data.readInt(this.address + Ob.order.address); }, setOrder: function (a) { this.data.writeInt(this.address + Ob.order.address, a); }, getAutotile: function () { return this.data.readInt(this.address + Ob.autotile.address); }, setAutotile: function (a) { this.data.writeInt(this.address + Ob.autotile.address, a); }, getAutotileMerge: function () { this._autotileMerge.setAddress( this.data.readInt(this.address + Ob.autotileMerge.address) ); return this._autotileMerge; }, createAutotileMerge: function (a) { this._autotileMerge.allocateNew(a); this.data.writeInt( this.address + Ob.autotileMerge.address, this._autotileMerge.getAddress() ); return this._autotileMerge; }, __class__: Ob }); var ec = function (a) { this.data = a; this._tiles = new Wa(a, Ob.MBS_TILE, new Ob(a)); }; k['com.stencyl.io.mbs.scene.MbsTileset'] = ec; ec.__name__ = 'com.stencyl.io.mbs.scene.MbsTileset'; ec.initializeType = function () { null == ec.MBS_TILESET && (rb.initializeType(), (ec.MBS_TILESET = new yb('MbsTileset')), ec.MBS_TILESET.setInstantiator(function (a) { return new ec(a); }), ec.MBS_TILESET.inherit(rb.MBS_RESOURCE), (ec.across = ec.MBS_TILESET.createField('across', M.INTEGER)), (ec.down = ec.MBS_TILESET.createField('down', M.INTEGER)), (ec.readableImages = ec.MBS_TILESET.createField('readableImages', M.BOOLEAN)), (ec.tileWidth = ec.MBS_TILESET.createField('tileWidth', M.INTEGER)), (ec.tileHeight = ec.MBS_TILESET.createField('tileHeight', M.INTEGER)), (ec.tiles = ec.MBS_TILESET.createField('tiles', M.LIST))); }; ec.new_MbsTileset_list = function (a) { return new Wa(a, ec.MBS_TILESET, new ec(a)); }; ec.__super__ = rb; ec.prototype = t(rb.prototype, { getMbsType: function () { return ec.MBS_TILESET; }, _tiles: null, allocateNew: function () { this.setAddress(this.data.allocate(ec.MBS_TILESET.getSize())); }, getAcross: function () { return this.data.readInt(this.address + ec.across.address); }, setAcross: function (a) { this.data.writeInt(this.address + ec.across.address, a); }, getDown: function () { return this.data.readInt(this.address + ec.down.address); }, setDown: function (a) { this.data.writeInt(this.address + ec.down.address, a); }, getReadableImages: function () { return this.data.readBool(this.address + ec.readableImages.address); }, setReadableImages: function (a) { this.data.writeBool(this.address + ec.readableImages.address, a); }, getTileWidth: function () { return this.data.readInt(this.address + ec.tileWidth.address); }, setTileWidth: function (a) { this.data.writeInt(this.address + ec.tileWidth.address, a); }, getTileHeight: function () { return this.data.readInt(this.address + ec.tileHeight.address); }, setTileHeight: function (a) { this.data.writeInt(this.address + ec.tileHeight.address, a); }, getTiles: function () { this._tiles.setAddress(this.data.readInt(this.address + ec.tiles.address)); return this._tiles; }, createTiles: function (a) { this._tiles.allocateNew(a); this.data.writeInt(this.address + ec.tiles.address, this._tiles.getAddress()); return this._tiles; }, __class__: ec }); var ee = function (a) { this.data = a; }; k['com.stencyl.io.mbs.scene.layers.MbsColorBackground'] = ee; ee.__name__ = 'com.stencyl.io.mbs.scene.layers.MbsColorBackground'; ee.initializeType = function () { null == ee.MBS_COLOR_BACKGROUND && ((ee.MBS_COLOR_BACKGROUND = new yb('MbsColorBackground')), ee.MBS_COLOR_BACKGROUND.setInstantiator(function (a) { return new ee(a); }), (ee.color = ee.MBS_COLOR_BACKGROUND.createField('color', M.INTEGER))); }; ee.new_MbsColorBackground_list = function (a) { return new Wa(a, ee.MBS_COLOR_BACKGROUND, new ee(a)); }; ee.__super__ = lb; ee.prototype = t(lb.prototype, { getMbsType: function () { return ee.MBS_COLOR_BACKGROUND; }, allocateNew: function () { this.setAddress(this.data.allocate(ee.MBS_COLOR_BACKGROUND.getSize())); }, getColor: function () { return this.data.readInt(this.address + ee.color.address); }, setColor: function (a) { this.data.writeInt(this.address + ee.color.address, a); }, __class__: ee }); var Bd = function (a) { this.data = a; }; k['com.stencyl.io.mbs.scene.layers.MbsGradientBackground'] = Bd; Bd.__name__ = 'com.stencyl.io.mbs.scene.layers.MbsGradientBackground'; Bd.initializeType = function () { null == Bd.MBS_GRADIENT_BACKGROUND && ((Bd.MBS_GRADIENT_BACKGROUND = new yb('MbsGradientBackground')), Bd.MBS_GRADIENT_BACKGROUND.setInstantiator(function (a) { return new Bd(a); }), (Bd.color1 = Bd.MBS_GRADIENT_BACKGROUND.createField('color1', M.INTEGER)), (Bd.color2 = Bd.MBS_GRADIENT_BACKGROUND.createField('color2', M.INTEGER))); }; Bd.new_MbsGradientBackground_list = function (a) { return new Wa(a, Bd.MBS_GRADIENT_BACKGROUND, new Bd(a)); }; Bd.__super__ = lb; Bd.prototype = t(lb.prototype, { getMbsType: function () { return Bd.MBS_GRADIENT_BACKGROUND; }, allocateNew: function () { this.setAddress(this.data.allocate(Bd.MBS_GRADIENT_BACKGROUND.getSize())); }, getColor1: function () { return this.data.readInt(this.address + Bd.color1.address); }, setColor1: function (a) { this.data.writeInt(this.address + Bd.color1.address, a); }, getColor2: function () { return this.data.readInt(this.address + Bd.color2.address); }, setColor2: function (a) { this.data.writeInt(this.address + Bd.color2.address, a); }, __class__: Bd }); var tb = function (a) { this.data = a; }; k['com.stencyl.io.mbs.scene.layers.MbsLayer'] = tb; tb.__name__ = 'com.stencyl.io.mbs.scene.layers.MbsLayer'; tb.initializeType = function () { null == tb.MBS_LAYER && ((tb.MBS_LAYER = new yb('MbsLayer')), tb.MBS_LAYER.setInstantiator(function (a) { return new tb(a); }), (tb.id = tb.MBS_LAYER.createField('id', M.INTEGER)), (tb.$name = tb.MBS_LAYER.createField('name', M.STRING)), (tb.order = tb.MBS_LAYER.createField('order', M.INTEGER)), (tb.opacity = tb.MBS_LAYER.createField('opacity', M.INTEGER)), (tb.blendmode = tb.MBS_LAYER.createField('blendmode', M.STRING)), (tb.scrollFactorX = tb.MBS_LAYER.createField('scrollFactorX', M.FLOAT)), (tb.scrollFactorY = tb.MBS_LAYER.createField('scrollFactorY', M.FLOAT)), (tb.visible = tb.MBS_LAYER.createField('visible', M.BOOLEAN)), (tb.locked = tb.MBS_LAYER.createField('locked', M.BOOLEAN))); }; tb.new_MbsLayer_list = function (a) { return new Wa(a, tb.MBS_LAYER, new tb(a)); }; tb.__super__ = lb; tb.prototype = t(lb.prototype, { getMbsType: function () { return tb.MBS_LAYER; }, allocateNew: function () { this.setAddress(this.data.allocate(tb.MBS_LAYER.getSize())); }, getId: function () { return this.data.readInt(this.address + tb.id.address); }, setId: function (a) { this.data.writeInt(this.address + tb.id.address, a); }, getName: function () { return this.data.readString(this.address + tb.$name.address); }, setName: function (a) { this.data.writeString(this.address + tb.$name.address, a); }, getOrder: function () { return this.data.readInt(this.address + tb.order.address); }, setOrder: function (a) { this.data.writeInt(this.address + tb.order.address, a); }, getOpacity: function () { return this.data.readInt(this.address + tb.opacity.address); }, setOpacity: function (a) { this.data.writeInt(this.address + tb.opacity.address, a); }, getBlendmode: function () { return this.data.readString(this.address + tb.blendmode.address); }, setBlendmode: function (a) { this.data.writeString(this.address + tb.blendmode.address, a); }, getScrollFactorX: function () { return this.data.readFloat(this.address + tb.scrollFactorX.address); }, setScrollFactorX: function (a) { this.data.writeFloat(this.address + tb.scrollFactorX.address, a); }, getScrollFactorY: function () { return this.data.readFloat(this.address + tb.scrollFactorY.address); }, setScrollFactorY: function (a) { this.data.writeFloat(this.address + tb.scrollFactorY.address, a); }, getVisible: function () { return this.data.readBool(this.address + tb.visible.address); }, setVisible: function (a) { this.data.writeBool(this.address + tb.visible.address, a); }, getLocked: function () { return this.data.readBool(this.address + tb.locked.address); }, setLocked: function (a) { this.data.writeBool(this.address + tb.locked.address, a); }, __class__: tb }); var Cd = function (a) { this.data = a; }; k['com.stencyl.io.mbs.scene.layers.MbsImageBackground'] = Cd; Cd.__name__ = 'com.stencyl.io.mbs.scene.layers.MbsImageBackground'; Cd.initializeType = function () { null == Cd.MBS_IMAGE_BACKGROUND && (tb.initializeType(), (Cd.MBS_IMAGE_BACKGROUND = new yb('MbsImageBackground')), Cd.MBS_IMAGE_BACKGROUND.setInstantiator(function (a) { return new Cd(a); }), Cd.MBS_IMAGE_BACKGROUND.inherit(tb.MBS_LAYER), (Cd.resourceID = Cd.MBS_IMAGE_BACKGROUND.createField('resourceID', M.INTEGER)), (Cd.customScroll = Cd.MBS_IMAGE_BACKGROUND.createField('customScroll', M.BOOLEAN))); }; Cd.new_MbsImageBackground_list = function (a) { return new Wa(a, Cd.MBS_IMAGE_BACKGROUND, new Cd(a)); }; Cd.__super__ = tb; Cd.prototype = t(tb.prototype, { getMbsType: function () { return Cd.MBS_IMAGE_BACKGROUND; }, allocateNew: function () { this.setAddress(this.data.allocate(Cd.MBS_IMAGE_BACKGROUND.getSize())); }, getResourceID: function () { return this.data.readInt(this.address + Cd.resourceID.address); }, setResourceID: function (a) { this.data.writeInt(this.address + Cd.resourceID.address, a); }, getCustomScroll: function () { return this.data.readBool(this.address + Cd.customScroll.address); }, setCustomScroll: function (a) { this.data.writeBool(this.address + Cd.customScroll.address, a); }, __class__: Cd }); var fe = function (a) { this.data = a; }; k['com.stencyl.io.mbs.scene.layers.MbsInteractiveLayer'] = fe; fe.__name__ = 'com.stencyl.io.mbs.scene.layers.MbsInteractiveLayer'; fe.initializeType = function () { null == fe.MBS_INTERACTIVE_LAYER && (tb.initializeType(), (fe.MBS_INTERACTIVE_LAYER = new yb('MbsInteractiveLayer')), fe.MBS_INTERACTIVE_LAYER.setInstantiator(function (a) { return new fe(a); }), fe.MBS_INTERACTIVE_LAYER.inherit(tb.MBS_LAYER), (fe.color = fe.MBS_INTERACTIVE_LAYER.createField('color', M.INTEGER))); }; fe.new_MbsInteractiveLayer_list = function (a) { return new Wa(a, fe.MBS_INTERACTIVE_LAYER, new fe(a)); }; fe.__super__ = tb; fe.prototype = t(tb.prototype, { getMbsType: function () { return fe.MBS_INTERACTIVE_LAYER; }, allocateNew: function () { this.setAddress(this.data.allocate(fe.MBS_INTERACTIVE_LAYER.getSize())); }, getColor: function () { return this.data.readInt(this.address + fe.color.address); }, setColor: function (a) { this.data.writeInt(this.address + fe.color.address, a); }, __class__: fe }); var Tb = function (a) { this.data = a; }; k['com.stencyl.io.mbs.scene.physics.MbsJoint'] = Tb; Tb.__name__ = 'com.stencyl.io.mbs.scene.physics.MbsJoint'; Tb.initializeType = function () { null == Tb.MBS_JOINT && ((Tb.MBS_JOINT = new yb('MbsJoint')), Tb.MBS_JOINT.setInstantiator(function (a) { return new Tb(a); }), (Tb.id = Tb.MBS_JOINT.createField('id', M.INTEGER)), (Tb.$name = Tb.MBS_JOINT.createField('name', M.STRING)), (Tb.actor1 = Tb.MBS_JOINT.createField('actor1', M.INTEGER)), (Tb.actor2 = Tb.MBS_JOINT.createField('actor2', M.INTEGER)), (Tb.collide = Tb.MBS_JOINT.createField('collide', M.BOOLEAN))); }; Tb.new_MbsJoint_list = function (a) { return new Wa(a, Tb.MBS_JOINT, new Tb(a)); }; Tb.__super__ = lb; Tb.prototype = t(lb.prototype, { getMbsType: function () { return Tb.MBS_JOINT; }, allocateNew: function () { this.setAddress(this.data.allocate(Tb.MBS_JOINT.getSize())); }, getId: function () { return this.data.readInt(this.address + Tb.id.address); }, setId: function (a) { this.data.writeInt(this.address + Tb.id.address, a); }, getName: function () { return this.data.readString(this.address + Tb.$name.address); }, setName: function (a) { this.data.writeString(this.address + Tb.$name.address, a); }, getActor1: function () { return this.data.readInt(this.address + Tb.actor1.address); }, setActor1: function (a) { this.data.writeInt(this.address + Tb.actor1.address, a); }, getActor2: function () { return this.data.readInt(this.address + Tb.actor2.address); }, setActor2: function (a) { this.data.writeInt(this.address + Tb.actor2.address, a); }, getCollide: function () { return this.data.readBool(this.address + Tb.collide.address); }, setCollide: function (a) { this.data.writeBool(this.address + Tb.collide.address, a); }, __class__: Tb }); var fc = function (a) { this.data = a; }; k['com.stencyl.io.mbs.scene.physics.MbsHingeJoint'] = fc; fc.__name__ = 'com.stencyl.io.mbs.scene.physics.MbsHingeJoint'; fc.initializeType = function () { null == fc.MBS_HINGE_JOINT && (Tb.initializeType(), (fc.MBS_HINGE_JOINT = new yb('MbsHingeJoint')), fc.MBS_HINGE_JOINT.setInstantiator(function (a) { return new fc(a); }), fc.MBS_HINGE_JOINT.inherit(Tb.MBS_JOINT), (fc.limit = fc.MBS_HINGE_JOINT.createField('limit', M.BOOLEAN)), (fc.motor = fc.MBS_HINGE_JOINT.createField('motor', M.BOOLEAN)), (fc.lower = fc.MBS_HINGE_JOINT.createField('lower', M.FLOAT)), (fc.upper = fc.MBS_HINGE_JOINT.createField('upper', M.FLOAT)), (fc.torque = fc.MBS_HINGE_JOINT.createField('torque', M.FLOAT)), (fc.speed = fc.MBS_HINGE_JOINT.createField('speed', M.FLOAT))); }; fc.new_MbsHingeJoint_list = function (a) { return new Wa(a, fc.MBS_HINGE_JOINT, new fc(a)); }; fc.__super__ = Tb; fc.prototype = t(Tb.prototype, { getMbsType: function () { return fc.MBS_HINGE_JOINT; }, allocateNew: function () { this.setAddress(this.data.allocate(fc.MBS_HINGE_JOINT.getSize())); }, getLimit: function () { return this.data.readBool(this.address + fc.limit.address); }, setLimit: function (a) { this.data.writeBool(this.address + fc.limit.address, a); }, getMotor: function () { return this.data.readBool(this.address + fc.motor.address); }, setMotor: function (a) { this.data.writeBool(this.address + fc.motor.address, a); }, getLower: function () { return this.data.readFloat(this.address + fc.lower.address); }, setLower: function (a) { this.data.writeFloat(this.address + fc.lower.address, a); }, getUpper: function () { return this.data.readFloat(this.address + fc.upper.address); }, setUpper: function (a) { this.data.writeFloat(this.address + fc.upper.address, a); }, getTorque: function () { return this.data.readFloat(this.address + fc.torque.address); }, setTorque: function (a) { this.data.writeFloat(this.address + fc.torque.address, a); }, getSpeed: function () { return this.data.readFloat(this.address + fc.speed.address); }, setSpeed: function (a) { this.data.writeFloat(this.address + fc.speed.address, a); }, __class__: fc }); var Wb = function (a) { this.data = a; }; k['com.stencyl.io.mbs.scene.physics.MbsRegion'] = Wb; Wb.__name__ = 'com.stencyl.io.mbs.scene.physics.MbsRegion'; Wb.initializeType = function () { null == Wb.MBS_REGION && ((Wb.MBS_REGION = new yb('MbsRegion')), Wb.MBS_REGION.setInstantiator(function (a) { return new Wb(a); }), (Wb.color = Wb.MBS_REGION.createField('color', M.INTEGER)), (Wb.id = Wb.MBS_REGION.createField('id', M.INTEGER)), (Wb.$name = Wb.MBS_REGION.createField('name', M.STRING)), (Wb.shape = Wb.MBS_REGION.createField('shape', M.DYNAMIC)), (Wb.x = Wb.MBS_REGION.createField('x', M.INTEGER)), (Wb.y = Wb.MBS_REGION.createField('y', M.INTEGER))); }; Wb.new_MbsRegion_list = function (a) { return new Wa(a, Wb.MBS_REGION, new Wb(a)); }; Wb.__super__ = lb; Wb.prototype = t(lb.prototype, { getMbsType: function () { return Wb.MBS_REGION; }, allocateNew: function () { this.setAddress(this.data.allocate(Wb.MBS_REGION.getSize())); }, getColor: function () { return this.data.readInt(this.address + Wb.color.address); }, setColor: function (a) { this.data.writeInt(this.address + Wb.color.address, a); }, getId: function () { return this.data.readInt(this.address + Wb.id.address); }, setId: function (a) { this.data.writeInt(this.address + Wb.id.address, a); }, getName: function () { return this.data.readString(this.address + Wb.$name.address); }, setName: function (a) { this.data.writeString(this.address + Wb.$name.address, a); }, getShape: function () { return de.readDynamic(this.data, this.address + Wb.shape.address); }, setShape: function (a) { de.writeDynamic(this.data, this.address + Wb.shape.address, a); }, getX: function () { return this.data.readInt(this.address + Wb.x.address); }, setX: function (a) { this.data.writeInt(this.address + Wb.x.address, a); }, getY: function () { return this.data.readInt(this.address + Wb.y.address); }, setY: function (a) { this.data.writeInt(this.address + Wb.y.address, a); }, __class__: Wb }); var Pb = function (a) { this.data = a; }; k['com.stencyl.io.mbs.scene.physics.MbsSlidingJoint'] = Pb; Pb.__name__ = 'com.stencyl.io.mbs.scene.physics.MbsSlidingJoint'; Pb.initializeType = function () { null == Pb.MBS_SLIDING_JOINT && (Tb.initializeType(), (Pb.MBS_SLIDING_JOINT = new yb('MbsSlidingJoint')), Pb.MBS_SLIDING_JOINT.setInstantiator(function (a) { return new Pb(a); }), Pb.MBS_SLIDING_JOINT.inherit(Tb.MBS_JOINT), (Pb.limit = Pb.MBS_SLIDING_JOINT.createField('limit', M.BOOLEAN)), (Pb.motor = Pb.MBS_SLIDING_JOINT.createField('motor', M.BOOLEAN)), (Pb.lower = Pb.MBS_SLIDING_JOINT.createField('lower', M.FLOAT)), (Pb.upper = Pb.MBS_SLIDING_JOINT.createField('upper', M.FLOAT)), (Pb.force = Pb.MBS_SLIDING_JOINT.createField('force', M.FLOAT)), (Pb.speed = Pb.MBS_SLIDING_JOINT.createField('speed', M.FLOAT)), (Pb.x = Pb.MBS_SLIDING_JOINT.createField('x', M.FLOAT)), (Pb.y = Pb.MBS_SLIDING_JOINT.createField('y', M.FLOAT))); }; Pb.new_MbsSlidingJoint_list = function (a) { return new Wa(a, Pb.MBS_SLIDING_JOINT, new Pb(a)); }; Pb.__super__ = Tb; Pb.prototype = t(Tb.prototype, { getMbsType: function () { return Pb.MBS_SLIDING_JOINT; }, allocateNew: function () { this.setAddress(this.data.allocate(Pb.MBS_SLIDING_JOINT.getSize())); }, getLimit: function () { return this.data.readBool(this.address + Pb.limit.address); }, setLimit: function (a) { this.data.writeBool(this.address + Pb.limit.address, a); }, getMotor: function () { return this.data.readBool(this.address + Pb.motor.address); }, setMotor: function (a) { this.data.writeBool(this.address + Pb.motor.address, a); }, getLower: function () { return this.data.readFloat(this.address + Pb.lower.address); }, setLower: function (a) { this.data.writeFloat(this.address + Pb.lower.address, a); }, getUpper: function () { return this.data.readFloat(this.address + Pb.upper.address); }, setUpper: function (a) { this.data.writeFloat(this.address + Pb.upper.address, a); }, getForce: function () { return this.data.readFloat(this.address + Pb.force.address); }, setForce: function (a) { this.data.writeFloat(this.address + Pb.force.address, a); }, getSpeed: function () { return this.data.readFloat(this.address + Pb.speed.address); }, setSpeed: function (a) { this.data.writeFloat(this.address + Pb.speed.address, a); }, getX: function () { return this.data.readFloat(this.address + Pb.x.address); }, setX: function (a) { this.data.writeFloat(this.address + Pb.x.address, a); }, getY: function () { return this.data.readFloat(this.address + Pb.y.address); }, setY: function (a) { this.data.writeFloat(this.address + Pb.y.address, a); }, __class__: Pb }); var Dd = function (a) { this.data = a; }; k['com.stencyl.io.mbs.scene.physics.MbsStickJoint'] = Dd; Dd.__name__ = 'com.stencyl.io.mbs.scene.physics.MbsStickJoint'; Dd.initializeType = function () { null == Dd.MBS_STICK_JOINT && (Tb.initializeType(), (Dd.MBS_STICK_JOINT = new yb('MbsStickJoint')), Dd.MBS_STICK_JOINT.setInstantiator(function (a) { return new Dd(a); }), Dd.MBS_STICK_JOINT.inherit(Tb.MBS_JOINT), (Dd.damping = Dd.MBS_STICK_JOINT.createField('damping', M.FLOAT)), (Dd.frequency = Dd.MBS_STICK_JOINT.createField('frequency', M.FLOAT))); }; Dd.new_MbsStickJoint_list = function (a) { return new Wa(a, Dd.MBS_STICK_JOINT, new Dd(a)); }; Dd.__super__ = Tb; Dd.prototype = t(Tb.prototype, { getMbsType: function () { return Dd.MBS_STICK_JOINT; }, allocateNew: function () { this.setAddress(this.data.allocate(Dd.MBS_STICK_JOINT.getSize())); }, getDamping: function () { return this.data.readFloat(this.address + Dd.damping.address); }, setDamping: function (a) { this.data.writeFloat(this.address + Dd.damping.address, a); }, getFrequency: function () { return this.data.readFloat(this.address + Dd.frequency.address); }, setFrequency: function (a) { this.data.writeFloat(this.address + Dd.frequency.address, a); }, __class__: Dd }); var Yd = function (a) { this.data = a; }; k['com.stencyl.io.mbs.scene.physics.MbsTerrainRegion'] = Yd; Yd.__name__ = 'com.stencyl.io.mbs.scene.physics.MbsTerrainRegion'; Yd.initializeType = function () { null == Yd.MBS_TERRAIN_REGION && (Wb.initializeType(), (Yd.MBS_TERRAIN_REGION = new yb('MbsTerrainRegion')), Yd.MBS_TERRAIN_REGION.setInstantiator(function (a) { return new Yd(a); }), Yd.MBS_TERRAIN_REGION.inherit(Wb.MBS_REGION), (Yd.groupID = Yd.MBS_TERRAIN_REGION.createField('groupID', M.INTEGER))); }; Yd.new_MbsTerrainRegion_list = function (a) { return new Wa(a, Yd.MBS_TERRAIN_REGION, new Yd(a)); }; Yd.__super__ = Wb; Yd.prototype = t(Wb.prototype, { getMbsType: function () { return Yd.MBS_TERRAIN_REGION; }, allocateNew: function () { this.setAddress(this.data.allocate(Yd.MBS_TERRAIN_REGION.getSize())); }, getGroupID: function () { return this.data.readInt(this.address + Yd.groupID.address); }, setGroupID: function (a) { this.data.writeInt(this.address + Yd.groupID.address, a); }, __class__: Yd }); var Rd = function (a) { this.data = a; }; k['com.stencyl.io.mbs.shape.MbsShape'] = Rd; Rd.__name__ = 'com.stencyl.io.mbs.shape.MbsShape'; Rd.initializeType = function () { null == Rd.MBS_SHAPE && ((Rd.MBS_SHAPE = new yb('MbsShape')), Rd.MBS_SHAPE.setInstantiator(function (a) { return new Rd(a); })); }; Rd.new_MbsShape_list = function (a) { return new Wa(a, Rd.MBS_SHAPE, new Rd(a)); }; Rd.__super__ = lb; Rd.prototype = t(lb.prototype, { getMbsType: function () { return Rd.MBS_SHAPE; }, allocateNew: function () { this.setAddress(this.data.allocate(Rd.MBS_SHAPE.getSize())); }, __class__: Rd }); var Hd = function (a) { this.data = a; this._position = new pc(a); }; k['com.stencyl.io.mbs.shape.MbsCircle'] = Hd; Hd.__name__ = 'com.stencyl.io.mbs.shape.MbsCircle'; Hd.initializeType = function () { null == Hd.MBS_CIRCLE && (Rd.initializeType(), (Hd.MBS_CIRCLE = new yb('MbsCircle')), Hd.MBS_CIRCLE.setInstantiator(function (a) { return new Hd(a); }), Hd.MBS_CIRCLE.inherit(Rd.MBS_SHAPE), (Hd.position = Hd.MBS_CIRCLE.createField('position', pc.MBS_POINT)), (Hd.radius = Hd.MBS_CIRCLE.createField('radius', M.FLOAT))); }; Hd.new_MbsCircle_list = function (a) { return new Wa(a, Hd.MBS_CIRCLE, new Hd(a)); }; Hd.__super__ = Rd; Hd.prototype = t(Rd.prototype, { getMbsType: function () { return Hd.MBS_CIRCLE; }, _position: null, allocateNew: function () { this.setAddress(this.data.allocate(Hd.MBS_CIRCLE.getSize())); }, getPosition: function () { this._position.setAddress(this.address + Hd.position.address); return this._position; }, getRadius: function () { return this.data.readFloat(this.address + Hd.radius.address); }, setRadius: function (a) { this.data.writeFloat(this.address + Hd.radius.address, a); }, __class__: Hd }); var pc = function (a) { this.data = a; }; k['com.stencyl.io.mbs.shape.MbsPoint'] = pc; pc.__name__ = 'com.stencyl.io.mbs.shape.MbsPoint'; pc.initializeType = function () { null == pc.MBS_POINT && ((pc.MBS_POINT = new yb('MbsPoint')), pc.MBS_POINT.setInstantiator(function (a) { return new pc(a); }), (pc.x = pc.MBS_POINT.createField('x', M.FLOAT)), (pc.y = pc.MBS_POINT.createField('y', M.FLOAT))); }; pc.new_MbsPoint_list = function (a) { return new Wa(a, pc.MBS_POINT, new pc(a)); }; pc.__super__ = lb; pc.prototype = t(lb.prototype, { getMbsType: function () { return pc.MBS_POINT; }, allocateNew: function () { this.setAddress(this.data.allocate(pc.MBS_POINT.getSize())); }, getX: function () { return this.data.readFloat(this.address + pc.x.address); }, setX: function (a) { this.data.writeFloat(this.address + pc.x.address, a); }, getY: function () { return this.data.readFloat(this.address + pc.y.address); }, setY: function (a) { this.data.writeFloat(this.address + pc.y.address, a); }, __class__: pc }); var Tc = function (a) { this.data = a; this._points = new Wa(a, pc.MBS_POINT, new pc(a)); }; k['com.stencyl.io.mbs.shape.MbsPolygon'] = Tc; Tc.__name__ = 'com.stencyl.io.mbs.shape.MbsPolygon'; Tc.initializeType = function () { null == Tc.MBS_POLYGON && (Rd.initializeType(), (Tc.MBS_POLYGON = new yb('MbsPolygon')), Tc.MBS_POLYGON.setInstantiator(function (a) { return new Tc(a); }), Tc.MBS_POLYGON.inherit(Rd.MBS_SHAPE), (Tc.points = Tc.MBS_POLYGON.createField('points', M.LIST))); }; Tc.new_MbsPolygon_list = function (a) { return new Wa(a, Tc.MBS_POLYGON, new Tc(a)); }; Tc.__super__ = Rd; Tc.prototype = t(Rd.prototype, { getMbsType: function () { return Tc.MBS_POLYGON; }, _points: null, allocateNew: function () { this.setAddress(this.data.allocate(Tc.MBS_POLYGON.getSize())); }, getPoints: function () { this._points.setAddress(this.data.readInt(this.address + Tc.points.address)); return this._points; }, createPoints: function (a) { this._points.allocateNew(a); this.data.writeInt(this.address + Tc.points.address, this._points.getAddress()); return this._points; }, __class__: Tc }); var rd = function (a) { Tc.call(this, a); }; k['com.stencyl.io.mbs.shape.MbsPolyRegion'] = rd; rd.__name__ = 'com.stencyl.io.mbs.shape.MbsPolyRegion'; rd.initializeType = function () { null == rd.MBS_POLY_REGION && (Tc.initializeType(), (rd.MBS_POLY_REGION = new yb('MbsPolyRegion')), rd.MBS_POLY_REGION.setInstantiator(function (a) { return new rd(a); }), rd.MBS_POLY_REGION.inherit(Tc.MBS_POLYGON), (rd.width = rd.MBS_POLY_REGION.createField('width', M.INTEGER)), (rd.height = rd.MBS_POLY_REGION.createField('height', M.INTEGER))); }; rd.new_MbsPolyRegion_list = function (a) { return new Wa(a, rd.MBS_POLY_REGION, new rd(a)); }; rd.__super__ = Tc; rd.prototype = t(Tc.prototype, { getMbsType: function () { return rd.MBS_POLY_REGION; }, allocateNew: function () { this.setAddress(this.data.allocate(rd.MBS_POLY_REGION.getSize())); }, getWidth: function () { return this.data.readInt(this.address + rd.width.address); }, setWidth: function (a) { this.data.writeInt(this.address + rd.width.address, a); }, getHeight: function () { return this.data.readInt(this.address + rd.height.address); }, setHeight: function (a) { this.data.writeInt(this.address + rd.height.address, a); }, __class__: rd }); var ge = function (a) { Tc.call(this, a); this._position = new pc(a); }; k['com.stencyl.io.mbs.shape.MbsWireframe'] = ge; ge.__name__ = 'com.stencyl.io.mbs.shape.MbsWireframe'; ge.initializeType = function () { null == ge.MBS_WIREFRAME && (Tc.initializeType(), (ge.MBS_WIREFRAME = new yb('MbsWireframe')), ge.MBS_WIREFRAME.setInstantiator(function (a) { return new ge(a); }), ge.MBS_WIREFRAME.inherit(Tc.MBS_POLYGON), (ge.position = ge.MBS_WIREFRAME.createField('position', pc.MBS_POINT))); }; ge.new_MbsWireframe_list = function (a) { return new Wa(a, ge.MBS_WIREFRAME, new ge(a)); }; ge.__super__ = Tc; ge.prototype = t(Tc.prototype, { getMbsType: function () { return ge.MBS_WIREFRAME; }, _position: null, allocateNew: function () { this.setAddress(this.data.allocate(ge.MBS_WIREFRAME.getSize())); }, getPosition: function () { this._position.setAddress(this.address + ge.position.address); return this._position; }, __class__: ge }); var ad = function (a) { this.data = a; }; k['com.stencyl.io.mbs.snippet.MbsAttribute'] = ad; ad.__name__ = 'com.stencyl.io.mbs.snippet.MbsAttribute'; ad.initializeType = function () { null == ad.MBS_ATTRIBUTE && ((ad.MBS_ATTRIBUTE = new yb('MbsAttribute')), ad.MBS_ATTRIBUTE.setInstantiator(function (a) { return new ad(a); }), (ad.id = ad.MBS_ATTRIBUTE.createField('id', M.INTEGER)), (ad.type = ad.MBS_ATTRIBUTE.createField('type', M.STRING)), (ad.value = ad.MBS_ATTRIBUTE.createField('value', M.DYNAMIC))); }; ad.new_MbsAttribute_list = function (a) { return new Wa(a, ad.MBS_ATTRIBUTE, new ad(a)); }; ad.__super__ = lb; ad.prototype = t(lb.prototype, { getMbsType: function () { return ad.MBS_ATTRIBUTE; }, allocateNew: function () { this.setAddress(this.data.allocate(ad.MBS_ATTRIBUTE.getSize())); }, getId: function () { return this.data.readInt(this.address + ad.id.address); }, setId: function (a) { this.data.writeInt(this.address + ad.id.address, a); }, getType: function () { return this.data.readString(this.address + ad.type.address); }, setType: function (a) { this.data.writeString(this.address + ad.type.address, a); }, getValue: function () { return de.readDynamic(this.data, this.address + ad.value.address); }, setValue: function (a) { de.writeDynamic(this.data, this.address + ad.value.address, a); }, __class__: ad }); var Db = function (a) { this.data = a; }; k['com.stencyl.io.mbs.snippet.MbsAttributeDef'] = Db; Db.__name__ = 'com.stencyl.io.mbs.snippet.MbsAttributeDef'; Db.initializeType = function () { null == Db.MBS_ATTRIBUTE_DEF && ((Db.MBS_ATTRIBUTE_DEF = new yb('MbsAttributeDef')), Db.MBS_ATTRIBUTE_DEF.setInstantiator(function (a) { return new Db(a); }), (Db.type = Db.MBS_ATTRIBUTE_DEF.createField('type', M.STRING)), (Db.defaultValue = Db.MBS_ATTRIBUTE_DEF.createField('defaultValue', M.DYNAMIC)), (Db.description = Db.MBS_ATTRIBUTE_DEF.createField('description', M.STRING)), (Db.dropdown = Db.MBS_ATTRIBUTE_DEF.createField('dropdown', M.STRING)), (Db.fullname = Db.MBS_ATTRIBUTE_DEF.createField('fullname', M.STRING)), (Db.hidden = Db.MBS_ATTRIBUTE_DEF.createField('hidden', M.BOOLEAN)), (Db.id = Db.MBS_ATTRIBUTE_DEF.createField('id', M.INTEGER)), (Db.$name = Db.MBS_ATTRIBUTE_DEF.createField('name', M.STRING)), (Db.order = Db.MBS_ATTRIBUTE_DEF.createField('order', M.INTEGER))); }; Db.new_MbsAttributeDef_list = function (a) { return new Wa(a, Db.MBS_ATTRIBUTE_DEF, new Db(a)); }; Db.__super__ = lb; Db.prototype = t(lb.prototype, { getMbsType: function () { return Db.MBS_ATTRIBUTE_DEF; }, allocateNew: function () { this.setAddress(this.data.allocate(Db.MBS_ATTRIBUTE_DEF.getSize())); }, getType: function () { return this.data.readString(this.address + Db.type.address); }, setType: function (a) { this.data.writeString(this.address + Db.type.address, a); }, getDefaultValue: function () { return de.readDynamic(this.data, this.address + Db.defaultValue.address); }, setDefaultValue: function (a) { de.writeDynamic(this.data, this.address + Db.defaultValue.address, a); }, getDescription: function () { return this.data.readString(this.address + Db.description.address); }, setDescription: function (a) { this.data.writeString(this.address + Db.description.address, a); }, getDropdown: function () { return this.data.readString(this.address + Db.dropdown.address); }, setDropdown: function (a) { this.data.writeString(this.address + Db.dropdown.address, a); }, getFullname: function () { return this.data.readString(this.address + Db.fullname.address); }, setFullname: function (a) { this.data.writeString(this.address + Db.fullname.address, a); }, getHidden: function () { return this.data.readBool(this.address + Db.hidden.address); }, setHidden: function (a) { this.data.writeBool(this.address + Db.hidden.address, a); }, getId: function () { return this.data.readInt(this.address + Db.id.address); }, setId: function (a) { this.data.writeInt(this.address + Db.id.address, a); }, getName: function () { return this.data.readString(this.address + Db.$name.address); }, setName: function (a) { this.data.writeString(this.address + Db.$name.address, a); }, getOrder: function () { return this.data.readInt(this.address + Db.order.address); }, setOrder: function (a) { this.data.writeInt(this.address + Db.order.address, a); }, __class__: Db }); var $c = function (a) { this.data = a; }; k['com.stencyl.io.mbs.snippet.MbsBlock'] = $c; $c.__name__ = 'com.stencyl.io.mbs.snippet.MbsBlock'; $c.initializeType = function () { null == $c.MBS_BLOCK && (($c.MBS_BLOCK = new yb('MbsBlock')), $c.MBS_BLOCK.setInstantiator(function (a) { return new $c(a); }), ($c.type = $c.MBS_BLOCK.createField('type', M.STRING)), ($c.id = $c.MBS_BLOCK.createField('id', M.INTEGER)), ($c.blockID = $c.MBS_BLOCK.createField('blockID', M.INTEGER))); }; $c.new_MbsBlock_list = function (a) { return new Wa(a, $c.MBS_BLOCK, new $c(a)); }; $c.__super__ = lb; $c.prototype = t(lb.prototype, { getMbsType: function () { return $c.MBS_BLOCK; }, allocateNew: function () { this.setAddress(this.data.allocate($c.MBS_BLOCK.getSize())); }, getType: function () { return this.data.readString(this.address + $c.type.address); }, setType: function (a) { this.data.writeString(this.address + $c.type.address, a); }, getId: function () { return this.data.readInt(this.address + $c.id.address); }, setId: function (a) { this.data.writeInt(this.address + $c.id.address, a); }, getBlockID: function () { return this.data.readInt(this.address + $c.blockID.address); }, setBlockID: function (a) { this.data.writeInt(this.address + $c.blockID.address, a); }, __class__: $c }); var gc = function (a) { this.data = a; }; k['com.stencyl.io.mbs.snippet.MbsEvent'] = gc; gc.__name__ = 'com.stencyl.io.mbs.snippet.MbsEvent'; gc.initializeType = function () { null == gc.MBS_EVENT && ((gc.MBS_EVENT = new yb('MbsEvent')), gc.MBS_EVENT.setInstantiator(function (a) { return new gc(a); }), (gc.displayName = gc.MBS_EVENT.createField('displayName', M.STRING)), (gc.enabled = gc.MBS_EVENT.createField('enabled', M.BOOLEAN)), (gc.id = gc.MBS_EVENT.createField('id', M.INTEGER)), (gc.$name = gc.MBS_EVENT.createField('name', M.STRING)), (gc.order = gc.MBS_EVENT.createField('order', M.INTEGER)), (gc.repeats = gc.MBS_EVENT.createField('repeats', M.BOOLEAN))); }; gc.new_MbsEvent_list = function (a) { return new Wa(a, gc.MBS_EVENT, new gc(a)); }; gc.__super__ = lb; gc.prototype = t(lb.prototype, { getMbsType: function () { return gc.MBS_EVENT; }, allocateNew: function () { this.setAddress(this.data.allocate(gc.MBS_EVENT.getSize())); }, getDisplayName: function () { return this.data.readString(this.address + gc.displayName.address); }, setDisplayName: function (a) { this.data.writeString(this.address + gc.displayName.address, a); }, getEnabled: function () { return this.data.readBool(this.address + gc.enabled.address); }, setEnabled: function (a) { this.data.writeBool(this.address + gc.enabled.address, a); }, getId: function () { return this.data.readInt(this.address + gc.id.address); }, setId: function (a) { this.data.writeInt(this.address + gc.id.address, a); }, getName: function () { return this.data.readString(this.address + gc.$name.address); }, setName: function (a) { this.data.writeString(this.address + gc.$name.address, a); }, getOrder: function () { return this.data.readInt(this.address + gc.order.address); }, setOrder: function (a) { this.data.writeInt(this.address + gc.order.address, a); }, getRepeats: function () { return this.data.readBool(this.address + gc.repeats.address); }, setRepeats: function (a) { this.data.writeBool(this.address + gc.repeats.address, a); }, __class__: gc }); var Ed = function (a) { this.data = a; }; k['com.stencyl.io.mbs.snippet.MbsMapElement'] = Ed; Ed.__name__ = 'com.stencyl.io.mbs.snippet.MbsMapElement'; Ed.initializeType = function () { null == Ed.MBS_MAP_ELEMENT && ((Ed.MBS_MAP_ELEMENT = new yb('MbsMapElement')), Ed.MBS_MAP_ELEMENT.setInstantiator(function (a) { return new Ed(a); }), (Ed.key = Ed.MBS_MAP_ELEMENT.createField('key', M.STRING)), (Ed.value = Ed.MBS_MAP_ELEMENT.createField('value', M.DYNAMIC))); }; Ed.new_MbsMapElement_list = function (a) { return new Wa(a, Ed.MBS_MAP_ELEMENT, new Ed(a)); }; Ed.__super__ = lb; Ed.prototype = t(lb.prototype, { getMbsType: function () { return Ed.MBS_MAP_ELEMENT; }, allocateNew: function () { this.setAddress(this.data.allocate(Ed.MBS_MAP_ELEMENT.getSize())); }, getKey: function () { return this.data.readString(this.address + Ed.key.address); }, setKey: function (a) { this.data.writeString(this.address + Ed.key.address, a); }, getValue: function () { return de.readDynamic(this.data, this.address + Ed.value.address); }, setValue: function (a) { de.writeDynamic(this.data, this.address + Ed.value.address, a); }, __class__: Ed }); var Hc = function (a) { this.data = a; this._properties = new Wa(a, ad.MBS_ATTRIBUTE, new ad(a)); }; k['com.stencyl.io.mbs.snippet.MbsSnippet'] = Hc; Hc.__name__ = 'com.stencyl.io.mbs.snippet.MbsSnippet'; Hc.initializeType = function () { null == Hc.MBS_SNIPPET && ((Hc.MBS_SNIPPET = new yb('MbsSnippet')), Hc.MBS_SNIPPET.setInstantiator(function (a) { return new Hc(a); }), (Hc.enabled = Hc.MBS_SNIPPET.createField('enabled', M.BOOLEAN)), (Hc.id = Hc.MBS_SNIPPET.createField('id', M.INTEGER)), (Hc.properties = Hc.MBS_SNIPPET.createField('properties', M.LIST))); }; Hc.new_MbsSnippet_list = function (a) { return new Wa(a, Hc.MBS_SNIPPET, new Hc(a)); }; Hc.__super__ = lb; Hc.prototype = t(lb.prototype, { getMbsType: function () { return Hc.MBS_SNIPPET; }, _properties: null, allocateNew: function () { this.setAddress(this.data.allocate(Hc.MBS_SNIPPET.getSize())); }, getEnabled: function () { return this.data.readBool(this.address + Hc.enabled.address); }, setEnabled: function (a) { this.data.writeBool(this.address + Hc.enabled.address, a); }, getId: function () { return this.data.readInt(this.address + Hc.id.address); }, setId: function (a) { this.data.writeInt(this.address + Hc.id.address, a); }, getProperties: function () { this._properties.setAddress(this.data.readInt(this.address + Hc.properties.address)); return this._properties; }, createProperties: function (a) { this._properties.allocateNew(a); this.data.writeInt(this.address + Hc.properties.address, this._properties.getAddress()); return this._properties; }, __class__: Hc }); var gb = function (a) { this.data = a; this._attributes = new Wa(a, Db.MBS_ATTRIBUTE_DEF, new Db(a)); this._blocks = new Wa(a, $c.MBS_BLOCK, new $c(a)); this._events = new Wa(a, gc.MBS_EVENT, new gc(a)); }; k['com.stencyl.io.mbs.snippet.MbsSnippetDef'] = gb; gb.__name__ = 'com.stencyl.io.mbs.snippet.MbsSnippetDef'; gb.initializeType = function () { null == gb.MBS_SNIPPET_DEF && ((gb.MBS_SNIPPET_DEF = new yb('MbsSnippetDef')), gb.MBS_SNIPPET_DEF.setInstantiator(function (a) { return new gb(a); }), (gb.attachedEvent = gb.MBS_SNIPPET_DEF.createField('attachedEvent', M.BOOLEAN)), (gb.actorID = gb.MBS_SNIPPET_DEF.createField('actorID', M.INTEGER)), (gb.classname = gb.MBS_SNIPPET_DEF.createField('classname', M.STRING)), (gb.description = gb.MBS_SNIPPET_DEF.createField('description', M.STRING)), (gb.design = gb.MBS_SNIPPET_DEF.createField('design', M.BOOLEAN)), (gb.drawOrder = gb.MBS_SNIPPET_DEF.createField('drawOrder', M.INTEGER)), (gb.id = gb.MBS_SNIPPET_DEF.createField('id', M.INTEGER)), (gb.$name = gb.MBS_SNIPPET_DEF.createField('name', M.STRING)), (gb.packageName = gb.MBS_SNIPPET_DEF.createField('packageName', M.STRING)), (gb.sceneID = gb.MBS_SNIPPET_DEF.createField('sceneID', M.INTEGER)), (gb.type = gb.MBS_SNIPPET_DEF.createField('type', M.STRING)), (gb.attributes = gb.MBS_SNIPPET_DEF.createField('attributes', M.LIST)), (gb.blocks = gb.MBS_SNIPPET_DEF.createField('blocks', M.LIST)), (gb.events = gb.MBS_SNIPPET_DEF.createField('events', M.LIST))); }; gb.new_MbsSnippetDef_list = function (a) { return new Wa(a, gb.MBS_SNIPPET_DEF, new gb(a)); }; gb.__super__ = lb; gb.prototype = t(lb.prototype, { getMbsType: function () { return gb.MBS_SNIPPET_DEF; }, _attributes: null, _blocks: null, _events: null, allocateNew: function () { this.setAddress(this.data.allocate(gb.MBS_SNIPPET_DEF.getSize())); }, getAttachedEvent: function () { return this.data.readBool(this.address + gb.attachedEvent.address); }, setAttachedEvent: function (a) { this.data.writeBool(this.address + gb.attachedEvent.address, a); }, getActorID: function () { return this.data.readInt(this.address + gb.actorID.address); }, setActorID: function (a) { this.data.writeInt(this.address + gb.actorID.address, a); }, getClassname: function () { return this.data.readString(this.address + gb.classname.address); }, setClassname: function (a) { this.data.writeString(this.address + gb.classname.address, a); }, getDescription: function () { return this.data.readString(this.address + gb.description.address); }, setDescription: function (a) { this.data.writeString(this.address + gb.description.address, a); }, getDesign: function () { return this.data.readBool(this.address + gb.design.address); }, setDesign: function (a) { this.data.writeBool(this.address + gb.design.address, a); }, getDrawOrder: function () { return this.data.readInt(this.address + gb.drawOrder.address); }, setDrawOrder: function (a) { this.data.writeInt(this.address + gb.drawOrder.address, a); }, getId: function () { return this.data.readInt(this.address + gb.id.address); }, setId: function (a) { this.data.writeInt(this.address + gb.id.address, a); }, getName: function () { return this.data.readString(this.address + gb.$name.address); }, setName: function (a) { this.data.writeString(this.address + gb.$name.address, a); }, getPackageName: function () { return this.data.readString(this.address + gb.packageName.address); }, setPackageName: function (a) { this.data.writeString(this.address + gb.packageName.address, a); }, getSceneID: function () { return this.data.readInt(this.address + gb.sceneID.address); }, setSceneID: function (a) { this.data.writeInt(this.address + gb.sceneID.address, a); }, getType: function () { return this.data.readString(this.address + gb.type.address); }, setType: function (a) { this.data.writeString(this.address + gb.type.address, a); }, getAttributes: function () { this._attributes.setAddress(this.data.readInt(this.address + gb.attributes.address)); return this._attributes; }, createAttributes: function (a) { this._attributes.allocateNew(a); this.data.writeInt(this.address + gb.attributes.address, this._attributes.getAddress()); return this._attributes; }, getBlocks: function () { this._blocks.setAddress(this.data.readInt(this.address + gb.blocks.address)); return this._blocks; }, createBlocks: function (a) { this._blocks.allocateNew(a); this.data.writeInt(this.address + gb.blocks.address, this._blocks.getAddress()); return this._blocks; }, getEvents: function () { this._events.setAddress(this.data.readInt(this.address + gb.events.address)); return this._events; }, createEvents: function (a) { this._events.allocateNew(a); this.data.writeInt(this.address + gb.events.address, this._events.getAddress()); return this._events; }, __class__: gb }); var vb = function (a, b, d, e, c, g, l, q, y, r, k, p, n, u, t, x, w, v, Yc, G) { null == G && (G = 0); null == Yc && (Yc = !1); null == v && (v = !0); null == x && (x = !1); null == t && (t = !1); null == u && (u = !1); null == n && (n = !1); null == q && (q = 32); null == l && (l = 32); null == g && (g = -1); null == c && (c = 0); null == e && (e = 0); this.customizedBehaviors = !1; this.maxMove = 99999; this.minMove = 3; this.moveXDistance = this.moveYDistance = 0; this.moveMultiplier = 0.33; this.drawX = this.drawY = 0; this.smoothMove = this.firstMove = this.snapOnSet = !1; this.attachedImages = null; Ca.call(this); h.NO_PHYSICS && 0 == G && (this.physicsMode = G = 1); this.dummy = new P(); this.zero = new P(0, 0); this._point = W.point; this._moveX = this._moveY = 0; this.HITBOX = new kg(); this.set_shape(this.HITBOX); this instanceof pd && h.NO_PHYSICS && ((w = this.HITBOX = new hd(l | 0, q | 0, 0, 0, !1, -2)), this.set_shape(w)); this.set_x(0); this.set_y(0); this.set_rotation(0); this.realAngle = this.realY = this.realX = 0; this.realScaleY = this.realScaleX = 1; this.collidable = !0; this.solid = !n; this.updateMatrix = !0; this.colY = this.colX = 0; this.lastScale = new na(1, 1); this.lastY = this.lastX = -1e3; this.lastAngle = 0; this.tweenProps = new ho(); this.tweenProps.xy.doOnUpdate(m(this, this.updateTweenXY)); this.tweenProps.angle.doOnUpdate(m(this, this.updateTweenAngle)); this.tweenProps.alpha.doOnUpdate(m(this, this.updateTweenAlpha)); this.tweenProps.realScaleXY.doOnUpdate(m(this, this.updateTweenScaleXY)); this.transformPoint = new na(0, 0); this.transformMatrix = new Ia(); this.drawMatrix = new Ia(); this.currOrigin = new na(0, 0); this.currOffset = new na(0, 0); this.registry = new qa(); this.attachedImages = []; this.physicsMode = G; this.autoScale = v; this.mouseState = this.rSpeed = this.ySpeed = this.xSpeed = 0; this.isTerrainRegion = this.isRegion = this.isCamera = this.isOnScreenCache = this.lastSceneState = this.lastScreenState = !1; this.drawActor = !0; this.fixedRotation = this.continuousCollision = this.isHUD = this.alwaysSimulate = this.killLeaveScreen = !1; this.defaultGravity = this.ignoreGravity = Yc; this.resetOrigin = !0; this.allListeners = new Ya(); this.allEventReferences = []; this.whenCreated = new Fc(); this.whenUpdated = new Fc(); this.whenDrawing = new Fc(); this.whenKilled = new Fc(); this.whenMousedOver = new Fc(); this.whenPositionStateChanged = new Fc(); this.whenCollided = new Fc(); this.destroyed = this.paused = this.recycled = !1; this.set_name('Unknown'); this.ID = b; this.groupID = d; this.typeID = null != k ? k.ID : -1; this.engine = a; this.collidedList = []; this.collisions = new xe(16); this.simpleCollisions = new xe(16); this.contacts = new xe(16); this.regionContacts = new xe(16); this.collisions.reuseIterator = !0; this.simpleCollisions.reuseIterator = !0; this.contacts.reuseIterator = !0; this.regionContacts.reuseIterator = !0; this.collisionsCount = this.contactCount = 0; this.handlesCollisions = !0; this.behaviors = new yj(); this.currAnimationName = ''; this.animationMap = new qa(); this.shapeMap = new qa(); this.originMap = new qa(); this.sprite = y; this.type = k; if (null != y) for (b = y.animations.iterator(); b.hasNext(); ) (v = b.next()), this.addAnim(v), v.animID == y.defaultAnimation && (this.defaultAnim = v.animName); null == vb.recycledAnimation && (vb.recycledAnimation = new se( -1, 'recyclingDefault', null, null, null, !1, !1, 1, 1, 0, 0, [10], 1, 1, 1 )); this.addAnim(vb.recycledAnimation); if (null != p && 0 == G) p.bullet && (cc.m_continuousPhysics = !0), (p.groupID = d), this.initFromBody(p), (d = new Eb()), d.setAsBox(1, 1), this.body.createFixture2(d, 0.1), (this.md = new rj()), (this.md.mass = p.mass), (this.md.I = p.aMass), (this.md.center.x = 0), (this.md.center.y = 0), this.body.setMassData(this.md), (this.bodyScale = new na(1, 1)); else { if (null == w || ma.typeof(w) == sb.TFloat) w = vb.createBox(l, q); null != p && (this.continuousCollision = p.bullet); this instanceof pd && ((n = !0), (x = !1)); this instanceof Og && (x = !1); null != w && w instanceof kg ? (this.set_shape(w), (this.isTerrain = !0)) : 0 == G && this.initBody(d, n, u, t, x, w); } this.cacheAnchor = new na(0, 0); this.switchToDefaultAnimation(); null != y ? this.setLocation(e, c) : null != w && w instanceof kg ? ((e = new rc(new la(1, 1, !0, 0))), e.set_x(l), e.set_y(q), this.addChild(e), (this.cacheWidth = this.set_width(l)), (this.cacheHeight = this.set_height(q))) : 0 == G && this.body.setPosition(new P(h.toPhysicalUnits(e), h.toPhysicalUnits(c))); null != r ? (this.customizedBehaviors = !0) : null != k && (r = k.behaviorValues); -1 != g && a.moveActorToLayer(this, a.getLayerById(g)); h.initBehaviors(this.behaviors, r, this, a, !1); }; k['com.stencyl.models.Actor'] = vb; vb.__name__ = 'com.stencyl.models.Actor'; vb.resetStatics = function () { vb.lastCollided = null; vb.manifold = new qj(); }; vb.createBox = function (a, b) { var d = new Eb(); d.setAsBox(h.toPhysicalUnits(a / 2), h.toPhysicalUnits(b / 2)); return d; }; vb.scaleShape = function (a, b, d) { if (a instanceof Lc) a.m_radius *= d; else if (a instanceof Eb) { for (var e = a.m_vertices, c = [], g = 0; g < e.length; ) { var l = e[g]; ++g; l.subtract(b); l.multiply(d); l.add(b); c.push(l); } a.setAsArray(c); } }; vb.__super__ = Ca; vb.prototype = t(Ca.prototype, { engine: null, createTime: null, ID: null, groupID: null, cachedLayer: null, layer: null, typeID: null, type: null, recycled: null, paused: null, isRegion: null, isTerrainRegion: null, isTerrain: null, destroyed: null, drawActor: null, isHUD: null, alwaysSimulate: null, isCamera: null, killLeaveScreen: null, physicsMode: null, autoScale: null, dead: null, dying: null, fixedRotation: null, ignoreGravity: null, defaultGravity: null, collidable: null, solid: null, resetOrigin: null, realX: null, realY: null, realAngle: null, realScaleX: null, realScaleY: null, lastX: null, lastY: null, lastAngle: null, lastScale: null, colX: null, colY: null, xSpeed: null, ySpeed: null, rSpeed: null, continuousCollision: null, tweenProps: null, cacheWidth: null, cacheHeight: null, currAnimation: null, currAnimationName: null, animationMap: null, bitmapFilters: null, sprite: null, shapeMap: null, originMap: null, defaultAnim: null, currOrigin: null, currOffset: null, cacheAnchor: null, transformObj: null, transformPoint: null, transformMatrix: null, updateMatrix: null, drawMatrix: null, label: null, attachedImages: null, smoothMove: null, firstMove: null, snapOnSet: null, drawX: null, drawY: null, moveMultiplier: null, moveXDistance: null, moveYDistance: null, minMove: null, maxMove: null, behaviors: null, customizedBehaviors: null, registry: null, allListeners: null, allEventReferences: null, whenCreated: null, whenUpdated: null, whenDrawing: null, whenKilled: null, whenMousedOver: null, whenPositionStateChanged: null, whenCollided: null, mouseState: null, lastScreenState: null, lastSceneState: null, isOnScreenCache: null, body: null, bodyDef: null, md: null, bodyScale: null, handlesCollisions: null, contacts: null, regionContacts: null, collisions: null, dummy: null, zero: null, destroy: function () { if (!this.destroyed) { this.destroyed = !0; for (var a = this.animationMap.h, b = Object.keys(a), d = b.length, e = 0; e < d; ) a[b[e++]].set_visible(!1); W.removeAllChildren(this); if (null != this.body && 0 == this.physicsMode) { for (a = this.body.getContactList(); null != a; ) h.engine.world.m_contactManager.m_contactListener.endContact(a.contact), (a = a.next); h.engine.world.destroyBody(this.body); } this.cancelTweens(); this.regionContacts = this.contacts = this.sprite = this.body = this.currOrigin = this.currOffset = this.currAnimation = this.animationMap = this.defaultAnim = this.originMap = this.shapeMap = vb.lastCollided = null; this.collisionsCount = this.contactCount = 0; this.registry = this.allEventReferences = this.allListeners = this.whenCollided = this.whenPositionStateChanged = this.whenMousedOver = this.whenKilled = this.whenDrawing = this.whenUpdated = this.whenCreated = this.transformMatrix = this.transformPoint = null; for (a = this.collisions.keys(); a.hasNext(); ) { d = a.next(); b = this.collisions; var c = b.mH; e = c.mHash[(73856093 * d) & c.mMask]; if (-1 == e) d = -2147483648; else if (((c = c.mData), c[e] == d)) d = c[e + 1]; else { var g = -2147483648; for (e = c[e + 2]; -1 != e; ) { if (c[e] == d) { g = c[e + 1]; break; } e = c[e + 2]; } d = g; } for (b = -2147483648 == d ? null : b.mVals[d]; 0 < b.points.length; ) Od.free(b.points.pop()); } this.simpleCollisions = this.collisions = null; null != this.bodyDef && (this.bodyDef = this.bodyDef.userData = null); this.behaviors.destroy(); } }, resetListeners: function () { for (var a = this.allListeners.keys(); a.hasNext(); ) { var b = a.next(); this.allListeners.remove(b); } for (; 0 < this.allEventReferences.length; ) this.allEventReferences.pop(); 0 < this.whenUpdated.length && this.whenUpdated.removeAll(); 0 < this.whenDrawing.length && this.whenDrawing.removeAll(); 0 < this.whenKilled.length && this.whenKilled.removeAll(); 0 < this.whenMousedOver.length && this.whenMousedOver.removeAll(); 0 < this.whenPositionStateChanged.length && this.whenPositionStateChanged.removeAll(); 0 < this.whenCollided.length && this.whenCollided.removeAll(); }, defaultHitbox: null, defaultMasklist: null, addAnim: function (a) { var b = 0 == this.physicsMode ? a.physicsShapes : a.simpleShapes; if (null != b) { var d = []; if (1 == this.physicsMode) for (b = b.iterator(); b.hasNext(); ) { var e = b.next(); e instanceof hd && 0 != this.physicsMode && ((e = w.__cast(e, hd).clone()), e.assignTo(this)); d.push(e); } else if (2 != this.physicsMode) for (b = b.iterator(); b.hasNext(); ) (e = b.next()), d.push(e); 0 != this.physicsMode ? ((b = this.shapeMap), (e = a.animName), (d = new yi(d, this)), (b.h[e] = d)) : (this.shapeMap.h[a.animName] = d); } b = this.animationMap; e = a.animName; d = new Hj(a); b.h[e] = d; b = this.originMap; e = a.animName; d = new P(a.originX, a.originY); b.h[e] = d; }, reloadAnimationGraphics: function (a) { if (-1 == a) { for (a = this.sprite.animations.iterator(); a.hasNext(); ) { var b = a.next(); b = this.animationMap.h[b.animName]; b.framesUpdated(); } this.updateChildrenPositions(); } else (a = this.sprite.animations.h[a]), (b = this.animationMap.h[a.animName]), b.framesUpdated(), b == this.currAnimation && this.updateChildrenPositions(); }, initScripts: function () { if (2 == this.physicsMode) this.handlesCollisions = !1; else if ( ((this.handlesCollisions = !0), this.behaviors.initScripts(), 0 < this.whenCreated.length) ) for ( this.whenCreated._dispatchIndex = 0; this.whenCreated._dispatchIndex < this.whenCreated.length; ) { try { this.whenCreated.listeners[this.whenCreated._dispatchIndex](); } catch (a) { if (((ka.lastError = a), 'string' != typeof J.caught(a).unwrap())) throw a; } ++this.whenCreated._dispatchIndex; } }, initFromBody: function (a) { a.allowSleep = !1; a.userData = this; this.bodyDef = a; this.body = h.engine.world.createBody(a); }, initBody: function (a, b, d, e, c, g) { var f = new pi(); f.groupID = a; a = this.get_x(); f.position.x = h.toPhysicalUnits(a); a = this.get_y(); f.position.y = h.toPhysicalUnits(a); f.angle = 0; f.fixedRotation = !c; f.allowSleep = !1; f.type = d ? va.b2_staticBody : e ? va.b2_kinematicBody : va.b2_dynamicBody; if (g instanceof Array) for ( f.userData = this, this.body = h.engine.world.createBody(f), b = w.__cast(g, Array), g = 0; g < b.length; ) (e = b[g]), ++g, (d = new Hf()), (d.shape = e), (d.friction = 1), (d.density = 0.1), (d.restitution = 0), (d.isSensor = !1), (d.groupID = 1), (d.userData = this), this.body.createFixture(d); else (d = new Hf()), (d.shape = g), (d.friction = 1), (d.density = 0.1), (d.restitution = 0), (d.isSensor = b), (d.groupID = -1e3), (d.userData = this), (f.userData = this), (this.body = h.engine.world.createBody(f)), this.body.createFixture(d); this.bodyDef = f; }, addAnimation: function (a, b) { this.animationMap.h[a] = b; }, getAnimation: function () { return this.currAnimationName; }, setAnimation: function (a) { this.switchAnimation(a); }, switchToDefaultAnimation: function () { null != this.defaultAnim && (this.switchAnimation(this.defaultAnim, this.defaultShapeChanged()), this.setCurrentFrame(0)); }, isAnimationPlaying: function () { return !this.currAnimation.isFinished(); }, getCurrentFrame: function () { return this.currAnimation.getCurrentFrame(); }, setCurrentFrame: function (a) { this.currAnimation.setFrame(a); }, getNumFrames: function () { return this.currAnimation.getNumFrames(); }, defaultShapeChanged: function () { if (0 != this.physicsMode) return !0; var a = this.shapeMap.h[this.defaultAnim]; if ( null == this.getBody() || null == this.getBody().getFixtureList() || null == this.getBody().getFixtureList().getShape() ) { if (null != a && 0 < a.length) return !0; } else { if (null == a || 0 == a.length || 1 < a.length) return !0; var b = a[0]; if (null == b) return !0; var d = this.getBody().getFixtureList(); a = this.getBody().getFixtureList().getShape(); var e = b.shape; if ( d.groupID == b.groupID && this.getBody().getFixtureList().isSensor() == b.isSensor && w.getClass(a) == w.getClass(e) ) if (w.getClass(a) == Eb) { if (a.m_vertexCount != e.m_vertexCount) return !0; b = 0; for (d = a.m_vertexCount; b < d; ) { var c = b++; if ( a.m_vertices[c].x != e.m_vertices[c].x || a.m_vertices[c].y != e.m_vertices[c].y ) return !0; } } else { if ( w.getClass(a) == Lc && (a.m_radius != e.m_radius || a.m_p.x != e.m_p.x || a.m_p.y != e.m_p.y) ) return !0; } else return !0; } return !1; }, switchAnimation: function (a, b) { null == b && (b = !1); if (a != this.currAnimationName || b) { var d = this.animationMap.h[a]; if (null != d) { null != this.currAnimation && this.removeChild(this.currAnimation); if (null != this.body && 0 == this.physicsMode && !b) { var e = this.shapeMap.h[this.currAnimationName], c = this.shapeMap.h[a]; if (null == e || null == c) b = !0; else if (e.length != c.length || 1 < e.length) b = !0; else { var g = e[0], l = c[0]; if (null == g || null == l) b = !0; else if (((c = g.shape), (e = l.shape), g.isSensor != l.isSensor)) b = !0; else if (g.groupID != l.groupID) b = !0; else if (w.getClass(c) == w.getClass(e)) if (w.getClass(c) == Eb) if (c.m_vertexCount != e.m_vertexCount) b = !0; else for (g = 0, l = c.m_vertexCount; g < l; ) { var q = g++; if (c.m_vertices[q].x != e.m_vertices[q].x) { b = !0; break; } else if (c.m_vertices[q].y != e.m_vertices[q].y) { b = !0; break; } } else w.getClass(c) != Lc || (c.m_radius == e.m_radius && c.m_p.x == e.m_p.x && c.m_p.y == e.m_p.y) || (b = !0); else b = !0; } } this.currAnimationName = a; this.currAnimation = d; this.currAnimation.set_filter(this.bitmapFilters); this.currAnimation.set_visible(this.drawActor); this.addChild(d); d = this.originMap.h[a]; c = this.currAnimation.get_width() / h.SCALE / 2 - d.x; e = this.currAnimation.get_height() / h.SCALE / 2 - d.y; if (null != this.body && b && 0 == this.physicsMode) { b = []; for (g = this.body.getContactList(); null != g; ) g.other.getUserData() instanceof pd && g.contact.isTouching() && b.push(g.other.getUserData()), h.engine.world.m_contactManager.m_contactListener.endContact(g.contact), (g = g.next); for (g = this.collisions.keys(); g.hasNext(); ) { l = g.next(); var y = this.collisions, r = y.mH; q = r.mHash[(73856093 * l) & r.mMask]; if (-1 == q) q = -2147483648; else if (((r = r.mData), r[q] == l)) q = r[q + 1]; else { var k = -2147483648; for (q = r[q + 2]; -1 != q; ) { if (r[q] == l) { k = r[q + 1]; break; } q = r[q + 2]; } q = k; } for (q = -2147483648 == q ? null : y.mVals[q]; 0 < q.points.length; ) Od.free(q.points.pop()); this.collisions.unset(l); } this.collisions = new xe(16); this.simpleCollisions = new xe(16); this.contacts = new xe(16); this.regionContacts = new xe(16); this.collisions.reuseIterator = !0; this.simpleCollisions.reuseIterator = !0; this.contacts.reuseIterator = !0; this.regionContacts.reuseIterator = !0; for (this.collisionsCount = this.contactCount = 0; 0 < this.body.m_fixtureCount; ) this.body.DestroyFixture(this.body.getFixtureList()); g = 0; for (l = w.__cast(this.shapeMap.h[a], Array); g < l.length; ) { q = l[g]; ++g; a = new Hf(); 1.79769313486231e308 > this.bodyDef.friction && ((a.friction = this.bodyDef.friction), (a.restitution = this.bodyDef.bounciness), 0 < this.bodyDef.mass && (a.density = 0.1)); a.density = q.density; a.isSensor = q.isSensor; a.groupID = q.groupID; a.shape = q.shape; if (null != d) if ( ((this.body.origin.x = h.toPhysicalUnits(-d.x)), (this.body.origin.y = h.toPhysicalUnits(-d.y)), q.shape instanceof Eb) ) { r = new Ue(); q = q.shape; k = new Eb(); k.setAsArray(q.m_vertices, q.m_vertices.length); var p = k.m_vertices, n = k.m_normals; y = r.position; q = h.toPhysicalUnits(c); var u = h.toPhysicalUnits(e); null == u && (u = 0); null == q && (q = 0); y.x = q; y.y = u; r.R.setAngle(0); y = 0; for (u = k.m_vertexCount; y < u; ) (q = y++), (p[q] = r.multiply(p[q])), (n[q] = r.R.multiplyV(n[q])); k.setAsArray(p, p.length); k.m_normals = n; a.shape = k; } else q.shape instanceof Lc && ((y = q.shape), (q = new Lc()), q.setRadius(y.getRadius()), (r = y.m_p.x), (k = h.toPhysicalUnits(c)), (q.m_p.x = r + k), (y = y.m_p.y), (r = h.toPhysicalUnits(e)), (q.m_p.y = y + r), (a.shape = q)); this.body.createFixture(a).SetUserData(this); } if (null != this.body.getFixtureList()) for (this.bodyScale.x = 1, this.bodyScale.y = 1, g = 0; g < b.length; ) (c = b[g]), ++g, (e = this.body.getFixtureList().m_aabb), c.getBody().getFixtureList().m_aabb.testOverlap(e) && c.addActor(this); null != this.md && this.body.setMassData(this.md); } else null != this.shapeMap.h[a] && 1 == this.physicsMode && (this.set_shape(this.shapeMap.h[a]), (this.HITBOX = this._mask)); this.cacheWidth = this.currAnimation.get_width() / h.SCALE; this.cacheHeight = this.currAnimation.get_height() / h.SCALE; null != this.body && ((this.body.size.x = h.toPhysicalUnits(this.cacheWidth)), (this.body.size.y = h.toPhysicalUnits(this.cacheHeight))); 0 == this.physicsMode && ((this.realX = this.getX(!1)), (this.realY = this.getY(!1)), this.updateBodyScale()); null != d && this.setOriginPoint(d.x | 0, d.y | 0); this.updateChildrenPositions(); this.updateMatrix = !0; y = this.currAnimation; y.timer = 0; y.frameIndex = 0; y.finished = !1; null != y.filter ? (y.filteredFrames[y.frameIndex] || ((y.frames[y.frameIndex] = y.applyFilters( y.frames[y.frameIndex], y.model.frames[y.frameIndex], y.filter )), (y.filteredFrames[y.frameIndex] = !0)), y.set_bitmapData(y.frames[y.frameIndex])) : y.set_bitmapData(y.model.frames[y.frameIndex]); y.smoothing = ba.antialias; } } }, updateChildrenPositions: function () { var a = null != this.currAnimation ? new na(-this.currAnimation.get_x(), -this.currAnimation.get_y()) : new na(0, 0); if (!a.equals(this.cacheAnchor)) { this.cacheAnchor.copyFrom(a); a = 0; for (var b = this.attachedImages; a < b.length; ) { var d = b[a]; ++a; d.updatePosition(); } null != this.label && this.label.updatePosition(); } }, removeAttachedImages: function () { for (var a = 0, b = this.attachedImages; a < b.length; ) { var d = b[a]; ++a; d.cacheParentAnchor = W.zero; this.removeChild(d); } this.attachedImages = []; }, update: function (a) { this.innerUpdate(a, !0); }, innerUpdate: function (a, b) { if ( !( this.paused || this.isCamera || this.dying || this.dead || this.destroyed || (b && (this.isHUD || this.alwaysSimulate)) ) ) { if (0 < this.whenMousedOver.length) if (this.isMouseOver()) { if (0 >= this.mouseState) { if (((this.mouseState = 1), 0 < this.whenMousedOver.length)) for ( this.whenMousedOver._dispatchIndex = 0; this.whenMousedOver._dispatchIndex < this.whenMousedOver.length; ) { try { this.whenMousedOver.listeners[this.whenMousedOver._dispatchIndex]( this.mouseState ); } catch (Yc) { if (((ka.lastError = Yc), 'string' != typeof J.caught(Yc).unwrap())) throw Yc; } ++this.whenMousedOver._dispatchIndex; } } else this.mouseState = 2; if (E.mousePressed) { if (((this.mouseState = 3), 0 < this.whenMousedOver.length)) for ( this.whenMousedOver._dispatchIndex = 0; this.whenMousedOver._dispatchIndex < this.whenMousedOver.length; ) { try { this.whenMousedOver.listeners[this.whenMousedOver._dispatchIndex]( this.mouseState ); } catch (Yc) { if (((ka.lastError = Yc), 'string' != typeof J.caught(Yc).unwrap())) throw Yc; } ++this.whenMousedOver._dispatchIndex; } } else if (E.mouseDown && ((this.mouseState = 4), 0 < this.whenMousedOver.length)) for ( this.whenMousedOver._dispatchIndex = 0; this.whenMousedOver._dispatchIndex < this.whenMousedOver.length; ) { try { this.whenMousedOver.listeners[this.whenMousedOver._dispatchIndex]( this.mouseState ); } catch (Yc) { if (((ka.lastError = Yc), 'string' != typeof J.caught(Yc).unwrap())) throw Yc; } ++this.whenMousedOver._dispatchIndex; } if (E.mouseReleased && ((this.mouseState = 5), 0 < this.whenMousedOver.length)) for ( this.whenMousedOver._dispatchIndex = 0; this.whenMousedOver._dispatchIndex < this.whenMousedOver.length; ) { try { this.whenMousedOver.listeners[this.whenMousedOver._dispatchIndex]( this.mouseState ); } catch (Yc) { if (((ka.lastError = Yc), 'string' != typeof J.caught(Yc).unwrap())) throw Yc; } ++this.whenMousedOver._dispatchIndex; } } else if (0 < this.mouseState) { if (((this.mouseState = -1), 0 < this.whenMousedOver.length)) for ( this.whenMousedOver._dispatchIndex = 0; this.whenMousedOver._dispatchIndex < this.whenMousedOver.length; ) { try { this.whenMousedOver.listeners[this.whenMousedOver._dispatchIndex]( this.mouseState ); } catch (Yc) { if (((ka.lastError = Yc), 'string' != typeof J.caught(Yc).unwrap())) throw Yc; } ++this.whenMousedOver._dispatchIndex; } } else -1 == this.mouseState && (this.mouseState = 0); b = this.type.ID; var d = 1e6 + this.groupID, e = this.engine.whenCollidedEvents, c = this.engine.whenTypeGroupPositionStateChangedEvents; if ( 0 == this.physicsMode && (0 < this.whenCollided.length || null != e.h[b] || null != e.h[d]) ) { if (0 < this.contactCount) for (var g = 0, l, q = this.contacts.iterator(); q.hasNext(); ) { l = q.next(); var y = l.key; var h = this.collisions.mH; var k = h.mHash[(73856093 * y) & h.mMask]; if (-1 == k) k = !1; else if (((h = h.mData), h[k] == y)) k = !0; else { var p = !1; for (k = h[k + 2]; -1 != k; ) { if (h[k] == y) { p = !0; break; } k = h[k + 2]; } k = p; } if (k) { k = this.collisions; p = k.mH; h = p.mHash[(73856093 * y) & p.mMask]; if (-1 == h) y = -2147483648; else if (((p = p.mData), p[h] == y)) y = p[h + 1]; else { var n = -2147483648; for (h = p[h + 2]; -1 != h; ) { if (p[h] == y) { n = p[h + 1]; break; } h = p[h + 2]; } y = n; } y = -2147483648 == y ? null : k.mVals[y]; l.getWorldManifold(vb.manifold); k = 0; for (h = vb.manifold.m_points; k < h.length; ) (p = h[k]), ++k, 0 != p.x && 0 != p.y && ((l = y.points[g]), null == l ? (y.points[g] = Od.get( p.x, p.y, vb.manifold.m_normal.x, vb.manifold.m_normal.y )) : ((l = y.points[g]), (l.x = p.x), (l.y = p.y), (l.normalX = vb.manifold.m_normal.x), (l.normalY = vb.manifold.m_normal.y)), ++g); for (; y.points.length > g; ) Od.free(y.points.pop()); g = 0; } else { var u = l.getFixtureA().getUserData(), m = l.getFixtureB().getUserData(); u == this ? ((k = m), (h = l.getFixtureB()), (p = l.getFixtureA())) : ((k = u), (h = l.getFixtureA()), (p = l.getFixtureB())); n = new uc(); n.otherActor = k; n.otherShape = h; n.thisActor = this; n.thisShape = p; n.actorA = u; n.actorB = m; l.getWorldManifold(vb.manifold); this.collisions.set(y, n); this.collisionsCount++; y = this.getBody(); u = k.getBody(); m = l.getFixtureA().getBody(); for ( var t = l.getFixtureB().getBody(), x = 0, w = vb.manifold.m_points; x < w.length; ) ((l = w[x]), ++x, 0 == l.x || 0 == l.y || p.isSensor()) ? p.isSensor() && (null != k && ((n.thisCollidedWithActor = n.thisCollidedWithActor || (1 != k.groupID && -2 != k.groupID && !k.isTerrainRegion)), (n.thisCollidedWithTerrain = n.thisCollidedWithTerrain || k.isTerrainRegion), (n.thisCollidedWithTile = n.thisCollidedWithTile || 1 == k.groupID)), (n.otherCollidedWithActor = n.otherCollidedWithActor || (1 != this.groupID && -2 != this.groupID && !this.isTerrainRegion)), (n.otherCollidedWithTerrain = n.otherCollidedWithTerrain || this.isTerrainRegion), (n.otherCollidedWithTile = n.otherCollidedWithTile || 1 == this.groupID), (n.thisCollidedWithSensor = n.thisCollidedWithSensor || h.isSensor()), (n.otherCollidedWithSensor = n.otherCollidedWithSensor || p.isSensor())) : ((l = Od.get(l.x, l.y, vb.manifold.m_normal.x, vb.manifold.m_normal.y)), n.points.push(l), m == y ? ((n.thisFromBottom = n.thisFromBottom || 0 < l.normalY), (n.thisFromTop = n.thisFromTop || 0 > l.normalY), (n.thisFromLeft = n.thisFromLeft || 0 > l.normalX), (n.thisFromRight = n.thisFromRight || 0 < l.normalX)) : t == y && ((n.thisFromBottom = n.thisFromBottom || 0 > l.normalY), (n.thisFromTop = n.thisFromTop || 0 < l.normalY), (n.thisFromLeft = n.thisFromLeft || 0 < l.normalX), (n.thisFromRight = n.thisFromRight || 0 > l.normalX)), m == u ? ((n.otherFromBottom = n.otherFromBottom || 0 < l.normalY), (n.otherFromTop = n.otherFromTop || 0 > l.normalY), (n.otherFromLeft = n.otherFromLeft || 0 > l.normalX), (n.otherFromRight = n.otherFromRight || 0 < l.normalX)) : t == u && ((n.otherFromBottom = n.otherFromBottom || 0 > l.normalY), (n.otherFromTop = n.otherFromTop || 0 < l.normalY), (n.otherFromLeft = n.otherFromLeft || 0 < l.normalX), (n.otherFromRight = n.otherFromRight || 0 > l.normalX)), null != k && ((n.thisCollidedWithActor = n.thisCollidedWithActor || (1 != k.groupID && -2 != k.groupID && !k.isTerrainRegion)), (n.thisCollidedWithTerrain = n.thisCollidedWithTerrain || k.isTerrainRegion), (n.thisCollidedWithTile = n.thisCollidedWithTile || 1 == k.groupID)), (n.otherCollidedWithActor = n.otherCollidedWithActor || (1 != this.groupID && -2 != this.groupID && !this.isTerrainRegion)), (n.otherCollidedWithTerrain = n.otherCollidedWithTerrain || this.isTerrainRegion), (n.otherCollidedWithTile = n.otherCollidedWithTile || 1 == this.groupID), (n.thisCollidedWithSensor = n.thisCollidedWithSensor || h.isSensor()), (n.otherCollidedWithSensor = n.otherCollidedWithSensor || p.isSensor())); } } if (0 < this.collisionsCount) for (g = this.collisions.iterator(); g.hasNext(); ) if ( ((q = g.next()), null != q && null != q.thisActor && null != q.otherActor && q.thisActor.handlesCollisions && q.otherActor.handlesCollisions) ) { vb.lastCollided = q.otherActor; if (0 < this.whenCollided.length) for ( this.whenCollided._dispatchIndex = 0; this.whenCollided._dispatchIndex < this.whenCollided.length; ) { try { this.whenCollided.listeners[this.whenCollided._dispatchIndex](q); } catch (Yc) { if (((ka.lastError = Yc), 'string' != typeof J.caught(Yc).unwrap())) throw Yc; } ++this.whenCollided._dispatchIndex; } this.engine.handleCollision(this, q); } } this.internalUpdate(a, !0); 1 == this.physicsMode && ((0 < this.whenCollided.length || null != e.h[b] || null != e.h[d]) && this.handleCollisionsSimple(), this.disposeRemovedCollisionInfo()); if (2 != this.physicsMode && 0 < this.whenUpdated.length) for ( this.whenUpdated._dispatchIndex = 0; this.whenUpdated._dispatchIndex < this.whenUpdated.length; ) { try { this.whenUpdated.listeners[this.whenUpdated._dispatchIndex](a); } catch (Yc) { if (((ka.lastError = Yc), 'string' != typeof J.caught(Yc).unwrap())) throw Yc; } ++this.whenUpdated._dispatchIndex; } (0 < this.whenPositionStateChanged.length || null != c.h[b] || null != c.h[d]) && this.checkScreenState(); null != this.label && this.label.setAlpha(this.get_alpha()); } }, internalUpdate: function (a, b) { if (!this.paused) { if (0 != this.physicsMode) { 1 != this.physicsMode || this.ignoreGravity || this.isHUD || ((this.xSpeed += a * this.engine.gravityX * 0.001), (this.ySpeed += a * this.engine.gravityY * 0.001)); if (0 != this.xSpeed || 0 != this.ySpeed) this.resetReal(this.realX, this.realY), this.moveActorBy( (10 / h.STEP_SIZE) * this.xSpeed * a * 0.01, (10 / h.STEP_SIZE) * this.ySpeed * a * 0.01, !1 ); 0 != this.rSpeed && (this.realAngle += a * this.rSpeed * 0.001); this.fixedRotation && (this.rSpeed = this.realAngle = 0); } else { var d = this.body.getPosition(); this.realX = d.x * h.physicsScale; this.realY = d.y * h.physicsScale; this.resetReal(this.realX, this.realY); this.realAngle = 57.29577951308402 * this.body.getAngle(); } if ( this.lastX != this.realX || this.lastY != this.realY || this.lastAngle != this.realAngle || this.lastScale.x != this.realScaleX || this.lastScale.y != this.realScaleY ) this.updateMatrix = !0; this.lastX = this.realX; this.lastY = this.realY; this.lastAngle = this.realAngle; this.lastScale.x = this.realScaleX; this.lastScale.y = this.realScaleY; b && null != this.currAnimation && ((b = this.currAnimation), b.model.sync && b.model.looping ? ((a = b.frameIndex), (b.timer = b.model.sharedTimer), (b.frameIndex = b.model.sharedFrameIndex), a != b.frameIndex && (null != b.filter ? (b.filteredFrames[b.frameIndex] || ((b.frames[b.frameIndex] = b.applyFilters( b.frames[b.frameIndex], b.model.frames[b.frameIndex], b.filter )), (b.filteredFrames[b.frameIndex] = !0)), b.set_bitmapData(b.frames[b.frameIndex])) : b.set_bitmapData(b.model.frames[b.frameIndex]), (b.smoothing = ba.antialias))) : ((b.timer += a), 0 < b.numFrames && b.timer > b.durations[b.frameIndex] && ((a = b.frameIndex), (b.timer -= b.durations[b.frameIndex]), b.frameIndex++, b.frameIndex >= b.numFrames && (b.model.looping ? (b.frameIndex = 0) : ((b.finished = !0), b.frameIndex--)), a != b.frameIndex && (null != b.filter ? (b.filteredFrames[b.frameIndex] || ((b.frames[b.frameIndex] = b.applyFilters( b.frames[b.frameIndex], b.model.frames[b.frameIndex], b.filter )), (b.filteredFrames[b.frameIndex] = !0)), b.set_bitmapData(b.frames[b.frameIndex])) : b.set_bitmapData(b.model.frames[b.frameIndex]), (b.smoothing = ba.antialias))))); } }, updateDrawingMatrix: function (a) { null == a && (a = !1); if (!this.paused || a) this.smoothMove ? (this.firstMove || ((this.drawX = this.realX), (this.drawY = this.realY), (this.firstMove = !0)), (this.moveXDistance = this.realX - this.drawX), (this.moveYDistance = this.realY - this.drawY), (this.drawX = this.moveXDistance > this.minMove ? this.moveXDistance * this.moveMultiplier > this.minMove ? this.moveXDistance > this.maxMove ? this.realX : this.drawX + this.moveXDistance * this.moveMultiplier : this.drawX + this.minMove : this.moveXDistance < -1 * this.minMove ? this.moveXDistance * this.moveMultiplier < -1 * this.minMove ? this.moveXDistance < -1 * this.maxMove ? this.realX : this.drawX + this.moveXDistance * this.moveMultiplier : this.drawX - this.minMove : this.realX), (this.drawY = this.moveYDistance > this.minMove ? this.moveYDistance * this.moveMultiplier > this.minMove ? this.moveYDistance > this.maxMove ? this.realY : this.drawY + this.moveYDistance * this.moveMultiplier : this.drawY + this.minMove : this.moveYDistance < -1 * this.minMove ? this.moveYDistance * this.moveMultiplier < -1 * this.minMove ? this.moveYDistance < -1 * this.maxMove ? this.realY : this.drawY + this.moveYDistance * this.moveMultiplier : this.drawY - this.minMove : this.realY)) : 0 != this.physicsMode ? ((this.drawX = this.realX), (this.drawY = this.realY)) : ((a = this.body.getPosition()), (this.drawX = a.x * h.physicsScale), (this.drawY = a.y * h.physicsScale)), (this.transformPoint.x = (this.currOrigin.x - this.cacheWidth / 2) * h.SCALE), (this.transformPoint.y = (this.currOrigin.y - this.cacheHeight / 2) * h.SCALE), this.transformMatrix.identity(), this.transformMatrix.translate(-this.transformPoint.x, -this.transformPoint.y), this.transformMatrix.scale(this.realScaleX, this.realScaleY), 0 != this.realAngle && this.transformMatrix.rotate(0.01745329251994278 * this.realAngle), ba.pixelsnap ? this.transformMatrix.translate( Math.round(this.drawX) * h.SCALE, Math.round(this.drawY) * h.SCALE ) : this.transformMatrix.translate(this.drawX * h.SCALE, this.drawY * h.SCALE), null == this.transformObj && (this.transformObj = this.get_transform()), this.transformObj.set_matrix(this.transformMatrix); }, updateTweenAlpha: function () { this.set_alpha(this.tweenProps.alpha.value); }, updateTweenScaleXY: function () { this.realScaleX = this.tweenProps.realScaleXY.value1; this.realScaleY = this.tweenProps.realScaleXY.value2; this.updateBodyScale(); }, updateTweenAngle: function () { this.setAngle(this.tweenProps.angle.value, !1); }, updateTweenXY: function () { 0 == this.physicsMode ? this.setXY(this.tweenProps.xy.value1, this.tweenProps.xy.value2) : (this.moveActorBy( this.tweenProps.xy.value1 - this.getX(!1), this.tweenProps.xy.value2 - this.getY(!1), !1 ), (this.updateMatrix = !0)); this.tweenProps.xy.finished && null != this.currOffset && this.resetReal(this.realX, this.realY); }, updateBodyScale: function () { this.autoScale && 0 == this.physicsMode && null != this.body && this.bodyDef.type != va.b2_staticBody && 0 != this.realScaleX && 0 != this.realScaleY && this.scaleBody(this.realScaleX, this.realScaleY); }, scaleBody: function (a, b) { for (var d = [], e = this.body.getFixtureList(); null != e; ) d.push(e), (e = e.getNext()); for (e = 0; e < d.length; ) { var c = d[e]; ++e; var g = c.getShape(); c = this.body.getLocalCenter(); if (g instanceof Lc) { var l = g, q = (1 / this.bodyScale.x) * a, y = (1 / this.bodyScale.y) * b, r = l.m_p; r.subtract(c); r.x *= q; r.y *= y; l.m_p = c.copy(); l.m_p.add(r); g.m_radius *= Math.abs(q); } else if (g instanceof Eb) { l = g.m_vertices; q = []; y = (0 < this.bodyScale.x && 0 > a) || (0 > this.bodyScale.x && 0 < a); r = (0 < this.bodyScale.y && 0 > b) || (0 > this.bodyScale.y && 0 < b); for (var k = 0; k < l.length; ) { var p = l[k]; ++k; p.subtract(c); p.x = (1 / Math.abs(this.bodyScale.x)) * p.x * Math.abs(a); p.y = (1 / Math.abs(this.bodyScale.y)) * p.y * Math.abs(b); y && (p.x = -p.x); r && (p.y = -p.y); var n = c.copy(); n.add(p); q.push(n); } (y && r) || (!y && !r) || q.reverse(); g.setAsArray(q, q.length); } } this.bodyScale.x = a; this.bodyScale.y = b; this.body.size.x = h.toPhysicalUnits(this.cacheWidth * a); this.body.size.y = h.toPhysicalUnits(this.cacheHeight * b); }, checkScreenState: function () { var a = this.isOnScreen(), b = a || this.isInScene(), d = !this.lastScreenState && a, e = !this.lastSceneState && b, c = this.lastScreenState && !a, g = this.lastSceneState && !b; if (0 < this.whenPositionStateChanged.length) for ( this.whenPositionStateChanged._dispatchIndex = 0; this.whenPositionStateChanged._dispatchIndex < this.whenPositionStateChanged.length; ) { try { this.whenPositionStateChanged.listeners[ this.whenPositionStateChanged._dispatchIndex ](d, c, e, g); } catch (y) { if (((ka.lastError = y), 'string' != typeof J.caught(y).unwrap())) throw y; } ++this.whenPositionStateChanged._dispatchIndex; } var l = this.engine.whenTypeGroupPositionStateChangedEvents.h[this.groupID + 1e6], q = this.engine.whenTypeGroupPositionStateChangedEvents.h[this.typeID]; if (null != l && 0 < l.length) for (l._dispatchIndex = 0; l._dispatchIndex < l.length; ) { try { l.listeners[l._dispatchIndex](this, d, c, e, g); } catch (y) { if (((ka.lastError = y), 'string' != typeof J.caught(y).unwrap())) throw y; } ++l._dispatchIndex; } if (null != q && 0 < q.length) for (q._dispatchIndex = 0; q._dispatchIndex < q.length; ) { try { q.listeners[q._dispatchIndex](this, d, c, e, g); } catch (y) { if (((ka.lastError = y), 'string' != typeof J.caught(y).unwrap())) throw y; } ++q._dispatchIndex; } this.lastScreenState = a; this.lastSceneState = b; }, contactCount: null, collisionsCount: null, handleCollisions: function () { if (0 < this.contactCount) for (var a = 0, b, d = this.contacts.iterator(); d.hasNext(); ) { b = d.next(); var e = b.key; var c = this.collisions.mH; var g = c.mHash[(73856093 * e) & c.mMask]; if (-1 == g) g = !1; else if (((c = c.mData), c[g] == e)) g = !0; else { var l = !1; for (g = c[g + 2]; -1 != g; ) { if (c[g] == e) { l = !0; break; } g = c[g + 2]; } g = l; } if (g) { g = this.collisions; l = g.mH; c = l.mHash[(73856093 * e) & l.mMask]; if (-1 == c) e = -2147483648; else if (((l = l.mData), l[c] == e)) e = l[c + 1]; else { var q = -2147483648; for (c = l[c + 2]; -1 != c; ) { if (l[c] == e) { q = l[c + 1]; break; } c = l[c + 2]; } e = q; } e = -2147483648 == e ? null : g.mVals[e]; b.getWorldManifold(vb.manifold); g = 0; for (c = vb.manifold.m_points; g < c.length; ) (l = c[g]), ++g, 0 != l.x && 0 != l.y && ((b = e.points[a]), null == b ? (e.points[a] = Od.get( l.x, l.y, vb.manifold.m_normal.x, vb.manifold.m_normal.y )) : ((b = e.points[a]), (b.x = l.x), (b.y = l.y), (b.normalX = vb.manifold.m_normal.x), (b.normalY = vb.manifold.m_normal.y)), ++a); for (; e.points.length > a; ) Od.free(e.points.pop()); a = 0; } else { var y = b.getFixtureA().getUserData(), h = b.getFixtureB().getUserData(); y == this ? ((g = h), (c = b.getFixtureB()), (l = b.getFixtureA())) : ((g = y), (c = b.getFixtureA()), (l = b.getFixtureB())); q = new uc(); q.otherActor = g; q.otherShape = c; q.thisActor = this; q.thisShape = l; q.actorA = y; q.actorB = h; b.getWorldManifold(vb.manifold); this.collisions.set(e, q); this.collisionsCount++; e = this.getBody(); y = g.getBody(); h = b.getFixtureA().getBody(); for ( var k = b.getFixtureB().getBody(), p = 0, n = vb.manifold.m_points; p < n.length; ) ((b = n[p]), ++p, 0 == b.x || 0 == b.y || l.isSensor()) ? l.isSensor() && (null != g && ((q.thisCollidedWithActor = q.thisCollidedWithActor || (1 != g.groupID && -2 != g.groupID && !g.isTerrainRegion)), (q.thisCollidedWithTerrain = q.thisCollidedWithTerrain || g.isTerrainRegion), (q.thisCollidedWithTile = q.thisCollidedWithTile || 1 == g.groupID)), (q.otherCollidedWithActor = q.otherCollidedWithActor || (1 != this.groupID && -2 != this.groupID && !this.isTerrainRegion)), (q.otherCollidedWithTerrain = q.otherCollidedWithTerrain || this.isTerrainRegion), (q.otherCollidedWithTile = q.otherCollidedWithTile || 1 == this.groupID), (q.thisCollidedWithSensor = q.thisCollidedWithSensor || c.isSensor()), (q.otherCollidedWithSensor = q.otherCollidedWithSensor || l.isSensor())) : ((b = Od.get(b.x, b.y, vb.manifold.m_normal.x, vb.manifold.m_normal.y)), q.points.push(b), h == e ? ((q.thisFromBottom = q.thisFromBottom || 0 < b.normalY), (q.thisFromTop = q.thisFromTop || 0 > b.normalY), (q.thisFromLeft = q.thisFromLeft || 0 > b.normalX), (q.thisFromRight = q.thisFromRight || 0 < b.normalX)) : k == e && ((q.thisFromBottom = q.thisFromBottom || 0 > b.normalY), (q.thisFromTop = q.thisFromTop || 0 < b.normalY), (q.thisFromLeft = q.thisFromLeft || 0 < b.normalX), (q.thisFromRight = q.thisFromRight || 0 > b.normalX)), h == y ? ((q.otherFromBottom = q.otherFromBottom || 0 < b.normalY), (q.otherFromTop = q.otherFromTop || 0 > b.normalY), (q.otherFromLeft = q.otherFromLeft || 0 > b.normalX), (q.otherFromRight = q.otherFromRight || 0 < b.normalX)) : k == y && ((q.otherFromBottom = q.otherFromBottom || 0 > b.normalY), (q.otherFromTop = q.otherFromTop || 0 < b.normalY), (q.otherFromLeft = q.otherFromLeft || 0 < b.normalX), (q.otherFromRight = q.otherFromRight || 0 > b.normalX)), null != g && ((q.thisCollidedWithActor = q.thisCollidedWithActor || (1 != g.groupID && -2 != g.groupID && !g.isTerrainRegion)), (q.thisCollidedWithTerrain = q.thisCollidedWithTerrain || g.isTerrainRegion), (q.thisCollidedWithTile = q.thisCollidedWithTile || 1 == g.groupID)), (q.otherCollidedWithActor = q.otherCollidedWithActor || (1 != this.groupID && -2 != this.groupID && !this.isTerrainRegion)), (q.otherCollidedWithTerrain = q.otherCollidedWithTerrain || this.isTerrainRegion), (q.otherCollidedWithTile = q.otherCollidedWithTile || 1 == this.groupID), (q.thisCollidedWithSensor = q.thisCollidedWithSensor || c.isSensor()), (q.otherCollidedWithSensor = q.otherCollidedWithSensor || l.isSensor())); } } if (0 < this.collisionsCount) for (a = this.collisions.iterator(); a.hasNext(); ) if ( ((d = a.next()), null != d && null != d.thisActor && null != d.otherActor && d.thisActor.handlesCollisions && d.otherActor.handlesCollisions) ) { vb.lastCollided = d.otherActor; if (0 < this.whenCollided.length) for ( this.whenCollided._dispatchIndex = 0; this.whenCollided._dispatchIndex < this.whenCollided.length; ) { try { this.whenCollided.listeners[this.whenCollided._dispatchIndex](d); } catch (Lg) { if (((ka.lastError = Lg), 'string' != typeof J.caught(Lg).unwrap())) throw Lg; } ++this.whenCollided._dispatchIndex; } this.engine.handleCollision(this, d); } }, addContact: function (a) { null != this.contacts && (this.contacts.set(a.key, a), this.contactCount++); }, removeContact: function (a) { if (null != this.collisions) { var b = this.collisions, d = a.key, e = b.mH, c = e.mHash[(73856093 * d) & e.mMask]; if (-1 == c) d = -2147483648; else if (((e = e.mData), e[c] == d)) d = e[c + 1]; else { var g = -2147483648; for (c = e[c + 2]; -1 != c; ) { if (e[c] == d) { g = e[c + 1]; break; } c = e[c + 2]; } d = g; } e = -2147483648 == d ? null : b.mVals[d]; if (null != e) for (this.collisions.unset(a.key), this.collisionsCount--; 0 < e.points.length; ) Od.free(e.points.pop()); } null != this.contacts && this.contacts.unset(a.key) && this.contactCount--; }, addRegionContact: function (a) { null != this.regionContacts && this.regionContacts.set(a.key, a); }, removeRegionContact: function (a) { null != this.regionContacts && this.regionContacts.unset(a.key); }, getID: function () { return this.ID; }, getName: function () { return this.get_name(); }, getGroupID: function () { return 0 != this.physicsMode ? this.groupID : this.body.groupID; }, getLayerID: function () { return this.layer.ID; }, getLayer: function () { return this.layer; }, getLayerName: function () { return this.layer.layerName; }, getLayerOrder: function () { return this.layer.order; }, getType: function () { return this.type; }, isPausable: function () { return this.getType().pausable; }, isPaused: function () { return this.paused; }, pause: function () { if (this.isPausable()) { this.tweenProps.pause(); for (var a = 0, b = this.behaviors.behaviors; a < b.length; ) { var d = b[a]; ++a; null != d.script && d.script.pauseTweens(); } this.paused = !0; 0 == this.physicsMode && this.body.setPaused(!0); } }, unpause: function () { if (this.isPausable()) { this.tweenProps.unpause(); for (var a = 0, b = this.behaviors.behaviors; a < b.length; ) { var d = b[a]; ++a; null != d.script && d.script.unpauseTweens(); } this.paused = !1; 0 == this.physicsMode && this.body.setPaused(!1); } }, getGroup: function () { var a = this.engine.groups, b = this.getGroupID(); return a.h[b]; }, getIsRegion: function () { return this.isRegion; }, getIsTerrainRegion: function () { return this.isTerrainRegion; }, moveToLayer: function (a) { !this.isHUD && a instanceof Ec && this.engine.moveActorToLayer(this, a); }, bringToFront: function () { this.isHUD || (this.engine.bringToFront(this), this.moveToTop()); }, bringForward: function () { this.isHUD || this.engine.bringForward(this); }, sendToBack: function () { this.isHUD || (this.engine.sendToBack(this), this.moveToBottom()); }, sendBackward: function () { this.isHUD || this.engine.sendBackward(this); }, moveToBottom: function () { this.parent.setChildIndex(this, 0); }, moveToTop: function () { this.parent.setChildIndex(this, this.parent.get_numChildren() - 1); }, moveDown: function () { var a = this.parent.getChildIndex(this); 0 < a && this.parent.setChildIndex(this, a - 1); }, moveUp: function () { var a = this.parent.getChildIndex(this), b = this.parent.get_numChildren() - 1; a < b && this.parent.setChildIndex(this, a + 1); }, getZIndex: function () { return this.parent.getChildIndex(this); }, setZIndex: function (a) { var b = this.parent.get_numChildren() - 1; a > b && (a = b); 0 > a && (a = 0); this.parent.setChildIndex(this, a); }, enableSmoothMotion: function () { this.smoothMove = !0; }, getX: function (a) { null == a && (a = !0); var b = -1; h.NO_PHYSICS || (this.isRegion || this.isTerrainRegion ? (b = h.toPixelUnits(this.body.getPosition().x) - this.cacheWidth / 2) : 0 == this.physicsMode && (b = this.body.getPosition().x * h.physicsScale - Math.floor(this.cacheWidth / 2) - this.currOffset.x)); if (h.NO_PHYSICS || 0 != this.physicsMode) b = this.realX - Math.floor(this.cacheWidth / 2) - this.currOffset.x; return a ? Math.round(b) : b; }, getY: function (a) { null == a && (a = !0); var b = -1; h.NO_PHYSICS || (this.isRegion || this.isTerrainRegion ? (b = h.toPixelUnits(this.body.getPosition().y) - this.cacheHeight / 2) : 0 == this.physicsMode && (b = this.body.getPosition().y * h.physicsScale - Math.floor(this.cacheHeight / 2) - this.currOffset.y)); if (h.NO_PHYSICS || 0 != this.physicsMode) b = this.realY - Math.floor(this.cacheHeight / 2) - this.currOffset.y; return a ? Math.round(b) : b; }, getXCenter: function () { return 0 == this.physicsMode ? Math.round(h.toPixelUnits(this.body.getWorldCenter().x) - this.currOffset.x) : this.realX - this.currOffset.x; }, getYCenter: function () { return 0 == this.physicsMode ? Math.round(h.toPixelUnits(this.body.getWorldCenter().y) - this.currOffset.y) : this.realY - this.currOffset.y; }, getScreenX: function () { return this.isHUD ? this.getX(!0) : this.getX(!0) - h.cameraX / h.SCALE; }, getScreenY: function () { return this.isHUD ? this.getY(!0) : this.getY(!0) - h.cameraY / h.SCALE; }, setX: function (a, b, d) { null == d && (d = !1); null == b && (b = !1); 1 == this.physicsMode ? ((b = d || !this.continuousCollision), null == b && (b = !0), this.moveActorBy( a + Math.floor(this.cacheWidth / 2) + this.currOffset.x - this.realX, this.realY - this.realY, b, !1 )) : 2 == this.physicsMode ? this.resetReal(a + Math.floor(this.cacheWidth / 2) + this.currOffset.x, this.realY) : ((this.dummy.x = this.isRegion || this.isTerrainRegion ? h.toPhysicalUnits(a) : h.toPhysicalUnits(a + Math.floor(this.cacheWidth / 2) + this.currOffset.x)), (this.dummy.y = this.body.getPosition().y), this.body.setPosition(this.dummy), b && this.body.setLinearVelocity(this.zero)); this.snapOnSet && ((this.drawX = this.realX), (this.drawY = this.realY)); this.updateMatrix = !0; }, setY: function (a, b, d) { null == d && (d = !1); null == b && (b = !1); 1 == this.physicsMode ? ((b = d || !this.continuousCollision), null == b && (b = !0), this.moveActorBy( this.realX - this.realX, a + Math.floor(this.cacheHeight / 2) + this.currOffset.y - this.realY, b, !1 )) : 2 == this.physicsMode ? this.resetReal(this.realX, a + Math.floor(this.cacheHeight / 2) + this.currOffset.y) : ((this.dummy.y = this.isRegion || this.isTerrainRegion ? h.toPhysicalUnits(a) : h.toPhysicalUnits(a + Math.floor(this.cacheHeight / 2) + this.currOffset.y)), (this.dummy.x = this.body.getPosition().x), this.body.setPosition(this.dummy), b && this.body.setLinearVelocity(this.zero)); this.snapOnSet && ((this.drawX = this.realX), (this.drawY = this.realY)); this.updateMatrix = !0; }, setXY: function (a, b, d, e) { null == e && (e = !1); null == d && (d = !1); 1 == this.physicsMode ? ((d = e || !this.continuousCollision), null == d && (d = !0), this.moveActorBy( a + Math.floor(this.cacheWidth / 2) + this.currOffset.x - this.realX, b + Math.floor(this.cacheHeight / 2) + this.currOffset.y - this.realY, d, !1 ), 0 == this.colX && 0 == this.colY && this.resetReal(this.realX, this.realY)) : 2 == this.physicsMode ? this.resetReal( a + Math.floor(this.cacheWidth / 2) + this.currOffset.x, b + Math.floor(this.cacheHeight / 2) + this.currOffset.y ) : (this.isRegion || this.isTerrainRegion ? ((this.dummy.x = h.toPhysicalUnits(a)), (this.dummy.y = h.toPhysicalUnits(b))) : ((this.dummy.x = h.toPhysicalUnits( a + Math.floor(this.cacheWidth / 2) + this.currOffset.x )), (this.dummy.y = h.toPhysicalUnits( b + Math.floor(this.cacheHeight / 2) + this.currOffset.y ))), this.body.setPosition(this.dummy), d && this.body.setLinearVelocity(this.zero)); this.snapOnSet && ((this.drawX = this.realX), (this.drawY = this.realY)); this.updateMatrix = !0; }, setXCenter: function (a) { this.setX(a - this.getWidth() / 2); }, setYCenter: function (a) { this.setY(a - this.getHeight() / 2); }, setScreenX: function (a) { this.isHUD ? this.setX(a) : this.setX(a + h.cameraX / h.SCALE); }, setScreenY: function (a) { this.isHUD ? this.setY(a) : this.setY(a + h.cameraY / h.SCALE); }, follow: function (a) { if (null != a) if (0 != this.physicsMode) { var b = a.getXCenter(); a = a.getYCenter(); this.moveActorBy(b - this.realX, a - this.realY, !0, !1); } else this.body.setPosition(a.body.getWorldCenter()); }, followWithOffset: function (a, b, d) { 0 != this.physicsMode ? ((b = a.getXCenter() + b), (d = a.getYCenter() + d), this.moveActorBy(b - this.realX, d - this.realY, !0, !1)) : ((a = a.body.getWorldCenter()), (a.x += h.toPhysicalUnits(b)), (a.y += h.toPhysicalUnits(d)), this.body.setPosition(a)); }, setOriginPoint: function (a, b) { var d = 0 == this.physicsMode ? this.body.getPosition() : new P(h.toPhysicalUnits(this.realX), h.toPhysicalUnits(this.realY)); var e = new P(this.currOffset.x, this.currOffset.y), c = this.getAngle(), g = (a - this.cacheWidth / 2) | 0, l = (b - this.cacheHeight / 2) | 0; if ( null != this.currOrigin && ((this.currOffset.x | 0) != g || (this.currOffset.y | 0) != l) && 0 != ((57.29577951308402 * c) | 0) ) { var q = c + Math.atan2(-this.currOffset.y, -this.currOffset.x); c += Math.atan2(-l, -g); var y = Math.sqrt(Math.pow(this.currOffset.x, 2) + Math.pow(this.currOffset.y, 2)), r = Math.sqrt(Math.pow(g, 2) + Math.pow(l, 2)), k = Math.round(this.currOrigin.y + Math.sin(q) * y), p = Math.round(b + Math.sin(c) * r); d.x += h.toPhysicalUnits( Math.round(this.currOrigin.x + Math.cos(q) * y) - Math.round(a + Math.cos(c) * r) ); d.y += h.toPhysicalUnits(k - p); } this.currOrigin.x = a; this.currOrigin.y = b; this.currOffset.x = g; this.currOffset.y = l; e.x = this.currOffset.x - e.x; e.y = this.currOffset.y - e.y; d.x += h.toPhysicalUnits(e.x); d.y += h.toPhysicalUnits(e.y); 0 == this.physicsMode ? this.body.setPosition(d) : ((this.realX = h.toPixelUnits(d.x)), (this.realY = h.toPixelUnits(d.y))); this.resetOrigin = !0; }, getXVelocity: function () { return 0 != this.physicsMode ? this.xSpeed : this.body.getLinearVelocity().x; }, getYVelocity: function () { return 0 != this.physicsMode ? this.ySpeed : this.body.getLinearVelocity().y; }, setXVelocity: function (a) { if (0 != this.physicsMode) this.xSpeed = a; else { var b = this.body.getLinearVelocity(); b.x = a; this.body.setLinearVelocity(b); this.body.setAwake(!0); } }, setYVelocity: function (a) { if (0 != this.physicsMode) this.ySpeed = a; else { var b = this.body.getLinearVelocity(); b.y = a; this.body.setLinearVelocity(b); this.body.setAwake(!0); } }, setVelocity: function (a, b) { this.setXVelocity(b * Math.cos(0.01745329251994278 * a)); this.setYVelocity(b * Math.sin(0.01745329251994278 * a)); }, accelerateX: function (a) { this.setXVelocity(this.getXVelocity() + a); }, accelerateY: function (a) { this.setYVelocity(this.getYVelocity() + a); }, accelerate: function (a, b) { this.setXVelocity(this.getXVelocity() + b * Math.cos(0.01745329251994278 * a)); this.setYVelocity(this.getYVelocity() + b * Math.sin(0.01745329251994278 * a)); }, getAngle: function () { return 0 != this.physicsMode ? 0.01745329251994278 * this.realAngle : this.body.getAngle(); }, getAngleInDegrees: function () { return 0 != this.physicsMode ? this.realAngle : 57.29577951308402 * this.body.getAngle(); }, setAngle: function (a, b) { null == b && (b = !0); b ? 0 != this.physicsMode ? (this.realAngle = 57.29577951308402 * a) : this.body.setAngle(a) : 0 != this.physicsMode ? (this.realAngle = a) : this.body.setAngle(0.01745329251994278 * a); this.updateMatrix = !0; }, rotate: function (a, b) { null == b && (b = !0); b ? 0 != this.physicsMode ? (this.realAngle += 57.29577951308402 * a) : this.body.setAngle(this.body.getAngle() + a) : 0 != this.physicsMode ? (this.realAngle += a) : this.body.setAngle(this.body.getAngle() + 0.01745329251994278 * a); }, getAngularVelocity: function () { return 0 != this.physicsMode ? 0.01745329251994278 * this.rSpeed : this.body.getAngularVelocity(); }, setAngularVelocity: function (a) { 0 != this.physicsMode ? (this.rSpeed = 57.29577951308402 * a) : (this.body.setAngularVelocity(a), this.body.setAwake(!0)); }, changeAngularVelocity: function (a) { 0 != this.physicsMode ? (this.rSpeed += 57.29577951308402 * a) : (this.body.setAngularVelocity(this.body.getAngularVelocity() + a), this.body.setAwake(!0)); }, push: function (a, b, d) { if (0 != this.physicsMode) (this.dummy.x = a), (this.dummy.y = b), this.dummy.normalize(), this.accelerateX(this.dummy.x * d * 0.01), this.accelerateY(this.dummy.y * d * 0.01); else if (0 != a || 0 != b) (this.dummy.x = a), (this.dummy.y = b), this.dummy.normalize(), this.dummy.multiply(d), this.body.applyForce(this.dummy, this.body.getWorldCenter()); }, pushInDirection: function (a, b) { this.push(Math.cos(0.01745329251994278 * a), Math.sin(0.01745329251994278 * a), b); }, applyImpulse: function (a, b, d) { if (0 != this.physicsMode) (this.dummy.x = a), (this.dummy.y = b), this.dummy.normalize(), this.accelerateX(this.dummy.x * d), this.accelerateY(this.dummy.y * d); else if (0 != a || 0 != b) (this.dummy.x = a), (this.dummy.y = b), this.dummy.normalize(), this.dummy.multiply(d), this.body.applyImpulse(this.dummy, this.body.getWorldCenter()); }, applyImpulseInDirection: function (a, b) { this.applyImpulse( Math.cos(0.01745329251994278 * a), Math.sin(0.01745329251994278 * a), b ); }, applyTorque: function (a) { 0 != this.physicsMode ? this.fixedRotation || (this.rSpeed -= a) : (this.body.applyTorque(a), this.body.setAwake(!0)); }, getWidth: function () { return this.cacheWidth; }, getHeight: function () { return this.cacheHeight; }, getPhysicsWidth: function () { return this.cacheWidth / h.physicsScale; }, getPhysicsHeight: function () { return this.cacheHeight / h.physicsScale; }, getBody: function () { return this.body; }, enableRotation: function () { 0 != this.physicsMode ? (this.fixedRotation = !1) : this.body.setFixedRotation(!1); }, disableRotation: function () { 0 != this.physicsMode ? (this.fixedRotation = !0) : this.body.setFixedRotation(!0); }, setIgnoreGravity: function (a) { this.ignoreGravity = a; 0 == this.physicsMode && this.body.setIgnoreGravity(a); }, ignoresGravity: function () { return 0 != this.physicsMode ? this.ignoreGravity : this.body.isIgnoringGravity(); }, getFriction: function () { return 0 == this.physicsMode && null != this.body.m_fixtureList ? this.body.m_fixtureList.m_friction : 0; }, getBounciness: function () { return 0 == this.physicsMode && null != this.body.m_fixtureList ? this.body.m_fixtureList.m_restitution : 0; }, getMass: function () { return 0 == this.physicsMode ? this.md.mass : 0; }, getAngularMass: function () { return 0 == this.physicsMode ? this.md.I : 0; }, getLinearDamping: function () { return 0 == this.physicsMode ? this.body.getLinearDamping() : 0; }, getAngularDamping: function () { return 0 == this.physicsMode ? this.body.getAngularDamping() : 0; }, setFriction: function (a) { 0 == this.physicsMode && this.body.setFriction(a); }, setBounciness: function (a) { 0 == this.physicsMode && this.body.setBounciness(a); }, setMass: function (a) { 0 == this.physicsMode && ((this.md.mass = a), this.body.setMassData(this.md)); }, setAngularMass: function (a) { 0 == this.physicsMode && ((this.md.I = a), this.body.setMassData(this.md)); }, setLinearDamping: function (a) { 0 == this.physicsMode && this.body.setLinearDamping(a); }, setAngularDamping: function (a) { 0 == this.physicsMode && this.body.setAngularDamping(a); }, isMouseOver: function () { if (this.isHUD) { var a = (E.mouseX - h.engine.hudLayer.get_x()) / h.SCALE; var b = (E.mouseY - h.engine.hudLayer.get_y()) / h.SCALE; } else (a = (E.mouseX + h.cameraX * this.layer.scrollFactorX) / h.SCALE), (b = (E.mouseY + h.cameraY * this.layer.scrollFactorY) / h.SCALE); var d = Math.abs(this.realScaleX), e = Math.abs(this.realScaleY), c = this.currOrigin.x * (d - 1), g = (this.cacheWidth - this.currOrigin.x) * (d - 1), l = this.currOrigin.y * (e - 1), q = (this.cacheHeight - this.currOrigin.y) * (e - 1); 0 == this.physicsMode || (this.currOrigin.x == this.cacheWidth / 2 && this.currOrigin.y == this.cacheHeight / 2) || this.resetReal(this.realX, this.realY); var y = this.colX - c, r = this.colY - l; if (0 != this.get_rotation()) { d = y + this.currOrigin.x * d; e = r + this.currOrigin.y * e; a -= d; b -= e; var k = 0.01745329251994278 * this.get_rotation(); e = e - a * Math.sin(k) + b * Math.cos(k); a = d + a * Math.cos(k) + b * Math.sin(k); b = e; } return this.isHUD && !h.engine.isHUDZoomable ? a >= y / h.engine.zoomMultiplier && b >= r / h.engine.zoomMultiplier && a < (y + this.cacheWidth + c + g) / h.engine.zoomMultiplier ? b < (r + this.cacheHeight + l + q) / h.engine.zoomMultiplier : !1 : a >= y && b >= r && a < y + this.cacheWidth + c + g ? b < r + this.cacheHeight + l + q : !1; }, isMouseHover: function () { return this.isMouseOver() ? !E.mouseDown : !1; }, isMouseDown: function () { return this.isMouseOver() ? E.mouseDown : !1; }, isMousePressed: function () { return this.isMouseOver() ? E.mousePressed : !1; }, isMouseReleased: function () { return this.isMouseOver() ? E.mouseReleased : !1; }, cancelTweens: function () { this.tweenProps.cancel(); }, fadeTo: function (a, b, d) { null == b && (b = 1); this.tweenProps.alpha.tween(this.get_alpha(), a, d, (1e3 * b) | 0); }, growTo: function (a, b, d, e) { null == d && (d = 1); null == b && (b = 1); null == a && (a = 1); this.tweenProps.realScaleXY.tween( this.realScaleX, a, this.realScaleY, b, e, (1e3 * d) | 0 ); }, spinTo: function (a, b, d) { null == b && (b = 1); this.tweenProps.angle.tween(this.getAngleInDegrees(), a, d, (1e3 * b) | 0); }, moveTo: function (a, b, d, e) { null == d && (d = 1); this.tweenProps.xy.tween(this.getX(!1), a, this.getY(!1), b, e, (1e3 * d) | 0); }, spinBy: function (a, b, d) { null == b && (b = 1); this.spinTo(this.getAngleInDegrees() + a, b, d); }, moveBy: function (a, b, d, e) { null == d && (d = 1); this.moveTo(this.getX(!1) + a, this.getY(!1) + b, d, e); }, drawImage: function (a) { if (null != this.currAnimation) { var b = 0, d = 0; 0 < this.realAngle && (this.drawMatrix.identity(), (this.transformPoint.x = -(this.cacheWidth / 2) * h.SCALE), (this.transformPoint.y = -(this.cacheHeight / 2) * h.SCALE), this.drawMatrix.translate(-this.transformPoint.x, -this.transformPoint.y), this.drawMatrix.scale(this.realScaleX, this.realScaleY), this.drawMatrix.rotate(0.01745329251994278 * this.realAngle), this.drawMatrix.translate(this.colX * h.SCALE, this.colY * h.SCALE), (b += this.transformMatrix.tx - this.drawMatrix.tx), (d += this.transformMatrix.ty - this.drawMatrix.ty)); var e = this.currAnimation.get_visible(); this.currAnimation.set_visible(!0); var c = this.currAnimation, g = 0.01745329251994278 * this.realAngle; if (!ba.disposeImages || c.model.checkImageReadable()) { c = c.get_bitmapData(); null == g && (g = 0); b *= a.scaleX; d *= a.scaleY; a.rect.x = 0; a.rect.y = 0; a.rect.width = c.width; a.rect.height = c.height; a.drawActor ? null != a.actor && a.actor.isHUD ? ((a.point.x = a.x + b), (a.point.y = a.y + d)) : ((a.point.x = a.x + b - h.cameraX), (a.point.y = a.y + d - h.cameraY)) : ((a.point.x = a.x + b), (a.point.y = a.y + d)); a.mtx.identity(); a.mtx.rotate(g); a.mtx.translate(a.point.x, a.point.y); if (0 == g) 1 != a.alpha && ((a.point2.x = 0), (a.point2.y = 0), (a.rect2.width = c.width), (a.rect2.height = c.height), (d = new la(c.width, c.height, !0, a.toARGB(0, (255 * a.alpha) | 0))), (b = new la(c.width, c.height, !0, 0)), b.copyPixels(c, a.rect2, a.point2, d, null, !0), (c = b)), a.graphics.beginBitmapFill(c, a.mtx), a.graphics.drawRect(a.point.x, a.point.y, c.width, c.height); else { 1 != a.alpha && ((a.point2.x = 0), (a.point2.y = 0), (a.rect2.width = c.width), (a.rect2.height = c.height), (d = new la(c.width, c.height, !0, a.toARGB(0, (255 * a.alpha) | 0))), (b = new la(c.width, c.height, !0, 0)), b.copyPixels(c, a.rect2, a.point2, d, null, !0), (c = b)); d = new la(c.width + 2, c.height + 2, !0, 0); b = Math.sqrt(Math.pow(d.width, 2) + Math.pow(d.height, 2)) | 0; g = new ea(0, 0, c.width, c.height); var l = new na(1, 1); d.copyPixels(c, g, l); a.graphics.beginBitmapFill(d, a.mtx, !1, ba.antialias); a.graphics.drawRect(a.x - (b - c.width) / 2, a.y - (b - c.height) / 2, b, b); } a.graphics.endFill(); } this.currAnimation.set_visible(e); } }, getCurrentImage: function () { return this.currAnimation.getCurrentImage(); }, enableActorDrawing: function () { this.drawActor = !0; null != this.currAnimation && this.currAnimation.set_visible(!0); }, disableActorDrawing: function () { this.drawActor = !1; null != this.currAnimation && this.currAnimation.set_visible(!1); }, drawsImage: function () { return this.drawActor; }, setFilter: function (a) { null == this.bitmapFilters && (this.bitmapFilters = []); this.bitmapFilters = this.bitmapFilters.concat(a); null != this.currAnimation && this.currAnimation.set_filter(this.bitmapFilters); }, clearFilters: function () { this.bitmapFilters = null; null != this.currAnimation && this.currAnimation.set_filter(null); }, setBlendMode: function (a) { this.set_blendMode(a); }, resetBlendMode: function () { this.set_blendMode(10); }, addBehavior: function (a) { null != this.behaviors && this.behaviors.add(a); }, hasBehavior: function (a) { return null != this.behaviors ? this.behaviors.hasBehavior(a) : !1; }, enableBehavior: function (a) { null != this.behaviors && this.behaviors.enableBehavior(a); }, disableBehavior: function (a) { null != this.behaviors && this.behaviors.disableBehavior(a); }, isBehaviorEnabled: function (a) { return null != this.behaviors ? this.behaviors.isBehaviorEnabled(a) : !1; }, enableAllBehaviors: function () { if (null != this.behaviors) for (var a = 0, b = this.behaviors.behaviors; a < b.length; ) { var d = b[a]; ++a; d.enabled = !0; } }, getValue: function (a, b) { return this.behaviors.getAttribute(a, b); }, setValue: function (a, b, d) { this.behaviors.setAttribute(a, b, d); }, shout: function (a, b) { return this.behaviors.call(a, b); }, say: function (a, b, d) { return this.behaviors.call2(a, b, d); }, setActorValue: function (a, b) { null != this.registry && (this.registry.h[a] = b); }, getActorValue: function (a) { return null == this.registry ? null : this.registry.h[a]; }, hasActorValue: function (a) { return null == this.registry ? null : null != this.registry.h[a]; }, registerListener: function (a, b) { var d = W.indexOf(this.allEventReferences, a); -1 != d ? (a = this.allListeners.h[d]) : (this.allEventReferences.push(a), (d = this.allEventReferences.length - 1), (a = []), (this.allListeners.h[d] = a)); a.push(b); }, removeAllListeners: function () { for (var a = 0, b = this.allEventReferences.length; a < b; ) { var d = a++, e = this.allEventReferences[d]; if (null != e && ((d = w.__cast(this.allListeners.h[d], Array)), null != d)) for (var c = 0, g = d.length; c < g; ) { var l = c++; e.remove(d[l]); } } this.allEventReferences.length = 0; }, anchorToScreen: function () { this.isHUD || this.engine.moveActorToLayer(this, this.engine.hudLayer); }, unanchorFromScreen: function () { this.isHUD && this.engine.moveActorToLayer(this, this.cachedLayer); }, isAnchoredToScreen: function () { return this.isHUD; }, makeAlwaysSimulate: function (a) { null == a && (a = !0); this.alwaysSimulate || (0 == this.physicsMode && a && (this.body.setAlwaysActive(!0), this.body.setActive(!0)), (this.alwaysSimulate = !0)); }, makeSometimesSimulate: function (a) { null == a && (a = !0); this.alwaysSimulate && (0 == this.physicsMode && a && (this.body.setAlwaysActive(!1), this.body.setActive(!1)), (this.alwaysSimulate = !1)); }, alwaysSimulates: function () { return this.alwaysSimulate; }, die: function () { this.dying = !0; var a = this.engine.whenTypeGroupKilledEvents, b = this.getType(), d = a.h[b.__id__]; a = this.engine.whenTypeGroupKilledEvents; b = this.getGroup(); a = a.h[b.__id__]; if (0 < this.whenKilled.length) for ( this.whenKilled._dispatchIndex = 0; this.whenKilled._dispatchIndex < this.whenKilled.length; ) { try { this.whenKilled.listeners[this.whenKilled._dispatchIndex](); } catch (e) { if (((ka.lastError = e), 'string' != typeof J.caught(e).unwrap())) throw e; } ++this.whenKilled._dispatchIndex; } if (null != d && 0 < d.length) for (d._dispatchIndex = 0; d._dispatchIndex < d.length; ) { try { d.listeners[d._dispatchIndex](this); } catch (e) { if (((ka.lastError = e), 'string' != typeof J.caught(e).unwrap())) throw e; } ++d._dispatchIndex; } if (null != a && 0 < a.length) for (a._dispatchIndex = 0; a._dispatchIndex < a.length; ) { try { a.listeners[a._dispatchIndex](this); } catch (e) { if (((ka.lastError = e), 'string' != typeof J.caught(e).unwrap())) throw e; } ++a._dispatchIndex; } this.removeAllListeners(); }, isDying: function () { return this.dying; }, isAlive: function () { return !(this.dead || this.dying || this.recycled); }, isOnScreen: function () { var a = h.cameraX / h.SCALE, b = h.cameraY / h.SCALE, d = h.paddingLeft, e = h.paddingTop, c = h.paddingRight, g = h.paddingBottom; return (0 != this.physicsMode || this.body.isActive()) && this.getX(!0) + this.cacheWidth * this.realScaleX >= a - d && this.getY(!0) + this.cacheHeight * this.realScaleY >= b - e && this.getX(!0) < a + h.screenWidth + c ? this.getY(!0) < b + h.screenHeight + g : !1; }, isInScene: function () { return (0 != this.physicsMode || this.body.isActive()) && 0 <= this.getX(!0) + this.cacheWidth * this.realScaleX && 0 <= this.getY(!0) + this.cacheHeight * this.realScaleY && this.getX(!0) < h.sceneWidth ? this.getY(!0) < h.sceneHeight : !1; }, getLastCollidedActor: function () { return vb.lastCollided; }, killSelfAfterLeavingScreen: function () { this.killLeaveScreen = !0; }, toString: function () { return null == this.get_name() ? 'Unknown Actor ' + this.ID : '[Actor ' + this.ID + ',' + this.get_name() + ']'; }, addRectangularShape: function (a, b, d, e) { if (0 == this.physicsMode) { var c = new Eb(), g = []; a = h.toPhysicalUnits(a - Math.floor(this.cacheWidth / 2) - this.currOffset.x); b = h.toPhysicalUnits(b - Math.floor(this.cacheHeight / 2) - this.currOffset.y); d = h.toPhysicalUnits(d); e = h.toPhysicalUnits(e); g.push(new P(a, b)); g.push(new P(a + d, b)); g.push(new P(a + d, b + e)); g.push(new P(a, b + e)); c.setAsVector(g); this.createFixture(c).SetUserData(this); } }, addCircularShape: function (a, b, d) { if (0 == this.physicsMode) { var e = new Lc(); e.m_radius = h.toPhysicalUnits(d); e.m_p.x = h.toPhysicalUnits(a); e.m_p.y = h.toPhysicalUnits(b); this.createFixture(e).SetUserData(this); } }, addVertex: function (a, b, d) { b = h.toPhysicalUnits(b - Math.floor(this.cacheWidth / 2) - this.currOffset.x); d = h.toPhysicalUnits(d - Math.floor(this.cacheHeight / 2) - this.currOffset.y); a.push(new P(b, d)); }, addPolygonalShape: function (a) { if (0 == this.physicsMode) { var b = new Eb(); b.setAsArray(a); this.createFixture(b).SetUserData(this); } }, createFixture: function (a) { var b = new Hf(); b.shape = a; b.density = 0.1 * this.bodyDef.mass; b.friction = this.bodyDef.friction; b.restitution = this.bodyDef.bounciness; return this.body.createFixture(b); }, getLastCreatedFixture: function () { return 0 == this.physicsMode ? this.body.getFixtureList() : null; }, setLocation: function (a, b) { this.realX = a; this.realY = b; this.setXY(a, b, !1, !0); }, get_shape: function () { return this._mask; }, set_shape: function (a) { if (this._mask == a) return a; null != this._mask && this._mask.assignTo(null); this._mask = a; null != a && this._mask.assignTo(this); return this._mask; }, collide: function (a, b, d) { a = this.engine.getGroup(a); this._x = this.realX; this._y = this.realY; this.resetReal(b, d); if (null == this._mask) { b = 0; for (d = a.list; b < d.length; ) if ( ((a = d[b]), ++b, !a.recycled && this.colX + this.cacheWidth >= a.colX && this.colY + this.cacheHeight >= a.colY && this.colX <= a.colX + a.cacheWidth && this.colY <= a.colY + a.cacheHeight && a.collidable && a != this && (null == a._mask || a._mask.collide(this.HITBOX))) ) return (this.colMask = a._mask), this.resetReal(this._x, this._y), a; this.resetReal(this._x, this._y); return null; } b = 0; for (d = a.list; b < d.length; ) if ( ((a = d[b]), ++b, !a.recycled && this.colX + this.cacheWidth >= a.colX && this.colY + this.cacheHeight >= a.colY && this.colX <= a.colX + a.cacheWidth && this.colY <= a.colY + a.cacheHeight && a.collidable && a != this && this._mask.collide(null != a._mask ? a._mask : a.HITBOX)) ) return ( (this.colMask = null != a._mask ? a._mask : a.HITBOX), this.resetReal(this._x, this._y), a ); this.resetReal(this._x, this._y); return null; }, collideTypes: function (a, b, d) { for (var e = this.collidedList.length, c, g = 0; g < a.length; ) (c = a[g]), ++g, -2 != c && this.collideInto(c, b, d, this.collidedList); return this.collidedList.length > e ? this.collidedList[this.collidedList.length - 1] : null; }, collideWith: function (a, b, d) { this._x = this.realX; this._y = this.realY; this.resetReal(b, d); if ( this.colX + this.cacheWidth >= a.colX && this.colY + this.cacheHeight >= a.colY && this.colX <= a.colX + a.cacheWidth && this.colY <= a.colY + a.cacheHeight && this.collidable && a.collidable ) { if (null == this._mask) { if (null == a._mask || a._mask.collide(this.HITBOX)) return this.resetReal(this._x, this._y), a; this.resetReal(this._x, this._y); return null; } if (this._mask.collide(null != a._mask ? a._mask : a.HITBOX)) return this.resetReal(this._x, this._y), a; } this.resetReal(this._x, this._y); return null; }, collideInto: function (a, b, d, e) { a = this.engine.getGroup(a); this._x = this.realX; this._y = this.realY; this.resetReal(b, d); b = e.length; if (null == this._mask) for (d = 0, a = a.list; d < a.length; ) { var c = a[d]; ++d; c.recycled || (this.colX + this.cacheWidth >= c.colX && this.colY + this.cacheHeight >= c.colY && this.colX <= c.colX + c.cacheWidth && this.colY <= c.colY + c.cacheHeight && c.collidable && c != this && (null == c._mask || c._mask.collide(this.HITBOX)) && (W.contains(e, c) || (e[b++] = c))); } else for (d = 0, a = a.list; d < a.length; ) (c = a[d]), ++d, this.colX + this.cacheWidth >= c.colX && this.colY + this.cacheHeight >= c.colY && this.colX <= c.colX + c.cacheWidth && this.colY <= c.colY + c.cacheHeight && c.collidable && c != this && this._mask.collide(null != c._mask ? c._mask : c.HITBOX) && (W.contains(e, c) || (e[b++] = c)); this.resetReal(this._x, this._y); }, clearCollisionInfoList: function () { if (0 < this.collisionsCount) for (var a = this.simpleCollisions.iterator(); a.hasNext(); ) { var b = a.next(); b.remove = !0; null != b.linkedCollision && (b.linkedCollision.remove = !0); } }, disposeRemovedCollisionInfo: function () { if (0 < this.collisionsCount) { for (var a = -1, b = this.simpleCollisions.keys(); b.hasNext(); ) { var d = b.next(), e = this.simpleCollisions, c = e.mH, g = c.mHash[(73856093 * d) & c.mMask]; if (-1 == g) g = -2147483648; else if (((c = c.mData), c[g] == d)) g = c[g + 1]; else { var l = -2147483648; for (g = c[g + 2]; -1 != g; ) { if (c[g] == d) { l = c[g + 1]; break; } g = c[g + 2]; } g = l; } (-2147483648 == g ? null : e.mVals[g]).remove ? this.simpleCollisions.unset(d) : d > a && (a = d); } this.collisionsCount = a + 1; } }, clearCollidedList: function () { for (; 0 < this.collidedList.length; ) this.collidedList.pop(); this.listChecked = 0; }, addCollision: function (a) { var b = this.alreadyCollided(a); if (-1 != b) { var d = this.simpleCollisions, e = d.mH, c = e.mHash[(73856093 * b) & e.mMask]; if (-1 == c) c = -2147483648; else if (((e = e.mData), e[c] == b)) c = e[c + 1]; else { var g = -2147483648; for (c = e[c + 2]; -1 != c; ) { if (e[c] == b) { g = e[c + 1]; break; } c = e[c + 2]; } c = g; } d = -2147483648 == c ? null : d.mVals[c]; a.switchData(d.linkedCollision); a.linkedCollision.remove = !1; a.remove = !1; uc.recycle(d); this.simpleCollisions.unset(b); this.simpleCollisions.set(b, a); return a; } this.simpleCollisions.unset(this.collisionsCount); this.simpleCollisions.set(this.collisionsCount, a); this.collisionsCount++; return a; }, alreadyCollided: function (a) { for (var b = this.simpleCollisions.keys(); b.hasNext(); ) { var d = b.next(), e = this.simpleCollisions, c = e.mH, g = c.mHash[(73856093 * d) & c.mMask]; if (-1 == g) g = -2147483648; else if (((c = c.mData), c[g] == d)) g = c[g + 1]; else { var l = -2147483648; for (g = c[g + 2]; -1 != g; ) { if (c[g] == d) { l = c[g + 1]; break; } g = c[g + 2]; } g = l; } e = -2147483648 == g ? null : e.mVals[g]; if ( null != e && ((e.maskA == a.maskA && e.maskB == a.maskB) || (e.maskA == a.maskB && e.maskB == a.maskA)) ) if (e.solidCollision) if (1 == e.maskA.groupID || 1 == e.maskB.groupID) { if (e.thisFromLeft || e.thisFromRight) if (a.thisFromLeft || a.thisFromRight) return d; if (e.thisFromTop || e.thisFromBottom) if (a.thisFromTop || a.thisFromBottom) return d; } else return d; else return d; } return -1; }, resetReal: function (a, b) { this.realX = a; this.realY = b; this.colX = this.realX - Math.floor(this.cacheWidth / 2) - this.currOffset.x; this.colY = this.realY - Math.floor(this.cacheHeight / 2) - this.currOffset.y; }, adjustByWidth: function (a) { if ( null != this._mask && null != this._mask.lastCheckedMask && this._mask.lastCheckedMask instanceof hd ) { var b = this._mask.lastCheckedMask; return a ? this.cacheWidth / 2 - (this.cacheWidth - (b._x + b._width)) : this.cacheWidth / 2 - b._x; } return this.cacheWidth / 2; }, adjustByHeight: function (a) { if ( null != this._mask && null != this._mask.lastCheckedMask && this._mask.lastCheckedMask instanceof hd ) { var b = this._mask.lastCheckedMask; return a ? this.cacheHeight / 2 - (this.cacheHeight - (b._y + b._height)) : this.cacheHeight / 2 - b._y; } return this.cacheHeight / 2; }, getAllCollisionInfo: function (a, b) { for (var d = null; this.listChecked < this.collidedList.length; ) { var e = uc.get(); this.colMask = this.collidedList[this.listChecked]._mask; this.fillCollisionInfo(e, this.collidedList[this.listChecked], a, b); this.addCollision(e); if (null == e.linkedCollision) { var c = uc.get(); e.switchData(c); this.collidedList[this.listChecked].addCollision(c); } e.solidCollision && (d = e); this.listChecked++; } return d; }, moveActorBy: function (a, b, d, e) { null == e && (e = !1); null == d && (d = !0); if (0 != a || 0 != b) { this.clearCollisionInfoList(); if (!d && this.collidable && null != this.HITBOX.collideTypes) { d = this.HITBOX.collideTypes; if (0 != a) { var c = 0 < a ? Math.ceil(this.realX + a) : Math.floor(this.realX + a); this.clearCollidedList(); if (e || null != this.collideTypes(d, c, this.realY)) for (this.clearCollidedList(); 0 != a; ) { var g = 1 <= a || -1 >= a ? 1 : Math.abs(a); g = 0 < a ? g : -g; c = 0 < g ? Math.ceil(this.realX + g) : Math.floor(this.realX + g); var l = this.collide(-2, c, this.realY); null != l && w.__cast(l, pd).addActor(this); l = this.collideTypes(d, c, this.realY); if (null != l && ((c = this.getAllCollisionInfo(g, 0)), null != c)) { this.xSpeed = 0; c.useBounds && (this.realX = 0 < g ? c.bounds.x - Math.ceil(this.adjustByWidth(!0)) : c.bounds.x + c.bounds.width + Math.floor(this.adjustByWidth(!1))); break; } this.realX += g; a -= g; } else this.realX += a; } if (0 != b) if ( ((c = 0 < b ? Math.ceil(this.realY + b) : Math.floor(this.realY + b)), this.clearCollidedList(), e || null != this.collideTypes(d, this.realX, c)) ) for (this.clearCollidedList(); 0 != b; ) { g = 1 <= b || -1 >= b ? 1 : Math.abs(b); g = 0 < b ? g : -g; c = 0 < g ? Math.ceil(this.realY + g) : Math.floor(this.realY + g); l = this.collide(-2, this.realX, c); null != l && w.__cast(l, pd).addActor(this); l = this.collideTypes(d, this.realX, c); if (null != l && ((c = this.getAllCollisionInfo(0, g)), null != c)) { this.ySpeed = 0; c.useBounds && (this.realY = 0 < g ? c.bounds.y - Math.ceil(this.adjustByHeight(!0)) : c.bounds.y + c.bounds.height + Math.floor(this.adjustByHeight(!1))); break; } this.realY += g; b -= g; } else this.realY += b; } else (this.realX += a), (this.realY += b); this.resetReal(this.realX, this.realY); } }, moveActorTo: function (a, b, d, e) { null == e && (e = !1); null == d && (d = !0); this.moveActorBy(a - this.realX, b - this.realY, d, e); }, moveActorTowards: function (a, b, d, e, c) { null == c && (c = !1); null == e && (e = !0); this._point.x = a - this.realX; this._point.y = b - this.realY; this._point.normalize(d); this.moveActorBy(this._point.x, this._point.y, e, c); }, moveCollideX: function (a, b) {}, moveCollideY: function (a, b) {}, fillCollisionInfo: function (a, b, d, e) { if (b instanceof pd) b.addActor(this); else { a.thisActor = a.actorA = this; a.otherActor = a.actorB = b; a.maskA = this._mask; a.maskB = this.colMask; a.solidCollision = this._mask.solid && this.colMask.solid; a.groupA = this._mask.lastCheckedMask.groupID; a.groupB = this._mask.lastCheckedMask.lastColID; var c = uc.collisionResponses, g = this.getGroupID(); c = c.h[g]; var l = !1, q = !1; null != c ? ((g = b.getGroupID()), (g = null != c.h[g])) : (g = !1); g && ((g = b.getGroupID()), 'sensor' == c.h[g] ? ((a.solidCollision = !1), (l = !0)) : (q = a.solidCollision = !0)); null != this.colMask && ((a.useBounds = !0), (a.bounds.x = this.colMask.lastBounds.x), (a.bounds.y = this.colMask.lastBounds.y), (a.bounds.width = this.colMask.lastBounds.width), (a.bounds.height = this.colMask.lastBounds.height)); 0 != d && (1e8 == b.ID ? ((a.thisFromLeft = 0 > d), (a.thisFromRight = 0 < d)) : ((a.thisFromLeft = b.colX < this.colX), (a.thisFromRight = b.colX > this.colX)), (a.otherFromLeft = !a.thisFromLeft), (a.otherFromRight = !a.thisFromRight), (a.thisFromTop = a.otherFromTop = !1), (a.thisFromBottom = a.otherFromBottom = !1)); 0 != e && (1e8 == b.ID ? ((a.thisFromTop = 0 > e), (a.thisFromBottom = 0 < e)) : ((a.thisFromTop = b.colY < this.colY), (a.thisFromBottom = b.colY > this.colY)), (a.otherFromTop = !a.thisFromTop), (a.otherFromBottom = !a.thisFromBottom), (a.thisFromLeft = a.otherFromLeft = !1), (a.thisFromRight = a.otherFromRight = !1)); a.thisCollidedWithActor = !0; a.thisCollidedWithTile = 1e8 == b.ID; a.thisCollidedWithSensor = null != a ? l || (!q && !a.maskB.solid) : !1; a.thisCollidedWithTerrain = !1; a.otherCollidedWithActor = !0; a.otherCollidedWithTile = 1e8 == b.ID; a.otherCollidedWithSensor = null != a ? !a.maskA.solid : !1; a.otherCollidedWithTerrain = !1; } }, handleCollisionsSimple: function () { if (0 < this.collisionsCount) for (var a = this.simpleCollisions.iterator(); a.hasNext(); ) { var b = a.next(); if (null != b && 1 != b.remove) { vb.lastCollided = b.otherActor; if (0 < this.whenCollided.length) for ( this.whenCollided._dispatchIndex = 0; this.whenCollided._dispatchIndex < this.whenCollided.length; ) { try { this.whenCollided.listeners[this.whenCollided._dispatchIndex](b); } catch (d) { if (((ka.lastError = d), 'string' != typeof J.caught(d).unwrap())) throw d; } ++this.whenCollided._dispatchIndex; } this.engine.handleCollision(this, b); } } }, HITBOX: null, _mask: null, colMask: null, _x: null, _y: null, _moveX: null, _moveY: null, _point: null, simpleCollisions: null, collidedList: null, listChecked: null, __class__: vb, __properties__: t(Ca.prototype.__properties__, { set_shape: 'set_shape', get_shape: 'get_shape' }) }); var io = function (a, b, d, e) { this.ID = a; this.name = b; this.allScenes = d; this.members = e; this.active = !0; }; k['com.stencyl.models.Atlas'] = io; io.__name__ = 'com.stencyl.models.Atlas'; io.prototype = { ID: null, name: null, allScenes: null, active: null, members: null, __class__: io }; var Sh = function () {}; k['com.stencyl.models.Background'] = Sh; Sh.__name__ = 'com.stencyl.models.Background'; Sh.__isInterface__ = !0; Sh.prototype = { update: null, draw: null, __class__: Sh }; var fl = function (a, b) { this.group1 = a; this.group2 = b; }; k['com.stencyl.models.CollisionGroupDef'] = fl; fl.__name__ = 'com.stencyl.models.CollisionGroupDef'; fl.prototype = { group1: null, group2: null, __class__: fl }; var id = function (a, b, d) { this.ID = a; this.atlasID = d; this.name = b; this.sID = a + ',' + b; }; k['com.stencyl.models.Resource'] = id; id.__name__ = 'com.stencyl.models.Resource'; id.prototype = { ID: null, atlasID: null, name: null, sID: null, toString: function () { return this.sID; }, isAtlasActive: function () { var a = ra.get().atlases.h[this.atlasID]; return null == a ? !1 : a.active; }, loadGraphics: function () {}, unloadGraphics: function () {}, reloadGraphics: function (a) { this.unloadGraphics(); this.loadGraphics(); }, __class__: id }; var Af = function (a, b, d, e) { id.call(this, a, d, b); this.isDefault = e; this.isAtlasActive() && this.loadGraphics(); }; k['com.stencyl.models.Font'] = Af; Af.__name__ = 'com.stencyl.models.Font'; Af.resetStatics = function () { Af.defaultFont = null; }; Af.__super__ = id; Af.prototype = t(id.prototype, { font: null, fontScale: null, letterSpacing: null, isDefault: null, graphicsLoaded: null, getHeight: function () { return null != this.font ? (this.font.getFontHeight() * this.fontScale) | 0 : 0; }, getTextWidth: function (a) { return null != this.font ? this.font.getTextWidth(a, this.letterSpacing, this.fontScale) : 0; }, loadGraphics: function () { if (!this.graphicsLoaded) { if (this.isDefault) { var a = Da.getText('assets/graphics/default-font.fnt'); a = S.parse(a); Af.defaultFont = this.font = new gf().loadAngelCode( Da.getBitmapData('assets/graphics/default-font.html'), a ); this.fontScale = h.SCALE; this.letterSpacing = 0; Af.defaultFont.isDefault = !0; } else { a = Da.getText('assets/graphics/' + h.IMG_BASE + '/font-' + this.ID + '.fnt'); a = S.parse(a); var b = Da.getBitmapData( 'assets/graphics/' + h.IMG_BASE + '/font-' + this.ID + '.png', !1 ); this.font = new gf().loadAngelCode(b, a); this.fontScale = 1; this.letterSpacing = 0; } this.graphicsLoaded = !0; } }, unloadGraphics: function () { this.graphicsLoaded && ((this.font = Af.defaultFont), (this.fontScale = 1), (this.letterSpacing = 0), (this.graphicsLoaded = !1)); }, reloadGraphics: function (a) { id.prototype.reloadGraphics.call(this, a); }, setLetterSpacing: function (a) { this.letterSpacing = a | 0; }, isBitmapFont: function (a) { null == a && ((a = Da.getText('assets/graphics/' + h.IMG_BASE + '/font-' + this.ID + '.fnt')), (a = S.parse(a))); for (a = a.elements(); a.hasNext(); ) { var b = a.next(); if (b.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element but found ' + (null == b.nodeType ? 'null' : ua.toString(b.nodeType)) ); if ('font' == b.nodeName) for (b = b.elements(); b.hasNext(); ) { var d = b.next(); if (d.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element but found ' + (null == d.nodeType ? 'null' : ua.toString(d.nodeType)) ); if ('info' == d.nodeName) for (d = d.attributes(); d.hasNext(); ) if ('lspace' == d.next()) return !0; } } return !1; }, __class__: Af }); var ra = function () { var a = jc.get().gameMbs.getRoot(); this.shapes = this.readShapes(a); this.atlases = this.readAtlases(a); this.autotileFormats = this.readAutotileFormats(a); this.groups = this.readGroups(a); this.groups.push(new wh(-2, 'Regions')); this.groups.push(new wh(0, 'Players')); this.groups.push(new wh(1, 'Terrain')); this.groups.push(new wh(2, 'Doodads')); this.groups.push(new wh(3, 'Actors')); this.groupsCollidesWith = new Ya(); this.collisionGroups = this.readCollisionGroups(a); ra.collisionMap = []; for (var b = 0, d = 0, e = this.groups; d < e.length; ) { var c = e[d]; ++d; b = Math.max(c.ID | 0, b) | 0; } ++b; d = 0; for (e = b; d < e; ) { c = d++; ra.collisionMap.push([]); for (var g = 0, l = b; g < l; ) g++, ra.collisionMap[c].push(!1); } if (h.NO_PHYSICS) for (d = 0, e = this.groups; d < e.length; ) (c = e[d]), ++d, this.collisionGroups.push(new fl(c.ID, -2)); d = 0; for (e = this.collisionGroups; d < e.length; ) { c = e[d]; ++d; b = c.group1; c = c.group2; this.groupsCollidesWith.h.hasOwnProperty(b) || (this.groupsCollidesWith.h[b] = []); this.groupsCollidesWith.h.hasOwnProperty(c) || (this.groupsCollidesWith.h[c] = []); if (!h.NO_PHYSICS || (0 <= b && 0 <= c)) (ra.collisionMap[b][c] = !0), (ra.collisionMap[c][b] = !0); this.groupsCollidesWith.h[b].push(c); this.groupsCollidesWith.h[c].push(b); } this.gameAttributes = ra.readGameAttributes(a); jc.get().gameMbs = null; }; k['com.stencyl.models.GameModel'] = ra; ra.__name__ = 'com.stencyl.models.GameModel'; ra.resetStatics = function () { ra.instance = null; ra.collisionMap = null; }; ra.get = function () { null == ra.instance && (ra.instance = new ra()); return ra.instance; }; ra.readGameAttributes = function (a) { return te.readMap(a.getGameAttributes()); }; ra.prototype = { groups: null, groupsCollidesWith: null, collisionGroups: null, gameAttributes: null, shapes: null, atlases: null, scenes: null, autotileFormats: null, loadScenes: function () { this.scenes = new Ya(); for (var a = jc.get().sceneListMbs.getRoot(), b = 0, d = a.length(); b < d; ) { b++; var e = a.getNextObject(), c = e.getId(), g = this.scenes; e = new gl(c, e.getName()); g.h[c] = e; } jc.get().sceneListMbs = null; }, readShapes: function (a) { var b = new Ya(); a = a.getShapes(); for (var d = 0, e = a.length(); d < e; ) { d++; var c = a.getNextObject(), g = c.getPoints(), l = [], q = 0; for (g = wd.readPoints(g); q < g.length; ) { var y = g[q]; ++q; l.push(new P(3.1 * y.x, 3.1 * y.y)); } wd.EnsureCorrectVertexDirection(l); q = new Eb(); q.setAsArray(l, l.length); c = c.getId(); b.h[c] = q; } return b; }, readAtlases: function (a) { var b = new Ya(); a = a.getAtlases(); for (var d = 0, e = a.length(); d < e; ) { d++; var c = a.getNextObject(), g = c.getId(), l = c.getName(), q = c.getAllScenes(); c = c.getMembers(); for (var y = [], h = 0, k = c.length(); h < k; ) h++, y.push(c.readInt()); l = new io(g, l, q, y); b.h[g] = l; } return b; }, readAutotileFormats: function (a) { var b = new Ya(); a = a.getAutotileFormats(); for (var d = 0, e = a.length(); d < e; ) { d++; for ( var c = a.getNextObject(), g = c.getName(), l = c.getId(), q = c.getAcross(), y = c.getDown(), h = [], k = [], p = c.getCorners(), n = 0, u = p.length(); n < u; ) { n++; var m = p.getNextObject(), t = m.getTopLeft(); t = new na(t.getX(), t.getY()); var x = m.getTopRight(); x = new na(x.getX(), x.getY()); var w = m.getBottomLeft(); w = new na(w.getX(), w.getY()); m = m.getBottomRight(); k.push(new jo(t, x, w, new na(m.getX(), m.getY()))); } c = c.getFlags(); p = 0; for (n = c.length(); p < n; ) (u = p++), (h[u] = k[c.readInt()]); g = new ko(g, l, q, y, h); b.h[l] = g; } return b; }, readGroups: function (a) { var b = []; a = a.getGroups(); for (var d = 0, e = a.length(); d < e; ) { d++; var c = a.getNextObject(); b.push(new wh(c.getId(), c.getName())); } return b; }, readCollisionGroups: function (a) { var b = []; a = a.getCgroups(); for (var d = 0, e = a.length(); d < e; ) { d++; var c = a.getNextObject(); b.push(new fl(c.getGroup1(), c.getGroup2())); } return b; }, __class__: ra }; var wh = function (a, b) { this.ID = a; this.name = b; }; k['com.stencyl.models.GroupDef'] = wh; wh.__name__ = 'com.stencyl.models.GroupDef'; wh.prototype = { ID: null, name: null, __class__: wh }; var Ma = function () { this.isPressed = !1; this.outerAlphaWhenReleased = this.outerAlphaWhenPressed = this.innerAlphaWhenReleased = this.innerAlphaWhenPressed = 1; this.outerImage = this.innerImage = null; this.hideWhenReleased = !1; this.joystickDistance = this.joystickDirection = this.joystickDefaultDirection = this.joystickType = 0; Ca.call(this); }; k['com.stencyl.models.Joystick'] = Ma; Ma.__name__ = 'com.stencyl.models.Joystick'; Ma.resetStatics = function () { Ma.joystickMap = null; Ma.fixedCenter = 0; Ma.showWherePressed = 1; Ma.viewOffsetX = Ma.viewOffsetY = 0; Ma.initialized = !1; }; Ma.addJoystick = function (a, b, d, e, c, g, l, q, y) { null == y && (y = !1); null == q && (q = 0); null == l && (l = 0); null == g && (g = 0); null == c && (c = 0); null == e && (e = 0); null != Ma.joystickMap && Ma.joystickMap.h.hasOwnProperty(a) && Ma.removeJoystick(a); var f = Object.create(Ma.prototype); f.start(); f.id = a; f.joystickTouchID = -1; f.joystickDistance = 0; f.joystickDirection = 0; f.joystickDefaultDirection = 0; f.joystickType = e; f.center = new na(b * h.SCALE, d * h.SCALE); Ma.joystickMap.h[a] = f; Ma.setJoystickImage(a, !0, 'outer-joystick'); Ma.setJoystickImage(a, !1, 'inner-joystick'); f.outerAlphaWhenPressed = 1; f.outerAlphaWhenReleased = 1; f.innerAlphaWhenPressed = 1; f.innerAlphaWhenReleased = 1; f.joystickType == Ma.showWherePressed && (f.joystickBounds = new ea( c * h.SCALE + Ma.viewOffsetX, g * h.SCALE + Ma.viewOffsetY, l * h.SCALE, q * h.SCALE )); y && ((f.hideWhenReleased = !0), f.outerImage.set_visible(!1), f.innerImage.set_visible(!1)); }; Ma.removeJoystick = function (a) { if (Ma.joystickMap.h.hasOwnProperty(a)) { var b = Ma.joystickMap.h[a], d = h.engine.root; Ma.joystickMap.remove(a); d.removeChild(b.outerImage); d.removeChild(b.innerImage); } }; Ma.getJoystickDisDir = function (a, b) { null == b && (b = !0); var d = 0; Ma.joystickMap.h.hasOwnProperty(a) && ((a = Ma.joystickMap.h[a]), (d = b ? a.joystickDistance : a.joystickDirection)); return d; }; Ma.setJoystickCenter = function (a, b, d) { Ma.joystickMap.h.hasOwnProperty(a) && ((a = Ma.joystickMap.h[a]), (a.center = new na(b * h.SCALE, d * h.SCALE)), a.outerImage.set_x(a.center.x - 0.5 * a.outerImage.get_width()), a.outerImage.set_y(a.center.y - 0.5 * a.outerImage.get_height()), a.innerImage.set_x(a.center.x - 0.5 * a.innerImage.get_width()), a.innerImage.set_y(a.center.y - 0.5 * a.innerImage.get_height())); }; Ma.getJoystickCenter = function (a, b) { null == b && (b = !0); var d = 0; Ma.joystickMap.h.hasOwnProperty(a) && ((a = Ma.joystickMap.h[a]), (d = (b ? a.center.x : a.center.y) / h.SCALE)); return d; }; Ma.setJoystickRadius = function (a, b, d) { null == b && (b = !0); Ma.joystickMap.h.hasOwnProperty(a) && ((a = Ma.joystickMap.h[a]), b && a.outerRadius != d * h.SCALE ? (a.outerRadius = d * h.SCALE) : a.innerRadius != d * h.SCALE && (a.innerRadius = d * h.SCALE)); }; Ma.getJoystickRadius = function (a, b) { null == b && (b = !0); var d = 0; Ma.joystickMap.h.hasOwnProperty(a) && ((a = Ma.joystickMap.h[a]), (d = (b ? a.innerRadius : a.outerRadius) / h.SCALE)); return d; }; Ma.alwaysHideRJ = function (a) { Ma.joystickMap.h.hasOwnProperty(a) && ((a = Ma.joystickMap.h[a]), (a.hideWhenReleased = !0), a.outerImage.set_visible(!1), a.innerImage.set_visible(!1)); }; Ma.setDefaultDirection = function (a, b) { Ma.joystickMap.h.hasOwnProperty(a) && ((a = Ma.joystickMap.h[a]), (a.joystickDefaultDirection = b), (a.joystickDirection = b)); }; Ma.isJoystickPressed = function (a) { return Ma.joystickMap.h.hasOwnProperty(a) ? Ma.joystickMap.h[a].isPressed : !1; }; Ma.setTouchRegionForRJ = function (a, b, d, e, c) { null == c && (c = 0); null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); Ma.joystickMap.h.hasOwnProperty(a) && ((a = Ma.joystickMap.h[a]), a.joystickType == Ma.showWherePressed && (a.joystickBounds = new ea( b * h.SCALE + Ma.viewOffsetX, d * h.SCALE + Ma.viewOffsetY, e * h.SCALE, c * h.SCALE ))); }; Ma.getTouchRegionPropertyForRJ = function (a, b) { return Ma.joystickMap.h.hasOwnProperty(a) && ((a = Ma.joystickMap.h[a]), a.joystickType == Ma.showWherePressed) ? 1 == b ? a.joystickBounds.x - Ma.viewOffsetX : 2 == b ? a.joystickBounds.y - Ma.viewOffsetY : 3 == b ? a.joystickBounds.width / h.SCALE : a.joystickBounds.height / h.SCALE : 0; }; Ma.setJoystickImage = function (a, b, d) { if (Ma.joystickMap.h.hasOwnProperty(a)) { a = Ma.joystickMap.h[a]; var e = h.engine.root; d = 1 == h.SCALE ? Da.getBitmapData('assets/data/' + d + '.png') : 1.5 == h.SCALE ? Da.getBitmapData('assets/data/' + d + '@1.5x.png') : 2 == h.SCALE ? Da.getBitmapData('assets/data/' + d + '@2x.png') : Da.getBitmapData('assets/data/' + d + '@4x.png'); b ? (null != a.outerImage && e.removeChild(a.outerImage), (a.outerImage = new rc(d)), a.outerImage.set_x(a.center.x - 0.5 * a.outerImage.get_width()), a.outerImage.set_y(a.center.y - 0.5 * a.outerImage.get_height()), e.addChild(a.outerImage), (a.outerRadius = 0.5 * a.outerImage.get_width())) : (null != a.innerImage && e.removeChild(a.innerImage), (a.innerImage = new rc(d)), a.innerImage.set_x(a.center.x - 0.5 * a.innerImage.get_width()), a.innerImage.set_y(a.center.y - 0.5 * a.innerImage.get_height()), e.addChild(a.innerImage), (a.innerRadius = a.outerRadius - 0.5 * a.innerImage.get_width())); } }; Ma.setJoystickAlpha = function (a, b, d, e) { null == e && (e = !0); null == d && (d = 1); null == b && (b = !0); Ma.joystickMap.h.hasOwnProperty(a) && ((a = Ma.joystickMap.h[a]), b ? e ? ((a.outerAlphaWhenReleased = d), a.outerImage.set_alpha(d)) : (a.outerAlphaWhenPressed = d) : e ? ((a.innerAlphaWhenReleased = d), a.innerImage.set_alpha(d)) : (a.innerAlphaWhenPressed = d)); }; Ma.__super__ = Ca; Ma.prototype = t(Ca.prototype, { center: null, outerRadius: null, innerRadius: null, joystickBounds: null, joystickTouchID: null, id: null, joystickDistance: null, joystickDirection: null, joystickDefaultDirection: null, joystickType: null, hideWhenReleased: null, outerImage: null, innerImage: null, outerAlphaWhenReleased: null, outerAlphaWhenPressed: null, innerAlphaWhenReleased: null, innerAlphaWhenPressed: null, isPressed: null, start: function () { Ma.initialized || ((Ma.initialized = !0), (Ma.joystickMap = new Ya()), (Ma.viewOffsetX = h.screenOffsetX), (Ma.viewOffsetY = h.screenOffsetY)); ue.get_supportsTouchEvents() ? (h.stage.addEventListener('touchBegin', m(this, this.onTouchBegin)), h.stage.addEventListener('touchMove', m(this, this.onTouchMove)), h.stage.addEventListener('touchEnd', m(this, this.onTouchEnd)), (ue.inputMode = 2)) : (h.stage.addEventListener('mouseDown', m(this, this.onMouseDown)), h.stage.addEventListener('mouseMove', m(this, this.onMouseMove)), h.stage.addEventListener('mouseUp', m(this, this.onMouseUp))); }, stop: function () { ue.get_supportsTouchEvents() ? (h.stage.removeEventListener('touchBegin', m(this, this.onTouchBegin)), h.stage.removeEventListener('touchMove', m(this, this.onTouchMove)), h.stage.removeEventListener('touchEnd', m(this, this.onTouchEnd))) : (h.stage.removeEventListener('mouseDown', m(this, this.onMouseDown)), h.stage.removeEventListener('mouseMove', m(this, this.onMouseMove)), h.stage.removeEventListener('mouseUp', m(this, this.onMouseUp))); Ma.joystickMap = null; }, onTouchBegin: function (a) { this.onBegin(a.stageX, a.stageY, a.touchPointID); }, onTouchMove: function (a) { this.onMove(a.stageX, a.stageY, a.touchPointID); }, onTouchEnd: function (a) { this.onEnd(a.stageX, a.stageY, a.touchPointID); }, onMouseDown: function (a) { this.onBegin(a.stageX, a.stageY, 0); }, onMouseMove: function (a) { this.onMove(a.stageX, a.stageY, 0); }, onMouseUp: function (a) { this.onEnd(a.stageX, a.stageY, 0); }, onBegin: function (a, b, d) { if (-1 == this.joystickTouchID) if ( ((a /= h.screenScaleX), (b /= h.screenScaleY), this.outerImage.set_alpha(this.outerAlphaWhenPressed), this.innerImage.set_alpha(this.innerAlphaWhenPressed), this.joystickType == Ma.fixedCenter) ) { var e = Math.sqrt( Math.pow(this.center.x + Ma.viewOffsetX - a, 2) + Math.pow(this.center.y + Ma.viewOffsetY - b, 2) ), c = Math.atan2( this.center.y + Ma.viewOffsetY - b, this.center.x + Ma.viewOffsetX - a ); e > this.outerRadius || (e > this.outerRadius - this.innerRadius ? ((e = this.outerRadius - this.innerRadius), this.innerImage.set_x( this.center.x - Math.cos(c) * (this.outerRadius - this.innerRadius) - 0.5 * this.innerImage.get_width() ), this.innerImage.set_y( this.center.y - Math.sin(c) * (this.outerRadius - this.innerRadius) - 0.5 * this.innerImage.get_height() )) : (this.innerImage.set_x(a - Ma.viewOffsetX - 0.5 * this.innerImage.get_width()), this.innerImage.set_y(b - Ma.viewOffsetY - 0.5 * this.innerImage.get_height())), (this.isPressed = !0), (this.joystickTouchID = d), (this.joystickDistance = e / (this.outerRadius - this.innerRadius)), (this.joystickDirection = (180 * c) / 3.1415926535 + 180)); } else this.joystickType != Ma.showWherePressed || a < this.joystickBounds.x || a > this.joystickBounds.x + this.joystickBounds.width || b < this.joystickBounds.y || b > this.joystickBounds.y + this.joystickBounds.height || ((this.isPressed = !0), (this.center.x = a - Ma.viewOffsetX), (this.center.y = b - Ma.viewOffsetY), this.outerImage.set_x(this.center.x - 0.5 * this.outerImage.get_width()), this.outerImage.set_y(this.center.y - 0.5 * this.outerImage.get_height()), this.innerImage.set_x(this.center.x - 0.5 * this.innerImage.get_width()), this.innerImage.set_y(this.center.y - 0.5 * this.innerImage.get_height()), this.hideWhenReleased && (this.outerImage.set_visible(!0), this.innerImage.set_visible(!0)), (this.joystickTouchID = d)); }, onMove: function (a, b, d) { if (d == this.joystickTouchID) { a /= h.screenScaleX; b /= h.screenScaleY; d = Math.sqrt( Math.pow(this.center.x + Ma.viewOffsetX - a, 2) + Math.pow(this.center.y + Ma.viewOffsetY - b, 2) ); var e = Math.atan2( this.center.y + Ma.viewOffsetY - b, this.center.x + Ma.viewOffsetX - a ); d > this.outerRadius - this.innerRadius ? ((d = this.outerRadius - this.innerRadius), this.innerImage.set_x( this.center.x - Math.cos(e) * (this.outerRadius - this.innerRadius) - 0.5 * this.innerImage.get_width() ), this.innerImage.set_y( this.center.y - Math.sin(e) * (this.outerRadius - this.innerRadius) - 0.5 * this.innerImage.get_height() )) : (this.innerImage.set_x(a - Ma.viewOffsetX - 0.5 * this.innerImage.get_width()), this.innerImage.set_y(b - Ma.viewOffsetY - 0.5 * this.innerImage.get_height())); this.joystickDistance = d / (this.outerRadius - this.innerRadius); this.joystickDirection = (180 * e) / 3.1415926535 + 180; } }, onEnd: function (a, b, d) { d == this.joystickTouchID && ((this.joystickTouchID = -1), (this.isPressed = !1), this.outerImage.set_alpha(this.outerAlphaWhenReleased), this.innerImage.set_alpha(this.innerAlphaWhenReleased), (a = this.outerImage.get_x()), (this.center.x = a + this.outerRadius), (a = this.outerImage.get_y()), (this.center.y = a + this.outerRadius), this.innerImage.set_x(this.center.x - 0.5 * this.innerImage.get_width()), this.innerImage.set_y(this.center.y - 0.5 * this.innerImage.get_height()), this.hideWhenReleased && (this.outerImage.set_visible(!1), this.innerImage.set_visible(!1)), (this.joystickDistance = 0), (this.joystickDirection = this.joystickDefaultDirection)); }, __class__: Ma }); var Kn = { _new: function (a) { return a; }, fromInt: function (a) { return Kn._new(a); }, fromString: function (a) { switch (a) { case 'MINIMAL_PHYSICS': return 2; case 'NORMAL_PHYSICS': return 0; case 'SIMPLE_PHYSICS': return 1; default: return 0; } }, toString: function (a) { switch (a) { case 0: return 'NORMAL_PHYSICS'; case 1: return 'SIMPLE_PHYSICS'; case 2: return 'MINIMAL_PHYSICS'; default: return 'NORMAL_PHYSICS'; } } }, pd = function (a, b, d, e, c) { vb.call( this, a, -1, -2, b, d, -1, h.NO_PHYSICS ? c.width : 1, h.NO_PHYSICS ? c.height : 1, null, null, null, null, !1, !1, !1, !1, h.NO_PHYSICS ? null : e[0], h.NO_PHYSICS ); this.isRegion = this.alwaysSimulate = !0; this.solid = this.isTerrainRegion = !1; this.set_name('Region'); this.simpleBounds = c; this.copy = e[0]; this.containedActors = new Ya(); this.whenActorEntered = new Fc(); this.whenActorExited = new Fc(); this.justAdded = []; this.justRemoved = []; h.NO_PHYSICS || (this.body.setSleepingAllowed(!0), this.body.setAwake(!1), this.body.setIgnoreGravity(!0)); a = 0; var f = 0; if (h.NO_PHYSICS) { var l = c.width; c = c.height; this.cacheWidth = this.originalWidth = this.regionWidth = Math.round(Math.abs(a - l)); this.cacheHeight = this.originalHeight = this.regionHeight = Math.round(Math.abs(f - c)); this.currOffset.x = -(this.cacheWidth / 2); this.currOffset.y = -(this.cacheHeight / 2); this.resetReal(b, d); } else if (e[0] instanceof Eb) { this.isCircle = !1; b = new Ue(); b.setIdentity(); d = new ja(); w.__cast(e[0], Eb).computeAABB(d, b); a = d.lowerBound.x; l = d.upperBound.x; f = d.lowerBound.y; c = d.upperBound.y; for (var q = 0, y = e.length; q < y; ) { var r = q++, k = new Hf(); k.isSensor = !0; k.userData = this; k.shape = e[r]; k.friction = 1; k.density = 0.1; k.restitution = 0; k.groupID = -1e3; this.body.createFixture(k); w.__cast(e[r], Eb).computeAABB(d, b); a = Math.min(a, d.lowerBound.x); l = Math.max(l, d.upperBound.x); f = Math.min(f, d.lowerBound.y); c = Math.max(c, d.upperBound.y); } this.cacheWidth = this.originalWidth = this.regionWidth = Math.round(h.toPixelUnits(Math.abs(a - l))); this.cacheHeight = this.originalHeight = this.regionHeight = Math.round(h.toPixelUnits(Math.abs(f - c))); } else e[0] instanceof Lc && ((this.isCircle = !0), (this.cacheWidth = this.originalWidth = this.regionWidth = h.toPixelUnits(2 * w.__cast(e[0], Lc).m_radius)), (this.cacheHeight = this.originalHeight = this.regionHeight = h.toPixelUnits(2 * w.__cast(e[0], Lc).m_radius))); }; k['com.stencyl.models.Region'] = pd; pd.__name__ = 'com.stencyl.models.Region'; pd.__super__ = vb; pd.prototype = t(vb.prototype, { isCircle: null, containedActors: null, copy: null, simpleBounds: null, regionWidth: null, regionHeight: null, originalWidth: null, originalHeight: null, whenActorEntered: null, whenActorExited: null, justAdded: null, justRemoved: null, containsActor: function (a) { return null != a ? this.containedActors.h.hasOwnProperty(a.ID) : !1; }, getContainedActors: function () { return this.containedActors; }, addActor: function (a) { if (null != a && -1 != a.ID && !this.containedActors.h.hasOwnProperty(a.ID)) { this.containedActors.h[a.ID] = a.ID; var b = W.indexOf(this.justRemoved, a); -1 == b ? this.justAdded.push(a) : this.justRemoved.splice(b, 1); } }, removeActor: function (a) { null != a && -1 != a.ID && -1 == W.indexOf(this.justRemoved, a) && (this.containedActors.remove(a.ID), this.justRemoved.push(a)); }, follow: function (a) { var b = a.realY + a.cacheHeight / 2; this.setX(a.realX + a.cacheWidth / 2); this.setY(b); }, resetSize: function () { this.setRegionSize(this.originalWidth, this.originalHeight); }, setRegionDiameter: function (a) { this.setRegionSize(a, a); }, setRegionSize: function (a, b) { var d = this.regionWidth, e = this.regionHeight; a = h.toPhysicalUnits(a); b = h.toPhysicalUnits(b); if (this.isCircle) { var c = new Lc(); c.m_radius = a / 2; } else (c = new Eb()), c.setAsBox(a / 2, b / 2); var g = new Hf(); g.isSensor = !0; g.userData = this; g.shape = c; g.groupID = -1e3; if (null != this.body && null != this.body.getFixtureList()) { for (; 0 < this.body.m_fixtureCount; ) this.body.DestroyFixture(this.body.getFixtureList()); this.body.createFixture(g); this.cacheWidth = this.regionWidth = h.toPixelUnits(a); this.cacheHeight = this.regionHeight = h.toPixelUnits(b); } a = this.regionWidth - d; e = this.regionHeight - e; this.setLocation(this.getX() + a / 2, this.getY() + e / 2); }, setLocation: function (a, b) { this.setX(a + this.regionWidth / 2); this.setY(b + this.regionHeight / 2); }, getWidth: function () { return this.regionWidth; }, getHeight: function () { return this.regionHeight; }, isMouseOver: function () { var a = (E.mouseX + h.cameraX) / h.SCALE, b = (E.mouseY + h.cameraY) / h.SCALE, d = this.getX(), e = this.getY(); return a >= d && b >= e && a < d + this.regionWidth ? b < e + this.regionHeight : !1; }, innerUpdate: function (a, b) { this.clearCollisionInfoList(); if (h.NO_PHYSICS) for (a = this.containedActors.iterator(); a.hasNext(); ) (b = a.next()), (b = h.engine.getActor(b)), null == this.HITBOX || null == b || this.HITBOX.collide(b.HITBOX) || this.removeActor(b); for (; null != this.justAdded && 0 < this.justAdded.length; ) if (((b = w.__cast(this.justAdded.pop(), vb)), 0 < this.whenActorEntered.length)) for ( this.whenActorEntered._dispatchIndex = 0; this.whenActorEntered._dispatchIndex < this.whenActorEntered.length; ) { try { this.whenActorEntered.listeners[this.whenActorEntered._dispatchIndex](b); } catch (d) { if (((ka.lastError = d), 'string' != typeof J.caught(d).unwrap())) throw d; } ++this.whenActorEntered._dispatchIndex; } for (; null != this.justRemoved && 0 < this.justRemoved.length; ) if (((b = w.__cast(this.justRemoved.pop(), vb)), 0 < this.whenActorExited.length)) for ( this.whenActorExited._dispatchIndex = 0; this.whenActorExited._dispatchIndex < this.whenActorExited.length; ) { try { this.whenActorExited.listeners[this.whenActorExited._dispatchIndex](b); } catch (d) { if (((ka.lastError = d), 'string' != typeof J.caught(d).unwrap())) throw d; } ++this.whenActorExited._dispatchIndex; } if (null != this.whenMousedOver && 0 < this.whenMousedOver.length) if (this.isMouseOver()) { if (0 >= this.mouseState) { if (((this.mouseState = 1), 0 < this.whenMousedOver.length)) for ( this.whenMousedOver._dispatchIndex = 0; this.whenMousedOver._dispatchIndex < this.whenMousedOver.length; ) { try { this.whenMousedOver.listeners[this.whenMousedOver._dispatchIndex]( this.mouseState ); } catch (d) { if (((ka.lastError = d), 'string' != typeof J.caught(d).unwrap())) throw d; } ++this.whenMousedOver._dispatchIndex; } } else this.mouseState = 2; if (E.mousePressed) { if (((this.mouseState = 3), 0 < this.whenMousedOver.length)) for ( this.whenMousedOver._dispatchIndex = 0; this.whenMousedOver._dispatchIndex < this.whenMousedOver.length; ) { try { this.whenMousedOver.listeners[this.whenMousedOver._dispatchIndex]( this.mouseState ); } catch (d) { if (((ka.lastError = d), 'string' != typeof J.caught(d).unwrap())) throw d; } ++this.whenMousedOver._dispatchIndex; } } else if (E.mouseDown && ((this.mouseState = 4), 0 < this.whenMousedOver.length)) for ( this.whenMousedOver._dispatchIndex = 0; this.whenMousedOver._dispatchIndex < this.whenMousedOver.length; ) { try { this.whenMousedOver.listeners[this.whenMousedOver._dispatchIndex]( this.mouseState ); } catch (d) { if (((ka.lastError = d), 'string' != typeof J.caught(d).unwrap())) throw d; } ++this.whenMousedOver._dispatchIndex; } if (E.mouseReleased && ((this.mouseState = 5), 0 < this.whenMousedOver.length)) for ( this.whenMousedOver._dispatchIndex = 0; this.whenMousedOver._dispatchIndex < this.whenMousedOver.length; ) { try { this.whenMousedOver.listeners[this.whenMousedOver._dispatchIndex]( this.mouseState ); } catch (d) { if (((ka.lastError = d), 'string' != typeof J.caught(d).unwrap())) throw d; } ++this.whenMousedOver._dispatchIndex; } } else if (0 < this.mouseState) { if (((this.mouseState = -1), 0 < this.whenMousedOver.length)) for ( this.whenMousedOver._dispatchIndex = 0; this.whenMousedOver._dispatchIndex < this.whenMousedOver.length; ) { try { this.whenMousedOver.listeners[this.whenMousedOver._dispatchIndex]( this.mouseState ); } catch (d) { if (((ka.lastError = d), 'string' != typeof J.caught(d).unwrap())) throw d; } ++this.whenMousedOver._dispatchIndex; } } else -1 == this.mouseState && (this.mouseState = 0); }, __class__: pd }); var gl = function (a, b) { this.currW = this.currH = 0; this.ID = a; this.name = b; }; k['com.stencyl.models.Scene'] = gl; gl.__name__ = 'com.stencyl.models.Scene'; gl.prototype = { ID: null, name: null, sceneWidth: null, sceneHeight: null, tileWidth: null, tileHeight: null, gravityX: null, gravityY: null, eventID: null, colorBackground: null, layers: null, actors: null, behaviorValues: null, atlases: null, retainsAtlases: null, wireframes: null, joints: null, regions: null, terrainRegions: null, animatedTiles: null, load: function () { var a = new Rg(ff.get(), !1, !0); a.readData(Bb.toBytes(Da.getBytes('assets/data/scene-' + this.ID + '.mbs'))); a = a.getRoot(); var b = a.getDepth(); this.sceneWidth = a.getWidth(); this.sceneHeight = a.getHeight(); this.tileWidth = a.getTileWidth(); this.tileHeight = a.getTileHeight(); this.gravityX = a.getGravityX(); this.gravityY = a.getGravityY(); this.animatedTiles = []; this.actors = this.readActors(a.getActorInstances()); this.behaviorValues = te.readBehaviors(a.getSnippets()); var d = a.getEventSnippetID(); if (-1 < d) { var e = this.behaviorValues, c = new Gj(d, new qa()); e.h['' + d] = c; } this.joints = this.readJoints(a.getJoints()); this.regions = this.readRegions(a.getRegions()); this.terrainRegions = this.readTerrainRegions(a.getTerrainRegions()); this.wireframes = this.readWireframes(a.getTerrain()); d = Da.getBytes('assets/data/scene-' + this.ID + '.scn'); d.__endian = 0; b = this.readRawLayers(d, b); this.layers = this.readAllLayers(a.getLayers(), b); this.atlases = (this.retainsAtlases = a.getRetainAtlases()) ? [] : this.readAtlases(a.getAtlasMembers()); }, unload: function () { this.animatedTiles = this.terrainRegions = this.regions = this.joints = this.wireframes = this.layers = this.behaviorValues = this.actors = this.colorBackground = null; }, readRegions: function (a) { for (var b = new Ya(), d = 0, e = a.length(); d < e; ) { d++; var c = this.readRegion(a.getNextObject()); b.h[c.ID] = c; } return b; }, readRegion: function (a) { var b = a.getId(), d = a.getName(), e = a.getX(), c = a.getY(); this.shapeList = []; var g = a.getShape(); if (g instanceof rd) { a = this.currW = g.getWidth(); var l = (this.currH = g.getHeight()); g = g.getPoints(); h.NO_PHYSICS ? (b = new zi(this.shapeList, b, d, e, c, 0, new ea(0, 0, a, l))) : ((a = wd.readPoints(g).slice(0)), new Ac(a).decompose(m(this, this.addPolygonRegion)), (b = new zi(this.shapeList, b, d, e, c))); } else (l = g.getRadius()), h.NO_PHYSICS ? (b = new zi(this.shapeList, b, d, e, c, 0, new ea(0, 0, 2 * l, 2 * l))) : ((a = new Lc()), (a.m_radius = h.toPhysicalUnits(l)), (this.shapeList[0] = a), (b = new zi(this.shapeList, b, d, e, c))); return b; }, shapeList: null, currW: null, currH: null, addPolygonRegion: function (a) { a = w.__cast(wd.createPolygon('MbsPolyRegion', a.points, this.currW, this.currH), Eb); this.shapeList.push(a); }, addPolygonTerrain: function (a) { a = w.__cast(wd.createPolygon('MbsPolyRegion', a.points, this.currW, this.currH), Eb); this.shapeList.push(a); }, readTerrainRegions: function (a) { for (var b = new Ya(), d = 0, e = a.length(); d < e; ) { d++; var c = this.readTerrainRegion(a.getNextObject()); b.h[c.ID] = c; } return b; }, readTerrainRegion: function (a) { var b = a.getId(), d = a.getName(), e = a.getGroupID(), c = h.toPhysicalUnits(a.getX()), g = h.toPhysicalUnits(a.getY()), l = a.getColor(); this.shapeList = []; a = a.getShape(); if (a instanceof rd) (this.currW = a.getWidth()), (this.currH = a.getHeight()), (a = wd.readPoints(a.getPoints()).slice(0)), new Ac(a).decompose(m(this, this.addPolygonTerrain)); else { var q = a.getRadius(); a = new Lc(); a.m_radius = h.toPhysicalUnits(q); this.shapeList[0] = a; } return new lo(this.shapeList, b, d, c, g, e, l); }, readJoints: function (a) { for (var b = new Ya(), d = 0, e = a.length(); d < e; ) { d++; var c = this.readJoint(a.readObject()); b.h[c.ID] = c; } return b; }, readJoint: function (a) { var b = a.getId(), d = a.getActor1(), e = a.getActor2(), c = a.getCollide(); if (a instanceof Dd) { var g = new Lh(); g.ID = b; g.actor1 = d; g.actor2 = e; g.localAnchorA = null; g.localAnchorB = null; g.collideConnected = c; g.dampingRatio = a.getDamping(); g.frequencyHz = a.getFrequency(); return g; } return a instanceof fc ? ((g = new Mh()), (g.ID = b), (g.actor1 = d), (g.actor2 = e), (g.localAnchorA = null), (g.localAnchorB = null), (g.collideConnected = c), (g.enableLimit = a.getLimit()), (g.enableMotor = a.getMotor()), (g.lowerAngle = a.getLower()), (g.upperAngle = a.getUpper()), (g.maxMotorTorque = a.getTorque()), (g.motorSpeed = a.getSpeed()), g) : a instanceof Pb ? ((g = new Nh()), (g.ID = b), (g.actor1 = d), (g.actor2 = e), (g.localAnchorA = null), (g.localAnchorB = null), (g.collideConnected = c), (g.enableLimit = a.getLimit()), (g.enableMotor = a.getMotor()), (g.lowerTranslation = a.getLower()), (g.upperTranslation = a.getUpper()), (g.maxMotorForce = a.getForce()), (g.motorSpeed = a.getSpeed()), (g.localAxisA.x = a.getX()), (g.localAxisA.y = a.getY()), g) : null; }, readAllLayers: function (a, b) { var d = new xe(16); d.reuseIterator = !0; for (var e = 0, c = a.length(); e < c; ) { e++; var g = a.readObject(); if (g instanceof ee || g instanceof Bd) this.colorBackground = this.readColorBackground(g); else { var l = g, q = l.getId(), y = l.getName(), h = l.getOrder(), k = l.getScrollFactorX(), p = l.getScrollFactorY(), n = l.getOpacity() / 100; l = dl.get(l.getBlendmode()); if (g instanceof fe) { var u = b.mH; g = u.mHash[(73856093 * q) & u.mMask]; if (-1 == g) g = -2147483648; else if (((u = u.mData), u[g] == q)) g = u[g + 1]; else { var m = -2147483648; for (g = u[g + 2]; -1 != g; ) { if (u[g] == q) { m = u[g + 1]; break; } g = u[g + 2]; } g = m; } g = -2147483648 == g ? null : b.mVals[g]; null == g && (g = new me( q, this, Math.floor(this.sceneWidth / this.tileWidth) | 0, Math.floor(this.sceneHeight / this.tileHeight) | 0 )); g.set_name(y); q = new Ec(q, y, h, k, p, n, l, g); d.set(q.ID, q); } else g instanceof Cd && ((u = g), (g = u.getResourceID()), (u = u.getCustomScroll()), (q = new Wd(q, y, h, k, p, n, l, g, u)), d.set(q.ID, q)); } } return d; }, readColorBackground: function (a) { if (a instanceof ee) { var b = a.getColor(); return new Jf(b); } return a instanceof Bd ? ((b = a.getColor1()), (a = a.getColor2()), new vi(b, a)) : null; }, readRawLayers: function (a, b) { var d = new xe(16); d.reuseIterator = !0; var e = []; if (null != a) { for (var c = 0, g = b; c < g; ) { var l = c++; e[l] = a.readInt(); } c = 0; for (g = b; c < g; ) (l = c++), (b = this.readRawLayer(a, e[l])), d.set(b.layerID, b); } return d; }, readRawLayer: function (a, b) { var d = Math.floor(this.sceneWidth / this.tileWidth) | 0, e = Math.floor(this.sceneHeight / this.tileHeight) | 0, c = a.readInt(); b -= 4; a.readInt(); b -= 4; e = new me(c, this, d, e); var g = (c = 0); b = (b / 8) | 0; var l = new hl(this.sceneWidth, this.sceneHeight, this.tileWidth, this.tileHeight); e.grid = l; for (var q = 0; q < b; ) { q++; var y = a.readShort(), h = a.readShort(), k = a.readShort(), p = a.readShort(), n = null; -1 != h && (n = jc.get().resources.get(h)); 0 > y && (y = Math.abs(y + 1) | 0); for (h = 0; h < p; ) { h++; if (null == n || 0 > k) e.setTileAt(c, g, null, !1); else { var u = n.tiles[k]; if (null == u) e.setTileAt(c, g, null, !1); else if ( (e.setTileAt(c, g, u, !1), (e.autotileData[c][g] = y), 0 <= u.collisionID && l.setTile(g, c, !0), 1 < u.durations.length) ) { for ( var m = !1, t = 0, x = this.animatedTiles; t < x.length && !((m = x[t]), ++t, (m = m == u)); ); m || this.animatedTiles.push(u); } } ++g; g >= d && ((g = 0), ++c); } } return e; }, readAtlases: function (a) { for (var b = [], d = 0, e = a.length(); d < e; ) { d++; var c = a.readInt(); ra.get().atlases.h[c].allScenes || b.push(c); } return b; }, readWireframes: function (a) { if (h.NO_PHYSICS) return []; for (var b = [], d = 0, e = a.length(); d < e; ) { d++; var c = a.getNextObject(), g = c.getPosition(); g = new na(g.getX(), g.getY()); c = wd.readPoints(c.getPoints()).slice(0); c = wd.createPolygon('MbsWireframe', c); b.push(new mo(g.x, g.y, c.h[1], c.h[2], c.h[0], null)); } return b; }, readActors: function (a) { for (var b = new Ya(), d = 0, e = a.length(); d < e; ) { d++; var c = this.readActorInstance(a.getNextObject()); null != c && (b.h[c.elementID] = c); } return b; }, readActorInstance: function (a) { var b = a.getAid(), d = a.getX(), e = a.getY(), c = a.getScaleX(), g = a.getScaleY(), l = a.getZ(), q = a.getOrderInLayer(), y = a.getAngle() | 0, h = a.getGroupID(), k = a.getId(), p = a.getCustomized(), n = null; p && (n = te.readBehaviors(a.getSnippets())); if (0 == c || 0 == g) g = c = 1; p || (n = null); if (null == jc.get().resources.get(k)) return null; a = new Xk(b, d, e, c, g, l, q, y, h, k, n, p); null != a.actorType && (a.groupID = a.actorType.groupID); return a; }, getID: function () { return this.ID; }, __class__: gl }; var Oh = function (a, b, d, e, c, g, l, q) { id.call(this, a, b, -1); this.streaming = d; this.looping = e; this.panning = c; this.volume = g; this.ext = l; this.atlasID = q; this.ext = 'ogg'; a = ra.get().atlases.h[q]; null != a && a.active && this.loadGraphics(); }; k['com.stencyl.models.Sound'] = Oh; Oh.__name__ = 'com.stencyl.models.Sound'; Oh.__super__ = id; Oh.prototype = t(id.prototype, { streaming: null, looping: null, panning: null, volume: null, ext: null, src: null, loadGraphics: function () { this.src = Da.getSound( 'assets/' + (this.streaming ? 'music' : 'sfx') + '/sound-' + this.ID + '.' + this.ext, !1 ); }, unloadGraphics: function () { this.streaming || (null != this.src && (this.stopInstances(), this.src.close()), (this.src = null)); }, play: function (a, b) { null == b && (b = 0); this.streaming && null == this.src && (this.src = this.getStreamingSource()); return null == this.src ? null : this.src.play(b); }, loop: function (a, b) { null == b && (b = 0); this.streaming && null == this.src && (this.src = this.getStreamingSource()); return null == this.src ? null : this.src.play(b, 1e8); }, getStreamingSource: function () { return Da.getSound('assets/music/sound-' + this.ID + '.' + this.ext, !1); }, stopInstances: function () { for (var a = 0; 32 > a; ) { var b = a++; b = h.engine.channels[b]; b.currentSource == this.src && b.stopSound(); } }, __class__: Oh }); var Vb = function (a, b) { this.paused = !1; this.currentClip = this.currentSound = null; this.looping = !1; this.volume = 1; this.position = this.panning = 0; this.channelNum = b; this.engine = a; this.transform = new hf(); this.tweenVolume = new ye(); this.tweenVolume.doOnUpdate(m(this, this.tweenUpdated)); }; k['com.stencyl.models.SoundChannel'] = Vb; Vb.__name__ = 'com.stencyl.models.SoundChannel'; Vb.resetStatics = function () { Vb.muted = !1; Vb.masterVolume = 1; }; Vb.prototype = { currentSource: null, currentSound: null, currentClip: null, volume: null, panning: null, channelNum: null, looping: null, paused: null, position: null, engine: null, transform: null, tweenVolume: null, playSound: function (a, b) { null == b && (b = 0); null != this.currentSound && (this.currentSound.stop(), (this.paused = !1)); if (null != a) { a.volume = this.volume * Vb.masterVolume; this.currentClip = a; this.currentSound = a.play(this.channelNum, b); if (null == this.currentSound) return (this.currentClip = null); this.setVolume(this.volume); this.setPanning(this.panning); this.currentSound.addEventListener('soundComplete', m(this, this.stopped)); } null != a && (this.currentSource = a.src); this.looping = !1; return this.currentSound; }, loopSound: function (a, b) { null == b && (b = 0); null != this.currentSound && this.currentSound.stop(); if (null != a) { a.volume = this.volume * Vb.masterVolume; this.currentClip = a; this.currentSound = a.play(this.channelNum, b); if (null == this.currentSound) return (this.currentClip = null); this.setVolume(this.volume); this.setPanning(this.panning); this.currentSound.addEventListener('soundComplete', m(this, this.looped)); } null != a && (this.currentSource = a.src); this.looping = !0; return this.currentSound; }, setPause: function (a) { null != this.currentSound && (a ? (this.currentSound.removeEventListener('soundComplete', m(this, this.looped)), (this.position = this.currentSound.get_position()), this.currentSound.stop(), (this.paused = !0)) : null != this.currentSource && this.paused && ((this.currentSound = this.currentClip.play(this.channelNum, this.position)), this.currentSound.set_soundTransform(this.transform), this.currentSound.addEventListener('soundComplete', m(this, this.stopped)), this.looping && this.currentSound.addEventListener('soundComplete', m(this, this.looped)), (this.paused = !1))); }, looped: function (a) { null != this.currentSound && this.currentSound.removeEventListener('soundComplete', m(this, this.looped)); this.loopSound(this.currentClip); }, stopped: function (a) { null != this.currentSound && this.currentSound.removeEventListener('soundComplete', m(this, this.stopped)); h.engine.soundFinished(this.channelNum); }, stopSound: function () { null != this.currentSound && (this.currentSound.stop(), (this.position = 0), (this.currentSound = this.currentSource = null), (this.paused = !1)); }, tweenUpdated: function () { this.setVolume(this.tweenVolume.value); }, fadeInSound: function (a) { null != this.currentSound && this.tweenVolume.tween(this.transform.volume, 1, v.linear, (1e3 * a) | 0); }, fadeOutSound: function (a) { null != this.currentSound && this.tweenVolume.tween(this.transform.volume, 0, v.linear, (1e3 * a) | 0); }, fadeSound: function (a, b) { null != this.currentSound && this.tweenVolume.tween(this.transform.volume, b, v.linear, (1e3 * a) | 0); }, setVolume: function (a) { this.volume = a; null != this.currentSound && ((this.transform.volume = a * Vb.masterVolume), this.currentSound.set_soundTransform(this.transform)); }, setPanning: function (a) { this.panning = a; null != this.currentSound && ((this.transform.pan = a), this.currentSound.set_soundTransform(this.transform)); }, __class__: Vb }; var Og = function (a, b, d, e, c, g) { null == g && (g = 0); vb.call(this, a, -1, c, b, d, -1, 1, 1, null, null, null, null, !1, !0, !1, !1, e[0]); 0 == g && ((d = b = a = 0), null == d && (d = 0), null == b && (b = 0), null == a && (a = 0), (g = (a << 16) | (b << 8) | d)); this.fillColor = g; this.alwaysSimulate = !0; this.isRegion = !1; this.isTerrainRegion = !0; this.copy = e[0]; this.body.setSleepingAllowed(!0); this.body.setAwake(!1); this.body.setIgnoreGravity(!0); if (e[0] instanceof Eb) { this.isCircle = !1; var f = new Ue(); f.setIdentity(); var q = new ja(); w.__cast(e[0], Eb).computeAABB(q, f); a = q.lowerBound.x; b = q.upperBound.x; d = q.lowerBound.y; g = q.upperBound.y; for (var y = 0, r = e.length; y < r; ) { var k = y++, p = new Hf(); p.isSensor = !1; p.userData = this; p.shape = e[k]; p.friction = 1; p.density = 0.1; p.restitution = 0; p.groupID = c; this.body.createFixture(p); w.__cast(e[k], Eb).computeAABB(q, f); a = Math.min(a, q.lowerBound.x); b = Math.max(b, q.upperBound.x); d = Math.min(d, q.lowerBound.y); g = Math.max(g, q.upperBound.y); } this.originalWidth = this.regionWidth = Math.round(h.toPixelUnits(Math.abs(a - b))); this.originalHeight = this.regionHeight = Math.round(h.toPixelUnits(Math.abs(d - g))); } else e[0] instanceof Lc && ((this.isCircle = !0), (this.originalWidth = this.regionWidth = h.toPixelUnits(2 * w.__cast(e[0], Lc).m_radius)), (this.originalHeight = this.regionHeight = h.toPixelUnits(2 * w.__cast(e[0], Lc).m_radius))); }; k['com.stencyl.models.Terrain'] = Og; Og.__name__ = 'com.stencyl.models.Terrain'; Og.__super__ = vb; Og.prototype = t(vb.prototype, { isCircle: null, fillColor: null, copy: null, originalWidth: null, originalHeight: null, regionWidth: null, regionHeight: null, follow: function (a) { var b = a.realY + a.cacheHeight / 2; this.setX(a.realX + a.cacheWidth / 2); this.setY(b); }, resetSize: function () { this.setRegionSize(this.originalWidth, this.originalHeight); }, setRegionDiameter: function (a) { this.setRegionSize(a, a); }, setRegionSize: function (a, b) { var d = this.regionWidth, e = this.regionHeight; a = h.toPhysicalUnits(a); b = h.toPhysicalUnits(b); if (this.isCircle) { var c = new Lc(); c.m_radius = a / 2; } else (c = new Eb()), c.setAsBox(a / 2, b / 2); var g = new Hf(); g.isSensor = !0; g.userData = this; g.shape = c; if (null != this.body && null != this.body.getFixtureList()) { for (; 0 < this.body.m_fixtureCount; ) this.body.DestroyFixture(this.body.getFixtureList()); this.body.createFixture(g); this.regionWidth = h.toPixelUnits(a); this.regionHeight = h.toPixelUnits(b); } a = this.regionWidth - d; e = this.regionHeight - e; this.setLocation(this.getX() + a / 2, this.getY() + e / 2); }, setLocation: function (a, b) { this.setX(a + this.regionWidth / 2); this.setY(b + this.regionHeight / 2); }, getWidth: function () { return this.regionWidth; }, getHeight: function () { return this.regionHeight; }, getFillColor: function () { return this.fillColor; }, __class__: Og }); var ho = function () { this.xy = new Kf(); this.angle = new ye(); this.alpha = new ye(); this.realScaleXY = new Kf(); }; k['com.stencyl.models.actor.ActorTweenProperties'] = ho; ho.__name__ = 'com.stencyl.models.actor.ActorTweenProperties'; ho.prototype = { xy: null, angle: null, alpha: null, realScaleXY: null, pause: function () { this.xy.paused = !0; this.angle.paused = !0; this.alpha.paused = !0; this.realScaleXY.paused = !0; }, unpause: function () { this.xy.paused = !1; this.angle.paused = !1; this.alpha.paused = !1; this.realScaleXY.paused = !1; }, cancel: function () { this.xy.active && kb.cancel(this.xy); this.angle.active && kb.cancel(this.angle); this.alpha.active && kb.cancel(this.alpha); this.realScaleXY.active && kb.cancel(this.realScaleXY); }, __class__: ho }; var cg = function (a, b, d, e, c, g, l, q, y, h, k) { id.call(this, a, d, b); this.groupID = e; this.spriteID = c; this.behaviorValues = g; this.bodyDef = l; this.physicsMode = q; this.autoScale = y; this.pausable = h; this.ignoreGravity = k; }; k['com.stencyl.models.actor.ActorType'] = cg; cg.__name__ = 'com.stencyl.models.actor.ActorType'; cg.__super__ = id; cg.prototype = t(id.prototype, { groupID: null, spriteID: null, behaviorValues: null, bodyDef: null, physicsMode: null, autoScale: null, pausable: null, ignoreGravity: null, toString: function () { return this.name; }, loadGraphics: function () { jc.get().resources.get(this.spriteID).loadGraphics(); }, unloadGraphics: function () { jc.get().resources.get(this.spriteID).unloadGraphics(); }, __class__: cg }); var se = function (a, b, d, e, c, g, l, q, y, h, k, p, n, u, m) { this.sharedTimer = this.sharedFrameIndex = 0; this.animID = a; this.animName = b; this.parent = d; this.simpleShapes = e; this.physicsShapes = c; this.looping = g; this.sync = l; this.durations = p; null == se.UNLOADED && (se.UNLOADED = new la(1, 1)); a = []; for (b = 0; b < n; ) b++, a.push(se.UNLOADED); this.frames = a; this.frameWidth = (q / u) | 0; this.frameHeight = (y / m) | 0; this.imgWidth = q; this.imgHeight = y; this.frameCount = n; this.framesAcross = u; this.framesDown = m; this.originX = h; this.originY = k; null == d ? (this.frames = [se.UNLOADED]) : ((d = ra.get().atlases.h[d.atlasID]), null != d && d.active && this.loadGraphics(), 1 < n && g && se.allAnimations.push(this)); }; k['com.stencyl.models.actor.Animation'] = se; se.__name__ = 'com.stencyl.models.actor.Animation'; se.resetStatics = function () { se.allAnimations = []; }; se.updateAll = function (a) { for (var b = 0, d = se.allAnimations; b < d.length; ) { var e = d[b]; ++b; e.sharedTimer += a; 1 < e.frameCount && e.sharedTimer > e.durations[e.sharedFrameIndex] && ((e.sharedTimer -= e.durations[e.sharedFrameIndex]), e.sharedFrameIndex++, e.sharedFrameIndex >= e.frameCount && (e.looping ? (e.sharedFrameIndex = 0) : e.sharedFrameIndex--)); } }; se.prototype = { animID: null, animName: null, parent: null, simpleShapes: null, physicsShapes: null, looping: null, sync: null, durations: null, frames: null, frameWidth: null, frameHeight: null, originX: null, originY: null, sharedTimer: null, sharedFrameIndex: null, imgWidth: null, imgHeight: null, frameCount: null, framesAcross: null, framesDown: null, graphicsLoaded: null, loadGraphics: function () { if (!this.graphicsLoaded) { var a = Da.getBitmapData( 'assets/graphics/' + h.IMG_BASE + '/sprite-' + this.parent.ID + '-' + this.animID + '.png', !1 ); null == a.rect && (a = null); if (null == a) { var b = [], d = 0; for (a = this.frameCount; d < a; ) d++, b.push(se.UNLOADED); this.frames = b; } else { if (1 == this.frameCount) this.frames[0] = a; else { var e = (this.frameWidth * h.SCALE) | 0, c = (this.frameHeight * h.SCALE) | 0, g = new na(0, 0); b = 0; for (d = this.frameCount; b < d; ) { var l = b++; var q = new ea( (l % this.framesAcross) * e, Math.floor(l / this.framesAcross) * c, e, c ), y = new la(e, c, !0, 0); y.copyPixels(a, q, g); this.frames[l] = y; } a.dispose(); } if (ba.disposeImages && null != this.parent && !this.parent.readableImages) for (b = 0, d = this.frames; b < d.length; ) (a = d[b]), ++b, fd.uploadTexture(a, !0); this.graphicsLoaded = !0; } } }, unloadGraphics: function () { if (this.graphicsLoaded) { for (var a = 0, b = this.frameCount; a < b; ) { var d = a++; this.frames[d].readable && this.frames[d].dispose(); this.frames[d] = se.UNLOADED; } this.graphicsLoaded = !1; } }, checkImageReadable: function () { return this.frames[0].readable ? !0 : !1; }, update: function (a) { this.sharedTimer += a; 1 < this.frameCount && this.sharedTimer > this.durations[this.sharedFrameIndex] && ((this.sharedTimer -= this.durations[this.sharedFrameIndex]), this.sharedFrameIndex++, this.sharedFrameIndex >= this.frameCount && (this.looping ? (this.sharedFrameIndex = 0) : this.sharedFrameIndex--)); }, __class__: se }; var uc = function () { this.points = []; this.bounds = new ea(); this.clear(); }; k['com.stencyl.models.actor.Collision'] = uc; uc.__name__ = 'com.stencyl.models.actor.Collision'; uc.resetStatics = function () { uc.recycledCollisions = []; uc.collisionResponses = new Ya(); }; uc.addResponse = function (a, b, d) { var e = -1, c = -1; a instanceof cg ? (e = a.groupID) : a instanceof dg && (e = a.ID); b instanceof cg ? (c = b.groupID) : b instanceof dg && (c = b.ID); null == uc.collisionResponses.h[e] && ((a = uc.collisionResponses), (b = new Ya()), (a.h[e] = b)); null == uc.collisionResponses.h[c] && ((a = uc.collisionResponses), (b = new Ya()), (a.h[c] = b)); uc.collisionResponses.h[e].h[c] = d; uc.collisionResponses.h[c].h[e] = d; }; uc.preSolve = function (a, b) { b = a.getFixtureA().getBody().groupID; var d = a.getFixtureB().getBody().groupID; null != uc.collisionResponses.h[b] && 'sensor' == uc.collisionResponses.h[b].h[d] && a.setEnabled(!1); }; uc.get = function () { return 0 < uc.recycledCollisions.length ? uc.recycledCollisions.pop() : new uc(); }; uc.recycle = function (a) { a.clear(); uc.recycledCollisions.push(a); }; uc.prototype = { thisFromTop: null, thisFromLeft: null, thisFromBottom: null, thisFromRight: null, thisCollidedWithActor: null, thisCollidedWithTile: null, thisCollidedWithSensor: null, thisCollidedWithTerrain: null, otherFromTop: null, otherFromLeft: null, otherFromBottom: null, otherFromRight: null, otherCollidedWithActor: null, otherCollidedWithTile: null, otherCollidedWithSensor: null, otherCollidedWithTerrain: null, points: null, thisActor: null, otherActor: null, thisShape: null, otherShape: null, actorA: null, actorB: null, maskA: null, maskB: null, groupA: null, groupB: null, bounds: null, useBounds: null, remove: null, solidCollision: null, linkedCollision: null, clear: function () { for (; 0 < this.points.length; ) this.points.pop(); this.remove = this.solidCollision = this.useBounds = this.otherCollidedWithTerrain = this.otherCollidedWithSensor = this.otherCollidedWithTile = this.otherCollidedWithActor = this.otherFromRight = this.otherFromBottom = this.otherFromLeft = this.otherFromTop = this.thisCollidedWithTerrain = this.thisCollidedWithSensor = this.thisCollidedWithTile = this.thisCollidedWithActor = this.thisFromRight = this.thisFromBottom = this.thisFromLeft = this.thisFromTop = !1; this.linkedCollision = this.maskA = this.maskB = this.actorB = this.actorA = this.otherShape = this.thisShape = this.otherActor = this.thisActor = null; this.bounds.setEmpty(); }, switchData: function (a) { if (null == a) return null; a.thisActor = this.otherActor; a.thisShape = this.otherShape; a.thisFromTop = this.otherFromTop; a.thisFromLeft = this.otherFromLeft; a.thisFromBottom = this.otherFromBottom; a.thisFromRight = this.otherFromRight; a.thisCollidedWithActor = this.otherCollidedWithActor; a.thisCollidedWithTile = this.otherCollidedWithTile; a.thisCollidedWithSensor = this.otherCollidedWithSensor; a.thisCollidedWithTerrain = this.otherCollidedWithTerrain; a.otherActor = this.thisActor; a.otherShape = this.thisShape; a.otherFromTop = this.thisFromTop; a.otherFromLeft = this.thisFromLeft; a.otherFromBottom = this.thisFromBottom; a.otherFromRight = this.thisFromRight; a.otherCollidedWithActor = this.thisCollidedWithActor; a.otherCollidedWithTile = this.thisCollidedWithTile; a.otherCollidedWithSensor = this.thisCollidedWithSensor; a.otherCollidedWithTerrain = this.thisCollidedWithTerrain; a.actorA = this.actorA; a.actorB = this.actorB; a.points = this.points; a.useBounds = this.useBounds; a.maskA = this.maskA; a.maskB = this.maskB; a.solidCollision = this.solidCollision; a.groupA = this.groupA; a.groupB = this.groupB; a.linkedCollision = this; return (this.linkedCollision = a); }, __class__: uc }; var Od = function (a, b, d, e) { this.x = a; this.y = b; this.normalX = d; this.normalY = e; }; k['com.stencyl.models.actor.CollisionPoint'] = Od; Od.__name__ = 'com.stencyl.models.actor.CollisionPoint'; Od.resetStatics = function () { Od.freedCollisionPoints = []; }; Od.get = function (a, b, d, e) { if (0 < Od.freedCollisionPoints.length) { var c = Od.freedCollisionPoints.pop(); c.x = a; c.y = b; c.normalX = d; c.normalY = e; return c; } return new Od(a, b, d, e); }; Od.free = function (a) { Od.freedCollisionPoints.push(a); }; Od.prototype = { x: null, y: null, normalX: null, normalY: null, __class__: Od }; var dg = function (a, b) { this.name = b; this.ID = a; this.sID = '[Group ' + a + ',' + b + ']'; this.list = []; }; k['com.stencyl.models.actor.Group'] = dg; dg.__name__ = 'com.stencyl.models.actor.Group'; dg.prototype = { list: null, name: null, ID: null, sID: null, addChild: function (a) { this.list.push(a); }, removeChild: function (a) {}, toString: function () { return this.sID; }, __class__: dg }; var si = function (a, b, d, e, c) { id.call(this, a, d, b); this.defaultAnimation = e; this.readableImages = c; this.animations = new Ya(); }; k['com.stencyl.models.actor.Sprite'] = si; si.__name__ = 'com.stencyl.models.actor.Sprite'; si.__super__ = id; si.prototype = t(id.prototype, { defaultAnimation: null, animations: null, readableImages: null, loadGraphics: function () { for (var a = this.animations.iterator(); a.hasNext(); ) a.next().loadGraphics(); }, unloadGraphics: function () { for (var a = this.animations.iterator(); a.hasNext(); ) a.next().unloadGraphics(); }, reloadGraphics: function (a) { -1 == a ? (this.unloadGraphics(), this.loadGraphics()) : (this.animations.h[a].unloadGraphics(), this.animations.h[a].loadGraphics()); for (var b = h.engine.allActors.iterator(); b.hasNext(); ) { var d = b.next(); null == d || d.dead || d.recycled || (d.type.spriteID == this.ID && d.reloadAnimationGraphics(a)); } }, get_width: function () { var a = this.animations.h[this.defaultAnimation]; return (a.imgWidth / a.framesAcross) | 0; }, get_height: function () { var a = this.animations.h[this.defaultAnimation]; return (a.imgHeight / a.framesDown) | 0; }, __class__: si, __properties__: { get_height: 'get_height', get_width: 'get_width' } }); var Jf = function (a) { id.call(this, 0, 'Color Background', -1); this.bgColor = a; a == Jf.WHITE && (this.bgColor = 16777215); }; k['com.stencyl.models.background.ColorBackground'] = Jf; Jf.__name__ = 'com.stencyl.models.background.ColorBackground'; Jf.__interfaces__ = [Sh]; Jf.__super__ = id; Jf.prototype = t(id.prototype, { bgColor: null, update: function () {}, draw: function (a, b, d, e, c) { this.bgColor != Jf.TRANSPARENT && (a.clear(), a.beginFill(this.bgColor), a.drawRect(0, 0, e, c), a.endFill(), a.drawCircle(1, 1, 1)); }, __class__: Jf }); var vi = function (a, b) { id.call(this, 0, 'Gradient Background', -1); this.topColor = a; this.bottomColor = b; }; k['com.stencyl.models.background.GradientBackground'] = vi; vi.__name__ = 'com.stencyl.models.background.GradientBackground'; vi.__interfaces__ = [Sh]; vi.__super__ = id; vi.prototype = t(id.prototype, { topColor: null, bottomColor: null, update: function () {}, draw: function (a, b, d, e, c) { b = [this.topColor, this.bottomColor]; d = new Ia(); d.createGradientBox(e, c, Math.PI / 2, 0, 0); a.clear(); var f = new la(1, 1); a.beginBitmapFill(f); a.endFill(); a.beginGradientFill(0, b, [100, 100], [0, 255], d, 0); a.drawRect(0, 0, e, c); a.endFill(); }, __class__: vi }); var Ag = function (a, b, d, e, c, g, l) { id.call(this, a, d, b); this.parallaxX = c; this.parallaxY = g; this.durations = e; this.repeats = l; this.currFrame = this.currTime = 0; this.isAtlasActive() && this.loadGraphics(); this.repeated = !1; }; k['com.stencyl.models.background.ImageBackground'] = Ag; Ag.__name__ = 'com.stencyl.models.background.ImageBackground'; Ag.__interfaces__ = [Sh]; Ag.__super__ = id; Ag.prototype = t(id.prototype, { currFrame: null, currTime: null, img: null, frames: null, durations: null, parallaxX: null, parallaxY: null, repeats: null, repeated: null, graphicsLoaded: null, update: function () {}, draw: function (a, b, d, e, c) {}, drawRepeated: function (a, b, d) { a = this.img.width; var e = this.img.height, c = new ea(0, 0, a, e); if (!(a >= b && e >= d)) { a < b && (b += (a | 0) - (b % (a | 0))); e < d && (d += (e | 0) - (d % (e | 0))); var g = new la(Math.max(b, a) | 0, Math.max(d, e) | 0), l = 0; for (d = ((d / e) | 0) + 1; l < d; ) for (var q = l++, y = 0, h = ((b / a) | 0) + 1; y < h; ) { var k = y++; g.copyPixels(this.img, c, new na(k * a, q * e)); } this.img = g; } this.repeated = !0; }, loadGraphics: function () { if (!this.graphicsLoaded) { var a = [], b = this.durations.length; if (0 < b) for (var d = 0; d < b; ) { var e = d++; a.push( Da.getBitmapData( 'assets/graphics/' + h.IMG_BASE + '/background-' + this.ID + '-' + e + '.png', !1 ) ); } else a.push( Da.getBitmapData( 'assets/graphics/' + h.IMG_BASE + '/background-' + this.ID + '-0.png', !1 ) ); this.frames = []; d = 0; for (b = a.length; d < b; ) (e = d++), this.repeats ? ((this.img = a[e]), this.drawRepeated( null, (h.screenWidth * h.SCALE) | 0, (h.screenHeight * h.SCALE) | 0 ), this.frames.push(this.img)) : this.frames.push(a[e]); this.img = this.frames[0]; this.graphicsLoaded = !0; } }, unloadGraphics: function () { if (this.graphicsLoaded) { this.img = new la(1, 1); this.currFrame = 0; this.repeated = !1; this.frames = []; for (var a = 0, b = this.durations; a < b.length; ) ++a, this.frames.push(this.img); this.graphicsLoaded = !1; } }, reloadGraphics: function (a) { id.prototype.reloadGraphics.call(this, a); a = 0; for (var b = h.engine.backgroundLayers; a < b.length; ) { var d = b[a]; ++a; d.model == this && d.reload(d.resourceID); } }, __class__: Ag }); var vh = function (a, b, d, e, c, g, l, q, y) { Ag.call(this, a, b, d, e, c, g, l); this.xVelocity = q; this.yVelocity = y; }; k['com.stencyl.models.background.ScrollingBackground'] = vh; vh.__name__ = 'com.stencyl.models.background.ScrollingBackground'; vh.__interfaces__ = [Sh]; vh.__super__ = Ag; vh.prototype = t(Ag.prototype, { xVelocity: null, yVelocity: null, update: function () {}, draw: function (a, b, d, e, c) {}, __class__: vh }); var Bf = function () { this.reset(); }; k['com.stencyl.models.collision.CollisionInfo'] = Bf; Bf.__name__ = 'com.stencyl.models.collision.CollisionInfo'; Bf.resetStatics = function () { Bf.infoArray = []; }; Bf.getCollisionInfo = function () { return 0 < Bf.infoArray.length ? Bf.infoArray.pop() : new Bf(); }; Bf.recycle = function (a) { Bf.infoArray.push(a); }; Bf.prototype = { max: null, min: null, maskA: null, maskB: null, solidCollision: null, reset: function () { this.max = this.min = 0; this.maskA = this.maskB = null; this.solidCollision = !0; }, __class__: Bf }; var kg = function () { this.collideTypes = []; this.solid = !0; this._class = w.getClass(this).__name__; var a = (this._check = new qa()), b = kg.__name__; a.h[b] = m(this, this.collideMask); a = this._check; b = yi.__name__; a.h[b] = m(this, this.collideMasklist); this.lastBounds = new ea(); this.lastColID = -1; }; k['com.stencyl.models.collision.Mask'] = kg; kg.__name__ = 'com.stencyl.models.collision.Mask'; kg.prototype = { parent: null, groupID: null, list: null, lastBounds: null, lastCheckedMask: null, lastColID: null, solid: null, collideTypes: null, collide: function (a) { if (null == this.parent) throw J.thrown('Mask must be attached to a parent Entity'); var b = this._check.h[a._class]; if (null != b) return b(a); b = a._check.h[this._class]; return null != b ? b(this) : !1; }, collideMask: function (a) { return this.parent.colX + this.parent.cacheWidth > a.parent.colX && this.parent.colY + this.parent.cacheHeight > a.parent.colY && this.parent.colX < a.parent.colX + a.parent.cacheWidth && this.parent.colY < a.parent.colY + a.parent.cacheHeight ? ((this.lastBounds.x = this.parent.colX), (this.lastBounds.y = this.parent.colY), (this.lastBounds.width = this.parent.cacheWidth), (this.lastBounds.height = this.parent.cacheHeight), (this.lastCheckedMask = this), !0) : !1; }, collideMasklist: function (a) { return a.collide(this); }, assignTo: function (a) { this.parent = a; null != a && this.update(); }, debugDraw: function (a, b, d) {}, update: function () {}, projectMask: function (a, b) { var d = -9999999999, e = 9999999999, c = -this.parent.currOffset.x * a.x - this.parent.currOffset.y * a.y; c < e && (e = c); c > d && (d = c); c = (-this.parent.currOffset.x + this.parent.cacheWidth) * a.x - this.parent.currOffset.y * a.y; c < e && (e = c); c > d && (d = c); c = -this.parent.currOffset.x * a.x + (-this.parent.currOffset.y + this.parent.cacheHeight) * a.y; c < e && (e = c); c > d && (d = c); c = (-this.parent.currOffset.x + this.parent.cacheWidth) * a.x + (-this.parent.currOffset.y + this.parent.cacheHeight) * a.y; c < e && (e = c); c > d && (d = c); b.min = e; b.max = d; }, _class: null, _check: null, __class__: kg }; var hd = function (a, b, d, e, c, g) { null == g && (g = 0); null == c && (c = !0); null == e && (e = 0); null == d && (d = 0); null == b && (b = 1); null == a && (a = 1); kg.call(this); this.lastBounds.width = this._width = a; this.lastBounds.height = this._height = b; this._x = d; this._y = e; this.solid = c; this.groupID = g; this._check.h[hd.__name__] = m(this, this.collideHitbox); }; k['com.stencyl.models.collision.Hitbox'] = hd; hd.__name__ = 'com.stencyl.models.collision.Hitbox'; hd.__super__ = kg; hd.prototype = t(kg.prototype, { clone: function () { return new hd(this._width, this._height, this._x, this._y, this.solid, this.groupID); }, collideMask: function (a) { return this.parent.colX + this._x + this._width > a.parent.colX && this.parent.colY + this._y + this._height > a.parent.colY && this.parent.colX + this._x < a.parent.colX + a.parent.cacheWidth && this.parent.colY + this._y < a.parent.colY + a.parent.cacheHeight ? ((this.lastBounds.x = this.parent.colX + this.parent.cacheWidth), (this.lastBounds.y = this.parent.colY + this.parent.cacheHeight), (this.lastBounds.width = this.parent.cacheWidth), (this.lastBounds.height = this.parent.cacheHeight), (this.lastCheckedMask = this), !0) : !1; }, collideHitbox: function (a) { return this.parent.colX + this._x + this._width > a.parent.colX + a._x && this.parent.colY + this._y + this._height > a.parent.colY + a._y && this.parent.colX + this._x < a.parent.colX + a._x + a._width && this.parent.colY + this._y < a.parent.colY + a._y + a._height ? ((this.lastBounds.x = this.parent.colX + this._x), (this.lastBounds.y = this.parent.colY + this._y), (this.lastBounds.width = this._width), (this.lastBounds.height = this._height), (this.lastCheckedMask = this), !0) : !1; }, get_x: function () { return this._x; }, set_x: function (a) { if (this._x == a) return a; this._x = a; null != this.list ? this.list.update() : null != this.parent && this.update(); return this._x; }, get_y: function () { return this._y; }, set_y: function (a) { if (this._y == a) return a; this._y = a; null != this.list ? this.list.update() : null != this.parent && this.update(); return this._y; }, get_width: function () { return this._width; }, set_width: function (a) { if (this._width == a) return a; this._width = a; null != this.list ? this.list.update() : null != this.parent && this.update(); return this._width; }, get_height: function () { return this._height; }, set_height: function (a) { if (this._height == a) return a; this._height = a; null != this.list ? this.list.update() : null != this.parent && this.update(); return this._height; }, update: function () { null != this.parent && null != this.list && this.list.update(); }, _width: null, _height: null, _x: null, _y: null, __class__: hd, __properties__: { set_height: 'set_height', get_height: 'get_height', set_width: 'set_width', get_width: 'get_width', set_y: 'set_y', get_y: 'get_y', set_x: 'set_x', get_x: 'get_x' } }); var hl = function (a, b, d, e, c, g) { null == g && (g = 0); null == c && (c = 0); hd.call(this); if (0 == a || 0 == b || 0 == d || 0 == e) throw J.thrown('Illegal Grid, sizes cannot be 0.'); this._rect = W.rect; this._point = W.point; this._point2 = W.point2; this.columns = (a / d) | 0; this.rows = (b / e) | 0; this._tile = new ea(0, 0, d, e); this._x = c; this._y = g; this._width = a; this._height = b; this.usePositions = !1; this.groupID = 1; a = this._check; b = kg.__name__; a.h[b] = m(this, this.collideMask); a = this._check; b = hd.__name__; a.h[b] = m(this, this.collideHitbox); a = this._check; b = Jj.__name__; a.h[b] = m(this, this.collidePixelmask); this.data = []; a = 0; for (b = this.rows; a < b; ) a++, this.data.push([]); }; k['com.stencyl.models.collision.Grid'] = hl; hl.__name__ = 'com.stencyl.models.collision.Grid'; hl.__super__ = hd; hl.prototype = t(hd.prototype, { usePositions: null, setTile: function (a, b, d) { null == d && (d = !0); null == b && (b = 0); null == a && (a = 0); 0 > a || a > this.columns - 1 || 0 > b || b > this.rows - 1 || (this.usePositions && ((a = (a / this._tile.width) | 0), (b = (b / this._tile.height) | 0)), (this.data[b][a] = d)); }, clearTile: function (a, b) { null == b && (b = 0); null == a && (a = 0); this.setTile(a, b, !1); }, checkTile: function (a, b) { return 0 > a || a > this.columns - 1 || 0 > b || b > this.rows - 1 ? !1 : !0; }, getTile: function (a, b) { null == b && (b = 0); null == a && (a = 0); if (0 > a || a > this.columns - 1 || 0 > b || b > this.rows - 1) return !1; this.usePositions && ((a = (a / this._tile.width) | 0), (b = (b / this._tile.height) | 0)); return this.data[b][a]; }, setRect: function (a, b, d, e, c) { null == c && (c = !0); null == e && (e = 1); null == d && (d = 1); null == b && (b = 0); null == a && (a = 0); this.usePositions && ((a = (a / this._tile.width) | 0), (b = (b / this._tile.height) | 0), (d = (d / this._tile.width) | 0), (e = (e / this._tile.height) | 0)); var f = b; for (b += e; f < b; ) { e = f++; for (var l = a, q = a + d; l < q; ) { var y = l++; this.setTile(y, e, c); } } }, clearRect: function (a, b, d, e) { null == e && (e = 1); null == d && (d = 1); null == b && (b = 0); null == a && (a = 0); this.setRect(a, b, d, e, !1); }, get_tileWidth: function () { return this._tile.width | 0; }, get_tileHeight: function () { return this._tile.height | 0; }, columns: null, rows: null, data: null, collideMask: function (a) { this._rect.x = a.parent.colX - this.parent.colX; this._rect.y = a.parent.colY - this.parent.colY; var b = (((this._rect.x + a.parent.cacheWidth - 1) / this._tile.width) | 0) + 1, d = (this._rect.x / this._tile.width) | 0, e = (this._rect.y / this._tile.height) | 0; for ( a = (((this._rect.y + a.parent.cacheHeight - 1) / this._tile.height) | 0) + 1; e < a; ) for (var c = e++, g = d, l = b; g < l; ) { var q = g++; if (this.getTile(q, c)) return !0; } return !1; }, collideHitbox: function (a) { this._rect.x = a.parent.colX + a._x; this._rect.y = a.parent.colY + a._y; for ( var b = (((this._rect.x + a._width - 1) / this._tile.width) | 0) + 1, d = (this._rect.x / this._tile.width) | 0, e = (this._rect.y / this._tile.height) | 0, c = (((this._rect.y + a._height - 1) / this._tile.height) | 0) + 1; e < c; ) for (var g = e++, l = d, q = b; l < q; ) { var y = l++; if (this.getTile(y, g)) return ( (this.lastBounds.x = y * this._tile.width), (this.lastBounds.y = g * this._tile.height), (this.lastBounds.width = this._tile.width), (this.lastBounds.height = this._tile.height), (a.lastColID = this.groupID), !0 ); } return !1; }, collidePixelmask: function (a) { return !1; }, squareProjection: function (a, b) { a.x < a.y ? ((b.x = a.x), (b.y = a.y)) : ((b.y = a.x), (b.x = a.y)); }, _tile: null, _rect: null, _point: null, _point2: null, __class__: hl, __properties__: t(hd.prototype.__properties__, { get_tileHeight: 'get_tileHeight', get_tileWidth: 'get_tileWidth' }) }); var yi = function (a, b) { this._count = 0; hd.call(this); this._masks = []; this._temp = []; this.solid = !1; this.parent = b; for (var d = 0; d < a.length; ) (b = a[d]), ++d, this.add(b); }; k['com.stencyl.models.collision.Masklist'] = yi; yi.__name__ = 'com.stencyl.models.collision.Masklist'; yi.__super__ = hd; yi.prototype = t(hd.prototype, { collide: function (a) { for (var b, d = 0, e = this._masks; d < e.length; ) if ( ((b = e[d]), ++d, (b.groupID = -1e3 == b.groupID ? b.parent.groupID : b.groupID), (a instanceof yi || -2 == a.groupID || ra.collisionMap[b.groupID][a.groupID]) && b.collide(a)) ) return ( (this.lastBounds.x = b.lastBounds.x), (this.lastBounds.y = b.lastBounds.y), (this.lastBounds.width = b.lastBounds.width), (this.lastBounds.height = b.lastBounds.height), (this.lastCheckedMask = b), (this.lastColID = a.groupID), !0 ); return !1; }, collideMasklist: function (a) { for (var b, d, e = 0, c = this._masks; e < c.length; ) { b = c[e]; ++e; b.groupID = -1e3 == b.groupID ? b.parent.groupID : b.groupID; for (var g = 0, l = a._masks; g < l.length; ) if ( ((d = l[g]), ++g, (d.groupID = -1e3 == d.groupID ? d.parent.groupID : d.groupID), b.collide(d)) ) return ( (a.lastBounds.x = d.lastBounds.x), (a.lastBounds.y = d.lastBounds.y), (a.lastBounds.width = d.lastBounds.width), (a.lastBounds.height = d.lastBounds.height), (a.lastCheckedMask = d), (a.lastColID = b.groupID), !0 ); } return !0; }, add: function (a) { this._masks[this._count++] = a; a.list = this; a.parent = this.parent; this.solid = this.solid || a.solid; this.update(); a.groupID = -1e3 == a.groupID ? this.parent.groupID : a.groupID; var b = ra.get().groupsCollidesWith.h[a.groupID]; if (null != b) for (var d = 0; d < b.length; ) { var e = b[d]; ++d; W.contains(this.collideTypes, e) || this.collideTypes.push(e); } return a; }, remove: function (a) { if (0 > kd.indexOf(this._masks, a)) return a; this._temp.length = 0; for (var b, d = 0, e = this._masks; d < e.length; ) (b = e[d]), ++d, b == a ? ((a.list = null), (a.parent = null), this._count--, this.update()) : (this._temp[this._temp.length] = b); b = this._masks; this._masks = this._temp; this._temp = b; return a; }, removeAt: function (a) { null == a && (a = 0); this._temp.length = 0; var b = this._masks.length; for (a %= b; 0 < b--; ) b == a ? ((this._masks[a].list = null), this._count--, this.update()) : (this._temp[this._temp.length] = this._masks[a]); a = this._masks; this._masks = this._temp; this._temp = a; }, removeAll: function () { for (var a, b = 0, d = this._masks; b < d.length; ) (a = d[b]), ++b, (a.list = null); this._count = 0; this._masks.length = 0; this._temp.length = 0; this.update(); }, getMask: function (a) { null == a && (a = 0); return this._masks[a % this._masks.length]; }, assignTo: function (a) { for (var b = 0, d = this._masks; b < d.length; ) { var e = d[b]; ++b; e.parent = a; } hd.prototype.assignTo.call(this, a); }, update: function () { for (var a = 1e5, b = 1e5, d = 0, e = 0, c, g = this._count; 0 < g--; ) (c = w.__cast(this._masks[g], hd)), null != c && (c._x < b && (b = c._x), c._y < a && (a = c._y), c._x + c._width > d && (d = c._x + c._width), c._y + c._height > e && (e = c._y + c._height)); this._x = b; this._y = a; this._width = d - b; this._height = e - a; hd.prototype.update.call(this); }, count: null, get_count: function () { return this._count; }, _masks: null, _temp: null, _count: null, __class__: yi, __properties__: t(hd.prototype.__properties__, { get_count: 'get_count' }) }); var Jj = function (a, b, d) { null == d && (d = 0); null == b && (b = 0); hd.call(this); a instanceof la && (this._data = a); if (null == this._data) throw J.thrown('Invalid Pixelmask source image.'); this.threshold = 1; this._rect = W.rect; this._point = W.point; this._point2 = W.point2; this._width = this.get_data().width; this._height = this.get_data().height; this._x = b; this._y = d; a = this._check; b = kg.__name__; a.h[b] = m(this, this.collideMask); a = this._check; b = Jj.__name__; a.h[b] = m(this, this.collidePixelmask); a = this._check; b = hd.__name__; a.h[b] = m(this, this.collideHitbox); }; k['com.stencyl.models.collision.Pixelmask'] = Jj; Jj.__name__ = 'com.stencyl.models.collision.Pixelmask'; Jj.__super__ = hd; Jj.prototype = t(hd.prototype, { threshold: null, collideMask: function (a) { this._point.x = this.parent.colX + this._x; this._point.y = this.parent.colY + this._y; this._rect.x = a.parent.colX; this._rect.y = a.parent.colY; this._rect.width = a.parent.cacheWidth; this._rect.height = a.parent.cacheHeight; return !1; }, collideHitbox: function (a) { this._point.x = this.parent.colX + this._x; this._point.y = this.parent.colY + this._y; this._rect.x = a.parent.colX + a._x; this._rect.y = a.parent.colY + a._y; this._rect.width = a._width; this._rect.height = a._height; return !1; }, collidePixelmask: function (a) { this._point.x = this.parent.colX + this._x; this._point.y = this.parent.colY + this._y; this._point2.x = a.parent.colX + a._x; this._point2.y = a.parent.colY + a._y; return !1; }, get_data: function () { return this._data; }, set_data: function (a) { this._data = a; this._width = a.width; this._height = a.height; this.update(); return this._data; }, _data: null, _rect: null, _point: null, _point2: null, __class__: Jj, __properties__: t(hd.prototype.__properties__, { set_data: 'set_data', get_data: 'get_data' }) }); var Xk = function (a, b, d, e, c, g, l, q, y, h, k, p) { this.elementID = a; this.x = b; this.y = d; this.scaleX = e; this.scaleY = c; this.layerID = g; this.orderInLayer = l; this.angle = q; this.groupID = y; this.actorID = h; this.behaviorValues = k; this.isCustomized = p; this.actorType = w.__cast(jc.get().resources.get(h), cg); }; k['com.stencyl.models.scene.ActorInstance'] = Xk; Xk.__name__ = 'com.stencyl.models.scene.ActorInstance'; Xk.prototype = { elementID: null, x: null, y: null, scaleX: null, scaleY: null, layerID: null, orderInLayer: null, angle: null, groupID: null, actorID: null, isCustomized: null, behaviorValues: null, actorType: null, __class__: Xk }; var Fe = function () {}; k['com.stencyl.models.scene.Autotile'] = Fe; Fe.__name__ = 'com.stencyl.models.scene.Autotile'; var ko = function (a, b, d, e, c) { this.animIndex = []; this.defaultAnimationIndex = 0; this.name = a; this.id = b; this.tilesAcross = d; this.tilesDown = e; a = 0; b = new Jc(); d = 0; for (e = 256; d < e; ) { var f = d++; null != b.h.__keys__[c[f].__id__] ? (this.animIndex[f] = b.h[c[f].__id__]) : ((this.animIndex[f] = a), b.set(c[f], a), ++a); } this.defaultAnimationIndex = this.animIndex[255]; this.autotileArrayLength = a; this.animCorners = []; d = 0; for (e = 256; d < e; ) (f = d++), (this.animCorners[this.animIndex[f]] = c[f]); }; k['com.stencyl.models.scene.AutotileFormat'] = ko; ko.__name__ = 'com.stencyl.models.scene.AutotileFormat'; ko.prototype = { autotileArrayLength: null, defaultAnimationIndex: null, name: null, id: null, tilesAcross: null, tilesDown: null, animIndex: null, animCorners: null, __class__: ko }; var jo = function (a, b, d, e) { this.tl = a; this.tr = b; this.bl = d; this.br = e; }; k['com.stencyl.models.scene.Corners'] = jo; jo.__name__ = 'com.stencyl.models.scene.Corners'; jo.prototype = { tl: null, tr: null, bl: null, br: null, toString: function () { return ( 'TL: ' + z.string(this.tl) + ', TR: ' + z.string(this.tr) + ', BL: ' + z.string(this.bl) + ', BR: ' + z.string(this.br) ); }, __class__: jo }; var Nn = function (a, b, d, e) { this.type = a; this.x = b; this.y = d; this.layer = e; }; k['com.stencyl.models.scene.DeferredActor'] = Nn; Nn.__name__ = 'com.stencyl.models.scene.DeferredActor'; Nn.prototype = { type: null, x: null, y: null, layer: null, __class__: Nn }; var zg = function (a, b, d, e, c, g, l) { Ca.call(this); this.ID = a; this.set_name(b); this.layerName = b; this.order = d; this.scrollFactorX = e; this.scrollFactorY = c; this.set_alpha(g); this.set_blendMode(l); }; k['com.stencyl.models.scene.layers.RegularLayer'] = zg; zg.__name__ = 'com.stencyl.models.scene.layers.RegularLayer'; zg.__super__ = Ca; zg.prototype = t(Ca.prototype, { ID: null, layerName: null, order: null, scrollFactorX: null, scrollFactorY: null, opacity: null, alphaTween: null, updatePosition: function (a, b, d) {}, __class__: zg }); var Ec = function (a, b, d, e, c, g, l, q) { this.cameraOldX = this.cameraOldY = -1; this.cameraMoved = !0; zg.call(this, a, b, d, e, c, g, l); this.tiles = q; null != this.tiles && (this.tiles.set_name(b + ' - TileLayer'), this.tiles.set_blendMode(l)); this.actorContainer = new Ca(); this.actorContainer.set_name(b + ' - ActorLayer'); this.overlay = new Ca(); this.overlay.set_name(b + ' - Overlay'); null != this.tiles && this.addChild(this.tiles); this.addChild(this.actorContainer); this.addChild(this.overlay); this.attachedImages = []; }; k['com.stencyl.models.scene.Layer'] = Ec; Ec.__name__ = 'com.stencyl.models.scene.Layer'; Ec.__super__ = zg; Ec.prototype = t(zg.prototype, { tiles: null, actorContainer: null, overlay: null, attachedImages: null, cameraMoved: null, cameraOldX: null, cameraOldY: null, updatePosition: function (a, b, d) { if (ba.pixelsnap) { d = (a * this.scrollFactorX) | 0; var e = (b * this.scrollFactorY) | 0; a = Math.round(a); b = Math.round(b); this.set_x(-((a * this.scrollFactorX) | 0)); this.set_y(-((b * this.scrollFactorY) | 0)); var c = (d / (h.engine.scene.tileWidth * h.SCALE)) | 0; var g = (e / (h.engine.scene.tileHeight * h.SCALE)) | 0; } else (d = a * this.scrollFactorX), (e = b * this.scrollFactorY), this.set_x(-a * this.scrollFactorX), this.set_y(-b * this.scrollFactorY), (c = d / (h.engine.scene.tileWidth * h.SCALE)), (g = e / (h.engine.scene.tileHeight * h.SCALE)); this.tiles.setPosition(d, e); this.overlay.set_x(a); this.overlay.set_y(b); this.cameraMoved = this.cameraMoved || this.cameraOldX != c || this.cameraOldY != g; this.cameraOldX = c; this.cameraOldY = g; }, clear: function () { for (var a = 0, b = this.attachedImages; a < b.length; ) { var d = b[a]; ++a; this.removeChild(d); } this.attachedImages = []; W.removeAllChildren(this.actorContainer); this.overlay.get_graphics().clear(); null != this.tiles && this.tiles.clear(); }, __class__: Ec }); var zi = function (a, b, d, e, c, g, l) { null == g && (g = 0); this.x = e; this.y = c; this.shapes = a; this.shape = this.shapes[0]; this.ID = b; this.name = d; this.shapeID = g; this.simpleBounds = l; }; k['com.stencyl.models.scene.RegionDef'] = zi; zi.__name__ = 'com.stencyl.models.scene.RegionDef'; zi.prototype = { x: null, y: null, shape: null, shapes: null, ID: null, name: null, shapeID: null, simpleBounds: null, __class__: zi }; var Mf = function (a, b, d, e, c, g, l) { null == l && (l = !0); null == g && (g = 0); null == c && (c = 0); null == e && (e = 0); Ca.call(this); this.curStep = 0; this.running = !0; this.repeats = l; this.image1 = new rc(a); this.addChild(this.image1); this.cacheWidth = this.image1.get_width(); this.cacheHeight = this.image1.get_height(); l && ((this.image2 = new rc(a)), this.image2.set_x(this.image1.get_x() - this.cacheWidth), this.addChild(this.image2), (this.image3 = new rc(a)), this.image3.set_x(this.image1.get_x() + this.cacheWidth), this.addChild(this.image3), (this.image4 = new rc(a)), this.image4.set_x(this.image1.get_x() - this.cacheWidth), this.image4.set_y(this.image1.get_y() - this.cacheHeight), this.addChild(this.image4), (this.image5 = new rc(a)), this.image5.set_y(this.image1.get_y() - this.cacheHeight), this.addChild(this.image5), (this.image6 = new rc(a)), this.image6.set_x(this.image1.get_x() + this.cacheWidth), this.image6.set_y(this.image1.get_y() - this.cacheHeight), this.addChild(this.image6), (this.image7 = new rc(a)), this.image7.set_x(this.image1.get_x() - this.cacheWidth), this.image7.set_y(this.image1.get_y() + this.cacheHeight), this.addChild(this.image7), (this.image8 = new rc(a)), this.image8.set_y(this.image1.get_y() + this.cacheHeight), this.addChild(this.image8), (this.image9 = new rc(a)), this.image9.set_x(this.image1.get_x() + this.cacheWidth), this.image9.set_y(this.image1.get_y() + this.cacheHeight), this.addChild(this.image9)); this.yPos = this.xPos = this.yP = this.xP = 0; this.xVelocity = b; this.yVelocity = d; this.parallaxX = e; this.parallaxY = c; this.scrolling = 0 != b || 0 != d; this.parallax = 0 != e || 0 != c; this.backgroundID = g; }; k['com.stencyl.models.scene.ScrollingBitmap'] = Mf; Mf.__name__ = 'com.stencyl.models.scene.ScrollingBitmap'; Mf.__super__ = Ca; Mf.prototype = t(Ca.prototype, { image1: null, image2: null, image3: null, image4: null, image5: null, image6: null, image7: null, image8: null, image9: null, speed: null, curStep: null, running: null, parallax: null, scrolling: null, cacheWidth: null, cacheHeight: null, xP: null, yP: null, xPos: null, yPos: null, xVelocity: null, yVelocity: null, parallaxX: null, parallaxY: null, backgroundID: null, repeats: null, update: function (a, b, d) { d = !1; this.parallax ? ((this.xPos = -((a * this.parallaxX) | 0)), (this.yPos = -((b * this.parallaxY) | 0)), (d = !0)) : this.running ? (this.yPos = this.xPos = 0) : ((this.xPos = this.xP), (this.yPos = this.yP)); if (this.scrolling && this.running) { a = this.cacheWidth; b = this.cacheHeight; this.xP += (this.xVelocity / 10) * h.SCALE; this.yP += (this.yVelocity / 10) * h.SCALE; if (this.repeats) { if (this.xP < -a || this.xP > a) this.xP = 0; if (this.yP < -b || this.yP > b) this.yP = 0; } this.xPos += Math.floor(this.xP); this.yPos += Math.floor(this.yP); this.curStep += 1; 1 <= this.curStep && ((d = !0), (this.curStep -= Math.floor(this.curStep))); } d && this.resetPositions(); }, resetPositions: function () { this.cacheWidth = this.image1.get_width(); this.cacheHeight = this.image1.get_height(); this.repeats && (this.xPos < -this.cacheWidth && (this.xPos %= this.cacheWidth), this.yPos < -this.cacheHeight && (this.yPos %= this.cacheHeight)); this.image1.set_x(this.xPos); this.image1.set_y(this.yPos); this.repeats && (this.image2.set_x(this.xPos - this.cacheWidth), this.image2.set_y(this.yPos), this.image3.set_x(this.xPos + this.cacheWidth), this.image3.set_y(this.yPos), this.image4.set_x(this.xPos - this.cacheWidth), this.image4.set_y(this.yPos - this.cacheHeight), this.image5.set_x(this.xPos), this.image5.set_y(this.yPos - this.cacheHeight), this.image6.set_x(this.xPos + this.cacheWidth), this.image6.set_y(this.yPos - this.cacheHeight), this.image7.set_x(this.xPos - this.cacheWidth), this.image7.set_y(this.yPos + this.cacheHeight), this.image8.set_x(this.xPos), this.image8.set_y(this.yPos + this.cacheHeight), this.image9.set_x(this.xPos + this.cacheWidth), this.image9.set_y(this.yPos + this.cacheHeight)); }, start: function () { this.running = !0; }, stop: function () { this.running = !1; }, __class__: Mf }); var lo = function (a, b, d, e, c, g, l) { null == l && (l = 0); null == g && (g = 0); this.x = e; this.y = c; this.shapes = a; this.shape = this.shapes[0]; this.ID = b; this.name = d; this.groupID = g; 0 == this.fillColor && ((d = b = a = 0), null == d && (d = 0), null == b && (b = 0), null == a && (a = 0), (this.fillColor = (a << 16) | (b << 8) | d)); this.fillColor = l; }; k['com.stencyl.models.scene.TerrainDef'] = lo; lo.__name__ = 'com.stencyl.models.scene.TerrainDef'; lo.prototype = { x: null, y: null, shape: null, shapes: null, ID: null, name: null, groupID: null, fillColor: null, __class__: lo }; var Mc = function (a, b, d, e, c, g, l, q) { this.tileID = a; this.collisionID = b; this.metadata = d; this.frameIndex = e; this.durations = c; this.parent = q; var f = ra.get().atlases.h[q.atlasID]; if (null != g) { this.autotileFormat = g; this.autotileMergeSet = l; l = []; var h = 0; for (g = g.autotileArrayLength; h < g; ) h++, l.push(new Mc(a, b, d, e, c, null, null, q)); this.autotiles = l; } null != f && f.active && this.loadGraphics(); this.currTime = this.currFrame = 0; this.updateSource = !1; }; k['com.stencyl.models.scene.Tile'] = Mc; Mc.__name__ = 'com.stencyl.models.scene.Tile'; Mc.prototype = { tileID: null, collisionID: null, metadata: null, frameIndex: null, parent: null, autotileFormat: null, autotiles: null, autotileMergeSet: null, pixels: null, durations: null, frames: null, currFrame: null, currTime: null, updateSource: null, data: null, update: function (a) { 1 == this.durations.length || h.paused || ((this.currTime += Math.floor(a)), this.currTime > (this.durations[this.currFrame] | 0) && ((this.currTime -= this.durations[this.currFrame] | 0), this.currFrame + 1 < this.durations.length ? this.currFrame++ : (this.currFrame = 0), (this.updateSource = !0))); }, getSource: function (a, b) { return new ea(this.currFrame * a * h.SCALE, 0, a * h.SCALE, b * h.SCALE); }, loadGraphics: function () { var a = null; if (1 < this.durations.length || null != this.autotileFormat) a = Da.getBitmapData( 'assets/graphics/' + h.IMG_BASE + '/tileset-' + this.parent.ID + '-' + this.tileID + '.png', !1 ); if (null != this.autotileFormat) { var b = 0, d = 0; for (a = this.createAutotileAnimations(a, this.autotileFormat); d < a.length; ) { var e = a[d]; ++d; this.autotiles[b++].loadAnimationPixels(e); } } else this.loadAnimationPixels(a); }, unloadGraphics: function () { this.data = this.pixels = null; if (null != this.autotiles) for (var a = 0, b = this.autotiles; a < b.length; ) { var d = b[a]; ++a; d.pixels = null; d.data = null; } }, loadAnimationPixels: function (a) { if (null != a) { this.pixels = a; this.data = new Ph(a); a = 0; for (var b = this.durations.length; a < b; ) (this.currFrame = a++), this.data.addRect(this.getSource(this.parent.tileWidth, this.parent.tileHeight)); } }, createAutotileAnimations: function (a, b) { var d = [], e = this.durations.length, c = (a.width / e / b.tilesAcross) | 0, g = (a.height / b.tilesDown) | 0, l = (c / 2) | 0, q = (g / 2) | 0; Mc.dummyRect.width = l; Mc.dummyRect.height = q; for (var h = 0, r = b.animCorners; h < r.length; ) { var k = r[h]; ++h; for ( var p = new la(c * e, g), n = (function (a, b) { return function (d, e) { a[0](b[0], d, e); }; })([m(p, p.copyPixels)], [a]), u = 0, t = e; u < t; ) { var x = u++, w = c * b.tilesAcross * x; x *= c; var v = k.tl; Mc.dummyRect.x = w + v.x * Mc.dummyRect.width; Mc.dummyRect.y = v.y * Mc.dummyRect.height; n(Mc.dummyRect, new na(x, 0)); v = k.tr; Mc.dummyRect.x = w + v.x * Mc.dummyRect.width; Mc.dummyRect.y = v.y * Mc.dummyRect.height; n(Mc.dummyRect, new na(x + l, 0)); v = k.br; Mc.dummyRect.x = w + v.x * Mc.dummyRect.width; Mc.dummyRect.y = v.y * Mc.dummyRect.height; n(Mc.dummyRect, new na(x + l, q)); v = k.bl; Mc.dummyRect.x = w + v.x * Mc.dummyRect.width; Mc.dummyRect.y = v.y * Mc.dummyRect.height; n(Mc.dummyRect, new na(x, q)); } d.push(p); } return d; }, sourceRect: function (a, b) { Mc.dummyRect.x = b + a.x * Mc.dummyRect.width; Mc.dummyRect.y = a.y * Mc.dummyRect.height; return Mc.dummyRect; }, __class__: Mc }; var me = function (a, b, d, e) { Ca.call(this); this.layerID = a; this.scene = b; this.numRows = e; this.numCols = d; this.clear(); this.tilemaps = new Jc(); }; k['com.stencyl.models.scene.TileLayer'] = me; me.__name__ = 'com.stencyl.models.scene.TileLayer'; me.__interfaces__ = [qh]; me.resetStatics = function () { me.cacheSource = new Ya(); }; me.__super__ = Ca; me.prototype = t(Ca.prototype, { layerID: null, rows: null, autotileData: null, grid: null, scene: null, numRows: null, numCols: null, tilemaps: null, noTiles: null, clear: function () { if (null != this.tilemaps) for (var a = this.tilemaps.iterator(); a.hasNext(); ) a.next().removeTiles(); this.noTiles = !0; this.rows = []; this.autotileData = []; a = 0; for (var b = this.numRows; a < b; ) { var d = a++; this.rows[d] = []; this.autotileData[d] = []; for (var e = 0, c = this.numCols; e < c; ) { var g = e++; this.rows[d][g] = null; this.autotileData[d][g] = 0; } } }, setPosition: function (a, b) {}, mountGrid: function () { if (null != this.grid) { var a = new vb( h.engine, 1e8, 1, 0, 0, -1, this.grid.get_width(), this.grid.get_height(), null, new qa(), null, null, !1, !0, !1, !1, this.grid, h.NO_PHYSICS ); a.set_name('Terrain'); a.typeID = -1; a.set_visible(!1); a.ignoreGravity = !0; h.engine.getGroup(1).addChild(a); } }, setTileAt: function (a, b, d, e) { null == e && (e = !0); if (!(0 > b || 0 > a || b >= this.numCols || a >= this.numRows)) { this.noTiles && null != d && (this.noTiles = !1); var c = this.rows[a][b]; e && (e = (null != c && null != c.autotiles) || (null != d && null != d.autotiles)); this.rows[a][b] = d; this.autotileData[a][b] = 0; e && this.updateAutotilesNear(a, b); } }, getTileAt: function (a, b) { return 0 > b || 0 > a || b >= this.numCols || a >= this.numRows ? null : this.rows[a][b]; }, updateAutotilesNear: function (a, b) { var d = a - 1; for (a += 2; d < a; ) for (var e = d++, c = b - 1, g = b + 2; c < g; ) { var l = c++; 0 > l || 0 > e || l >= this.numCols || e >= this.numRows || this.updateAutotile(e, l); } }, updateAutotile: function (a, b) { var d = this.rows[a][b]; if (null != d && null != d.autotiles) { for (var e = 0, c = me.autotileFlagPointMap.keys(); c.hasNext(); ) { var g = c.next(), l = me.autotileFlagPointMap.h[g], q = (b + l.x) | 0; l = (a + l.y) | 0; 0 > q || 0 > l || q >= this.numCols || l >= this.numRows || this.rows[l][q] == d || (e |= g); } this.autotileData[a][b] = d.autotileFormat.animIndex[e]; } }, draw: function (a, b) { if (!this.noTiles) { for (var d = this.tilemaps.iterator(); d.hasNext(); ) d.next().removeTiles(); a = Math.floor(a); b = Math.floor(b); var e = this.numRows; d = this.scene.tileWidth; var c = this.scene.tileHeight; a = (a / h.SCALE / d) | 0; var g = (b / h.SCALE / c) | 0; b = 2 + a + ((h.screenWidth / d) | 0); var l = 2 + g + ((h.screenHeight / c) | 0); b = Math.min(b, this.numCols) | 0; l = Math.min(l, e) | 0; for (e = g; e < l; ) { for (g = a; g < b; ) { var q = this.getTileAt(e, g); if (null != q && q.parent.graphicsLoaded) { if (null == me.cacheSource.h[1e6 * q.parent.ID + q.tileID] || q.updateSource) if (((q.updateSource = !1), null == q.pixels && null == q.autotiles)) { var y = me.cacheSource, r = 1e6 * q.parent.ID + q.tileID, k = q.parent.getImageSourceForTile(q.tileID, d, c); y.h[r] = k; } else (y = me.cacheSource), (r = 1e6 * q.parent.ID + q.tileID), (k = q.getSource(d, c)), (y.h[r] = k); null != me.cacheSource.h[1e6 * q.parent.ID + q.tileID] && (null != q.autotiles && (q = q.autotiles[this.autotileData[e][g]]), null == q.data ? ((y = q.parent.sheetMap.h[q.tileID]), this.getTilemap(q.parent.flTileset).addTile( new ig(y, g * d * h.SCALE, e * c * h.SCALE) )) : ((y = q.currFrame), this.getTilemap(q.data).addTile( new ig(y, g * d * h.SCALE, e * c * h.SCALE) ))); } ++g; } ++e; } } }, updateScale: function () { for (var a = this.tilemaps.iterator(); a.hasNext(); ) { var b = a.next(); b.set_width(h.sceneWidth * h.SCALE); b.set_height(h.sceneHeight * h.SCALE); } }, getTilemap: function (a) { if (null == this.tilemaps.h.__keys__[a.__id__]) { var b = new jg( (h.sceneWidth * h.SCALE) | 0, (h.sceneHeight * h.SCALE) | 0, a, ba.antialias ); this.tilemaps.set(a, b); this.addChild(b); } return this.tilemaps.h[a.__id__]; }, __class__: me }); var qf = function (a, b, d, e, c, g, l, q, h) { id.call(this, a, d, b); this.framesAcross = e; this.framesDown = c; this.tileWidth = g; this.tileHeight = l; this.readableImages = q; this.tiles = h; }; k['com.stencyl.models.scene.Tileset'] = qf; qf.__name__ = 'com.stencyl.models.scene.Tileset'; qf.__super__ = id; qf.prototype = t(id.prototype, { framesAcross: null, framesDown: null, tileWidth: null, tileHeight: null, tiles: null, readableImages: null, pixels: null, graphicsLoaded: null, flTileset: null, sheetMap: null, setupFLTileset: function () { this.sheetMap = new Ya(); if (null != this.pixels) { this.flTileset = new Ph(this.convertPixels(this.pixels)); for (var a = 0, b = this.tiles; a < b.length; ) { var d = b[a]; ++a; if (null != d) { var e = this.getImageSourceForTile( d.tileID, this.tileWidth | 0, this.tileHeight | 0 ), c = this.sheetMap; d = d.tileID; e = this.flTileset.addRect(e); c.h[d] = e; } } } }, getImageSourceForTile: function (a, b, d) { var e = this.tiles[a]; null == e ? ((qf.temp.x = 0), (qf.temp.y = 0)) : ((a = Math.floor(e.frameIndex / this.framesAcross)), (e = Math.floor(e.frameIndex % this.framesAcross)), (qf.temp.x = e * b * h.SCALE + 2 * e + 1), (qf.temp.y = a * d * h.SCALE + 2 * a + 1)); qf.temp.width = b * h.SCALE; qf.temp.height = d * h.SCALE; return qf.temp.clone(); }, loadGraphics: function () { if (!this.graphicsLoaded) { this.pixels = Da.getBitmapData( 'assets/graphics/' + h.IMG_BASE + '/tileset-' + this.ID + '.png', !1 ); for (var a = 0, b = this.tiles; a < b.length; ) { var d = b[a]; ++a; null != d && d.loadGraphics(); } this.setupFLTileset(); ba.disposeImages && !this.readableImages && this.pixels.dispose(); this.graphicsLoaded = !0; } }, unloadGraphics: function () { if (this.graphicsLoaded) { this.pixels.readable && this.pixels.dispose(); this.flTileset = this.pixels = null; for (var a = 0, b = this.tiles; a < b.length; ) { var d = b[a]; ++a; null != d && d.unloadGraphics(); } this.graphicsLoaded = !1; } }, reloadGraphics: function (a) { if (-1 == a) { this.unloadGraphics(); this.loadGraphics(); a = 0; for (var b = this.tiles; a < b.length; ) { var d = b[a]; ++a; null != d && (d.updateSource = !0); } } else (a = this.tiles[a]), null != a && (a.unloadGraphics(), a.loadGraphics()); h.engine.tileUpdated = !0; }, convertPixels: function (a) { for ( var b = (this.tileWidth * h.SCALE) | 0, d = (this.tileHeight * h.SCALE) | 0, e = (a.width / b) | 0, c = (a.height / d) | 0, g = new la((a.width + 2 * e) | 0, (a.height + 2 * c) | 0, !0, 0), l, q, y, r, k = 0; k < c; ) { for (l = 0; l < e; ) (q = (l * b + 2 * l + 1) | 0), (y = (k * d + 2 * k + 1) | 0), (r = new ea(l * b, k * d, b, d)), (q = new na(q, y)), g.copyPixels(a, r, q), ++l; ++k; } for (k = 0; k < c; ) { for (l = 0; l < e; ) { q = (l * b + 2 * l + 1) | 0; y = (k * d + 2 * k + 1) | 0; for (a = 0; a < b; ) (r = g.getPixel32(q + a, y)), g.setPixel32(q + a, y - 1, r), (r = g.getPixel32(q + a, y + d - 1)), g.setPixel32(q + a, y + d, r), ++a; for (a = 0; a < d; ) (r = g.getPixel32(q, y + a)), g.setPixel32(q - 1, y + a, r), (r = g.getPixel32(q + b - 1, y + a)), g.setPixel32(q + b, y + a, r), ++a; ++l; } ++k; } return g; }, __class__: qf }); var mo = function (a, b, d, e, c, g) { this.x = a; this.y = b; this.width = d; this.height = e; this.shape = c; this.shape2 = g; }; k['com.stencyl.models.scene.Wireframe'] = mo; mo.__name__ = 'com.stencyl.models.scene.Wireframe'; mo.prototype = { x: null, y: null, shape: null, shape2: null, width: null, height: null, __class__: mo }; var Wd = function (a, b, d, e, c, g, l, q, h) { zg.call(this, a, b, d, e, c, g, l); this.resourceID = q; this.customScroll = h; this.model = w.__cast(jc.get().resources.get(q), Ag); }; k['com.stencyl.models.scene.layers.BackgroundLayer'] = Wd; Wd.__name__ = 'com.stencyl.models.scene.layers.BackgroundLayer'; Wd.__super__ = zg; Wd.prototype = t(zg.prototype, { model: null, bitmap: null, resourceID: null, customScroll: null, isAnimated: null, frameCount: null, currIndex: null, currTime: null, cacheIndex: null, cacheWidth: null, cacheHeight: null, bgChild: null, load: function () { if (null != this.model && null != this.model.img) { this.bitmap = new rc(this.model.img, 1, !0); this.bitmap.smoothing = ba.antialias; this.currTime = this.currIndex = 0; this.isAnimated = 1 < this.model.frames.length; this.frameCount = this.model.frames.length; this.model.repeats && !this.model.repeated && this.model.drawRepeated( this, (h.screenWidth * h.SCALE) | 0, (h.screenHeight * h.SCALE) | 0 ); var a = 0, b = 0; if (this.customScroll) (a = this.scrollFactorX), (b = this.scrollFactorY); else if (this.model.repeats) (a = this.model.parallaxX), (b = this.model.parallaxY); else { var d = this.model.img.width, e = this.model.img.height, c = (h.screenWidth * h.SCALE) | 0, g = (h.screenHeight * h.SCALE) | 0, l = (h.sceneWidth * h.SCALE) | 0, q = (h.sceneHeight * h.SCALE) | 0; d > c && d < l && (a = 1 - (l - d) / (l - c)); e > g && e < q && (b = 1 - (q - e) / (q - g)); } this.model instanceof vh ? ((d = w.__cast(this.model, vh)), (a = new Mf( this.model.img, d.xVelocity, d.yVelocity, a, b, this.resourceID, this.model.repeats )), this.addChild((this.bgChild = a))) : this.model.repeats ? ((a = new Mf(this.model.img, 0, 0, a, b, this.resourceID)), this.addChild((this.bgChild = a))) : ((this.cacheWidth = this.model.img.width), (this.cacheHeight = this.model.img.height), (this.scrollFactorX = a), (this.scrollFactorY = b), this.addChild((this.bgChild = this.bitmap))); } }, loadFromImg: function (a, b) { this.model = new vh(-1, -1, '', [100], 0, 0, b, 0, 0); this.model.img = a; this.model.frames = [a]; this.load(); }, setScrollFactor: function (a, b) { this.scrollFactorX = a; this.scrollFactorY = b; if (this.bgChild instanceof Mf) { var d = w.__cast(this.bgChild, Mf); d.parallaxX = a; d.parallaxY = b; d.parallax = 0 != a || 0 != b; } }, setScrollSpeed: function (a, b) { if (this.bgChild instanceof Mf) { var d = w.__cast(this.bgChild, Mf); d.xVelocity = a; d.yVelocity = b; d.scrolling = 0 != a || 0 != b; } }, reload: function (a) { null != this.bgChild && (this.removeChild(this.bgChild), (this.bgChild = null)); this.resourceID = a; this.model = w.__cast(jc.get().resources.get(this.resourceID), Ag); this.load(); }, setImage: function (a) { this.bitmap.set_bitmapData(a); this.currTime = this.currIndex = 0; this.isAnimated = 1 < this.model.frames.length; this.frameCount = this.model.frames.length; }, updateAnimation: function (a) { this.currTime += a; null != this.model && this.currTime >= this.model.durations[this.currIndex] && ((this.currTime = 0), this.currIndex++, this.currIndex >= this.frameCount && (this.currIndex = 0), this.bgChild instanceof Mf ? ((this.cacheIndex = this.currIndex), this.model.repeats && this.model.drawRepeated( this, (h.screenWidth * h.SCALE) | 0, (h.screenHeight * h.SCALE) | 0 ), (this.currIndex = this.cacheIndex), (a = this.bgChild.image1), a.set_bitmapData(this.model.frames[this.currIndex]), this.model.repeats && ((a = this.bgChild.image2), a.set_bitmapData(this.model.frames[this.currIndex]), (a = this.bgChild.image3), a.set_bitmapData(this.model.frames[this.currIndex]), (a = this.bgChild.image4), a.set_bitmapData(this.model.frames[this.currIndex]), (a = this.bgChild.image5), a.set_bitmapData(this.model.frames[this.currIndex]), (a = this.bgChild.image6), a.set_bitmapData(this.model.frames[this.currIndex]), (a = this.bgChild.image7), a.set_bitmapData(this.model.frames[this.currIndex]), (a = this.bgChild.image8), a.set_bitmapData(this.model.frames[this.currIndex]), (a = this.bgChild.image9), a.set_bitmapData(this.model.frames[this.currIndex]))) : this.bitmap.set_bitmapData(this.model.frames[this.currIndex])); }, updatePosition: function (a, b, d) { this.bgChild instanceof Mf ? w.__cast(this.bgChild, Mf).update(a, b, d) : (this.set_x(-((a * this.scrollFactorX) | 0)), this.set_y(-((b * this.scrollFactorY) | 0))); this.isAnimated && this.updateAnimation(d); }, getBitmap: function () { return this.bgChild; }, __class__: Wd }); var Oc = function (a, b, d, e) { null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); null == a && (a = 0); this.a = a; this.r = b; this.g = d; this.b = e; }; k['com.stencyl.utils.ARGB'] = Oc; Oc.__name__ = 'com.stencyl.utils.ARGB'; Oc.setARGBi = function (a, b, d, e) { return ((a & 255) << 24) | ((b & 255) << 16) | ((d & 255) << 8) | (e & 255); }; Oc.setARGBf = function (a, b, d, e) { a = 255 * (0 > a ? 0 : 1 < a ? 1 : a); b = 255 * (0 > b ? 0 : 1 < b ? 1 : b); d = 255 * (0 > d ? 0 : 1 < d ? 1 : d); e = 255 * (0 > e ? 0 : 1 < e ? 1 : e); return ( ((((0 < a ? a + 0.5 : 0 > a ? a - 0.5 : 0) | 0) & 255) << 24) | ((((0 < b ? b + 0.5 : 0 > b ? b - 0.5 : 0) | 0) & 255) << 16) | ((((0 < d ? d + 0.5 : 0 > d ? d - 0.5 : 0) | 0) & 255) << 8) | (((0 < e ? e + 0.5 : 0 > e ? e - 0.5 : 0) | 0) & 255) ); }; Oc.toARGB = function (a) { return new Oc( 0.00392156862745098 * (a >>> 24), 0.00392156862745098 * ((a >>> 16) & 255), 0.00392156862745098 * ((a >>> 8) & 255), 0.00392156862745098 * (a & 255) ); }; Oc.getRGB = function (a) { return a & 16777215; }; Oc.setRGB = function (a, b, d, e) { return (b << 16) | (d << 8) | e | (a & -16777216); }; Oc.getA = function (a) { return a >>> 24; }; Oc.getAf = function (a) { return 0.00392156862745098 * (a >>> 24); }; Oc.getR = function (a) { return (a >>> 16) & 255; }; Oc.getRf = function (a) { return 0.00392156862745098 * ((a >>> 16) & 255); }; Oc.getG = function (a) { return (a >>> 8) & 255; }; Oc.getGf = function (a) { return 0.00392156862745098 * ((a >>> 8) & 255); }; Oc.getB = function (a) { return a & 255; }; Oc.getBf = function (a) { return 0.00392156862745098 * (a & 255); }; Oc.setA = function (a, b) { return (b << 24) | (a & 16777215); }; Oc.setAf = function (a, b) { b = 255 * (0 > b ? 0 : 1 < b ? 1 : b); return (((0 < b ? b + 0.5 : 0 > b ? b - 0.5 : 0) | 0) << 24) | (a & 16777215); }; Oc.setR = function (a, b) { return ((b & 255) << 16) | (a & -16711681); }; Oc.setRf = function (a, b) { b = 255 * (0 > b ? 0 : 1 < b ? 1 : b); return ((((0 < b ? b + 0.5 : 0 > b ? b - 0.5 : 0) | 0) & 255) << 16) | (a & -16711681); }; Oc.setG = function (a, b) { return (b << 8) | (a & -65281); }; Oc.setGf = function (a, b) { b = 255 * (0 > b ? 0 : 1 < b ? 1 : b); return (((0 < b ? b + 0.5 : 0 > b ? b - 0.5 : 0) | 0) << 8) | (a & -65281); }; Oc.setB = function (a, b) { return b | (a & -256); }; Oc.setBf = function (a, b) { b = 255 * (0 > b ? 0 : 1 < b ? 1 : b); return (0 < b ? b + 0.5 : 0 > b ? b - 0.5 : 0) | 0 | (a & -256); }; Oc.prototype = { a: null, r: null, g: null, b: null, set: function (a, b, d, e) { this.a = a; this.r = b; this.g = d; this.b = e; }, lerp: function (a, b, d) { d.a = this.a + (a.a - this.a) * b; d.r = this.r + (a.r - this.r) * b; d.g = this.g + (a.g - this.g) * b; d.b = this.b + (a.b - this.b) * b; }, getA8: function () { var a = 255 * this.a; return (0 < a ? a + 0.5 : 0 > a ? a - 0.5 : 0) | 0; }, getR8: function () { var a = 255 * this.r; return (0 < a ? a + 0.5 : 0 > a ? a - 0.5 : 0) | 0; }, getG8: function () { var a = 255 * this.g; return (0 < a ? a + 0.5 : 0 > a ? a - 0.5 : 0) | 0; }, getB8: function () { var a = 255 * this.b; return (0 < a ? a + 0.5 : 0 > a ? a - 0.5 : 0) | 0; }, get24: function () { var a = 255 * this.r, b = 255 * this.g, d = 255 * this.b; return ( (((0 < a ? a + 0.5 : 0 > a ? a - 0.5 : 0) | 0) << 16) | (((0 < b ? b + 0.5 : 0 > b ? b - 0.5 : 0) | 0) << 8) | (0 < d ? d + 0.5 : 0 > d ? d - 0.5 : 0) | 0 ); }, set24: function (a, b, d) { this.a = this.a; this.r = 0.00392156862745098 * (a & 255); this.g = 0.00392156862745098 * (b & 255); this.b = 0.00392156862745098 * (d & 255); }, get32: function () { var a = 255 * this.a, b = 255 * this.r, d = 255 * this.g, e = 255 * this.b; return ( (((0 < a ? a + 0.5 : 0 > a ? a - 0.5 : 0) | 0) << 24) | (((0 < b ? b + 0.5 : 0 > b ? b - 0.5 : 0) | 0) << 16) | (((0 < d ? d + 0.5 : 0 > d ? d - 0.5 : 0) | 0) << 8) | (0 < e ? e + 0.5 : 0 > e ? e - 0.5 : 0) | 0 ); }, set32: function (a, b, d, e) { this.a = 0.00392156862745098 * (a & 255); this.r = 0.00392156862745098 * (b & 255); this.g = 0.00392156862745098 * (d & 255); this.b = 0.00392156862745098 * (e & 255); }, copy: function (a) { a.a = this.a; a.r = this.r; a.g = this.g; a.b = this.b; return a; }, __class__: Oc }; var Th = (N['com.stencyl.utils.ColorDeficiencyTypes'] = { __ename__: 'com.stencyl.utils.ColorDeficiencyTypes', __constructs__: null, Protanopia: { _hx_name: 'Protanopia', _hx_index: 0, __enum__: 'com.stencyl.utils.ColorDeficiencyTypes', toString: x }, Protanomaly: { _hx_name: 'Protanomaly', _hx_index: 1, __enum__: 'com.stencyl.utils.ColorDeficiencyTypes', toString: x }, Deuteranopia: { _hx_name: 'Deuteranopia', _hx_index: 2, __enum__: 'com.stencyl.utils.ColorDeficiencyTypes', toString: x }, Deuteranomaly: { _hx_name: 'Deuteranomaly', _hx_index: 3, __enum__: 'com.stencyl.utils.ColorDeficiencyTypes', toString: x }, Tritanopia: { _hx_name: 'Tritanopia', _hx_index: 4, __enum__: 'com.stencyl.utils.ColorDeficiencyTypes', toString: x }, Tritanomaly: { _hx_name: 'Tritanomaly', _hx_index: 5, __enum__: 'com.stencyl.utils.ColorDeficiencyTypes', toString: x }, Achromatopsia: { _hx_name: 'Achromatopsia', _hx_index: 6, __enum__: 'com.stencyl.utils.ColorDeficiencyTypes', toString: x }, Achromatomaly: { _hx_name: 'Achromatomaly', _hx_index: 7, __enum__: 'com.stencyl.utils.ColorDeficiencyTypes', toString: x } }); Th.__constructs__ = [ Th.Protanopia, Th.Protanomaly, Th.Deuteranopia, Th.Deuteranomaly, Th.Tritanopia, Th.Tritanomaly, Th.Achromatopsia, Th.Achromatomaly ]; var Za = function () { this.identity(); this.matrix = []; }; k['com.stencyl.utils.ColorMatrix'] = Za; Za.__name__ = 'com.stencyl.utils.ColorMatrix'; Za.mulMatrixMatrix = function (a, b, d) { var e = a.m11, c = a.m12, g = a.m13, l = a.m14; d.m11 = a.m11 * b.m11 + a.m12 * b.m21 + a.m13 * b.m31 + a.m14 * b.m41; d.m12 = e * b.m12 + a.m12 * b.m22 + a.m13 * b.m32 + a.m14 * b.m42; d.m13 = e * b.m13 + c * b.m23 + a.m13 * b.m33 + a.m14 * b.m43; d.m14 = e * b.m14 + c * b.m24 + g * b.m34 + a.m14 * b.m44; d.m15 = e * b.m15 + c * b.m25 + g * b.m35 + l * b.m45; e = a.m21; c = a.m22; g = a.m23; l = a.m24; d.m21 = a.m21 * b.m11 + a.m22 * b.m21 + a.m23 * b.m31 + a.m24 * b.m41; d.m22 = e * b.m12 + a.m22 * b.m22 + a.m23 * b.m32 + a.m24 * b.m42; d.m23 = e * b.m13 + c * b.m23 + a.m23 * b.m33 + a.m24 * b.m43; d.m24 = e * b.m14 + c * b.m24 + g * b.m34 + a.m24 * b.m44; d.m25 = e * b.m15 + c * b.m25 + g * b.m35 + l * b.m45; e = a.m31; c = a.m32; g = a.m33; l = a.m34; d.m31 = a.m31 * b.m11 + a.m32 * b.m21 + a.m33 * b.m31 + a.m34 * b.m41; d.m32 = e * b.m12 + a.m32 * b.m22 + a.m33 * b.m32 + a.m34 * b.m42; d.m33 = e * b.m13 + c * b.m23 + a.m33 * b.m33 + a.m34 * b.m43; d.m34 = e * b.m14 + c * b.m24 + g * b.m34 + a.m34 * b.m44; d.m35 = e * b.m15 + c * b.m25 + g * b.m35 + l * b.m45; e = a.m41; c = a.m42; g = a.m43; l = a.m44; d.m41 = a.m41 * b.m11 + a.m42 * b.m21 + a.m43 * b.m31 + a.m44 * b.m41; d.m42 = e * b.m12 + a.m42 * b.m22 + a.m43 * b.m32 + a.m44 * b.m42; d.m43 = e * b.m13 + c * b.m23 + a.m43 * b.m33 + a.m44 * b.m43; d.m44 = e * b.m14 + c * b.m24 + g * b.m34 + a.m44 * b.m44; d.m45 = e * b.m15 + c * b.m25 + g * b.m35 + l * b.m45; return d; }; Za.blendMatrixMatrix = function (a, b, d, e) { var c = 1 - e; d.m11 = c * a.m11 + e * b.m11; d.m12 = c * a.m12 + e * b.m12; d.m13 = c * a.m13 + e * b.m13; d.m14 = c * a.m14 + e * b.m14; d.m15 = c * a.m15 + e * b.m15; d.m21 = c * a.m21 + e * b.m21; d.m22 = c * a.m22 + e * b.m22; d.m23 = c * a.m23 + e * b.m23; d.m24 = c * a.m24 + e * b.m24; d.m25 = c * a.m25 + e * b.m25; d.m31 = c * a.m31 + e * b.m31; d.m32 = c * a.m32 + e * b.m32; d.m33 = c * a.m33 + e * b.m33; d.m34 = c * a.m34 + e * b.m34; d.m35 = c * a.m35 + e * b.m35; d.m41 = c * a.m41 + e * b.m41; d.m42 = c * a.m42 + e * b.m42; d.m43 = c * a.m43 + e * b.m43; d.m44 = c * a.m44 + e * b.m44; d.m45 = c * a.m45 + e * b.m45; return d; }; Za.prototype = { m11: null, m12: null, m13: null, m14: null, m15: null, m21: null, m22: null, m23: null, m24: null, m25: null, m31: null, m32: null, m33: null, m34: null, m35: null, m41: null, m42: null, m43: null, m44: null, m45: null, matrix: null, preHue: null, postHue: null, hueInitialized: null, getFilter: function () { var a = this.matrix; a[0] = this.m11; a[1] = this.m12; a[2] = this.m13; a[3] = this.m14; a[4] = this.m15; a[5] = this.m21; a[6] = this.m22; a[7] = this.m23; a[8] = this.m24; a[9] = this.m25; a[10] = this.m31; a[11] = this.m32; a[12] = this.m33; a[13] = this.m34; a[14] = this.m35; a[15] = this.m41; a[16] = this.m42; a[17] = this.m43; a[18] = this.m44; a[19] = this.m45; return new hg(this.matrix); }, identity: function () { this.m11 = 1; this.m21 = this.m15 = this.m14 = this.m13 = this.m12 = 0; this.m22 = 1; this.m32 = this.m31 = this.m25 = this.m24 = this.m23 = 0; this.m33 = 1; this.m43 = this.m42 = this.m41 = this.m35 = this.m34 = 0; this.m44 = 1; this.m45 = 0; return this; }, invert: function () { var a = this.m11, b = this.m12, d = this.m13, e = this.m14; this.m11 = -1 * this.m11 + 0 * this.m12 + 0 * this.m13 + 0 * this.m14; this.m12 = 0 * a + -1 * this.m12 + 0 * this.m13 + 0 * this.m14; this.m13 = 0 * a + 0 * b + -1 * this.m13 + 0 * this.m14; this.m14 = 0 * a + 0 * b + 0 * d + this.m14; this.m15 = 255 * a + 255 * b + 255 * d + 0 * e; a = this.m21; b = this.m22; d = this.m23; e = this.m24; this.m21 = -1 * this.m21 + 0 * this.m22 + 0 * this.m23 + 0 * this.m24; this.m22 = 0 * a + -1 * this.m22 + 0 * this.m23 + 0 * this.m24; this.m23 = 0 * a + 0 * b + -1 * this.m23 + 0 * this.m24; this.m24 = 0 * a + 0 * b + 0 * d + this.m24; this.m25 = 255 * a + 255 * b + 255 * d + 0 * e; a = this.m31; b = this.m32; d = this.m33; e = this.m34; this.m31 = -1 * this.m31 + 0 * this.m32 + 0 * this.m33 + 0 * this.m34; this.m32 = 0 * a + -1 * this.m32 + 0 * this.m33 + 0 * this.m34; this.m33 = 0 * a + 0 * b + -1 * this.m33 + 0 * this.m34; this.m34 = 0 * a + 0 * b + 0 * d + this.m34; this.m35 = 255 * a + 255 * b + 255 * d + 0 * e; a = this.m41; b = this.m42; d = this.m43; e = this.m44; this.m41 = -1 * this.m41 + 0 * this.m42 + 0 * this.m43 + 0 * this.m44; this.m42 = 0 * a + -1 * this.m42 + 0 * this.m43 + 0 * this.m44; this.m43 = 0 * a + 0 * b + -1 * this.m43 + 0 * this.m44; this.m44 = 0 * a + 0 * b + 0 * d + this.m44; this.m45 = 255 * a + 255 * b + 255 * d + 0 * e; return this; }, adjustSaturation: function (a) { var b = 1 - a, d = b * Za.LUMA_R, e = b * Za.LUMA_G; b *= Za.LUMA_B; var c = d + a, g = e + a; a = b + a; var l = this.m11, q = this.m12, h = this.m13, r = this.m14; this.m11 = this.m11 * c + this.m12 * d + this.m13 * d + 0 * this.m14; this.m12 = l * e + this.m12 * g + this.m13 * e + 0 * this.m14; this.m13 = l * b + q * b + this.m13 * a + 0 * this.m14; this.m14 = 0 * l + 0 * q + 0 * h + this.m14; this.m15 = 0 * l + 0 * q + 0 * h + 0 * r; l = this.m21; q = this.m22; h = this.m23; r = this.m24; this.m21 = this.m21 * c + this.m22 * d + this.m23 * d + 0 * this.m24; this.m22 = l * e + this.m22 * g + this.m23 * e + 0 * this.m24; this.m23 = l * b + q * b + this.m23 * a + 0 * this.m24; this.m24 = 0 * l + 0 * q + 0 * h + this.m24; this.m25 = 0 * l + 0 * q + 0 * h + 0 * r; l = this.m31; q = this.m32; h = this.m33; r = this.m34; this.m31 = this.m31 * c + this.m32 * d + this.m33 * d + 0 * this.m34; this.m32 = l * e + this.m32 * g + this.m33 * e + 0 * this.m34; this.m33 = l * b + q * b + this.m33 * a + 0 * this.m34; this.m34 = 0 * l + 0 * q + 0 * h + this.m34; this.m35 = 0 * l + 0 * q + 0 * h + 0 * r; l = this.m41; q = this.m42; h = this.m43; r = this.m44; this.m41 = this.m41 * c + this.m42 * d + this.m43 * d + 0 * this.m44; this.m42 = l * e + this.m42 * g + this.m43 * e + 0 * this.m44; this.m43 = l * b + q * b + this.m43 * a + 0 * this.m44; this.m44 = 0 * l + 0 * q + 0 * h + this.m44; this.m45 = 0 * l + 0 * q + 0 * h + 0 * r; return this; }, adjustBrightness: function (a) { this.adjustBrightnessRGB(a, a, a); return this; }, adjustBrightnessRGB: function (a, b, d) { a *= 255; b *= 255; d *= 255; var e = this.m11, c = this.m12, g = this.m13, l = this.m14; this.m11 = this.m11 + 0 * this.m12 + 0 * this.m13 + 0 * this.m14; this.m12 = 0 * e + this.m12 + 0 * this.m13 + 0 * this.m14; this.m13 = 0 * e + 0 * c + this.m13 + 0 * this.m14; this.m14 = 0 * e + 0 * c + 0 * g + this.m14; this.m15 = e * a + c * b + g * d + 0 * l; e = this.m21; c = this.m22; g = this.m23; l = this.m24; this.m21 = this.m21 + 0 * this.m22 + 0 * this.m23 + 0 * this.m24; this.m22 = 0 * e + this.m22 + 0 * this.m23 + 0 * this.m24; this.m23 = 0 * e + 0 * c + this.m23 + 0 * this.m24; this.m24 = 0 * e + 0 * c + 0 * g + this.m24; this.m25 = e * a + c * b + g * d + 0 * l; e = this.m31; c = this.m32; g = this.m33; l = this.m34; this.m31 = this.m31 + 0 * this.m32 + 0 * this.m33 + 0 * this.m34; this.m32 = 0 * e + this.m32 + 0 * this.m33 + 0 * this.m34; this.m33 = 0 * e + 0 * c + this.m33 + 0 * this.m34; this.m34 = 0 * e + 0 * c + 0 * g + this.m34; this.m35 = e * a + c * b + g * d + 0 * l; e = this.m41; c = this.m42; g = this.m43; l = this.m44; this.m41 = this.m41 + 0 * this.m42 + 0 * this.m43 + 0 * this.m44; this.m42 = 0 * e + this.m42 + 0 * this.m43 + 0 * this.m44; this.m43 = 0 * e + 0 * c + this.m43 + 0 * this.m44; this.m44 = 0 * e + 0 * c + 0 * g + this.m44; this.m45 = e * a + c * b + g * d + 0 * l; return this; }, adjustContrast: function (a) { this.adjustContrastRGB(a, a, a); return this; }, adjustContrastRGB: function (a, b, d) { a += 1; b += 1; d += 1; var e = 128 * (1 - a), c = 128 * (1 - b), g = 128 * (1 - d), l = this.m11, q = this.m12, h = this.m13, r = this.m14; this.m11 = this.m11 * a + 0 * this.m12 + 0 * this.m13 + 0 * this.m14; this.m12 = 0 * l + this.m12 * b + 0 * this.m13 + 0 * this.m14; this.m13 = 0 * l + 0 * q + this.m13 * d + 0 * this.m14; this.m14 = 0 * l + 0 * q + 0 * h + this.m14; this.m15 = l * e + q * c + h * g + 0 * r; l = this.m21; q = this.m22; h = this.m23; r = this.m24; this.m21 = this.m21 * a + 0 * this.m22 + 0 * this.m23 + 0 * this.m24; this.m22 = 0 * l + this.m22 * b + 0 * this.m23 + 0 * this.m24; this.m23 = 0 * l + 0 * q + this.m23 * d + 0 * this.m24; this.m24 = 0 * l + 0 * q + 0 * h + this.m24; this.m25 = l * e + q * c + h * g + 0 * r; l = this.m31; q = this.m32; h = this.m33; r = this.m34; this.m31 = this.m31 * a + 0 * this.m32 + 0 * this.m33 + 0 * this.m34; this.m32 = 0 * l + this.m32 * b + 0 * this.m33 + 0 * this.m34; this.m33 = 0 * l + 0 * q + this.m33 * d + 0 * this.m34; this.m34 = 0 * l + 0 * q + 0 * h + this.m34; this.m35 = l * e + q * c + h * g + 0 * r; l = this.m41; q = this.m42; h = this.m43; r = this.m44; this.m41 = this.m41 * a + 0 * this.m42 + 0 * this.m43 + 0 * this.m44; this.m42 = 0 * l + this.m42 * b + 0 * this.m43 + 0 * this.m44; this.m43 = 0 * l + 0 * q + this.m43 * d + 0 * this.m44; this.m44 = 0 * l + 0 * q + 0 * h + this.m44; this.m45 = l * e + q * c + h * g + 0 * r; return this; }, adjustHue: function (a) { a *= 0.01745329251994278; var b = Math.cos(a), d = Math.sin(a); a = Za.LUMA_R + b * (1 - Za.LUMA_R) + d * -Za.LUMA_R; var e = Za.LUMA_G + b * -Za.LUMA_G + d * -Za.LUMA_G, c = Za.LUMA_B + b * -Za.LUMA_B + d * (1 - Za.LUMA_B), g = Za.LUMA_R + b * -Za.LUMA_R + 0.143 * d, l = Za.LUMA_G + b * (1 - Za.LUMA_G) + 0.14 * d, q = Za.LUMA_B + b * -Za.LUMA_B + -0.283 * d, h = Za.LUMA_R + b * -Za.LUMA_R + d * -(1 - Za.LUMA_R), r = Za.LUMA_G + b * -Za.LUMA_G + d * Za.LUMA_G; b = Za.LUMA_B + b * (1 - Za.LUMA_B) + d * Za.LUMA_B; d = this.m11; var k = this.m12, p = this.m13, n = this.m14; this.m11 = this.m11 * a + this.m12 * g + this.m13 * h + 0 * this.m14; this.m12 = d * e + this.m12 * l + this.m13 * r + 0 * this.m14; this.m13 = d * c + k * q + this.m13 * b + 0 * this.m14; this.m14 = 0 * d + 0 * k + 0 * p + this.m14; this.m15 = 0 * d + 0 * k + 0 * p + 0 * n; d = this.m21; k = this.m22; p = this.m23; n = this.m24; this.m21 = this.m21 * a + this.m22 * g + this.m23 * h + 0 * this.m24; this.m22 = d * e + this.m22 * l + this.m23 * r + 0 * this.m24; this.m23 = d * c + k * q + this.m23 * b + 0 * this.m24; this.m24 = 0 * d + 0 * k + 0 * p + this.m24; this.m25 = 0 * d + 0 * k + 0 * p + 0 * n; d = this.m31; k = this.m32; p = this.m33; n = this.m34; this.m31 = this.m31 * a + this.m32 * g + this.m33 * h + 0 * this.m34; this.m32 = d * e + this.m32 * l + this.m33 * r + 0 * this.m34; this.m33 = d * c + k * q + this.m33 * b + 0 * this.m34; this.m34 = 0 * d + 0 * k + 0 * p + this.m34; this.m35 = 0 * d + 0 * k + 0 * p + 0 * n; d = this.m41; k = this.m42; p = this.m43; n = this.m44; this.m41 = this.m41 * a + this.m42 * g + this.m43 * h + 0 * this.m44; this.m42 = d * e + this.m42 * l + this.m43 * r + 0 * this.m44; this.m43 = d * c + k * q + this.m43 * b + 0 * this.m44; this.m44 = 0 * d + 0 * k + 0 * p + this.m44; this.m45 = 0 * d + 0 * k + 0 * p + 0 * n; return this; }, luminance2Alpha: function () { var a = Za.LUMA_R, b = Za.LUMA_G, d = Za.LUMA_B, e = this.m11, c = this.m12, g = this.m13, l = this.m14; this.m11 = 0 * this.m11 + 0 * this.m12 + 0 * this.m13 + this.m14 * a; this.m12 = 0 * e + 0 * this.m12 + 0 * this.m13 + this.m14 * b; this.m13 = 0 * e + 0 * c + 0 * this.m13 + this.m14 * d; this.m14 = 0 * e + 0 * c + 0 * g + 0 * this.m14; this.m15 = 255 * e + 255 * c + 255 * g + 0 * l; e = this.m21; c = this.m22; g = this.m23; l = this.m24; this.m21 = 0 * this.m21 + 0 * this.m22 + 0 * this.m23 + this.m24 * a; this.m22 = 0 * e + 0 * this.m22 + 0 * this.m23 + this.m24 * b; this.m23 = 0 * e + 0 * c + 0 * this.m23 + this.m24 * d; this.m24 = 0 * e + 0 * c + 0 * g + 0 * this.m24; this.m25 = 255 * e + 255 * c + 255 * g + 0 * l; e = this.m31; c = this.m32; g = this.m33; l = this.m34; this.m31 = 0 * this.m31 + 0 * this.m32 + 0 * this.m33 + this.m34 * a; this.m32 = 0 * e + 0 * this.m32 + 0 * this.m33 + this.m34 * b; this.m33 = 0 * e + 0 * c + 0 * this.m33 + this.m34 * d; this.m34 = 0 * e + 0 * c + 0 * g + 0 * this.m34; this.m35 = 255 * e + 255 * c + 255 * g + 0 * l; e = this.m41; c = this.m42; g = this.m43; l = this.m44; this.m41 = 0 * this.m41 + 0 * this.m42 + 0 * this.m43 + this.m44 * a; this.m42 = 0 * e + 0 * this.m42 + 0 * this.m43 + this.m44 * b; this.m43 = 0 * e + 0 * c + 0 * this.m43 + this.m44 * d; this.m44 = 0 * e + 0 * c + 0 * g + 0 * this.m44; this.m45 = 255 * e + 255 * c + 255 * g + 0 * l; return this; }, adjustAlphaContrast: function (a) { a += 1; var b = 128 * (1 - a), d = this.m11, e = this.m12, c = this.m13, g = this.m14; this.m11 = this.m11 + 0 * this.m12 + 0 * this.m13 + 0 * this.m14; this.m12 = 0 * d + this.m12 + 0 * this.m13 + 0 * this.m14; this.m13 = 0 * d + 0 * e + this.m13 + 0 * this.m14; this.m14 = 0 * d + 0 * e + 0 * c + this.m14 * a; this.m15 = 0 * d + 0 * e + 0 * c + g * b; d = this.m21; e = this.m22; c = this.m23; g = this.m24; this.m21 = this.m21 + 0 * this.m22 + 0 * this.m23 + 0 * this.m24; this.m22 = 0 * d + this.m22 + 0 * this.m23 + 0 * this.m24; this.m23 = 0 * d + 0 * e + this.m23 + 0 * this.m24; this.m24 = 0 * d + 0 * e + 0 * c + this.m24 * a; this.m25 = 0 * d + 0 * e + 0 * c + g * b; d = this.m31; e = this.m32; c = this.m33; g = this.m34; this.m31 = this.m31 + 0 * this.m32 + 0 * this.m33 + 0 * this.m34; this.m32 = 0 * d + this.m32 + 0 * this.m33 + 0 * this.m34; this.m33 = 0 * d + 0 * e + this.m33 + 0 * this.m34; this.m34 = 0 * d + 0 * e + 0 * c + this.m34 * a; this.m35 = 0 * d + 0 * e + 0 * c + g * b; d = this.m41; e = this.m42; c = this.m43; g = this.m44; this.m41 = this.m41 + 0 * this.m42 + 0 * this.m43 + 0 * this.m44; this.m42 = 0 * d + this.m42 + 0 * this.m43 + 0 * this.m44; this.m43 = 0 * d + 0 * e + this.m43 + 0 * this.m44; this.m44 = 0 * d + 0 * e + 0 * c + this.m44 * a; this.m45 = 0 * d + 0 * e + 0 * c + g * b; return this; }, colorize: function (a, b) { null == b && (b = 1); var d = 0.00392156862745098 * ((a >>> 16) & 255), e = 0.00392156862745098 * ((a >>> 8) & 255), c = 0.00392156862745098 * (a & 255), g = 1 - b; a = g + b * d * Za.LUMA_R; var l = b * d * Za.LUMA_G; d = b * d * Za.LUMA_B; var q = b * e * Za.LUMA_R, h = g + b * e * Za.LUMA_G; e = b * e * Za.LUMA_B; var r = b * c * Za.LUMA_R, k = b * c * Za.LUMA_G; b = g + b * c * Za.LUMA_B; c = this.m11; g = this.m12; var p = this.m13, n = this.m14; this.m11 = this.m11 * a + this.m12 * q + this.m13 * r + 0 * this.m14; this.m12 = c * l + this.m12 * h + this.m13 * k + 0 * this.m14; this.m13 = c * d + g * e + this.m13 * b + 0 * this.m14; this.m14 = 0 * c + 0 * g + 0 * p + this.m14; this.m15 = 0 * c + 0 * g + 0 * p + 0 * n; c = this.m21; g = this.m22; p = this.m23; n = this.m24; this.m21 = this.m21 * a + this.m22 * q + this.m23 * r + 0 * this.m24; this.m22 = c * l + this.m22 * h + this.m23 * k + 0 * this.m24; this.m23 = c * d + g * e + this.m23 * b + 0 * this.m24; this.m24 = 0 * c + 0 * g + 0 * p + this.m24; this.m25 = 0 * c + 0 * g + 0 * p + 0 * n; c = this.m31; g = this.m32; p = this.m33; n = this.m34; this.m31 = this.m31 * a + this.m32 * q + this.m33 * r + 0 * this.m34; this.m32 = c * l + this.m32 * h + this.m33 * k + 0 * this.m34; this.m33 = c * d + g * e + this.m33 * b + 0 * this.m34; this.m34 = 0 * c + 0 * g + 0 * p + this.m34; this.m35 = 0 * c + 0 * g + 0 * p + 0 * n; c = this.m41; g = this.m42; p = this.m43; n = this.m44; this.m41 = this.m41 * a + this.m42 * q + this.m43 * r + 0 * this.m44; this.m42 = c * l + this.m42 * h + this.m43 * k + 0 * this.m44; this.m43 = c * d + g * e + this.m43 * b + 0 * this.m44; this.m44 = 0 * c + 0 * g + 0 * p + this.m44; this.m45 = 0 * c + 0 * g + 0 * p + 0 * n; return this; }, rotateHue: function (a) { if (!this.hueInitialized) { this.hueInitialized = !0; this.preHue = new Za(); this.preHue.rotateRed(45); this.preHue.rotateGreen(-39.182655); var b = []; b[0] = Za.LUMA_R2; b[1] = Za.LUMA_G2; b[2] = Za.LUMA_B2; b[3] = 1; this.preHue.transformVector(b); var d = b[0] / b[2]; b = b[1] / b[2]; this.preHue.shearBlue(d, b); this.postHue = new Za(); this.postHue.shearBlue(-d, -b); this.postHue.rotateGreen(39.182655); this.postHue.rotateRed(-45); } d = this.preHue; b = this.m11; var e = this.m12, c = this.m13, g = this.m14; this.m11 = this.m11 * d.m11 + this.m12 * d.m21 + this.m13 * d.m31 + this.m14 * d.m41; this.m12 = b * d.m12 + this.m12 * d.m22 + this.m13 * d.m32 + this.m14 * d.m42; this.m13 = b * d.m13 + e * d.m23 + this.m13 * d.m33 + this.m14 * d.m43; this.m14 = b * d.m14 + e * d.m24 + c * d.m34 + this.m14 * d.m44; this.m15 = b * d.m15 + e * d.m25 + c * d.m35 + g * d.m45; b = this.m21; e = this.m22; c = this.m23; g = this.m24; this.m21 = this.m21 * d.m11 + this.m22 * d.m21 + this.m23 * d.m31 + this.m24 * d.m41; this.m22 = b * d.m12 + this.m22 * d.m22 + this.m23 * d.m32 + this.m24 * d.m42; this.m23 = b * d.m13 + e * d.m23 + this.m23 * d.m33 + this.m24 * d.m43; this.m24 = b * d.m14 + e * d.m24 + c * d.m34 + this.m24 * d.m44; this.m25 = b * d.m15 + e * d.m25 + c * d.m35 + g * d.m45; b = this.m31; e = this.m32; c = this.m33; g = this.m34; this.m31 = this.m31 * d.m11 + this.m32 * d.m21 + this.m33 * d.m31 + this.m34 * d.m41; this.m32 = b * d.m12 + this.m32 * d.m22 + this.m33 * d.m32 + this.m34 * d.m42; this.m33 = b * d.m13 + e * d.m23 + this.m33 * d.m33 + this.m34 * d.m43; this.m34 = b * d.m14 + e * d.m24 + c * d.m34 + this.m34 * d.m44; this.m35 = b * d.m15 + e * d.m25 + c * d.m35 + g * d.m45; b = this.m41; e = this.m42; c = this.m43; g = this.m44; this.m41 = this.m41 * d.m11 + this.m42 * d.m21 + this.m43 * d.m31 + this.m44 * d.m41; this.m42 = b * d.m12 + this.m42 * d.m22 + this.m43 * d.m32 + this.m44 * d.m42; this.m43 = b * d.m13 + e * d.m23 + this.m43 * d.m33 + this.m44 * d.m43; this.m44 = b * d.m14 + e * d.m24 + c * d.m34 + this.m44 * d.m44; this.m45 = b * d.m15 + e * d.m25 + c * d.m35 + g * d.m45; this.rotateBlue(a); d = this.postHue; b = this.m11; e = this.m12; c = this.m13; g = this.m14; this.m11 = this.m11 * d.m11 + this.m12 * d.m21 + this.m13 * d.m31 + this.m14 * d.m41; this.m12 = b * d.m12 + this.m12 * d.m22 + this.m13 * d.m32 + this.m14 * d.m42; this.m13 = b * d.m13 + e * d.m23 + this.m13 * d.m33 + this.m14 * d.m43; this.m14 = b * d.m14 + e * d.m24 + c * d.m34 + this.m14 * d.m44; this.m15 = b * d.m15 + e * d.m25 + c * d.m35 + g * d.m45; b = this.m21; e = this.m22; c = this.m23; g = this.m24; this.m21 = this.m21 * d.m11 + this.m22 * d.m21 + this.m23 * d.m31 + this.m24 * d.m41; this.m22 = b * d.m12 + this.m22 * d.m22 + this.m23 * d.m32 + this.m24 * d.m42; this.m23 = b * d.m13 + e * d.m23 + this.m23 * d.m33 + this.m24 * d.m43; this.m24 = b * d.m14 + e * d.m24 + c * d.m34 + this.m24 * d.m44; this.m25 = b * d.m15 + e * d.m25 + c * d.m35 + g * d.m45; b = this.m31; e = this.m32; c = this.m33; g = this.m34; this.m31 = this.m31 * d.m11 + this.m32 * d.m21 + this.m33 * d.m31 + this.m34 * d.m41; this.m32 = b * d.m12 + this.m32 * d.m22 + this.m33 * d.m32 + this.m34 * d.m42; this.m33 = b * d.m13 + e * d.m23 + this.m33 * d.m33 + this.m34 * d.m43; this.m34 = b * d.m14 + e * d.m24 + c * d.m34 + this.m34 * d.m44; this.m35 = b * d.m15 + e * d.m25 + c * d.m35 + g * d.m45; b = this.m41; e = this.m42; c = this.m43; g = this.m44; this.m41 = this.m41 * d.m11 + this.m42 * d.m21 + this.m43 * d.m31 + this.m44 * d.m41; this.m42 = b * d.m12 + this.m42 * d.m22 + this.m43 * d.m32 + this.m44 * d.m42; this.m43 = b * d.m13 + e * d.m23 + this.m43 * d.m33 + this.m44 * d.m43; this.m44 = b * d.m14 + e * d.m24 + c * d.m34 + this.m44 * d.m44; this.m45 = b * d.m15 + e * d.m25 + c * d.m35 + g * d.m45; return this; }, setChannels: function (a, b, d, e) { null == e && (e = 8); null == d && (d = 4); null == b && (b = 2); null == a && (a = 1); var c = (1 == (a & 1) ? 1 : 0) + (2 == (a & 2) ? 1 : 0) + (4 == (a & 4) ? 1 : 0) + (8 == (a & 8) ? 1 : 0); 0 < c && (c = 1 / c); var g = (1 == (b & 1) ? 1 : 0) + (2 == (b & 2) ? 1 : 0) + (4 == (b & 4) ? 1 : 0) + (8 == (b & 8) ? 1 : 0); 0 < g && (g = 1 / g); var l = (1 == (d & 1) ? 1 : 0) + (2 == (d & 2) ? 1 : 0) + (4 == (d & 4) ? 1 : 0) + (8 == (d & 8) ? 1 : 0); 0 < l && (l = 1 / l); var q = (1 == (e & 1) ? 1 : 0) + (2 == (e & 2) ? 1 : 0) + (4 == (e & 4) ? 1 : 0) + (8 == (e & 8) ? 1 : 0); 0 < q && (q = 1 / q); var h = 1 == (a & 1) ? c : 0, r = 2 == (a & 2) ? c : 0, k = 4 == (a & 4) ? c : 0; a = 8 == (a & 8) ? c : 0; c = 1 == (b & 1) ? g : 0; var p = 2 == (b & 2) ? g : 0, n = 4 == (b & 4) ? g : 0; b = 8 == (b & 8) ? g : 0; g = 1 == (d & 1) ? l : 0; var u = 2 == (d & 2) ? l : 0, m = 4 == (d & 4) ? l : 0; d = 8 == (d & 8) ? l : 0; l = 1 == (e & 1) ? q : 0; var t = 2 == (e & 2) ? q : 0, x = 4 == (e & 4) ? q : 0; e = 8 == (e & 8) ? q : 0; q = this.m11; var w = this.m12, v = this.m13, G = this.m14; this.m11 = this.m11 * h + this.m12 * c + this.m13 * g + this.m14 * l; this.m12 = q * r + this.m12 * p + this.m13 * u + this.m14 * t; this.m13 = q * k + w * n + this.m13 * m + this.m14 * x; this.m14 = q * a + w * b + v * d + this.m14 * e; this.m15 = 0 * q + 0 * w + 0 * v + 0 * G; q = this.m21; w = this.m22; v = this.m23; G = this.m24; this.m21 = this.m21 * h + this.m22 * c + this.m23 * g + this.m24 * l; this.m22 = q * r + this.m22 * p + this.m23 * u + this.m24 * t; this.m23 = q * k + w * n + this.m23 * m + this.m24 * x; this.m24 = q * a + w * b + v * d + this.m24 * e; this.m25 = 0 * q + 0 * w + 0 * v + 0 * G; q = this.m31; w = this.m32; v = this.m33; G = this.m34; this.m31 = this.m31 * h + this.m32 * c + this.m33 * g + this.m34 * l; this.m32 = q * r + this.m32 * p + this.m33 * u + this.m34 * t; this.m33 = q * k + w * n + this.m33 * m + this.m34 * x; this.m34 = q * a + w * b + v * d + this.m34 * e; this.m35 = 0 * q + 0 * w + 0 * v + 0 * G; q = this.m41; w = this.m42; v = this.m43; G = this.m44; this.m41 = this.m41 * h + this.m42 * c + this.m43 * g + this.m44 * l; this.m42 = q * r + this.m42 * p + this.m43 * u + this.m44 * t; this.m43 = q * k + w * n + this.m43 * m + this.m44 * x; this.m44 = q * a + w * b + v * d + this.m44 * e; this.m45 = 0 * q + 0 * w + 0 * v + 0 * G; return this; }, average: function (a, b, d) { null == d && (d = 0.33333333); null == b && (b = 0.33333333); null == a && (a = 0.33333333); var e = this.m11, c = this.m12, g = this.m13, l = this.m14; this.m11 = this.m11 * a + this.m12 * a + this.m13 * a + 0 * this.m14; this.m12 = e * b + this.m12 * b + this.m13 * b + 0 * this.m14; this.m13 = e * d + c * d + this.m13 * d + 0 * this.m14; this.m14 = 0 * e + 0 * c + 0 * g + this.m14; this.m15 = 0 * e + 0 * c + 0 * g + 0 * l; e = this.m21; c = this.m22; g = this.m23; l = this.m24; this.m21 = this.m21 * a + this.m22 * a + this.m23 * a + 0 * this.m24; this.m22 = e * b + this.m22 * b + this.m23 * b + 0 * this.m24; this.m23 = e * d + c * d + this.m23 * d + 0 * this.m24; this.m24 = 0 * e + 0 * c + 0 * g + this.m24; this.m25 = 0 * e + 0 * c + 0 * g + 0 * l; e = this.m31; c = this.m32; g = this.m33; l = this.m34; this.m31 = this.m31 * a + this.m32 * a + this.m33 * a + 0 * this.m34; this.m32 = e * b + this.m32 * b + this.m33 * b + 0 * this.m34; this.m33 = e * d + c * d + this.m33 * d + 0 * this.m34; this.m34 = 0 * e + 0 * c + 0 * g + this.m34; this.m35 = 0 * e + 0 * c + 0 * g + 0 * l; e = this.m41; c = this.m42; g = this.m43; l = this.m44; this.m41 = this.m41 * a + this.m42 * a + this.m43 * a + 0 * this.m44; this.m42 = e * b + this.m42 * b + this.m43 * b + 0 * this.m44; this.m43 = e * d + c * d + this.m43 * d + 0 * this.m44; this.m44 = 0 * e + 0 * c + 0 * g + this.m44; this.m45 = 0 * e + 0 * c + 0 * g + 0 * l; return this; }, threshold: function (a, b) { null == b && (b = 256); var d = Za.LUMA_R * b, e = Za.LUMA_G * b, c = Za.LUMA_B * b, g = -b * a, l = Za.LUMA_R * b, q = Za.LUMA_G * b, h = Za.LUMA_B * b, r = -b * a, k = Za.LUMA_R * b, p = Za.LUMA_G * b, n = Za.LUMA_B * b; a *= -b; b = this.m11; var u = this.m12, m = this.m13, t = this.m14; this.m11 = this.m11 * d + this.m12 * l + this.m13 * k + 0 * this.m14; this.m12 = b * e + this.m12 * q + this.m13 * p + 0 * this.m14; this.m13 = b * c + u * h + this.m13 * n + 0 * this.m14; this.m14 = 0 * b + 0 * u + 0 * m + this.m14; this.m15 = b * g + u * r + m * a + 0 * t; b = this.m21; u = this.m22; m = this.m23; t = this.m24; this.m21 = this.m21 * d + this.m22 * l + this.m23 * k + 0 * this.m24; this.m22 = b * e + this.m22 * q + this.m23 * p + 0 * this.m24; this.m23 = b * c + u * h + this.m23 * n + 0 * this.m24; this.m24 = 0 * b + 0 * u + 0 * m + this.m24; this.m25 = b * g + u * r + m * a + 0 * t; b = this.m31; u = this.m32; m = this.m33; t = this.m34; this.m31 = this.m31 * d + this.m32 * l + this.m33 * k + 0 * this.m34; this.m32 = b * e + this.m32 * q + this.m33 * p + 0 * this.m34; this.m33 = b * c + u * h + this.m33 * n + 0 * this.m34; this.m34 = 0 * b + 0 * u + 0 * m + this.m34; this.m35 = b * g + u * r + m * a + 0 * t; b = this.m41; u = this.m42; m = this.m43; t = this.m44; this.m41 = this.m41 * d + this.m42 * l + this.m43 * k + 0 * this.m44; this.m42 = b * e + this.m42 * q + this.m43 * p + 0 * this.m44; this.m43 = b * c + u * h + this.m43 * n + 0 * this.m44; this.m44 = 0 * b + 0 * u + 0 * m + this.m44; this.m45 = b * g + u * r + m * a + 0 * t; return this; }, desaturate: function () { var a = Za.LUMA_R, b = Za.LUMA_G, d = Za.LUMA_B, e = Za.LUMA_R, c = Za.LUMA_G, g = Za.LUMA_B, l = Za.LUMA_R, q = Za.LUMA_G, h = Za.LUMA_B, r = this.m11, k = this.m12, p = this.m13, n = this.m14; this.m11 = this.m11 * a + this.m12 * e + this.m13 * l + 0 * this.m14; this.m12 = r * b + this.m12 * c + this.m13 * q + 0 * this.m14; this.m13 = r * d + k * g + this.m13 * h + 0 * this.m14; this.m14 = 0 * r + 0 * k + 0 * p + this.m14; this.m15 = 0 * r + 0 * k + 0 * p + 0 * n; r = this.m21; k = this.m22; p = this.m23; n = this.m24; this.m21 = this.m21 * a + this.m22 * e + this.m23 * l + 0 * this.m24; this.m22 = r * b + this.m22 * c + this.m23 * q + 0 * this.m24; this.m23 = r * d + k * g + this.m23 * h + 0 * this.m24; this.m24 = 0 * r + 0 * k + 0 * p + this.m24; this.m25 = 0 * r + 0 * k + 0 * p + 0 * n; r = this.m31; k = this.m32; p = this.m33; n = this.m34; this.m31 = this.m31 * a + this.m32 * e + this.m33 * l + 0 * this.m34; this.m32 = r * b + this.m32 * c + this.m33 * q + 0 * this.m34; this.m33 = r * d + k * g + this.m33 * h + 0 * this.m34; this.m34 = 0 * r + 0 * k + 0 * p + this.m34; this.m35 = 0 * r + 0 * k + 0 * p + 0 * n; r = this.m41; k = this.m42; p = this.m43; n = this.m44; this.m41 = this.m41 * a + this.m42 * e + this.m43 * l + 0 * this.m44; this.m42 = r * b + this.m42 * c + this.m43 * q + 0 * this.m44; this.m43 = r * d + k * g + this.m43 * h + 0 * this.m44; this.m44 = 0 * r + 0 * k + 0 * p + this.m44; this.m45 = 0 * r + 0 * k + 0 * p + 0 * n; return this; }, setMultiplicators: function (a, b, d, e) { null == e && (e = 1); null == d && (d = 1); null == b && (b = 1); null == a && (a = 1); var c = this.m11, g = this.m12, l = this.m13, q = this.m14; this.m11 = this.m11 * a + 0 * this.m12 + 0 * this.m13 + 0 * this.m14; this.m12 = 0 * c + this.m12 * b + 0 * this.m13 + 0 * this.m14; this.m13 = 0 * c + 0 * g + this.m13 * d + 0 * this.m14; this.m14 = 0 * c + 0 * g + 0 * l + this.m14 * e; this.m15 = 0 * c + 0 * g + 0 * l + 0 * q; c = this.m21; g = this.m22; l = this.m23; q = this.m24; this.m21 = this.m21 * a + 0 * this.m22 + 0 * this.m23 + 0 * this.m24; this.m22 = 0 * c + this.m22 * b + 0 * this.m23 + 0 * this.m24; this.m23 = 0 * c + 0 * g + this.m23 * d + 0 * this.m24; this.m24 = 0 * c + 0 * g + 0 * l + this.m24 * e; this.m25 = 0 * c + 0 * g + 0 * l + 0 * q; c = this.m31; g = this.m32; l = this.m33; q = this.m34; this.m31 = this.m31 * a + 0 * this.m32 + 0 * this.m33 + 0 * this.m34; this.m32 = 0 * c + this.m32 * b + 0 * this.m33 + 0 * this.m34; this.m33 = 0 * c + 0 * g + this.m33 * d + 0 * this.m34; this.m34 = 0 * c + 0 * g + 0 * l + this.m34 * e; this.m35 = 0 * c + 0 * g + 0 * l + 0 * q; c = this.m41; g = this.m42; l = this.m43; q = this.m44; this.m41 = this.m41 * a + 0 * this.m42 + 0 * this.m43 + 0 * this.m44; this.m42 = 0 * c + this.m42 * b + 0 * this.m43 + 0 * this.m44; this.m43 = 0 * c + 0 * g + this.m43 * d + 0 * this.m44; this.m44 = 0 * c + 0 * g + 0 * l + this.m44 * e; this.m45 = 0 * c + 0 * g + 0 * l + 0 * q; return this; }, clearChannels: function (a, b, d, e) { null == e && (e = !1); null == d && (d = !1); null == b && (b = !1); null == a && (a = !1); a && (this.m11 = this.m12 = this.m13 = this.m14 = this.m15 = 0); b && (this.m21 = this.m22 = this.m23 = this.m24 = this.m25 = 0); d && (this.m31 = this.m32 = this.m33 = this.m34 = this.m35 = 0); e && (this.m41 = this.m42 = this.m43 = this.m44 = this.m45 = 0); return this; }, thresholdAlpha: function (a, b) { null == b && (b = 256); a *= -b; var d = this.m11, e = this.m12, c = this.m13, g = this.m14; this.m11 = this.m11 + 0 * this.m12 + 0 * this.m13 + 0 * this.m14; this.m12 = 0 * d + this.m12 + 0 * this.m13 + 0 * this.m14; this.m13 = 0 * d + 0 * e + this.m13 + 0 * this.m14; this.m14 = 0 * d + 0 * e + 0 * c + this.m14 * b; this.m15 = 0 * d + 0 * e + 0 * c + g * a; d = this.m21; e = this.m22; c = this.m23; g = this.m24; this.m21 = this.m21 + 0 * this.m22 + 0 * this.m23 + 0 * this.m24; this.m22 = 0 * d + this.m22 + 0 * this.m23 + 0 * this.m24; this.m23 = 0 * d + 0 * e + this.m23 + 0 * this.m24; this.m24 = 0 * d + 0 * e + 0 * c + this.m24 * b; this.m25 = 0 * d + 0 * e + 0 * c + g * a; d = this.m31; e = this.m32; c = this.m33; g = this.m34; this.m31 = this.m31 + 0 * this.m32 + 0 * this.m33 + 0 * this.m34; this.m32 = 0 * d + this.m32 + 0 * this.m33 + 0 * this.m34; this.m33 = 0 * d + 0 * e + this.m33 + 0 * this.m34; this.m34 = 0 * d + 0 * e + 0 * c + this.m34 * b; this.m35 = 0 * d + 0 * e + 0 * c + g * a; d = this.m41; e = this.m42; c = this.m43; g = this.m44; this.m41 = this.m41 + 0 * this.m42 + 0 * this.m43 + 0 * this.m44; this.m42 = 0 * d + this.m42 + 0 * this.m43 + 0 * this.m44; this.m43 = 0 * d + 0 * e + this.m43 + 0 * this.m44; this.m44 = 0 * d + 0 * e + 0 * c + this.m44 * b; this.m45 = 0 * d + 0 * e + 0 * c + g * a; return this; }, averageRGB2Alpha: function () { var a = Za.INV3, b = Za.INV3, d = Za.INV3, e = this.m11, c = this.m12, g = this.m13, l = this.m14; this.m11 = 0 * this.m11 + 0 * this.m12 + 0 * this.m13 + this.m14 * a; this.m12 = 0 * e + 0 * this.m12 + 0 * this.m13 + this.m14 * b; this.m13 = 0 * e + 0 * c + 0 * this.m13 + this.m14 * d; this.m14 = 0 * e + 0 * c + 0 * g + 0 * this.m14; this.m15 = 255 * e + 255 * c + 255 * g + 0 * l; e = this.m21; c = this.m22; g = this.m23; l = this.m24; this.m21 = 0 * this.m21 + 0 * this.m22 + 0 * this.m23 + this.m24 * a; this.m22 = 0 * e + 0 * this.m22 + 0 * this.m23 + this.m24 * b; this.m23 = 0 * e + 0 * c + 0 * this.m23 + this.m24 * d; this.m24 = 0 * e + 0 * c + 0 * g + 0 * this.m24; this.m25 = 255 * e + 255 * c + 255 * g + 0 * l; e = this.m31; c = this.m32; g = this.m33; l = this.m34; this.m31 = 0 * this.m31 + 0 * this.m32 + 0 * this.m33 + this.m34 * a; this.m32 = 0 * e + 0 * this.m32 + 0 * this.m33 + this.m34 * b; this.m33 = 0 * e + 0 * c + 0 * this.m33 + this.m34 * d; this.m34 = 0 * e + 0 * c + 0 * g + 0 * this.m34; this.m35 = 255 * e + 255 * c + 255 * g + 0 * l; e = this.m41; c = this.m42; g = this.m43; l = this.m44; this.m41 = 0 * this.m41 + 0 * this.m42 + 0 * this.m43 + this.m44 * a; this.m42 = 0 * e + 0 * this.m42 + 0 * this.m43 + this.m44 * b; this.m43 = 0 * e + 0 * c + 0 * this.m43 + this.m44 * d; this.m44 = 0 * e + 0 * c + 0 * g + 0 * this.m44; this.m45 = 255 * e + 255 * c + 255 * g + 0 * l; return this; }, invertAlpha: function () { var a = this.m11, b = this.m12, d = this.m13, e = this.m14; this.m11 = this.m11 + 0 * this.m12 + 0 * this.m13 + 0 * this.m14; this.m12 = 0 * a + this.m12 + 0 * this.m13 + 0 * this.m14; this.m13 = 0 * a + 0 * b + this.m13 + 0 * this.m14; this.m14 = 0 * a + 0 * b + 0 * d + -1 * this.m14; this.m15 = 0 * a + 0 * b + 0 * d + 255 * e; a = this.m21; b = this.m22; d = this.m23; e = this.m24; this.m21 = this.m21 + 0 * this.m22 + 0 * this.m23 + 0 * this.m24; this.m22 = 0 * a + this.m22 + 0 * this.m23 + 0 * this.m24; this.m23 = 0 * a + 0 * b + this.m23 + 0 * this.m24; this.m24 = 0 * a + 0 * b + 0 * d + -1 * this.m24; this.m25 = 0 * a + 0 * b + 0 * d + 255 * e; a = this.m31; b = this.m32; d = this.m33; e = this.m34; this.m31 = this.m31 + 0 * this.m32 + 0 * this.m33 + 0 * this.m34; this.m32 = 0 * a + this.m32 + 0 * this.m33 + 0 * this.m34; this.m33 = 0 * a + 0 * b + this.m33 + 0 * this.m34; this.m34 = 0 * a + 0 * b + 0 * d + -1 * this.m34; this.m35 = 0 * a + 0 * b + 0 * d + 255 * e; a = this.m41; b = this.m42; d = this.m43; e = this.m44; this.m41 = this.m41 + 0 * this.m42 + 0 * this.m43 + 0 * this.m44; this.m42 = 0 * a + this.m42 + 0 * this.m43 + 0 * this.m44; this.m43 = 0 * a + 0 * b + this.m43 + 0 * this.m44; this.m44 = 0 * a + 0 * b + 0 * d + -1 * this.m44; this.m45 = 0 * a + 0 * b + 0 * d + 255 * e; return this; }, rgb2Alpha: function (a, b, d) { var e = this.m11, c = this.m12, g = this.m13, l = this.m14; this.m11 = 0 * this.m11 + 0 * this.m12 + 0 * this.m13 + this.m14 * a; this.m12 = 0 * e + 0 * this.m12 + 0 * this.m13 + this.m14 * b; this.m13 = 0 * e + 0 * c + 0 * this.m13 + this.m14 * d; this.m14 = 0 * e + 0 * c + 0 * g + 0 * this.m14; this.m15 = 255 * e + 255 * c + 255 * g + 0 * l; e = this.m21; c = this.m22; g = this.m23; l = this.m24; this.m21 = 0 * this.m21 + 0 * this.m22 + 0 * this.m23 + this.m24 * a; this.m22 = 0 * e + 0 * this.m22 + 0 * this.m23 + this.m24 * b; this.m23 = 0 * e + 0 * c + 0 * this.m23 + this.m24 * d; this.m24 = 0 * e + 0 * c + 0 * g + 0 * this.m24; this.m25 = 255 * e + 255 * c + 255 * g + 0 * l; e = this.m31; c = this.m32; g = this.m33; l = this.m34; this.m31 = 0 * this.m31 + 0 * this.m32 + 0 * this.m33 + this.m34 * a; this.m32 = 0 * e + 0 * this.m32 + 0 * this.m33 + this.m34 * b; this.m33 = 0 * e + 0 * c + 0 * this.m33 + this.m34 * d; this.m34 = 0 * e + 0 * c + 0 * g + 0 * this.m34; this.m35 = 255 * e + 255 * c + 255 * g + 0 * l; e = this.m41; c = this.m42; g = this.m43; l = this.m44; this.m41 = 0 * this.m41 + 0 * this.m42 + 0 * this.m43 + this.m44 * a; this.m42 = 0 * e + 0 * this.m42 + 0 * this.m43 + this.m44 * b; this.m43 = 0 * e + 0 * c + 0 * this.m43 + this.m44 * d; this.m44 = 0 * e + 0 * c + 0 * g + 0 * this.m44; this.m45 = 255 * e + 255 * c + 255 * g + 0 * l; return this; }, setAlpha: function (a) { var b = this.m11, d = this.m12, e = this.m13, c = this.m14; this.m11 = this.m11 + 0 * this.m12 + 0 * this.m13 + 0 * this.m14; this.m12 = 0 * b + this.m12 + 0 * this.m13 + 0 * this.m14; this.m13 = 0 * b + 0 * d + this.m13 + 0 * this.m14; this.m14 = 0 * b + 0 * d + 0 * e + this.m14 * a; this.m15 = 0 * b + 0 * d + 0 * e + 0 * c; b = this.m21; d = this.m22; e = this.m23; c = this.m24; this.m21 = this.m21 + 0 * this.m22 + 0 * this.m23 + 0 * this.m24; this.m22 = 0 * b + this.m22 + 0 * this.m23 + 0 * this.m24; this.m23 = 0 * b + 0 * d + this.m23 + 0 * this.m24; this.m24 = 0 * b + 0 * d + 0 * e + this.m24 * a; this.m25 = 0 * b + 0 * d + 0 * e + 0 * c; b = this.m31; d = this.m32; e = this.m33; c = this.m34; this.m31 = this.m31 + 0 * this.m32 + 0 * this.m33 + 0 * this.m34; this.m32 = 0 * b + this.m32 + 0 * this.m33 + 0 * this.m34; this.m33 = 0 * b + 0 * d + this.m33 + 0 * this.m34; this.m34 = 0 * b + 0 * d + 0 * e + this.m34 * a; this.m35 = 0 * b + 0 * d + 0 * e + 0 * c; b = this.m41; d = this.m42; e = this.m43; c = this.m44; this.m41 = this.m41 + 0 * this.m42 + 0 * this.m43 + 0 * this.m44; this.m42 = 0 * b + this.m42 + 0 * this.m43 + 0 * this.m44; this.m43 = 0 * b + 0 * d + this.m43 + 0 * this.m44; this.m44 = 0 * b + 0 * d + 0 * e + this.m44 * a; this.m45 = 0 * b + 0 * d + 0 * e + 0 * c; return this; }, rotateRed: function (a) { a *= 0.01745329251994278; var b = Math.cos(a); a = Math.cos(a); this.m11 = 1; this.m21 = this.m15 = this.m14 = this.m13 = this.m12 = 0; this.m22 = b; this.m23 = -a; this.m31 = this.m25 = this.m24 = 0; this.m32 = a; this.m33 = b; this.m43 = this.m42 = this.m41 = this.m35 = this.m34 = 0; this.m44 = 1; this.m45 = 0; return this; }, rotateGreen: function (a) { a *= 0.01745329251994278; var b = Math.cos(a); a = Math.cos(a); this.m11 = b; this.m12 = 0; this.m13 = a; this.m21 = this.m15 = this.m14 = 0; this.m22 = 1; this.m25 = this.m24 = this.m23 = 0; this.m31 = -a; this.m32 = 0; this.m33 = b; this.m43 = this.m42 = this.m41 = this.m35 = this.m34 = 0; this.m44 = 1; this.m45 = 0; return this; }, rotateBlue: function (a) { a *= 0.01745329251994278; var b = Math.cos(a); a = Math.cos(a); this.m11 = b; this.m12 = -a; this.m15 = this.m14 = this.m13 = 0; this.m21 = a; this.m22 = b; this.m32 = this.m31 = this.m25 = this.m24 = this.m23 = 0; this.m33 = 1; this.m43 = this.m42 = this.m41 = this.m35 = this.m34 = 0; this.m44 = 1; this.m45 = 0; return this; }, shearRed: function (a, b) { this.m11 = 1; this.m12 = a; this.m13 = b; this.m21 = this.m15 = this.m14 = 0; this.m22 = 1; this.m32 = this.m31 = this.m25 = this.m24 = this.m23 = 0; this.m33 = 1; this.m43 = this.m42 = this.m41 = this.m35 = this.m34 = 0; this.m44 = 1; this.m45 = 0; return this; }, shearGreen: function (a, b) { this.m11 = 1; this.m15 = this.m14 = this.m13 = this.m12 = 0; this.m21 = a; this.m22 = 1; this.m23 = b; this.m32 = this.m31 = this.m25 = this.m24 = 0; this.m33 = 1; this.m43 = this.m42 = this.m41 = this.m35 = this.m34 = 0; this.m44 = 1; this.m45 = 0; return this; }, shearBlue: function (a, b) { this.m11 = 1; this.m21 = this.m15 = this.m14 = this.m13 = this.m12 = 0; this.m22 = 1; this.m25 = this.m24 = this.m23 = 0; this.m31 = a; this.m32 = b; this.m33 = 1; this.m43 = this.m42 = this.m41 = this.m35 = this.m34 = 0; this.m44 = 1; this.m45 = 0; return this; }, applyColorDeficiency: function (a) { switch (a._hx_index) { case 0: a = this.m11; var b = this.m12, d = this.m13, e = this.m14; this.m11 = 0.567 * this.m11 + 0.558 * this.m12 + 0 * this.m13 + 0 * this.m14; this.m12 = 0.433 * a + 0.442 * this.m12 + 0.242 * this.m13 + 0 * this.m14; this.m13 = 0 * a + 0 * b + 0.758 * this.m13 + 0 * this.m14; this.m14 = 0 * a + 0 * b + 0 * d + this.m14; this.m15 = 0 * a + 0 * b + 0 * d + 0 * e; a = this.m21; b = this.m22; d = this.m23; e = this.m24; this.m21 = 0.567 * this.m21 + 0.558 * this.m22 + 0 * this.m23 + 0 * this.m24; this.m22 = 0.433 * a + 0.442 * this.m22 + 0.242 * this.m23 + 0 * this.m24; this.m23 = 0 * a + 0 * b + 0.758 * this.m23 + 0 * this.m24; this.m24 = 0 * a + 0 * b + 0 * d + this.m24; this.m25 = 0 * a + 0 * b + 0 * d + 0 * e; a = this.m31; b = this.m32; d = this.m33; e = this.m34; this.m31 = 0.567 * this.m31 + 0.558 * this.m32 + 0 * this.m33 + 0 * this.m34; this.m32 = 0.433 * a + 0.442 * this.m32 + 0.242 * this.m33 + 0 * this.m34; this.m33 = 0 * a + 0 * b + 0.758 * this.m33 + 0 * this.m34; this.m34 = 0 * a + 0 * b + 0 * d + this.m34; this.m35 = 0 * a + 0 * b + 0 * d + 0 * e; a = this.m41; b = this.m42; d = this.m43; e = this.m44; this.m41 = 0.567 * this.m41 + 0.558 * this.m42 + 0 * this.m43 + 0 * this.m44; this.m42 = 0.433 * a + 0.442 * this.m42 + 0.242 * this.m43 + 0 * this.m44; this.m43 = 0 * a + 0 * b + 0.758 * this.m43 + 0 * this.m44; this.m44 = 0 * a + 0 * b + 0 * d + this.m44; this.m45 = 0 * a + 0 * b + 0 * d + 0 * e; break; case 1: a = this.m11; b = this.m12; d = this.m13; e = this.m14; this.m11 = 0.817 * this.m11 + 0.333 * this.m12 + 0 * this.m13 + 0 * this.m14; this.m12 = 0.183 * a + 0.667 * this.m12 + 0.125 * this.m13 + 0 * this.m14; this.m13 = 0 * a + 0 * b + 0.875 * this.m13 + 0 * this.m14; this.m14 = 0 * a + 0 * b + 0 * d + this.m14; this.m15 = 0 * a + 0 * b + 0 * d + 0 * e; a = this.m21; b = this.m22; d = this.m23; e = this.m24; this.m21 = 0.817 * this.m21 + 0.333 * this.m22 + 0 * this.m23 + 0 * this.m24; this.m22 = 0.183 * a + 0.667 * this.m22 + 0.125 * this.m23 + 0 * this.m24; this.m23 = 0 * a + 0 * b + 0.875 * this.m23 + 0 * this.m24; this.m24 = 0 * a + 0 * b + 0 * d + this.m24; this.m25 = 0 * a + 0 * b + 0 * d + 0 * e; a = this.m31; b = this.m32; d = this.m33; e = this.m34; this.m31 = 0.817 * this.m31 + 0.333 * this.m32 + 0 * this.m33 + 0 * this.m34; this.m32 = 0.183 * a + 0.667 * this.m32 + 0.125 * this.m33 + 0 * this.m34; this.m33 = 0 * a + 0 * b + 0.875 * this.m33 + 0 * this.m34; this.m34 = 0 * a + 0 * b + 0 * d + this.m34; this.m35 = 0 * a + 0 * b + 0 * d + 0 * e; a = this.m41; b = this.m42; d = this.m43; e = this.m44; this.m41 = 0.817 * this.m41 + 0.333 * this.m42 + 0 * this.m43 + 0 * this.m44; this.m42 = 0.183 * a + 0.667 * this.m42 + 0.125 * this.m43 + 0 * this.m44; this.m43 = 0 * a + 0 * b + 0.875 * this.m43 + 0 * this.m44; this.m44 = 0 * a + 0 * b + 0 * d + this.m44; this.m45 = 0 * a + 0 * b + 0 * d + 0 * e; break; case 2: a = this.m11; b = this.m12; d = this.m13; e = this.m14; this.m11 = 0.625 * this.m11 + 0.7 * this.m12 + 0 * this.m13 + 0 * this.m14; this.m12 = 0.375 * a + 0.3 * this.m12 + 0.3 * this.m13 + 0 * this.m14; this.m13 = 0 * a + 0 * b + 0.7 * this.m13 + 0 * this.m14; this.m14 = 0 * a + 0 * b + 0 * d + this.m14; this.m15 = 0 * a + 0 * b + 0 * d + 0 * e; a = this.m21; b = this.m22; d = this.m23; e = this.m24; this.m21 = 0.625 * this.m21 + 0.7 * this.m22 + 0 * this.m23 + 0 * this.m24; this.m22 = 0.375 * a + 0.3 * this.m22 + 0.3 * this.m23 + 0 * this.m24; this.m23 = 0 * a + 0 * b + 0.7 * this.m23 + 0 * this.m24; this.m24 = 0 * a + 0 * b + 0 * d + this.m24; this.m25 = 0 * a + 0 * b + 0 * d + 0 * e; a = this.m31; b = this.m32; d = this.m33; e = this.m34; this.m31 = 0.625 * this.m31 + 0.7 * this.m32 + 0 * this.m33 + 0 * this.m34; this.m32 = 0.375 * a + 0.3 * this.m32 + 0.3 * this.m33 + 0 * this.m34; this.m33 = 0 * a + 0 * b + 0.7 * this.m33 + 0 * this.m34; this.m34 = 0 * a + 0 * b + 0 * d + this.m34; this.m35 = 0 * a + 0 * b + 0 * d + 0 * e; a = this.m41; b = this.m42; d = this.m43; e = this.m44; this.m41 = 0.625 * this.m41 + 0.7 * this.m42 + 0 * this.m43 + 0 * this.m44; this.m42 = 0.375 * a + 0.3 * this.m42 + 0.3 * this.m43 + 0 * this.m44; this.m43 = 0 * a + 0 * b + 0.7 * this.m43 + 0 * this.m44; this.m44 = 0 * a + 0 * b + 0 * d + this.m44; this.m45 = 0 * a + 0 * b + 0 * d + 0 * e; break; case 3: a = this.m11; b = this.m12; d = this.m13; e = this.m14; this.m11 = 0.8 * this.m11 + 0.258 * this.m12 + 0 * this.m13 + 0 * this.m14; this.m12 = 0.2 * a + 0.742 * this.m12 + 0.142 * this.m13 + 0 * this.m14; this.m13 = 0 * a + 0 * b + 0.858 * this.m13 + 0 * this.m14; this.m14 = 0 * a + 0 * b + 0 * d + this.m14; this.m15 = 0 * a + 0 * b + 0 * d + 0 * e; a = this.m21; b = this.m22; d = this.m23; e = this.m24; this.m21 = 0.8 * this.m21 + 0.258 * this.m22 + 0 * this.m23 + 0 * this.m24; this.m22 = 0.2 * a + 0.742 * this.m22 + 0.142 * this.m23 + 0 * this.m24; this.m23 = 0 * a + 0 * b + 0.858 * this.m23 + 0 * this.m24; this.m24 = 0 * a + 0 * b + 0 * d + this.m24; this.m25 = 0 * a + 0 * b + 0 * d + 0 * e; a = this.m31; b = this.m32; d = this.m33; e = this.m34; this.m31 = 0.8 * this.m31 + 0.258 * this.m32 + 0 * this.m33 + 0 * this.m34; this.m32 = 0.2 * a + 0.742 * this.m32 + 0.142 * this.m33 + 0 * this.m34; this.m33 = 0 * a + 0 * b + 0.858 * this.m33 + 0 * this.m34; this.m34 = 0 * a + 0 * b + 0 * d + this.m34; this.m35 = 0 * a + 0 * b + 0 * d + 0 * e; a = this.m41; b = this.m42; d = this.m43; e = this.m44; this.m41 = 0.8 * this.m41 + 0.258 * this.m42 + 0 * this.m43 + 0 * this.m44; this.m42 = 0.2 * a + 0.742 * this.m42 + 0.142 * this.m43 + 0 * this.m44; this.m43 = 0 * a + 0 * b + 0.858 * this.m43 + 0 * this.m44; this.m44 = 0 * a + 0 * b + 0 * d + this.m44; this.m45 = 0 * a + 0 * b + 0 * d + 0 * e; break; case 4: a = this.m11; b = this.m12; d = this.m13; e = this.m14; this.m11 = 0.95 * this.m11 + 0 * this.m12 + 0 * this.m13 + 0 * this.m14; this.m12 = 0.05 * a + 0.433 * this.m12 + 0.475 * this.m13 + 0 * this.m14; this.m13 = 0 * a + 0.567 * b + 0.525 * this.m13 + 0 * this.m14; this.m14 = 0 * a + 0 * b + 0 * d + this.m14; this.m15 = 0 * a + 0 * b + 0 * d + 0 * e; a = this.m21; b = this.m22; d = this.m23; e = this.m24; this.m21 = 0.95 * this.m21 + 0 * this.m22 + 0 * this.m23 + 0 * this.m24; this.m22 = 0.05 * a + 0.433 * this.m22 + 0.475 * this.m23 + 0 * this.m24; this.m23 = 0 * a + 0.567 * b + 0.525 * this.m23 + 0 * this.m24; this.m24 = 0 * a + 0 * b + 0 * d + this.m24; this.m25 = 0 * a + 0 * b + 0 * d + 0 * e; a = this.m31; b = this.m32; d = this.m33; e = this.m34; this.m31 = 0.95 * this.m31 + 0 * this.m32 + 0 * this.m33 + 0 * this.m34; this.m32 = 0.05 * a + 0.433 * this.m32 + 0.475 * this.m33 + 0 * this.m34; this.m33 = 0 * a + 0.567 * b + 0.525 * this.m33 + 0 * this.m34; this.m34 = 0 * a + 0 * b + 0 * d + this.m34; this.m35 = 0 * a + 0 * b + 0 * d + 0 * e; a = this.m41; b = this.m42; d = this.m43; e = this.m44; this.m41 = 0.95 * this.m41 + 0 * this.m42 + 0 * this.m43 + 0 * this.m44; this.m42 = 0.05 * a + 0.433 * this.m42 + 0.475 * this.m43 + 0 * this.m44; this.m43 = 0 * a + 0.567 * b + 0.525 * this.m43 + 0 * this.m44; this.m44 = 0 * a + 0 * b + 0 * d + this.m44; this.m45 = 0 * a + 0 * b + 0 * d + 0 * e; break; case 5: a = this.m11; b = this.m12; d = this.m13; e = this.m14; this.m11 = 0.967 * this.m11 + 0 * this.m12 + 0 * this.m13 + 0 * this.m14; this.m12 = 0.033 * a + 0.733 * this.m12 + 0.183 * this.m13 + 0 * this.m14; this.m13 = 0 * a + 0.267 * b + 0.817 * this.m13 + 0 * this.m14; this.m14 = 0 * a + 0 * b + 0 * d + this.m14; this.m15 = 0 * a + 0 * b + 0 * d + 0 * e; a = this.m21; b = this.m22; d = this.m23; e = this.m24; this.m21 = 0.967 * this.m21 + 0 * this.m22 + 0 * this.m23 + 0 * this.m24; this.m22 = 0.033 * a + 0.733 * this.m22 + 0.183 * this.m23 + 0 * this.m24; this.m23 = 0 * a + 0.267 * b + 0.817 * this.m23 + 0 * this.m24; this.m24 = 0 * a + 0 * b + 0 * d + this.m24; this.m25 = 0 * a + 0 * b + 0 * d + 0 * e; a = this.m31; b = this.m32; d = this.m33; e = this.m34; this.m31 = 0.967 * this.m31 + 0 * this.m32 + 0 * this.m33 + 0 * this.m34; this.m32 = 0.033 * a + 0.733 * this.m32 + 0.183 * this.m33 + 0 * this.m34; this.m33 = 0 * a + 0.267 * b + 0.817 * this.m33 + 0 * this.m34; this.m34 = 0 * a + 0 * b + 0 * d + this.m34; this.m35 = 0 * a + 0 * b + 0 * d + 0 * e; a = this.m41; b = this.m42; d = this.m43; e = this.m44; this.m41 = 0.967 * this.m41 + 0 * this.m42 + 0 * this.m43 + 0 * this.m44; this.m42 = 0.033 * a + 0.733 * this.m42 + 0.183 * this.m43 + 0 * this.m44; this.m43 = 0 * a + 0.267 * b + 0.817 * this.m43 + 0 * this.m44; this.m44 = 0 * a + 0 * b + 0 * d + this.m44; this.m45 = 0 * a + 0 * b + 0 * d + 0 * e; break; case 6: a = this.m11; b = this.m12; d = this.m13; e = this.m14; this.m11 = 0.299 * this.m11 + 0.299 * this.m12 + 0.299 * this.m13 + 0 * this.m14; this.m12 = 0.587 * a + 0.587 * this.m12 + 0.587 * this.m13 + 0 * this.m14; this.m13 = 0.114 * a + 0.114 * b + 0.114 * this.m13 + 0 * this.m14; this.m14 = 0 * a + 0 * b + 0 * d + this.m14; this.m15 = 0 * a + 0 * b + 0 * d + 0 * e; a = this.m21; b = this.m22; d = this.m23; e = this.m24; this.m21 = 0.299 * this.m21 + 0.299 * this.m22 + 0.299 * this.m23 + 0 * this.m24; this.m22 = 0.587 * a + 0.587 * this.m22 + 0.587 * this.m23 + 0 * this.m24; this.m23 = 0.114 * a + 0.114 * b + 0.114 * this.m23 + 0 * this.m24; this.m24 = 0 * a + 0 * b + 0 * d + this.m24; this.m25 = 0 * a + 0 * b + 0 * d + 0 * e; a = this.m31; b = this.m32; d = this.m33; e = this.m34; this.m31 = 0.299 * this.m31 + 0.299 * this.m32 + 0.299 * this.m33 + 0 * this.m34; this.m32 = 0.587 * a + 0.587 * this.m32 + 0.587 * this.m33 + 0 * this.m34; this.m33 = 0.114 * a + 0.114 * b + 0.114 * this.m33 + 0 * this.m34; this.m34 = 0 * a + 0 * b + 0 * d + this.m34; this.m35 = 0 * a + 0 * b + 0 * d + 0 * e; a = this.m41; b = this.m42; d = this.m43; e = this.m44; this.m41 = 0.299 * this.m41 + 0.299 * this.m42 + 0.299 * this.m43 + 0 * this.m44; this.m42 = 0.587 * a + 0.587 * this.m42 + 0.587 * this.m43 + 0 * this.m44; this.m43 = 0.114 * a + 0.114 * b + 0.114 * this.m43 + 0 * this.m44; this.m44 = 0 * a + 0 * b + 0 * d + this.m44; this.m45 = 0 * a + 0 * b + 0 * d + 0 * e; break; case 7: (a = this.m11), (b = this.m12), (d = this.m13), (e = this.m14), (this.m11 = 0.618 * this.m11 + 0.163 * this.m12 + 0.163 * this.m13 + 0 * this.m14), (this.m12 = 0.32 * a + 0.775 * this.m12 + 0.32 * this.m13 + 0 * this.m14), (this.m13 = 0.062 * a + 0.062 * b + 0.516 * this.m13 + 0 * this.m14), (this.m14 = 0 * a + 0 * b + 0 * d + this.m14), (this.m15 = 0 * a + 0 * b + 0 * d + 0 * e), (a = this.m21), (b = this.m22), (d = this.m23), (e = this.m24), (this.m21 = 0.618 * this.m21 + 0.163 * this.m22 + 0.163 * this.m23 + 0 * this.m24), (this.m22 = 0.32 * a + 0.775 * this.m22 + 0.32 * this.m23 + 0 * this.m24), (this.m23 = 0.062 * a + 0.062 * b + 0.516 * this.m23 + 0 * this.m24), (this.m24 = 0 * a + 0 * b + 0 * d + this.m24), (this.m25 = 0 * a + 0 * b + 0 * d + 0 * e), (a = this.m31), (b = this.m32), (d = this.m33), (e = this.m34), (this.m31 = 0.618 * this.m31 + 0.163 * this.m32 + 0.163 * this.m33 + 0 * this.m34), (this.m32 = 0.32 * a + 0.775 * this.m32 + 0.32 * this.m33 + 0 * this.m34), (this.m33 = 0.062 * a + 0.062 * b + 0.516 * this.m33 + 0 * this.m34), (this.m34 = 0 * a + 0 * b + 0 * d + this.m34), (this.m35 = 0 * a + 0 * b + 0 * d + 0 * e), (a = this.m41), (b = this.m42), (d = this.m43), (e = this.m44), (this.m41 = 0.618 * this.m41 + 0.163 * this.m42 + 0.163 * this.m43 + 0 * this.m44), (this.m42 = 0.32 * a + 0.775 * this.m42 + 0.32 * this.m43 + 0 * this.m44), (this.m43 = 0.062 * a + 0.062 * b + 0.516 * this.m43 + 0 * this.m44), (this.m44 = 0 * a + 0 * b + 0 * d + this.m44), (this.m45 = 0 * a + 0 * b + 0 * d + 0 * e); } return this; }, applyMatrix: function (a, b) { var d = a.a, e = a.r, c = a.g, g = a.b; a = W.clamp( (0.5 + e * this.m41 + c * this.m42 + g * this.m43 + d * this.m44 + this.m45) | 0, 0, 255 ); var l = W.clamp( (0.5 + e * this.m11 + c * this.m12 + g * this.m13 + d * this.m14 + this.m15) | 0, 0, 255 ), q = W.clamp( (0.5 + e * this.m21 + c * this.m22 + g * this.m23 + d * this.m24 + this.m25) | 0, 0, 255 ); d = W.clamp( (0.5 + e * this.m31 + c * this.m32 + g * this.m33 + d * this.m34 + this.m35) | 0, 0, 255 ); b.a = a; b.r = l; b.g = q; b.b = d; return b; }, transformVector: function (a) { var b = a[0], d = a[1], e = a[2], c = a[3], g = b * this.m21 + d * this.m22 + e * this.m23 + c * this.m24 + this.m25, l = b * this.m31 + d * this.m32 + e * this.m33 + c * this.m34 + this.m35, q = b * this.m41 + d * this.m42 + e * this.m43 + c * this.m44 + this.m45; a[0] = b * this.m11 + d * this.m12 + e * this.m13 + c * this.m14 + this.m15; a[1] = g; a[2] = l; a[3] = q; return a; }, initHue: function () { if (!this.hueInitialized) { this.hueInitialized = !0; this.preHue = new Za(); this.preHue.rotateRed(45); this.preHue.rotateGreen(-39.182655); var a = []; a[0] = Za.LUMA_R2; a[1] = Za.LUMA_G2; a[2] = Za.LUMA_B2; a[3] = 1; this.preHue.transformVector(a); var b = a[0] / a[2]; a = a[1] / a[2]; this.preHue.shearBlue(b, a); this.postHue = new Za(); this.postHue.shearBlue(-b, -a); this.postHue.rotateGreen(39.182655); this.postHue.rotateRed(-45); } }, toArray: function (a) { a[0] = this.m11; a[1] = this.m12; a[2] = this.m13; a[3] = this.m14; a[4] = this.m15; a[5] = this.m21; a[6] = this.m22; a[7] = this.m23; a[8] = this.m24; a[9] = this.m25; a[10] = this.m31; a[11] = this.m32; a[12] = this.m33; a[13] = this.m34; a[14] = this.m35; a[15] = this.m41; a[16] = this.m42; a[17] = this.m43; a[18] = this.m44; a[19] = this.m45; return a; }, set: function (a, b, d, e, c, g, l, q, h, r, k, p, n, u, m, t, x, w, v, G) { this.m11 = a; this.m12 = b; this.m13 = d; this.m14 = e; this.m15 = c; this.m21 = g; this.m22 = l; this.m23 = q; this.m24 = h; this.m25 = r; this.m31 = k; this.m32 = p; this.m33 = n; this.m34 = u; this.m35 = m; this.m41 = t; this.m42 = x; this.m43 = w; this.m44 = v; this.m45 = G; }, mul: function (a, b, d, e, c, g, l, q, h, r, k, p, n, u, m, t, x, w, v, G) { var f = this.m11, y = this.m12, pf = this.m13, Lg = this.m14; this.m11 = this.m11 * a + this.m12 * g + this.m13 * k + this.m14 * t; this.m12 = f * b + this.m12 * l + this.m13 * p + this.m14 * x; this.m13 = f * d + y * q + this.m13 * n + this.m14 * w; this.m14 = f * e + y * h + pf * u + this.m14 * v; this.m15 = f * c + y * r + pf * m + Lg * G; f = this.m21; y = this.m22; pf = this.m23; Lg = this.m24; this.m21 = this.m21 * a + this.m22 * g + this.m23 * k + this.m24 * t; this.m22 = f * b + this.m22 * l + this.m23 * p + this.m24 * x; this.m23 = f * d + y * q + this.m23 * n + this.m24 * w; this.m24 = f * e + y * h + pf * u + this.m24 * v; this.m25 = f * c + y * r + pf * m + Lg * G; f = this.m31; y = this.m32; pf = this.m33; Lg = this.m34; this.m31 = this.m31 * a + this.m32 * g + this.m33 * k + this.m34 * t; this.m32 = f * b + this.m32 * l + this.m33 * p + this.m34 * x; this.m33 = f * d + y * q + this.m33 * n + this.m34 * w; this.m34 = f * e + y * h + pf * u + this.m34 * v; this.m35 = f * c + y * r + pf * m + Lg * G; f = this.m41; y = this.m42; pf = this.m43; Lg = this.m44; this.m41 = this.m41 * a + this.m42 * g + this.m43 * k + this.m44 * t; this.m42 = f * b + this.m42 * l + this.m43 * p + this.m44 * x; this.m43 = f * d + y * q + this.m43 * n + this.m44 * w; this.m44 = f * e + y * h + pf * u + this.m44 * v; this.m45 = f * c + y * r + pf * m + Lg * G; }, __class__: Za }; var Hz = function () {}; k['com.stencyl.utils.HaxeDefines'] = Hz; Hz.__name__ = 'com.stencyl.utils.HaxeDefines'; var Pk = function (a, b) { this.map = a; this.initializer = b; }; k['com.stencyl.utils.LazyIntMap'] = Pk; Pk.__name__ = 'com.stencyl.utils.LazyIntMap'; Pk.prototype = { map: null, initializer: null, get: function (a) { var b = this.map.h[a]; null == b && ((b = this.initializer(a)), (this.map.h[a] = b)); return b; }, set: function (a, b) { this.map.h[a] = b; }, exists: function (a) { return this.map.h.hasOwnProperty(a); }, remove: function (a) { return this.map.remove(a); }, keys: function () { return this.map.keys(); }, iterator: function () { return this.map.iterator(); }, __class__: Pk }; var Ln = function (a, b) { this.map = a; this.initializer = b; }; k['com.stencyl.utils.LazyStringMap'] = Ln; Ln.__name__ = 'com.stencyl.utils.LazyStringMap'; Ln.prototype = { map: null, initializer: null, get: function (a) { var b = this.map.h[a]; null == b && ((b = this.initializer(a)), (this.map.h[a] = b)); return b; }, set: function (a, b) { this.map.h[a] = b; }, exists: function (a) { return Object.prototype.hasOwnProperty.call(this.map.h, a); }, remove: function (a) { var b = this.map; return Object.prototype.hasOwnProperty.call(b.h, a) ? (delete b.h[a], !0) : !1; }, keys: function () { return new nj(this.map.h); }, iterator: function () { return new Ai(this.map.h); }, __class__: Ln }; var no = function () {}; k['com.stencyl.utils.Mathematics'] = no; no.__name__ = 'com.stencyl.utils.Mathematics'; no.round = function (a) { return (0 < a ? a + 0.5 : 0 > a ? a - 0.5 : 0) | 0; }; no.clamp = function (a, b, d) { return a < b ? b : a > d ? d : a; }; no.fclamp = function (a, b, d) { return a < b ? b : a > d ? d : a; }; var Ac = function (a) { this.points = a; this.combineClosePoints(); this.combineColinearPoints(); this.makeCCW(); }; k['com.stencyl.utils.PolyDecompBayazit'] = Ac; Ac.__name__ = 'com.stencyl.utils.PolyDecompBayazit'; Ac.area = function (a, b, d) { return (b.x - a.x) * (d.y - a.y) - (d.x - a.x) * (b.y - a.y); }; Ac.right = function (a, b, d) { return 0 > Ac.area(a, b, d); }; Ac.rightOn = function (a, b, d) { return 0 >= Ac.area(a, b, d); }; Ac.left = function (a, b, d) { return 0 < Ac.area(a, b, d); }; Ac.leftOn = function (a, b, d) { return 0 <= Ac.area(a, b, d); }; Ac.sqdist = function (a, b) { var d = b.x - a.x; a = b.y - a.y; return d * d + a * a; }; Ac.getIntersection = function (a, b, d, e) { var c = b.y - a.y; b = a.x - b.x; a = c * a.x + b * a.y; var g = e.y - d.y; e = d.x - e.x; d = g * d.x + e * d.y; var l = c * e - g * b; return Math.abs(l) > Number.MIN_VALUE ? new na((e * a - b * d) / l, (c * d - g * a) / l) : null; }; Ac.prototype = { combineColinearPoints: function () { for (var a = [], b = 0, d = this.points.length; b < d; ) { var e = b++, c = this.at(e - 1), g = this.at(e); e = this.at(e + 1); null != Ac.getIntersection(c, g, g, e) && a.push(g); } this.points = a; }, points: null, combineClosePoints: function () { for (var a = [], b = 0, d = this.points.length; b < d; ) { var e = b++, c = this.at(e); e = this.at(e + 1); Ac.sqdist(c, e) > Number.MIN_VALUE && a.push(c); } this.points = a; }, at: function (a) { var b = this.points.length; return this.points[(a + b) % b]; }, isReflex: function (a) { return Ac.right(this.at(a - 1), this.at(a), this.at(a + 1)); }, polyFromRange: function (a, b) { return a < b ? new Ac(this.points.slice(a, b + 1)) : new Ac(this.points.slice(a).concat(this.points.slice(0, b + 1))); }, decompose: function (a) { if (!(3 > this.points.length)) { for (var b = 0, d = this.points.length; b < d; ) { var e = b++; if (this.isReflex(e)) { var c = Number.MAX_VALUE, g = null; b = 0; for ( var l = Number.MAX_VALUE, q = null, h = (d = 0), r = this.points.length; h < r; ) { var k = h++; if ( Ac.left(this.at(e - 1), this.at(e), this.at(k)) && Ac.rightOn(this.at(e - 1), this.at(e), this.at(k - 1)) ) { var p = Ac.getIntersection( this.at(e - 1), this.at(e), this.at(k), this.at(k - 1) ); if (Ac.right(this.at(e + 1), this.at(e), p)) { var n = Ac.sqdist(this.at(e), p); n < l && ((l = n), (q = p), (d = k)); } } Ac.left(this.at(e + 1), this.at(e), this.at(k + 1)) && Ac.rightOn(this.at(e + 1), this.at(e), this.at(k)) && ((p = Ac.getIntersection( this.at(e + 1), this.at(e), this.at(k), this.at(k + 1) )), Ac.left(this.at(e - 1), this.at(e), p) && ((n = Ac.sqdist(this.at(e), p)), n < c && ((c = n), (g = p), (b = k)))); } if (d == (b + 1) % this.points.length) (c = new na(0.5 * (q.x + g.x), 0.5 * (q.y + g.y))), (g = this.polyFromRange(e, b)), g.points.push(c), (e = e < b ? this.polyFromRange(d, e) : this.polyFromRange(0, e)), e.points.push(c); else { d > b && (b += this.points.length); c = 0; for (g = Number.MAX_VALUE; d <= b; ) Ac.leftOn(this.at(e - 1), this.at(e), this.at(d)) && Ac.rightOn(this.at(e + 1), this.at(e), this.at(d)) && ((l = Ac.sqdist(this.at(e), this.at(d))), l < g && ((g = l), this.at(d), (c = d % this.points.length))), ++d; g = this.polyFromRange(e, c); e = this.polyFromRange(c, e); } g.points.length < e.points.length ? (g.decompose(a), e.decompose(a)) : (e.decompose(a), g.decompose(a)); return; } } 3 <= this.points.length && a(this); } }, makeCCW: function () { for (var a = 0, b = 1, d = this.points.length; b < d; ) { var e = b++; if ( this.at(e).y < this.at(a).y || (this.at(e).y == this.at(a).y && this.at(e).x > this.at(a).x) ) a = e; } Ac.left(this.at(a - 1), this.at(a), this.at(a + 1)) || this.points.reverse(); }, __class__: Ac }; var Id = function (a, b, d) { null == d && (d = 0); null == b && (b = 0); null == a && (a = 0); this.r = a; this.g = b; this.b = d; }; k['com.stencyl.utils.RGB'] = Id; Id.__name__ = 'com.stencyl.utils.RGB'; Id.setRGBi = function (a, b, d) { return ((a & 255) << 16) | ((b & 255) << 8) | (d & 255); }; Id.setRGBf = function (a, b, d) { a = 255 * (0 > a ? 0 : 1 < a ? 1 : a); b = 255 * (0 > b ? 0 : 1 < b ? 1 : b); d = 255 * (0 > d ? 0 : 1 < d ? 1 : d); return ( ((((0 < a ? a + 0.5 : 0 > a ? a - 0.5 : 0) | 0) & 255) << 16) | ((((0 < b ? b + 0.5 : 0 > b ? b - 0.5 : 0) | 0) & 255) << 8) | (((0 < d ? d + 0.5 : 0 > d ? d - 0.5 : 0) | 0) & 255) ); }; Id.getR = function (a) { return (a >>> 16) & 255; }; Id.getRf = function (a) { return 0.00392156862745098 * ((a >>> 16) & 255); }; Id.getG = function (a) { return (a >>> 8) & 255; }; Id.getGf = function (a) { return 0.00392156862745098 * ((a >>> 8) & 255); }; Id.getB = function (a) { return a & 255; }; Id.getBf = function (a) { return 0.00392156862745098 * (a & 255); }; Id.setR = function (a, b) { return ((b & 255) << 16) | (a & -16711681); }; Id.setRf = function (a, b) { b = 255 * (0 > b ? 0 : 1 < b ? 1 : b); return ((((0 < b ? b + 0.5 : 0 > b ? b - 0.5 : 0) | 0) & 255) << 16) | (a & -16711681); }; Id.setG = function (a, b) { return ((b & 255) << 8) | (a & -65281); }; Id.setGf = function (a, b) { b = 255 * (0 > b ? 0 : 1 < b ? 1 : b); return ((((0 < b ? b + 0.5 : 0 > b ? b - 0.5 : 0) | 0) & 255) << 8) | (a & -65281); }; Id.setB = function (a, b) { return (b & 255) | (a & -256); }; Id.setBf = function (a, b) { b = 255 * (0 > b ? 0 : 1 < b ? 1 : b); return (((0 < b ? b + 0.5 : 0 > b ? b - 0.5 : 0) | 0) & 255) | (a & -256); }; Id.prototype = { r: null, g: null, b: null, set: function (a, b, d) { this.r = a; this.g = b; this.b = d; }, lerp: function (a, b, d) { b.r = this.r + (a.r - this.r) * d; b.g = this.g + (a.g - this.g) * d; b.b = this.b + (a.b - this.b) * d; }, getR8: function () { var a = 255 * this.r; return (0 < a ? a + 0.5 : 0 > a ? a - 0.5 : 0) | 0; }, getG8: function () { var a = 255 * this.g; return (0 < a ? a + 0.5 : 0 > a ? a - 0.5 : 0) | 0; }, getB8: function () { var a = 255 * this.b; return (0 < a ? a + 0.5 : 0 > a ? a - 0.5 : 0) | 0; }, get24: function () { var a = 255 * this.r, b = 255 * this.g, d = 255 * this.b; return ( (((0 < a ? a + 0.5 : 0 > a ? a - 0.5 : 0) | 0) << 16) | (((0 < b ? b + 0.5 : 0 > b ? b - 0.5 : 0) | 0) << 8) | (0 < d ? d + 0.5 : 0 > d ? d - 0.5 : 0) | 0 ); }, set24: function (a, b, d) { this.r = 0.00392156862745098 * (a & 255); this.g = 0.00392156862745098 * (b & 255); this.b = 0.00392156862745098 * (d & 255); }, copy: function (a) { a.r = this.r; a.g = this.g; a.b = this.b; return a; }, __class__: Id }; var hf = function (a, b) { null == b && (b = 0); null == a && (a = 1); this.volume = a; this.pan = b; this.rightToRight = this.rightToLeft = this.leftToRight = this.leftToLeft = 0; }; k['openfl.media.SoundTransform'] = hf; hf.__name__ = 'openfl.media.SoundTransform'; hf.prototype = { leftToLeft: null, leftToRight: null, pan: null, rightToLeft: null, rightToRight: null, volume: null, clone: function () { return new hf(this.volume, this.pan); }, __class__: hf }; var qa = function () { this.h = Object.create(null); }; k['haxe.ds.StringMap'] = qa; qa.__name__ = 'haxe.ds.StringMap'; qa.__interfaces__ = [dd]; qa.stringify = function (a) { var b = '{', d = !0, e; for (e in a) d ? (d = !1) : (b += ','), (b += e + ' => ' + z.string(a[e])); return b + '}'; }; qa.prototype = { h: null, exists: function (a) { return Object.prototype.hasOwnProperty.call(this.h, a); }, get: function (a) { return this.h[a]; }, set: function (a, b) { this.h[a] = b; }, remove: function (a) { return Object.prototype.hasOwnProperty.call(this.h, a) ? (delete this.h[a], !0) : !1; }, keys: function () { return new nj(this.h); }, iterator: function () { return new Ai(this.h); }, keyValueIterator: function () { return new oo(this.h); }, __class__: qa }; var Ya = function () { this.h = {}; }; k['haxe.ds.IntMap'] = Ya; Ya.__name__ = 'haxe.ds.IntMap'; Ya.__interfaces__ = [dd]; Ya.prototype = { h: null, set: function (a, b) { this.h[a] = b; }, get: function (a) { return this.h[a]; }, exists: function (a) { return this.h.hasOwnProperty(a); }, remove: function (a) { if (!this.h.hasOwnProperty(a)) return !1; delete this.h[a]; return !0; }, keys: function () { var a = [], b; for (b in this.h) this.h.hasOwnProperty(b) && a.push(b | 0); return new Ie(a); }, iterator: function () { return { ref: this.h, it: this.keys(), hasNext: function () { return this.it.hasNext(); }, next: function () { var a = this.it.next(); return this.ref[a]; } }; }, keyValueIterator: function () { return new hh(this); }, __class__: Ya }; var Uh = function (a, b, d, e, c, g) { null == g && (g = 0); null == c && (c = 0); null == e && (e = 1); null == d && (d = 0); null == b && (b = 0); null == a && (a = 1); this.a = a; this.b = b; this.c = d; this.d = e; this.tx = c; this.ty = g; }; k['lime.math.Matrix3'] = Uh; Uh.__name__ = 'lime.math.Matrix3'; Uh.prototype = { a: null, b: null, c: null, d: null, tx: null, ty: null, clone: function () { return new Uh(this.a, this.b, this.c, this.d, this.tx, this.ty); }, concat: function (a) { var b = this.a * a.a + this.b * a.c; this.b = this.a * a.b + this.b * a.d; this.a = b; b = this.c * a.a + this.d * a.c; this.d = this.c * a.b + this.d * a.d; this.c = b; b = this.tx * a.a + this.ty * a.c + a.tx; this.ty = this.tx * a.b + this.ty * a.d + a.ty; this.tx = b; }, copyColumnFrom: function (a, b) { if (2 < a) throw J.thrown('Column ' + a + ' out of bounds (2)'); 0 == a ? ((this.a = b.x), (this.b = b.y)) : 1 == a ? ((this.c = b.x), (this.d = b.y)) : ((this.tx = b.x), (this.ty = b.y)); }, copyColumnTo: function (a, b) { if (2 < a) throw J.thrown('Column ' + a + ' out of bounds (2)'); 0 == a ? ((b.x = this.a), (b.y = this.b), (b.z = 0)) : 1 == a ? ((b.x = this.c), (b.y = this.d), (b.z = 0)) : ((b.x = this.tx), (b.y = this.ty), (b.z = 1)); }, copyFrom: function (a) { this.a = a.a; this.b = a.b; this.c = a.c; this.d = a.d; this.tx = a.tx; this.ty = a.ty; }, copyRowFrom: function (a, b) { if (2 < a) throw J.thrown('Row ' + a + ' out of bounds (2)'); 0 == a ? ((this.a = b.x), (this.c = b.y), (this.tx = b.z)) : 1 == a && ((this.b = b.x), (this.d = b.y), (this.ty = b.z)); }, copyRowTo: function (a, b) { if (2 < a) throw J.thrown('Row ' + a + ' out of bounds (2)'); 0 == a ? ((b.x = this.a), (b.y = this.c), (b.z = this.tx)) : 1 == a ? ((b.x = this.b), (b.y = this.d), (b.z = this.ty)) : ((b.x = 0), (b.y = 0), (b.z = 1)); }, createBox: function (a, b, d, e, c) { null == c && (c = 0); null == e && (e = 0); null == d && (d = 0); if (0 != d) { var f = Math.cos(d); d = Math.sin(d); this.a = f * a; this.b = d * b; this.c = -d * a; this.d = f * b; } else (this.a = a), (this.c = this.b = 0), (this.d = b); this.tx = e; this.ty = c; }, createGradientBox: function (a, b, d, e, c) { null == c && (c = 0); null == e && (e = 0); null == d && (d = 0); this.a = a / 1638.4; this.d = b / 1638.4; if (0 != d) { var f = Math.cos(d); d = Math.sin(d); this.b = d * this.d; this.c = -d * this.a; this.a *= f; this.d *= f; } else this.c = this.b = 0; this.tx = e + a / 2; this.ty = c + b / 2; }, equals: function (a) { return null != a && this.tx == a.tx && this.ty == a.ty && this.a == a.a && this.b == a.b && this.c == a.c ? this.d == a.d : !1; }, deltaTransformVector: function (a, b) { null == b && (b = new Xd()); b.x = a.x * this.a + a.y * this.c; b.y = a.x * this.b + a.y * this.d; return b; }, identity: function () { this.a = 1; this.c = this.b = 0; this.d = 1; this.ty = this.tx = 0; }, invert: function () { var a = this.a * this.d - this.b * this.c; if (0 == a) (this.a = this.b = this.c = this.d = 0), (this.tx = -this.tx), (this.ty = -this.ty); else { a = 1 / a; var b = this.d * a; this.d = this.a * a; this.a = b; this.b *= -a; this.c *= -a; a = -this.a * this.tx - this.c * this.ty; this.ty = -this.b * this.tx - this.d * this.ty; this.tx = a; } return this; }, rotate: function (a) { var b = Math.cos(a); a = Math.sin(a); var d = this.a * b - this.b * a; this.b = this.a * a + this.b * b; this.a = d; d = this.c * b - this.d * a; this.d = this.c * a + this.d * b; this.c = d; d = this.tx * b - this.ty * a; this.ty = this.tx * a + this.ty * b; this.tx = d; }, scale: function (a, b) { this.a *= a; this.b *= b; this.c *= a; this.d *= b; this.tx *= a; this.ty *= b; }, setRotation: function (a, b) { null == b && (b = 1); this.a = Math.cos(a) * b; this.c = Math.sin(a) * b; this.b = -this.c; this.d = this.a; }, setTo: function (a, b, d, e, c, g) { this.a = a; this.b = b; this.c = d; this.d = e; this.tx = c; this.ty = g; }, to3DString: function (a) { null == a && (a = !1); return a ? 'matrix3d(' + this.a + ', ' + this.b + ', 0, 0, ' + this.c + ', ' + this.d + ', 0, 0, 0, 0, 1, 0, ' + (this.tx | 0) + ', ' + (this.ty | 0) + ', 0, 1)' : 'matrix3d(' + this.a + ', ' + this.b + ', 0, 0, ' + this.c + ', ' + this.d + ', 0, 0, 0, 0, 1, 0, ' + this.tx + ', ' + this.ty + ', 0, 1)'; }, toString: function () { return ( 'matrix(' + this.a + ', ' + this.b + ', ' + this.c + ', ' + this.d + ', ' + this.tx + ', ' + this.ty + ')' ); }, transformRect: function (a, b) { null == b && (b = new Qd()); var d = this.a * a.x + this.c * a.y, e = d, c = this.b * a.x + this.d * a.y, g = c, l = this.a * (a.x + a.width) + this.c * a.y, q = this.b * (a.x + a.width) + this.d * a.y; l < d && (d = l); q < c && (c = q); l > e && (e = l); q > g && (g = q); l = this.a * (a.x + a.width) + this.c * (a.y + a.height); q = this.b * (a.x + a.width) + this.d * (a.y + a.height); l < d && (d = l); q < c && (c = q); l > e && (e = l); q > g && (g = q); l = this.a * a.x + this.c * (a.y + a.height); q = this.b * a.x + this.d * (a.y + a.height); l < d && (d = l); q < c && (c = q); l > e && (e = l); q > g && (g = q); b.setTo(d + l, c + q, e - d, g - c); return b; }, transformVector: function (a, b) { null == b && (b = new Xd()); b.x = a.x * this.a + a.y * this.c + this.tx; b.y = a.x * this.b + a.y * this.d + this.ty; return b; }, translate: function (a, b) { this.tx += a; this.ty += b; }, __class__: Uh }; var Ia = function (a, b, d, e, c, g) { null == g && (g = 0); null == c && (c = 0); null == e && (e = 1); null == d && (d = 0); null == b && (b = 0); null == a && (a = 1); this.a = a; this.b = b; this.c = d; this.d = e; this.tx = c; this.ty = g; }; k['openfl.geom.Matrix'] = Ia; Ia.__name__ = 'openfl.geom.Matrix'; Ia.prototype = { a: null, b: null, c: null, d: null, tx: null, ty: null, __array: null, clone: function () { return new Ia(this.a, this.b, this.c, this.d, this.tx, this.ty); }, concat: function (a) { var b = this.a * a.a + this.b * a.c; this.b = this.a * a.b + this.b * a.d; this.a = b; b = this.c * a.a + this.d * a.c; this.d = this.c * a.b + this.d * a.d; this.c = b; b = this.tx * a.a + this.ty * a.c + a.tx; this.ty = this.tx * a.b + this.ty * a.d + a.ty; this.tx = b; }, copyColumnFrom: function (a, b) { if (2 < a) throw J.thrown('Column ' + a + ' out of bounds (2)'); 0 == a ? ((this.a = b.x), (this.b = b.y)) : 1 == a ? ((this.c = b.x), (this.d = b.y)) : ((this.tx = b.x), (this.ty = b.y)); }, copyColumnTo: function (a, b) { if (2 < a) throw J.thrown('Column ' + a + ' out of bounds (2)'); 0 == a ? ((b.x = this.a), (b.y = this.b), (b.z = 0)) : 1 == a ? ((b.x = this.c), (b.y = this.d), (b.z = 0)) : ((b.x = this.tx), (b.y = this.ty), (b.z = 1)); }, copyFrom: function (a) { this.a = a.a; this.b = a.b; this.c = a.c; this.d = a.d; this.tx = a.tx; this.ty = a.ty; }, copyRowFrom: function (a, b) { if (2 < a) throw J.thrown('Row ' + a + ' out of bounds (2)'); 0 == a ? ((this.a = b.x), (this.c = b.y), (this.tx = b.z)) : 1 == a && ((this.b = b.x), (this.d = b.y), (this.ty = b.z)); }, copyRowTo: function (a, b) { if (2 < a) throw J.thrown('Row ' + a + ' out of bounds (2)'); 0 == a ? ((b.x = this.a), (b.y = this.c), (b.z = this.tx)) : 1 == a ? ((b.x = this.b), (b.y = this.d), (b.z = this.ty)) : b.setTo(0, 0, 1); }, createBox: function (a, b, d, e, c) { null == c && (c = 0); null == e && (e = 0); null == d && (d = 0); if (0 != d) { var f = Math.cos(d); d = Math.sin(d); this.a = f * a; this.b = d * b; this.c = -d * a; this.d = f * b; } else (this.a = a), (this.c = this.b = 0), (this.d = b); this.tx = e; this.ty = c; }, createGradientBox: function (a, b, d, e, c) { null == c && (c = 0); null == e && (e = 0); null == d && (d = 0); this.a = a / 1638.4; this.d = b / 1638.4; if (0 != d) { var f = Math.cos(d); d = Math.sin(d); this.b = d * this.d; this.c = -d * this.a; this.a *= f; this.d *= f; } else this.c = this.b = 0; this.tx = e + a / 2; this.ty = c + b / 2; }, deltaTransformPoint: function (a) { return new na(a.x * this.a + a.y * this.c, a.x * this.b + a.y * this.d); }, equals: function (a) { return null != a && this.tx == a.tx && this.ty == a.ty && this.a == a.a && this.b == a.b && this.c == a.c ? this.d == a.d : !1; }, identity: function () { this.a = 1; this.c = this.b = 0; this.d = 1; this.ty = this.tx = 0; }, invert: function () { var a = this.a * this.d - this.b * this.c; if (0 == a) (this.a = this.b = this.c = this.d = 0), (this.tx = -this.tx), (this.ty = -this.ty); else { a = 1 / a; var b = this.d * a; this.d = this.a * a; this.a = b; this.b *= -a; this.c *= -a; a = -this.a * this.tx - this.c * this.ty; this.ty = -this.b * this.tx - this.d * this.ty; this.tx = a; } return this; }, rotate: function (a) { var b = Math.cos(a); a = Math.sin(a); var d = this.a * b - this.b * a; this.b = this.a * a + this.b * b; this.a = d; d = this.c * b - this.d * a; this.d = this.c * a + this.d * b; this.c = d; d = this.tx * b - this.ty * a; this.ty = this.tx * a + this.ty * b; this.tx = d; }, scale: function (a, b) { this.a *= a; this.b *= b; this.c *= a; this.d *= b; this.tx *= a; this.ty *= b; }, setRotation: function (a, b) { null == b && (b = 1); this.a = Math.cos(a) * b; this.c = Math.sin(a) * b; this.b = -this.c; this.d = this.a; }, setTo: function (a, b, d, e, c, g) { this.a = a; this.b = b; this.c = d; this.d = e; this.tx = c; this.ty = g; }, to3DString: function (a) { null == a && (a = !1); return a ? 'matrix3d(' + this.a + ', ' + this.b + ', 0, 0, ' + this.c + ', ' + this.d + ', 0, 0, 0, 0, 1, 0, ' + (this.tx | 0) + ', ' + (this.ty | 0) + ', 0, 1)' : 'matrix3d(' + this.a + ', ' + this.b + ', 0, 0, ' + this.c + ', ' + this.d + ', 0, 0, 0, 0, 1, 0, ' + this.tx + ', ' + this.ty + ', 0, 1)'; }, toMozString: function () { return ( 'matrix(' + this.a + ', ' + this.b + ', ' + this.c + ', ' + this.d + ', ' + this.tx + 'px, ' + this.ty + 'px)' ); }, toString: function () { return ( 'matrix(' + this.a + ', ' + this.b + ', ' + this.c + ', ' + this.d + ', ' + this.tx + ', ' + this.ty + ')' ); }, transformPoint: function (a) { return new na( a.x * this.a + a.y * this.c + this.tx, a.x * this.b + a.y * this.d + this.ty ); }, translate: function (a, b) { this.tx += a; this.ty += b; }, toArray: function (a) { null == a && (a = !1); null == this.__array && (this.__array = new Float32Array(9)); a ? ((this.__array[0] = this.a), (this.__array[1] = this.b), (this.__array[2] = 0), (this.__array[3] = this.c), (this.__array[4] = this.d), (this.__array[5] = 0), (this.__array[6] = this.tx), (this.__array[7] = this.ty)) : ((this.__array[0] = this.a), (this.__array[1] = this.c), (this.__array[2] = this.tx), (this.__array[3] = this.b), (this.__array[4] = this.d), (this.__array[5] = this.ty), (this.__array[6] = 0), (this.__array[7] = 0)); this.__array[8] = 1; return this.__array; }, __cleanValues: function () { this.a = Math.round(1e3 * this.a) / 1e3; this.b = Math.round(1e3 * this.b) / 1e3; this.c = Math.round(1e3 * this.c) / 1e3; this.d = Math.round(1e3 * this.d) / 1e3; this.tx = Math.round(10 * this.tx) / 10; this.ty = Math.round(10 * this.ty) / 10; }, __toMatrix3: function () { Ia.__matrix3.setTo(this.a, this.b, this.c, this.d, this.tx, this.ty); return Ia.__matrix3; }, __transformInversePoint: function (a) { var b = this.a * this.d - this.b * this.c; if (0 == b) (a.x = -this.tx), (a.y = -this.ty); else { var d = (1 / b) * (this.c * (this.ty - a.y) + this.d * (a.x - this.tx)); a.y = (1 / b) * (this.a * (a.y - this.ty) + this.b * (this.tx - a.x)); a.x = d; } }, __transformInverseX: function (a, b) { var d = this.a * this.d - this.b * this.c; return 0 == d ? -this.tx : (1 / d) * (this.c * (this.ty - b) + this.d * (a - this.tx)); }, __transformInverseY: function (a, b) { var d = this.a * this.d - this.b * this.c; return 0 == d ? -this.ty : (1 / d) * (this.a * (b - this.ty) + this.b * (this.tx - a)); }, __transformPoint: function (a) { var b = a.x, d = a.y; a.x = b * this.a + d * this.c + this.tx; a.y = b * this.b + d * this.d + this.ty; }, __transformX: function (a, b) { return a * this.a + b * this.c + this.tx; }, __transformY: function (a, b) { return a * this.b + b * this.d + this.ty; }, __translateTransformed: function (a, b) { this.tx = a * this.a + b * this.c + this.tx; this.ty = a * this.b + b * this.d + this.ty; }, __class__: Ia }; var Kc = function (a, b, d, e, c, g, l, q) { null == q && (q = 0); null == l && (l = 0); null == g && (g = 0); null == c && (c = 0); null == e && (e = 1); null == d && (d = 1); null == b && (b = 1); null == a && (a = 1); this.redMultiplier = a; this.greenMultiplier = b; this.blueMultiplier = d; this.alphaMultiplier = e; this.redOffset = c; this.greenOffset = g; this.blueOffset = l; this.alphaOffset = q; }; k['openfl.geom.ColorTransform'] = Kc; Kc.__name__ = 'openfl.geom.ColorTransform'; Kc.prototype = { alphaMultiplier: null, alphaOffset: null, blueMultiplier: null, blueOffset: null, greenMultiplier: null, greenOffset: null, redMultiplier: null, redOffset: null, concat: function (a) { this.redOffset = a.redOffset * this.redMultiplier + this.redOffset; this.greenOffset = a.greenOffset * this.greenMultiplier + this.greenOffset; this.blueOffset = a.blueOffset * this.blueMultiplier + this.blueOffset; this.alphaOffset = a.alphaOffset * this.alphaMultiplier + this.alphaOffset; this.redMultiplier *= a.redMultiplier; this.greenMultiplier *= a.greenMultiplier; this.blueMultiplier *= a.blueMultiplier; this.alphaMultiplier *= a.alphaMultiplier; }, toString: function () { return ( '(redMultiplier=' + this.redMultiplier + ', greenMultiplier=' + this.greenMultiplier + ', blueMultiplier=' + this.blueMultiplier + ', alphaMultiplier=' + this.alphaMultiplier + ', redOffset=' + this.redOffset + ', greenOffset=' + this.greenOffset + ', blueOffset=' + this.blueOffset + ', alphaOffset=' + this.alphaOffset + ')' ); }, __clone: function () { return new Kc( this.redMultiplier, this.greenMultiplier, this.blueMultiplier, this.alphaMultiplier, this.redOffset, this.greenOffset, this.blueOffset, this.alphaOffset ); }, __copyFrom: function (a) { this.redMultiplier = a.redMultiplier; this.greenMultiplier = a.greenMultiplier; this.blueMultiplier = a.blueMultiplier; this.alphaMultiplier = a.alphaMultiplier; this.redOffset = a.redOffset; this.greenOffset = a.greenOffset; this.blueOffset = a.blueOffset; this.alphaOffset = a.alphaOffset; }, __combine: function (a) { this.redMultiplier *= a.redMultiplier; this.greenMultiplier *= a.greenMultiplier; this.blueMultiplier *= a.blueMultiplier; this.alphaMultiplier *= a.alphaMultiplier; this.redOffset += a.redOffset; this.greenOffset += a.greenOffset; this.blueOffset += a.blueOffset; this.alphaOffset += a.alphaOffset; }, __identity: function () { this.alphaMultiplier = this.blueMultiplier = this.greenMultiplier = this.redMultiplier = 1; this.alphaOffset = this.blueOffset = this.greenOffset = this.redOffset = 0; }, __invert: function () { this.redMultiplier = 0 != this.redMultiplier ? 1 / this.redMultiplier : 1; this.greenMultiplier = 0 != this.greenMultiplier ? 1 / this.greenMultiplier : 1; this.blueMultiplier = 0 != this.blueMultiplier ? 1 / this.blueMultiplier : 1; this.alphaMultiplier = 0 != this.alphaMultiplier ? 1 / this.alphaMultiplier : 1; this.redOffset = -this.redOffset; this.greenOffset = -this.greenOffset; this.blueOffset = -this.blueOffset; this.alphaOffset = -this.alphaOffset; }, __equals: function (a, b) { return null == a || this.redMultiplier != a.redMultiplier || this.greenMultiplier != a.greenMultiplier || this.blueMultiplier != a.blueMultiplier || (!b && this.alphaMultiplier != a.alphaMultiplier) || this.redOffset != a.redOffset || this.greenOffset != a.greenOffset || this.blueOffset != a.blueOffset ? !1 : this.alphaOffset == a.alphaOffset; }, __isDefault: function (a) { return a ? 1 == this.redMultiplier && 1 == this.greenMultiplier && 1 == this.blueMultiplier && 0 == this.redOffset && 0 == this.greenOffset && 0 == this.blueOffset ? 0 == this.alphaOffset : !1 : 1 == this.redMultiplier && 1 == this.greenMultiplier && 1 == this.blueMultiplier && 1 == this.alphaMultiplier && 0 == this.redOffset && 0 == this.greenOffset && 0 == this.blueOffset ? 0 == this.alphaOffset : !1; }, __setArrays: function (a, b) { a[0] = this.redMultiplier; a[1] = this.greenMultiplier; a[2] = this.blueMultiplier; a[3] = this.alphaMultiplier; b[0] = this.redOffset; b[1] = this.greenOffset; b[2] = this.blueOffset; b[3] = this.alphaOffset; }, get_color: function () { return ((this.redOffset | 0) << 16) | ((this.greenOffset | 0) << 8) | this.blueOffset | 0; }, set_color: function (a) { this.redOffset = (a >> 16) & 255; this.greenOffset = (a >> 8) & 255; this.blueOffset = a & 255; this.blueMultiplier = this.greenMultiplier = this.redMultiplier = 0; return this.get_color(); }, __toLimeColorMatrix: function () { if (null == Kc.__limeColorMatrix) { var a = new Float32Array(20); Kc.__limeColorMatrix = a; } Kc.__limeColorMatrix[0] = this.redMultiplier; Kc.__limeColorMatrix[4] = this.redOffset / 255; Kc.__limeColorMatrix[6] = this.greenMultiplier; Kc.__limeColorMatrix[9] = this.greenOffset / 255; Kc.__limeColorMatrix[12] = this.blueMultiplier; Kc.__limeColorMatrix[14] = this.blueOffset / 255; Kc.__limeColorMatrix[18] = this.alphaMultiplier; Kc.__limeColorMatrix[19] = this.alphaOffset / 255; return Kc.__limeColorMatrix; }, __class__: Kc, __properties__: { set_color: 'set_color', get_color: 'get_color' } }; var W = function () {}; k['com.stencyl.utils.Utils'] = W; W.__name__ = 'com.stencyl.utils.Utils'; W.__properties__ = { set_time: 'set_time', set_pan: 'set_pan', get_pan: 'get_pan', set_volume: 'set_volume', get_volume: 'get_volume' }; W.toBoolean = function (a) { return 'true' == a ? !0 : !1; }; W.clear = function (a) { a.length = 0; }; W.removeValueFromArray = function (a, b) { for (var d = a.length - 1; -1 < d; ) a[d] == b && a.splice(d, 1), --d; }; W.contains = function (a, b) { if (null == a) return !1; for (var d = a.length - 1; -1 < d; ) { if (a[d] == b) return !0; --d; } return !1; }; W.mapContainsValue = function (a, b) { a = a.h; for (var d = Object.keys(a), e = d.length, c = 0; c < e; ) if (a[d[c++]] == b) return !0; return !1; }; W.mapCount = function (a) { var b = 0; a = Object.keys(a.h).length; for (var d = 0; d < a; ) d++, ++b; return b; }; W.mapToList = function (a, b) { var d = []; if ('keys' == b) { b = a.h; b = Object.keys(b); for (var e = b.length, c = 0; c < e; ) { var g = b[c++]; d.push(g); } } else for (a = b = a.h, b = Object.keys(b), e = b.length, c = 0; c < e; ) (g = a[b[c++]]), d.push(g); return d; }; W.clone = function (a) { return W.cloner.clone(a); }; W.copyMap = function (a) { for (var b = new qa(), d = Object.keys(a.h), e = d.length, c = 0; c < e; ) { var g = d[c++]; b.h[g] = a.h[g]; } return b; }; W.applyToAllChildren = function (a, b) { for (var d = 0, e = a.get_numChildren(); d < e; ) { var c = d++; c = a.getChildAt(c); c instanceof Xa && W.applyToAllChildren(c, b); b(c); } }; W.removeAllChildren = function (a) { for (; 0 < a.get_numChildren(); ) { var b = a.getChildAt(0); b instanceof Xa && W.removeAllChildren(w.__cast(b, Xa)); b instanceof jg && W.removeAllTiles(b); a.removeChild(b); } }; W.removeAllTiles = function (a) { for (; 0 < a.get_numTiles(); ) { var b = a.getTileAt(0); w.__implements(b, Bi) && W.removeAllTiles(b); a.removeTile(b); } }; W.demouse = function (a) { for (var b = 0, d = a.get_numChildren(); b < d; ) { var e = b++; e = a.getChildAt(e); e instanceof Xa && W.demouse(w.__cast(e, Xa)); a.mouseChildren = !1; a.mouseEnabled = !1; } }; W.getAnchorPoint = function (a) { a = a.getRect(a); return new na(-1 * a.x, -1 * a.y); }; W.setCamera = function (a, b) { null == b && (b = 0); null == a && (a = 0); W.camera.x = a; W.camera.y = b; }; W.resetCamera = function () { W.camera.x = W.camera.y = 0; }; W.get_volume = function () { return W._volume; }; W.set_volume = function (a) { 0 > a && (a = 0); if (W._volume == a) return a; W._soundTransform.volume = W._volume = a; return W._volume; }; W.get_pan = function () { return W._pan; }; W.set_pan = function (a) { -1 > a && (a = -1); 1 < a && (a = 1); if (W._pan == a) return a; W._soundTransform.pan = W._pan = a; return W._pan; }; W.sign = function (a) { return 0 > a ? -1 : 0 < a ? 1 : 0; }; W.approach = function (a, b, d) { return a < b ? (b < a + d ? b : a + d) : b > a - d ? b : a - d; }; W.lerp = function (a, b, d) { null == d && (d = 1); return a + (b - a) * d; }; W.colorLerp = function (a, b, d) { null == d && (d = 1); if (0 >= d) return a; if (1 <= d) return b; var e = (a >> 24) & 255, c = (a >> 16) & 255, g = (a >> 8) & 255; a &= 255; return ( ((e + (((((b >> 24) & 255) - e) * d) | 0)) << 24) | ((c + (((((b >> 16) & 255) - c) * d) | 0)) << 16) | ((g + (((((b >> 8) & 255) - g) * d) | 0)) << 8) | (a + ((((b & 255) - a) * d) | 0)) ); }; W.stepTowards = function (a, b, d, e) { null == e && (e = 1); W.point.x = b - a.x; W.point.y = d - a.y; W.point.get_length() <= e ? ((a.x = b), (a.y = d)) : (W.point.normalize(e), (a.x += W.point.x), (a.y += W.point.y)); }; W.anchorTo = function (a, b, d) { null == d && (d = 0); W.point.x = a.x - b.x; W.point.y = a.y - b.y; W.point.get_length() > d && W.point.normalize(d); a.x = b.x + W.point.x; a.y = b.y + W.point.y; }; W.angle = function (a, b, d, e) { a = 57.29577951308402 * Math.atan2(e - b, d - a); return 0 > a ? a + 360 : a; }; W.angleXY = function (a, b, d, e, c) { null == c && (c = 0); null == e && (e = 0); null == d && (d = 1); b *= 0.01745329251994278; a.x = Math.cos(b) * d + e; a.y = Math.sin(b) * d + c; }; W.rotateAround = function (a, b, d, e) { null == e && (e = !0); null == d && (d = 0); e && ((e = 57.29577951308402 * Math.atan2(a.y - b.y, a.x - b.x)), (d += 0 > e ? e + 360 : e)); e = b.x; var c = b.y, g = a.x, l = a.y; null == l && (l = 0); null == g && (g = 0); e = Math.sqrt((g - e) * (g - e) + (l - c) * (l - c)); c = b.x; b = b.y; null == b && (b = 0); null == c && (c = 0); null == e && (e = 1); d *= 0.01745329251994278; a.x = Math.cos(d) * e + c; a.y = Math.sin(d) * e + b; }; W.distance = function (a, b, d, e) { null == e && (e = 0); null == d && (d = 0); return Math.sqrt((d - a) * (d - a) + (e - b) * (e - b)); }; W.distanceSquared = function (a, b, d, e) { null == e && (e = 0); null == d && (d = 0); return (d - a) * (d - a) + (e - b) * (e - b); }; W.distanceRects = function (a, b, d, e, c, g, l, q) { if (a < c + l && c < a + d) return b < g + q && g < b + e ? 0 : b > g ? b - (g + q) : g - (b + e); if (b < g + q && g < b + e) return a > c ? a - (c + l) : c - (a + d); if (a > c) { if (b > g) return ( (c += l), (g += q), null == g && (g = 0), null == c && (c = 0), Math.sqrt((c - a) * (c - a) + (g - b) * (g - b)) ); b += e; c += l; null == g && (g = 0); null == c && (c = 0); return Math.sqrt((c - a) * (c - a) + (g - b) * (g - b)); } if (b > g) return ( (a += d), (g += q), null == g && (g = 0), null == c && (c = 0), Math.sqrt((c - a) * (c - a) + (g - b) * (g - b)) ); a += d; b += e; null == g && (g = 0); null == c && (c = 0); return Math.sqrt((c - a) * (c - a) + (g - b) * (g - b)); }; W.distanceRectPoint = function (a, b, d, e, c, g) { if (a >= d && a <= d + c) return b >= e && b <= e + g ? 0 : b > e ? b - (e + g) : e - b; if (b >= e && b <= e + g) return a > d ? a - (d + c) : d - a; if (a > d) { if (b > e) return ( (d += c), (e += g), null == e && (e = 0), null == d && (d = 0), Math.sqrt((d - a) * (d - a) + (e - b) * (e - b)) ); d += c; null == e && (e = 0); null == d && (d = 0); return Math.sqrt((d - a) * (d - a) + (e - b) * (e - b)); } if (b > e) return ( (e += g), null == e && (e = 0), null == d && (d = 0), Math.sqrt((d - a) * (d - a) + (e - b) * (e - b)) ); null == e && (e = 0); null == d && (d = 0); return Math.sqrt((d - a) * (d - a) + (e - b) * (e - b)); }; W.clamp = function (a, b, d) { if (d > b) return a < d || (a = d), a > b ? a : b; a < b || (a = b); return a > d ? a : d; }; W.clampInRect = function (a, b, d, e, c, g) { null == g && (g = 0); a.x = W.clamp(a.x, b + g, b + e - g); a.y = W.clamp(a.y, d + g, d + c - g); }; W.scale = function (a, b, d, e, c) { return e + ((a - b) / (d - b)) * (c - e); }; W.scaleClamp = function (a, b, d, e, c) { a = e + ((a - b) / (d - b)) * (c - e); if (c > e) return a < c || (a = c), a > e ? a : e; a < e || (a = e); return a > c ? a : c; }; W.indexOf = function (a, b) { for (var d = 0, e = 0; e < a.length; ) { var c = a[e]; ++e; if (b == c) return d; ++d; } return -1; }; W.next = function (a, b, d) { null == d && (d = !0); return d ? b[(W.indexOf(b, a) + 1) % b.length] : b[Math.max(W.indexOf(b, a) + 1, b.length - 1) | 0]; }; W.prev = function (a, b, d) { null == d && (d = !0); return d ? b[(W.indexOf(b, a) - 1 + b.length) % b.length] : b[Math.max(W.indexOf(b, a) - 1, 0) | 0]; }; W.swap = function (a, b, d) { return a == b ? d : b; }; W.getColorRGB = function (a, b, d) { null == d && (d = 0); null == b && (b = 0); null == a && (a = 0); return (a << 16) | (b << 8) | d; }; W.getRed = function (a) { return (a >> 16) & 255; }; W.getGreen = function (a) { return (a >> 8) & 255; }; W.getBlue = function (a) { return a & 255; }; W.convertColor = function (a) { return 0 > a ? a + 16777216 : a; }; W.timeFlag = function () { var a = new Date().getTime() / 1e3, b = a - W._time; W._time = a; return b; }; W.frames = function (a, b, d) { null == d && (d = 0); var e = []; ++d; if (a < b) for (; a <= b; ) e.push(a), (a += d); else for (; a >= b; ) e.push(a), (a -= d); return e; }; W.set_time = function (a) { W._time = a; return W._time; }; W.printCallstackIfAvailable = function () { return '\n' + jf.toString(jf.callStack()); }; W.printExceptionstackIfAvailable = function () { return '\n' + jf.toString(jf.exceptionStack()); }; W.saveToSharedObject = function (a, b, d) { try { a.data[b] = W.clone(d); } catch (e) { if (((ka.lastError = e), (a = J.caught(e).unwrap()), 'string' == typeof a)) { if ('deep clone' != a) throw J.thrown(a); } else throw e; } }; W.loadFromSharedObject = function (a, b) { return W.cloner.clone(aa.field(a.data, b)); }; W.flushSharedObject = function (a, b) { var d = null; try { d = a.flush(); } catch (e) { ka.lastError = e; null != b && b(!1); return; } 0 == d && null != b && b(!0); }; W.saveMap = function (a, b, d) { b = ld.getLocal(b, vd.current.meta.h.localSavePath); for (var e = Object.keys(a.h), c = e.length, g = 0; g < c; ) { var l = e[g++]; b.data[l] = a.h[l]; } W.flushSharedObject(b, d); }; W.loadMap = function (a, b, d) { b = ld.getLocal(b, vd.current.meta.h.localSavePath); for (var e = 0, c = aa.fields(b.data); e < c.length; ) { var g = c[e]; ++e; a.h[g] = aa.field(b.data, g); } null != d && d(!0); }; W.convertLegacySharedObject = function (a, b) {}; W.getFlatName = function (a) { a = T.replace(a, '/', '_'); a = T.replace(a, '.', '_'); return (a = T.replace(a, '-', '_')); }; W.getAssetClass = function (a) { a = '__ASSET__' + W.getFlatName(a); return k[a]; }; W.getConfigBytes = function (a) { return xh.getBytes(W.getFlatName(a)); }; W.getConfigText = function (a) { return xh.getString(W.getFlatName(a)); }; W.getConfigBitmap = function (a) { try { var b = W.getFlatName(T.replace(a, '.png', '.txt')), d = xh.getString(b); return la.loadFromBase64(d, 'png').then(function (a) { return ib.withValue(new rc(a)); }); } catch (e) { ka.lastError = e; a = J.caught(e).unwrap(); if ('string' == typeof a) return ib.withError('(You probably have a old browser) Error occurred: ' + a); throw e; } }; W.loadBytes = function (a) { a = ma.createInstance(W.getAssetClass(a), []); return ic.ofData(Bb.toArrayBuffer(a)); }; W.loadText = function (a) { a = W.loadBytes(a); return a.getString(0, a.length); }; W.loadBitmapData = function (a) { a = Gb.fromFile(a); return la.fromImage(a); }; W.resetStatics = function () { W.width = 0; W.height = 0; W.elapsed = 0; W.rate = 1; W.bounds = null; W.camera = new na(); W._time = 0; W._updateTime = 0; W._renderTime = 0; W._gameTime = 0; W._flashTime = 0; W._bitmap = new qa(); W._seed = 0; W._getSeed = 0; W._volume = 1; W._pan = 0; W._soundTransform = new hf(); W.stage = null; W.point = new na(); W.point2 = new na(); W.zero = new na(); W.rect = new ea(); W.matrix = new Ia(); W.sprite = new Ca(); W.collision = new uc(); }; var Na = function () {}; k['com.stencyl.utils.motion.EasingFunction'] = Na; Na.__name__ = 'com.stencyl.utils.motion.EasingFunction'; Na.prototype = { apply: function (a) { return 0; }, __class__: Na }; var il = function () {}; k['com.stencyl.utils.motion.BackIn'] = il; il.__name__ = 'com.stencyl.utils.motion.BackIn'; il.__super__ = Na; il.prototype = t(Na.prototype, { apply: function (a) { return 0 == a ? 0 : 1 == a ? 1 : a * a * (2.70158 * a - 1.70158); }, __class__: il }); var jl = function () {}; k['com.stencyl.utils.motion.BackInOut'] = jl; jl.__name__ = 'com.stencyl.utils.motion.BackInOut'; jl.__super__ = Na; jl.prototype = t(Na.prototype, { apply: function (a) { return 0 == a ? 0 : 1 == a ? 1 : 1 > (a *= 2) ? 0.5 * a * a * (3.5949095 * a - 2.5949095) : 0.5 * ((a -= 2) * a * (3.5949095 * a + 2.5949095) + 2); }, __class__: jl }); var kl = function () {}; k['com.stencyl.utils.motion.BackOut'] = kl; kl.__name__ = 'com.stencyl.utils.motion.BackOut'; kl.__super__ = Na; kl.prototype = t(Na.prototype, { apply: function (a) { return 0 == a ? 0 : 1 == a ? 1 : --a * a * (2.70158 * a + 1.70158) + 1; }, __class__: kl }); var ll = function () {}; k['com.stencyl.utils.motion.BackOutIn'] = ll; ll.__name__ = 'com.stencyl.utils.motion.BackOutIn'; ll.__super__ = Na; ll.prototype = t(Na.prototype, { apply: function (a) { if (0 == a) return 0; if (1 == a) return 1; if (0.5 > a) return (a = 2 * a - 1), 0.5 * (a * a * (2.70158 * a + 1.70158) + 1); a = 2 * a - 1; return 0.5 * a * a * (2.70158 * a - 1.70158) + 0.5; }, __class__: ll }); var ml = function () {}; k['com.stencyl.utils.motion.BounceIn'] = ml; ml.__name__ = 'com.stencyl.utils.motion.BounceIn'; ml.__super__ = Na; ml.prototype = t(Na.prototype, { apply: function (a) { a = 1 - a; return 0.36363636363636365 > a ? 1 - 7.5625 * a * a : 0.7272727272727273 > a ? 1 - (7.5625 * (a -= 0.5454545454545454) * a + 0.75) : 0.9090909090909091 > a ? 1 - (7.5625 * (a -= 0.8181818181818182) * a + 0.9375) : 1 - (7.5625 * (a -= 0.9545454545454546) * a + 0.984375); }, __class__: ml }); var nl = function () {}; k['com.stencyl.utils.motion.BounceInOut'] = nl; nl.__name__ = 'com.stencyl.utils.motion.BounceInOut'; nl.__super__ = Na; nl.prototype = t(Na.prototype, { apply: function (a) { if (0.5 > a) return ( (a = 1 - 2 * a), 0.36363636363636365 > a ? 0.5 * (1 - 7.5625 * a * a) : 0.7272727272727273 > a ? 0.5 * (1 - (7.5625 * (a -= 0.5454545454545454) * a + 0.75)) : 0.9090909090909091 > a ? 0.5 * (1 - (7.5625 * (a -= 0.8181818181818182) * a + 0.9375)) : 0.5 * (1 - (7.5625 * (a -= 0.9545454545454546) * a + 0.984375)) ); a = 2 * a - 1; return 0.36363636363636365 > a ? 7.5625 * a * a * 0.5 + 0.5 : 0.7272727272727273 > a ? 0.5 * (7.5625 * (a -= 0.5454545454545454) * a + 0.75) + 0.5 : 0.9090909090909091 > a ? 0.5 * (7.5625 * (a -= 0.8181818181818182) * a + 0.9375) + 0.5 : 0.5 * (7.5625 * (a -= 0.9545454545454546) * a + 0.984375) + 0.5; }, __class__: nl }); var ol = function () {}; k['com.stencyl.utils.motion.BounceOut'] = ol; ol.__name__ = 'com.stencyl.utils.motion.BounceOut'; ol.__super__ = Na; ol.prototype = t(Na.prototype, { apply: function (a) { return 0.36363636363636365 > a ? 7.5625 * a * a : 0.7272727272727273 > a ? 7.5625 * (a -= 0.5454545454545454) * a + 0.75 : 0.9090909090909091 > a ? 7.5625 * (a -= 0.8181818181818182) * a + 0.9375 : 7.5625 * (a -= 0.9545454545454546) * a + 0.984375; }, __class__: ol }); var pl = function () {}; k['com.stencyl.utils.motion.BounceOutIn'] = pl; pl.__name__ = 'com.stencyl.utils.motion.BounceOutIn'; pl.__super__ = Na; pl.prototype = t(Na.prototype, { apply: function (a) { if (0.5 > a) return 0.36363636363636365 > (a *= 2) ? 3.78125 * a * a : 0.7272727272727273 > a ? 0.5 * (7.5625 * (a -= 0.5454545454545454) * a + 0.75) : 0.9090909090909091 > a ? 0.5 * (7.5625 * (a -= 0.8181818181818182) * a + 0.9375) : 0.5 * (7.5625 * (a -= 0.9545454545454546) * a + 0.984375); a = 1 - (2 * a - 1); return 0.36363636363636365 > a ? 0.5 - 3.78125 * a * a + 0.5 : 0.7272727272727273 > a ? 0.5 - 0.5 * (7.5625 * (a -= 0.5454545454545454) * a + 0.75) + 0.5 : 0.9090909090909091 > a ? 0.5 - 0.5 * (7.5625 * (a -= 0.8181818181818182) * a + 0.9375) + 0.5 : 0.5 - 0.5 * (7.5625 * (a -= 0.9545454545454546) * a + 0.984375) + 0.5; }, __class__: pl }); var ql = function () {}; k['com.stencyl.utils.motion.CircIn'] = ql; ql.__name__ = 'com.stencyl.utils.motion.CircIn'; ql.__super__ = Na; ql.prototype = t(Na.prototype, { apply: function (a) { return -1 > a || 1 < a ? 0 : 1 - Math.sqrt(1 - a * a); }, __class__: ql }); var rl = function () {}; k['com.stencyl.utils.motion.CircInOut'] = rl; rl.__name__ = 'com.stencyl.utils.motion.CircInOut'; rl.__super__ = Na; rl.prototype = t(Na.prototype, { apply: function (a) { return -0.5 > a || 1.5 < a ? 0.5 : 1 > (a *= 2) ? -0.5 * (Math.sqrt(1 - a * a) - 1) : 0.5 * (Math.sqrt(1 - (a -= 2) * a) + 1); }, __class__: rl }); var sl = function () {}; k['com.stencyl.utils.motion.CircOut'] = sl; sl.__name__ = 'com.stencyl.utils.motion.CircOut'; sl.__super__ = Na; sl.prototype = t(Na.prototype, { apply: function (a) { return 0 > a || 2 < a ? 0 : Math.sqrt(a * (2 - a)); }, __class__: sl }); var tl = function () {}; k['com.stencyl.utils.motion.CircOutIn'] = tl; tl.__name__ = 'com.stencyl.utils.motion.CircOutIn'; tl.__super__ = Na; tl.prototype = t(Na.prototype, { apply: function (a) { if (0 > a) return 0; if (1 < a) return 1; if (0.5 > a) return (a = 2 * a - 1), 0.5 * Math.sqrt(1 - a * a); a = 2 * a - 1; return -0.5 * (Math.sqrt(1 - a * a) - 1 - 1); }, __class__: tl }); var ul = function () {}; k['com.stencyl.utils.motion.CubicIn'] = ul; ul.__name__ = 'com.stencyl.utils.motion.CubicIn'; ul.__super__ = Na; ul.prototype = t(Na.prototype, { apply: function (a) { return a * a * a; }, __class__: ul }); var vl = function () {}; k['com.stencyl.utils.motion.CubicInOut'] = vl; vl.__name__ = 'com.stencyl.utils.motion.CubicInOut'; vl.__super__ = Na; vl.prototype = t(Na.prototype, { apply: function (a) { return 1 > (a *= 2) ? 0.5 * a * a * a : 0.5 * ((a -= 2) * a * a + 2); }, __class__: vl }); var wl = function () {}; k['com.stencyl.utils.motion.CubicOut'] = wl; wl.__name__ = 'com.stencyl.utils.motion.CubicOut'; wl.__super__ = Na; wl.prototype = t(Na.prototype, { apply: function (a) { return --a * a * a + 1; }, __class__: wl }); var xl = function () {}; k['com.stencyl.utils.motion.CubicOutIn'] = xl; xl.__name__ = 'com.stencyl.utils.motion.CubicOutIn'; xl.__super__ = Na; xl.prototype = t(Na.prototype, { apply: function (a) { a = 2 * a - 1; return 0.5 * (a * a * a + 1); }, __class__: xl }); var yl = function () {}; k['com.stencyl.utils.motion.ElasticIn'] = yl; yl.__name__ = 'com.stencyl.utils.motion.ElasticIn'; yl.__super__ = Na; yl.prototype = t(Na.prototype, { apply: function (a) { return 0 == a ? 0 : 1 == a ? 1 : -( Math.exp(6.931471805599453 * --a) * Math.sin((6.283185307179586 * (0.001 * a - 7.5e-5)) / 3e-4) ); }, __class__: yl }); var zl = function () {}; k['com.stencyl.utils.motion.ElasticInOut'] = zl; zl.__name__ = 'com.stencyl.utils.motion.ElasticInOut'; zl.__super__ = Na; zl.prototype = t(Na.prototype, { apply: function (a) { return 0 == a ? 0 : 1 == a ? 1 : 1 > (a *= 2) ? -0.5 * Math.exp(6.931471805599453 * --a) * Math.sin((6.283185307179586 * (0.001 * a - 7.5e-5)) / 3e-4) : Math.exp(-6.931471805599453 * --a) * Math.sin((6.283185307179586 * (0.001 * a - 7.5e-5)) / 3e-4) * 0.5 + 1; }, __class__: zl }); var Al = function () {}; k['com.stencyl.utils.motion.ElasticOut'] = Al; Al.__name__ = 'com.stencyl.utils.motion.ElasticOut'; Al.__super__ = Na; Al.prototype = t(Na.prototype, { apply: function (a) { return 0 == a ? 0 : 1 == a ? 1 : Math.exp(-6.931471805599453 * a) * Math.sin((6.283185307179586 * (0.001 * a - 7.5e-5)) / 3e-4) + 1; }, __class__: Al }); var Bl = function () {}; k['com.stencyl.utils.motion.ElasticOutIn'] = Bl; Bl.__name__ = 'com.stencyl.utils.motion.ElasticOutIn'; Bl.__super__ = Na; Bl.prototype = t(Na.prototype, { apply: function (a) { if (0.5 > a) return 0 == (a *= 2) ? 0 : 0.5 * Math.exp(-6.931471805599453 * a) * Math.sin((6.283185307179586 * (0.001 * a - 7.5e-5)) / 3e-4) + 0.5; if (0.5 == a) return 0.5; if (1 == a) return 1; a = 2 * a - 1; return ( -( 0.5 * Math.exp(6.931471805599453 * --a) * Math.sin((6.283185307179586 * (0.001 * a - 7.5e-5)) / 3e-4) ) + 0.5 ); }, __class__: Bl }); var Cl = function () {}; k['com.stencyl.utils.motion.ExpoIn'] = Cl; Cl.__name__ = 'com.stencyl.utils.motion.ExpoIn'; Cl.__super__ = Na; Cl.prototype = t(Na.prototype, { apply: function (a) { return 0 == a ? 0 : Math.exp(6.931471805599453 * (a - 1)); }, __class__: Cl }); var Dl = function () {}; k['com.stencyl.utils.motion.ExpoInOut'] = Dl; Dl.__name__ = 'com.stencyl.utils.motion.ExpoInOut'; Dl.__super__ = Na; Dl.prototype = t(Na.prototype, { apply: function (a) { return 0 == a ? 0 : 1 == a ? 1 : 1 > (a *= 2) ? 0.5 * Math.exp(6.931471805599453 * (a - 1)) : 0.5 * (2 - Math.exp(-6.931471805599453 * (a - 1))); }, __class__: Dl }); var El = function () {}; k['com.stencyl.utils.motion.ExpoOut'] = El; El.__name__ = 'com.stencyl.utils.motion.ExpoOut'; El.__super__ = Na; El.prototype = t(Na.prototype, { apply: function (a) { return 1 == a ? 1 : 1 - Math.exp(-6.931471805599453 * a); }, __class__: El }); var Fl = function () {}; k['com.stencyl.utils.motion.ExpoOutIn'] = Fl; Fl.__name__ = 'com.stencyl.utils.motion.ExpoOutIn'; Fl.__super__ = Na; Fl.prototype = t(Na.prototype, { apply: function (a) { return 0.5 > a ? 0.5 * (1 - Math.exp(-13.862943611198906 * a)) : 0.5 == a ? 0.5 : 0.5 * (Math.exp(13.862943611198906 * (a - 1)) + 1); }, __class__: Fl }); var Gl = function () {}; k['com.stencyl.utils.motion.Linear'] = Gl; Gl.__name__ = 'com.stencyl.utils.motion.Linear'; Gl.__super__ = Na; Gl.prototype = t(Na.prototype, { apply: function (a) { return a; }, __class__: Gl }); var Hl = function () {}; k['com.stencyl.utils.motion.QuadIn'] = Hl; Hl.__name__ = 'com.stencyl.utils.motion.QuadIn'; Hl.__super__ = Na; Hl.prototype = t(Na.prototype, { apply: function (a) { return a * a; }, __class__: Hl }); var Il = function () {}; k['com.stencyl.utils.motion.QuadInOut'] = Il; Il.__name__ = 'com.stencyl.utils.motion.QuadInOut'; Il.__super__ = Na; Il.prototype = t(Na.prototype, { apply: function (a) { return 0.5 > a ? 2 * a * a : -2 * --a * a + 1; }, __class__: Il }); var Jl = function () {}; k['com.stencyl.utils.motion.QuadOut'] = Jl; Jl.__name__ = 'com.stencyl.utils.motion.QuadOut'; Jl.__super__ = Na; Jl.prototype = t(Na.prototype, { apply: function (a) { return -a * (a - 2); }, __class__: Jl }); var Kl = function () {}; k['com.stencyl.utils.motion.QuadOutIn'] = Kl; Kl.__name__ = 'com.stencyl.utils.motion.QuadOutIn'; Kl.__super__ = Na; Kl.prototype = t(Na.prototype, { apply: function (a) { if (0.5 > a) return -0.5 * (a *= 2) * (a - 2); a = 2 * a - 1; return 0.5 * a * a + 0.5; }, __class__: Kl }); var Ll = function () {}; k['com.stencyl.utils.motion.QuartIn'] = Ll; Ll.__name__ = 'com.stencyl.utils.motion.QuartIn'; Ll.__super__ = Na; Ll.prototype = t(Na.prototype, { apply: function (a) { return (a *= a) * a; }, __class__: Ll }); var Ml = function () {}; k['com.stencyl.utils.motion.QuartInOut'] = Ml; Ml.__name__ = 'com.stencyl.utils.motion.QuartInOut'; Ml.__super__ = Na; Ml.prototype = t(Na.prototype, { apply: function (a) { if (1 > (a *= 2)) return 0.5 * (a *= a) * a; a *= a -= 2; return -0.5 * (a * a - 2); }, __class__: Ml }); var Nl = function () {}; k['com.stencyl.utils.motion.QuartOut'] = Nl; Nl.__name__ = 'com.stencyl.utils.motion.QuartOut'; Nl.__super__ = Na; Nl.prototype = t(Na.prototype, { apply: function (a) { a *= --a; return 1 - a * a; }, __class__: Nl }); var Ol = function () {}; k['com.stencyl.utils.motion.QuartOutIn'] = Ol; Ol.__name__ = 'com.stencyl.utils.motion.QuartOutIn'; Ol.__super__ = Na; Ol.prototype = t(Na.prototype, { apply: function (a) { if (0.5 > a) return (a = 2 * a - 1), -0.5 * (a *= a) * a + 0.5; a = 2 * a - 1; return 0.5 * (a *= a) * a + 0.5; }, __class__: Ol }); var Pl = function () {}; k['com.stencyl.utils.motion.QuintIn'] = Pl; Pl.__name__ = 'com.stencyl.utils.motion.QuintIn'; Pl.__super__ = Na; Pl.prototype = t(Na.prototype, { apply: function (a) { return a * (a *= a) * a; }, __class__: Pl }); var Ql = function () {}; k['com.stencyl.utils.motion.QuintInOut'] = Ql; Ql.__name__ = 'com.stencyl.utils.motion.QuintInOut'; Ql.__super__ = Na; Ql.prototype = t(Na.prototype, { apply: function (a) { return 1 > (a *= 2) ? 0.5 * a * (a *= a) * a : 0.5 * (a -= 2) * (a *= a) * a + 1; }, __class__: Ql }); var Rl = function () {}; k['com.stencyl.utils.motion.QuintOut'] = Rl; Rl.__name__ = 'com.stencyl.utils.motion.QuintOut'; Rl.__super__ = Na; Rl.prototype = t(Na.prototype, { apply: function (a) { return --a * (a *= a) * a + 1; }, __class__: Rl }); var Sl = function () {}; k['com.stencyl.utils.motion.QuintOutIn'] = Sl; Sl.__name__ = 'com.stencyl.utils.motion.QuintOutIn'; Sl.__super__ = Na; Sl.prototype = t(Na.prototype, { apply: function (a) { a = 2 * a - 1; return 0.5 * (a * (a *= a) * a + 1); }, __class__: Sl }); var Tl = function () {}; k['com.stencyl.utils.motion.SineIn'] = Tl; Tl.__name__ = 'com.stencyl.utils.motion.SineIn'; Tl.__super__ = Na; Tl.prototype = t(Na.prototype, { apply: function (a) { return 0 == a ? 0 : 1 == a ? 1 : 1 - Math.cos(1.5707963267948966 * a); }, __class__: Tl }); var Ul = function () {}; k['com.stencyl.utils.motion.SineInOut'] = Ul; Ul.__name__ = 'com.stencyl.utils.motion.SineInOut'; Ul.__super__ = Na; Ul.prototype = t(Na.prototype, { apply: function (a) { return 0 == a ? 0 : 1 == a ? 1 : -0.5 * (Math.cos(3.141592653589793 * a) - 1); }, __class__: Ul }); var Vl = function () {}; k['com.stencyl.utils.motion.SineOut'] = Vl; Vl.__name__ = 'com.stencyl.utils.motion.SineOut'; Vl.__super__ = Na; Vl.prototype = t(Na.prototype, { apply: function (a) { return 0 == a ? 0 : 1 == a ? 1 : Math.sin(1.5707963267948966 * a); }, __class__: Vl }); var Wl = function () {}; k['com.stencyl.utils.motion.SineOutIn'] = Wl; Wl.__name__ = 'com.stencyl.utils.motion.SineOutIn'; Wl.__super__ = Na; Wl.prototype = t(Na.prototype, { apply: function (a) { return 0 == a ? 0 : 1 == a ? 1 : 0.5 > a ? 0.5 * Math.sin(3.141592653589793 * a) : -0.5 * Math.cos(1.5707963267948966 * (2 * a - 1)) + 1; }, __class__: Wl }); var Xl = function () {}; k['com.stencyl.utils.motion.WarpIn'] = Xl; Xl.__name__ = 'com.stencyl.utils.motion.WarpIn'; Xl.__super__ = Na; Xl.prototype = t(Na.prototype, { apply: function (a) { return 1 > a ? 0 : 1; }, __class__: Xl }); var Yl = function () {}; k['com.stencyl.utils.motion.WarpInOut'] = Yl; Yl.__name__ = 'com.stencyl.utils.motion.WarpInOut'; Yl.__super__ = Na; Yl.prototype = t(Na.prototype, { apply: function (a) { return 0.5 > a ? 0 : 1; }, __class__: Yl }); var Zl = function () {}; k['com.stencyl.utils.motion.WarpOut'] = Zl; Zl.__name__ = 'com.stencyl.utils.motion.WarpOut'; Zl.__super__ = Na; Zl.prototype = t(Na.prototype, { apply: function (a) { return 0 >= a ? 0 : 1; }, __class__: Zl }); var $l = function () {}; k['com.stencyl.utils.motion.WarpOutIn'] = $l; $l.__name__ = 'com.stencyl.utils.motion.WarpOutIn'; $l.__super__ = Na; $l.prototype = t(Na.prototype, { apply: function (a) { return 0 >= a ? 0 : 1 > a ? 0.5 : 1; }, __class__: $l }); var v = function () {}; k['com.stencyl.utils.motion.Easing'] = v; v.__name__ = 'com.stencyl.utils.motion.Easing'; var Vh = function () {}; k['com.stencyl.utils.motion.EasingConstants'] = Vh; Vh.__name__ = 'com.stencyl.utils.motion.EasingConstants'; var lg = function () { this.paused = this.finished = this.active = !1; }; k['com.stencyl.utils.motion.TweenObject'] = lg; lg.__name__ = 'com.stencyl.utils.motion.TweenObject'; lg.prototype = { easing: null, time: null, duration: null, active: null, paused: null, updated: null, finished: null, onUpdate: null, onComplete: null, _tween: function (a, b) { null == a && (a = v.linear); this.easing = a; this.duration = b; this.active || kb.markActive(this); this.time = 0; this.active = !0; this.paused = this.finished = this.updated = !1; 0 == b && ((this.duration = 1), kb.finish(this)); }, update: function (a) { if (!this.paused) if ( ((this.time += a), this.time > this.duration && (this.time = this.duration), this.updateValue(), (this.updated = !0), this.time == this.duration) ) { this.active = !1; this.finished = !0; if (null != this.onUpdate) this.onUpdate(); if (null != this.onComplete) this.onComplete(); } else if (null != this.onUpdate) this.onUpdate(); }, updateValue: function () {}, doOnUpdate: function (a) { this.onUpdate = a; return this; }, doOnComplete: function (a) { this.onComplete = a; return this; }, __class__: lg }; var ye = function () { lg.call(this); }; k['com.stencyl.utils.motion.TweenFloat'] = ye; ye.__name__ = 'com.stencyl.utils.motion.TweenFloat'; ye.__super__ = lg; ye.prototype = t(lg.prototype, { startValue: null, endValue: null, value: null, tween: function (a, b, d, e) { this.startValue = a; this.endValue = b; this.value = a; this._tween(d, e); return this; }, updateValue: function () { var a = this.easing.apply(this.time / this.duration); this.value = this.startValue * (1 - a) + this.endValue * a; }, __class__: ye }); var Kf = function () { lg.call(this); }; k['com.stencyl.utils.motion.TweenFloat2'] = Kf; Kf.__name__ = 'com.stencyl.utils.motion.TweenFloat2'; Kf.__super__ = lg; Kf.prototype = t(lg.prototype, { startValue1: null, endValue1: null, value1: null, startValue2: null, endValue2: null, value2: null, tween: function (a, b, d, e, c, g) { this.startValue1 = a; this.endValue1 = b; this.value1 = a; this.startValue2 = d; this.endValue2 = e; this.value2 = d; this._tween(c, g); return this; }, updateValue: function () { var a = this.easing.apply(this.time / this.duration); this.value1 = this.startValue1 * (1 - a) + this.endValue1 * a; this.value2 = this.startValue2 * (1 - a) + this.endValue2 * a; }, __class__: Kf }); var kb = function () {}; k['com.stencyl.utils.motion.TweenManager'] = kb; kb.__name__ = 'com.stencyl.utils.motion.TweenManager'; kb.resetStatics = function () { kb.activeObjects = []; kb.finishedObjects = []; }; kb.markActive = function (a) { kb.activeObjects.push(a); }; kb.cancel = function (a) { var b = kb.activeObjects.indexOf(a); -1 != b && ((a.active = !1), (a.updated = !1), (a.finished = !1), (a.paused = !1), (kb.activeObjects[b] = kb.activeObjects[kb.activeObjects.length - 1]), kb.activeObjects.pop()); }; kb.finish = function (a) { var b = kb.activeObjects.indexOf(a); -1 != b && (a.update(a.duration - a.time), (kb.activeObjects[b] = kb.activeObjects[kb.activeObjects.length - 1]), kb.activeObjects.pop(), kb.finishedObjects.push(a)); }; kb.update = function (a) { for (var b = kb.finishedObjects.length; 0 < b--; ) kb.finishedObjects.pop().updated = !1; for (b = kb.activeObjects.length; 0 < b--; ) { var d = kb.activeObjects[b]; d.update(a); d.finished && ((kb.activeObjects[b] = kb.activeObjects[kb.activeObjects.length - 1]), kb.activeObjects.pop(), kb.finishedObjects.push(d)); } }; kb.timer = function (a) { return new am().tween(a); }; var am = function () { lg.call(this); }; k['com.stencyl.utils.motion.TweenTimer'] = am; am.__name__ = 'com.stencyl.utils.motion.TweenTimer'; am.__super__ = lg; am.prototype = t(lg.prototype, { tween: function (a) { this._tween(v.linear, a); return this; }, updateValue: function () {}, __class__: am }); var mg = (N['haxe.StackItem'] = { __ename__: 'haxe.StackItem', __constructs__: null, CFunction: { _hx_name: 'CFunction', _hx_index: 0, __enum__: 'haxe.StackItem', toString: x }, Module: ((B = function (a) { return { _hx_index: 1, m: a, __enum__: 'haxe.StackItem', toString: x }; }), (B._hx_name = 'Module'), (B.__params__ = ['m']), B), FilePos: ((B = function (a, b, d, e) { return { _hx_index: 2, s: a, file: b, line: d, column: e, __enum__: 'haxe.StackItem', toString: x }; }), (B._hx_name = 'FilePos'), (B.__params__ = ['s', 'file', 'line', 'column']), B), Method: ((B = function (a, b) { return { _hx_index: 3, classname: a, method: b, __enum__: 'haxe.StackItem', toString: x }; }), (B._hx_name = 'Method'), (B.__params__ = ['classname', 'method']), B), LocalFunction: ((B = function (a) { return { _hx_index: 4, v: a, __enum__: 'haxe.StackItem', toString: x }; }), (B._hx_name = 'LocalFunction'), (B.__params__ = ['v']), B) }); mg.__constructs__ = [mg.CFunction, mg.Module, mg.FilePos, mg.Method, mg.LocalFunction]; var jf = { callStack: function () { return ka.toHaxe(ka.callStack()); }, exceptionStack: function (a) { null == a && (a = !1); var b = ka.toHaxe(ka.exceptionStack()); return a ? b : jf.subtract(b, jf.callStack()); }, toString: function (a) { for (var b = new Ga(), d = 0; d < a.length; ) { var e = a[d]; ++d; b.b += '\nCalled from '; jf.itemToString(b, e); } return b.b; }, subtract: function (a, b) { for (var d = -1, e = -1; ++e < a.length; ) { for (var c = 0, g = b.length; c < g; ) { var l = c++; if (jf.equalItems(a[e], b[l])) { if ((0 > d && (d = e), ++e, e >= a.length)) break; } else d = -1; } if (0 <= d) break; } return 0 <= d ? a.slice(0, d) : a; }, equalItems: function (a, b) { if (null == a) return null == b ? !0 : !1; switch (a._hx_index) { case 0: return null == b ? !1 : 0 == b._hx_index ? !0 : !1; case 1: return null == b ? !1 : 1 == b._hx_index ? a.m == b.m : !1; case 2: if (null == b) return !1; if (2 == b._hx_index) { var d = b.s, e = b.line, c = b.column, g = a.column, l = a.line, q = a.s; return a.file == b.file && l == e && g == c ? jf.equalItems(q, d) : !1; } return !1; case 3: return null == b ? !1 : 3 == b._hx_index ? ((d = b.method), (e = a.method), a.classname == b.classname ? e == d : !1) : !1; case 4: return null == b ? !1 : 4 == b._hx_index ? a.v == b.v : !1; } }, itemToString: function (a, b) { switch (b._hx_index) { case 0: a.b += 'a C function'; break; case 1: b = b.m; a.b += 'module '; a.b += null == b ? 'null' : '' + b; break; case 2: var d = b.s, e = b.file, c = b.line; b = b.column; null != d && (jf.itemToString(a, d), (a.b += ' (')); a.b += null == e ? 'null' : '' + e; a.b += ' line '; a.b += null == c ? 'null' : '' + c; null != b && ((a.b += ' column '), (a.b += null == b ? 'null' : '' + b)); null != d && (a.b += ')'); break; case 3: d = b.classname; b = b.method; a.b += z.string(null == d ? '' : d); a.b += '.'; a.b += null == b ? 'null' : '' + b; break; case 4: (b = b.v), (a.b += 'local function #'), (a.b += null == b ? 'null' : '' + b); } } }, J = function (a, b, d) { Error.call(this, a); this.message = a; this.__previousException = b; this.__nativeException = null != d ? d : this; this.__skipStack = 0; a = Error.prepareStackTrace; Error.prepareStackTrace = function (a) { return a.stack; }; if (d instanceof Error) this.stack = d.stack; else { d = null; if (Error.captureStackTrace) Error.captureStackTrace(this, J), (d = this); else if (((d = Error()), 'undefined' == typeof d.stack)) { try { throw d; } catch (e) {} this.__skipStack++; } this.stack = d.stack; } Error.prepareStackTrace = a; }; k['haxe.Exception'] = J; J.__name__ = 'haxe.Exception'; J.caught = function (a) { return a instanceof J ? a : a instanceof Error ? new J(a.message, null, a) : new Kj(a, null, a); }; J.thrown = function (a) { if (a instanceof J) return a.get_native(); if (a instanceof Error) return a; a = new Kj(a); a.__skipStack++; return a; }; J.__super__ = Error; J.prototype = t(Error.prototype, { __skipStack: null, __nativeException: null, __previousException: null, unwrap: function () { return this.__nativeException; }, toString: function () { return this.get_message(); }, __shiftStack: function () { this.__skipStack++; }, get_message: function () { return this.message; }, get_native: function () { return this.__nativeException; }, get_stack: function () { var a = this.__exceptionStack; null == a && ((a = ka.toHaxe(ka.normalize(this.stack), this.__skipStack)), this.setProperty('__exceptionStack', a)); return a; }, setProperty: function (a, b) { try { Object.defineProperty(this, a, { value: b }); } catch (d) { this[a] = b; } }, __class__: J, __properties__: { get_native: 'get_native', get_stack: 'get_stack', get_message: 'get_message' } }); var po = { ucompare: function (a, b) { return 0 > a ? (0 > b ? (~b - ~a) | 0 : 1) : 0 > b ? -1 : (a - b) | 0; } }, Iz = { toString: function (a) { var b = a; if (0 == b.high && 0 == b.low) return '0'; var d = '', e = !1; 0 > b.high && (e = !0); for (var c = (a = new ab(0, 10)); 0 != b.high || 0 != b.low; ) if (((a = Iz.divMod(b, c)), 0 > a.modulus.high)) { var g = a.modulus; b = ~g.high; g = (~g.low + 1) | 0; 0 == g && b++; d = g + d; b = a.quotient; a = ~b.high; b = (~b.low + 1) | 0; 0 == b && (a++, (a |= 0)); b = a = new ab(a, b); } else (d = a.modulus.low + d), (b = a.quotient); e && (d = '-' + d); return d; }, divMod: function (a, b) { if (0 == b.high) switch (b.low) { case 0: throw J.thrown('divide by zero'); case 1: var d = new ab(a.high, a.low), e = new ab(0, 0); return { quotient: d, modulus: e }; } var c = 0 > a.high != 0 > b.high; if (0 > a.high) { var g = ~a.high; d = (~a.low + 1) | 0; 0 == d && (g++, (g |= 0)); d = new ab(g, d); } else d = new ab(a.high, a.low); var l = d; 0 > b.high && ((g = ~b.high), (d = (~b.low + 1) | 0), 0 == d && (g++, (g |= 0)), (b = d = new ab(g, d))); for ( var q = (d = new ab(0, 0)), h = (d = new ab(0, 1)); !( 0 > b.high || ((g = po.ucompare(b.high, l.high)), (g = 0 != g ? g : po.ucompare(b.low, l.low)), (d = 1), (d &= 63), (b = 0 == d ? (d = new ab(b.high, b.low)) : 32 > d ? (e = new ab((b.high << d) | (b.low >>> (32 - d)), b.low << d)) : (d = new ab(b.low << (d - 32), 0))), (d = 1), (d &= 63), (h = 0 == d ? new ab(h.high, h.low) : 32 > d ? new ab((h.high << d) | (h.low >>> (32 - d)), h.low << d) : (d = new ab(h.low << (d - 32), 0))), 0 <= g) ); ); for (; 0 != h.high || 0 != h.low; ) (g = po.ucompare(l.high, b.high)), 0 <= (0 != g ? g : po.ucompare(l.low, b.low)) && ((q = d = new ab(q.high | h.high, q.low | h.low)), (g = (l.high - b.high) | 0), (d = (l.low - b.low) | 0), 0 > po.ucompare(l.low, b.low) && (g--, (g |= 0)), (l = e = new ab(g, d))), (d = 1), (d &= 63), (h = 0 == d ? (d = new ab(h.high, h.low)) : 32 > d ? new ab(h.high >>> d, (h.high << (32 - d)) | (h.low >>> d)) : new ab(0, h.high >>> (d - 32))), (d = 1), (d &= 63), (b = 0 == d ? (d = new ab(b.high, b.low)) : 32 > d ? new ab(b.high >>> d, (b.high << (32 - d)) | (b.low >>> d)) : new ab(0, b.high >>> (d - 32))); c && ((g = ~q.high), (d = (~q.low + 1) | 0), 0 == d && (g++, (g |= 0)), (q = d = new ab(g, d))); 0 > a.high && ((g = ~l.high), (d = (~l.low + 1) | 0), 0 == d && (g++, (g |= 0)), (l = d = new ab(g, d))); return { quotient: q, modulus: l }; } }, ab = function (a, b) { this.high = a; this.low = b; }; k['haxe._Int64.___Int64'] = ab; ab.__name__ = 'haxe._Int64.___Int64'; ab.prototype = { high: null, low: null, __class__: ab }; var ih = function () {}; k['haxe.Log'] = ih; ih.__name__ = 'haxe.Log'; ih.formatOutput = function (a, b) { var d = z.string(a); if (null == b) return d; var e = b.fileName + ':' + b.lineNumber; if (null != b.customParams) { var c = 0; for (b = b.customParams; c < b.length; ) (a = b[c]), ++c, (d += ', ' + z.string(a)); } return e + ': ' + d; }; ih.trace = function (a, b) { a = ih.formatOutput(a, b); 'undefined' != typeof console && null != console.log && console.log(a); }; var ka = function () {}; k['haxe.NativeStackTrace'] = ka; ka.__name__ = 'haxe.NativeStackTrace'; ka.saveStack = function (a) { ka.lastError = a; }; ka.callStack = function () { var a = Error(''), b = ka.tryHaxeStack(a); if ('undefined' == typeof b) { try { throw a; } catch (d) {} b = a.stack; } return ka.normalize(b, 2); }; ka.exceptionStack = function () { return ka.normalize(ka.tryHaxeStack(ka.lastError)); }; ka.toHaxe = function (a, b) { null == b && (b = 0); if (null == a) return []; if ('string' == typeof a) { a = a.split('\n'); 'Error' == a[0] && a.shift(); for (var d = [], e = 0, c = a.length; e < c; ) { var g = e++; if (!(b > g)) { var l = a[g]; g = l.match(/^ at ([A-Za-z0-9_. ]+) \(([^)]+):([0-9]+):([0-9]+)\)$/); if (null != g) { l = g[1].split('.'); '$hxClasses' == l[0] && l.shift(); var q = l.pop(), h = g[2], r = z.parseInt(g[3]); g = z.parseInt(g[4]); d.push( mg.FilePos( 'Anonymous function' == q ? mg.LocalFunction() : 'Global code' == q ? null : mg.Method(l.join('.'), q), h, r, g ) ); } else d.push(mg.Module(T.trim(l))); } } return d; } return 0 < b && Array.isArray(a) ? a.slice(b) : a; }; ka.tryHaxeStack = function (a) { if (null == a) return []; var b = Error.prepareStackTrace; Error.prepareStackTrace = ka.prepareHxStackTrace; a = a.stack; Error.prepareStackTrace = b; return a; }; ka.prepareHxStackTrace = function (a, b) { a = []; for (var d = 0; d < b.length; ) { var e = b[d]; ++d; null != ka.wrapCallSite && (e = ka.wrapCallSite(e)); var c = null, g = e.getFunctionName(); if (null != g) { var l = g.lastIndexOf('.'); 0 <= l ? ((c = g.substring(0, l)), (g = g.substring(l + 1)), (c = mg.Method(c, g))) : (c = mg.Method(null, g)); } g = e.getFileName(); l = null == g ? -1 : g.indexOf('file:'); null != ka.wrapCallSite && 0 < l && (g = g.substring(l + 6)); a.push(mg.FilePos(c, g, e.getLineNumber(), e.getColumnNumber())); } return a; }; ka.normalize = function (a, b) { null == b && (b = 0); if (Array.isArray(a) && 0 < b) return a.slice(b); if ('string' == typeof a) { switch (a.substring(0, 6)) { case 'Error\n': case 'Error:': ++b; } return ka.skipLines(a, b); } return a; }; ka.skipLines = function (a, b, d) { null == d && (d = 0); return 0 < b ? ((d = a.indexOf('\n', d)), 0 > d ? '' : ka.skipLines(a, --b, d + 1)) : a.substring(d); }; var xh = function () {}; k['haxe.Resource'] = xh; xh.__name__ = 'haxe.Resource'; xh.getString = function (a) { for (var b = 0, d = xh.content; b < d.length; ) { var e = d[b]; ++b; if (e.name == a) return null != e.str ? e.str : yh.decode(e.data).toString(); } return null; }; xh.getBytes = function (a) { for (var b = 0, d = xh.content; b < d.length; ) { var e = d[b]; ++b; if (e.name == a) return null != e.str ? fb.ofString(e.str) : yh.decode(e.data); } return null; }; var ze = function () { this.buf = new Ga(); this.cache = []; this.useCache = ze.USE_CACHE; this.useEnumIndex = ze.USE_ENUM_INDEX; this.shash = new qa(); this.scount = 0; }; k['haxe.Serializer'] = ze; ze.__name__ = 'haxe.Serializer'; ze.run = function (a) { var b = new ze(); b.serialize(a); return b.toString(); }; ze.prototype = { buf: null, cache: null, shash: null, scount: null, useCache: null, useEnumIndex: null, toString: function () { return this.buf.b; }, serializeString: function (a) { var b = this.shash.h[a]; null != b ? ((this.buf.b += 'R'), (this.buf.b += null == b ? 'null' : '' + b)) : ((this.shash.h[a] = this.scount++), (this.buf.b += 'y'), (a = encodeURIComponent(a)), (this.buf.b += z.string(a.length)), (this.buf.b += ':'), (this.buf.b += null == a ? 'null' : '' + a)); }, serializeRef: function (a) { for (var b = typeof a, d = 0, e = this.cache.length; d < e; ) { var c = d++, g = this.cache[c]; if (typeof g == b && g == a) return (this.buf.b += 'r'), (this.buf.b += null == c ? 'null' : '' + c), !0; } this.cache.push(a); return !1; }, serializeFields: function (a) { for (var b = 0, d = aa.fields(a); b < d.length; ) { var c = d[b]; ++b; this.serializeString(c); this.serialize(aa.field(a, c)); } this.buf.b += 'g'; }, serialize: function (a) { var b = ma.typeof(a); switch (b._hx_index) { case 0: this.buf.b += 'n'; break; case 1: if (0 == a) { this.buf.b += 'z'; break; } this.buf.b += 'i'; this.buf.b += null == a ? 'null' : '' + a; break; case 2: isNaN(a) ? (this.buf.b += 'k') : isFinite(a) ? ((this.buf.b += 'd'), (this.buf.b += null == a ? 'null' : '' + a)) : (this.buf.b += 0 > a ? 'm' : 'p'); break; case 3: this.buf.b += a ? 't' : 'f'; break; case 4: w.__instanceof(a, My) ? ((a = a.__name__), (this.buf.b += 'A'), this.serializeString(a)) : w.__instanceof(a, Jz) ? ((this.buf.b += 'B'), this.serializeString(a.__ename__)) : (this.useCache && this.serializeRef(a)) || ((this.buf.b += 'o'), this.serializeFields(a)); break; case 5: throw J.thrown('Cannot serialize function'); case 6: b = b.c; if (b == String) { this.serializeString(a); break; } if (this.useCache && this.serializeRef(a)) break; switch (b) { case Array: var d = 0; this.buf.b += 'a'; for (var c = 0, f = a.length; c < f; ) (b = c++), null == a[b] ? ++d : (0 < d && (1 == d ? (this.buf.b += 'n') : ((this.buf.b += 'u'), (this.buf.b += null == d ? 'null' : '' + d)), (d = 0)), this.serialize(a[b])); 0 < d && (1 == d ? (this.buf.b += 'n') : ((this.buf.b += 'u'), (this.buf.b += null == d ? 'null' : '' + d))); this.buf.b += 'h'; break; case Date: this.buf.b += 'v'; this.buf.b += z.string(a.getTime()); break; case Ya: this.buf.b += 'q'; for (b = a.keys(); b.hasNext(); ) (d = b.next()), (this.buf.b += ':'), (this.buf.b += null == d ? 'null' : '' + d), this.serialize(a.h[d]); this.buf.b += 'h'; break; case F: this.buf.b += 'l'; for (a = a.h; null != a; ) (b = a.item), (a = a.next), this.serialize(b); this.buf.b += 'h'; break; case Jc: this.buf.b += 'M'; for (b = a.keys(); b.hasNext(); ) { d = b.next(); var g = aa.field(d, '__id__'); aa.deleteField(d, '__id__'); this.serialize(d); d.__id__ = g; this.serialize(a.h[d.__id__]); } this.buf.b += 'h'; break; case qa: this.buf.b += 'b'; d = Object.keys(a.h); g = d.length; for (c = 0; c < g; ) (b = d[c++]), this.serializeString(b), this.serialize(a.h[b]); this.buf.b += 'h'; break; case fb: this.buf.b += 's'; this.buf.b += z.string(Math.ceil((8 * a.length) / 6)); this.buf.b += ':'; b = 0; d = a.length - 2; g = ze.BASE64_CODES; if (null == g) { g = Array(ze.BASE64.length); c = 0; for (f = ze.BASE64.length; c < f; ) { var l = c++; g[l] = C.cca(ze.BASE64, l); } ze.BASE64_CODES = g; } for (; b < d; ) (c = a.b[b++]), (f = a.b[b++]), (l = a.b[b++]), (this.buf.b += String.fromCodePoint(g[c >> 2])), (this.buf.b += String.fromCodePoint(g[((c << 4) | (f >> 4)) & 63])), (this.buf.b += String.fromCodePoint(g[((f << 2) | (l >> 6)) & 63])), (this.buf.b += String.fromCodePoint(g[l & 63])); b == d ? ((c = a.b[b++]), (f = a.b[b++]), (this.buf.b += String.fromCodePoint(g[c >> 2])), (this.buf.b += String.fromCodePoint(g[((c << 4) | (f >> 4)) & 63])), (this.buf.b += String.fromCodePoint(g[(f << 2) & 63]))) : b == d + 1 && ((c = a.b[b++]), (this.buf.b += String.fromCodePoint(g[c >> 2])), (this.buf.b += String.fromCodePoint(g[(c << 4) & 63]))); break; default: this.useCache && this.cache.pop(), null != a.hxSerialize ? ((this.buf.b += 'C'), this.serializeString(b.__name__), this.useCache && this.cache.push(a), a.hxSerialize(this), (this.buf.b += 'g')) : ((this.buf.b += 'c'), this.serializeString(b.__name__), this.useCache && this.cache.push(a), this.serializeFields(a)); } break; case 7: b = b.e; if (this.useCache) { if (this.serializeRef(a)) break; this.cache.pop(); } this.buf.b += z.string(this.useEnumIndex ? 'j' : 'w'); this.serializeString(b.__ename__); this.useEnumIndex ? ((this.buf.b += ':'), (this.buf.b += z.string(a._hx_index))) : ((b = a), this.serializeString(N[b.__enum__].__constructs__[b._hx_index]._hx_name)); this.buf.b += ':'; d = ma.enumParameters(a); this.buf.b += z.string(d.length); for (b = 0; b < d.length; ) (g = d[b]), ++b, this.serialize(g); this.useCache && this.cache.push(a); break; default: throw J.thrown('Cannot serialize ' + z.string(a)); } }, __class__: ze }; var Ne = function (a) { var b = this; this.id = setInterval(function () { b.run(); }, a); }; k['haxe.Timer'] = Ne; Ne.__name__ = 'haxe.Timer'; Ne.delay = function (a, b) { var d = new Ne(b); d.run = function () { d.stop(); a(); }; return d; }; Ne.measure = function (a, b) { var d = new Date().getTime() / 1e3; a = a(); ih.trace(new Date().getTime() / 1e3 - d + 's', b); return a; }; Ne.stamp = function () { return new Date().getTime() / 1e3; }; Ne.prototype = { id: null, stop: function () { null != this.id && (clearInterval(this.id), (this.id = null)); }, run: function () {}, __class__: Ne }; var bm = function () {}; k['haxe._Unserializer.DefaultResolver'] = bm; bm.__name__ = 'haxe._Unserializer.DefaultResolver'; bm.prototype = { resolveClass: function (a) { return k[a]; }, resolveEnum: function (a) { return N[a]; }, __class__: bm }; var Ge = function (a) { this.buf = a; this.length = this.buf.length; this.pos = 0; this.scache = []; this.cache = []; a = Ge.DEFAULT_RESOLVER; null == a && ((a = new bm()), (Ge.DEFAULT_RESOLVER = a)); this.resolver = a; }; k['haxe.Unserializer'] = Ge; Ge.__name__ = 'haxe.Unserializer'; Ge.initCodes = function () { for (var a = [], b = 0, d = Ge.BASE64.length; b < d; ) { var c = b++; a[Ge.BASE64.charCodeAt(c)] = c; } return a; }; Ge.run = function (a) { return new Ge(a).unserialize(); }; Ge.prototype = { buf: null, pos: null, length: null, cache: null, scache: null, resolver: null, setResolver: function (a) { null == a ? (null == Ci.instance && (Ci.instance = new Ci()), (this.resolver = Ci.instance)) : (this.resolver = a); }, readDigits: function () { for (var a = 0, b = !1, d = this.pos; ; ) { var c = this.buf.charCodeAt(this.pos); if (c != c) break; if (45 == c) { if (this.pos != d) break; b = !0; } else { if (48 > c || 57 < c) break; a = 10 * a + (c - 48); } this.pos++; } b && (a *= -1); return a; }, readFloat: function () { for (var a = this.pos; ; ) { var b = this.buf.charCodeAt(this.pos); if (b != b) break; if ((43 <= b && 58 > b) || 101 == b || 69 == b) this.pos++; else break; } return parseFloat(C.substr(this.buf, a, this.pos - a)); }, unserializeObject: function (a) { for (;;) { if (this.pos >= this.length) throw J.thrown('Invalid object'); if (103 == this.buf.charCodeAt(this.pos)) break; var b = this.unserialize(); if ('string' != typeof b) throw J.thrown('Invalid object key'); var d = this.unserialize(); a[b] = d; } this.pos++; }, unserializeEnum: function (a, b) { if (58 != this.buf.charCodeAt(this.pos++)) throw J.thrown('Invalid enum format'); var d = this.readDigits(); if (0 == d) return ma.createEnum(a, b); for (var c = []; 0 < d--; ) c.push(this.unserialize()); return ma.createEnum(a, b, c); }, unserialize: function () { switch (this.buf.charCodeAt(this.pos++)) { case 65: var a = this.unserialize(), b = this.resolver.resolveClass(a); if (null == b) throw J.thrown('Class not found ' + a); return b; case 66: a = this.unserialize(); b = this.resolver.resolveEnum(a); if (null == b) throw J.thrown('Enum not found ' + a); return b; case 67: a = this.unserialize(); b = this.resolver.resolveClass(a); if (null == b) throw J.thrown('Class not found ' + a); b = Object.create(b.prototype); this.cache.push(b); b.hxUnserialize(this); if (103 != this.buf.charCodeAt(this.pos++)) throw J.thrown('Invalid custom data'); return b; case 77: a = new Jc(); this.cache.push(a); for (var d; 104 != this.buf.charCodeAt(this.pos); ) (b = this.unserialize()), a.set(b, this.unserialize()); this.pos++; return a; case 82: a = this.readDigits(); if (0 > a || a >= this.scache.length) throw J.thrown('Invalid string reference'); return this.scache[a]; case 97: b = []; for (this.cache.push(b); ; ) { d = this.buf.charCodeAt(this.pos); if (104 == d) { this.pos++; break; } 117 == d ? (this.pos++, (a = this.readDigits()), (b[b.length + a - 1] = null)) : b.push(this.unserialize()); } return b; case 98: a = new qa(); for (this.cache.push(a); 104 != this.buf.charCodeAt(this.pos); ) (b = this.unserialize()), (d = this.unserialize()), (a.h[b] = d); this.pos++; return a; case 99: a = this.unserialize(); b = this.resolver.resolveClass(a); if (null == b) throw J.thrown('Class not found ' + a); b = Object.create(b.prototype); this.cache.push(b); this.unserializeObject(b); return b; case 100: return this.readFloat(); case 102: return !1; case 105: return this.readDigits(); case 106: a = this.unserialize(); d = this.resolver.resolveEnum(a); if (null == d) throw J.thrown('Enum not found ' + a); this.pos++; for ( var c = this.readDigits(), f = d.__constructs__, g = Array(f.length), l = 0, q = f.length; l < q; ) (b = l++), (g[b] = f[b]._hx_name); b = g[c]; if (null == b) throw J.thrown('Unknown enum index ' + a + '@' + c); b = this.unserializeEnum(d, b); this.cache.push(b); return b; case 107: return NaN; case 108: b = new F(); for (this.cache.push(b); 104 != this.buf.charCodeAt(this.pos); ) b.add(this.unserialize()); this.pos++; return b; case 109: return -Infinity; case 110: return null; case 111: return (b = {}), this.cache.push(b), this.unserializeObject(b), b; case 112: return Infinity; case 113: a = new Ya(); this.cache.push(a); for (d = this.buf.charCodeAt(this.pos++); 58 == d; ) (b = this.readDigits()), (d = this.unserialize()), (a.h[b] = d), (d = this.buf.charCodeAt(this.pos++)); if (104 != d) throw J.thrown('Invalid IntMap format'); return a; case 114: a = this.readDigits(); if (0 > a || a >= this.cache.length) throw J.thrown('Invalid reference'); return this.cache[a]; case 115: a = this.readDigits(); d = this.buf; if (58 != this.buf.charCodeAt(this.pos++) || this.length - this.pos < a) throw J.thrown('Invalid bytes length'); c = Ge.CODES; null == c && ((c = Ge.initCodes()), (Ge.CODES = c)); b = this.pos; f = a & 3; g = b + (a - f); l = new fb(new ArrayBuffer(3 * (a >> 2) + (2 <= f ? f - 1 : 0))); for (q = 0; b < g; ) { var h = c[d.charCodeAt(b++)], r = c[d.charCodeAt(b++)]; l.b[q++] = ((h << 2) | (r >> 4)) & 255; h = c[d.charCodeAt(b++)]; l.b[q++] = ((r << 4) | (h >> 2)) & 255; r = c[d.charCodeAt(b++)]; l.b[q++] = ((h << 6) | r) & 255; } 2 <= f && ((h = c[d.charCodeAt(b++)]), (r = c[d.charCodeAt(b++)]), (l.b[q++] = ((h << 2) | (r >> 4)) & 255), 3 == f && ((h = c[d.charCodeAt(b++)]), (l.b[q++] = ((r << 4) | (h >> 2)) & 255))); this.pos += a; this.cache.push(l); return l; case 116: return !0; case 118: return ( 48 <= this.buf.charCodeAt(this.pos) && 57 >= this.buf.charCodeAt(this.pos) && 48 <= this.buf.charCodeAt(this.pos + 1) && 57 >= this.buf.charCodeAt(this.pos + 1) && 48 <= this.buf.charCodeAt(this.pos + 2) && 57 >= this.buf.charCodeAt(this.pos + 2) && 48 <= this.buf.charCodeAt(this.pos + 3) && 57 >= this.buf.charCodeAt(this.pos + 3) && 45 == this.buf.charCodeAt(this.pos + 4) ? ((b = C.strDate(C.substr(this.buf, this.pos, 19))), (this.pos += 19)) : (b = new Date(this.readFloat())), this.cache.push(b), b ); case 119: a = this.unserialize(); d = this.resolver.resolveEnum(a); if (null == d) throw J.thrown('Enum not found ' + a); b = this.unserializeEnum(d, this.unserialize()); this.cache.push(b); return b; case 120: throw J.thrown(this.unserialize()); case 121: a = this.readDigits(); if (58 != this.buf.charCodeAt(this.pos++) || this.length - this.pos < a) throw J.thrown('Invalid string length'); b = C.substr(this.buf, this.pos, a); this.pos += a; b = decodeURIComponent(b.split('+').join(' ')); this.scache.push(b); return b; case 122: return 0; } this.pos--; throw J.thrown('Invalid char ' + this.buf.charAt(this.pos) + ' at position ' + this.pos); }, __class__: Ge }; var Ci = function () {}; k['haxe._Unserializer.NullResolver'] = Ci; Ci.__name__ = 'haxe._Unserializer.NullResolver'; Ci.prototype = { resolveClass: function (a) { return null; }, resolveEnum: function (a) { return null; }, __class__: Ci }; var Kj = function (a, b, d) { J.call(this, String(a), b, d); this.value = a; this.__skipStack++; }; k['haxe.ValueException'] = Kj; Kj.__name__ = 'haxe.ValueException'; Kj.__super__ = J; Kj.prototype = t(J.prototype, { value: null, unwrap: function () { return this.value; }, __class__: Kj }); var Di = function () { this.a1 = 1; this.a2 = 0; }; k['haxe.crypto.Adler32'] = Di; Di.__name__ = 'haxe.crypto.Adler32'; Di.read = function (a) { var b = new Di(), d = a.readByte(), c = a.readByte(), f = a.readByte(); a = a.readByte(); b.a1 = (f << 8) | a; b.a2 = (d << 8) | c; return b; }; Di.prototype = { a1: null, a2: null, update: function (a, b, d) { var c = this.a1, f = this.a2, g = b; for (b += d; g < b; ) (d = g++), (c = (c + a.b[d]) % 65521), (f = (f + c) % 65521); this.a1 = c; this.a2 = f; }, equals: function (a) { return a.a1 == this.a1 ? a.a2 == this.a2 : !1; }, __class__: Di }; var fb = function (a) { this.length = a.byteLength; this.b = new Uint8Array(a); this.b.bufferValue = a; a.hxBytes = this; a.bytes = this.b; }; k['haxe.io.Bytes'] = fb; fb.__name__ = 'haxe.io.Bytes'; fb.alloc = function (a) { return new fb(new ArrayBuffer(a)); }; fb.ofString = function (a, b) { b = []; for (var d = 0; d < a.length; ) { var c = a.charCodeAt(d++); 55296 <= c && 56319 >= c && (c = ((c - 55232) << 10) | (a.charCodeAt(d++) & 1023)); 127 >= c ? b.push(c) : (2047 >= c ? b.push(192 | (c >> 6)) : (65535 >= c ? b.push(224 | (c >> 12)) : (b.push(240 | (c >> 18)), b.push(128 | ((c >> 12) & 63))), b.push(128 | ((c >> 6) & 63))), b.push(128 | (c & 63))); } return new fb(new Uint8Array(b).buffer); }; fb.ofData = function (a) { var b = a.hxBytes; return null != b ? b : new fb(a); }; fb.ofHex = function (a) { if (0 != (a.length & 1)) throw J.thrown('Not a hex string (odd number of digits)'); for (var b = [], d = 0, c = a.length >> 1; d < c; ) { var f = a.charCodeAt(2 * d), g = a.charCodeAt(2 * d + 1); f = (f & 15) + 9 * ((f & 64) >> 6); g = (g & 15) + 9 * ((g & 64) >> 6); b.push(((f << 4) | g) & 255); ++d; } return new fb(new Uint8Array(b).buffer); }; fb.fastGet = function (a, b) { return a.bytes[b]; }; fb.prototype = { length: null, b: null, data: null, get: function (a) { return this.b[a]; }, set: function (a, b) { this.b[a] = b & 255; }, blit: function (a, b, d, c) { if (0 > a || 0 > d || 0 > c || a + c > this.length || d + c > b.length) throw J.thrown(Nf.OutsideBounds); 0 == d && c == b.b.byteLength ? this.b.set(b.b, a) : this.b.set(b.b.subarray(d, d + c), a); }, fill: function (a, b, d) { for (var c = 0; c < b; ) c++, (this.b[a++] = d & 255); }, sub: function (a, b) { if (0 > a || 0 > b || a + b > this.length) throw J.thrown(Nf.OutsideBounds); return new fb(this.b.buffer.slice(a + this.b.byteOffset, a + this.b.byteOffset + b)); }, compare: function (a) { for ( var b = this.b, d = a.b, c = 0, f = this.length < a.length ? this.length : a.length; c < f; ) { var g = c++; if (b[g] != d[g]) return b[g] - d[g]; } return this.length - a.length; }, initData: function () { null == this.data && (this.data = new DataView(this.b.buffer, this.b.byteOffset, this.b.byteLength)); }, getDouble: function (a) { null == this.data && (this.data = new DataView(this.b.buffer, this.b.byteOffset, this.b.byteLength)); return this.data.getFloat64(a, !0); }, getFloat: function (a) { null == this.data && (this.data = new DataView(this.b.buffer, this.b.byteOffset, this.b.byteLength)); return this.data.getFloat32(a, !0); }, setDouble: function (a, b) { null == this.data && (this.data = new DataView(this.b.buffer, this.b.byteOffset, this.b.byteLength)); this.data.setFloat64(a, b, !0); }, setFloat: function (a, b) { null == this.data && (this.data = new DataView(this.b.buffer, this.b.byteOffset, this.b.byteLength)); this.data.setFloat32(a, b, !0); }, getUInt16: function (a) { null == this.data && (this.data = new DataView(this.b.buffer, this.b.byteOffset, this.b.byteLength)); return this.data.getUint16(a, !0); }, setUInt16: function (a, b) { null == this.data && (this.data = new DataView(this.b.buffer, this.b.byteOffset, this.b.byteLength)); this.data.setUint16(a, b, !0); }, getInt32: function (a) { null == this.data && (this.data = new DataView(this.b.buffer, this.b.byteOffset, this.b.byteLength)); return this.data.getInt32(a, !0); }, setInt32: function (a, b) { null == this.data && (this.data = new DataView(this.b.buffer, this.b.byteOffset, this.b.byteLength)); this.data.setInt32(a, b, !0); }, getInt64: function (a) { return new ab(this.getInt32(a + 4), this.getInt32(a)); }, setInt64: function (a, b) { this.setInt32(a, b.low); this.setInt32(a + 4, b.high); }, getString: function (a, b, d) { if (0 > a || 0 > b || a + b > this.length) throw J.thrown(Nf.OutsideBounds); d = ''; var c = this.b, f = Fd.fromCharCode, g = a; for (a += b; g < a; ) if (((b = c[g++]), 128 > b)) { if (0 == b) break; d += f(b); } else if (224 > b) d += f(((b & 63) << 6) | (c[g++] & 127)); else if (240 > b) { var l = c[g++]; d += f(((b & 31) << 12) | ((l & 127) << 6) | (c[g++] & 127)); } else { l = c[g++]; var q = c[g++]; b = ((b & 15) << 18) | ((l & 127) << 12) | ((q & 127) << 6) | (c[g++] & 127); d += f((b >> 10) + 55232); d += f((b & 1023) | 56320); } return d; }, readString: function (a, b) { return this.getString(a, b); }, toString: function () { return this.getString(0, this.length); }, toHex: function () { for (var a = '', b = [], d = 0, c = 16; d < c; ) { var f = d++; b.push(C.cca('0123456789abcdef', f)); } d = 0; for (c = this.length; d < c; ) (f = d++), (f = this.b[f]), (a += String.fromCodePoint(b[f >> 4])), (a += String.fromCodePoint(b[f & 15])); return a; }, getData: function () { return this.b.bufferValue; }, __class__: fb }; var yh = function () {}; k['haxe.crypto.Base64'] = yh; yh.__name__ = 'haxe.crypto.Base64'; yh.decode = function (a, b) { null == b && (b = !0); if (b) for (; 61 == C.cca(a, a.length - 1); ) a = C.substr(a, 0, -1); return new Fj(yh.BYTES).decodeBytes(fb.ofString(a)); }; var Fj = function (a) { for (var b = a.length, d = 1; b > 1 << d; ) ++d; if (8 < d || b != 1 << d) throw J.thrown('BaseCode : base length must be a power of two.'); this.base = a; this.nbits = d; }; k['haxe.crypto.BaseCode'] = Fj; Fj.__name__ = 'haxe.crypto.BaseCode'; Fj.prototype = { base: null, nbits: null, tbl: null, encodeBytes: function (a) { for ( var b = this.nbits, d = this.base, c = ((8 * a.length) / b) | 0, f = new fb(new ArrayBuffer(c + (0 == (8 * a.length) % b ? 0 : 1))), g = 0, l = 0, q = (1 << b) - 1, h = 0, r = 0; r < c; ) { for (; l < b; ) (l += 8), (g <<= 8), (g |= a.b[h++]); l -= b; f.b[r++] = d.b[(g >> l) & q] & 255; } 0 < l && (f.b[r++] = d.b[(g << (b - l)) & q] & 255); return f; }, initTable: function () { for (var a = [], b = 0; 256 > b; ) { var d = b++; a[d] = -1; } b = 0; for (var c = this.base.length; b < c; ) (d = b++), (a[this.base.b[d]] = d); this.tbl = a; }, decodeBytes: function (a) { var b = this.nbits; null == this.tbl && this.initTable(); for ( var d = this.tbl, c = (a.length * b) >> 3, f = new fb(new ArrayBuffer(c)), g = 0, l = 0, q = 0, h = 0; h < c; ) { for (; 8 > l; ) { l += b; g <<= b; var r = d[a.b[q++]]; if (-1 == r) throw J.thrown('BaseCode : invalid encoded char'); g |= r; } l -= 8; f.b[h++] = (g >> l) & 255; } return f; }, __class__: Fj }; var he = function () {}; k['haxe.ds.ArraySort'] = he; he.__name__ = 'haxe.ds.ArraySort'; he.sort = function (a, b) { he.rec(a, b, 0, a.length); }; he.rec = function (a, b, d, c) { var e = (d + c) >> 1; if (12 > c - d) { if (!(c <= d)) for (e = d + 1; e < c; ) for (var g = e++; g > d; ) { if (0 > b(a[g], a[g - 1])) he.swap(a, g - 1, g); else break; --g; } } else he.rec(a, b, d, e), he.rec(a, b, e, c), he.doMerge(a, b, d, e, c, e - d, c - e); }; he.doMerge = function (a, b, d, c, f, g, l) { if (0 != g && 0 != l) if (2 == g + l) 0 > b(a[c], a[d]) && he.swap(a, c, d); else { if (g > l) { var e = g >> 1; var h = d + e; var r = he.lower(a, b, c, f, h); var k = r - c; } else (k = l >> 1), (r = c + k), (h = he.upper(a, b, d, c, r)), (e = h - d); he.rotate(a, b, h, c, r); c = h + k; he.doMerge(a, b, d, h, c, e, k); he.doMerge(a, b, c, r, f, g - e, l - k); } }; he.rotate = function (a, b, d, c, f) { if (d != c && c != f) for (b = he.gcd(f - d, c - d); 0 != b--; ) { for (var e = a[d + b], l = c - d, q = d + b, h = d + b + l; h != d + b; ) (a[q] = a[h]), (q = h), (h = f - h > l ? h + l : d + (l - (f - h))); a[q] = e; } }; he.gcd = function (a, b) { for (; 0 != b; ) { var d = a % b; a = b; b = d; } return a; }; he.upper = function (a, b, d, c, f) { c -= d; for (var e, l; 0 < c; ) (e = c >> 1), (l = d + e), 0 > b(a[f], a[l]) ? (c = e) : ((d = l + 1), (c = c - e - 1)); return d; }; he.lower = function (a, b, d, c, f) { c -= d; for (var e, l; 0 < c; ) (e = c >> 1), (l = d + e), 0 > b(a[l], a[f]) ? ((d = l + 1), (c = c - e - 1)) : (c = e); return d; }; he.swap = function (a, b, d) { var c = a[b]; a[b] = a[d]; a[d] = c; }; var Vg = function () {}; k['haxe.ds.BalancedTree'] = Vg; Vg.__name__ = 'haxe.ds.BalancedTree'; Vg.__interfaces__ = [dd]; Vg.iteratorLoop = function (a, b) { null != a && (Vg.iteratorLoop(a.left, b), b.push(a.value), Vg.iteratorLoop(a.right, b)); }; Vg.prototype = { root: null, set: function (a, b) { this.root = this.setLoop(a, b, this.root); }, get: function (a) { for (var b = this.root; null != b; ) { var d = this.compare(a, b.key); if (0 == d) return b.value; b = 0 > d ? b.left : b.right; } return null; }, remove: function (a) { try { return (this.root = this.removeLoop(a, this.root)), !0; } catch (b) { ka.lastError = b; if ('string' == typeof J.caught(b).unwrap()) return !1; throw b; } }, exists: function (a) { for (var b = this.root; null != b; ) { var d = this.compare(a, b.key); if (0 == d) return !0; b = 0 > d ? b.left : b.right; } return !1; }, iterator: function () { var a = []; Vg.iteratorLoop(this.root, a); return new Ie(a); }, keyValueIterator: function () { return new hh(this); }, keys: function () { var a = []; this.keysLoop(this.root, a); return new Ie(a); }, setLoop: function (a, b, d) { if (null == d) return new Xe(null, a, b, null); var c = this.compare(a, d.key); if (0 == c) return new Xe(d.left, a, b, d.right, null == d ? 0 : d._height); if (0 > c) return (a = this.setLoop(a, b, d.left)), this.balance(a, d.key, d.value, d.right); a = this.setLoop(a, b, d.right); return this.balance(d.left, d.key, d.value, a); }, removeLoop: function (a, b) { if (null == b) throw J.thrown('Not_found'); var d = this.compare(a, b.key); return 0 == d ? this.merge(b.left, b.right) : 0 > d ? this.balance(this.removeLoop(a, b.left), b.key, b.value, b.right) : this.balance(b.left, b.key, b.value, this.removeLoop(a, b.right)); }, keysLoop: function (a, b) { null != a && (this.keysLoop(a.left, b), b.push(a.key), this.keysLoop(a.right, b)); }, merge: function (a, b) { if (null == a) return b; if (null == b) return a; var d = this.minBinding(b); return this.balance(a, d.key, d.value, this.removeMinBinding(b)); }, minBinding: function (a) { if (null == a) throw J.thrown('Not_found'); return null == a.left ? a : this.minBinding(a.left); }, removeMinBinding: function (a) { return null == a.left ? a.right : this.balance(this.removeMinBinding(a.left), a.key, a.value, a.right); }, balance: function (a, b, d, c) { var e = null == a ? 0 : a._height, g = null == c ? 0 : c._height; return e > g + 2 ? ((e = a.left), (g = a.right), (null == e ? 0 : e._height) >= (null == g ? 0 : g._height) ? new Xe(a.left, a.key, a.value, new Xe(a.right, b, d, c)) : new Xe( new Xe(a.left, a.key, a.value, a.right.left), a.right.key, a.right.value, new Xe(a.right.right, b, d, c) )) : g > e + 2 ? ((e = c.right), (g = c.left), (null == e ? 0 : e._height) > (null == g ? 0 : g._height) ? new Xe(new Xe(a, b, d, c.left), c.key, c.value, c.right) : new Xe( new Xe(a, b, d, c.left.left), c.left.key, c.left.value, new Xe(c.left.right, c.key, c.value, c.right) )) : new Xe(a, b, d, c, (e > g ? e : g) + 1); }, compare: function (a, b) { return aa.compare(a, b); }, __class__: Vg }; var Xe = function (a, b, d, c, f) { null == f && (f = -1); this.left = a; this.key = b; this.value = d; this.right = c; -1 == f ? ((a = this.left), (b = this.right), (a = (null == a ? 0 : a._height) > (null == b ? 0 : b._height) ? this.left : this.right), (this._height = (null == a ? 0 : a._height) + 1)) : (this._height = f); }; k['haxe.ds.TreeNode'] = Xe; Xe.__name__ = 'haxe.ds.TreeNode'; Xe.prototype = { left: null, right: null, key: null, value: null, _height: null, __class__: Xe }; var Lj = function () {}; k['haxe.ds.EnumValueMap'] = Lj; Lj.__name__ = 'haxe.ds.EnumValueMap'; Lj.__interfaces__ = [dd]; Lj.__super__ = Vg; Lj.prototype = t(Vg.prototype, { compare: function (a, b) { var d = a._hx_index - b._hx_index; if (0 != d) return d; a = ma.enumParameters(a); b = ma.enumParameters(b); return 0 == a.length && 0 == b.length ? 0 : this.compareArgs(a, b); }, compareArgs: function (a, b) { var d = a.length - b.length; if (0 != d) return d; d = 0; for (var c = a.length; d < c; ) { var f = d++; f = this.compareArg(a[f], b[f]); if (0 != f) return f; } return 0; }, compareArg: function (a, b) { return aa.isEnumValue(a) && aa.isEnumValue(b) ? this.compare(a, b) : a instanceof Array && b instanceof Array ? this.compareArgs(a, b) : aa.compare(a, b); }, __class__: Lj }); var qk = function (a, b) { this.item = a; this.next = b; }; k['haxe.ds._List.ListNode'] = qk; qk.__name__ = 'haxe.ds._List.ListNode'; qk.prototype = { item: null, next: null, __class__: qk }; var vn = function (a) { this.head = a; }; k['haxe.ds._List.ListIterator'] = vn; vn.__name__ = 'haxe.ds._List.ListIterator'; vn.prototype = { head: null, hasNext: function () { return null != this.head; }, next: function () { var a = this.head.item; this.head = this.head.next; return a; }, __class__: vn }; var nj = function (a) { this.h = a; this.keys = Object.keys(a); this.length = this.keys.length; this.current = 0; }; k['haxe.ds._StringMap.StringMapKeyIterator'] = nj; nj.__name__ = 'haxe.ds._StringMap.StringMapKeyIterator'; nj.prototype = { h: null, keys: null, length: null, current: null, hasNext: function () { return this.current < this.length; }, next: function () { return this.keys[this.current++]; }, __class__: nj }; var Ai = function (a) { this.h = a; this.keys = Object.keys(a); this.length = this.keys.length; this.current = 0; }; k['haxe.ds._StringMap.StringMapValueIterator'] = Ai; Ai.__name__ = 'haxe.ds._StringMap.StringMapValueIterator'; Ai.prototype = { h: null, keys: null, length: null, current: null, hasNext: function () { return this.current < this.length; }, next: function () { return this.h[this.keys[this.current++]]; }, __class__: Ai }; var oo = function (a) { this.h = a; this.keys = Object.keys(a); this.length = this.keys.length; this.current = 0; }; k['haxe.ds._StringMap.StringMapKeyValueIterator'] = oo; oo.__name__ = 'haxe.ds._StringMap.StringMapKeyValueIterator'; oo.prototype = { h: null, keys: null, length: null, current: null, hasNext: function () { return this.current < this.length; }, next: function () { var a = this.keys[this.current++]; return { key: a, value: this.h[a] }; }, __class__: oo }; var Ei = function (a, b, d) { J.call(this, a, b); this.posInfos = null == d ? { fileName: '(unknown)', lineNumber: 0, className: '(unknown)', methodName: '(unknown)' } : d; this.__skipStack++; }; k['haxe.exceptions.PosException'] = Ei; Ei.__name__ = 'haxe.exceptions.PosException'; Ei.__super__ = J; Ei.prototype = t(J.prototype, { posInfos: null, toString: function () { return ( '' + J.prototype.toString.call(this) + ' in ' + this.posInfos.className + '.' + this.posInfos.methodName + ' at ' + this.posInfos.fileName + ':' + this.posInfos.lineNumber ); }, __class__: Ei }); var cm = function (a, b, d) { null == a && (a = 'Not implemented'); Ei.call(this, a, b, d); this.__skipStack++; }; k['haxe.exceptions.NotImplementedException'] = cm; cm.__name__ = 'haxe.exceptions.NotImplementedException'; cm.__super__ = Ei; cm.prototype = t(Ei.prototype, { __class__: cm }); var dm = function () { this.size = this.pos = 0; }; k['haxe.io.BytesBuffer'] = dm; dm.__name__ = 'haxe.io.BytesBuffer'; dm.prototype = { buffer: null, view: null, u8: null, pos: null, size: null, addByte: function (a) { this.pos == this.size && this.grow(1); this.view.setUint8(this.pos++, a); }, add: function (a) { this.pos + a.length > this.size && this.grow(a.length); if (0 != this.size) { var b = new Uint8Array(a.b.buffer, a.b.byteOffset, a.length); this.u8.set(b, this.pos); this.pos += a.length; } }, addBytes: function (a, b, d) { if (0 > b || 0 > d || b + d > a.length) throw J.thrown(Nf.OutsideBounds); this.pos + d > this.size && this.grow(d); 0 != this.size && ((a = new Uint8Array(a.b.buffer, a.b.byteOffset + b, d)), this.u8.set(a, this.pos), (this.pos += d)); }, grow: function (a) { var b = this.pos + a; for (a = 0 == this.size ? 16 : this.size; a < b; ) a = (3 * a) >> 1; b = new ArrayBuffer(a); var d = new Uint8Array(b); 0 < this.size && d.set(this.u8); this.size = a; this.buffer = b; this.u8 = d; this.view = new DataView(this.buffer); }, getBytes: function () { if (0 == this.size) return new fb(new ArrayBuffer(0)); var a = new fb(this.buffer); a.length = this.pos; return a; }, __class__: dm }; var em = function () {}; k['haxe.io.Input'] = em; em.__name__ = 'haxe.io.Input'; em.prototype = { bigEndian: null, readByte: function () { throw new cm(null, null, { fileName: 'haxe/io/Input.hx', lineNumber: 53, className: 'haxe.io.Input', methodName: 'readByte' }); }, readBytes: function (a, b, d) { var c = d, f = a.b; if (0 > b || 0 > d || b + d > a.length) throw J.thrown(Nf.OutsideBounds); try { for (; 0 < c; ) (f[b] = this.readByte()), ++b, --c; } catch (g) { if (((ka.lastError = g), !(J.caught(g).unwrap() instanceof Mj))) throw g; } return d - c; }, readFullBytes: function (a, b, d) { for (; 0 < d; ) { var c = this.readBytes(a, b, d); if (0 == c) throw J.thrown(Nf.Blocked); b += c; d -= c; } }, read: function (a) { for (var b = new fb(new ArrayBuffer(a)), d = 0; 0 < a; ) { var c = this.readBytes(b, d, a); if (0 == c) throw J.thrown(Nf.Blocked); d += c; a -= c; } return b; }, readInt16: function () { var a = this.readByte(), b = this.readByte(); a = this.bigEndian ? b | (a << 8) : a | (b << 8); return 0 != (a & 32768) ? a - 65536 : a; }, readUInt16: function () { var a = this.readByte(), b = this.readByte(); return this.bigEndian ? b | (a << 8) : a | (b << 8); }, readInt32: function () { var a = this.readByte(), b = this.readByte(), d = this.readByte(), c = this.readByte(); return this.bigEndian ? c | (d << 8) | (b << 16) | (a << 24) : a | (b << 8) | (d << 16) | (c << 24); }, readString: function (a, b) { var d = new fb(new ArrayBuffer(a)); this.readFullBytes(d, 0, a); return d.getString(0, a, b); }, __class__: em }; var fm = function (a, b, d) { null == b && (b = 0); null == d && (d = a.length - b); if (0 > b || 0 > d || b + d > a.length) throw J.thrown(Nf.OutsideBounds); this.b = a.b; this.pos = b; this.totlen = this.len = d; }; k['haxe.io.BytesInput'] = fm; fm.__name__ = 'haxe.io.BytesInput'; fm.__super__ = em; fm.prototype = t(em.prototype, { b: null, pos: null, len: null, totlen: null, readByte: function () { if (0 == this.len) throw J.thrown(new Mj()); this.len--; return this.b[this.pos++]; }, readBytes: function (a, b, d) { if (0 > b || 0 > d || b + d > a.length) throw J.thrown(Nf.OutsideBounds); if (0 == this.len && 0 < d) throw J.thrown(new Mj()); this.len < d && (d = this.len); var c = this.b; a = a.b; for (var f = 0, g = d; f < g; ) { var l = f++; a[b + l] = c[this.pos + l]; } this.pos += d; this.len -= d; return d; }, __class__: fm }); var wz = (N['haxe.io.Encoding'] = { __ename__: 'haxe.io.Encoding', __constructs__: null, UTF8: { _hx_name: 'UTF8', _hx_index: 0, __enum__: 'haxe.io.Encoding', toString: x }, RawNative: { _hx_name: 'RawNative', _hx_index: 1, __enum__: 'haxe.io.Encoding', toString: x } }); wz.__constructs__ = [wz.UTF8, wz.RawNative]; var Mj = function () {}; k['haxe.io.Eof'] = Mj; Mj.__name__ = 'haxe.io.Eof'; Mj.prototype = { toString: function () { return 'Eof'; }, __class__: Mj }; var Nf = (N['haxe.io.Error'] = { __ename__: 'haxe.io.Error', __constructs__: null, Blocked: { _hx_name: 'Blocked', _hx_index: 0, __enum__: 'haxe.io.Error', toString: x }, Overflow: { _hx_name: 'Overflow', _hx_index: 1, __enum__: 'haxe.io.Error', toString: x }, OutsideBounds: { _hx_name: 'OutsideBounds', _hx_index: 2, __enum__: 'haxe.io.Error', toString: x }, Custom: ((B = function (a) { return { _hx_index: 3, e: a, __enum__: 'haxe.io.Error', toString: x }; }), (B._hx_name = 'Custom'), (B.__params__ = ['e']), B) }); Nf.__constructs__ = [Nf.Blocked, Nf.Overflow, Nf.OutsideBounds, Nf.Custom]; var Zd = function () {}; k['haxe.io.FPHelper'] = Zd; Zd.__name__ = 'haxe.io.FPHelper'; Zd.i32ToFloat = function (a) { Zd.helper.setInt32(0, a, !0); return Zd.helper.getFloat32(0, !0); }; Zd.floatToI32 = function (a) { Zd.helper.setFloat32(0, a, !0); return Zd.helper.getInt32(0, !0); }; Zd.i64ToDouble = function (a, b) { Zd.helper.setInt32(0, a, !0); Zd.helper.setInt32(4, b, !0); return Zd.helper.getFloat64(0, !0); }; Zd.doubleToI64 = function (a) { var b = Zd.i64tmp; Zd.helper.setFloat64(0, a, !0); b.low = Zd.helper.getInt32(0, !0); b.high = Zd.helper.getInt32(4, !0); return b; }; var zh = function (a) { switch (a) { case '.': case '..': this.dir = a; this.file = ''; return; } var b = a.lastIndexOf('/'), d = a.lastIndexOf('\\'); b < d ? ((this.dir = C.substr(a, 0, d)), (a = C.substr(a, d + 1, null)), (this.backslash = !0)) : d < b ? ((this.dir = C.substr(a, 0, b)), (a = C.substr(a, b + 1, null))) : (this.dir = null); b = a.lastIndexOf('.'); -1 != b ? ((this.ext = C.substr(a, b + 1, null)), (this.file = C.substr(a, 0, b))) : ((this.ext = null), (this.file = a)); }; k['haxe.io.Path'] = zh; zh.__name__ = 'haxe.io.Path'; zh.directory = function (a) { a = new zh(a); return null == a.dir ? '' : a.dir; }; zh.prototype = { dir: null, file: null, ext: null, backslash: null, __class__: zh }; var Ie = function (a) { this.current = 0; this.array = a; }; k['haxe.iterators.ArrayIterator'] = Ie; Ie.__name__ = 'haxe.iterators.ArrayIterator'; Ie.prototype = { array: null, current: null, hasNext: function () { return this.current < this.array.length; }, next: function () { return this.array[this.current++]; }, __class__: Ie }; var hh = function (a) { this.map = a; this.keys = a.keys(); }; k['haxe.iterators.MapKeyValueIterator'] = hh; hh.__name__ = 'haxe.iterators.MapKeyValueIterator'; hh.prototype = { map: null, keys: null, hasNext: function () { return this.keys.hasNext(); }, next: function () { var a = this.keys.next(); return { value: this.map.get(a), key: a }; }, __class__: hh }; var Gz = { resolve: function (a, b) { var d = a.elementsNamed(b).next(); if (null == d) { if (a.nodeType == S.Document) a = 'Document'; else { if (a.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element but found ' + (null == a.nodeType ? 'null' : ua.toString(a.nodeType)) ); a = a.nodeName; } throw J.thrown(a + ' is missing element ' + b); } if (d.nodeType != S.Document && d.nodeType != S.Element) throw J.thrown( 'Invalid nodeType ' + (null == d.nodeType ? 'null' : ua.toString(d.nodeType)) ); return d; } }, Rz = { resolve: function (a, b) { return a.elementsNamed(b).hasNext(); } }, Fz = { __properties__: { get_innerData: 'get_innerData' }, get_innerData: function (a) { if (a.nodeType != S.Document && a.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element or Document but found ' + (null == a.nodeType ? 'null' : ua.toString(a.nodeType)) ); var b = 0, d = a.children; if (b >= d.length) { if (a.nodeType == S.Document) var c = 'Document'; else { if (a.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element but found ' + (null == a.nodeType ? 'null' : ua.toString(a.nodeType)) ); c = a.nodeName; } throw J.thrown(c + ' does not have data'); } c = d[b++]; if (b < d.length) { var f = d[b++]; if (c.nodeType == S.PCData && f.nodeType == S.CData) { if (c.nodeType == S.Document || c.nodeType == S.Element) throw J.thrown( 'Bad node type, unexpected ' + (null == c.nodeType ? 'null' : ua.toString(c.nodeType)) ); c = '' == T.trim(c.nodeValue); } else c = !1; if (c) { if (b >= d.length) { if (f.nodeType == S.Document || f.nodeType == S.Element) throw J.thrown( 'Bad node type, unexpected ' + (null == f.nodeType ? 'null' : ua.toString(f.nodeType)) ); return f.nodeValue; } c = d[b++]; if (c.nodeType == S.PCData) { if (c.nodeType == S.Document || c.nodeType == S.Element) throw J.thrown( 'Bad node type, unexpected ' + (null == c.nodeType ? 'null' : ua.toString(c.nodeType)) ); c = '' == T.trim(c.nodeValue); } else c = !1; if (c && b >= d.length) { if (f.nodeType == S.Document || f.nodeType == S.Element) throw J.thrown( 'Bad node type, unexpected ' + (null == f.nodeType ? 'null' : ua.toString(f.nodeType)) ); return f.nodeValue; } } if (a.nodeType == S.Document) c = 'Document'; else { if (a.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element but found ' + (null == a.nodeType ? 'null' : ua.toString(a.nodeType)) ); c = a.nodeName; } throw J.thrown(c + ' does not only have data'); } if (c.nodeType != S.PCData && c.nodeType != S.CData) { if (a.nodeType == S.Document) c = 'Document'; else { if (a.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element but found ' + (null == a.nodeType ? 'null' : ua.toString(a.nodeType)) ); c = a.nodeName; } throw J.thrown(c + ' does not have data'); } if (c.nodeType == S.Document || c.nodeType == S.Element) throw J.thrown( 'Bad node type, unexpected ' + (null == c.nodeType ? 'null' : ua.toString(c.nodeType)) ); return c.nodeValue; } }, ie = function (a, b, d) { this.xml = b; this.message = a; this.position = d; this.lineNumber = 1; for (a = this.positionAtLine = 0; a < d; ) { var c = a++; c = b.charCodeAt(c); 10 == c ? (this.lineNumber++, (this.positionAtLine = 0)) : 13 != c && this.positionAtLine++; } }; k['haxe.xml.XmlParserException'] = ie; ie.__name__ = 'haxe.xml.XmlParserException'; ie.prototype = { message: null, lineNumber: null, positionAtLine: null, position: null, xml: null, toString: function () { return ( w.getClass(this).__name__ + ': ' + this.message + ' at line ' + this.lineNumber + ' char ' + this.positionAtLine ); }, __class__: ie }; var jh = function () {}; k['haxe.xml.Parser'] = jh; jh.__name__ = 'haxe.xml.Parser'; jh.parse = function (a, b) { null == b && (b = !1); var d = S.createDocument(); jh.doParse(a, b, 0, d); return d; }; jh.doParse = function (a, b, d, c) { null == d && (d = 0); for ( var e = null, g = 1, l = 1, q = null, h = 0, r = 0, k = 0, p = new Ga(), n = 1, u = -1; d < a.length; ) { var m = a.charCodeAt(d); switch (g) { case 0: switch (m) { case 9: case 10: case 13: case 32: break; default: g = l; continue; } break; case 1: if (60 == m) (g = 0), (l = 2); else { h = d; g = 13; continue; } break; case 2: switch (m) { case 33: if (91 == a.charCodeAt(d + 1)) { d += 2; if ('CDATA[' != C.substr(a, d, 6).toUpperCase()) throw J.thrown(new ie('Expected = m) || (65 <= m && 90 >= m) || (48 <= m && 57 >= m) || 58 == m || 46 == m || 95 == m || 45 == m ) ) { if (d == h) throw J.thrown(new ie('Expected node name', a, d)); e = S.createElement(C.substr(a, h, d - h)); c.addChild(e); ++r; g = 0; l = 4; continue; } break; case 4: switch (m) { case 47: g = 11; break; case 62: g = 9; break; default: g = 5; h = d; continue; } break; case 5: if ( !( (97 <= m && 122 >= m) || (65 <= m && 90 >= m) || (48 <= m && 57 >= m) || 58 == m || 46 == m || 95 == m || 45 == m ) ) { if (h == d) throw J.thrown(new ie('Expected attribute name', a, d)); q = C.substr(a, h, d - h); if (e.exists(q)) throw J.thrown(new ie('Duplicate attribute [' + q + ']', a, d)); g = 0; l = 6; continue; } break; case 6: if (61 == m) (g = 0), (l = 7); else throw J.thrown(new ie('Expected =', a, d)); break; case 7: switch (m) { case 34: case 39: p = new Ga(); g = 8; h = d + 1; u = m; break; default: throw J.thrown(new ie('Expected "', a, d)); } break; case 8: switch (m) { case 38: n = d - h; p.b += null == n ? C.substr(a, h, null) : C.substr(a, h, n); g = 18; n = 8; h = d + 1; break; case 60: case 62: if (b) throw J.thrown( new ie( 'Invalid unescaped ' + String.fromCodePoint(m) + ' in attribute value', a, d ) ); m == u && ((l = d - h), (p.b += null == l ? C.substr(a, h, null) : C.substr(a, h, l)), (l = p.b), (p = new Ga()), e.set(q, l), (g = 0), (l = 4)); break; default: m == u && ((l = d - h), (p.b += null == l ? C.substr(a, h, null) : C.substr(a, h, l)), (l = p.b), (p = new Ga()), e.set(q, l), (g = 0), (l = 4)); } break; case 9: h = d = jh.doParse(a, b, d, e); g = 1; break; case 10: if ( !( (97 <= m && 122 >= m) || (65 <= m && 90 >= m) || (48 <= m && 57 >= m) || 58 == m || 46 == m || 95 == m || 45 == m ) ) { if (h == d) throw J.thrown(new ie('Expected node name', a, d)); l = C.substr(a, h, d - h); if (null == c || 0 != c.nodeType) throw J.thrown(new ie('Unexpected , tag is not open', a, d)); if (c.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element but found ' + (null == c.nodeType ? 'null' : ua.toString(c.nodeType)) ); if (l != c.nodeName) { if (c.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element but found ' + (null == c.nodeType ? 'null' : ua.toString(c.nodeType)) ); throw J.thrown(new ie('Expected ', a, d)); } g = 0; l = 12; continue; } break; case 11: if (62 == m) g = 1; else throw J.thrown(new ie('Expected >', a, d)); break; case 12: if (62 == m) return 0 == r && c.addChild(S.createPCData('')), d; throw J.thrown(new ie('Expected >', a, d)); case 13: 60 == m ? ((l = d - h), (p.b += null == l ? C.substr(a, h, null) : C.substr(a, h, l)), (l = S.createPCData(p.b)), (p = new Ga()), c.addChild(l), ++r, (g = 0), (l = 2)) : 38 == m && ((n = d - h), (p.b += null == n ? C.substr(a, h, null) : C.substr(a, h, n)), (g = 18), (n = 13), (h = d + 1)); break; case 14: 63 == m && 62 == a.charCodeAt(d + 1) && (++d, (g = C.substr(a, h + 1, d - h - 2)), c.addChild(S.createProcessingInstruction(g)), ++r, (g = 1)); break; case 15: 45 == m && 45 == a.charCodeAt(d + 1) && 62 == a.charCodeAt(d + 2) && (c.addChild(S.createComment(C.substr(a, h, d - h))), ++r, (d += 2), (g = 1)); break; case 16: 91 == m ? ++k : 93 == m ? --k : 62 == m && 0 == k && (c.addChild(S.createDocType(C.substr(a, h, d - h))), ++r, (g = 1)); break; case 17: 93 == m && 93 == a.charCodeAt(d + 1) && 62 == a.charCodeAt(d + 2) && ((g = S.createCData(C.substr(a, h, d - h))), c.addChild(g), ++r, (d += 2), (g = 1)); break; case 18: if (59 == m) { h = C.substr(a, h, d - h); if (35 == h.charCodeAt(0)) (h = 120 == h.charCodeAt(1) ? z.parseInt('0' + C.substr(h, 1, h.length - 1)) : z.parseInt(C.substr(h, 1, h.length - 1))), (p.b += String.fromCodePoint(h)); else if (Object.prototype.hasOwnProperty.call(jh.escapes.h, h)) p.b += z.string(jh.escapes.h[h]); else { if (b) throw J.thrown(new ie('Undefined entity: ' + h, a, d)); p.b += z.string('&' + h + ';'); } h = d + 1; g = n; } else if ( !( (97 <= m && 122 >= m) || (65 <= m && 90 >= m) || (48 <= m && 57 >= m) || 58 == m || 46 == m || 95 == m || 45 == m ) && 35 != m ) { if (b) throw J.thrown( new ie('Invalid character in entity: ' + String.fromCodePoint(m), a, d) ); p.b += String.fromCodePoint(38); g = d - h; p.b += null == g ? C.substr(a, h, null) : C.substr(a, h, g); --d; h = d + 1; g = n; } } ++d; } 1 == g && ((h = d), (g = 13)); if (13 == g) { if (0 == c.nodeType) { if (c.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element but found ' + (null == c.nodeType ? 'null' : ua.toString(c.nodeType)) ); throw J.thrown(new ie('Unclosed node <' + c.nodeName + '>', a, d)); } if (d != h || 0 == r) (n = d - h), (p.b += null == n ? C.substr(a, h, null) : C.substr(a, h, n)), c.addChild(S.createPCData(p.b)); return d; } if (!b && 18 == g && 13 == n) return ( (p.b += String.fromCodePoint(38)), (n = d - h), (p.b += null == n ? C.substr(a, h, null) : C.substr(a, h, n)), c.addChild(S.createPCData(p.b)), d ); throw J.thrown(new ie('Unexpected end', a, d)); }; var oj = function (a) { this.output = new Ga(); this.pretty = a; }; k['haxe.xml.Printer'] = oj; oj.__name__ = 'haxe.xml.Printer'; oj.print = function (a, b) { null == b && (b = !1); b = new oj(b); b.writeNode(a, ''); return b.output.b; }; oj.prototype = { output: null, pretty: null, writeNode: function (a, b) { switch (a.nodeType) { case 0: this.output.b += z.string(b + '<'); if (a.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element but found ' + (null == a.nodeType ? 'null' : ua.toString(a.nodeType)) ); this.output.b += z.string(a.nodeName); for (var d = a.attributes(); d.hasNext(); ) { var c = d.next(); this.output.b += z.string(' ' + c + '="'); c = T.htmlEscape(a.get(c), !0); this.output.b += z.string(c); this.output.b += '"'; } if (this.hasChildren(a)) { this.output.b += '>'; this.pretty && (this.output.b += '\n'); if (a.nodeType != S.Document && a.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element or Document but found ' + (null == a.nodeType ? 'null' : ua.toString(a.nodeType)) ); d = 0; for (c = a.children; d < c.length; ) { var f = c[d++]; this.writeNode(f, this.pretty ? b + '\t' : b); } this.output.b += z.string(b + ''; } else this.output.b += '/>'; this.pretty && (this.output.b += '\n'); break; case 1: if (a.nodeType == S.Document || a.nodeType == S.Element) throw J.thrown( 'Bad node type, unexpected ' + (null == a.nodeType ? 'null' : ua.toString(a.nodeType)) ); a = a.nodeValue; 0 != a.length && ((c = b + T.htmlEscape(a)), (this.output.b += z.string(c)), this.pretty && (this.output.b += '\n')); break; case 2: this.output.b += z.string(b + ''); this.pretty && (this.output.b += '\n'); break; case 5: if (a.nodeType == S.Document || a.nodeType == S.Element) throw J.thrown( 'Bad node type, unexpected ' + (null == a.nodeType ? 'null' : ua.toString(a.nodeType)) ); this.output.b += z.string(''); this.pretty && (this.output.b += '\n'); break; case 6: if (a.nodeType != S.Document && a.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element or Document but found ' + (null == a.nodeType ? 'null' : ua.toString(a.nodeType)) ); d = 0; for (c = a.children; d < c.length; ) (f = c[d++]), this.writeNode(f, b); } }, hasChildren: function (a) { if (a.nodeType != S.Document && a.nodeType != S.Element) throw J.thrown( 'Bad node type, expected Element or Document but found ' + (null == a.nodeType ? 'null' : ua.toString(a.nodeType)) ); var b = 0; for (a = a.children; b < a.length; ) { var d = a[b++]; switch (d.nodeType) { case 0: case 1: return !0; case 2: case 3: if (d.nodeType == S.Document || d.nodeType == S.Element) throw J.thrown( 'Bad node type, unexpected ' + (null == d.nodeType ? 'null' : ua.toString(d.nodeType)) ); if (0 != T.ltrim(d.nodeValue).length) return !0; } } return !1; }, __class__: oj }; var Fi = (N['haxe.zip.ExtraField'] = { __ename__: 'haxe.zip.ExtraField', __constructs__: null, FUnknown: ((B = function (a, b) { return { _hx_index: 0, tag: a, bytes: b, __enum__: 'haxe.zip.ExtraField', toString: x }; }), (B._hx_name = 'FUnknown'), (B.__params__ = ['tag', 'bytes']), B), FInfoZipUnicodePath: ((B = function (a, b) { return { _hx_index: 1, name: a, crc: b, __enum__: 'haxe.zip.ExtraField', toString: x }; }), (B._hx_name = 'FInfoZipUnicodePath'), (B.__params__ = ['name', 'crc']), B), FUtf8: { _hx_name: 'FUtf8', _hx_index: 2, __enum__: 'haxe.zip.ExtraField', toString: x } }); Fi.__constructs__ = [Fi.FUnknown, Fi.FInfoZipUnicodePath, Fi.FUtf8]; var ng = (N['haxe.zip.Huffman'] = { __ename__: 'haxe.zip.Huffman', __constructs__: null, Found: ((B = function (a) { return { _hx_index: 0, i: a, __enum__: 'haxe.zip.Huffman', toString: x }; }), (B._hx_name = 'Found'), (B.__params__ = ['i']), B), NeedBit: ((B = function (a, b) { return { _hx_index: 1, left: a, right: b, __enum__: 'haxe.zip.Huffman', toString: x }; }), (B._hx_name = 'NeedBit'), (B.__params__ = ['left', 'right']), B), NeedBits: ((B = function (a, b) { return { _hx_index: 2, n: a, table: b, __enum__: 'haxe.zip.Huffman', toString: x }; }), (B._hx_name = 'NeedBits'), (B.__params__ = ['n', 'table']), B) }); ng.__constructs__ = [ng.Found, ng.NeedBit, ng.NeedBits]; var qo = function () {}; k['haxe.zip.HuffTools'] = qo; qo.__name__ = 'haxe.zip.HuffTools'; qo.prototype = { treeDepth: function (a) { switch (a._hx_index) { case 0: return 0; case 1: var b = a.right; a = this.treeDepth(a.left); b = this.treeDepth(b); return 1 + (a < b ? a : b); case 2: throw J.thrown('assert'); } }, treeCompress: function (a) { var b = this.treeDepth(a); if (0 == b) return a; if (1 == b) { if (1 == a._hx_index) return (b = a.right), ng.NeedBit(this.treeCompress(a.left), this.treeCompress(b)); throw J.thrown('assert'); } for (var d = [], c = 0, f = 1 << b; c < f; ) c++, d.push(ng.Found(-1)); this.treeWalk(d, 0, 0, b, a); return ng.NeedBits(b, d); }, treeWalk: function (a, b, d, c, f) { if (1 == f._hx_index) { var e = f.left, l = f.right; 0 < c ? (this.treeWalk(a, b, d + 1, c - 1, e), this.treeWalk(a, b | (1 << d), d + 1, c - 1, l)) : (a[b] = this.treeCompress(f)); } else a[b] = this.treeCompress(f); }, treeMake: function (a, b, d, c) { if (c > b) throw J.thrown('Invalid huffman'); var e = (d << 5) | c; if (a.h.hasOwnProperty(e)) return ng.Found(a.h[e]); d <<= 1; ++c; return ng.NeedBit(this.treeMake(a, b, d, c), this.treeMake(a, b, d | 1, c)); }, make: function (a, b, d, c) { if (1 == d) return ng.NeedBit(ng.Found(0), ng.Found(0)); var e = [], g = []; if (32 < c) throw J.thrown('Invalid huffman'); for (var l = 0, q = c; l < q; ) l++, e.push(0), g.push(0); l = 0; for (q = d; l < q; ) { var h = l++; h = a[h + b]; if (h >= c) throw J.thrown('Invalid huffman'); e[h]++; } var r = 0; l = 1; for (q = c - 1; l < q; ) (h = l++), (r = (r + e[h]) << 1), (g[h] = r); e = new Ya(); l = 0; for (q = d; l < q; ) (h = l++), (d = a[h + b]), 0 != d && ((r = g[d - 1]), (g[d - 1] = r + 1), (e.h[(r << 5) | d] = h)); return this.treeCompress( ng.NeedBit(this.treeMake(e, c, 0, 1), this.treeMake(e, c, 1, 1)) ); }, __class__: qo }; var ro = function (a) { this.buffer = new fb(new ArrayBuffer(65536)); this.pos = 0; a && (this.crc = new Di()); }; k['haxe.zip._InflateImpl.Window'] = ro; ro.__name__ = 'haxe.zip._InflateImpl.Window'; ro.prototype = { buffer: null, pos: null, crc: null, slide: function () { null != this.crc && this.crc.update(this.buffer, 0, 32768); var a = new fb(new ArrayBuffer(65536)); this.pos -= 32768; a.blit(0, this.buffer, 32768, this.pos); this.buffer = a; }, addBytes: function (a, b, d) { 65536 < this.pos + d && this.slide(); this.buffer.blit(this.pos, a, b, d); this.pos += d; }, addByte: function (a) { 65536 == this.pos && this.slide(); this.buffer.b[this.pos] = a & 255; this.pos++; }, getLastChar: function () { return this.buffer.b[this.pos - 1]; }, available: function () { return this.pos; }, checksum: function () { null != this.crc && this.crc.update(this.buffer, 0, this.pos); return this.crc; }, __class__: ro }; var Sd = (N['haxe.zip._InflateImpl.State'] = { __ename__: 'haxe.zip._InflateImpl.State', __constructs__: null, Head: { _hx_name: 'Head', _hx_index: 0, __enum__: 'haxe.zip._InflateImpl.State', toString: x }, Block: { _hx_name: 'Block', _hx_index: 1, __enum__: 'haxe.zip._InflateImpl.State', toString: x }, CData: { _hx_name: 'CData', _hx_index: 2, __enum__: 'haxe.zip._InflateImpl.State', toString: x }, Flat: { _hx_name: 'Flat', _hx_index: 3, __enum__: 'haxe.zip._InflateImpl.State', toString: x }, Crc: { _hx_name: 'Crc', _hx_index: 4, __enum__: 'haxe.zip._InflateImpl.State', toString: x }, Dist: { _hx_name: 'Dist', _hx_index: 5, __enum__: 'haxe.zip._InflateImpl.State', toString: x }, DistOne: { _hx_name: 'DistOne', _hx_index: 6, __enum__: 'haxe.zip._InflateImpl.State', toString: x }, Done: { _hx_name: 'Done', _hx_index: 7, __enum__: 'haxe.zip._InflateImpl.State', toString: x } }); Sd.__constructs__ = [ Sd.Head, Sd.Block, Sd.CData, Sd.Flat, Sd.Crc, Sd.Dist, Sd.DistOne, Sd.Done ]; var Ae = function (a, b, d) { null == d && (d = !0); null == b && (b = !0); this.isFinal = !1; this.htools = new qo(); this.huffman = this.buildFixedHuffman(); this.huffdist = null; this.dist = this.len = 0; this.state = b ? Sd.Head : Sd.Block; this.input = a; this.needed = this.nbits = this.bits = 0; this.output = null; this.outpos = 0; this.lengths = []; this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.window = new ro(d); }; k['haxe.zip.InflateImpl'] = Ae; Ae.__name__ = 'haxe.zip.InflateImpl'; Ae.prototype = { nbits: null, bits: null, state: null, isFinal: null, huffman: null, huffdist: null, htools: null, len: null, dist: null, needed: null, output: null, outpos: null, input: null, lengths: null, window: null, buildFixedHuffman: function () { if (null != Ae.FIXED_HUFFMAN) return Ae.FIXED_HUFFMAN; for (var a = [], b = 0; 288 > b; ) { var d = b++; a.push(143 >= d ? 8 : 255 >= d ? 9 : 279 >= d ? 7 : 8); } Ae.FIXED_HUFFMAN = this.htools.make(a, 0, 288, 10); return Ae.FIXED_HUFFMAN; }, readBytes: function (a, b, d) { this.needed = d; this.outpos = b; this.output = a; if (0 < d) for (; this.inflateLoop(); ); return d - this.needed; }, getBits: function (a) { for (; this.nbits < a; ) (this.bits |= this.input.readByte() << this.nbits), (this.nbits += 8); var b = this.bits & ((1 << a) - 1); this.nbits -= a; this.bits >>= a; return b; }, getBit: function () { 0 == this.nbits && ((this.nbits = 8), (this.bits = this.input.readByte())); var a = 1 == (this.bits & 1); this.nbits--; this.bits >>= 1; return a; }, getRevBits: function (a) { return 0 == a ? 0 : this.getBit() ? (1 << (a - 1)) | this.getRevBits(a - 1) : this.getRevBits(a - 1); }, resetBits: function () { this.nbits = this.bits = 0; }, addBytes: function (a, b, d) { this.window.addBytes(a, b, d); this.output.blit(this.outpos, a, b, d); this.needed -= d; this.outpos += d; }, addByte: function (a) { this.window.addByte(a); this.output.b[this.outpos] = a & 255; this.needed--; this.outpos++; }, addDistOne: function (a) { for (var b = this.window.getLastChar(), d = 0; d < a; ) d++, this.addByte(b); }, addDist: function (a, b) { this.addBytes(this.window.buffer, this.window.pos - a, b); }, applyHuffman: function (a) { switch (a._hx_index) { case 0: var b = a.i; return b; case 1: return (b = a.left), (a = a.right), this.applyHuffman(this.getBit() ? a : b); case 2: return (b = a.n), this.applyHuffman(a.table[this.getBits(b)]); } }, inflateLengths: function (a, b) { for (var d = 0, c = 0; d < b; ) { var f = this.applyHuffman(this.huffman); switch (f) { case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15: c = f; a[d] = f; ++d; break; case 16: f = d + 3 + this.getBits(2); if (f > b) throw J.thrown('Invalid data'); for (; d < f; ) (a[d] = c), ++d; break; case 17: d += 3 + this.getBits(3); if (d > b) throw J.thrown('Invalid data'); break; case 18: d += 11 + this.getBits(7); if (d > b) throw J.thrown('Invalid data'); break; default: throw J.thrown('Invalid data'); } } }, inflateLoop: function () { switch (this.state._hx_index) { case 0: var a = this.input.readByte(); if (8 != (a & 15)) throw J.thrown('Invalid data'); var b = this.input.readByte(), d = 0 != (b & 32); if (0 != ((a << 8) + b) % 31) throw J.thrown('Invalid data'); if (d) throw J.thrown('Unsupported dictionary'); this.state = Sd.Block; return !0; case 1: switch (((this.isFinal = this.getBit()), this.getBits(2))) { case 0: this.len = this.input.readUInt16(); if (this.input.readUInt16() != 65535 - this.len) throw J.thrown('Invalid data'); this.state = Sd.Flat; a = this.inflateLoop(); this.resetBits(); return a; case 1: return ( (this.huffman = this.buildFixedHuffman()), (this.huffdist = null), (this.state = Sd.CData), !0 ); case 2: a = this.getBits(5) + 257; b = this.getBits(5) + 1; var c = this.getBits(4) + 4; d = 0; for (var f = c; d < f; ) { var g = d++; this.lengths[Ae.CODE_LENGTHS_POS[g]] = this.getBits(3); } d = c; for (f = 19; d < f; ) (g = d++), (this.lengths[Ae.CODE_LENGTHS_POS[g]] = 0); this.huffman = this.htools.make(this.lengths, 0, 19, 8); c = []; d = 0; for (f = a + b; d < f; ) d++, c.push(0); this.inflateLengths(c, a + b); this.huffdist = this.htools.make(c, a, b, 16); this.huffman = this.htools.make(c, 0, a, 16); this.state = Sd.CData; return !0; default: throw J.thrown('Invalid data'); } case 2: b = this.applyHuffman(this.huffman); if (256 > b) return this.addByte(b), 0 < this.needed; if (256 == b) this.state = this.isFinal ? Sd.Crc : Sd.Block; else { b -= 257; a = Ae.LEN_EXTRA_BITS_TBL[b]; if (-1 == a) throw J.thrown('Invalid data'); this.len = Ae.LEN_BASE_VAL_TBL[b] + this.getBits(a); b = null == this.huffdist ? this.getRevBits(5) : this.applyHuffman(this.huffdist); a = Ae.DIST_EXTRA_BITS_TBL[b]; if (-1 == a) throw J.thrown('Invalid data'); this.dist = Ae.DIST_BASE_VAL_TBL[b] + this.getBits(a); if (this.dist > this.window.available()) throw J.thrown('Invalid data'); this.state = 1 == this.dist ? Sd.DistOne : Sd.Dist; } return !0; case 3: return ( (a = this.len < this.needed ? this.len : this.needed), (b = this.input.read(a)), (this.len -= a), this.addBytes(b, 0, a), 0 == this.len && (this.state = this.isFinal ? Sd.Crc : Sd.Block), 0 < this.needed ); case 4: a = this.window.checksum(); if (null == a) return (this.state = Sd.Done), !0; b = Di.read(this.input); if (!a.equals(b)) throw J.thrown('Invalid CRC'); this.state = Sd.Done; return !0; case 5: for (; 0 < this.len && 0 < this.needed; ) (a = this.len < this.dist ? this.len : this.dist), (a = this.needed < a ? this.needed : a), this.addDist(this.dist, a), (this.len -= a); 0 == this.len && (this.state = Sd.CData); return 0 < this.needed; case 6: return ( (a = this.len < this.needed ? this.len : this.needed), this.addDistOne(a), (this.len -= a), 0 == this.len && (this.state = Sd.CData), 0 < this.needed ); case 7: return !1; } }, __class__: Ae }; var Gi = function (a) { this.i = a; }; k['haxe.zip.Reader'] = Gi; Gi.__name__ = 'haxe.zip.Reader'; Gi.readZip = function (a) { return new Gi(a).read(); }; Gi.unzip = function (a) { if (!a.compressed) return a.data; throw J.thrown('No uncompress support'); }; Gi.prototype = { i: null, readZipDate: function () { var a = this.i.readUInt16(), b = (a >> 11) & 31, d = (a >> 5) & 63; a &= 31; var c = this.i.readUInt16(); return new Date((c >> 9) + 1980, ((c >> 5) & 15) - 1, c & 31, b, d, a << 1); }, readExtraFields: function (a) { for (var b = new F(); 0 < a; ) { if (4 > a) throw J.thrown('Invalid extra fields data'); var d = this.i.readUInt16(), c = this.i.readUInt16(); if (a < c) throw J.thrown('Invalid extra fields data'); if (28789 == d) { var f = this.i.readByte(); if (1 != f) { var g = new dm(); g.addByte(f); g.add(this.i.read(c - 1)); b.add(Fi.FUnknown(d, g.getBytes())); } else (d = this.i.readInt32()), (f = this.i.read(c - 5).toString()), b.add(Fi.FInfoZipUnicodePath(f, d)); } else b.add(Fi.FUnknown(d, this.i.read(c))); a -= 4 + c; } return b; }, readEntryHeader: function () { var a = this.i, b = a.readInt32(); if (33639248 == b || 101010256 == b) return null; if (67324752 != b) throw J.thrown('Invalid Zip Data'); a.readUInt16(); b = a.readUInt16(); var d = 0 != (b & 2048), c = a.readUInt16(), f = 0 != c; if (f && 8 != c) throw J.thrown('Unsupported compression ' + c); c = this.readZipDate(); var g = a.readInt32(), l = a.readInt32(), q = a.readInt32(), h = a.readInt16(), r = a.readInt16(); a = a.readString(h); r = this.readExtraFields(r); d && r.push(Fi.FUtf8); 0 != (b & 8) && (l = -1); return { fileName: a, fileSize: q, fileTime: c, compressed: f, dataSize: l, data: null, crc32: g, extraFields: r }; }, read: function () { for (var a = new F(), b = null; ; ) { var d = this.readEntryHeader(); if (null == d) break; if (0 > d.dataSize) { null == b && (b = new fb(new ArrayBuffer(65536))); for (var c = new dm(), f = new Ae(this.i, !1, !1); ; ) { var g = f.readBytes(b, 0, 65536); c.addBytes(b, 0, g); if (65536 > g) break; } d.data = c.getBytes(); d.crc32 = this.i.readInt32(); 134695760 == d.crc32 && (d.crc32 = this.i.readInt32()); d.dataSize = this.i.readInt32(); d.fileSize = this.i.readInt32(); d.dataSize = d.fileSize; d.compressed = !1; } else d.data = this.i.read(d.dataSize); a.add(d); } return a; }, __class__: Gi }; var w = function () {}; k['js.Boot'] = w; w.__name__ = 'js.Boot'; w.getClass = function (a) { if (null == a) return null; if (a instanceof Array) return Array; var b = a.__class__; if (null != b) return b; a = w.__nativeClassName(a); return null != a ? w.__resolveNativeClass(a) : null; }; w.__string_rec = function (a, b) { if (null == a) return 'null'; if (5 <= b.length) return '<...>'; var d = typeof a; 'function' == d && (a.__name__ || a.__ename__) && (d = 'object'); switch (d) { case 'function': return ''; case 'object': if (a.__enum__) { var c = N[a.__enum__].__constructs__[a._hx_index]; d = c._hx_name; if (c.__params__) { b += '\t'; var f = [], g = 0; for (c = c.__params__; g < c.length; ) { var l = c[g]; g += 1; f.push(w.__string_rec(a[l], b)); } return d + '(' + f.join(',') + ')'; } return d; } if (a instanceof Array) { d = '['; b += '\t'; f = 0; for (g = a.length; f < g; ) (c = f++), (d += (0 < c ? ',' : '') + w.__string_rec(a[c], b)); return d + ']'; } try { f = a.toString; } catch (q) { return (ka.lastError = q), '???'; } if ( null != f && f != Object.toString && 'function' == typeof f && ((d = a.toString()), '[object Object]' != d) ) return d; d = '{\n'; b += '\t'; f = null != a.hasOwnProperty; g = null; for (g in a) (f && !a.hasOwnProperty(g)) || 'prototype' == g || '__class__' == g || '__super__' == g || '__interfaces__' == g || '__properties__' == g || (2 != d.length && (d += ', \n'), (d += b + g + ' : ' + w.__string_rec(a[g], b))); b = b.substring(1); return d + ('\n' + b + '}'); case 'string': return a; default: return String(a); } }; w.__interfLoop = function (a, b) { if (null == a) return !1; if (a == b) return !0; var d = a.__interfaces__; if (null != d) for (var c = 0, f = d.length; c < f; ) { var g = c++; g = d[g]; if (g == b || w.__interfLoop(g, b)) return !0; } return w.__interfLoop(a.__super__, b); }; w.__instanceof = function (a, b) { if (null == b) return !1; switch (b) { case Array: return a instanceof Array; case jb: return 'boolean' == typeof a; case Sz: return null != a; case ob: return 'number' == typeof a; case nb: return 'number' == typeof a ? (a | 0) === a : !1; case String: return 'string' == typeof a; default: if (null != a) if ('function' == typeof b) { if (w.__downcastCheck(a, b)) return !0; } else { if ('object' == typeof b && w.__isNativeObj(b) && a instanceof b) return !0; } else return !1; return (b == My && null != a.__name__) || (b == Jz && null != a.__ename__) ? !0 : null != a.__enum__ ? N[a.__enum__] == b : !1; } }; w.__downcastCheck = function (a, b) { return a instanceof b ? !0 : b.__isInterface__ ? w.__interfLoop(w.getClass(a), b) : !1; }; w.__implements = function (a, b) { return w.__interfLoop(w.getClass(a), b); }; w.__cast = function (a, b) { if (null == a || w.__instanceof(a, b)) return a; throw J.thrown('Cannot cast ' + z.string(a) + ' to ' + z.string(b)); }; w.__nativeClassName = function (a) { a = w.__toStr.call(a).slice(8, -1); return 'Object' == a || 'Function' == a || 'Math' == a || 'JSON' == a ? null : a; }; w.__isNativeObj = function (a) { return null != w.__nativeClassName(a); }; w.__resolveNativeClass = function (a) { return V[a]; }; var Wg = function () {}; k['js.Browser'] = Wg; Wg.__name__ = 'js.Browser'; Wg.__properties__ = { get_supported: 'get_supported' }; Wg.get_supported = function () { return 'undefined' != typeof window && 'undefined' != typeof window.location ? 'string' == typeof window.location.protocol : !1; }; Wg.getLocalStorage = function () { try { var a = window.localStorage; a.getItem(''); if (0 == a.length) { var b = '_hx_' + Math.random(); a.setItem(b, b); a.removeItem(b); } return a; } catch (d) { return (ka.lastError = d), null; } }; var Ny = function () {}; k['js.html._CanvasElement.CanvasUtil'] = Ny; Ny.__name__ = 'js.html._CanvasElement.CanvasUtil'; Ny.getContextWebGL = function (a, b) { var d = a.getContext('webgl', b); if (null != d) return d; d = a.getContext('experimental-webgl', b); return null != d ? d : null; }; var Oy = function () {}; k['js.lib._ArrayBuffer.ArrayBufferCompat'] = Oy; Oy.__name__ = 'js.lib._ArrayBuffer.ArrayBufferCompat'; Oy.sliceImpl = function (a, b) { a = new Uint8Array(this, a, null == b ? null : b - a); b = new Uint8Array(a.byteLength); b.set(a); return b.buffer; }; var so = function (a) { this.gameDeviceCache = new Ya(); this.parent = a; this.nextUpdate = this.lastUpdate = this.currentUpdate = 0; this.framePeriod = -1; xc.init(); this.accelerometer = Of.registerSensor(xz.ACCELEROMETER, 0); }; k['lime._internal.backend.html5.HTML5Application'] = so; so.__name__ = 'lime._internal.backend.html5.HTML5Application'; so.prototype = { accelerometer: null, currentUpdate: null, deltaTime: null, framePeriod: null, gameDeviceCache: null, hidden: null, lastUpdate: null, nextUpdate: null, parent: null, convertKeyCode: function (a) { if (65 <= a && 90 >= a) return a + 32; switch (a) { case 12: return 1073741980; case 16: return 1073742049; case 17: return 1073742048; case 18: return 1073742050; case 19: return 1073741896; case 20: return 1073741881; case 33: return 1073741899; case 34: return 1073741902; case 35: return 1073741901; case 36: return 1073741898; case 37: return 1073741904; case 38: return 1073741906; case 39: return 1073741903; case 40: return 1073741905; case 41: return 1073741943; case 43: return 1073741940; case 44: return 1073741894; case 45: return 1073741897; case 46: return 127; case 91: return 1073742051; case 92: return 1073742055; case 93: return 1073742055; case 95: return 1073742106; case 96: return 1073741922; case 97: return 1073741913; case 98: return 1073741914; case 99: return 1073741915; case 100: return 1073741916; case 101: return 1073741917; case 102: return 1073741918; case 103: return 1073741919; case 104: return 1073741920; case 105: return 1073741921; case 106: return 1073741909; case 107: return 1073741911; case 108: return 1073741923; case 109: return 1073741910; case 110: return 1073741923; case 111: return 1073741908; case 112: return 1073741882; case 113: return 1073741883; case 114: return 1073741884; case 115: return 1073741885; case 116: return 1073741886; case 117: return 1073741887; case 118: return 1073741888; case 119: return 1073741889; case 120: return 1073741890; case 121: return 1073741891; case 122: return 1073741892; case 123: return 1073741893; case 124: return 1073741928; case 125: return 1073741929; case 126: return 1073741930; case 127: return 1073741931; case 128: return 1073741932; case 129: return 1073741933; case 130: return 1073741934; case 131: return 1073741935; case 132: return 1073741936; case 133: return 1073741937; case 134: return 1073741938; case 135: return 1073741939; case 144: return 1073741907; case 145: return 1073741895; case 160: return 94; case 161: return 33; case 163: return 35; case 164: return 36; case 166: return 1073742094; case 167: return 1073742095; case 168: return 1073742097; case 169: return 41; case 170: return 42; case 171: return 96; case 172: return 1073741898; case 173: return 45; case 174: return 1073741953; case 175: return 1073741952; case 176: return 1073742082; case 177: return 1073742083; case 178: return 1073742084; case 179: return 1073742085; case 180: return 1073742089; case 181: return 1073742086; case 182: return 1073741953; case 183: return 1073741952; case 186: return 59; case 187: return 61; case 188: return 44; case 189: return 45; case 190: return 46; case 191: return 47; case 192: return 96; case 193: return 63; case 194: return 1073741923; case 219: return 91; case 220: return 92; case 221: return 93; case 222: return 39; case 223: return 96; case 224: return 1073742051; case 226: return 92; } return a; }, exec: function () { window.addEventListener('keydown', m(this, this.handleKeyEvent), !1); window.addEventListener('keyup', m(this, this.handleKeyEvent), !1); window.addEventListener('focus', m(this, this.handleWindowEvent), !1); window.addEventListener('blur', m(this, this.handleWindowEvent), !1); window.addEventListener('resize', m(this, this.handleWindowEvent), !1); window.addEventListener('beforeunload', m(this, this.handleWindowEvent), !1); window.addEventListener('devicemotion', m(this, this.handleSensorEvent), !1); CanvasRenderingContext2D.prototype.isPointInStroke || (CanvasRenderingContext2D.prototype.isPointInStroke = function (a, b, d) { return !1; }); CanvasRenderingContext2D.prototype.isPointInPath || (CanvasRenderingContext2D.prototype.isPointInPath = function (a, b, d) { return !1; }); 0 == 'performance' in window && (window.performance = {}); if (0 == 'now' in window.performance) { var a = Date.now(); performance.timing && performance.timing.navigationStart && (a = performance.timing.navigationStart); window.performance.now = function () { return Date.now() - a; }; } for ( var b = 0, d = ['ms', 'moz', 'webkit', 'o'], c = 0; c < d.length && !window.requestAnimationFrame; ++c ) (window.requestAnimationFrame = window[d[c] + 'RequestAnimationFrame']), (window.cancelAnimationFrame = window[d[c] + 'CancelAnimationFrame'] || window[d[c] + 'CancelRequestAnimationFrame']); window.requestAnimationFrame || (window.requestAnimationFrame = function (a, d) { var c = new Date().getTime(), e = Math.max(0, 16 - (c - b)); d = window.setTimeout(function () { a(c + e); }, e); b = c + e; return d; }); window.cancelAnimationFrame || (window.cancelAnimationFrame = function (a) { clearTimeout(a); }); window.requestAnimFrame = window.requestAnimationFrame; this.lastUpdate = new Date().getTime(); this.handleApplicationEvent(); return 0; }, exit: function () {}, handleApplicationEvent: function (a) { a = 0; for (var b = this.parent.__windows; a < b.length; ) { var d = b[a]; ++a; d.__backend.updateSize(); } this.updateGameDevices(); this.currentUpdate = new Date().getTime(); if (this.currentUpdate >= this.nextUpdate) { this.deltaTime = this.currentUpdate - this.lastUpdate; a = 0; for (b = this.parent.__windows; a < b.length; ) (d = b[a]), ++a, this.parent.onUpdate.dispatch(this.deltaTime | 0), null != d.context && d.onRender.dispatch(d.context); this.nextUpdate = 0 > this.framePeriod ? this.currentUpdate : this.currentUpdate - (this.currentUpdate % this.framePeriod) + this.framePeriod; this.lastUpdate = this.currentUpdate; } window.requestAnimationFrame(m(this, this.handleApplicationEvent)); }, handleKeyEvent: function (a) { if (null != this.parent.__window) { switch (a.keyCode) { case 32: case 37: case 38: case 39: case 40: a.preventDefault(); } var b = this.convertKeyCode(null != a.keyCode ? a.keyCode : a.which), d = (a.shiftKey ? 3 : 0) | (a.ctrlKey ? 192 : 0) | (a.altKey ? 768 : 0) | (a.metaKey ? 3072 : 0); 'keydown' == a.type ? (this.parent.__window.onKeyDown.dispatch(b, d), this.parent.__window.onKeyDown.canceled && a.cancelable && a.preventDefault()) : (this.parent.__window.onKeyUp.dispatch(b, d), this.parent.__window.onKeyUp.canceled && a.cancelable && a.preventDefault()); } }, handleSensorEvent: function (a) { this.accelerometer.onUpdate.dispatch( a.accelerationIncludingGravity.x, a.accelerationIncludingGravity.y, a.accelerationIncludingGravity.z ); }, handleWindowEvent: function (a) { if (null != this.parent.__window) switch (a.type) { case 'blur': this.hidden || (this.parent.__window.onFocusOut.dispatch(), this.parent.__window.onDeactivate.dispatch(), (this.hidden = !0)); break; case 'focus': this.hidden && (this.parent.__window.onFocusIn.dispatch(), this.parent.__window.onActivate.dispatch(), (this.hidden = !1)); break; case 'resize': this.parent.__window.__backend.handleResizeEvent(a); break; case 'visibilitychange': window.document.hidden ? this.hidden || (this.parent.__window.onFocusOut.dispatch(), this.parent.__window.onDeactivate.dispatch(), (this.hidden = !0)) : this.hidden && (this.parent.__window.onFocusIn.dispatch(), this.parent.__window.onActivate.dispatch(), (this.hidden = !1)); } }, updateGameDevices: function () { var a = zc.__getDeviceData(); if (null != a) for (var b, d, c, f, g, l = 0, q = a.length; l < q; ) if (((b = l++), (f = a[b]), null != f)) { if (!this.gameDeviceCache.h.hasOwnProperty(b)) { g = new to(); g.id = b; g.connected = f.connected; d = 0; for (c = f.buttons.length; d < c; ) { var h = d++; g.buttons.push(f.buttons[h].value); } d = 0; for (c = f.axes.length; d < c; ) (h = d++), g.axes.push(f.axes[h]); 'standard' == f.mapping && (g.isGamepad = !0); this.gameDeviceCache.h[b] = g; f.connected && (zc.__connect(b), g.isGamepad && Jd.__connect(b)); } g = this.gameDeviceCache.h[b]; c = zc.devices.h[b]; d = Jd.devices.h[b]; if (f.connected) { for (var r = 0, k = f.buttons.length; r < k; ) { var p = r++; h = f.buttons[p].value; if (h != g.buttons[p]) { if (6 == p) c.onAxisMove.dispatch(f.axes.length, h), null != d && d.onAxisMove.dispatch(4, h); else if (7 == p) c.onAxisMove.dispatch(f.axes.length + 1, h), null != d && d.onAxisMove.dispatch(5, h); else if ( (0 < h ? c.onButtonDown.dispatch(p) : c.onButtonUp.dispatch(p), null != d) ) { switch (p) { case 0: b = 0; break; case 1: b = 1; break; case 2: b = 2; break; case 3: b = 3; break; case 4: b = 9; break; case 5: b = 10; break; case 8: b = 4; break; case 9: b = 6; break; case 10: b = 7; break; case 11: b = 8; break; case 12: b = 11; break; case 13: b = 12; break; case 14: b = 13; break; case 15: b = 14; break; case 16: b = 5; break; default: continue; } 0 < h ? d.onButtonDown.dispatch(b) : d.onButtonUp.dispatch(b); } g.buttons[p] = h; } } b = 0; for (h = f.axes.length; b < h; ) (r = b++), f.axes[r] != g.axes[r] && (c.onAxisMove.dispatch(r, f.axes[r]), null != d && d.onAxisMove.dispatch(r, f.axes[r]), (g.axes[r] = f.axes[r])); } else g.connected && ((g.connected = !1), zc.__disconnect(b), Jd.__disconnect(b)); } }, __class__: so }; var to = function () { this.connected = !0; this.buttons = []; this.axes = []; }; k['lime._internal.backend.html5.GameDeviceData'] = to; to.__name__ = 'lime._internal.backend.html5.GameDeviceData'; to.prototype = { connected: null, id: null, isGamepad: null, buttons: null, axes: null, __class__: to }; var uo = function (a) { this.parent = a; this.id = -1; this.gain = 1; }; k['lime._internal.backend.html5.HTML5AudioSource'] = uo; uo.__name__ = 'lime._internal.backend.html5.HTML5AudioSource'; uo.prototype = { completed: null, gain: null, id: null, length: null, loops: null, parent: null, playing: null, dispose: function () {}, init: function () {}, play: function () { if (!this.playing && null != this.parent.buffer && null != this.parent.buffer.__srcHowl) { this.playing = !0; var a = this.getCurrentTime(); this.completed = !1; var b = this.parent.buffer.__srcHowl._volume; this.parent.buffer.__srcHowl._volume = this.parent.get_gain(); this.id = this.parent.buffer.__srcHowl.play(); this.parent.buffer.__srcHowl._volume = b; null != this.parent.get_pan() && this.setPan(this.parent.get_pan()); null != this.parent.get_position() && this.setPosition(this.parent.get_position()); this.parent.buffer.__srcHowl.on('end', m(this, this.howl_onEnd), this.id); this.setCurrentTime(a); } }, pause: function () { this.playing = !1; null != this.parent.buffer && null != this.parent.buffer.__srcHowl && this.parent.buffer.__srcHowl.pause(this.id); }, stop: function () { this.playing = !1; null != this.parent.buffer && null != this.parent.buffer.__srcHowl && (this.parent.buffer.__srcHowl.stop(this.id), this.parent.buffer.__srcHowl.off('end', m(this, this.howl_onEnd), this.id)); }, update: function () {}, howl_onEnd: function () { this.playing = !1; 0 < this.loops ? (this.loops--, this.stop(), this.play()) : (null != this.parent.buffer && null != this.parent.buffer.__srcHowl && (this.parent.buffer.__srcHowl.stop(this.id), this.parent.buffer.__srcHowl.off('end', m(this, this.howl_onEnd), this.id)), (this.completed = !0), this.parent.onComplete.dispatch()); }, getCurrentTime: function () { if (-1 == this.id) return 0; if (this.completed) return this.getLength(); if (null != this.parent.buffer && null != this.parent.buffer.__srcHowl) { var a = ((1e3 * this.parent.buffer.__srcHowl.seek(this.id)) | 0) - this.parent.offset; return 0 > a ? 0 : a; } return 0; }, setCurrentTime: function (a) { if (null != this.parent.buffer && null != this.parent.buffer.__srcHowl) { var b = (a + this.parent.offset) / 1e3; 0 > b && (b = 0); this.parent.buffer.__srcHowl.seek(b, this.id); } return a; }, getGain: function () { return this.gain; }, setGain: function (a) { null != this.parent.buffer && null != this.parent.buffer.__srcHowl && -1 != this.id && this.parent.buffer.__srcHowl.volume(a, this.id); return (this.gain = a); }, getLength: function () { return 0 != this.length ? this.length : null != this.parent.buffer && null != this.parent.buffer.__srcHowl ? (1e3 * this.parent.buffer.__srcHowl.duration()) | 0 : 0; }, setLength: function (a) { return (this.length = a); }, getLoops: function () { return this.loops; }, setLoops: function (a) { return (this.loops = a); }, setPan: function (a) { null != this.parent.buffer.__srcHowl && null != this.parent.buffer.__srcHowl.stereo && this.parent.buffer.__srcHowl.stereo(a, this.id); return a; }, setPosition: function (a) { null != this.parent.buffer.__srcHowl && null != this.parent.buffer.__srcHowl.pos && this.parent.buffer.__srcHowl.pos(a.x, a.y, a.z, this.id); return a; }, __class__: uo }; var Sa = function () { this.validStatus0 = new Ja('Tizen', 'gi').match(window.navigator.userAgent); }; k['lime._internal.backend.html5.HTML5HTTPRequest'] = Sa; Sa.__name__ = 'lime._internal.backend.html5.HTML5HTTPRequest'; Sa.loadImage = function (a) { var b = new $d(); Sa.activeRequests < Sa.requestLimit ? (Sa.activeRequests++, Sa.__loadImage(a, b, 0)) : Sa.requestQueue.add({ instance: null, uri: a, promise: b, type: 'IMAGE', options: 0 }); return b.future; }; Sa.loadImageFromBytes = function (a, b) { var d = URL.createObjectURL(new Blob([a.b.bufferValue], { type: b })); return null != d ? ((a = new $d()), Sa.activeRequests < Sa.requestLimit ? (Sa.activeRequests++, Sa.__loadImage(d, a, 1)) : Sa.requestQueue.add({ instance: null, uri: d, promise: a, type: 'IMAGE', options: 1 }), a.future) : Sa.loadImage('data:' + b + ';base64,' + Pf.encode(a)); }; Sa.processQueue = function () { if (Sa.activeRequests < Sa.requestLimit && 0 < Sa.requestQueue.length) { Sa.activeRequests++; var a = Sa.requestQueue.pop(); switch (a.type) { case 'BINARY': a.instance.__loadData(a.uri, a.promise); break; case 'IMAGE': Sa.__loadImage(a.uri, a.promise, a.options); break; case 'TEXT': a.instance.__loadText(a.uri, a.promise); break; default: Sa.activeRequests--; } } }; Sa.__createBlobURIFromBytes = function (a, b) { return URL.createObjectURL(new Blob([a.b.bufferValue], { type: b })); }; Sa.__fixHostname = function (a) { return null == a ? '' : a; }; Sa.__fixPort = function (a, b) { if (null == a || '' == a) switch (b) { case 'ftp:': return '21'; case 'gopher:': return '70'; case 'http:': return '80'; case 'https:': return '443'; case 'ws:': return '80'; case 'wss:': return '443'; default: return ''; } return a; }; Sa.__fixProtocol = function (a) { return null == a || '' == a ? 'http:' : a; }; Sa.__isInMemoryURI = function (a) { return T.startsWith(a, 'data:') ? !0 : T.startsWith(a, 'blob:'); }; Sa.__isSameOrigin = function (a) { if (null == a || '' == a || Sa.__isInMemoryURI(a)) return !0; null == Sa.originElement && ((Sa.originElement = window.document.createElement('a')), (Sa.originHostname = Sa.__fixHostname(V.location.hostname)), (Sa.originProtocol = Sa.__fixProtocol(V.location.protocol)), (Sa.originPort = Sa.__fixPort(V.location.port, Sa.originProtocol))); var b = Sa.originElement; b.href = a; '' == b.hostname && (b.href = b.href); var d = Sa.__fixHostname(b.hostname); a = Sa.__fixProtocol(b.protocol); b = Sa.__fixPort(b.port, a); d = '' == d || d == Sa.originHostname; b = '' == b || b == Sa.originPort; return 'file:' != a && d ? b : !1; }; Sa.__loadImage = function (a, b, d) { var c = new Image(); Sa.__isSameOrigin(a) || (c.crossOrigin = 'Anonymous'); null == Sa.supportsImageProgress && (Sa.supportsImageProgress = 'onprogress' in c); if (Sa.supportsImageProgress || Sa.__isInMemoryURI(a)) c.addEventListener( 'load', function (e) { Sa.__revokeBlobURI(a, d); e = new Qf(null, c.width, c.height); e.__srcImage = c; Sa.activeRequests--; Sa.processQueue(); b.complete(new Gb(e)); }, !1 ), c.addEventListener( 'progress', function (a) { b.progress(a.loaded, a.total); }, !1 ), c.addEventListener( 'error', function (c) { Sa.__revokeBlobURI(a, d); Sa.activeRequests--; Sa.processQueue(); b.error(c.detail); }, !1 ), (c.src = a); else { var f = new XMLHttpRequest(); f.onload = function (a) { Sa.activeRequests--; Sa.processQueue(); new Gb().__fromBytes(fb.ofData(f.response), function (a) { b.complete(a); }); }; f.onerror = function (a) { b.error(a.message); }; f.onprogress = function (a) { a.lengthComputable && b.progress(a.loaded, a.total); }; f.open('GET', a, !0); f.responseType = 'arraybuffer'; f.overrideMimeType('text/plain; charset=x-user-defined'); f.send(null); } }; Sa.__revokeBlobURI = function (a, b) { 0 != (b & 1) && URL.revokeObjectURL(a); }; Sa.prototype = { binary: null, parent: null, request: null, validStatus0: null, cancel: function () { null != this.request && this.request.abort(); }, init: function (a) { this.parent = a; }, load: function (a, b, d) { this.request = new XMLHttpRequest(); 'POST' == this.parent.method ? this.request.upload.addEventListener('progress', b, !1) : this.request.addEventListener('progress', b, !1); this.request.onreadystatechange = d; b = ''; if (null == this.parent.data) { d = Object.keys(this.parent.formData.h); for (var c = d.length, f = 0; f < c; ) { var g = d[f++]; 0 < b.length && (b += '&'); var l = this.parent.formData.h[g]; if (-1 < g.indexOf('[]') && l instanceof Array) { var q = []; for (l = K(l); l.hasNext(); ) { var h = l.next(); q.push(encodeURIComponent(h)); } q = q.join('&' + g + '='); b += encodeURIComponent(g) + '=' + q; } else (q = encodeURIComponent(g) + '='), (g = z.string(l)), (b += q + encodeURIComponent(g)); } 'GET' == this.parent.method && '' != b && ((a = -1 < a.indexOf('?') ? a + ('&' + b) : a + ('?' + b)), (b = '')); } this.request.open(z.string(this.parent.method), a, !0); 0 < this.parent.timeout && (this.request.timeout = this.parent.timeout); this.binary && (this.request.responseType = 'arraybuffer'); a = null; q = 0; for (d = this.parent.headers; q < d.length; ) (c = d[q]), ++q, 'Content-Type' == c.name ? (a = c.value) : this.request.setRequestHeader(c.name, c.value); null != this.parent.contentType && (a = this.parent.contentType); null == a && (null != this.parent.data ? (a = 'application/octet-stream') : '' != b && (a = 'application/x-www-form-urlencoded')); null != a && this.request.setRequestHeader('Content-Type', a); this.parent.withCredentials && (this.request.withCredentials = !0); null != this.parent.data ? this.request.send(this.parent.data.b.bufferValue) : this.request.send(b); }, loadData: function (a) { var b = new $d(); Sa.activeRequests < Sa.requestLimit ? (Sa.activeRequests++, this.__loadData(a, b)) : Sa.requestQueue.add({ instance: this, uri: a, promise: b, type: 'BINARY', options: 0 }); return b.future; }, loadText: function (a) { var b = new $d(); Sa.activeRequests < Sa.requestLimit ? (Sa.activeRequests++, this.__loadText(a, b)) : Sa.requestQueue.add({ instance: this, uri: a, promise: b, type: 'TEXT', options: 0 }); return b.future; }, processResponse: function () { if (this.parent.enableResponseHeaders) { this.parent.responseHeaders = []; for ( var a, b, d = 0, c = this.request.getAllResponseHeaders().split('\n'); d < c.length; ) (b = c[d]), ++d, (a = T.trim(C.substr(b, 0, b.indexOf(':')))), (b = T.trim(C.substr(b, b.indexOf(':') + 1, null))), '' != a && this.parent.responseHeaders.push(new gm(a, b)); } this.parent.responseStatus = this.request.status; }, __loadData: function (a, b) { var d = this; this.binary = !0; this.load( a, function (a) { b.progress(a.loaded, a.total); }, function (a) { 4 == d.request.readyState && (null != d.request.status && ((200 <= d.request.status && 400 > d.request.status) || (d.validStatus0 && 0 == d.request.status)) ? ((a = null), '' == d.request.responseType ? null != d.request.responseText && (a = fb.ofString(d.request.responseText)) : null != d.request.response && (a = fb.ofData(d.request.response)), d.processResponse(), b.complete(a)) : (d.processResponse(), b.error(d.request.status)), (d.request = null), Sa.activeRequests--, Sa.processQueue()); } ); }, __loadText: function (a, b) { var d = this; this.binary = !1; this.load( a, function (a) { b.progress(a.loaded, a.total); }, function (a) { 4 == d.request.readyState && (null != d.request.status && ((200 <= d.request.status && 400 >= d.request.status) || (d.validStatus0 && 0 == d.request.status)) ? (d.processResponse(), b.complete(d.request.responseText)) : (d.processResponse(), b.error(d.request.status)), (d.request = null), Sa.activeRequests--, Sa.processQueue()); } ); }, __class__: Sa }; var pb = function (a) { this.inputing = !1; this.unusedTouchesPool = new F(); this.scale = 1; this.currentTouches = new Ya(); this.parent = a; this.cursor = lc.DEFAULT; this.cacheMouseY = this.cacheMouseX = 0; var b = a.__attributes; Object.prototype.hasOwnProperty.call(b, 'context') || (b.context = {}); this.renderType = b.context.type; Object.prototype.hasOwnProperty.call(b, 'element') && (a.element = b.element); var d = a.element; Object.prototype.hasOwnProperty.call(b, 'allowHighDPI') && b.allowHighDPI && 'dom' != this.renderType && (this.scale = window.devicePixelRatio); a.__scale = this.scale; this.setWidth = Object.prototype.hasOwnProperty.call(b, 'width') ? b.width : 0; this.setHeight = Object.prototype.hasOwnProperty.call(b, 'height') ? b.height : 0; a.__width = this.setWidth; a.__height = this.setHeight; a.id = pb.windowID++; d instanceof HTMLCanvasElement ? (this.canvas = d) : 'dom' == this.renderType ? (this.div = window.document.createElement('div')) : (this.canvas = window.document.createElement('canvas')); if (null != this.canvas) { var c = this.canvas.style; c.setProperty('-webkit-transform', 'translateZ(0)', null); c.setProperty('transform', 'translateZ(0)', null); } else null != this.div && ((c = this.div.style), c.setProperty('-webkit-transform', 'translate3D(0,0,0)', null), c.setProperty('transform', 'translate3D(0,0,0)', null), (c.position = 'relative'), (c.overflow = 'hidden'), c.setProperty('-webkit-user-select', 'none', null), c.setProperty('-moz-user-select', 'none', null), c.setProperty('-ms-user-select', 'none', null), c.setProperty('-o-user-select', 'none', null)); 0 == a.__width && 0 == a.__height && (null != d ? ((a.__width = d.clientWidth), (a.__height = d.clientHeight)) : ((a.__width = window.innerWidth), (a.__height = window.innerHeight)), (this.cacheElementWidth = a.__width), (this.cacheElementHeight = a.__height), (this.resizeElement = !0)); null != this.canvas ? ((this.canvas.width = Math.round(a.__width * this.scale)), (this.canvas.height = Math.round(a.__height * this.scale)), (this.canvas.style.width = a.__width + 'px'), (this.canvas.style.height = a.__height + 'px')) : ((this.div.style.width = a.__width + 'px'), (this.div.style.height = a.__height + 'px')); if ( (Object.prototype.hasOwnProperty.call(b, 'resizable') && b.resizable) || (!Object.prototype.hasOwnProperty.call(b, 'width') && 0 == this.setWidth && 0 == this.setHeight) ) a.__resizable = !0; this.updateSize(); if (null != d) { null != this.canvas ? d != this.canvas && d.appendChild(this.canvas) : d.appendChild(this.div); b = 'mousedown mouseenter mouseleave mousemove mouseup wheel'.split(' '); for (c = 0; c < b.length; ) { var f = b[c]; ++c; d.addEventListener(f, m(this, this.handleMouseEvent), !0); } d.addEventListener('contextmenu', m(this, this.handleContextMenuEvent), !0); d.addEventListener('dragstart', m(this, this.handleDragEvent), !0); d.addEventListener('dragover', m(this, this.handleDragEvent), !0); d.addEventListener('drop', m(this, this.handleDragEvent), !0); d.addEventListener('touchstart', m(this, this.handleTouchEvent), !0); d.addEventListener('touchmove', m(this, this.handleTouchEvent), !0); d.addEventListener('touchend', m(this, this.handleTouchEvent), !0); d.addEventListener('touchcancel', m(this, this.handleTouchEvent), !0); d.addEventListener('gamepadconnected', m(this, this.handleGamepadEvent), !0); d.addEventListener('gamepaddisconnected', m(this, this.handleGamepadEvent), !0); } this.createContext(); 'webgl' == a.context.type && (this.canvas.addEventListener('webglcontextlost', m(this, this.handleContextEvent), !1), this.canvas.addEventListener( 'webglcontextrestored', m(this, this.handleContextEvent), !1 )); }; k['lime._internal.backend.html5.HTML5Window'] = pb; pb.__name__ = 'lime._internal.backend.html5.HTML5Window'; pb.prototype = { canvas: null, div: null, cacheElementHeight: null, cacheElementWidth: null, cacheMouseX: null, cacheMouseY: null, cursor: null, currentTouches: null, isFullscreen: null, parent: null, primaryTouch: null, renderType: null, requestedFullscreen: null, resizeElement: null, scale: null, setHeight: null, setWidth: null, textInputEnabled: null, unusedTouchesPool: null, alert: function (a, b) { null != a && window.alert(z.string(a)); }, close: function () { this.parent.application.__removeWindow(this.parent); }, createContext: function () { var a = new vo(), b = this.parent.__attributes.context; a.window = this.parent; a.attributes = b; if (null != this.div) (a.dom = this.div), (a.type = 'dom'), (a.version = ''); else if (null != this.canvas) { var d = null, c = 'opengl' == this.renderType || 'opengles' == this.renderType || 'webgl' == this.renderType, f = !Object.prototype.hasOwnProperty.call(b, 'version') || '1' != b.version, g = !1; if (c) { c = Object.prototype.hasOwnProperty.call(b, 'background') && null == b.background; var l = Object.prototype.hasOwnProperty.call(b, 'colorDepth') ? b.colorDepth : 16, q = Object.prototype.hasOwnProperty.call(b, 'antialiasing') && 0 < b.antialiasing, h = Object.prototype.hasOwnProperty.call(b, 'depth') ? b.depth : !0; b = Object.prototype.hasOwnProperty.call(b, 'stencil') && b.stencil; b = { alpha: c || 16 < l, antialias: q, depth: h, premultipliedAlpha: !0, stencil: b, preserveDrawingBuffer: !1, failIfMajorPerformanceCaveat: !1 }; c = ['webgl', 'experimental-webgl']; f && c.unshift('webgl2'); for ( f = 0; f < c.length && ((l = c[f]), ++f, (d = this.canvas.getContext(l, b)), null != d && 'webgl2' == l && (g = !0), null == d); ); } null == d ? ((a.canvas2D = this.canvas.getContext('2d')), (a.type = 'canvas'), (a.version = '')) : ((a.webgl = $b.fromWebGL2RenderContext(d)), g && (a.webgl2 = d), null == u.context && ((u.context = d), (u.type = 'webgl'), (u.version = g ? 2 : 1)), (a.type = 'webgl'), (a.version = g ? '2' : '1')); } this.parent.context = a; }, focus: function () {}, getCursor: function () { return this.cursor; }, getDisplay: function () { return Ua.getDisplay(0); }, getDisplayMode: function () { return Ua.getDisplay(0).currentMode; }, getFrameRate: function () { return null == this.parent.application ? 0 : 0 > this.parent.application.__backend.framePeriod ? 60 : 1e3 == this.parent.application.__backend.framePeriod ? 0 : 1e3 / this.parent.application.__backend.framePeriod; }, getMouseLock: function () { return !1; }, getTextInputEnabled: function () { return this.textInputEnabled; }, handleContextEvent: function (a) { switch (a.type) { case 'webglcontextlost': a.cancelable && a.preventDefault(); this.parent.context = null; this.parent.onRenderContextLost.dispatch(); break; case 'webglcontextrestored': this.createContext(), this.parent.onRenderContextRestored.dispatch(this.parent.context); } }, handleContextMenuEvent: function (a) { (this.parent.onMouseUp.canceled || this.parent.onMouseDown.canceled) && a.cancelable && a.preventDefault(); }, handleCutOrCopyEvent: function (a) { a.clipboardData.setData('text/plain', je.get_text()); a.cancelable && a.preventDefault(); }, handleDragEvent: function (a) { switch (a.type) { case 'dragover': return a.preventDefault(), !1; case 'dragstart': if ('img' == w.__cast(a.target, HTMLElement).nodeName.toLowerCase() && a.cancelable) return a.preventDefault(), !1; break; case 'drop': if (null != a.dataTransfer && 0 < a.dataTransfer.files.length) return ( this.parent.onDropFile.dispatch(a.dataTransfer.files), a.preventDefault(), !1 ); } return !0; }, handleFocusEvent: function (a) { var b = this; this.textInputEnabled && (null == a.relatedTarget || this.isDescendent(a.relatedTarget)) && Ne.delay(function () { b.textInputEnabled && pb.textInput.focus(); }, 20); }, handleFullscreenEvent: function (a) { if ( null != (document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement) ) (this.isFullscreen = !0), (this.parent.__fullscreen = !0), this.requestedFullscreen && ((this.requestedFullscreen = !1), this.parent.onFullscreen.dispatch()); else { this.isFullscreen = !1; this.parent.__fullscreen = !1; this.parent.onRestore.dispatch(); a = [ 'fullscreenchange', 'mozfullscreenchange', 'webkitfullscreenchange', 'MSFullscreenChange' ]; for ( var b = [ 'fullscreenerror', 'mozfullscreenerror', 'webkitfullscreenerror', 'MSFullscreenError' ], d = 0, c = a.length; d < c; ) { var f = d++; window.document.removeEventListener(a[f], m(this, this.handleFullscreenEvent), !1); window.document.removeEventListener(b[f], m(this, this.handleFullscreenEvent), !1); } } }, handleGamepadEvent: function (a) { switch (a.type) { case 'gamepadconnected': zc.__connect(a.gamepad.index); 'standard' == a.gamepad.mapping && Jd.__connect(a.gamepad.index); break; case 'gamepaddisconnected': zc.__disconnect(a.gamepad.index), Jd.__disconnect(a.gamepad.index); } }, handleInputEvent: function (a) { this.inputing || pb.textInput.value == pb.dummyCharacter || ((a = T.replace(pb.textInput.value, pb.dummyCharacter, '')), 0 < a.length && this.parent.onTextInput.dispatch(a), (pb.textInput.value = pb.dummyCharacter)); }, handleMouseEvent: function (a) { if ('wheel' != a.type) { if (null != this.parent.element) if (null != this.canvas) { var b = this.canvas.getBoundingClientRect(); var d = (this.parent.__width / b.width) * (a.clientX - b.left); b = (this.parent.__height / b.height) * (a.clientY - b.top); } else null != this.div ? ((b = this.div.getBoundingClientRect()), (d = a.clientX - b.left), (b = a.clientY - b.top)) : ((b = this.parent.element.getBoundingClientRect()), (d = (this.parent.__width / b.width) * (a.clientX - b.left)), (b = (this.parent.__height / b.height) * (a.clientY - b.top))); else (d = a.clientX), (b = a.clientY); switch (a.type) { case 'mousedown': a.currentTarget == this.parent.element && window.addEventListener('mouseup', m(this, this.handleMouseEvent)); this.parent.onMouseDown.dispatch(d, b, a.button); this.parent.onMouseDown.canceled && a.cancelable && a.preventDefault(); break; case 'mouseenter': a.target == this.parent.element && (this.parent.onEnter.dispatch(), this.parent.onEnter.canceled && a.cancelable && a.preventDefault()); break; case 'mouseleave': a.target == this.parent.element && (this.parent.onLeave.dispatch(), this.parent.onLeave.canceled && a.cancelable && a.preventDefault()); break; case 'mousemove': if (d != this.cacheMouseX || b != this.cacheMouseY) this.parent.onMouseMove.dispatch(d, b), this.parent.onMouseMoveRelative.dispatch( d - this.cacheMouseX, b - this.cacheMouseY ), (this.parent.onMouseMove.canceled || this.parent.onMouseMoveRelative.canceled) && a.cancelable && a.preventDefault(); break; case 'mouseup': window.removeEventListener('mouseup', m(this, this.handleMouseEvent)), a.currentTarget == this.parent.element && a.stopPropagation(), this.parent.onMouseUp.dispatch(d, b, a.button), this.parent.onMouseUp.canceled && a.cancelable && a.preventDefault(); } this.cacheMouseX = d; this.cacheMouseY = b; } else { switch (a.deltaMode) { case 0: d = Ah.PIXELS; break; case 1: d = Ah.LINES; break; case 2: d = Ah.PAGES; break; default: d = Ah.UNKNOWN; } this.parent.onMouseWheel.dispatch(a.deltaX, -a.deltaY, d); this.parent.onMouseWheel.canceled && a.cancelable && a.preventDefault(); } }, handlePasteEvent: function (a) { if (-1 < a.clipboardData.types.indexOf('text/plain')) { var b = a.clipboardData.getData('text/plain'); je.set_text(b); this.textInputEnabled && this.parent.onTextInput.dispatch(b); a.cancelable && a.preventDefault(); } }, handleResizeEvent: function (a) { this.primaryTouch = null; this.updateSize(); }, handleTouchEvent: function (a) { a.cancelable && a.preventDefault(); var b = null; null != this.parent.element && (b = null != this.canvas ? this.canvas.getBoundingClientRect() : null != this.div ? this.div.getBoundingClientRect() : this.parent.element.getBoundingClientRect()); var d = this.setWidth, c = this.setHeight; if (0 == d || 0 == c) null != b ? ((d = b.width), (c = b.height)) : (c = d = 1); for (var f, g, l, q, h, r = 0, k = a.changedTouches; r < k.length; ) { var p = k[r]; ++r; null != b ? ((g = (d / b.width) * (p.clientX - b.left)), (l = (c / b.height) * (p.clientY - b.top))) : ((g = p.clientX), (l = p.clientY)); if ('touchstart' == a.type) (f = this.unusedTouchesPool.pop()), null == f ? (f = new nd(g / d, l / c, p.identifier, 0, 0, p.force, this.parent.id)) : ((f.x = g / d), (f.y = l / c), (f.id = p.identifier), (f.dx = 0), (f.dy = 0), (f.pressure = p.force), (f.device = this.parent.id)), (this.currentTouches.h[p.identifier] = f), nd.onStart.dispatch(f), null == this.primaryTouch && (this.primaryTouch = f), f == this.primaryTouch && this.parent.onMouseDown.dispatch(g, l, 0); else if (((f = this.currentTouches.h[p.identifier]), null != f)) switch ( ((q = f.x), (h = f.y), (f.x = g / d), (f.y = l / c), (f.dx = f.x - q), (f.dy = f.y - h), (f.pressure = p.force), a.type) ) { case 'touchcancel': nd.onCancel.dispatch(f); this.currentTouches.remove(p.identifier); this.unusedTouchesPool.add(f); f == this.primaryTouch && (this.primaryTouch = null); break; case 'touchend': nd.onEnd.dispatch(f); this.currentTouches.remove(p.identifier); this.unusedTouchesPool.add(f); f == this.primaryTouch && (this.parent.onMouseUp.dispatch(g, l, 0), (this.primaryTouch = null)); break; case 'touchmove': nd.onMove.dispatch(f), f == this.primaryTouch && this.parent.onMouseMove.dispatch(g, l); } } }, isDescendent: function (a) { if (a == this.parent.element) return !0; for (; null != a; ) { if (a.parentNode == this.parent.element) return !0; a = a.parentNode; } return !1; }, move: function (a, b) {}, readPixels: function (a) { if (null != this.canvas) { var b = new Qd(0, 0, this.canvas.width, this.canvas.height); null == a ? (a = b) : a.intersection(b, a); if (0 < a.width && 0 < a.height) return ( (b = window.document.createElement('canvas')), (b.width = a.width | 0), (b.height = a.height | 0), b.getContext('2d').drawImage(this.canvas, -a.x, -a.y), Gb.fromCanvas(b) ); } return null; }, resize: function (a, b) {}, setBorderless: function (a) { return a; }, setClipboard: function (a) { null == pb.textArea && ((pb.textArea = window.document.createElement('textarea')), (pb.textArea.style.height = '0px'), (pb.textArea.style.left = '-100px'), (pb.textArea.style.opacity = '0'), (pb.textArea.style.position = 'fixed'), (pb.textArea.style.top = '-100px'), (pb.textArea.style.width = '0px'), window.document.body.appendChild(pb.textArea)); pb.textArea.value = a; pb.textArea.focus(); pb.textArea.select(); window.document.queryCommandEnabled('copy') && window.document.execCommand('copy'); }, setCursor: function (a) { if (this.cursor != a) { if (null == a) this.parent.element.style.cursor = 'none'; else { switch (a._hx_index) { case 0: var b = 'default'; break; case 1: b = 'crosshair'; break; case 3: b = 'move'; break; case 4: b = 'pointer'; break; case 5: b = 'nesw-resize'; break; case 6: b = 'ns-resize'; break; case 7: b = 'nwse-resize'; break; case 8: b = 'ew-resize'; break; case 9: b = 'text'; break; case 10: b = 'wait'; break; case 11: b = 'wait'; break; default: b = 'auto'; } this.parent.element.style.cursor = b; } this.cursor = a; } return this.cursor; }, setDisplayMode: function (a) { return a; }, setFrameRate: function (a) { null != this.parent.application && (60 <= a ? this.parent == this.parent.application.__window && (this.parent.application.__backend.framePeriod = -1) : 0 < a ? this.parent == this.parent.application.__window && (this.parent.application.__backend.framePeriod = 1e3 / a) : this.parent == this.parent.application.__window && (this.parent.application.__backend.framePeriod = 1e3)); return a; }, setFullscreen: function (a) { a ? this.requestedFullscreen || this.isFullscreen || ((this.requestedFullscreen = !0), ((B = this.parent.element), m(B, B.requestFullscreen)) ? (document.addEventListener( 'fullscreenchange', m(this, this.handleFullscreenEvent), !1 ), document.addEventListener( 'fullscreenerror', m(this, this.handleFullscreenEvent), !1 ), this.parent.element.requestFullscreen()) : this.parent.element.mozRequestFullScreen ? (document.addEventListener( 'mozfullscreenchange', m(this, this.handleFullscreenEvent), !1 ), document.addEventListener( 'mozfullscreenerror', m(this, this.handleFullscreenEvent), !1 ), this.parent.element.mozRequestFullScreen()) : this.parent.element.webkitRequestFullscreen ? (document.addEventListener( 'webkitfullscreenchange', m(this, this.handleFullscreenEvent), !1 ), document.addEventListener( 'webkitfullscreenerror', m(this, this.handleFullscreenEvent), !1 ), this.parent.element.webkitRequestFullscreen()) : this.parent.element.msRequestFullscreen && (document.addEventListener( 'MSFullscreenChange', m(this, this.handleFullscreenEvent), !1 ), document.addEventListener( 'MSFullscreenError', m(this, this.handleFullscreenEvent), !1 ), this.parent.element.msRequestFullscreen())) : this.isFullscreen && ((this.requestedFullscreen = !1), document.exitFullscreen ? document.exitFullscreen() : document.mozCancelFullScreen ? document.mozCancelFullScreen() : document.webkitExitFullscreen ? document.webkitExitFullscreen() : document.msExitFullscreen && document.msExitFullscreen()); return a; }, setIcon: function (a) { za.convertToCanvas(a); var b = window.document.querySelector("link[rel*='icon']"); null == b && (b = window.document.createElement('link')); b.type = 'image/x-icon'; b.rel = 'shortcut icon'; b.href = a.buffer.get_src().toDataURL('image/x-icon'); window.document.getElementsByTagName('head')[0].appendChild(b); }, setMaximized: function (a) { return !1; }, setMinimized: function (a) { return !1; }, setMouseLock: function (a) {}, setResizable: function (a) { return a; }, setTextInputEnabled: function (a) { a ? (null == pb.textInput && ((pb.textInput = window.document.createElement('input')), (pb.textInput.type = 'text'), (pb.textInput.style.position = 'absolute'), (pb.textInput.style.opacity = '0'), (pb.textInput.style.color = 'transparent'), (pb.textInput.value = pb.dummyCharacter), (pb.textInput.autocapitalize = 'off'), (pb.textInput.autocorrect = 'off'), (pb.textInput.autocomplete = 'off'), (pb.textInput.style.left = '0px'), (pb.textInput.style.top = '50%'), new Ja('(iPad|iPhone|iPod).*OS 8_', 'gi').match(window.navigator.userAgent) ? ((pb.textInput.style.fontSize = '0px'), (pb.textInput.style.width = '0px'), (pb.textInput.style.height = '0px')) : ((pb.textInput.style.width = '1px'), (pb.textInput.style.height = '1px')), (pb.textInput.style.pointerEvents = 'none'), (pb.textInput.style.zIndex = '-10000000')), null == pb.textInput.parentNode && this.parent.element.appendChild(pb.textInput), this.textInputEnabled || (pb.textInput.addEventListener('input', m(this, this.handleInputEvent), !0), pb.textInput.addEventListener('blur', m(this, this.handleFocusEvent), !0), pb.textInput.addEventListener('cut', m(this, this.handleCutOrCopyEvent), !0), pb.textInput.addEventListener('copy', m(this, this.handleCutOrCopyEvent), !0), pb.textInput.addEventListener('paste', m(this, this.handlePasteEvent), !0), pb.textInput.addEventListener( 'compositionstart', m(this, this.handleCompositionstartEvent), !0 ), pb.textInput.addEventListener( 'compositionend', m(this, this.handleCompositionendEvent), !0 )), pb.textInput.focus(), pb.textInput.select()) : null != pb.textInput && (pb.textInput.removeEventListener('input', m(this, this.handleInputEvent), !0), pb.textInput.removeEventListener('blur', m(this, this.handleFocusEvent), !0), pb.textInput.removeEventListener('cut', m(this, this.handleCutOrCopyEvent), !0), pb.textInput.removeEventListener('copy', m(this, this.handleCutOrCopyEvent), !0), pb.textInput.removeEventListener('paste', m(this, this.handlePasteEvent), !0), pb.textInput.removeEventListener( 'compositionstart', m(this, this.handleCompositionstartEvent), !0 ), pb.textInput.removeEventListener( 'compositionend', m(this, this.handleCompositionendEvent), !0 ), pb.textInput.blur()); return (this.textInputEnabled = a); }, inputing: null, handleCompositionstartEvent: function (a) { this.inputing = !0; }, handleCompositionendEvent: function (a) { this.inputing = !1; this.handleInputEvent(a); }, setTitle: function (a) { null != a && (window.document.title = a); return a; }, updateSize: function () { if (this.parent.__resizable) { if (null != this.parent.element) { var a = this.parent.element.clientWidth; var b = this.parent.element.clientHeight; } else (a = window.innerWidth), (b = window.innerHeight); if (a != this.cacheElementWidth || b != this.cacheElementHeight) { this.cacheElementWidth = a; this.cacheElementHeight = b; var d = this.resizeElement || (0 == this.setWidth && 0 == this.setHeight); if (null != this.parent.element && (null == this.div || (null != this.div && d))) if (d) { if (this.parent.__width != a || this.parent.__height != b) (this.parent.__width = a), (this.parent.__height = b), null != this.canvas ? this.parent.element != this.canvas && ((this.canvas.width = Math.round(a * this.scale)), (this.canvas.height = Math.round(b * this.scale)), (this.canvas.style.width = a + 'px'), (this.canvas.style.height = b + 'px')) : ((this.div.style.width = a + 'px'), (this.div.style.height = b + 'px')), this.parent.onResize.dispatch(a, b); } else { d = 0 != this.setWidth ? a / this.setWidth : 1; var c = 0 != this.setHeight ? b / this.setHeight : 1, f = a, g = b, l = 0, q = 0; d < c ? ((g = Math.floor(this.setHeight * d)), (q = Math.floor((b - g) / 2))) : ((f = Math.floor(this.setWidth * c)), (l = Math.floor((a - f) / 2))); null != this.canvas ? this.parent.element != this.canvas && ((this.canvas.style.width = f + 'px'), (this.canvas.style.height = g + 'px'), (this.canvas.style.marginLeft = l + 'px'), (this.canvas.style.marginTop = q + 'px')) : ((this.div.style.width = f + 'px'), (this.div.style.height = g + 'px'), (this.div.style.marginLeft = l + 'px'), (this.div.style.marginTop = q + 'px')); } } } }, warpMouse: function (a, b) {}, __class__: pb }; var Kz = function () {}; k['lime._internal.backend.native.NativeCFFI'] = Kz; Kz.__name__ = 'lime._internal.backend.native.NativeCFFI'; var Py = function () {}; k['lime._internal.format.BMP'] = Py; Py.__name__ = 'lime._internal.format.html'; Py.encode = function (a, b) { if (a.get_premultiplied() || 0 != a.get_format()) (a = a.clone()), a.set_premultiplied(!1), a.set_format(0); null == b && (b = Wh.RGB); var d = 14, c = 40, f = a.width * a.height * 4; if (null != b) switch (b._hx_index) { case 0: f = (3 * a.width + ((3 * a.width) % 4)) * a.height; break; case 1: c = 108; break; case 2: (d = 0), (f += a.width * a.height); } var g = new fb(new ArrayBuffer(d + c + f)), l = 0; 0 < d && ((g.b[l++] = 66), (g.b[l++] = 77), g.setInt32(l, g.length), (l += 4), g.setUInt16(l, 0), (l += 2), g.setUInt16(l, 0), (l += 2), g.setInt32(l, d + c), (l += 4)); g.setInt32(l, c); l += 4; g.setInt32(l, a.width); l += 4; g.setInt32(l, b == Wh.ICO ? 2 * a.height : a.height); l += 4; g.setUInt16(l, 1); l += 2; g.setUInt16(l, b == Wh.RGB ? 24 : 32); l += 2; g.setInt32(l, b == Wh.BITFIELD ? 3 : 0); l += 4; g.setInt32(l, f); l += 4; g.setInt32(l, 11824); l += 4; g.setInt32(l, 11824); l += 4; g.setInt32(l, 0); l += 4; g.setInt32(l, 0); l += 4; if (b == Wh.BITFIELD) for ( g.setInt32(l, 16711680), l += 4, g.setInt32(l, 65280), l += 4, g.setInt32(l, 255), l += 4, g.setInt32(l, -16777216), l += 4, g.b[l++] = 32, g.b[l++] = 110, g.b[l++] = 105, g.b[l++] = 87, d = 0; 48 > d; ) d++, (g.b[l++] = 0); c = a.getPixels(new Qd(0, 0, a.width, a.height), 1); if (null != b) switch (b._hx_index) { case 0: d = 0; for (b = a.height; d < b; ) { var q = d++; q = 4 * (a.height - 1 - q) * a.width; for (var h = 0, r = a.width; h < r; ) { h++; q++; var k = c.b[q++]; var p = c.b[q++]; var n = c.b[q++]; g.b[l++] = n & 255; g.b[l++] = p & 255; g.b[l++] = k & 255; } f = 0; for (var u = (3 * a.width) % 4; f < u; ) f++, (g.b[l++] = 0); } break; case 1: d = 0; for (b = a.height; d < b; ) for (q = d++, q = 4 * (a.height - 1 - q) * a.width, h = 0, r = a.width; h < r; ) { h++; var m = c.b[q++]; k = c.b[q++]; p = c.b[q++]; n = c.b[q++]; g.b[l++] = n & 255; g.b[l++] = p & 255; g.b[l++] = k & 255; g.b[l++] = m & 255; } break; case 2: f = new fb(new ArrayBuffer(a.width * a.height)); d = u = 0; for (b = a.height; d < b; ) for (q = d++, q = 4 * (a.height - 1 - q) * a.width, h = 0, r = a.width; h < r; ) h++, (m = c.b[q++]), (k = c.b[q++]), (p = c.b[q++]), (n = c.b[q++]), (g.b[l++] = n & 255), (g.b[l++] = p & 255), (g.b[l++] = k & 255), (g.b[l++] = m & 255), (f.b[u++] = 0); g.blit(l, f, 0, a.width * a.height); } return g; }; var Wh = (N['lime._internal.format.BMPType'] = { __ename__: 'lime._internal.format.BMPType', __constructs__: null, RGB: { _hx_name: 'RGB', _hx_index: 0, __enum__: 'lime._internal.format.BMPType', toString: x }, BITFIELD: { _hx_name: 'BITFIELD', _hx_index: 1, __enum__: 'lime._internal.format.BMPType', toString: x }, ICO: { _hx_name: 'ICO', _hx_index: 2, __enum__: 'lime._internal.format.BMPType', toString: x } }); Wh.__constructs__ = [Wh.RGB, Wh.BITFIELD, Wh.ICO]; var Pf = function () {}; k['lime._internal.format.Base64'] = Pf; Pf.__name__ = 'lime._internal.format.Base64'; Pf.decode = function (a) { return yh.decode(a); }; Pf.encode = function (a) { var b = [], d = Pf.DICTIONARY, c = Pf.EXTENDED_DICTIONARY, f = a.length, g = Math.floor(f / 3), l = 2 * g; b.length = 2 * Math.ceil(f / 3); for (var q = 0, h = 0, r; h < l; ) (r = (a.b[q] << 16) | (a.b[q + 1] << 8) | a.b[q + 2]), (b[h] = c[(r >> 12) & 4095]), (b[h + 1] = c[r & 4095]), (q += 3), (h += 2); switch (f - 3 * g) { case 1: r = a.b[q] << 16; b[h] = c[(r >> 12) & 4095]; b[h + 1] = '=='; break; case 2: (r = (a.b[q] << 16) | (a.b[q + 1] << 8)), (b[h] = c[(r >> 12) & 4095]), (b[h + 1] = d[(r >> 6) & 63] + '='); } return b.join(''); }; var hm = function () {}; k['lime._internal.format.Deflate'] = hm; hm.__name__ = 'lime._internal.format.Deflate'; hm.compress = function (a) { a = pako.deflateRaw(a.b.bufferValue); return fb.ofData(a); }; hm.decompress = function (a) { a = pako.inflateRaw(a.b.bufferValue); return fb.ofData(a); }; var im = function () {}; k['lime._internal.format.GZip'] = im; im.__name__ = 'lime._internal.format.GZip'; im.compress = function (a) { a = pako.gzip(a.b.bufferValue); return fb.ofData(a); }; im.decompress = function (a) { a = pako.ungzip(a.b.bufferValue); return fb.ofData(a); }; var jm = function () {}; k['lime._internal.format.JPEG'] = jm; jm.__name__ = 'lime._internal.format.JPEG'; jm.decodeBytes = function (a, b) { return null; }; jm.decodeFile = function (a, b) { return null; }; jm.encode = function (a, b) { if (a.get_premultiplied() || 0 != a.get_format()) (a = a.clone()), a.set_premultiplied(!1), a.set_format(0); za.convertToCanvas(a, !1); if (null != a.buffer.__srcCanvas) { a = a.buffer.__srcCanvas.toDataURL('image/jpeg', b / 100); a = window.atob(a.split(';base64,')[1]); b = new fb(new ArrayBuffer(a.length)); for (var d = 0, c = a.length; d < c; ) { var f = d++; b.b[f] = C.cca(a, f) & 255; } return b; } return null; }; var km = function () {}; k['lime._internal.format.LZMA'] = km; km.__name__ = 'lime._internal.format.LZMA'; km.compress = function (a) { return null; }; km.decompress = function (a) { return null; }; var Nj = function () {}; k['lime._internal.format.PNG'] = Nj; Nj.__name__ = 'lime._internal.format-2.html'; Nj.decodeBytes = function (a, b) { return null; }; Nj.decodeFile = function (a, b) { return null; }; Nj.encode = function (a) { if (a.get_premultiplied() || 0 != a.get_format()) (a = a.clone()), a.set_premultiplied(!1), a.set_format(0); za.convertToCanvas(a, !1); if (null != a.buffer.__srcCanvas) { a = a.buffer.__srcCanvas.toDataURL('image/png'); a = window.atob(a.split(';base64,')[1]); for (var b = new fb(new ArrayBuffer(a.length)), d = 0, c = a.length; d < c; ) { var f = d++; b.b[f] = C.cca(a, f) & 255; } return b; } return null; }; var lm = function () {}; k['lime._internal.format.Zlib'] = lm; lm.__name__ = 'lime._internal.format.Zlib'; lm.compress = function (a) { a = pako.deflate(a.b.bufferValue); return fb.ofData(a); }; lm.decompress = function (a) { a = pako.inflate(a.b.bufferValue); return fb.ofData(a); }; var za = function () {}; k['lime._internal.graphics.ImageCanvasUtil'] = za; za.__name__ = 'lime._internal.graphics.ImageCanvasUtil'; za.colorTransform = function (a, b, d) { za.convertToData(a); bb.colorTransform(a, b, d); }; za.convertToCanvas = function (a, b) { null == b && (b = !1); var d = a.buffer; null != d.__srcImage ? (null == d.__srcCanvas && (za.createCanvas(a, d.__srcImage.width, d.__srcImage.height), d.__srcContext.drawImage(d.__srcImage, 0, 0)), (d.__srcImage = null)) : null == d.__srcCanvas && null != d.data ? (a.set_transparent(!0), za.createCanvas(a, d.width, d.height), za.createImageData(a), d.__srcContext.putImageData(d.__srcImageData, 0, 0)) : a.type == ve.DATA && null != d.__srcImageData && a.dirty && (d.__srcContext.putImageData(d.__srcImageData, 0, 0), (a.dirty = !1)); b ? ((d.data = null), (d.__srcImageData = null)) : null == d.data && null != d.__srcImageData && (d.data = d.__srcImageData.data); a.type = ve.CANVAS; }; za.convertToData = function (a, b) { null == b && (b = !1); var d = a.buffer; null != d.__srcImage && za.convertToCanvas(a); if (null != d.__srcCanvas && null == d.data) za.createImageData(a), a.type == ve.CANVAS && (a.dirty = !1); else if (a.type == ve.CANVAS && null != d.__srcCanvas && a.dirty) { if (null == d.__srcImageData) za.createImageData(a); else { d.__srcImageData = d.__srcContext.getImageData(0, 0, d.width, d.height); var c = d.__srcImageData.data.buffer; c = null != c ? new Uint8Array(c) : null; d.data = c; } a.dirty = !1; } b && ((a.buffer.__srcCanvas = null), (a.buffer.__srcContext = null)); a.type = ve.DATA; }; za.copyChannel = function (a, b, d, c, f, g) { za.convertToData(b); za.convertToData(a); bb.copyChannel(a, b, d, c, f, g); }; za.copyPixels = function (a, b, d, c, f, g, l) { null == l && (l = !1); null == c || c.x >= a.width || c.y >= a.height || null == d || 1 > d.width || 1 > d.height || (null != f && f.get_transparent() && (null == g && (g = new Xd()), (b = b.clone()), b.copyChannel( f, new Qd(d.x + g.x, d.y + g.y, d.width, d.height), new Xd(d.x, d.y), kf.ALPHA, kf.ALPHA )), za.convertToCanvas(a, !0), l || (a.get_transparent() && b.get_transparent() && a.buffer.__srcContext.clearRect( c.x + a.offsetX, c.y + a.offsetY, d.width + a.offsetX, d.height + a.offsetY )), za.convertToCanvas(b), null != b.buffer.get_src() && ((a.buffer.__srcContext.globalCompositeOperation = 'source-over'), a.buffer.__srcContext.drawImage( b.buffer.get_src(), (d.x + b.offsetX) | 0, (d.y + b.offsetY) | 0, d.width | 0, d.height | 0, (c.x + a.offsetX) | 0, (c.y + a.offsetY) | 0, d.width | 0, d.height | 0 )), (a.dirty = !0), a.version++); }; za.createCanvas = function (a, b, d) { var c = a.buffer; null == c.__srcCanvas && ((c.__srcCanvas = window.document.createElement('canvas')), (c.__srcCanvas.width = b), (c.__srcCanvas.height = d), a.get_transparent() ? (c.__srcContext = c.__srcCanvas.getContext('2d')) : (a.get_transparent() || c.__srcCanvas.setAttribute('moz-opaque', 'true'), (c.__srcContext = c.__srcCanvas.getContext('2d', { alpha: !1 })))); }; za.createImageData = function (a) { a = a.buffer; if (null == a.__srcImageData) { null == a.data ? (a.__srcImageData = a.__srcContext.getImageData(0, 0, a.width, a.height)) : ((a.__srcImageData = a.__srcContext.createImageData(a.width, a.height)), a.__srcImageData.data.set(a.data)); var b = a.__srcImageData.data.buffer; b = null != b ? new Uint8Array(b) : null; a.data = b; } }; za.fillRect = function (a, b, d, c) { za.convertToCanvas(a); if (1 == c) { c = (d >> 16) & 255; var e = (d >> 8) & 255; var g = d & 255; d = a.get_transparent() ? (d >> 24) & 255 : 255; } else (c = (d >> 24) & 255), (e = (d >> 16) & 255), (g = (d >> 8) & 255), (d = a.get_transparent() ? d & 255 : 255); 0 == b.x && 0 == b.y && b.width == a.width && b.height == a.height && a.get_transparent() && 0 == d ? (a.buffer.__srcCanvas.width = a.buffer.width) : (255 > d && a.buffer.__srcContext.clearRect( b.x + a.offsetX, b.y + a.offsetY, b.width + a.offsetX, b.height + a.offsetY ), 0 < d && ((a.buffer.__srcContext.fillStyle = 'rgba(' + c + ', ' + e + ', ' + g + ', ' + d / 255 + ')'), a.buffer.__srcContext.fillRect( b.x + a.offsetX, b.y + a.offsetY, b.width + a.offsetX, b.height + a.offsetY )), (a.dirty = !0), a.version++); }; za.floodFill = function (a, b, d, c, f) { za.convertToData(a); bb.floodFill(a, b, d, c, f); }; za.getPixel = function (a, b, d, c) { za.convertToData(a); return bb.getPixel(a, b, d, c); }; za.getPixel32 = function (a, b, d, c) { za.convertToData(a); return bb.getPixel32(a, b, d, c); }; za.getPixels = function (a, b, d) { za.convertToData(a); return bb.getPixels(a, b, d); }; za.merge = function (a, b, d, c, f, g, l, q) { za.convertToData(b); za.convertToData(a); bb.merge(a, b, d, c, f, g, l, q); }; za.resize = function (a, b, d) { var c = a.buffer; if (null == c.__srcCanvas) za.createCanvas(a, b, d), c.__srcContext.drawImage(c.get_src(), 0, 0, b, d); else { za.convertToCanvas(a, !0); var f = c.__srcCanvas; c.__srcCanvas = null; za.createCanvas(a, b, d); c.__srcContext.drawImage(f, 0, 0, b, d); } c.__srcImageData = null; c.data = null; a.dirty = !0; a.version++; }; za.scroll = function (a, b, d) { if (0 != b % a.width || 0 != d % a.height) { var c = a.clone(); za.convertToCanvas(a, !0); a.buffer.__srcContext.clearRect(b, d, a.width, a.height); a.buffer.__srcContext.drawImage(c.get_src(), b, d); a.dirty = !0; a.version++; } }; za.setPixel = function (a, b, d, c, f) { za.convertToData(a); bb.setPixel(a, b, d, c, f); }; za.setPixel32 = function (a, b, d, c, f) { za.convertToData(a); bb.setPixel32(a, b, d, c, f); }; za.setPixels = function (a, b, d, c, f) { za.convertToData(a); bb.setPixels(a, b, d, c, f); }; za.sync = function (a, b) { null != a && (a.type != ve.CANVAS || (null == a.buffer.__srcCanvas && null == a.buffer.data) ? a.type == ve.DATA && za.convertToData(a, b) : za.convertToCanvas(a, b)); }; var bb = function () {}; k['lime._internal.graphics.ImageDataUtil'] = bb; bb.__name__ = 'lime._internal.graphics.ImageDataUtil'; bb.displaceMap = function (a, b, d, c, f, g, l) { var e = a.buffer.data, h = b.buffer.data, r = d.buffer.data, k = a.buffer.format, p = b.buffer.format, n = d.buffer.format, u = a.get_premultiplied(), m = b.get_premultiplied(), t = d.get_premultiplied(); b = new He(b); d = new He(d); for ( var x, w, v = 0, G = 0, N, B, H, D = 0, z = 0, ya = 0, C = 0, E, I = 0, L = b.height; I < L; ) { var J = I++; x = b.byteOffset + b.stride * J; for (var M = 0, A = b.width; M < A; ) { var F = M++; w = x + 4 * F; H = c.x | 0; N = c.y | 0; if (l) { G = b.byteOffset + b.stride * (J - N + 1) + 4 * (F - H); B = n; E = t; null == E && (E = !1); null == B && (B = 0); switch (B) { case 0: D = ((r[G] & 255) << 24) | ((r[G + 1] & 255) << 16) | ((r[G + 2] & 255) << 8) | (r[G + 3] & 255); break; case 1: D = ((r[G + 1] & 255) << 24) | ((r[G + 2] & 255) << 16) | ((r[G + 3] & 255) << 8) | (r[G] & 255); break; case 2: D = ((r[G + 2] & 255) << 24) | ((r[G + 1] & 255) << 16) | ((r[G] & 255) << 8) | (r[G + 3] & 255); } E && 0 != (D & 255) && 255 != (D & 255) && ((O.unmult = 255 / (D & 255)), (D = ((O.__clamp[Math.round(((D >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((D >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((D >>> 8) & 255) * O.unmult)] & 255) << 8) | (D & 255))); G = b.byteOffset + b.stride * (J - N) + 4 * (F - H + 1); B = n; E = t; null == E && (E = !1); null == B && (B = 0); switch (B) { case 0: z = ((r[G] & 255) << 24) | ((r[G + 1] & 255) << 16) | ((r[G + 2] & 255) << 8) | (r[G + 3] & 255); break; case 1: z = ((r[G + 1] & 255) << 24) | ((r[G + 2] & 255) << 16) | ((r[G + 3] & 255) << 8) | (r[G] & 255); break; case 2: z = ((r[G + 2] & 255) << 24) | ((r[G + 1] & 255) << 16) | ((r[G] & 255) << 8) | (r[G + 3] & 255); } E && 0 != (z & 255) && 255 != (z & 255) && ((O.unmult = 255 / (z & 255)), (z = ((O.__clamp[Math.round(((z >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((z >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((z >>> 8) & 255) * O.unmult)] & 255) << 8) | (z & 255))); G = b.byteOffset + b.stride * (J - N + 1) + 4 * (F - H + 1); B = n; E = t; null == E && (E = !1); null == B && (B = 0); switch (B) { case 0: ya = ((r[G] & 255) << 24) | ((r[G + 1] & 255) << 16) | ((r[G + 2] & 255) << 8) | (r[G + 3] & 255); break; case 1: ya = ((r[G + 1] & 255) << 24) | ((r[G + 2] & 255) << 16) | ((r[G + 3] & 255) << 8) | (r[G] & 255); break; case 2: ya = ((r[G + 2] & 255) << 24) | ((r[G + 1] & 255) << 16) | ((r[G] & 255) << 8) | (r[G + 3] & 255); } E && 0 != (ya & 255) && 255 != (ya & 255) && ((O.unmult = 255 / (ya & 255)), (ya = ((O.__clamp[Math.round(((ya >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((ya >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((ya >>> 8) & 255) * O.unmult)] & 255) << 8) | (ya & 255))); G = b.byteOffset + b.stride * (J - N) + 4 * (F - H); B = n; E = t; null == E && (E = !1); null == B && (B = 0); switch (B) { case 0: C = ((r[G] & 255) << 24) | ((r[G + 1] & 255) << 16) | ((r[G + 2] & 255) << 8) | (r[G + 3] & 255); break; case 1: C = ((r[G + 1] & 255) << 24) | ((r[G + 2] & 255) << 16) | ((r[G + 3] & 255) << 8) | (r[G] & 255); break; case 2: C = ((r[G + 2] & 255) << 24) | ((r[G + 1] & 255) << 16) | ((r[G] & 255) << 8) | (r[G + 3] & 255); } E && 0 != (C & 255) && 255 != (C & 255) && ((O.unmult = 255 / (C & 255)), (C = ((O.__clamp[Math.round(((C >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((C >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((C >>> 8) & 255) * O.unmult)] & 255) << 8) | (C & 255))); G = bb.bilinear(D, z, ya, C, c.x - H, c.y - N); } else { H = d.byteOffset + d.stride * (J - N) + 4 * (F - H); N = n; B = t; null == B && (B = !1); null == N && (N = 0); switch (N) { case 0: G = ((r[H] & 255) << 24) | ((r[H + 1] & 255) << 16) | ((r[H + 2] & 255) << 8) | (r[H + 3] & 255); break; case 1: G = ((r[H + 1] & 255) << 24) | ((r[H + 2] & 255) << 16) | ((r[H + 3] & 255) << 8) | (r[H] & 255); break; case 2: G = ((r[H + 2] & 255) << 24) | ((r[H + 1] & 255) << 16) | ((r[H] & 255) << 8) | (r[H + 3] & 255); } B && 0 != (G & 255) && 255 != (G & 255) && ((O.unmult = 255 / (G & 255)), (G = ((O.__clamp[Math.round(((G >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((G >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((G >>> 8) & 255) * O.unmult)] & 255) << 8) | (G & 255))); } H = (G & 255) / 255; N = ((((G >>> 24) & 255) - 128) / 255) * H; B = ((((G >>> 16) & 255) - 128) / 255) * H; H = N * f.x + B * g.x; E = N * f.y + B * g.y; N = Math.floor(H * b.width); B = Math.floor(E * b.height); if (l) { v = b.byteOffset + b.stride * (J + B + 1) + 4 * (F + N); var T = p, P = m; null == P && (P = !1); null == T && (T = 0); switch (T) { case 0: D = ((h[v] & 255) << 24) | ((h[v + 1] & 255) << 16) | ((h[v + 2] & 255) << 8) | (h[v + 3] & 255); break; case 1: D = ((h[v + 1] & 255) << 24) | ((h[v + 2] & 255) << 16) | ((h[v + 3] & 255) << 8) | (h[v] & 255); break; case 2: D = ((h[v + 2] & 255) << 24) | ((h[v + 1] & 255) << 16) | ((h[v] & 255) << 8) | (h[v + 3] & 255); } P && 0 != (D & 255) && 255 != (D & 255) && ((O.unmult = 255 / (D & 255)), (D = ((O.__clamp[Math.round(((D >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((D >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((D >>> 8) & 255) * O.unmult)] & 255) << 8) | (D & 255))); v = b.byteOffset + b.stride * (J + B) + 4 * (F + N + 1); T = p; P = m; null == P && (P = !1); null == T && (T = 0); switch (T) { case 0: z = ((h[v] & 255) << 24) | ((h[v + 1] & 255) << 16) | ((h[v + 2] & 255) << 8) | (h[v + 3] & 255); break; case 1: z = ((h[v + 1] & 255) << 24) | ((h[v + 2] & 255) << 16) | ((h[v + 3] & 255) << 8) | (h[v] & 255); break; case 2: z = ((h[v + 2] & 255) << 24) | ((h[v + 1] & 255) << 16) | ((h[v] & 255) << 8) | (h[v + 3] & 255); } P && 0 != (z & 255) && 255 != (z & 255) && ((O.unmult = 255 / (z & 255)), (z = ((O.__clamp[Math.round(((z >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((z >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((z >>> 8) & 255) * O.unmult)] & 255) << 8) | (z & 255))); v = b.byteOffset + b.stride * (J + B + 1) + 4 * (F + N + 1); T = p; P = m; null == P && (P = !1); null == T && (T = 0); switch (T) { case 0: ya = ((h[v] & 255) << 24) | ((h[v + 1] & 255) << 16) | ((h[v + 2] & 255) << 8) | (h[v + 3] & 255); break; case 1: ya = ((h[v + 1] & 255) << 24) | ((h[v + 2] & 255) << 16) | ((h[v + 3] & 255) << 8) | (h[v] & 255); break; case 2: ya = ((h[v + 2] & 255) << 24) | ((h[v + 1] & 255) << 16) | ((h[v] & 255) << 8) | (h[v + 3] & 255); } P && 0 != (ya & 255) && 255 != (ya & 255) && ((O.unmult = 255 / (ya & 255)), (ya = ((O.__clamp[Math.round(((ya >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((ya >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((ya >>> 8) & 255) * O.unmult)] & 255) << 8) | (ya & 255))); F = b.byteOffset + b.stride * (J + B) + 4 * (F + N); v = p; T = m; null == T && (T = !1); null == v && (v = 0); switch (v) { case 0: C = ((h[F] & 255) << 24) | ((h[F + 1] & 255) << 16) | ((h[F + 2] & 255) << 8) | (h[F + 3] & 255); break; case 1: C = ((h[F + 1] & 255) << 24) | ((h[F + 2] & 255) << 16) | ((h[F + 3] & 255) << 8) | (h[F] & 255); break; case 2: C = ((h[F + 2] & 255) << 24) | ((h[F + 1] & 255) << 16) | ((h[F] & 255) << 8) | (h[F + 3] & 255); } T && 0 != (C & 255) && 255 != (C & 255) && ((O.unmult = 255 / (C & 255)), (C = ((O.__clamp[Math.round(((C >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((C >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((C >>> 8) & 255) * O.unmult)] & 255) << 8) | (C & 255))); v = bb.bilinear(D, z, ya, C, H * b.width - N, E * b.height - B); } else { F = b.byteOffset + b.stride * (J + B) + 4 * (F + N); H = p; N = m; null == N && (N = !1); null == H && (H = 0); switch (H) { case 0: v = ((h[F] & 255) << 24) | ((h[F + 1] & 255) << 16) | ((h[F + 2] & 255) << 8) | (h[F + 3] & 255); break; case 1: v = ((h[F + 1] & 255) << 24) | ((h[F + 2] & 255) << 16) | ((h[F + 3] & 255) << 8) | (h[F] & 255); break; case 2: v = ((h[F + 2] & 255) << 24) | ((h[F + 1] & 255) << 16) | ((h[F] & 255) << 8) | (h[F + 3] & 255); } N && 0 != (v & 255) && 255 != (v & 255) && ((O.unmult = 255 / (v & 255)), (v = ((O.__clamp[Math.round(((v >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((v >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((v >>> 8) & 255) * O.unmult)] & 255) << 8) | (v & 255))); } F = k; H = u; null == H && (H = !1); null == F && (F = 0); H && (0 == (v & 255) ? 0 != v && (v = 0) : 255 != (v & 255) && ((O.a16 = O.__alpha16[v & 255]), (v = ((((((v >>> 24) & 255) * O.a16) >> 16) & 255) << 24) | ((((((v >>> 16) & 255) * O.a16) >> 16) & 255) << 16) | ((((((v >>> 8) & 255) * O.a16) >> 16) & 255) << 8) | (v & 255)))); switch (F) { case 0: e[w] = (v >>> 24) & 255; e[w + 1] = (v >>> 16) & 255; e[w + 2] = (v >>> 8) & 255; e[w + 3] = v & 255; break; case 1: e[w] = v & 255; e[w + 1] = (v >>> 24) & 255; e[w + 2] = (v >>> 16) & 255; e[w + 3] = (v >>> 8) & 255; break; case 2: (e[w] = (v >>> 8) & 255), (e[w + 1] = (v >>> 16) & 255), (e[w + 2] = (v >>> 24) & 255), (e[w + 3] = v & 255); } } } a.dirty = !0; a.version++; }; bb.bilinear = function (a, b, d, c, f, g) { return bb.lerpRGBA(bb.lerpRGBA(c, b, f), bb.lerpRGBA(a, d, f), g); }; bb.lerpRGBA = function (a, b, d) { var c = 0, f = Math.floor(bb.lerp((a >>> 24) & 255, (b >>> 24) & 255, d)); c = ((f & 255) << 24) | (((c >>> 16) & 255) << 16) | (((c >>> 8) & 255) << 8) | (c & 255); f = Math.floor(bb.lerp((a >>> 16) & 255, (b >>> 16) & 255, d)); c = (((c >>> 24) & 255) << 24) | ((f & 255) << 16) | (((c >>> 8) & 255) << 8) | (c & 255); f = Math.floor(bb.lerp((a >>> 8) & 255, (b >>> 8) & 255, d)); c = (((c >>> 24) & 255) << 24) | (((c >>> 16) & 255) << 16) | ((f & 255) << 8) | (c & 255); f = Math.floor(bb.lerp(a & 255, b & 255, d)); return ( (((c >>> 24) & 255) << 24) | (((c >>> 16) & 255) << 16) | (((c >>> 8) & 255) << 8) | (f & 255) ); }; bb.lerp4f = function (a, b, d) { return new Bc( bb.lerp(a.x, b.x, d), bb.lerp(a.y, b.y, d), bb.lerp(a.z, b.z, d), bb.lerp(a.w, b.w, d) ); }; bb.lerp = function (a, b, d) { return (1 - d) * a + d * b; }; bb.colorTransform = function (a, b, d) { var c = a.buffer.data; if (null != c) { var f = a.buffer.format, g = a.buffer.premultiplied; b = new He(a, b); var l = Kd.getAlphaTable(d), q = Kd.getRedTable(d), h = Kd.getGreenTable(d); d = Kd.getBlueTable(d); for (var r, k, p = 0, n = 0, u = b.height; n < u; ) { r = n++; r = b.byteOffset + b.stride * r; for (var m = 0, t = b.width; m < t; ) { k = m++; k = r + 4 * k; var x = f, v = g; null == v && (v = !1); null == x && (x = 0); switch (x) { case 0: p = ((c[k] & 255) << 24) | ((c[k + 1] & 255) << 16) | ((c[k + 2] & 255) << 8) | (c[k + 3] & 255); break; case 1: p = ((c[k + 1] & 255) << 24) | ((c[k + 2] & 255) << 16) | ((c[k + 3] & 255) << 8) | (c[k] & 255); break; case 2: p = ((c[k + 2] & 255) << 24) | ((c[k + 1] & 255) << 16) | ((c[k] & 255) << 8) | (c[k + 3] & 255); } v && 0 != (p & 255) && 255 != (p & 255) && ((O.unmult = 255 / (p & 255)), (p = ((O.__clamp[Math.round(((p >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((p >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((p >>> 8) & 255) * O.unmult)] & 255) << 8) | (p & 255))); p = ((q[(p >>> 24) & 255] & 255) << 24) | ((h[(p >>> 16) & 255] & 255) << 16) | ((d[(p >>> 8) & 255] & 255) << 8) | (l[p & 255] & 255); x = f; v = g; null == v && (v = !1); null == x && (x = 0); v && (0 == (p & 255) ? 0 != p && (p = 0) : 255 != (p & 255) && ((O.a16 = O.__alpha16[p & 255]), (p = ((((((p >>> 24) & 255) * O.a16) >> 16) & 255) << 24) | ((((((p >>> 16) & 255) * O.a16) >> 16) & 255) << 16) | ((((((p >>> 8) & 255) * O.a16) >> 16) & 255) << 8) | (p & 255)))); switch (x) { case 0: c[k] = (p >>> 24) & 255; c[k + 1] = (p >>> 16) & 255; c[k + 2] = (p >>> 8) & 255; c[k + 3] = p & 255; break; case 1: c[k] = p & 255; c[k + 1] = (p >>> 24) & 255; c[k + 2] = (p >>> 16) & 255; c[k + 3] = (p >>> 8) & 255; break; case 2: (c[k] = (p >>> 8) & 255), (c[k + 1] = (p >>> 16) & 255), (c[k + 2] = (p >>> 24) & 255), (c[k + 3] = p & 255); } } } a.dirty = !0; a.version++; } }; bb.copyChannel = function (a, b, d, c, f, g) { switch (g._hx_index) { case 0: var e = 0; break; case 1: e = 1; break; case 2: e = 2; break; case 3: e = 3; } switch (f._hx_index) { case 0: var q = 0; break; case 1: q = 1; break; case 2: q = 2; break; case 3: q = 3; } f = b.buffer.data; g = a.buffer.data; if (null != f && null != g) { d = new He(b, d); c = new He(a, new Qd(c.x, c.y, d.width, d.height)); var h = b.buffer.format, r = a.buffer.format; b = b.buffer.premultiplied; for ( var k = a.buffer.premultiplied, p, n, u = 0, m = 0, t = 0, x = 0, v = c.height; x < v; ) { n = x++; p = d.byteOffset + d.stride * n; n = c.byteOffset + c.stride * n; for (var w = 0, G = c.width; w < G; ) { w++; var N = h, B = b; null == B && (B = !1); null == N && (N = 0); switch (N) { case 0: u = ((f[p] & 255) << 24) | ((f[p + 1] & 255) << 16) | ((f[p + 2] & 255) << 8) | (f[p + 3] & 255); break; case 1: u = ((f[p + 1] & 255) << 24) | ((f[p + 2] & 255) << 16) | ((f[p + 3] & 255) << 8) | (f[p] & 255); break; case 2: u = ((f[p + 2] & 255) << 24) | ((f[p + 1] & 255) << 16) | ((f[p] & 255) << 8) | (f[p + 3] & 255); } B && 0 != (u & 255) && 255 != (u & 255) && ((O.unmult = 255 / (u & 255)), (u = ((O.__clamp[Math.round(((u >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((u >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((u >>> 8) & 255) * O.unmult)] & 255) << 8) | (u & 255))); N = r; B = k; null == B && (B = !1); null == N && (N = 0); switch (N) { case 0: m = ((g[n] & 255) << 24) | ((g[n + 1] & 255) << 16) | ((g[n + 2] & 255) << 8) | (g[n + 3] & 255); break; case 1: m = ((g[n + 1] & 255) << 24) | ((g[n + 2] & 255) << 16) | ((g[n + 3] & 255) << 8) | (g[n] & 255); break; case 2: m = ((g[n + 2] & 255) << 24) | ((g[n + 1] & 255) << 16) | ((g[n] & 255) << 8) | (g[n + 3] & 255); } B && 0 != (m & 255) && 255 != (m & 255) && ((O.unmult = 255 / (m & 255)), (m = ((O.__clamp[Math.round(((m >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((m >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((m >>> 8) & 255) * O.unmult)] & 255) << 8) | (m & 255))); switch (q) { case 0: t = (u >>> 24) & 255; break; case 1: t = (u >>> 16) & 255; break; case 2: t = (u >>> 8) & 255; break; case 3: t = u & 255; } switch (e) { case 0: m = ((t & 255) << 24) | (((m >>> 16) & 255) << 16) | (((m >>> 8) & 255) << 8) | (m & 255); break; case 1: m = (((m >>> 24) & 255) << 24) | ((t & 255) << 16) | (((m >>> 8) & 255) << 8) | (m & 255); break; case 2: m = (((m >>> 24) & 255) << 24) | (((m >>> 16) & 255) << 16) | ((t & 255) << 8) | (m & 255); break; case 3: m = (((m >>> 24) & 255) << 24) | (((m >>> 16) & 255) << 16) | (((m >>> 8) & 255) << 8) | (t & 255); } N = r; B = k; null == B && (B = !1); null == N && (N = 0); B && (0 == (m & 255) ? 0 != m && (m = 0) : 255 != (m & 255) && ((O.a16 = O.__alpha16[m & 255]), (m = ((((((m >>> 24) & 255) * O.a16) >> 16) & 255) << 24) | ((((((m >>> 16) & 255) * O.a16) >> 16) & 255) << 16) | ((((((m >>> 8) & 255) * O.a16) >> 16) & 255) << 8) | (m & 255)))); switch (N) { case 0: g[n] = (m >>> 24) & 255; g[n + 1] = (m >>> 16) & 255; g[n + 2] = (m >>> 8) & 255; g[n + 3] = m & 255; break; case 1: g[n] = m & 255; g[n + 1] = (m >>> 24) & 255; g[n + 2] = (m >>> 16) & 255; g[n + 3] = (m >>> 8) & 255; break; case 2: (g[n] = (m >>> 8) & 255), (g[n + 1] = (m >>> 16) & 255), (g[n + 2] = (m >>> 24) & 255), (g[n + 3] = m & 255); } p += 4; n += 4; } } a.dirty = !0; a.version++; } }; bb.copyPixels = function (a, b, d, c, f, g, l) { null == l && (l = !1); if ( a.width == b.width && a.height == b.height && d.width == b.width && d.height == b.height && 0 == d.x && 0 == d.y && 0 == c.x && 0 == c.y && null == f && null == g && 0 == l && a.get_format() == b.get_format() ) a.buffer.data.set(b.buffer.data); else { var e = b.buffer.data, h = a.buffer.data; if (null == e || null == h) return; d = new He(b, d); var r = new Qd(c.x, c.y, d.width, d.height); r = new He(a, r); var k = b.buffer.format, p = a.buffer.format, n = 0, u = 0, m = b.buffer.premultiplied, t = a.buffer.premultiplied, x = (b.buffer.bitsPerPixel / 8) | 0, v = (a.buffer.bitsPerPixel / 8) | 0, w = null != f && f.get_transparent(), G = l || (w && !a.get_transparent()) || (!l && !a.get_transparent() && b.get_transparent()); if (w) if ( ((v = f.buffer.data), (b = f.buffer.format), (l = 0), (f = new He( f, new Qd(d.x + (null == g ? 0 : g.x), d.y + (null == g ? 0 : g.y), d.width, d.height) )), r.clip(c.x | 0, c.y | 0, f.width, f.height), G) ) for (G = 0, x = r.height; G < x; ) for ( w = G++, c = d.byteOffset + d.stride * w, g = r.byteOffset + r.stride * w, w = f.byteOffset + f.stride * w, z = 0, ya = r.width; z < ya; ) { z++; var N = k; var B = m; null == B && (B = !1); null == N && (N = 0); switch (N) { case 0: n = ((e[c] & 255) << 24) | ((e[c + 1] & 255) << 16) | ((e[c + 2] & 255) << 8) | (e[c + 3] & 255); break; case 1: n = ((e[c + 1] & 255) << 24) | ((e[c + 2] & 255) << 16) | ((e[c + 3] & 255) << 8) | (e[c] & 255); break; case 2: n = ((e[c + 2] & 255) << 24) | ((e[c + 1] & 255) << 16) | ((e[c] & 255) << 8) | (e[c + 3] & 255); } B && 0 != (n & 255) && 255 != (n & 255) && ((O.unmult = 255 / (n & 255)), (n = ((O.__clamp[Math.round(((n >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((n >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((n >>> 8) & 255) * O.unmult)] & 255) << 8) | (n & 255))); N = p; B = t; null == B && (B = !1); null == N && (N = 0); switch (N) { case 0: u = ((h[g] & 255) << 24) | ((h[g + 1] & 255) << 16) | ((h[g + 2] & 255) << 8) | (h[g + 3] & 255); break; case 1: u = ((h[g + 1] & 255) << 24) | ((h[g + 2] & 255) << 16) | ((h[g + 3] & 255) << 8) | (h[g] & 255); break; case 2: u = ((h[g + 2] & 255) << 24) | ((h[g + 1] & 255) << 16) | ((h[g] & 255) << 8) | (h[g + 3] & 255); } B && 0 != (u & 255) && 255 != (u & 255) && ((O.unmult = 255 / (u & 255)), (u = ((O.__clamp[Math.round(((u >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((u >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((u >>> 8) & 255) * O.unmult)] & 255) << 8) | (u & 255))); N = b; B = !1; null == B && (B = !1); null == N && (N = 0); switch (N) { case 0: l = ((v[w] & 255) << 24) | ((v[w + 1] & 255) << 16) | ((v[w + 2] & 255) << 8) | (v[w + 3] & 255); break; case 1: l = ((v[w + 1] & 255) << 24) | ((v[w + 2] & 255) << 16) | ((v[w + 3] & 255) << 8) | (v[w] & 255); break; case 2: l = ((v[w + 2] & 255) << 24) | ((v[w + 1] & 255) << 16) | ((v[w] & 255) << 8) | (v[w + 3] & 255); } B && 0 != (l & 255) && 255 != (l & 255) && ((O.unmult = 255 / (l & 255)), (l = ((O.__clamp[Math.round(((l >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((l >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((l >>> 8) & 255) * O.unmult)] & 255) << 8) | (l & 255))); B = ((l & 255) / 255) * ((n & 255) / 255); if (0 < B) { var H = (u & 255) / 255; var D = 1 - B; N = B + H * D; C = O.__clamp[ Math.round((((n >>> 24) & 255) * B + ((u >>> 24) & 255) * H * D) / N) ]; u = ((C & 255) << 24) | (((u >>> 16) & 255) << 16) | (((u >>> 8) & 255) << 8) | (u & 255); C = O.__clamp[ Math.round((((n >>> 16) & 255) * B + ((u >>> 16) & 255) * H * D) / N) ]; u = (((u >>> 24) & 255) << 24) | ((C & 255) << 16) | (((u >>> 8) & 255) << 8) | (u & 255); B = O.__clamp[ Math.round((((n >>> 8) & 255) * B + ((u >>> 8) & 255) * H * D) / N) ]; u = (((u >>> 24) & 255) << 24) | (((u >>> 16) & 255) << 16) | ((B & 255) << 8) | (u & 255); N = O.__clamp[Math.round(255 * N)]; u = (((u >>> 24) & 255) << 24) | (((u >>> 16) & 255) << 16) | (((u >>> 8) & 255) << 8) | (N & 255); N = p; B = t; null == B && (B = !1); null == N && (N = 0); B && (0 == (u & 255) ? 0 != u && (u = 0) : 255 != (u & 255) && ((O.a16 = O.__alpha16[u & 255]), (u = ((((((u >>> 24) & 255) * O.a16) >> 16) & 255) << 24) | ((((((u >>> 16) & 255) * O.a16) >> 16) & 255) << 16) | ((((((u >>> 8) & 255) * O.a16) >> 16) & 255) << 8) | (u & 255)))); switch (N) { case 0: h[g] = (u >>> 24) & 255; h[g + 1] = (u >>> 16) & 255; h[g + 2] = (u >>> 8) & 255; h[g + 3] = u & 255; break; case 1: h[g] = u & 255; h[g + 1] = (u >>> 24) & 255; h[g + 2] = (u >>> 16) & 255; h[g + 3] = (u >>> 8) & 255; break; case 2: (h[g] = (u >>> 8) & 255), (h[g + 1] = (u >>> 16) & 255), (h[g + 2] = (u >>> 24) & 255), (h[g + 3] = u & 255); } } c += 4; g += 4; w += 4; } else for (G = 0, x = r.height; G < x; ) for ( w = G++, c = d.byteOffset + d.stride * w, g = r.byteOffset + r.stride * w, w = f.byteOffset + f.stride * w, z = 0, ya = r.width; z < ya; ) { z++; N = k; B = m; null == B && (B = !1); null == N && (N = 0); switch (N) { case 0: n = ((e[c] & 255) << 24) | ((e[c + 1] & 255) << 16) | ((e[c + 2] & 255) << 8) | (e[c + 3] & 255); break; case 1: n = ((e[c + 1] & 255) << 24) | ((e[c + 2] & 255) << 16) | ((e[c + 3] & 255) << 8) | (e[c] & 255); break; case 2: n = ((e[c + 2] & 255) << 24) | ((e[c + 1] & 255) << 16) | ((e[c] & 255) << 8) | (e[c + 3] & 255); } B && 0 != (n & 255) && 255 != (n & 255) && ((O.unmult = 255 / (n & 255)), (n = ((O.__clamp[Math.round(((n >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((n >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((n >>> 8) & 255) * O.unmult)] & 255) << 8) | (n & 255))); N = b; B = !1; null == B && (B = !1); null == N && (N = 0); switch (N) { case 0: l = ((v[w] & 255) << 24) | ((v[w + 1] & 255) << 16) | ((v[w + 2] & 255) << 8) | (v[w + 3] & 255); break; case 1: l = ((v[w + 1] & 255) << 24) | ((v[w + 2] & 255) << 16) | ((v[w + 3] & 255) << 8) | (v[w] & 255); break; case 2: l = ((v[w + 2] & 255) << 24) | ((v[w + 1] & 255) << 16) | ((v[w] & 255) << 8) | (v[w + 3] & 255); } B && 0 != (l & 255) && 255 != (l & 255) && ((O.unmult = 255 / (l & 255)), (l = ((O.__clamp[Math.round(((l >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((l >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((l >>> 8) & 255) * O.unmult)] & 255) << 8) | (l & 255))); C = Math.round(((l & 255) / 255) * (n & 255)); n = (((n >>> 24) & 255) << 24) | (((n >>> 16) & 255) << 16) | (((n >>> 8) & 255) << 8) | (C & 255); N = p; B = t; null == B && (B = !1); null == N && (N = 0); B && (0 == (n & 255) ? 0 != n && (n = 0) : 255 != (n & 255) && ((O.a16 = O.__alpha16[n & 255]), (n = ((((((n >>> 24) & 255) * O.a16) >> 16) & 255) << 24) | ((((((n >>> 16) & 255) * O.a16) >> 16) & 255) << 16) | ((((((n >>> 8) & 255) * O.a16) >> 16) & 255) << 8) | (n & 255)))); switch (N) { case 0: h[g] = (n >>> 24) & 255; h[g + 1] = (n >>> 16) & 255; h[g + 2] = (n >>> 8) & 255; h[g + 3] = n & 255; break; case 1: h[g] = n & 255; h[g + 1] = (n >>> 24) & 255; h[g + 2] = (n >>> 16) & 255; h[g + 3] = (n >>> 8) & 255; break; case 2: (h[g] = (n >>> 8) & 255), (h[g + 1] = (n >>> 16) & 255), (h[g + 2] = (n >>> 24) & 255), (h[g + 3] = n & 255); } c += 4; g += 4; w += 4; } else if (G) for (G = 0, x = r.height; G < x; ) { w = G++; c = d.byteOffset + d.stride * w; g = r.byteOffset + r.stride * w; for (var z = 0, ya = r.width; z < ya; ) { z++; N = k; B = m; null == B && (B = !1); null == N && (N = 0); switch (N) { case 0: n = ((e[c] & 255) << 24) | ((e[c + 1] & 255) << 16) | ((e[c + 2] & 255) << 8) | (e[c + 3] & 255); break; case 1: n = ((e[c + 1] & 255) << 24) | ((e[c + 2] & 255) << 16) | ((e[c + 3] & 255) << 8) | (e[c] & 255); break; case 2: n = ((e[c + 2] & 255) << 24) | ((e[c + 1] & 255) << 16) | ((e[c] & 255) << 8) | (e[c + 3] & 255); } B && 0 != (n & 255) && 255 != (n & 255) && ((O.unmult = 255 / (n & 255)), (n = ((O.__clamp[Math.round(((n >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((n >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((n >>> 8) & 255) * O.unmult)] & 255) << 8) | (n & 255))); N = p; B = t; null == B && (B = !1); null == N && (N = 0); switch (N) { case 0: u = ((h[g] & 255) << 24) | ((h[g + 1] & 255) << 16) | ((h[g + 2] & 255) << 8) | (h[g + 3] & 255); break; case 1: u = ((h[g + 1] & 255) << 24) | ((h[g + 2] & 255) << 16) | ((h[g + 3] & 255) << 8) | (h[g] & 255); break; case 2: u = ((h[g + 2] & 255) << 24) | ((h[g + 1] & 255) << 16) | ((h[g] & 255) << 8) | (h[g + 3] & 255); } B && 0 != (u & 255) && 255 != (u & 255) && ((O.unmult = 255 / (u & 255)), (u = ((O.__clamp[Math.round(((u >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((u >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((u >>> 8) & 255) * O.unmult)] & 255) << 8) | (u & 255))); B = (n & 255) / 255; H = (u & 255) / 255; D = 1 - B; N = B + H * D; if (0 == N) u = 0; else { var C = O.__clamp[ Math.round((((n >>> 24) & 255) * B + ((u >>> 24) & 255) * H * D) / N) ]; u = ((C & 255) << 24) | (((u >>> 16) & 255) << 16) | (((u >>> 8) & 255) << 8) | (u & 255); C = O.__clamp[ Math.round((((n >>> 16) & 255) * B + ((u >>> 16) & 255) * H * D) / N) ]; u = (((u >>> 24) & 255) << 24) | ((C & 255) << 16) | (((u >>> 8) & 255) << 8) | (u & 255); B = O.__clamp[Math.round((((n >>> 8) & 255) * B + ((u >>> 8) & 255) * H * D) / N)]; u = (((u >>> 24) & 255) << 24) | (((u >>> 16) & 255) << 16) | ((B & 255) << 8) | (u & 255); N = O.__clamp[Math.round(255 * N)]; u = (((u >>> 24) & 255) << 24) | (((u >>> 16) & 255) << 16) | (((u >>> 8) & 255) << 8) | (N & 255); } N = p; B = t; null == B && (B = !1); null == N && (N = 0); B && (0 == (u & 255) ? 0 != u && (u = 0) : 255 != (u & 255) && ((O.a16 = O.__alpha16[u & 255]), (u = ((((((u >>> 24) & 255) * O.a16) >> 16) & 255) << 24) | ((((((u >>> 16) & 255) * O.a16) >> 16) & 255) << 16) | ((((((u >>> 8) & 255) * O.a16) >> 16) & 255) << 8) | (u & 255)))); switch (N) { case 0: h[g] = (u >>> 24) & 255; h[g + 1] = (u >>> 16) & 255; h[g + 2] = (u >>> 8) & 255; h[g + 3] = u & 255; break; case 1: h[g] = u & 255; h[g + 1] = (u >>> 24) & 255; h[g + 2] = (u >>> 16) & 255; h[g + 3] = (u >>> 8) & 255; break; case 2: (h[g] = (u >>> 8) & 255), (h[g + 1] = (u >>> 16) & 255), (h[g + 2] = (u >>> 24) & 255), (h[g + 3] = u & 255); } c += 4; g += 4; } } else if (k == p && m == t && x == v) for (G = 0, x = r.height; G < x; ) (w = G++), (c = d.byteOffset + d.stride * w), (g = r.byteOffset + r.stride * w), h.set(e.subarray(c, c + r.width * v), g); else for (G = 0, x = r.height; G < x; ) for ( w = G++, c = d.byteOffset + d.stride * w, g = r.byteOffset + r.stride * w, z = 0, ya = r.width; z < ya; ) { z++; N = k; B = m; null == B && (B = !1); null == N && (N = 0); switch (N) { case 0: n = ((e[c] & 255) << 24) | ((e[c + 1] & 255) << 16) | ((e[c + 2] & 255) << 8) | (e[c + 3] & 255); break; case 1: n = ((e[c + 1] & 255) << 24) | ((e[c + 2] & 255) << 16) | ((e[c + 3] & 255) << 8) | (e[c] & 255); break; case 2: n = ((e[c + 2] & 255) << 24) | ((e[c + 1] & 255) << 16) | ((e[c] & 255) << 8) | (e[c + 3] & 255); } B && 0 != (n & 255) && 255 != (n & 255) && ((O.unmult = 255 / (n & 255)), (n = ((O.__clamp[Math.round(((n >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((n >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((n >>> 8) & 255) * O.unmult)] & 255) << 8) | (n & 255))); N = p; B = t; null == B && (B = !1); null == N && (N = 0); B && (0 == (n & 255) ? 0 != n && (n = 0) : 255 != (n & 255) && ((O.a16 = O.__alpha16[n & 255]), (n = ((((((n >>> 24) & 255) * O.a16) >> 16) & 255) << 24) | ((((((n >>> 16) & 255) * O.a16) >> 16) & 255) << 16) | ((((((n >>> 8) & 255) * O.a16) >> 16) & 255) << 8) | (n & 255)))); switch (N) { case 0: h[g] = (n >>> 24) & 255; h[g + 1] = (n >>> 16) & 255; h[g + 2] = (n >>> 8) & 255; h[g + 3] = n & 255; break; case 1: h[g] = n & 255; h[g + 1] = (n >>> 24) & 255; h[g + 2] = (n >>> 16) & 255; h[g + 3] = (n >>> 8) & 255; break; case 2: (h[g] = (n >>> 8) & 255), (h[g + 1] = (n >>> 16) & 255), (h[g + 2] = (n >>> 24) & 255), (h[g + 3] = n & 255); } c += 4; g += 4; } } a.dirty = !0; a.version++; }; bb.fillRect = function (a, b, d, c) { switch (c) { case 1: d = (((d >>> 16) & 255) << 24) | (((d >>> 8) & 255) << 16) | ((d & 255) << 8) | ((d >>> 24) & 255); break; case 2: d = (((d >>> 8) & 255) << 24) | (((d >>> 16) & 255) << 16) | (((d >>> 24) & 255) << 8) | (d & 255); } a.get_transparent() || (d = (((d >>> 24) & 255) << 24) | (((d >>> 16) & 255) << 16) | (((d >>> 8) & 255) << 8) | 255); var e = a.buffer.data; if (null != e) { c = a.buffer.format; var g = a.buffer.premultiplied; g && (0 == (d & 255) ? 0 != d && (d = 0) : 255 != (d & 255) && ((O.a16 = O.__alpha16[d & 255]), (d = ((((((d >>> 24) & 255) * O.a16) >> 16) & 255) << 24) | ((((((d >>> 16) & 255) * O.a16) >> 16) & 255) << 16) | ((((((d >>> 8) & 255) * O.a16) >> 16) & 255) << 8) | (d & 255)))); b = new He(a, b); for (var l, q = 0, h = b.height; q < h; ) { g = q++; l = b.byteOffset + b.stride * g; for (var r = 0, k = b.width; r < k; ) { g = r++; var p = l + 4 * g, n = c; g = !1; null == g && (g = !1); null == n && (n = 0); g && (0 == (d & 255) ? 0 != d && (d = 0) : 255 != (d & 255) && ((O.a16 = O.__alpha16[d & 255]), (d = ((((((d >>> 24) & 255) * O.a16) >> 16) & 255) << 24) | ((((((d >>> 16) & 255) * O.a16) >> 16) & 255) << 16) | ((((((d >>> 8) & 255) * O.a16) >> 16) & 255) << 8) | (d & 255)))); switch (n) { case 0: e[p] = (d >>> 24) & 255; e[p + 1] = (d >>> 16) & 255; e[p + 2] = (d >>> 8) & 255; e[p + 3] = d & 255; break; case 1: e[p] = d & 255; e[p + 1] = (d >>> 24) & 255; e[p + 2] = (d >>> 16) & 255; e[p + 3] = (d >>> 8) & 255; break; case 2: (e[p] = (d >>> 8) & 255), (e[p + 1] = (d >>> 16) & 255), (e[p + 2] = (d >>> 24) & 255), (e[p + 3] = d & 255); } } } a.dirty = !0; a.version++; } }; bb.floodFill = function (a, b, d, c, f) { var e = a.buffer.data; if (null != e) { 1 == f && (c = ((c & 16777215) << 8) | ((c >> 24) & 255)); f = a.buffer.format; var l = a.buffer.premultiplied, q = 0, h = 4 * (d + a.offsetY) * a.buffer.width + 4 * (b + a.offsetX), r = f, k = l; null == k && (k = !1); null == r && (r = 0); switch (r) { case 0: q = ((e[h] & 255) << 24) | ((e[h + 1] & 255) << 16) | ((e[h + 2] & 255) << 8) | (e[h + 3] & 255); break; case 1: q = ((e[h + 1] & 255) << 24) | ((e[h + 2] & 255) << 16) | ((e[h + 3] & 255) << 8) | (e[h] & 255); break; case 2: q = ((e[h + 2] & 255) << 24) | ((e[h + 1] & 255) << 16) | ((e[h] & 255) << 8) | (e[h + 3] & 255); } k && 0 != (q & 255) && 255 != (q & 255) && ((O.unmult = 255 / (q & 255)), (q = ((O.__clamp[Math.round(((q >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((q >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((q >>> 8) & 255) * O.unmult)] & 255) << 8) | (q & 255))); a.get_transparent() || ((c = (((c >>> 24) & 255) << 24) | (((c >>> 16) & 255) << 16) | (((c >>> 8) & 255) << 8) | 255), (q = (((q >>> 24) & 255) << 24) | (((q >>> 16) & 255) << 16) | (((q >>> 8) & 255) << 8) | 255)); if (c != q) { l && (0 == (c & 255) ? 0 != c && (c = 0) : 255 != (c & 255) && ((O.a16 = O.__alpha16[c & 255]), (c = ((((((c >>> 24) & 255) * O.a16) >> 16) & 255) << 24) | ((((((c >>> 16) & 255) * O.a16) >> 16) & 255) << 16) | ((((((c >>> 8) & 255) * O.a16) >> 16) & 255) << 8) | (c & 255)))); h = [0, -1, 1, 0]; var p = [-1, 0, 0, 1], n = -a.offsetX, u = -a.offsetY, m = n + a.width, t = u + a.height, x = []; x.push(b); x.push(d); for (var v, w, G, N = 0; 0 < x.length; ) { d = x.pop(); b = x.pop(); for (var B = 0; 4 > B; ) if ( ((r = B++), (v = b + h[r]), (w = d + p[r]), !(v < n || w < u || v >= m || w >= t)) ) { G = 4 * (w * a.width + v); r = f; k = l; null == k && (k = !1); null == r && (r = 0); switch (r) { case 0: N = ((e[G] & 255) << 24) | ((e[G + 1] & 255) << 16) | ((e[G + 2] & 255) << 8) | (e[G + 3] & 255); break; case 1: N = ((e[G + 1] & 255) << 24) | ((e[G + 2] & 255) << 16) | ((e[G + 3] & 255) << 8) | (e[G] & 255); break; case 2: N = ((e[G + 2] & 255) << 24) | ((e[G + 1] & 255) << 16) | ((e[G] & 255) << 8) | (e[G + 3] & 255); } k && 0 != (N & 255) && 255 != (N & 255) && ((O.unmult = 255 / (N & 255)), (N = ((O.__clamp[Math.round(((N >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((N >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((N >>> 8) & 255) * O.unmult)] & 255) << 8) | (N & 255))); if (N == q) { r = f; k = !1; null == k && (k = !1); null == r && (r = 0); k && (0 == (c & 255) ? 0 != c && (c = 0) : 255 != (c & 255) && ((O.a16 = O.__alpha16[c & 255]), (c = ((((((c >>> 24) & 255) * O.a16) >> 16) & 255) << 24) | ((((((c >>> 16) & 255) * O.a16) >> 16) & 255) << 16) | ((((((c >>> 8) & 255) * O.a16) >> 16) & 255) << 8) | (c & 255)))); switch (r) { case 0: e[G] = (c >>> 24) & 255; e[G + 1] = (c >>> 16) & 255; e[G + 2] = (c >>> 8) & 255; e[G + 3] = c & 255; break; case 1: e[G] = c & 255; e[G + 1] = (c >>> 24) & 255; e[G + 2] = (c >>> 16) & 255; e[G + 3] = (c >>> 8) & 255; break; case 2: (e[G] = (c >>> 8) & 255), (e[G + 1] = (c >>> 16) & 255), (e[G + 2] = (c >>> 24) & 255), (e[G + 3] = c & 255); } x.push(v); x.push(w); } } } a.dirty = !0; a.version++; } } }; bb.gaussianBlur = function (a, b, d, c, f, g, l, q, h) { null == l && (l = 1); null == g && (g = 4); null == f && (f = 4); (q = a.get_premultiplied()) && a.set_premultiplied(!1); Ye.blur(a, b, d, c, f, g, l); a.dirty = !0; a.version++; q && a.set_premultiplied(!0); return a; }; bb.getColorBoundsRect = function (a, b, d, c, f) { var e = a.width + 1, l = 0, q = a.height + 1, h = 0; switch (f) { case 1: f = d; d = (((f >>> 16) & 255) << 24) | (((f >>> 8) & 255) << 16) | ((f & 255) << 8) | ((f >>> 24) & 255); f = b; b = (((f >>> 16) & 255) << 24) | (((f >>> 8) & 255) << 16) | ((f & 255) << 8) | ((f >>> 24) & 255); break; case 2: (f = d), (d = (((f >>> 8) & 255) << 24) | (((f >>> 16) & 255) << 16) | (((f >>> 24) & 255) << 8) | (f & 255)), (f = b), (b = (((f >>> 8) & 255) << 24) | (((f >>> 16) & 255) << 16) | (((f >>> 24) & 255) << 8) | (f & 255)); } a.get_transparent() || ((d = (((d >>> 24) & 255) << 24) | (((d >>> 16) & 255) << 16) | (((d >>> 8) & 255) << 8) | 255), (b = (((b >>> 24) & 255) << 24) | (((b >>> 16) & 255) << 16) | (((b >>> 8) & 255) << 8) | 255)); f = 0; for (var r = a.width; f < r; ) { var k = f++; var p = !1; for (var n = 0, u = a.height; n < u; ) { var m = n++; p = a.getPixel32(k, m, 0); if ((p = c ? (p & b) == d : (p & b) != d)) { k < e && (e = k); break; } } if (p) break; } f = 0; for (r = a.width; f < r; ) { k = f++; k = a.width - 1 - k; p = !1; n = 0; for (u = a.height; n < u; ) if (((m = n++), (p = a.getPixel32(k, m, 0)), (p = c ? (p & b) == d : (p & b) != d))) { k > l && (l = k); break; } if (p) break; } f = 0; for (r = a.height; f < r; ) { m = f++; p = !1; n = 0; for (u = a.width; n < u; ) if (((k = n++), (p = a.getPixel32(k, m, 0)), (p = c ? (p & b) == d : (p & b) != d))) { m < q && (q = m); break; } if (p) break; } f = 0; for (r = a.height; f < r; ) { m = f++; m = a.height - 1 - m; p = !1; n = 0; for (u = a.width; n < u; ) if (((k = n++), (p = a.getPixel32(k, m, 0)), (p = c ? (p & b) == d : (p & b) != d))) { m > h && (h = m); break; } if (p) break; } c = l - e; d = h - q; 0 < c && ++c; 0 < d && ++d; 0 > c && (c = 0); 0 > d && (d = 0); e == l && (c = 1); q == h && (d = 1); e > a.width && (e = 0); q > a.height && (q = 0); return new Qd(e, q, c, d); }; bb.getPixel = function (a, b, d, c) { var e = 0, g = a.buffer.data; b = 4 * (d + a.offsetY) * a.buffer.width + 4 * (b + a.offsetX); d = a.buffer.format; a = a.buffer.premultiplied; null == a && (a = !1); null == d && (d = 0); switch (d) { case 0: e = ((g[b] & 255) << 24) | ((g[b + 1] & 255) << 16) | ((g[b + 2] & 255) << 8) | (g[b + 3] & 255); break; case 1: e = ((g[b + 1] & 255) << 24) | ((g[b + 2] & 255) << 16) | ((g[b + 3] & 255) << 8) | (g[b] & 255); break; case 2: e = ((g[b + 2] & 255) << 24) | ((g[b + 1] & 255) << 16) | ((g[b] & 255) << 8) | (g[b + 3] & 255); } a && 0 != (e & 255) && 255 != (e & 255) && ((O.unmult = 255 / (e & 255)), (e = ((O.__clamp[Math.round(((e >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((e >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((e >>> 8) & 255) * O.unmult)] & 255) << 8) | (e & 255))); e = (((e >>> 24) & 255) << 24) | (((e >>> 16) & 255) << 16) | (((e >>> 8) & 255) << 8) | 0; switch (c) { case 1: return ( ((e & 255) << 24) | (((e >>> 24) & 255) << 16) | (((e >>> 16) & 255) << 8) | ((e >>> 8) & 255) ); case 2: return ( (((e >>> 8) & 255) << 24) | (((e >>> 16) & 255) << 16) | (((e >>> 24) & 255) << 8) | (e & 255) ); default: return e; } }; bb.getPixel32 = function (a, b, d, c) { var e = 0, g = a.buffer.data; b = 4 * (d + a.offsetY) * a.buffer.width + 4 * (b + a.offsetX); d = a.buffer.format; a = a.buffer.premultiplied; null == a && (a = !1); null == d && (d = 0); switch (d) { case 0: e = ((g[b] & 255) << 24) | ((g[b + 1] & 255) << 16) | ((g[b + 2] & 255) << 8) | (g[b + 3] & 255); break; case 1: e = ((g[b + 1] & 255) << 24) | ((g[b + 2] & 255) << 16) | ((g[b + 3] & 255) << 8) | (g[b] & 255); break; case 2: e = ((g[b + 2] & 255) << 24) | ((g[b + 1] & 255) << 16) | ((g[b] & 255) << 8) | (g[b + 3] & 255); } a && 0 != (e & 255) && 255 != (e & 255) && ((O.unmult = 255 / (e & 255)), (e = ((O.__clamp[Math.round(((e >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((e >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((e >>> 8) & 255) * O.unmult)] & 255) << 8) | (e & 255))); switch (c) { case 1: return ( ((e & 255) << 24) | (((e >>> 24) & 255) << 16) | (((e >>> 16) & 255) << 8) | ((e >>> 8) & 255) ); case 2: return ( (((e >>> 8) & 255) << 24) | (((e >>> 16) & 255) << 16) | (((e >>> 24) & 255) << 8) | (e & 255) ); default: return e; } }; bb.getPixels = function (a, b, d) { if (null == a.buffer.data) return null; var c = new fb(new ArrayBuffer(4 * ((b.width * b.height) | 0))), f = a.buffer.data, g = a.buffer.format, l = a.buffer.premultiplied; a = new He(a, b); for (var q, h, r = (b = h = 0), k = a.height; r < k; ) { q = r++; q = a.byteOffset + a.stride * q; for (var p = 0, n = a.width; p < n; ) { p++; var u = g, m = l; null == m && (m = !1); null == u && (u = 0); switch (u) { case 0: h = ((f[q] & 255) << 24) | ((f[q + 1] & 255) << 16) | ((f[q + 2] & 255) << 8) | (f[q + 3] & 255); break; case 1: h = ((f[q + 1] & 255) << 24) | ((f[q + 2] & 255) << 16) | ((f[q + 3] & 255) << 8) | (f[q] & 255); break; case 2: h = ((f[q + 2] & 255) << 24) | ((f[q + 1] & 255) << 16) | ((f[q] & 255) << 8) | (f[q + 3] & 255); } m && 0 != (h & 255) && 255 != (h & 255) && ((O.unmult = 255 / (h & 255)), (h = ((O.__clamp[Math.round(((h >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((h >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((h >>> 8) & 255) * O.unmult)] & 255) << 8) | (h & 255))); switch (d) { case 1: h = ((h & 255) << 24) | (((h >>> 24) & 255) << 16) | (((h >>> 16) & 255) << 8) | ((h >>> 8) & 255); break; case 2: h = (((h >>> 8) & 255) << 24) | (((h >>> 16) & 255) << 16) | (((h >>> 24) & 255) << 8) | (h & 255); } c.b[b++] = (h >>> 24) & 255; c.b[b++] = (h >>> 16) & 255; c.b[b++] = (h >>> 8) & 255; c.b[b++] = h & 255; q += 4; } } return c; }; bb.merge = function (a, b, d, c, f, g, l, q) { if (null != a.buffer.data && null != b.buffer.data) { d = new He(b, d); c = new He(a, new Qd(c.x, c.y, d.width, d.height)); var e = b.buffer.data, h = a.buffer.data, k = b.buffer.format, p = a.buffer.format; b = b.buffer.premultiplied; for (var n = a.buffer.premultiplied, u, m, t = 0, x = 0, v = 0, w = c.height; v < w; ) { m = v++; u = d.byteOffset + d.stride * m; m = c.byteOffset + c.stride * m; for (var G = 0, N = c.width; G < N; ) { G++; var B = k, H = b; null == H && (H = !1); null == B && (B = 0); switch (B) { case 0: t = ((e[u] & 255) << 24) | ((e[u + 1] & 255) << 16) | ((e[u + 2] & 255) << 8) | (e[u + 3] & 255); break; case 1: t = ((e[u + 1] & 255) << 24) | ((e[u + 2] & 255) << 16) | ((e[u + 3] & 255) << 8) | (e[u] & 255); break; case 2: t = ((e[u + 2] & 255) << 24) | ((e[u + 1] & 255) << 16) | ((e[u] & 255) << 8) | (e[u + 3] & 255); } H && 0 != (t & 255) && 255 != (t & 255) && ((O.unmult = 255 / (t & 255)), (t = ((O.__clamp[Math.round(((t >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((t >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((t >>> 8) & 255) * O.unmult)] & 255) << 8) | (t & 255))); B = p; H = n; null == H && (H = !1); null == B && (B = 0); switch (B) { case 0: x = ((h[m] & 255) << 24) | ((h[m + 1] & 255) << 16) | ((h[m + 2] & 255) << 8) | (h[m + 3] & 255); break; case 1: x = ((h[m + 1] & 255) << 24) | ((h[m + 2] & 255) << 16) | ((h[m + 3] & 255) << 8) | (h[m] & 255); break; case 2: x = ((h[m + 2] & 255) << 24) | ((h[m + 1] & 255) << 16) | ((h[m] & 255) << 8) | (h[m + 3] & 255); } H && 0 != (x & 255) && 255 != (x & 255) && ((O.unmult = 255 / (x & 255)), (x = ((O.__clamp[Math.round(((x >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((x >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((x >>> 8) & 255) * O.unmult)] & 255) << 8) | (x & 255))); x = (((((((t >>> 24) & 255) * f + ((x >>> 24) & 255) * (256 - f)) / 256) | 0) & 255) << 24) | (((x >>> 16) & 255) << 16) | (((x >>> 8) & 255) << 8) | (x & 255); x = (((x >>> 24) & 255) << 24) | (((((((t >>> 16) & 255) * g + ((x >>> 16) & 255) * (256 - g)) / 256) | 0) & 255) << 16) | (((x >>> 8) & 255) << 8) | (x & 255); x = (((x >>> 24) & 255) << 24) | (((x >>> 16) & 255) << 16) | (((((((t >>> 8) & 255) * l + ((x >>> 8) & 255) * (256 - l)) / 256) | 0) & 255) << 8) | (x & 255); x = (((x >>> 24) & 255) << 24) | (((x >>> 16) & 255) << 16) | (((x >>> 8) & 255) << 8) | (((((t & 255) * q + (x & 255) * (256 - q)) / 256) | 0) & 255); B = p; H = n; null == H && (H = !1); null == B && (B = 0); H && (0 == (x & 255) ? 0 != x && (x = 0) : 255 != (x & 255) && ((O.a16 = O.__alpha16[x & 255]), (x = ((((((x >>> 24) & 255) * O.a16) >> 16) & 255) << 24) | ((((((x >>> 16) & 255) * O.a16) >> 16) & 255) << 16) | ((((((x >>> 8) & 255) * O.a16) >> 16) & 255) << 8) | (x & 255)))); switch (B) { case 0: h[m] = (x >>> 24) & 255; h[m + 1] = (x >>> 16) & 255; h[m + 2] = (x >>> 8) & 255; h[m + 3] = x & 255; break; case 1: h[m] = x & 255; h[m + 1] = (x >>> 24) & 255; h[m + 2] = (x >>> 16) & 255; h[m + 3] = (x >>> 8) & 255; break; case 2: (h[m] = (x >>> 8) & 255), (h[m + 1] = (x >>> 16) & 255), (h[m + 2] = (x >>> 24) & 255), (h[m + 3] = x & 255); } u += 4; m += 4; } } a.dirty = !0; a.version++; } }; bb.multiplyAlpha = function (a) { var b = a.buffer.data; if (null != b && a.buffer.transparent) { for (var d = a.buffer.format, c = 0, f = 0, g = (b.length / 4) | 0; f < g; ) { var l = f++, q = 4 * l, h = d, r = !1; null == r && (r = !1); null == h && (h = 0); switch (h) { case 0: c = ((b[q] & 255) << 24) | ((b[q + 1] & 255) << 16) | ((b[q + 2] & 255) << 8) | (b[q + 3] & 255); break; case 1: c = ((b[q + 1] & 255) << 24) | ((b[q + 2] & 255) << 16) | ((b[q + 3] & 255) << 8) | (b[q] & 255); break; case 2: c = ((b[q + 2] & 255) << 24) | ((b[q + 1] & 255) << 16) | ((b[q] & 255) << 8) | (b[q + 3] & 255); } r && 0 != (c & 255) && 255 != (c & 255) && ((O.unmult = 255 / (c & 255)), (c = ((O.__clamp[Math.round(((c >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((c >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((c >>> 8) & 255) * O.unmult)] & 255) << 8) | (c & 255))); l *= 4; q = d; h = !0; null == h && (h = !1); null == q && (q = 0); h && (0 == (c & 255) ? 0 != c && (c = 0) : 255 != (c & 255) && ((O.a16 = O.__alpha16[c & 255]), (c = ((((((c >>> 24) & 255) * O.a16) >> 16) & 255) << 24) | ((((((c >>> 16) & 255) * O.a16) >> 16) & 255) << 16) | ((((((c >>> 8) & 255) * O.a16) >> 16) & 255) << 8) | (c & 255)))); switch (q) { case 0: b[l] = (c >>> 24) & 255; b[l + 1] = (c >>> 16) & 255; b[l + 2] = (c >>> 8) & 255; b[l + 3] = c & 255; break; case 1: b[l] = c & 255; b[l + 1] = (c >>> 24) & 255; b[l + 2] = (c >>> 16) & 255; b[l + 3] = (c >>> 8) & 255; break; case 2: (b[l] = (c >>> 8) & 255), (b[l + 1] = (c >>> 16) & 255), (b[l + 2] = (c >>> 24) & 255), (b[l + 3] = c & 255); } } a.buffer.premultiplied = !0; a.dirty = !0; a.version++; } }; bb.resize = function (a, b, d) { var c = a.buffer; if (c.width != b || c.height != d) { var f = b * d * 4; f = null != f ? new Uint8Array(f) : null; f = new Qf(f, b, d); for ( var g = a.width, l = a.height, q = a.get_data(), h = f.data, r, k, p, n, u, m, t, x, v, w = 0; w < d; ) for (var G = w++, N = 0, B = b; N < B; ) (u = N++), (x = ((u + 0.5) / b) * g - 0.5), (v = ((G + 0.5) / d) * l - 0.5), (m = x | 0), (t = v | 0), (r = 4 * (t * g + m)), (k = m < g - 1 ? r + 4 : r), (p = t < l - 1 ? r + 4 * g : r), (n = k != r ? p + 4 : p), (u = 4 * (G * b + u)), (m = x - m), (t = v - t), (v = 1 - m), (x = 1 - t), (h[u] = ((Ba.toFloat(q[r]) * v + Ba.toFloat(q[k]) * m) * x + (Ba.toFloat(q[p]) * v + Ba.toFloat(q[n]) * m) * t) | 0), (h[u + 1] = ((Ba.toFloat(q[r + 1]) * v + Ba.toFloat(q[k + 1]) * m) * x + (Ba.toFloat(q[p + 1]) * v + Ba.toFloat(q[n + 1]) * m) * t) | 0), (h[u + 2] = ((Ba.toFloat(q[r + 2]) * v + Ba.toFloat(q[k + 2]) * m) * x + (Ba.toFloat(q[p + 2]) * v + Ba.toFloat(q[n + 2]) * m) * t) | 0), (h[u + 3] = 0 == q[k + 3] || 0 == q[p + 3] || 0 == q[n + 3] ? 0 : q[r + 3]); c.data = f.data; c.width = b; c.height = d; c.__srcImage = null; c.__srcImageData = null; c.__srcCanvas = null; c.__srcContext = null; a.dirty = !0; a.version++; } }; bb.resizeBuffer = function (a, b, d) { var c = a.buffer, f = a.get_data(), g = b * d * 4; g = null != g ? new Uint8Array(g) : null; for (var l, q, h = 0, r = c.height; h < r; ) for (var k = h++, p = 0, n = c.width; p < n; ) (q = p++), (l = 4 * (k * c.width + q)), (q = 4 * (k * b + q)), (g[q] = f[l]), (g[q + 1] = f[l + 1]), (g[q + 2] = f[l + 2]), (g[q + 3] = f[l + 3]); c.data = g; c.width = b; c.height = d; c.__srcImage = null; c.__srcImageData = null; c.__srcCanvas = null; c.__srcContext = null; a.dirty = !0; a.version++; }; bb.setFormat = function (a, b) { var d = a.buffer.data; if (null != d) { var c = (d.length / 4) | 0; switch (a.get_format()) { case 0: var f = 0; var g = 1; var l = 2; var q = 3; break; case 1: f = 1; g = 2; l = 3; q = 0; break; case 2: (f = 2), (g = 1), (l = 0), (q = 3); } switch (b) { case 0: var h = 0; var r = 1; var k = 2; var p = 3; break; case 1: h = 1; r = 2; k = 3; p = 0; break; case 2: (h = 2), (r = 1), (k = 0), (p = 3); } for (var n = 0; n < c; ) { var u = 4 * n++; var m = d[u + f]; var t = d[u + g]; var x = d[u + l]; var v = d[u + q]; d[u + h] = m; d[u + r] = t; d[u + k] = x; d[u + p] = v; } a.buffer.format = b; a.dirty = !0; a.version++; } }; bb.setPixel = function (a, b, d, c, f) { switch (f) { case 1: c = (((c >>> 16) & 255) << 24) | (((c >>> 8) & 255) << 16) | ((c & 255) << 8) | ((c >>> 24) & 255); break; case 2: c = (((c >>> 8) & 255) << 24) | (((c >>> 16) & 255) << 16) | (((c >>> 24) & 255) << 8) | (c & 255); } var e = 0, l = a.buffer.data, q = 4 * (d + a.offsetY) * a.buffer.width + 4 * (b + a.offsetX); f = a.buffer.format; var h = a.buffer.premultiplied; null == h && (h = !1); null == f && (f = 0); switch (f) { case 0: e = ((l[q] & 255) << 24) | ((l[q + 1] & 255) << 16) | ((l[q + 2] & 255) << 8) | (l[q + 3] & 255); break; case 1: e = ((l[q + 1] & 255) << 24) | ((l[q + 2] & 255) << 16) | ((l[q + 3] & 255) << 8) | (l[q] & 255); break; case 2: e = ((l[q + 2] & 255) << 24) | ((l[q + 1] & 255) << 16) | ((l[q] & 255) << 8) | (l[q + 3] & 255); } h && 0 != (e & 255) && 255 != (e & 255) && ((O.unmult = 255 / (e & 255)), (e = ((O.__clamp[Math.round(((e >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((e >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((e >>> 8) & 255) * O.unmult)] & 255) << 8) | (e & 255))); c = (((c >>> 24) & 255) << 24) | (((c >>> 16) & 255) << 16) | (((c >>> 8) & 255) << 8) | (e & 255); l = a.buffer.data; q = 4 * (d + a.offsetY) * a.buffer.width + 4 * (b + a.offsetX); f = a.buffer.format; h = a.buffer.premultiplied; null == h && (h = !1); null == f && (f = 0); h && (0 == (c & 255) ? 0 != c && (c = 0) : 255 != (c & 255) && ((O.a16 = O.__alpha16[c & 255]), (c = ((((((c >>> 24) & 255) * O.a16) >> 16) & 255) << 24) | ((((((c >>> 16) & 255) * O.a16) >> 16) & 255) << 16) | ((((((c >>> 8) & 255) * O.a16) >> 16) & 255) << 8) | (c & 255)))); switch (f) { case 0: l[q] = (c >>> 24) & 255; l[q + 1] = (c >>> 16) & 255; l[q + 2] = (c >>> 8) & 255; l[q + 3] = c & 255; break; case 1: l[q] = c & 255; l[q + 1] = (c >>> 24) & 255; l[q + 2] = (c >>> 16) & 255; l[q + 3] = (c >>> 8) & 255; break; case 2: (l[q] = (c >>> 8) & 255), (l[q + 1] = (c >>> 16) & 255), (l[q + 2] = (c >>> 24) & 255), (l[q + 3] = c & 255); } a.dirty = !0; a.version++; }; bb.setPixel32 = function (a, b, d, c, f) { switch (f) { case 1: c = (((c >>> 16) & 255) << 24) | (((c >>> 8) & 255) << 16) | ((c & 255) << 8) | ((c >>> 24) & 255); break; case 2: c = (((c >>> 8) & 255) << 24) | (((c >>> 16) & 255) << 16) | (((c >>> 24) & 255) << 8) | (c & 255); } a.get_transparent() || (c = (((c >>> 24) & 255) << 24) | (((c >>> 16) & 255) << 16) | (((c >>> 8) & 255) << 8) | 255); var e = a.buffer.data; b = 4 * (d + a.offsetY) * a.buffer.width + 4 * (b + a.offsetX); f = a.buffer.format; d = a.buffer.premultiplied; null == d && (d = !1); null == f && (f = 0); d && (0 == (c & 255) ? 0 != c && (c = 0) : 255 != (c & 255) && ((O.a16 = O.__alpha16[c & 255]), (c = ((((((c >>> 24) & 255) * O.a16) >> 16) & 255) << 24) | ((((((c >>> 16) & 255) * O.a16) >> 16) & 255) << 16) | ((((((c >>> 8) & 255) * O.a16) >> 16) & 255) << 8) | (c & 255)))); switch (f) { case 0: e[b] = (c >>> 24) & 255; e[b + 1] = (c >>> 16) & 255; e[b + 2] = (c >>> 8) & 255; e[b + 3] = c & 255; break; case 1: e[b] = c & 255; e[b + 1] = (c >>> 24) & 255; e[b + 2] = (c >>> 16) & 255; e[b + 3] = (c >>> 8) & 255; break; case 2: (e[b] = (c >>> 8) & 255), (e[b + 1] = (c >>> 16) & 255), (e[b + 2] = (c >>> 24) & 255), (e[b + 3] = c & 255); } a.dirty = !0; a.version++; }; bb.setPixels = function (a, b, d, c, f) { if (null != a.buffer.data) { var e = a.buffer.data, l = a.buffer.format, q = a.buffer.premultiplied; b = new He(a, b); var h = a.get_transparent(), r = d.bytes; d = d.offset; f = f != Bg.BIG_ENDIAN; for (var k = 0, p = b.height; k < p; ) { var n = k++; n = b.byteOffset + b.stride * n; for (var u = 0, m = b.width; u < m; ) { var t = u++; var x = f ? r.getInt32(d) : r.b[d + 3] | (r.b[d + 2] << 8) | (r.b[d + 1] << 16) | (r.b[d] << 24); d += 4; switch (c) { case 1: x = (((x >>> 16) & 255) << 24) | (((x >>> 8) & 255) << 16) | ((x & 255) << 8) | ((x >>> 24) & 255); break; case 2: x = (((x >>> 8) & 255) << 24) | (((x >>> 16) & 255) << 16) | (((x >>> 24) & 255) << 8) | (x & 255); } h || (x = (((x >>> 24) & 255) << 24) | (((x >>> 16) & 255) << 16) | (((x >>> 8) & 255) << 8) | 255); t = n + 4 * t; var v = l, w = q; null == w && (w = !1); null == v && (v = 0); w && (0 == (x & 255) ? 0 != x && (x = 0) : 255 != (x & 255) && ((O.a16 = O.__alpha16[x & 255]), (x = ((((((x >>> 24) & 255) * O.a16) >> 16) & 255) << 24) | ((((((x >>> 16) & 255) * O.a16) >> 16) & 255) << 16) | ((((((x >>> 8) & 255) * O.a16) >> 16) & 255) << 8) | (x & 255)))); switch (v) { case 0: e[t] = (x >>> 24) & 255; e[t + 1] = (x >>> 16) & 255; e[t + 2] = (x >>> 8) & 255; e[t + 3] = x & 255; break; case 1: e[t] = x & 255; e[t + 1] = (x >>> 24) & 255; e[t + 2] = (x >>> 16) & 255; e[t + 3] = (x >>> 8) & 255; break; case 2: (e[t] = (x >>> 8) & 255), (e[t + 1] = (x >>> 16) & 255), (e[t + 2] = (x >>> 24) & 255), (e[t + 3] = x & 255); } } } a.dirty = !0; a.version++; } }; bb.threshold = function (a, b, d, c, f, g, l, q, h, r) { switch (r) { case 1: var e = l; l = (((e >>> 16) & 255) << 24) | (((e >>> 8) & 255) << 16) | ((e & 255) << 8) | ((e >>> 24) & 255); e = q; q = (((e >>> 16) & 255) << 24) | (((e >>> 8) & 255) << 16) | ((e & 255) << 8) | ((e >>> 24) & 255); e = g; g = (((e >>> 16) & 255) << 24) | (((e >>> 8) & 255) << 16) | ((e & 255) << 8) | ((e >>> 24) & 255); break; case 2: (e = l), (l = (((e >>> 8) & 255) << 24) | (((e >>> 16) & 255) << 16) | (((e >>> 24) & 255) << 8) | (e & 255)), (e = q), (q = (((e >>> 8) & 255) << 24) | (((e >>> 16) & 255) << 16) | (((e >>> 24) & 255) << 8) | (e & 255)), (e = g), (g = (((e >>> 8) & 255) << 24) | (((e >>> 16) & 255) << 16) | (((e >>> 24) & 255) << 8) | (e & 255)); } switch (f) { case '!=': f = 0; break; case '<': f = 2; break; case '<=': f = 3; break; case '==': f = 1; break; case '>': f = 4; break; case '>=': f = 5; break; default: f = -1; } if (-1 == f) return 0; e = b.buffer.data; var p = a.buffer.data; if (null == e || null == p) return 0; var y = 0; d = new He(b, d); c = new He(a, new Qd(c.x, c.y, d.width, d.height)); var k = b.buffer.format, n = a.buffer.format; b = b.buffer.premultiplied; for (var u = a.buffer.premultiplied, m, t, x = 0, v = 0, w = c.height; v < w; ) { t = v++; m = d.byteOffset + d.stride * t; t = c.byteOffset + c.stride * t; for (var G = 0, N = c.width; G < N; ) { G++; r = k; var B = b; null == B && (B = !1); null == r && (r = 0); switch (r) { case 0: x = ((e[m] & 255) << 24) | ((e[m + 1] & 255) << 16) | ((e[m + 2] & 255) << 8) | (e[m + 3] & 255); break; case 1: x = ((e[m + 1] & 255) << 24) | ((e[m + 2] & 255) << 16) | ((e[m + 3] & 255) << 8) | (e[m] & 255); break; case 2: x = ((e[m + 2] & 255) << 24) | ((e[m + 1] & 255) << 16) | ((e[m] & 255) << 8) | (e[m + 3] & 255); } B && 0 != (x & 255) && 255 != (x & 255) && ((O.unmult = 255 / (x & 255)), (x = ((O.__clamp[Math.round(((x >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((x >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((x >>> 8) & 255) * O.unmult)] & 255) << 8) | (x & 255))); r = x & q; B = (r >>> 24) & 255; var H = (g >>> 24) & 255; B != H ? (r = Ba.gt(B, H) ? 1 : -1) : ((B = (r >>> 16) & 255), (H = (g >>> 16) & 255), B != H ? (r = Ba.gt(B, H) ? 1 : -1) : ((B = (r >>> 8) & 255), (H = (g >>> 8) & 255), B != H ? (r = Ba.gt(B, H) ? 1 : -1) : ((B = r & 255), (H = g & 255), (r = B != H ? (Ba.gt(B, H) ? 1 : -1) : 0)))); switch (f) { case 0: r = 0 != r; break; case 1: r = 0 == r; break; case 2: r = -1 == r; break; case 3: r = 0 == r || -1 == r; break; case 4: r = 1 == r; break; case 5: r = 0 == r || 1 == r; break; default: r = !1; } if (r) { r = n; B = u; null == B && (B = !1); null == r && (r = 0); B && (0 == (l & 255) ? 0 != l && (l = 0) : 255 != (l & 255) && ((O.a16 = O.__alpha16[l & 255]), (l = ((((((l >>> 24) & 255) * O.a16) >> 16) & 255) << 24) | ((((((l >>> 16) & 255) * O.a16) >> 16) & 255) << 16) | ((((((l >>> 8) & 255) * O.a16) >> 16) & 255) << 8) | (l & 255)))); switch (r) { case 0: p[t] = (l >>> 24) & 255; p[t + 1] = (l >>> 16) & 255; p[t + 2] = (l >>> 8) & 255; p[t + 3] = l & 255; break; case 1: p[t] = l & 255; p[t + 1] = (l >>> 24) & 255; p[t + 2] = (l >>> 16) & 255; p[t + 3] = (l >>> 8) & 255; break; case 2: (p[t] = (l >>> 8) & 255), (p[t + 1] = (l >>> 16) & 255), (p[t + 2] = (l >>> 24) & 255), (p[t + 3] = l & 255); } ++y; } else if (h) switch ( ((r = n), (B = u), null == B && (B = !1), null == r && (r = 0), B && (0 == (x & 255) ? 0 != x && (x = 0) : 255 != (x & 255) && ((O.a16 = O.__alpha16[x & 255]), (x = ((((((x >>> 24) & 255) * O.a16) >> 16) & 255) << 24) | ((((((x >>> 16) & 255) * O.a16) >> 16) & 255) << 16) | ((((((x >>> 8) & 255) * O.a16) >> 16) & 255) << 8) | (x & 255)))), r) ) { case 0: p[t] = (x >>> 24) & 255; p[t + 1] = (x >>> 16) & 255; p[t + 2] = (x >>> 8) & 255; p[t + 3] = x & 255; break; case 1: p[t] = x & 255; p[t + 1] = (x >>> 24) & 255; p[t + 2] = (x >>> 16) & 255; p[t + 3] = (x >>> 8) & 255; break; case 2: (p[t] = (x >>> 8) & 255), (p[t + 1] = (x >>> 16) & 255), (p[t + 2] = (x >>> 24) & 255), (p[t + 3] = x & 255); } m += 4; t += 4; } } 0 < y && ((a.dirty = !0), a.version++); return y; }; bb.unmultiplyAlpha = function (a) { var b = a.buffer.data; if (null != b) { for (var d = a.buffer.format, c = 0, f = 0, g = (b.length / 4) | 0; f < g; ) { var l = f++, q = 4 * l, h = d, r = !0; null == r && (r = !1); null == h && (h = 0); switch (h) { case 0: c = ((b[q] & 255) << 24) | ((b[q + 1] & 255) << 16) | ((b[q + 2] & 255) << 8) | (b[q + 3] & 255); break; case 1: c = ((b[q + 1] & 255) << 24) | ((b[q + 2] & 255) << 16) | ((b[q + 3] & 255) << 8) | (b[q] & 255); break; case 2: c = ((b[q + 2] & 255) << 24) | ((b[q + 1] & 255) << 16) | ((b[q] & 255) << 8) | (b[q + 3] & 255); } r && 0 != (c & 255) && 255 != (c & 255) && ((O.unmult = 255 / (c & 255)), (c = ((O.__clamp[Math.round(((c >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((c >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((c >>> 8) & 255) * O.unmult)] & 255) << 8) | (c & 255))); l *= 4; q = d; h = !1; null == h && (h = !1); null == q && (q = 0); h && (0 == (c & 255) ? 0 != c && (c = 0) : 255 != (c & 255) && ((O.a16 = O.__alpha16[c & 255]), (c = ((((((c >>> 24) & 255) * O.a16) >> 16) & 255) << 24) | ((((((c >>> 16) & 255) * O.a16) >> 16) & 255) << 16) | ((((((c >>> 8) & 255) * O.a16) >> 16) & 255) << 8) | (c & 255)))); switch (q) { case 0: b[l] = (c >>> 24) & 255; b[l + 1] = (c >>> 16) & 255; b[l + 2] = (c >>> 8) & 255; b[l + 3] = c & 255; break; case 1: b[l] = c & 255; b[l + 1] = (c >>> 24) & 255; b[l + 2] = (c >>> 16) & 255; b[l + 3] = (c >>> 8) & 255; break; case 2: (b[l] = (c >>> 8) & 255), (b[l + 1] = (c >>> 16) & 255), (b[l + 2] = (c >>> 24) & 255), (b[l + 3] = c & 255); } } a.buffer.premultiplied = !1; a.dirty = !0; a.version++; } }; bb.__boxBlur = function (a, b, d, c, f, g) { b.set(a); f |= 0; g |= 0; bb.__boxBlurH(b, a, d, c, f, 0); bb.__boxBlurH(b, a, d, c, f, 1); bb.__boxBlurH(b, a, d, c, f, 2); bb.__boxBlurH(b, a, d, c, f, 3); f = 1 / (g + g + 1); for (var e = 4 * d, q, h, r, k, p, n, u = 0, m = d; u < m; ) { q = u++; h = q *= 4; r = q + g * e; k = a[q]; p = a[q + e * (c - 1)]; n = (g + 1) * k; for (var t = 0, x = g; t < x; ) { var v = t++; n += a[q + v * e]; } t = 0; for (x = g + 1; t < x; ) t++, (n += a[r] - k), (b[q] = Math.round(Ba.toFloat(n) * f)), (r += e), (q += e); k = g + 1; for (t = c - g; k < t; ) k++, (n += a[r] - a[h]), (b[q] = Math.round(Ba.toFloat(n) * f)), (h += e), (r += e), (q += e); r = c - g; for (k = c; r < k; ) r++, (n += p - a[h]), (b[q] = Math.round(Ba.toFloat(n) * f)), (h += e), (q += e); } f = 1 / (g + g + 1); e = 4 * d; u = 0; for (m = d; u < m; ) { q = u++; h = q = 4 * q + 1; r = q + g * e; k = a[q]; p = a[q + e * (c - 1)]; n = (g + 1) * k; t = 0; for (x = g; t < x; ) (v = t++), (n += a[q + v * e]); t = 0; for (x = g + 1; t < x; ) t++, (n += a[r] - k), (b[q] = Math.round(Ba.toFloat(n) * f)), (r += e), (q += e); k = g + 1; for (t = c - g; k < t; ) k++, (n += a[r] - a[h]), (b[q] = Math.round(Ba.toFloat(n) * f)), (h += e), (r += e), (q += e); r = c - g; for (k = c; r < k; ) r++, (n += p - a[h]), (b[q] = Math.round(Ba.toFloat(n) * f)), (h += e), (q += e); } f = 1 / (g + g + 1); e = 4 * d; u = 0; for (m = d; u < m; ) { q = u++; h = q = 4 * q + 2; r = q + g * e; k = a[q]; p = a[q + e * (c - 1)]; n = (g + 1) * k; t = 0; for (x = g; t < x; ) (v = t++), (n += a[q + v * e]); t = 0; for (x = g + 1; t < x; ) t++, (n += a[r] - k), (b[q] = Math.round(Ba.toFloat(n) * f)), (r += e), (q += e); k = g + 1; for (t = c - g; k < t; ) k++, (n += a[r] - a[h]), (b[q] = Math.round(Ba.toFloat(n) * f)), (h += e), (r += e), (q += e); r = c - g; for (k = c; r < k; ) r++, (n += p - a[h]), (b[q] = Math.round(Ba.toFloat(n) * f)), (h += e), (q += e); } f = 1 / (g + g + 1); e = 4 * d; u = 0; for (m = d; u < m; ) { q = u++; h = q = 4 * q + 3; r = q + g * e; k = a[q]; p = a[q + e * (c - 1)]; n = (g + 1) * k; t = 0; for (x = g; t < x; ) (v = t++), (n += a[q + v * e]); t = 0; for (x = g + 1; t < x; ) t++, (n += a[r] - k), (b[q] = Math.round(Ba.toFloat(n) * f)), (r += e), (q += e); k = g + 1; for (t = c - g; k < t; ) k++, (n += a[r] - a[h]), (b[q] = Math.round(Ba.toFloat(n) * f)), (h += e), (r += e), (q += e); r = c - g; for (k = c; r < k; ) r++, (n += p - a[h]), (b[q] = Math.round(Ba.toFloat(n) * f)), (h += e), (q += e); } }; bb.__boxBlurH = function (a, b, d, c, f, g) { for (var e = 1 / (f + f + 1), q, h, r, k, p, n, u = 0; u < c; ) { h = q = u++ * d; r = q + f; k = a[4 * q + g]; p = a[4 * (q + d - 1) + g]; n = (f + 1) * k; for (var m = 0, t = f; m < t; ) { var x = m++; n += a[4 * (q + x) + g]; } m = 0; for (t = f + 1; m < t; ) m++, (n += a[4 * r + g] - k), (b[4 * q + g] = Math.round(Ba.toFloat(n) * e)), ++r, ++q; k = f + 1; for (m = d - f; k < m; ) k++, (n += a[4 * r + g] - a[4 * h + g]), (b[4 * q + g] = Math.round(Ba.toFloat(n) * e)), ++r, ++h, ++q; r = d - f; for (k = d; r < k; ) r++, (n += p - a[4 * h + g]), (b[4 * q + g] = Math.round(Ba.toFloat(n) * e)), ++h, ++q; } }; bb.__boxBlurT = function (a, b, d, c, f, g) { for (var e = 1 / (f + f + 1), q = 4 * d, h, r, k, p, n, u, m = 0; m < d; ) { r = h = 4 * m++ + g; k = h + f * q; p = a[h]; n = a[h + q * (c - 1)]; u = (f + 1) * p; for (var t = 0, x = f; t < x; ) { var v = t++; u += a[h + v * q]; } t = 0; for (x = f + 1; t < x; ) t++, (u += a[k] - p), (b[h] = Math.round(Ba.toFloat(u) * e)), (k += q), (h += q); p = f + 1; for (t = c - f; p < t; ) p++, (u += a[k] - a[r]), (b[h] = Math.round(Ba.toFloat(u) * e)), (r += q), (k += q), (h += q); k = c - f; for (p = c; k < p; ) k++, (u += n - a[r]), (b[h] = Math.round(Ba.toFloat(u) * e)), (r += q), (h += q); } }; bb.__calculateSourceOffset = function (a, b, d, c) { d -= b.x | 0; b = c - (b.y | 0); return 0 > d || 0 > b || d >= a.width || b >= a.height ? -1 : 4 * (b * (a.width | 0) + d); }; bb.__getBoxesForGaussianBlur = function (a, b) { var d = Math.floor(Math.sqrt((12 * a * a) / b + 1)); 0 == d % 2 && --d; var c = d + 2; a = Math.round((12 * a * a - b * d * d - 4 * b * d - 3 * b) / (-4 * d - 4)); for (var f = [], g = 0; g < b; ) { var l = g++; f.push(l < a ? d : c); } return f; }; bb.__pixelCompare = function (a, b) { var d = (a >>> 24) & 255, c = (b >>> 24) & 255; if (d != c) return Ba.gt(d, c) ? 1 : -1; d = (a >>> 16) & 255; c = (b >>> 16) & 255; if (d != c) return Ba.gt(d, c) ? 1 : -1; d = (a >>> 8) & 255; c = (b >>> 8) & 255; if (d != c) return Ba.gt(d, c) ? 1 : -1; d = a & 255; c = b & 255; return d != c ? (Ba.gt(d, c) ? 1 : -1) : 0; }; bb.__translatePixel = function (a, b, d, c, f, g, l) { d = 4 * (g * (d.width | 0) + f); b = bb.__calculateSourceOffset(b, c, f, g); 0 > b ? (a[d] = a[d + 1] = a[d + 2] = a[d + 3] = 0) : ((a[d] = a[b]), (a[d + 1] = a[b + 1]), (a[d + 2] = a[b + 2]), (l = (Ba.toFloat(a[b + 3]) * l) | 0), (a[d + 3] = 0 > l ? 0 : 255 < l ? 255 : l)); }; var He = function (a, b) { this.image = a; null == b ? (this.rect = a.get_rect()) : (0 > b.x && (b.x = 0), 0 > b.y && (b.y = 0), b.x + b.width > a.width && (b.width = a.width - b.x), b.y + b.height > a.height && (b.height = a.height - b.y), 0 > b.width && (b.width = 0), 0 > b.height && (b.height = 0), (this.rect = b)); this.stride = a.buffer.get_stride(); this.__update(); }; k['lime._internal.graphics._ImageDataUtil.ImageDataView'] = He; He.__name__ = 'lime._internal.graphics._ImageDataUtil.ImageDataView'; He.prototype = { x: null, y: null, height: null, width: null, byteOffset: null, image: null, rect: null, stride: null, tempRect: null, clip: function (a, b, d, c) { null == this.tempRect && (this.tempRect = new Qd()); this.tempRect.setTo(a, b, d, c); this.rect.intersection(this.tempRect, this.rect); this.__update(); }, hasRow: function (a) { return 0 <= a ? a < this.height : !1; }, offset: function (a, b) { 0 > a ? ((this.rect.x += a), 0 > this.rect.x && (this.rect.x = 0)) : ((this.rect.x += a), (this.rect.width -= a)); 0 > b ? ((this.rect.y += b), 0 > this.rect.y && (this.rect.y = 0)) : ((this.rect.y += b), (this.rect.height -= b)); this.__update(); }, row: function (a) { return this.byteOffset + this.stride * a; }, __update: function () { this.x = Math.ceil(this.rect.x); this.y = Math.ceil(this.rect.y); this.width = Math.floor(this.rect.width); this.height = Math.floor(this.rect.height); this.byteOffset = this.stride * (this.y + this.image.offsetY) + 4 * (this.x + this.image.offsetX); }, __class__: He }; var Ye = function () {}; k['lime._internal.graphics.StackBlur'] = Ye; Ye.__name__ = 'lime._internal.graphics.StackBlur'; Ye.blur = function (a, b, d, c, f, g, l) { a.copyPixels(b, d, c); Ye.__stackBlurCanvasRGBA(a, d.width | 0, d.height | 0, f, g, l); }; Ye.__stackBlurCanvasRGBA = function (a, b, d, c, f, g) { c = Math.round(c) >> 1; f = Math.round(f) >> 1; if ( null != Ye.MUL_TABLE && (c >= Ye.MUL_TABLE.length && (c = Ye.MUL_TABLE.length - 1), f >= Ye.MUL_TABLE.length && (f = Ye.MUL_TABLE.length - 1), !(0 > c || 0 > f)) ) { 1 > g && (g = 1); 3 < g && (g = 3); a = a.get_data(); var e, q, h = c + c + 1; var r = f + f + 1; var k = b - 1, p = d - 1, n = c + 1, u = f + 1, m = new Hi(), t = m; var x = 1; for (var v = h; x < v; ) x++, (t = t.n = new Hi()); t.n = m; var w = (h = new Hi()); x = 1; for (v = r; x < v; ) x++, (w = w.n = new Hi()); w.n = h; for ( var G = Ye.MUL_TABLE[c], B = Ye.SHG_TABLE[c], N = Ye.MUL_TABLE[f], H = Ye.SHG_TABLE[f]; 0 < g; ) { --g; var D = (q = 0); var z = G, C = B; for (e = d; ; ) { var ya = a[q]; r = n * ya; var E = a[q + 1]; var F = n * E; var I = a[q + 2]; var J = n * I; x = a[q + 3]; var L = n * x; t = m; for (w = n; (t.r = ya), (t.g = E), (t.b = I), (t.a = x), (t = t.n), -1 < --w; ); x = 1; for (v = n; x < v; ) (w = x++), (w = q + ((k < w ? k : w) << 2)), (r += t.r = a[w]), (F += t.g = a[w + 1]), (J += t.b = a[w + 2]), (L += t.a = a[w + 3]), (t = t.n); v = m; t = 0; for (x = b; t < x; ) (w = t++), (a[q++] = (r * z) >>> C), (a[q++] = (F * z) >>> C), (a[q++] = (J * z) >>> C), (a[q++] = (L * z) >>> C), (w = w + c + 1), (w = (D + (w < k ? w : k)) << 2), (r -= v.r - (v.r = a[w])), (F -= v.g - (v.g = a[w + 1])), (J -= v.b - (v.b = a[w + 2])), (L -= v.a - (v.a = a[w + 3])), (v = v.n); D += b; if (!(0 < --e)) break; } z = N; C = H; e = 0; for (D = b; e < D; ) { t = e++; q = t << 2; ya = a[q]; r = u * ya; E = a[q + 1]; F = u * E; I = a[q + 2]; J = u * I; x = a[q + 3]; L = u * x; w = h; q = 0; for (v = u; q < v; ) q++, (w.r = ya), (w.g = E), (w.b = I), (w.a = x), (w = w.n); x = b; v = 1; for (ya = f + 1; v < ya; ) (E = v++), (q = (x + t) << 2), (r += w.r = a[q]), (F += w.g = a[q + 1]), (J += w.b = a[q + 2]), (L += w.a = a[q + 3]), (w = w.n), E < p && (x += b); q = t; v = h; if (0 < g) for (ya = 0, E = d; ya < E; ) (I = ya++), (w = q << 2), (x = (L * z) >>> C), (a[w + 3] = x), 0 < x ? ((a[w] = (r * z) >>> C), (a[w + 1] = (F * z) >>> C), (a[w + 2] = (J * z) >>> C)) : (a[w] = a[w + 1] = a[w + 2] = 0), (w = I + u), (w = (t + (w < p ? w : p) * b) << 2), (r -= v.r - (v.r = a[w])), (F -= v.g - (v.g = a[w + 1])), (J -= v.b - (v.b = a[w + 2])), (L -= v.a - (v.a = a[w + 3])), (v = v.n), (q += b); else for (var O = 0, M = d; O < M; ) { var A = O++; w = q << 2; x = (L * z) >>> C; a[w + 3] = x; 0 < x ? ((x = 255 / x), (ya = (((r * z) >>> C) * x) | 0), (E = (((F * z) >>> C) * x) | 0), (I = (((J * z) >>> C) * x) | 0), (a[w] = 255 < ya ? 255 : ya), (a[w + 1] = 255 < E ? 255 : E), (a[w + 2] = 255 < I ? 255 : I)) : (a[w] = a[w + 1] = a[w + 2] = 0); w = A + u; w = (t + (w < p ? w : p) * b) << 2; r -= v.r - (v.r = a[w]); F -= v.g - (v.g = a[w + 1]); J -= v.b - (v.b = a[w + 2]); L -= v.a - (v.a = a[w + 3]); v = v.n; q += b; } } } } }; var Hi = function () { this.a = this.b = this.g = this.r = 0; this.n = null; }; k['lime._internal.graphics.BlurStack'] = Hi; Hi.__name__ = 'lime._internal.graphics.BlurStack'; Hi.prototype = { r: null, g: null, b: null, a: null, n: null, __class__: Hi }; var Lz = function () {}; k['lime._internal.macros.AssetsMacro'] = Lz; Lz.__name__ = 'lime._internal.macros.AssetsMacro'; var wo = function (a) { this.i = 0; this.string = a; this.index = 0; this.endIndex = a.length; }; k['lime._internal.unifill.CodePointIter'] = wo; wo.__name__ = 'lime._internal.unifill.CodePointIter'; wo.prototype = { string: null, index: null, endIndex: null, hasNext: function () { return this.index < this.endIndex; }, i: null, next: function () { var a = (this.i = this.index), b = this.string; b = b.charCodeAt(this.index); this.index = a + (55296 <= b && 56319 >= b ? 2 : 1); b = this.string; return gg.codePointAt(b, this.i); }, __class__: wo }; var Ii = function () {}; k['lime._internal.unifill.Exception'] = Ii; Ii.__name__ = 'lime._internal.unifill.Exception'; Ii.prototype = { toString: function () { throw J.thrown(null); }, __class__: Ii }; var xo = function (a) { this.code = a; }; k['lime._internal.unifill.InvalidCodePoint'] = xo; xo.__name__ = 'lime._internal.unifill.InvalidCodePoint'; xo.__super__ = Ii; xo.prototype = t(Ii.prototype, { code: null, toString: function () { return 'InvalidCodePoint(code: ' + this.code + ')'; }, __class__: xo }); var Bh = function (a) { this.index = a; }; k['lime._internal.unifill.InvalidCodeUnitSequence'] = Bh; Bh.__name__ = 'lime._internal.unifill.InvalidCodeUnitSequence'; Bh.__super__ = Ii; Bh.prototype = t(Ii.prototype, { index: null, toString: function () { return 'InvalidCodeUnitSequence(index: ' + this.index + ')'; }, __class__: Bh }); var Ze = function () {}; k['lime._internal.unifill.InternalEncoding'] = Ze; Ze.__name__ = 'lime._internal.unifill.InternalEncoding'; Ze.__properties__ = { get_internalEncoding: 'get_internalEncoding' }; Ze.get_internalEncoding = function () { return 'UTF-16'; }; Ze.codeUnitAt = function (a, b) { return a.charCodeAt(b); }; Ze.codePointAt = function (a, b) { return gg.codePointAt(a, b); }; Ze.charAt = function (a, b) { var d = a.charCodeAt(b); return (b = C.substr(a, b, 55296 <= d && 56319 >= d ? 2 : 1)); }; Ze.codePointCount = function (a, b, d) { return gg.codePointCount(a, b, d); }; Ze.codePointWidthAt = function (a, b) { a = a.charCodeAt(b); return 55296 <= a && 56319 >= a ? 2 : 1; }; Ze.codePointWidthBefore = function (a, b) { a = a.charCodeAt(b - 1); return 56320 <= a && 57343 >= a ? 2 : 1; }; Ze.offsetByCodePoints = function (a, b, d) { if (0 <= d) for (var c = a.length, f = 0; f < d && b < c; ) { var g = a.charCodeAt(b); b += 55296 <= g && 56319 >= g ? 2 : 1; ++f; } else for (c = 0; c < -d && 0 < b; ) (g = a.charCodeAt(b - 1)), (b -= 56320 <= g && 57343 >= g ? 2 : 1), ++c; return b; }; Ze.backwardOffsetByCodePoints = function (a, b, d) { d = -d; if (0 <= d) for (var c = a.length, f = 0; f < d && b < c; ) { var g = a.charCodeAt(b); b += 55296 <= g && 56319 >= g ? 2 : 1; ++f; } else for (c = 0; c < -d && 0 < b; ) (g = a.charCodeAt(b - 1)), (b -= 56320 <= g && 57343 >= g ? 2 : 1), ++c; return b; }; Ze.fromCodePoint = function (a) { return 65535 >= a ? String.fromCodePoint(a) : String.fromCodePoint((a >> 10) + 55232) + String.fromCodePoint((a & 1023) | 56320); }; Ze.fromCodePoints = function (a) { var b = ''; for (a = K(a); a.hasNext(); ) { var d = a.next(); 65535 >= d ? (b += String.fromCodePoint(d)) : ((b += String.fromCodePoint((d >> 10) + 55232)), (b += String.fromCodePoint((d & 1023) | 56320))); } return b; }; Ze.validate = function (a) { gg.validate(a); }; Ze.isValidString = function (a) { try { return gg.validate(a), !0; } catch (b) { ka.lastError = b; if (J.caught(b).unwrap() instanceof Bh) return !1; throw b; } }; Ze.encodeWith = function (a, b) { 65535 >= b ? a(b) : (a((b >> 10) + 55232), a((b & 1023) | 56320)); }; var Qy = function (a, b, d) { this.i = 0; this.string = a; this.index = b; this.endIndex = d; }; k['lime._internal.unifill.InternalEncodingIter'] = Qy; Qy.__name__ = 'lime._internal.unifill.InternalEncodingIter'; Qy.prototype = { string: null, index: null, endIndex: null, hasNext: function () { return this.index < this.endIndex; }, i: null, next: function () { var a = (this.i = this.index), b = this.string.charCodeAt(this.index); this.index = a + (55296 <= b && 56319 >= b ? 2 : 1); return this.i; }, __class__: Qy }; var Rf = function () {}; k['lime._internal.unifill.Unicode'] = Rf; Rf.__name__ = 'lime._internal.unifill.Unicode'; Rf.decodeSurrogate = function (a, b) { return ((a - 55232) << 10) | (b & 1023); }; Rf.encodeHighSurrogate = function (a) { return (a >> 10) + 55232; }; Rf.encodeLowSurrogate = function (a) { return (a & 1023) | 56320; }; Rf.isScalar = function (a) { return 0 <= a && 1114111 >= a && !(55296 <= a && 56319 >= a) ? !(56320 <= a && 57343 >= a) : !1; }; Rf.isHighSurrogate = function (a) { return 55296 <= a ? 56319 >= a : !1; }; Rf.isLowSurrogate = function (a) { return 56320 <= a ? 57343 >= a : !1; }; var tf = function () {}; k['lime._internal.unifill.Unifill'] = tf; tf.__name__ = 'lime._internal.unifill.Unifill'; tf.uLength = function (a) { return gg.codePointCount(a, 0, a.length); }; tf.uCharAt = function (a, b) { var d = a; if (0 <= b) for (var c = 0, f = d.length, g = 0; g < b && c < f; ) { var l = d.charCodeAt(c); c += 55296 <= l && 56319 >= l ? 2 : 1; ++g; } else for (f = c = 0; f < -b && 0 < c; ) (l = d.charCodeAt(c - 1)), (c -= 56320 <= l && 57343 >= l ? 2 : 1), ++f; b = c; d = a; l = d.charCodeAt(b); return (a = C.substr(d, b, 55296 <= l && 56319 >= l ? 2 : 1)); }; tf.uCharCodeAt = function (a, b) { var d = a; if (0 <= b) for (var c = 0, f = d.length, g = 0; g < b && c < f; ) { var l = d.charCodeAt(c); c += 55296 <= l && 56319 >= l ? 2 : 1; ++g; } else for (f = c = 0; f < -b && 0 < c; ) (l = d.charCodeAt(c - 1)), (c -= 56320 <= l && 57343 >= l ? 2 : 1), ++f; return gg.codePointAt(a, c); }; tf.uCodePointAt = function (a, b) { var d = a; if (0 <= b) for (var c = 0, f = d.length, g = 0; g < b && c < f; ) { var l = d.charCodeAt(c); c += 55296 <= l && 56319 >= l ? 2 : 1; ++g; } else for (f = c = 0; f < -b && 0 < c; ) (l = d.charCodeAt(c - 1)), (c -= 56320 <= l && 57343 >= l ? 2 : 1), ++f; return gg.codePointAt(a, c); }; tf.uIndexOf = function (a, b, d) { null == d && (d = 0); var c = a; if (0 <= d) for (var f = 0, g = c.length, l = 0; l < d && f < g; ) { var q = c.charCodeAt(f); f += 55296 <= q && 56319 >= q ? 2 : 1; ++l; } else for (g = f = 0; g < -d && 0 < f; ) (q = c.charCodeAt(f - 1)), (f -= 56320 <= q && 57343 >= q ? 2 : 1), ++g; f = a.indexOf(b, f); return 0 <= f ? gg.codePointCount(a, 0, f) : -1; }; tf.uLastIndexOf = function (a, b, d) { null == d && (d = a.length - 1); var c = a; if (0 <= d) for (var f = 0, g = c.length, l = 0; l < d && f < g; ) { var q = c.charCodeAt(f); f += 55296 <= q && 56319 >= q ? 2 : 1; ++l; } else for (g = f = 0; g < -d && 0 < f; ) (q = c.charCodeAt(f - 1)), (f -= 56320 <= q && 57343 >= q ? 2 : 1), ++g; f = a.lastIndexOf(b, f); return 0 <= f ? gg.codePointCount(a, 0, f) : -1; }; tf.uSplit = function (a, b) { if (0 == b.length) { b = []; for (var d, c = 0, f = a.length; c < f; ) { d = c; var g = a.charCodeAt(c); c += 55296 <= g && 56319 >= g ? 2 : 1; g = a; var l = g.charCodeAt(d); d = C.substr(g, d, 55296 <= l && 56319 >= l ? 2 : 1); b.push(d); } return b; } return a.split(b); }; tf.uSubstr = function (a, b, d) { var c = 0 <= b ? 0 : a.length; var f = a; if (0 <= b) for (var g = f.length, l = 0; l < b && c < g; ) { var q = f.charCodeAt(c); c += 55296 <= q && 56319 >= q ? 2 : 1; ++l; } else for (g = 0; g < -b && 0 < c; ) (q = f.charCodeAt(c - 1)), (c -= 56320 <= q && 57343 >= q ? 2 : 1), ++g; b = c; if (null == d) d = a.length; else if (0 > d) d = b; else { f = a; if (0 <= d) for (c = b, g = f.length, l = 0; l < d && c < g; ) (q = f.charCodeAt(c)), (c += 55296 <= q && 56319 >= q ? 2 : 1), ++l; else for (c = b, g = 0; g < -d && 0 < c; ) (q = f.charCodeAt(c - 1)), (c -= 56320 <= q && 57343 >= q ? 2 : 1), ++g; d = c; } return a.substring(b, d); }; tf.uSubstring = function (a, b, d) { if (0 > b) b = 0; else { var c = a; if (0 <= b) for (var f = 0, g = c.length, l = 0; l < b && f < g; ) { var q = c.charCodeAt(f); f += 55296 <= q && 56319 >= q ? 2 : 1; ++l; } else for (g = f = 0; g < -b && 0 < f; ) (q = c.charCodeAt(f - 1)), (f -= 56320 <= q && 57343 >= q ? 2 : 1), ++g; b = f; } if (null == d) d = a.length; else if (0 > d) d = 0; else { c = a; if (0 <= d) for (f = 0, g = c.length, l = 0; l < d && f < g; ) (q = c.charCodeAt(f)), (f += 55296 <= q && 56319 >= q ? 2 : 1), ++l; else for (g = f = 0; g < -d && 0 < f; ) (q = c.charCodeAt(f - 1)), (f -= 56320 <= q && 57343 >= q ? 2 : 1), ++g; d = f; } return a.substring(b, d); }; tf.uIterator = function (a) { return new wo(a); }; tf.uCompare = function (a, b) { for (var d, c = 0, f = a.length, g, l = 0, q = b.length; c < f && l < q; ) { d = c; g = a.charCodeAt(c); c += 55296 <= g && 56319 >= g ? 2 : 1; d = gg.codePointAt(a, d); g = l; var h = b.charCodeAt(l); l += 55296 <= h && 56319 >= h ? 2 : 1; g = gg.codePointAt(b, g); if (d < g) return -1; if (d > g) return 1; } return l < q ? -1 : c < f ? 1 : 0; }; tf.uToString = function (a) { var b = ''; for (a = K(a); a.hasNext(); ) { var d = a.next(); 65535 >= d ? (b += String.fromCodePoint(d)) : ((b += String.fromCodePoint((d >> 10) + 55232)), (b += String.fromCodePoint((d & 1023) | 56320))); } return b; }; tf.uAddChar = function (a, b) { 65535 >= b ? (a.b += String.fromCodePoint(b)) : ((a.b += String.fromCodePoint((b >> 10) + 55232)), (a.b += String.fromCodePoint((b & 1023) | 56320))); }; var gg = { __properties__: { get_length: 'get_length' }, fromCodePoint: function (a) { return 65535 >= a ? String.fromCodePoint(a) : String.fromCodePoint((a >> 10) + 55232) + String.fromCodePoint((a & 1023) | 56320); }, fromCodePoints: function (a) { var b = ''; for (a = K(a); a.hasNext(); ) { var d = a.next(); 65535 >= d ? (b += String.fromCodePoint(d)) : ((b += String.fromCodePoint((d >> 10) + 55232)), (b += String.fromCodePoint((d & 1023) | 56320))); } return b; }, fromString: function (a) { return a; }, fromArray: function (a) { for (var b = '', d = 0; d < a.length; ) { var c = a[d]; ++d; b += String.fromCodePoint(c); } return b; }, encodeWith: function (a, b) { 65535 >= b ? a(b) : (a((b >> 10) + 55232), a((b & 1023) | 56320)); }, codeUnitAt: function (a, b) { return a.charCodeAt(b); }, codePointAt: function (a, b) { return Ji.decode_code_point( a.length, function (b) { return a.charCodeAt(b); }, b ); }, charAt: function (a, b) { var d = a.charCodeAt(b); return C.substr(a, b, 55296 <= d && 56319 >= d ? 2 : 1); }, codePointCount: function (a, b, d) { for (var c = 0; b < d; ) { var f = a.charCodeAt(b); b += 55296 <= f && 56319 >= f ? 2 : 1; ++c; } return c; }, codePointWidthAt: function (a, b) { a = a.charCodeAt(b); return 55296 <= a && 56319 >= a ? 2 : 1; }, codePointWidthBefore: function (a, b) { a = a.charCodeAt(b - 1); return 56320 <= a && 57343 >= a ? 2 : 1; }, offsetByCodePoints: function (a, b, d) { if (0 <= d) for (var c = a.length, f = 0; f < d && b < c; ) { var g = a.charCodeAt(b); b += 55296 <= g && 56319 >= g ? 2 : 1; ++f; } else for (c = 0; c < -d && 0 < b; ) (g = a.charCodeAt(b - 1)), (b -= 56320 <= g && 57343 >= g ? 2 : 1), ++c; return b; }, substr: function (a, b, d) { return C.substr(a, b, d); }, validate: function (a) { for ( var b = a.length, d = function (b) { return a.charCodeAt(b); }, c = 0; c < b; ) { Ji.decode_code_point(b, d, c); var f = a.charCodeAt(c); c += 55296 <= f && 56319 >= f ? 2 : 1; } }, toString: function (a) { return a; }, toArray: function (a) { for (var b = 0, d = a.length, c = []; b < d; ) c.push(a.charCodeAt(b++)); return c; }, _new: function (a) { return a; }, get_length: function (a) { return a.length; }, forward_offset_by_code_points: function (a, b, d) { for (var c = a.length, f = 0; f < d && b < c; ) { var g = a.charCodeAt(b); b += 55296 <= g && 56319 >= g ? 2 : 1; ++f; } return b; }, backward_offset_by_code_points: function (a, b, d) { for (var c = 0; c < d && 0 < b; ) { var f = a.charCodeAt(b - 1); b -= 56320 <= f && 57343 >= f ? 2 : 1; ++c; } return b; } }, Ji = function () {}; k['lime._internal.unifill._Utf16.Utf16Impl'] = Ji; Ji.__name__ = 'lime._internal.unifill._Utf16.Utf16Impl'; Ji.code_point_width = function (a) { return 55296 <= a && 56319 >= a ? 2 : 1; }; Ji.find_prev_code_point = function (a, b) { a = a(b - 1); return 56320 <= a && 57343 >= a ? 2 : 1; }; Ji.encode_code_point = function (a, b) { 65535 >= b ? a(b) : (a((b >> 10) + 55232), a((b & 1023) | 56320)); }; Ji.decode_code_point = function (a, b, d) { if (0 > d || a <= d) throw J.thrown(new Bh(d)); var c = b(d); if (55296 <= c && 56319 >= c) { if (0 > d + 1 || a <= d + 1) throw J.thrown(new Bh(d)); a = b(d + 1); if (56320 <= a && 57343 >= a) return ((c - 55232) << 10) | (a & 1023); throw J.thrown(new Bh(d)); } if (56320 <= c && 57343 >= c) throw J.thrown(new Bh(d)); return c; }; var Oj = function () {}; k['lime.app.IModule'] = Oj; Oj.__name__ = 'lime.app.IModule'; Oj.__isInterface__ = !0; Oj.prototype = { __registerLimeModule: null, __unregisterLimeModule: null, __class__: Oj }; var Pj = function () { this.onExit = new Xh(); }; k['lime.app.Module'] = Pj; Pj.__name__ = 'lime.app.Module'; Pj.__interfaces__ = [Oj]; Pj.prototype = { onExit: null, __registerLimeModule: function (a) {}, __unregisterLimeModule: function (a) {}, __class__: Pj }; var vd = function () { this.onCreateWindow = new yo(); this.onUpdate = new Xh(); this.onExit = new Xh(); null == vd.current && (vd.current = this); this.meta = new qa(); this.modules = []; this.__windowByID = new Ya(); this.__windows = []; this.__backend = new so(this); this.__registerLimeModule(this); this.__preloader = new zo(); this.__preloader.onProgress.add(m(this, this.onPreloadProgress)); this.__preloader.onComplete.add(m(this, this.onPreloadComplete)); }; k['lime.app.Application'] = vd; vd.__name__ = 'lime.app.Application'; vd.__super__ = Pj; vd.prototype = t(Pj.prototype, { meta: null, modules: null, onUpdate: null, onCreateWindow: null, preloader: null, window: null, windows: null, __backend: null, __preloader: null, __window: null, __windowByID: null, __windows: null, addModule: function (a) { a.__registerLimeModule(this); this.modules.push(a); }, createWindow: function (a) { a = this.__createWindow(a); this.__addWindow(a); return a; }, exec: function () { vd.current = this; return this.__backend.exec(); }, onGamepadAxisMove: function (a, b, d) {}, onGamepadButtonDown: function (a, b) {}, onGamepadButtonUp: function (a, b) {}, onGamepadConnect: function (a) {}, onGamepadDisconnect: function (a) {}, onJoystickAxisMove: function (a, b, d) {}, onJoystickButtonDown: function (a, b) {}, onJoystickButtonUp: function (a, b) {}, onJoystickConnect: function (a) {}, onJoystickDisconnect: function (a) {}, onJoystickHatMove: function (a, b, d) {}, onJoystickTrackballMove: function (a, b, d, c) {}, onKeyDown: function (a, b) {}, onKeyUp: function (a, b) {}, onModuleExit: function (a) {}, onMouseDown: function (a, b, d) {}, onMouseMove: function (a, b) {}, onMouseMoveRelative: function (a, b) {}, onMouseUp: function (a, b, d) {}, onMouseWheel: function (a, b, d) {}, onPreloadComplete: function () {}, onPreloadProgress: function (a, b) {}, onRenderContextLost: function () {}, onRenderContextRestored: function (a) {}, onTextEdit: function (a, b, d) {}, onTextInput: function (a) {}, onTouchCancel: function (a) {}, onTouchEnd: function (a) {}, onTouchMove: function (a) {}, onTouchStart: function (a) {}, onWindowActivate: function () {}, onWindowClose: function () {}, onWindowCreate: function () {}, onWindowDeactivate: function () {}, onWindowDropFile: function (a) {}, onWindowEnter: function () {}, onWindowExpose: function () {}, onWindowFocusIn: function () {}, onWindowFocusOut: function () {}, onWindowFullscreen: function () {}, onWindowLeave: function () {}, onWindowMove: function (a, b) {}, onWindowMinimize: function () {}, onWindowResize: function (a, b) {}, onWindowRestore: function () {}, removeModule: function (a) { null != a && (a.__unregisterLimeModule(this), C.remove(this.modules, a)); }, render: function (a) {}, update: function (a) {}, __addWindow: function (a) { if (null != a) { this.__windows.push(a); this.__windowByID.h[a.id] = a; var b = m(this, this.__onWindowClose); a.onClose.add( function () { b(a); }, !1, -1e4 ); null == this.__window && ((this.__window = a), a.onActivate.add(m(this, this.onWindowActivate)), a.onRenderContextLost.add(m(this, this.onRenderContextLost)), a.onRenderContextRestored.add(m(this, this.onRenderContextRestored)), a.onDeactivate.add(m(this, this.onWindowDeactivate)), a.onDropFile.add(m(this, this.onWindowDropFile)), a.onEnter.add(m(this, this.onWindowEnter)), a.onExpose.add(m(this, this.onWindowExpose)), a.onFocusIn.add(m(this, this.onWindowFocusIn)), a.onFocusOut.add(m(this, this.onWindowFocusOut)), a.onFullscreen.add(m(this, this.onWindowFullscreen)), a.onKeyDown.add(m(this, this.onKeyDown)), a.onKeyUp.add(m(this, this.onKeyUp)), a.onLeave.add(m(this, this.onWindowLeave)), a.onMinimize.add(m(this, this.onWindowMinimize)), a.onMouseDown.add(m(this, this.onMouseDown)), a.onMouseMove.add(m(this, this.onMouseMove)), a.onMouseMoveRelative.add(m(this, this.onMouseMoveRelative)), a.onMouseUp.add(m(this, this.onMouseUp)), a.onMouseWheel.add(m(this, this.onMouseWheel)), a.onMove.add(m(this, this.onWindowMove)), a.onRender.add(m(this, this.render)), a.onResize.add(m(this, this.onWindowResize)), a.onRestore.add(m(this, this.onWindowRestore)), a.onTextEdit.add(m(this, this.onTextEdit)), a.onTextInput.add(m(this, this.onTextInput)), this.onWindowCreate()); this.onCreateWindow.dispatch(a); } }, __createWindow: function (a) { a = new Ki(this, a); return -1 == a.id ? null : a; }, __registerLimeModule: function (a) { a.onUpdate.add(m(this, this.update)); a.onExit.add(m(this, this.onModuleExit), !1, 0); a.onExit.add(m(this, this.__onModuleExit), !1, 0); for (a = Jd.devices.iterator(); a.hasNext(); ) { var b = a.next(); this.__onGamepadConnect(b); } Jd.onConnect.add(m(this, this.__onGamepadConnect)); for (a = zc.devices.iterator(); a.hasNext(); ) (b = a.next()), this.__onJoystickConnect(b); zc.onConnect.add(m(this, this.__onJoystickConnect)); nd.onCancel.add(m(this, this.onTouchCancel)); nd.onStart.add(m(this, this.onTouchStart)); nd.onMove.add(m(this, this.onTouchMove)); nd.onEnd.add(m(this, this.onTouchEnd)); }, __removeWindow: function (a) { null != a && this.__windowByID.h.hasOwnProperty(a.id) && (this.__window == a && (this.__window = null), C.remove(this.__windows, a), this.__windowByID.remove(a.id), a.close(), 0 == this.__windows.length && Ua.exit(0)); }, __onGamepadConnect: function (a) { this.onGamepadConnect(a); var b = m(this, this.onGamepadAxisMove), d = function (d, c) { b(a, d, c); }; a.onAxisMove.add(d); var c = m(this, this.onGamepadButtonDown); d = function (b) { c(a, b); }; a.onButtonDown.add(d); var f = m(this, this.onGamepadButtonUp); d = function (b) { f(a, b); }; a.onButtonUp.add(d); var g = m(this, this.onGamepadDisconnect); a.onDisconnect.add(function () { g(a); }); }, __onJoystickConnect: function (a) { this.onJoystickConnect(a); var b = m(this, this.onJoystickAxisMove), d = function (d, c) { b(a, d, c); }; a.onAxisMove.add(d); var c = m(this, this.onJoystickButtonDown); d = function (b) { c(a, b); }; a.onButtonDown.add(d); var f = m(this, this.onJoystickButtonUp); d = function (b) { f(a, b); }; a.onButtonUp.add(d); var g = m(this, this.onJoystickDisconnect); a.onDisconnect.add(function () { g(a); }); var l = m(this, this.onJoystickHatMove); d = function (b, d) { l(a, b, d); }; a.onHatMove.add(d); var q = m(this, this.onJoystickTrackballMove); d = function (b, d, c) { q(a, b, d, c); }; a.onTrackballMove.add(d); }, __onModuleExit: function (a) { this.__backend.exit(); }, __onWindowClose: function (a) { if (this.__window == a) this.onWindowClose(); this.__removeWindow(a); }, __unregisterLimeModule: function (a) { a.onUpdate.remove(m(this, this.update)); a.onExit.remove(m(this, this.__onModuleExit)); a.onExit.remove(m(this, this.onModuleExit)); Jd.onConnect.remove(m(this, this.__onGamepadConnect)); zc.onConnect.remove(m(this, this.__onJoystickConnect)); nd.onCancel.remove(m(this, this.onTouchCancel)); nd.onStart.remove(m(this, this.onTouchStart)); nd.onMove.remove(m(this, this.onTouchMove)); nd.onEnd.remove(m(this, this.onTouchEnd)); this.onModuleExit(0); }, get_preloader: function () { return this.__preloader; }, get_window: function () { return this.__window; }, get_windows: function () { return this.__windows; }, __class__: vd, __properties__: { get_windows: 'get_windows', get_window: 'get_window', get_preloader: 'get_preloader' } }); var Ry = function () { this.canceled = !1; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; k['lime.app.Event'] = Ry; Ry.__name__ = 'lime.app.Event'; Ry.prototype = { canceled: null, __listeners: null, __repeat: null, __priorities: null, add: function (a, b, d) { null == d && (d = 0); null == b && (b = !1); for (var c = 0, f = this.__priorities.length; c < f; ) { var g = c++; if (d > this.__priorities[g]) { this.__listeners.splice(g, 0, a); this.__priorities.splice(g, 0, d); this.__repeat.splice(g, 0, !b); return; } } this.__listeners.push(a); this.__priorities.push(d); this.__repeat.push(!b); }, cancel: function () { this.canceled = !0; }, dispatch: null, has: function (a) { for (var b = 0, d = this.__listeners; b < d.length; ) { var c = d[b]; ++b; if (aa.compareMethods(c, a)) return !0; } return !1; }, remove: function (a) { for (var b = this.__listeners.length; 0 <= --b; ) aa.compareMethods(this.__listeners[b], a) && (this.__listeners.splice(b, 1), this.__priorities.splice(b, 1), this.__repeat.splice(b, 1)); }, removeAll: function () { var a = this.__listeners.length; this.__listeners.splice(0, a); this.__priorities.splice(0, a); this.__repeat.splice(0, a); }, __class__: Ry }; var ib = function (a, b) { null == b && (b = !1); if (null != a) if (b) (b = new $d()), (b.future = this), Oe.queue({ promise: b, work: a }); else try { (this.value = a()), (this.isComplete = !0); } catch (d) { (ka.lastError = d), (this.error = J.caught(d).unwrap()), (this.isError = !0); } }; k['lime.app.Future'] = ib; ib.__name__ = 'lime.app.Future'; ib.ofEvents = function (a, b, d) { var c = new $d(); a.add(function (a) { c.complete(a); }, !0); null != b && b.add(function (a) { c.error(a); }, !0); null != d && d.add(function (a, b) { c.progress(a, b); }, !0); return c.future; }; ib.withError = function (a) { var b = new ib(); b.isError = !0; b.error = a; return b; }; ib.withValue = function (a) { var b = new ib(); b.isComplete = !0; b.value = a; return b; }; ib.prototype = { error: null, isComplete: null, isError: null, value: null, __completeListeners: null, __errorListeners: null, __progressListeners: null, onComplete: function (a) { null != a && (this.isComplete ? a(this.value) : this.isError || (null == this.__completeListeners && (this.__completeListeners = []), this.__completeListeners.push(a))); return this; }, onError: function (a) { null != a && (this.isError ? a(this.error) : this.isComplete || (null == this.__errorListeners && (this.__errorListeners = []), this.__errorListeners.push(a))); return this; }, onProgress: function (a) { null != a && (null == this.__progressListeners && (this.__progressListeners = []), this.__progressListeners.push(a)); return this; }, ready: function (a) { this.isComplete || this.isError || Va.warn('Cannot block thread in JavaScript', { fileName: 'lime/app/Future.hx', lineNumber: 208, className: 'lime.app.Future', methodName: 'ready' }); return this; }, result: function (a) { null == a && (a = -1); this.ready(a); return this.isComplete ? this.value : null; }, then: function (a) { if (this.isComplete) return a(this.value); if (this.isError) { var b = new ib(); b.isError = !0; b.error = this.error; return b; } var d = new $d(); this.onError(m(d, d.error)); this.onProgress(m(d, d.progress)); this.onComplete(function (b) { b = a(b); b.onError(m(d, d.error)); b.onComplete(m(d, d.complete)); }); return d.future; }, __class__: ib }; var Oe = function () {}; k['lime.app._Future.FutureWork'] = Oe; Oe.__name__ = 'lime.app._Future.FutureWork'; Oe.queue = function (a) { null == Oe.threadPool && ((Oe.threadPool = new Ao()), Oe.threadPool.doWork.add(Oe.threadPool_doWork), Oe.threadPool.onComplete.add(Oe.threadPool_onComplete), Oe.threadPool.onError.add(Oe.threadPool_onError)); Oe.threadPool.queue(a); }; Oe.threadPool_doWork = function (a) { try { var b = a.work(); Oe.threadPool.sendComplete({ promise: a.promise, result: b }); } catch (d) { (ka.lastError = d), (b = J.caught(d).unwrap()), Oe.threadPool.sendError({ promise: a.promise, error: b }); } }; Oe.threadPool_onComplete = function (a) { a.promise.complete(a.result); }; Oe.threadPool_onError = function (a) { a.promise.error(a.error); }; var $d = function () { this.future = new ib(); }; k['lime.app.Promise'] = $d; $d.__name__ = 'lime.app.Promise'; $d.prototype = { future: null, isComplete: null, isError: null, complete: function (a) { if ( !this.future.isError && ((this.future.isComplete = !0), (this.future.value = a), null != this.future.__completeListeners) ) { for (var b = 0, d = this.future.__completeListeners; b < d.length; ) { var c = d[b]; ++b; c(a); } this.future.__completeListeners = null; } return this; }, completeWith: function (a) { a.onComplete(m(this, this.complete)); a.onError(m(this, this.error)); a.onProgress(m(this, this.progress)); return this; }, error: function (a) { if ( !this.future.isComplete && ((this.future.isError = !0), (this.future.error = a), null != this.future.__errorListeners) ) { for (var b = 0, d = this.future.__errorListeners; b < d.length; ) { var c = d[b]; ++b; c(a); } this.future.__errorListeners = null; } return this; }, progress: function (a, b) { if ( !this.future.isError && !this.future.isComplete && null != this.future.__progressListeners ) for (var d = 0, c = this.future.__progressListeners; d < c.length; ) { var f = c[d]; ++d; f(a, b); } return this; }, get_isComplete: function () { return this.future.isComplete; }, get_isError: function () { return this.future.isError; }, __class__: $d, __properties__: { get_isError: 'get_isError', get_isComplete: 'get_isComplete' } }; var Yh = function () { this.canceled = !1; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; k['lime.app._Event_Dynamic_Void'] = Yh; Yh.__name__ = 'lime.app._Event_Dynamic_Void'; Yh.prototype = { canceled: null, __repeat: null, __priorities: null, add: function (a, b, d) { null == d && (d = 0); null == b && (b = !1); for (var c = 0, f = this.__priorities.length; c < f; ) { var g = c++; if (d > this.__priorities[g]) { this.__listeners.splice(g, 0, a); this.__priorities.splice(g, 0, d); this.__repeat.splice(g, 0, !b); return; } } this.__listeners.push(a); this.__priorities.push(d); this.__repeat.push(!b); }, cancel: function () { this.canceled = !0; }, has: function (a) { for (var b = 0, d = this.__listeners; b < d.length; ) { var c = d[b]; ++b; if (aa.compareMethods(c, a)) return !0; } return !1; }, remove: function (a) { for (var b = this.__listeners.length; 0 <= --b; ) aa.compareMethods(this.__listeners[b], a) && (this.__listeners.splice(b, 1), this.__priorities.splice(b, 1), this.__repeat.splice(b, 1)); }, removeAll: function () { var a = this.__listeners.length; this.__listeners.splice(0, a); this.__priorities.splice(0, a); this.__repeat.splice(0, a); }, __listeners: null, dispatch: function (a) { this.canceled = !1; for ( var b = this.__listeners, d = this.__repeat, c = 0; c < b.length && (b[c](a), d[c] ? ++c : this.remove(b[c]), !this.canceled); ); }, __class__: Yh }; var Bo = function () { this.canceled = !1; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; k['lime.app._Event_Float_Float_Float_Void'] = Bo; Bo.__name__ = 'lime.app._Event_Float_Float_Float_Void'; Bo.prototype = { canceled: null, __repeat: null, __priorities: null, add: function (a, b, d) { null == d && (d = 0); null == b && (b = !1); for (var c = 0, f = this.__priorities.length; c < f; ) { var g = c++; if (d > this.__priorities[g]) { this.__listeners.splice(g, 0, a); this.__priorities.splice(g, 0, d); this.__repeat.splice(g, 0, !b); return; } } this.__listeners.push(a); this.__priorities.push(d); this.__repeat.push(!b); }, cancel: function () { this.canceled = !0; }, has: function (a) { for (var b = 0, d = this.__listeners; b < d.length; ) { var c = d[b]; ++b; if (aa.compareMethods(c, a)) return !0; } return !1; }, remove: function (a) { for (var b = this.__listeners.length; 0 <= --b; ) aa.compareMethods(this.__listeners[b], a) && (this.__listeners.splice(b, 1), this.__priorities.splice(b, 1), this.__repeat.splice(b, 1)); }, removeAll: function () { var a = this.__listeners.length; this.__listeners.splice(0, a); this.__priorities.splice(0, a); this.__repeat.splice(0, a); }, __listeners: null, dispatch: function (a, b, d) { this.canceled = !1; for ( var c = this.__listeners, f = this.__repeat, g = 0; g < c.length && (c[g](a, b, d), f[g] ? ++g : this.remove(c[g]), !this.canceled); ); }, __class__: Bo }; var Co = function () { this.canceled = !1; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; k['lime.app._Event_Float_Float_Int_Void'] = Co; Co.__name__ = 'lime.app._Event_Float_Float_Int_Void'; Co.prototype = { canceled: null, __repeat: null, __priorities: null, add: function (a, b, d) { null == d && (d = 0); null == b && (b = !1); for (var c = 0, f = this.__priorities.length; c < f; ) { var g = c++; if (d > this.__priorities[g]) { this.__listeners.splice(g, 0, a); this.__priorities.splice(g, 0, d); this.__repeat.splice(g, 0, !b); return; } } this.__listeners.push(a); this.__priorities.push(d); this.__repeat.push(!b); }, cancel: function () { this.canceled = !0; }, has: function (a) { for (var b = 0, d = this.__listeners; b < d.length; ) { var c = d[b]; ++b; if (aa.compareMethods(c, a)) return !0; } return !1; }, remove: function (a) { for (var b = this.__listeners.length; 0 <= --b; ) aa.compareMethods(this.__listeners[b], a) && (this.__listeners.splice(b, 1), this.__priorities.splice(b, 1), this.__repeat.splice(b, 1)); }, removeAll: function () { var a = this.__listeners.length; this.__listeners.splice(0, a); this.__priorities.splice(0, a); this.__repeat.splice(0, a); }, __listeners: null, dispatch: function (a, b, d) { this.canceled = !1; for ( var c = this.__listeners, f = this.__repeat, g = 0; g < c.length && (c[g](a, b, d), f[g] ? ++g : this.remove(c[g]), !this.canceled); ); }, __class__: Co }; var Qj = function () { this.canceled = !1; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; k['lime.app._Event_Float_Float_Void'] = Qj; Qj.__name__ = 'lime.app._Event_Float_Float_Void'; Qj.prototype = { canceled: null, __repeat: null, __priorities: null, add: function (a, b, d) { null == d && (d = 0); null == b && (b = !1); for (var c = 0, f = this.__priorities.length; c < f; ) { var g = c++; if (d > this.__priorities[g]) { this.__listeners.splice(g, 0, a); this.__priorities.splice(g, 0, d); this.__repeat.splice(g, 0, !b); return; } } this.__listeners.push(a); this.__priorities.push(d); this.__repeat.push(!b); }, cancel: function () { this.canceled = !0; }, has: function (a) { for (var b = 0, d = this.__listeners; b < d.length; ) { var c = d[b]; ++b; if (aa.compareMethods(c, a)) return !0; } return !1; }, remove: function (a) { for (var b = this.__listeners.length; 0 <= --b; ) aa.compareMethods(this.__listeners[b], a) && (this.__listeners.splice(b, 1), this.__priorities.splice(b, 1), this.__repeat.splice(b, 1)); }, removeAll: function () { var a = this.__listeners.length; this.__listeners.splice(0, a); this.__priorities.splice(0, a); this.__repeat.splice(0, a); }, __listeners: null, dispatch: function (a, b) { this.canceled = !1; for ( var d = this.__listeners, c = this.__repeat, f = 0; f < d.length && (d[f](a, b), c[f] ? ++f : this.remove(d[f]), !this.canceled); ); }, __class__: Qj }; var Do = function () { this.canceled = !1; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; k['lime.app._Event_Float_Float_lime_ui_MouseButton_Void'] = Do; Do.__name__ = 'lime.app._Event_Float_Float_lime_ui_MouseButton_Void'; Do.prototype = { canceled: null, __repeat: null, __priorities: null, add: function (a, b, d) { null == d && (d = 0); null == b && (b = !1); for (var c = 0, f = this.__priorities.length; c < f; ) { var g = c++; if (d > this.__priorities[g]) { this.__listeners.splice(g, 0, a); this.__priorities.splice(g, 0, d); this.__repeat.splice(g, 0, !b); return; } } this.__listeners.push(a); this.__priorities.push(d); this.__repeat.push(!b); }, cancel: function () { this.canceled = !0; }, has: function (a) { for (var b = 0, d = this.__listeners; b < d.length; ) { var c = d[b]; ++b; if (aa.compareMethods(c, a)) return !0; } return !1; }, remove: function (a) { for (var b = this.__listeners.length; 0 <= --b; ) aa.compareMethods(this.__listeners[b], a) && (this.__listeners.splice(b, 1), this.__priorities.splice(b, 1), this.__repeat.splice(b, 1)); }, removeAll: function () { var a = this.__listeners.length; this.__listeners.splice(0, a); this.__priorities.splice(0, a); this.__repeat.splice(0, a); }, __listeners: null, dispatch: function (a, b, d) { this.canceled = !1; for ( var c = this.__listeners, f = this.__repeat, g = 0; g < c.length && (c[g](a, b, d), f[g] ? ++g : this.remove(c[g]), !this.canceled); ); }, __class__: Do }; var Eo = function () { this.canceled = !1; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; k['lime.app._Event_Float_Float_lime_ui_MouseWheelMode_Void'] = Eo; Eo.__name__ = 'lime.app._Event_Float_Float_lime_ui_MouseWheelMode_Void'; Eo.prototype = { canceled: null, __repeat: null, __priorities: null, add: function (a, b, d) { null == d && (d = 0); null == b && (b = !1); for (var c = 0, f = this.__priorities.length; c < f; ) { var g = c++; if (d > this.__priorities[g]) { this.__listeners.splice(g, 0, a); this.__priorities.splice(g, 0, d); this.__repeat.splice(g, 0, !b); return; } } this.__listeners.push(a); this.__priorities.push(d); this.__repeat.push(!b); }, cancel: function () { this.canceled = !0; }, has: function (a) { for (var b = 0, d = this.__listeners; b < d.length; ) { var c = d[b]; ++b; if (aa.compareMethods(c, a)) return !0; } return !1; }, remove: function (a) { for (var b = this.__listeners.length; 0 <= --b; ) aa.compareMethods(this.__listeners[b], a) && (this.__listeners.splice(b, 1), this.__priorities.splice(b, 1), this.__repeat.splice(b, 1)); }, removeAll: function () { var a = this.__listeners.length; this.__listeners.splice(0, a); this.__priorities.splice(0, a); this.__repeat.splice(0, a); }, __listeners: null, dispatch: function (a, b, d) { this.canceled = !1; for ( var c = this.__listeners, f = this.__repeat, g = 0; g < c.length && (c[g](a, b, d), f[g] ? ++g : this.remove(c[g]), !this.canceled); ); }, __class__: Eo }; var Fo = function () { this.canceled = !1; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; k['lime.app._Event_Int_Float_Float_Void'] = Fo; Fo.__name__ = 'lime.app._Event_Int_Float_Float_Void'; Fo.prototype = { canceled: null, __repeat: null, __priorities: null, add: function (a, b, d) { null == d && (d = 0); null == b && (b = !1); for (var c = 0, f = this.__priorities.length; c < f; ) { var g = c++; if (d > this.__priorities[g]) { this.__listeners.splice(g, 0, a); this.__priorities.splice(g, 0, d); this.__repeat.splice(g, 0, !b); return; } } this.__listeners.push(a); this.__priorities.push(d); this.__repeat.push(!b); }, cancel: function () { this.canceled = !0; }, has: function (a) { for (var b = 0, d = this.__listeners; b < d.length; ) { var c = d[b]; ++b; if (aa.compareMethods(c, a)) return !0; } return !1; }, remove: function (a) { for (var b = this.__listeners.length; 0 <= --b; ) aa.compareMethods(this.__listeners[b], a) && (this.__listeners.splice(b, 1), this.__priorities.splice(b, 1), this.__repeat.splice(b, 1)); }, removeAll: function () { var a = this.__listeners.length; this.__listeners.splice(0, a); this.__priorities.splice(0, a); this.__repeat.splice(0, a); }, __listeners: null, dispatch: function (a, b, d) { this.canceled = !1; for ( var c = this.__listeners, f = this.__repeat, g = 0; g < c.length && (c[g](a, b, d), f[g] ? ++g : this.remove(c[g]), !this.canceled); ); }, __class__: Fo }; var Go = function () { this.canceled = !1; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; k['lime.app._Event_Int_Float_Void'] = Go; Go.__name__ = 'lime.app._Event_Int_Float_Void'; Go.prototype = { canceled: null, __repeat: null, __priorities: null, add: function (a, b, d) { null == d && (d = 0); null == b && (b = !1); for (var c = 0, f = this.__priorities.length; c < f; ) { var g = c++; if (d > this.__priorities[g]) { this.__listeners.splice(g, 0, a); this.__priorities.splice(g, 0, d); this.__repeat.splice(g, 0, !b); return; } } this.__listeners.push(a); this.__priorities.push(d); this.__repeat.push(!b); }, cancel: function () { this.canceled = !0; }, has: function (a) { for (var b = 0, d = this.__listeners; b < d.length; ) { var c = d[b]; ++b; if (aa.compareMethods(c, a)) return !0; } return !1; }, remove: function (a) { for (var b = this.__listeners.length; 0 <= --b; ) aa.compareMethods(this.__listeners[b], a) && (this.__listeners.splice(b, 1), this.__priorities.splice(b, 1), this.__repeat.splice(b, 1)); }, removeAll: function () { var a = this.__listeners.length; this.__listeners.splice(0, a); this.__priorities.splice(0, a); this.__repeat.splice(0, a); }, __listeners: null, dispatch: function (a, b) { this.canceled = !1; for ( var d = this.__listeners, c = this.__repeat, f = 0; f < d.length && (d[f](a, b), c[f] ? ++f : this.remove(d[f]), !this.canceled); ); }, __class__: Go }; var mm = function () { this.canceled = !1; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; k['lime.app._Event_Int_Int_Void'] = mm; mm.__name__ = 'lime.app._Event_Int_Int_Void'; mm.prototype = { canceled: null, __repeat: null, __priorities: null, add: function (a, b, d) { null == d && (d = 0); null == b && (b = !1); for (var c = 0, f = this.__priorities.length; c < f; ) { var g = c++; if (d > this.__priorities[g]) { this.__listeners.splice(g, 0, a); this.__priorities.splice(g, 0, d); this.__repeat.splice(g, 0, !b); return; } } this.__listeners.push(a); this.__priorities.push(d); this.__repeat.push(!b); }, cancel: function () { this.canceled = !0; }, has: function (a) { for (var b = 0, d = this.__listeners; b < d.length; ) { var c = d[b]; ++b; if (aa.compareMethods(c, a)) return !0; } return !1; }, remove: function (a) { for (var b = this.__listeners.length; 0 <= --b; ) aa.compareMethods(this.__listeners[b], a) && (this.__listeners.splice(b, 1), this.__priorities.splice(b, 1), this.__repeat.splice(b, 1)); }, removeAll: function () { var a = this.__listeners.length; this.__listeners.splice(0, a); this.__priorities.splice(0, a); this.__repeat.splice(0, a); }, __listeners: null, dispatch: function (a, b) { this.canceled = !1; for ( var d = this.__listeners, c = this.__repeat, f = 0; f < d.length && (d[f](a, b), c[f] ? ++f : this.remove(d[f]), !this.canceled); ); }, __class__: mm }; var Xh = function () { this.canceled = !1; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; k['lime.app._Event_Int_Void'] = Xh; Xh.__name__ = 'lime.app._Event_Int_Void'; Xh.prototype = { canceled: null, __repeat: null, __priorities: null, add: function (a, b, d) { null == d && (d = 0); null == b && (b = !1); for (var c = 0, f = this.__priorities.length; c < f; ) { var g = c++; if (d > this.__priorities[g]) { this.__listeners.splice(g, 0, a); this.__priorities.splice(g, 0, d); this.__repeat.splice(g, 0, !b); return; } } this.__listeners.push(a); this.__priorities.push(d); this.__repeat.push(!b); }, cancel: function () { this.canceled = !0; }, has: function (a) { for (var b = 0, d = this.__listeners; b < d.length; ) { var c = d[b]; ++b; if (aa.compareMethods(c, a)) return !0; } return !1; }, remove: function (a) { for (var b = this.__listeners.length; 0 <= --b; ) aa.compareMethods(this.__listeners[b], a) && (this.__listeners.splice(b, 1), this.__priorities.splice(b, 1), this.__repeat.splice(b, 1)); }, removeAll: function () { var a = this.__listeners.length; this.__listeners.splice(0, a); this.__priorities.splice(0, a); this.__repeat.splice(0, a); }, __listeners: null, dispatch: function (a) { this.canceled = !1; for ( var b = this.__listeners, d = this.__repeat, c = 0; c < b.length && (b[c](a), d[c] ? ++c : this.remove(b[c]), !this.canceled); ); }, __class__: Xh }; var Ho = function () { this.canceled = !1; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; k['lime.app._Event_Int_lime_ui_JoystickHatPosition_Void'] = Ho; Ho.__name__ = 'lime.app._Event_Int_lime_ui_JoystickHatPosition_Void'; Ho.prototype = { canceled: null, __repeat: null, __priorities: null, add: function (a, b, d) { null == d && (d = 0); null == b && (b = !1); for (var c = 0, f = this.__priorities.length; c < f; ) { var g = c++; if (d > this.__priorities[g]) { this.__listeners.splice(g, 0, a); this.__priorities.splice(g, 0, d); this.__repeat.splice(g, 0, !b); return; } } this.__listeners.push(a); this.__priorities.push(d); this.__repeat.push(!b); }, cancel: function () { this.canceled = !0; }, has: function (a) { for (var b = 0, d = this.__listeners; b < d.length; ) { var c = d[b]; ++b; if (aa.compareMethods(c, a)) return !0; } return !1; }, remove: function (a) { for (var b = this.__listeners.length; 0 <= --b; ) aa.compareMethods(this.__listeners[b], a) && (this.__listeners.splice(b, 1), this.__priorities.splice(b, 1), this.__repeat.splice(b, 1)); }, removeAll: function () { var a = this.__listeners.length; this.__listeners.splice(0, a); this.__priorities.splice(0, a); this.__repeat.splice(0, a); }, __listeners: null, dispatch: function (a, b) { this.canceled = !1; for ( var d = this.__listeners, c = this.__repeat, f = 0; f < d.length && (d[f](a, b), c[f] ? ++f : this.remove(d[f]), !this.canceled); ); }, __class__: Ho }; var Io = function () { this.canceled = !1; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; k['lime.app._Event_String_Int_Int_Void'] = Io; Io.__name__ = 'lime.app._Event_String_Int_Int_Void'; Io.prototype = { canceled: null, __repeat: null, __priorities: null, add: function (a, b, d) { null == d && (d = 0); null == b && (b = !1); for (var c = 0, f = this.__priorities.length; c < f; ) { var g = c++; if (d > this.__priorities[g]) { this.__listeners.splice(g, 0, a); this.__priorities.splice(g, 0, d); this.__repeat.splice(g, 0, !b); return; } } this.__listeners.push(a); this.__priorities.push(d); this.__repeat.push(!b); }, cancel: function () { this.canceled = !0; }, has: function (a) { for (var b = 0, d = this.__listeners; b < d.length; ) { var c = d[b]; ++b; if (aa.compareMethods(c, a)) return !0; } return !1; }, remove: function (a) { for (var b = this.__listeners.length; 0 <= --b; ) aa.compareMethods(this.__listeners[b], a) && (this.__listeners.splice(b, 1), this.__priorities.splice(b, 1), this.__repeat.splice(b, 1)); }, removeAll: function () { var a = this.__listeners.length; this.__listeners.splice(0, a); this.__priorities.splice(0, a); this.__repeat.splice(0, a); }, __listeners: null, dispatch: function (a, b, d) { this.canceled = !1; for ( var c = this.__listeners, f = this.__repeat, g = 0; g < c.length && (c[g](a, b, d), f[g] ? ++g : this.remove(c[g]), !this.canceled); ); }, __class__: Io }; var nm = function () { this.canceled = !1; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; k['lime.app._Event_String_Void'] = nm; nm.__name__ = 'lime.app._Event_String_Void'; nm.prototype = { canceled: null, __repeat: null, __priorities: null, add: function (a, b, d) { null == d && (d = 0); null == b && (b = !1); for (var c = 0, f = this.__priorities.length; c < f; ) { var g = c++; if (d > this.__priorities[g]) { this.__listeners.splice(g, 0, a); this.__priorities.splice(g, 0, d); this.__repeat.splice(g, 0, !b); return; } } this.__listeners.push(a); this.__priorities.push(d); this.__repeat.push(!b); }, cancel: function () { this.canceled = !0; }, has: function (a) { for (var b = 0, d = this.__listeners; b < d.length; ) { var c = d[b]; ++b; if (aa.compareMethods(c, a)) return !0; } return !1; }, remove: function (a) { for (var b = this.__listeners.length; 0 <= --b; ) aa.compareMethods(this.__listeners[b], a) && (this.__listeners.splice(b, 1), this.__priorities.splice(b, 1), this.__repeat.splice(b, 1)); }, removeAll: function () { var a = this.__listeners.length; this.__listeners.splice(0, a); this.__priorities.splice(0, a); this.__repeat.splice(0, a); }, __listeners: null, dispatch: function (a) { this.canceled = !1; for ( var b = this.__listeners, d = this.__repeat, c = 0; c < b.length && (b[c](a), d[c] ? ++c : this.remove(b[c]), !this.canceled); ); }, __class__: nm }; var Ld = function () { this.canceled = !1; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; k['lime.app._Event_Void_Void'] = Ld; Ld.__name__ = 'lime.app._Event_Void_Void'; Ld.prototype = { canceled: null, __repeat: null, __priorities: null, add: function (a, b, d) { null == d && (d = 0); null == b && (b = !1); for (var c = 0, f = this.__priorities.length; c < f; ) { var g = c++; if (d > this.__priorities[g]) { this.__listeners.splice(g, 0, a); this.__priorities.splice(g, 0, d); this.__repeat.splice(g, 0, !b); return; } } this.__listeners.push(a); this.__priorities.push(d); this.__repeat.push(!b); }, cancel: function () { this.canceled = !0; }, has: function (a) { for (var b = 0, d = this.__listeners; b < d.length; ) { var c = d[b]; ++b; if (aa.compareMethods(c, a)) return !0; } return !1; }, remove: function (a) { for (var b = this.__listeners.length; 0 <= --b; ) aa.compareMethods(this.__listeners[b], a) && (this.__listeners.splice(b, 1), this.__priorities.splice(b, 1), this.__repeat.splice(b, 1)); }, removeAll: function () { var a = this.__listeners.length; this.__listeners.splice(0, a); this.__priorities.splice(0, a); this.__repeat.splice(0, a); }, __listeners: null, dispatch: function () { this.canceled = !1; for ( var a = this.__listeners, b = this.__repeat, d = 0; d < a.length && (a[d](), b[d] ? ++d : this.remove(a[d]), !this.canceled); ); }, __class__: Ld }; var om = function () { this.canceled = !1; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; k['lime.app._Event_lime_graphics_RenderContext_Void'] = om; om.__name__ = 'lime.app._Event_lime_graphics_RenderContext_Void'; om.prototype = { canceled: null, __repeat: null, __priorities: null, add: function (a, b, d) { null == d && (d = 0); null == b && (b = !1); for (var c = 0, f = this.__priorities.length; c < f; ) { var g = c++; if (d > this.__priorities[g]) { this.__listeners.splice(g, 0, a); this.__priorities.splice(g, 0, d); this.__repeat.splice(g, 0, !b); return; } } this.__listeners.push(a); this.__priorities.push(d); this.__repeat.push(!b); }, cancel: function () { this.canceled = !0; }, has: function (a) { for (var b = 0, d = this.__listeners; b < d.length; ) { var c = d[b]; ++b; if (aa.compareMethods(c, a)) return !0; } return !1; }, remove: function (a) { for (var b = this.__listeners.length; 0 <= --b; ) aa.compareMethods(this.__listeners[b], a) && (this.__listeners.splice(b, 1), this.__priorities.splice(b, 1), this.__repeat.splice(b, 1)); }, removeAll: function () { var a = this.__listeners.length; this.__listeners.splice(0, a); this.__priorities.splice(0, a); this.__repeat.splice(0, a); }, __listeners: null, dispatch: function (a) { this.canceled = !1; for ( var b = this.__listeners, d = this.__repeat, c = 0; c < b.length && (b[c](a), d[c] ? ++c : this.remove(b[c]), !this.canceled); ); }, __class__: om }; var Jo = function () { this.canceled = !1; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; k['lime.app._Event_lime_ui_GamepadAxis_Float_Void'] = Jo; Jo.__name__ = 'lime.app._Event_lime_ui_GamepadAxis_Float_Void'; Jo.prototype = { canceled: null, __repeat: null, __priorities: null, add: function (a, b, d) { null == d && (d = 0); null == b && (b = !1); for (var c = 0, f = this.__priorities.length; c < f; ) { var g = c++; if (d > this.__priorities[g]) { this.__listeners.splice(g, 0, a); this.__priorities.splice(g, 0, d); this.__repeat.splice(g, 0, !b); return; } } this.__listeners.push(a); this.__priorities.push(d); this.__repeat.push(!b); }, cancel: function () { this.canceled = !0; }, has: function (a) { for (var b = 0, d = this.__listeners; b < d.length; ) { var c = d[b]; ++b; if (aa.compareMethods(c, a)) return !0; } return !1; }, remove: function (a) { for (var b = this.__listeners.length; 0 <= --b; ) aa.compareMethods(this.__listeners[b], a) && (this.__listeners.splice(b, 1), this.__priorities.splice(b, 1), this.__repeat.splice(b, 1)); }, removeAll: function () { var a = this.__listeners.length; this.__listeners.splice(0, a); this.__priorities.splice(0, a); this.__repeat.splice(0, a); }, __listeners: null, dispatch: function (a, b) { this.canceled = !1; for ( var d = this.__listeners, c = this.__repeat, f = 0; f < d.length && (d[f](a, b), c[f] ? ++f : this.remove(d[f]), !this.canceled); ); }, __class__: Jo }; var pm = function () { this.canceled = !1; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; k['lime.app._Event_lime_ui_GamepadButton_Void'] = pm; pm.__name__ = 'lime.app._Event_lime_ui_GamepadButton_Void'; pm.prototype = { canceled: null, __repeat: null, __priorities: null, add: function (a, b, d) { null == d && (d = 0); null == b && (b = !1); for (var c = 0, f = this.__priorities.length; c < f; ) { var g = c++; if (d > this.__priorities[g]) { this.__listeners.splice(g, 0, a); this.__priorities.splice(g, 0, d); this.__repeat.splice(g, 0, !b); return; } } this.__listeners.push(a); this.__priorities.push(d); this.__repeat.push(!b); }, cancel: function () { this.canceled = !0; }, has: function (a) { for (var b = 0, d = this.__listeners; b < d.length; ) { var c = d[b]; ++b; if (aa.compareMethods(c, a)) return !0; } return !1; }, remove: function (a) { for (var b = this.__listeners.length; 0 <= --b; ) aa.compareMethods(this.__listeners[b], a) && (this.__listeners.splice(b, 1), this.__priorities.splice(b, 1), this.__repeat.splice(b, 1)); }, removeAll: function () { var a = this.__listeners.length; this.__listeners.splice(0, a); this.__priorities.splice(0, a); this.__repeat.splice(0, a); }, __listeners: null, dispatch: function (a) { this.canceled = !1; for ( var b = this.__listeners, d = this.__repeat, c = 0; c < b.length && (b[c](a), d[c] ? ++c : this.remove(b[c]), !this.canceled); ); }, __class__: pm }; var Ko = function () { this.canceled = !1; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; k['lime.app._Event_lime_ui_Gamepad_Void'] = Ko; Ko.__name__ = 'lime.app._Event_lime_ui_Gamepad_Void'; Ko.prototype = { canceled: null, __repeat: null, __priorities: null, add: function (a, b, d) { null == d && (d = 0); null == b && (b = !1); for (var c = 0, f = this.__priorities.length; c < f; ) { var g = c++; if (d > this.__priorities[g]) { this.__listeners.splice(g, 0, a); this.__priorities.splice(g, 0, d); this.__repeat.splice(g, 0, !b); return; } } this.__listeners.push(a); this.__priorities.push(d); this.__repeat.push(!b); }, cancel: function () { this.canceled = !0; }, has: function (a) { for (var b = 0, d = this.__listeners; b < d.length; ) { var c = d[b]; ++b; if (aa.compareMethods(c, a)) return !0; } return !1; }, remove: function (a) { for (var b = this.__listeners.length; 0 <= --b; ) aa.compareMethods(this.__listeners[b], a) && (this.__listeners.splice(b, 1), this.__priorities.splice(b, 1), this.__repeat.splice(b, 1)); }, removeAll: function () { var a = this.__listeners.length; this.__listeners.splice(0, a); this.__priorities.splice(0, a); this.__repeat.splice(0, a); }, __listeners: null, dispatch: function (a) { this.canceled = !1; for ( var b = this.__listeners, d = this.__repeat, c = 0; c < b.length && (b[c](a), d[c] ? ++c : this.remove(b[c]), !this.canceled); ); }, __class__: Ko }; var Lo = function () { this.canceled = !1; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; k['lime.app._Event_lime_ui_Joystick_Void'] = Lo; Lo.__name__ = 'lime.app._Event_lime_ui_Joystick_Void'; Lo.prototype = { canceled: null, __repeat: null, __priorities: null, add: function (a, b, d) { null == d && (d = 0); null == b && (b = !1); for (var c = 0, f = this.__priorities.length; c < f; ) { var g = c++; if (d > this.__priorities[g]) { this.__listeners.splice(g, 0, a); this.__priorities.splice(g, 0, d); this.__repeat.splice(g, 0, !b); return; } } this.__listeners.push(a); this.__priorities.push(d); this.__repeat.push(!b); }, cancel: function () { this.canceled = !0; }, has: function (a) { for (var b = 0, d = this.__listeners; b < d.length; ) { var c = d[b]; ++b; if (aa.compareMethods(c, a)) return !0; } return !1; }, remove: function (a) { for (var b = this.__listeners.length; 0 <= --b; ) aa.compareMethods(this.__listeners[b], a) && (this.__listeners.splice(b, 1), this.__priorities.splice(b, 1), this.__repeat.splice(b, 1)); }, removeAll: function () { var a = this.__listeners.length; this.__listeners.splice(0, a); this.__priorities.splice(0, a); this.__repeat.splice(0, a); }, __listeners: null, dispatch: function (a) { this.canceled = !1; for ( var b = this.__listeners, d = this.__repeat, c = 0; c < b.length && (b[c](a), d[c] ? ++c : this.remove(b[c]), !this.canceled); ); }, __class__: Lo }; var qm = function () { this.canceled = !1; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; k['lime.app._Event_lime_ui_KeyCode_lime_ui_KeyModifier_Void'] = qm; qm.__name__ = 'lime.app._Event_lime_ui_KeyCode_lime_ui_KeyModifier_Void'; qm.prototype = { canceled: null, __repeat: null, __priorities: null, add: function (a, b, d) { null == d && (d = 0); null == b && (b = !1); for (var c = 0, f = this.__priorities.length; c < f; ) { var g = c++; if (d > this.__priorities[g]) { this.__listeners.splice(g, 0, a); this.__priorities.splice(g, 0, d); this.__repeat.splice(g, 0, !b); return; } } this.__listeners.push(a); this.__priorities.push(d); this.__repeat.push(!b); }, cancel: function () { this.canceled = !0; }, has: function (a) { for (var b = 0, d = this.__listeners; b < d.length; ) { var c = d[b]; ++b; if (aa.compareMethods(c, a)) return !0; } return !1; }, remove: function (a) { for (var b = this.__listeners.length; 0 <= --b; ) aa.compareMethods(this.__listeners[b], a) && (this.__listeners.splice(b, 1), this.__priorities.splice(b, 1), this.__repeat.splice(b, 1)); }, removeAll: function () { var a = this.__listeners.length; this.__listeners.splice(0, a); this.__priorities.splice(0, a); this.__repeat.splice(0, a); }, __listeners: null, dispatch: function (a, b) { this.canceled = !1; for ( var d = this.__listeners, c = this.__repeat, f = 0; f < d.length && (d[f](a, b), c[f] ? ++f : this.remove(d[f]), !this.canceled); ); }, __class__: qm }; var Li = function () { this.canceled = !1; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; k['lime.app._Event_lime_ui_Touch_Void'] = Li; Li.__name__ = 'lime.app._Event_lime_ui_Touch_Void'; Li.prototype = { canceled: null, __repeat: null, __priorities: null, add: function (a, b, d) { null == d && (d = 0); null == b && (b = !1); for (var c = 0, f = this.__priorities.length; c < f; ) { var g = c++; if (d > this.__priorities[g]) { this.__listeners.splice(g, 0, a); this.__priorities.splice(g, 0, d); this.__repeat.splice(g, 0, !b); return; } } this.__listeners.push(a); this.__priorities.push(d); this.__repeat.push(!b); }, cancel: function () { this.canceled = !0; }, has: function (a) { for (var b = 0, d = this.__listeners; b < d.length; ) { var c = d[b]; ++b; if (aa.compareMethods(c, a)) return !0; } return !1; }, remove: function (a) { for (var b = this.__listeners.length; 0 <= --b; ) aa.compareMethods(this.__listeners[b], a) && (this.__listeners.splice(b, 1), this.__priorities.splice(b, 1), this.__repeat.splice(b, 1)); }, removeAll: function () { var a = this.__listeners.length; this.__listeners.splice(0, a); this.__priorities.splice(0, a); this.__repeat.splice(0, a); }, __listeners: null, dispatch: function (a) { this.canceled = !1; for ( var b = this.__listeners, d = this.__repeat, c = 0; c < b.length && (b[c](a), d[c] ? ++c : this.remove(b[c]), !this.canceled); ); }, __class__: Li }; var yo = function () { this.canceled = !1; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; k['lime.app._Event_lime_ui_Window_Void'] = yo; yo.__name__ = 'lime.app._Event_lime_ui_Window_Void'; yo.prototype = { canceled: null, __repeat: null, __priorities: null, add: function (a, b, d) { null == d && (d = 0); null == b && (b = !1); for (var c = 0, f = this.__priorities.length; c < f; ) { var g = c++; if (d > this.__priorities[g]) { this.__listeners.splice(g, 0, a); this.__priorities.splice(g, 0, d); this.__repeat.splice(g, 0, !b); return; } } this.__listeners.push(a); this.__priorities.push(d); this.__repeat.push(!b); }, cancel: function () { this.canceled = !0; }, has: function (a) { for (var b = 0, d = this.__listeners; b < d.length; ) { var c = d[b]; ++b; if (aa.compareMethods(c, a)) return !0; } return !1; }, remove: function (a) { for (var b = this.__listeners.length; 0 <= --b; ) aa.compareMethods(this.__listeners[b], a) && (this.__listeners.splice(b, 1), this.__priorities.splice(b, 1), this.__repeat.splice(b, 1)); }, removeAll: function () { var a = this.__listeners.length; this.__listeners.splice(0, a); this.__priorities.splice(0, a); this.__repeat.splice(0, a); }, __listeners: null, dispatch: function (a) { this.canceled = !1; for ( var b = this.__listeners, d = this.__repeat, c = 0; c < b.length && (b[c](a), d[c] ? ++c : this.remove(b[c]), !this.canceled); ); }, __class__: yo }; var Sy = function () { this.canceled = !1; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; k['lime.app._Event_ofEvents_T_Void'] = Sy; Sy.__name__ = 'lime.app._Event_ofEvents_T_Void'; Sy.prototype = { canceled: null, __repeat: null, __priorities: null, add: function (a, b, d) { null == d && (d = 0); null == b && (b = !1); for (var c = 0, f = this.__priorities.length; c < f; ) { var g = c++; if (d > this.__priorities[g]) { this.__listeners.splice(g, 0, a); this.__priorities.splice(g, 0, d); this.__repeat.splice(g, 0, !b); return; } } this.__listeners.push(a); this.__priorities.push(d); this.__repeat.push(!b); }, cancel: function () { this.canceled = !0; }, has: function (a) { for (var b = 0, d = this.__listeners; b < d.length; ) { var c = d[b]; ++b; if (aa.compareMethods(c, a)) return !0; } return !1; }, remove: function (a) { for (var b = this.__listeners.length; 0 <= --b; ) aa.compareMethods(this.__listeners[b], a) && (this.__listeners.splice(b, 1), this.__priorities.splice(b, 1), this.__repeat.splice(b, 1)); }, removeAll: function () { var a = this.__listeners.length; this.__listeners.splice(0, a); this.__priorities.splice(0, a); this.__repeat.splice(0, a); }, __listeners: null, dispatch: function (a) { this.canceled = !1; for ( var b = this.__listeners, d = this.__repeat, c = 0; c < b.length && (b[c](a), d[c] ? ++c : this.remove(b[c]), !this.canceled); ); }, __class__: Sy }; var Gb = function (a, b, d, c, f, g, l) { null == f && (f = -1); null == c && (c = -1); null == d && (d = 0); null == b && (b = 0); this.offsetX = b; this.offsetY = d; this.width = c; this.height = f; this.version = 0; null == l && (l = ve.CANVAS); this.type = l; if (null == a) { if (0 < c && 0 < f) switch (this.type._hx_index) { case 0: this.buffer = new Qf(null, c, f); za.createCanvas(this, c, f); null != g && 0 != g && this.fillRect(new Qd(0, 0, c, f), g); break; case 1: (a = c * f * 4), (a = null != a ? new Uint8Array(a) : null), (this.buffer = new Qf(a, c, f)), null != g && 0 != g && this.fillRect(new Qd(0, 0, c, f), g); } } else this.__fromImageBuffer(a); }; k['lime.graphics.Image'] = Gb; Gb.__name__ = 'lime.graphics.Image'; Gb.fromBase64 = function (a, b) { if (null == a) return null; var d = new Gb(); d.__fromBase64(a, b); return d; }; Gb.fromBitmapData = function (a) { return null == a ? null : a.image; }; Gb.fromBytes = function (a) { if (null == a) return null; var b = new Gb(); return b.__fromBytes(a) ? b : null; }; Gb.fromCanvas = function (a) { if (null == a) return null; var b = new Qf(null, a.width, a.height); b.set_src(a); a = new Gb(b); a.type = ve.CANVAS; return a; }; Gb.fromFile = function (a) { if (null == a) return null; var b = new Gb(); return b.__fromFile(a) ? b : null; }; Gb.fromImageElement = function (a) { if (null == a) return null; var b = new Qf(null, a.width, a.height); b.set_src(a); a = new Gb(b); a.type = ve.CANVAS; return a; }; Gb.loadFromBase64 = function (a, b) { return null == a || null == b ? ib.withValue(null) : Sa.loadImage('data:' + b + ';base64,' + a); }; Gb.loadFromBytes = function (a) { if (null == a) return ib.withValue(null); if (Gb.__isPNG(a)) var b = 'image/png'; else if (Gb.__isJPG(a)) b = 'image/jpeg'; else if (Gb.__isGIF(a)) b = 'image/gif'; else if (Gb.__isWebP(a)) b = 'image/webp'; else return ib.withValue(null); return Sa.loadImageFromBytes(a, b); }; Gb.loadFromFile = function (a) { return null == a ? ib.withValue(null) : Sa.loadImage(a); }; Gb.__isGIF = function (a) { if (null == a || 6 > a.length) return !1; a = a.getString(0, 6); return 'GIF87a' != a ? 'GIF89a' == a : !0; }; Gb.__isJPG = function (a) { return null == a || 4 > a.length ? !1 : 255 == a.b[0] && 216 == a.b[1] && 255 == a.b[a.length - 2] ? 217 == a.b[a.length - 1] : !1; }; Gb.__isPNG = function (a) { return null == a || 8 > a.length ? !1 : 137 == a.b[0] && 80 == a.b[1] && 78 == a.b[2] && 71 == a.b[3] && 13 == a.b[4] && 10 == a.b[5] && 26 == a.b[6] ? 10 == a.b[7] : !1; }; Gb.__isWebP = function (a) { return null == a || 16 > a.length ? !1 : 'RIFF' == a.getString(0, 4) ? 'WEBP' == a.getString(8, 4) : !1; }; Gb.prototype = { buffer: null, dirty: null, height: null, offsetX: null, offsetY: null, rect: null, type: null, version: null, width: null, x: null, y: null, clone: function () { if (null != this.buffer) { this.type == ve.CANVAS ? za.convertToCanvas(this) : za.convertToData(this); var a = new Gb( this.buffer.clone(), this.offsetX, this.offsetY, this.width, this.height, null, this.type ); a.version = this.version; return a; } return new Gb(null, this.offsetX, this.offsetY, this.width, this.height, null, this.type); }, colorTransform: function (a, b) { a = this.__clipRect(a); if (null != this.buffer && null != a) switch (this.type._hx_index) { case 0: za.colorTransform(this, a, b); break; case 1: za.convertToData(this); bb.colorTransform(this, a, b); break; case 2: a.offset(this.offsetX, this.offsetY), this.buffer.__srcBitmapData.colorTransform( a.__toFlashRectangle(), Kd.__toFlashColorTransform(b) ); } }, copyChannel: function (a, b, d, c, f) { b = this.__clipRect(b); if ( null != this.buffer && null != b && !((f == kf.ALPHA && !this.get_transparent()) || 0 >= b.width || 0 >= b.height) ) switch ( (b.x + b.width > a.width && (b.width = a.width - b.x), b.y + b.height > a.height && (b.height = a.height - b.y), this.type._hx_index) ) { case 0: za.copyChannel(this, a, b, d, c, f); break; case 1: za.convertToData(this); za.convertToData(a); bb.copyChannel(this, a, b, d, c, f); break; case 2: switch (c._hx_index) { case 0: var e = 1; break; case 1: e = 2; break; case 2: e = 4; break; case 3: e = 8; } switch (f._hx_index) { case 0: var l = 1; break; case 1: l = 2; break; case 2: l = 4; break; case 3: l = 8; } b.offset(a.offsetX, a.offsetY); d.offset(this.offsetX, this.offsetY); this.buffer.__srcBitmapData.copyChannel( a.buffer.get_src(), b.__toFlashRectangle(), d.__toFlashPoint(), e, l ); } }, copyPixels: function (a, b, d, c, f, g) { null == g && (g = !1); if ( null != this.buffer && null != a && !(0 >= b.width || 0 >= b.height || 0 >= this.width || 0 >= this.height) ) switch ( (b.x + b.width > a.width && (b.width = a.width - b.x), b.y + b.height > a.height && (b.height = a.height - b.y), 0 > b.x && ((b.width += b.x), (b.x = 0)), 0 > b.y && ((b.height += b.y), (b.y = 0)), d.x + b.width > this.width && (b.width = this.width - d.x), d.y + b.height > this.height && (b.height = this.height - d.y), 0 > d.x && ((b.width += d.x), (b.x -= d.x), (d.x = 0)), 0 > d.y && ((b.height += d.y), (b.y -= d.y), (d.y = 0)), a == this && d.x < b.get_right() && d.y < b.get_bottom() && (a = this.clone()), c == a && (null == f || (0 == f.x && 0 == f.y)) && (f = c = null), this.type._hx_index) ) { case 0: null != c ? (za.convertToData(this), za.convertToData(a), null != c && za.convertToData(c), bb.copyPixels(this, a, b, d, c, f, g)) : (za.convertToCanvas(this), za.convertToCanvas(a), za.copyPixels(this, a, b, d, c, f, g)); break; case 1: za.convertToData(this); za.convertToData(a); null != c && za.convertToData(c); bb.copyPixels(this, a, b, d, c, f, g); break; case 2: b.offset(a.offsetX, a.offsetY), d.offset(this.offsetX, this.offsetY), null != c && null != f && f.offset(c.offsetX, c.offsetY), this.buffer.__srcBitmapData.copyPixels( a.buffer.__srcBitmapData, b.__toFlashRectangle(), d.__toFlashPoint(), null != c ? c.buffer.get_src() : null, null != f ? f.__toFlashPoint() : null, g ); } }, encode: function (a, b) { null == b && (b = 90); if (null == a) return Nj.encode(this); switch (a._hx_index) { case 0: return Py.encode(this); case 1: return jm.encode(this, b); case 2: return Nj.encode(this); } }, fillRect: function (a, b, d) { a = this.__clipRect(a); if (null != this.buffer && null != a) switch (this.type._hx_index) { case 0: za.fillRect(this, a, b, d); break; case 1: za.convertToData(this); if (0 == this.buffer.data.length) break; bb.fillRect(this, a, b, d); break; case 2: a.offset(this.offsetX, this.offsetY); if (null == d) b = ((b & 255) << 24) | (((b >>> 24) & 255) << 16) | (((b >>> 16) & 255) << 8) | ((b >>> 8) & 255); else switch (d) { case 1: break; case 2: b = ((b & 255) << 24) | (((b >>> 8) & 255) << 16) | (((b >>> 16) & 255) << 8) | ((b >>> 24) & 255); break; default: b = ((b & 255) << 24) | (((b >>> 24) & 255) << 16) | (((b >>> 16) & 255) << 8) | ((b >>> 8) & 255); } this.buffer.__srcBitmapData.fillRect(a.__toFlashRectangle(), b); } }, floodFill: function (a, b, d, c) { if (null != this.buffer) switch (this.type._hx_index) { case 0: za.floodFill(this, a, b, d, c); break; case 1: za.convertToData(this); bb.floodFill(this, a, b, d, c); break; case 2: if (null == c) d = ((d & 255) << 24) | (((d >>> 24) & 255) << 16) | (((d >>> 16) & 255) << 8) | ((d >>> 8) & 255); else switch (c) { case 1: break; case 2: d = ((d & 255) << 24) | (((d >>> 8) & 255) << 16) | (((d >>> 16) & 255) << 8) | ((d >>> 24) & 255); break; default: d = ((d & 255) << 24) | (((d >>> 24) & 255) << 16) | (((d >>> 16) & 255) << 8) | ((d >>> 8) & 255); } this.buffer.__srcBitmapData.floodFill(a + this.offsetX, b + this.offsetY, d); } }, getColorBoundsRect: function (a, b, d, c) { null == d && (d = !0); if (null == this.buffer) return null; switch (this.type._hx_index) { case 0: return za.convertToData(this), bb.getColorBoundsRect(this, a, b, d, c); case 1: return bb.getColorBoundsRect(this, a, b, d, c); case 2: return ( (a = this.buffer.__srcBitmapData.getColorBoundsRect(a, b, d)), new Qd(a.x, a.y, a.width, a.height) ); default: return null; } }, getPixel: function (a, b, d) { if (null == this.buffer || 0 > a || 0 > b || a >= this.width || b >= this.height) return 0; switch (this.type._hx_index) { case 0: return za.getPixel(this, a, b, d); case 1: return za.convertToData(this), bb.getPixel(this, a, b, d); case 2: a = this.buffer.__srcBitmapData.getPixel(a + this.offsetX, b + this.offsetY); if (null == d) return ( (((a >>> 16) & 255) << 24) | (((a >>> 8) & 255) << 16) | ((a & 255) << 8) | ((a >>> 24) & 255) ); switch (d) { case 1: return a; case 2: return ( ((a & 255) << 24) | (((a >>> 8) & 255) << 16) | (((a >>> 16) & 255) << 8) | ((a >>> 24) & 255) ); default: return ( (((a >>> 16) & 255) << 24) | (((a >>> 8) & 255) << 16) | ((a & 255) << 8) | ((a >>> 24) & 255) ); } default: return 0; } }, getPixel32: function (a, b, d) { if (null == this.buffer || 0 > a || 0 > b || a >= this.width || b >= this.height) return 0; switch (this.type._hx_index) { case 0: return za.getPixel32(this, a, b, d); case 1: return za.convertToData(this), bb.getPixel32(this, a, b, d); case 2: a = this.buffer.__srcBitmapData.getPixel32(a + this.offsetX, b + this.offsetY); if (null == d) return ( (((a >>> 16) & 255) << 24) | (((a >>> 8) & 255) << 16) | ((a & 255) << 8) | ((a >>> 24) & 255) ); switch (d) { case 1: return a; case 2: return ( ((a & 255) << 24) | (((a >>> 8) & 255) << 16) | (((a >>> 16) & 255) << 8) | ((a >>> 24) & 255) ); default: return ( (((a >>> 16) & 255) << 24) | (((a >>> 8) & 255) << 16) | ((a & 255) << 8) | ((a >>> 24) & 255) ); } default: return 0; } }, getPixels: function (a, b) { if (null == this.buffer) return null; switch (this.type._hx_index) { case 0: return za.getPixels(this, a, b); case 1: return za.convertToData(this), bb.getPixels(this, a, b); case 2: return null; default: return null; } }, merge: function (a, b, d, c, f, g, l) { if (null != this.buffer && null != a) switch (this.type._hx_index) { case 0: za.convertToCanvas(this); za.merge(this, a, b, d, c, f, g, l); break; case 1: za.convertToData(this); za.convertToData(a); bb.merge(this, a, b, d, c, f, g, l); break; case 2: b.offset(this.offsetX, this.offsetY), this.buffer.__srcBitmapData.merge( a.buffer.__srcBitmapData, b.__toFlashRectangle(), d.__toFlashPoint(), c, f, g, l ); } }, resize: function (a, b) { switch (this.type._hx_index) { case 0: za.resize(this, a, b); break; case 1: bb.resize(this, a, b); } this.buffer.width = a; this.buffer.height = b; this.offsetY = this.offsetX = 0; this.width = a; this.height = b; }, scroll: function (a, b) { if (null != this.buffer) switch (this.type._hx_index) { case 0: za.scroll(this, a, b); break; case 1: this.copyPixels(this, this.get_rect(), new Xd(a, b)); break; case 2: this.buffer.__srcBitmapData.scroll(a + this.offsetX, b + this.offsetX); } }, setPixel: function (a, b, d, c) { if (!(null == this.buffer || 0 > a || 0 > b || a >= this.width || b >= this.height)) switch (this.type._hx_index) { case 0: za.setPixel(this, a, b, d, c); break; case 1: za.convertToData(this); bb.setPixel(this, a, b, d, c); break; case 2: if (null == c) d = ((d & 255) << 24) | (((d >>> 24) & 255) << 16) | (((d >>> 16) & 255) << 8) | ((d >>> 8) & 255); else switch (c) { case 1: break; case 2: d = ((d & 255) << 24) | (((d >>> 8) & 255) << 16) | (((d >>> 16) & 255) << 8) | ((d >>> 24) & 255); break; default: d = ((d & 255) << 24) | (((d >>> 24) & 255) << 16) | (((d >>> 16) & 255) << 8) | ((d >>> 8) & 255); } this.buffer.__srcBitmapData.setPixel(a + this.offsetX, b + this.offsetX, d); } }, setPixel32: function (a, b, d, c) { if (!(null == this.buffer || 0 > a || 0 > b || a >= this.width || b >= this.height)) switch (this.type._hx_index) { case 0: za.setPixel32(this, a, b, d, c); break; case 1: za.convertToData(this); bb.setPixel32(this, a, b, d, c); break; case 2: if (null == c) d = ((d & 255) << 24) | (((d >>> 24) & 255) << 16) | (((d >>> 16) & 255) << 8) | ((d >>> 8) & 255); else switch (c) { case 1: break; case 2: d = ((d & 255) << 24) | (((d >>> 8) & 255) << 16) | (((d >>> 16) & 255) << 8) | ((d >>> 24) & 255); break; default: d = ((d & 255) << 24) | (((d >>> 24) & 255) << 16) | (((d >>> 16) & 255) << 8) | ((d >>> 8) & 255); } this.buffer.__srcBitmapData.setPixel32(a + this.offsetX, b + this.offsetY, d); } }, setPixels: function (a, b, d, c) { a = this.__clipRect(a); if (null != this.buffer && null != a) switch ((null == c && (c = Bg.BIG_ENDIAN), this.type._hx_index)) { case 0: za.setPixels(this, a, b, d, c); break; case 1: za.convertToData(this), bb.setPixels(this, a, b, d, c); } }, threshold: function (a, b, d, c, f, g, l, q, h) { null == q && (q = !1); null == l && (l = -1); null == g && (g = 0); if (null == this.buffer || null == a || null == b) return 0; switch (this.type._hx_index) { case 0: case 1: return ( za.convertToData(this), za.convertToData(a), bb.threshold(this, a, b, d, c, f, g, l, q, h) ); case 2: if (null == h) { var e = g; g = ((e & 255) << 24) | (((e >>> 24) & 255) << 16) | (((e >>> 16) & 255) << 8) | ((e >>> 8) & 255); } else switch (h) { case 1: break; case 2: e = g; g = ((e & 255) << 24) | (((e >>> 8) & 255) << 16) | (((e >>> 16) & 255) << 8) | ((e >>> 24) & 255); break; default: (e = g), (g = ((e & 255) << 24) | (((e >>> 24) & 255) << 16) | (((e >>> 16) & 255) << 8) | ((e >>> 8) & 255)); } if (null == h) (e = l), (l = ((e & 255) << 24) | (((e >>> 24) & 255) << 16) | (((e >>> 16) & 255) << 8) | ((e >>> 8) & 255)); else switch (h) { case 1: break; case 2: e = l; l = ((e & 255) << 24) | (((e >>> 8) & 255) << 16) | (((e >>> 16) & 255) << 8) | ((e >>> 24) & 255); break; default: (e = l), (l = ((e & 255) << 24) | (((e >>> 24) & 255) << 16) | (((e >>> 16) & 255) << 8) | ((e >>> 8) & 255)); } b.offset(a.offsetX, a.offsetY); d.offset(this.offsetX, this.offsetY); return this.buffer.__srcBitmapData.threshold( a.buffer.get_src(), b.__toFlashRectangle(), d.__toFlashPoint(), c, f, g, l, q ); } return 0; }, __clipRect: function (a) { return null == a || (0 > a.x && ((a.width -= -a.x), (a.x = 0), 0 >= a.x + a.width)) || (0 > a.y && ((a.height -= -a.y), (a.y = 0), 0 >= a.y + a.height)) || (a.x + a.width >= this.width && ((a.width -= a.x + a.width - this.width), 0 >= a.width)) || (a.y + a.height >= this.height && ((a.height -= a.y + a.height - this.height), 0 >= a.height)) ? null : a; }, __fromBase64: function (a, b, d) { var c = this, f = new Image(); f.addEventListener( 'load', function (a) { c.buffer = new Qf(null, f.width, f.height); c.buffer.__srcImage = f; c.offsetX = 0; c.offsetY = 0; c.width = c.buffer.width; c.height = c.buffer.height; null != d && d(c); }, !1 ); f.src = 'data:' + b + ';base64,' + a; }, __fromBytes: function (a, b) { if (Gb.__isPNG(a)) var d = 'image/png'; else if (Gb.__isJPG(a)) d = 'image/jpeg'; else if (Gb.__isGIF(a)) d = 'image/gif'; else return !1; this.__fromBase64(Pf.encode(a), d, b); return !0; }, __fromFile: function (a, b, d) { var c = this, f = new Image(); Sa.__isSameOrigin(a) || (f.crossOrigin = 'Anonymous'); f.onload = function (a) { c.buffer = new Qf(null, f.width, f.height); c.buffer.__srcImage = f; c.width = f.width; c.height = f.height; null != b && b(c); }; f.onerror = function (a) { null != d && d(); }; f.src = a; return !0; }, __fromImageBuffer: function (a) { this.buffer = a; null != a && (-1 == this.width && (this.width = a.width), -1 == this.height && (this.height = a.height)); }, get_data: function () { null == this.buffer.data && 0 < this.buffer.width && 0 < this.buffer.height && za.convertToData(this); return this.buffer.data; }, set_data: function (a) { return (this.buffer.data = a); }, get_format: function () { return this.buffer.format; }, set_format: function (a) { this.buffer.format != a && 1 == this.type._hx_index && bb.setFormat(this, a); return (this.buffer.format = a); }, get_powerOfTwo: function () { return 0 != this.buffer.width && (this.buffer.width & (~this.buffer.width + 1)) == this.buffer.width ? 0 != this.buffer.height ? (this.buffer.height & (~this.buffer.height + 1)) == this.buffer.height : !1 : !1; }, set_powerOfTwo: function (a) { if (a != this.get_powerOfTwo()) { for (var b = 1, d = 1; b < this.buffer.width; ) b <<= 1; for (; d < this.buffer.height; ) d <<= 1; if (b == this.buffer.width && d == this.buffer.height) return a; switch (this.type._hx_index) { case 0: za.convertToData(this); bb.resizeBuffer(this, b, d); break; case 1: bb.resizeBuffer(this, b, d); } } return a; }, get_premultiplied: function () { return this.buffer.premultiplied; }, set_premultiplied: function (a) { if (a && !this.buffer.premultiplied) switch (this.type._hx_index) { case 0: case 1: za.convertToData(this), bb.multiplyAlpha(this); } else !a && this.buffer.premultiplied && 1 == this.type._hx_index && (za.convertToData(this), bb.unmultiplyAlpha(this)); return a; }, get_rect: function () { return new Qd(0, 0, this.width, this.height); }, get_src: function () { null != this.buffer.__srcCanvas || (null == this.buffer.data && this.type != ve.DATA) || za.convertToCanvas(this); return this.buffer.get_src(); }, set_src: function (a) { return this.buffer.set_src(a); }, get_transparent: function () { return null == this.buffer ? !1 : this.buffer.transparent; }, set_transparent: function (a) { return null == this.buffer ? !1 : (this.buffer.transparent = a); }, __class__: Gb, __properties__: { set_transparent: 'set_transparent', get_transparent: 'get_transparent', set_src: 'set_src', get_src: 'get_src', get_rect: 'get_rect', set_premultiplied: 'set_premultiplied', get_premultiplied: 'get_premultiplied', set_powerOfTwo: 'set_powerOfTwo', get_powerOfTwo: 'get_powerOfTwo', set_format: 'set_format', get_format: 'get_format', set_data: 'set_data', get_data: 'get_data' } }; var Qf = function (a, b, d, c, f) { null == c && (c = 32); null == d && (d = 0); null == b && (b = 0); this.data = a; this.width = b; this.height = d; this.bitsPerPixel = c; this.format = null == f ? 0 : f; this.premultiplied = !1; this.transparent = !0; }; k['lime.graphics.ImageBuffer'] = Qf; Qf.__name__ = 'lime.graphics.ImageBuffer'; Qf.prototype = { bitsPerPixel: null, data: null, format: null, height: null, premultiplied: null, transparent: null, width: null, __srcBitmapData: null, __srcCanvas: null, __srcContext: null, __srcCustom: null, __srcImage: null, __srcImageData: null, clone: function () { var a = new Qf(this.data, this.width, this.height, this.bitsPerPixel); if (null != this.data) { var b = this.data.byteLength, d = null, c = null, f = null, g = null, l = null; b = null != b ? new Uint8Array(b) : null != d ? new Uint8Array(d) : null != c ? new Uint8Array(c.__array) : null != f ? new Uint8Array(f) : null != g ? null == l ? new Uint8Array(g, 0) : new Uint8Array(g, 0, l) : null; a.data = b; c = d = b = null; f = this.data; l = g = null; b = null != b ? new Uint8Array(b) : null != d ? new Uint8Array(d) : null != c ? new Uint8Array(c.__array) : null != f ? new Uint8Array(f) : null != g ? null == l ? new Uint8Array(g, 0) : new Uint8Array(g, 0, l) : null; a.data.set(b); } else null != this.__srcImageData ? ((a.__srcCanvas = window.document.createElement('canvas')), (a.__srcContext = a.__srcCanvas.getContext('2d')), (a.__srcCanvas.width = this.__srcImageData.width), (a.__srcCanvas.height = this.__srcImageData.height), (a.__srcImageData = a.__srcContext.createImageData( this.__srcImageData.width, this.__srcImageData.height )), (b = new Uint8ClampedArray(this.__srcImageData.data)), a.__srcImageData.data.set(b)) : null != this.__srcCanvas ? ((a.__srcCanvas = window.document.createElement('canvas')), (a.__srcContext = a.__srcCanvas.getContext('2d')), (a.__srcCanvas.width = this.__srcCanvas.width), (a.__srcCanvas.height = this.__srcCanvas.height), a.__srcContext.drawImage(this.__srcCanvas, 0, 0)) : (a.__srcImage = this.__srcImage); a.bitsPerPixel = this.bitsPerPixel; a.format = this.format; a.premultiplied = this.premultiplied; a.transparent = this.transparent; return a; }, get_src: function () { return null != this.__srcImage ? this.__srcImage : this.__srcCanvas; }, set_src: function (a) { a instanceof Image ? (this.__srcImage = a) : a instanceof HTMLCanvasElement && ((this.__srcCanvas = a), (this.__srcContext = this.__srcCanvas.getContext('2d'))); return a; }, get_stride: function () { return this.width * ((this.bitsPerPixel / 8) | 0); }, __class__: Qf, __properties__: { get_stride: 'get_stride', set_src: 'set_src', get_src: 'get_src' } }; var kf = (N['lime.graphics.ImageChannel'] = { __ename__: 'lime.graphics.ImageChannel', __constructs__: null, RED: { _hx_name: 'RED', _hx_index: 0, __enum__: 'lime.graphics.ImageChannel', toString: x }, GREEN: { _hx_name: 'GREEN', _hx_index: 1, __enum__: 'lime.graphics.ImageChannel', toString: x }, BLUE: { _hx_name: 'BLUE', _hx_index: 2, __enum__: 'lime.graphics.ImageChannel', toString: x }, ALPHA: { _hx_name: 'ALPHA', _hx_index: 3, __enum__: 'lime.graphics.ImageChannel', toString: x } }); kf.__constructs__ = [kf.RED, kf.GREEN, kf.BLUE, kf.ALPHA]; var rm = (N['lime.graphics.ImageFileFormat'] = { __ename__: 'lime.graphics.ImageFileFormat', __constructs__: null, BMP: { _hx_name: 'BMP', _hx_index: 0, __enum__: 'lime.graphics.ImageFileFormat', toString: x }, JPEG: { _hx_name: 'JPEG', _hx_index: 1, __enum__: 'lime.graphics.ImageFileFormat', toString: x }, PNG: { _hx_name: 'PNG', _hx_index: 2, __enum__: 'lime.graphics.ImageFileFormat', toString: x } }); rm.__constructs__ = [rm.BMP, rm.JPEG, rm.PNG]; var ve = (N['lime.graphics.ImageType'] = { __ename__: 'lime.graphics.ImageType', __constructs__: null, CANVAS: { _hx_name: 'CANVAS', _hx_index: 0, __enum__: 'lime.graphics.ImageType', toString: x }, DATA: { _hx_name: 'DATA', _hx_index: 1, __enum__: 'lime.graphics.ImageType', toString: x }, FLASH: { _hx_name: 'FLASH', _hx_index: 2, __enum__: 'lime.graphics.ImageType', toString: x }, CUSTOM: { _hx_name: 'CUSTOM', _hx_index: 3, __enum__: 'lime.graphics.ImageType', toString: x } }); ve.__constructs__ = [ve.CANVAS, ve.DATA, ve.FLASH, ve.CUSTOM]; var vo = function () {}; k['lime.graphics.RenderContext'] = vo; vo.__name__ = 'lime.graphics.RenderContext'; vo.prototype = { attributes: null, cairo: null, canvas2D: null, dom: null, flash: null, gl: null, gles2: null, gles3: null, type: null, version: null, webgl: null, webgl2: null, window: null, __class__: vo }; var Mz = { bufferData: function (a, b, d, c, f, g) { null != f ? a.bufferData(b, d, c, f, g) : a.bufferData(b, d, c); }, bufferSubData: function (a, b, d, c, f, g) { null != f ? a.bufferSubData(b, d, c, f, g) : a.bufferSubData(b, d, c); }, compressedTexImage2D: function (a, b, d, c, f, g, l, q, h, r) { null != h ? a.compressedTexImage2D(b, d, c, f, g, l, q, h, r) : a.compressedTexImage2D(b, d, c, f, g, l, q); }, compressedTexSubImage2D: function (a, b, d, c, f, g, l, q, h, r, k) { null != r ? a.compressedTexSubImage2D(b, d, c, f, g, l, q, h, r, k) : a.compressedTexSubImage2D(b, d, c, f, g, l, q, h); }, getBufferSubData: function (a, b, d, c, f, g) { null != f ? a.getBufferSubData(b, d, c, f, g) : a.getBufferSubData(b, d, c); }, readPixels: function (a, b, d, c, f, g, l, q, h) { null != h ? a.readPixels(b, d, c, f, g, l, q, h) : a.readPixels(b, d, c, f, g, l, q); }, texImage2D: function (a, b, d, c, f, g, l, q, h, r, k) { null != k ? a.texImage2D(b, d, c, f, g, l, q, h, r, k) : null != q ? a.texImage2D(b, d, c, f, g, l, q, h, r) : a.texImage2D(b, d, c, f, g, l); }, texSubImage2D: function (a, b, d, c, f, g, l, q, h, r, k) { null != k ? a.texSubImage2D(b, d, c, f, g, l, q, h, r, k) : null != h ? a.texSubImage2D(b, d, c, f, g, l, q, h, r) : a.texSubImage2D(b, d, c, f, g, l, q); }, uniform1fv: function (a, b, d, c, f) { null != c ? a.uniform1fv(b, d, c, f) : a.uniform1fv(b, d); }, uniform1iv: function (a, b, d, c, f) { null != c ? a.uniform1iv(b, d, c, f) : a.uniform1iv(b, d); }, uniform2fv: function (a, b, d, c, f) { null != c ? a.uniform2fv(b, d, c, f) : a.uniform2fv(b, d); }, uniform2iv: function (a, b, d, c, f) { null != c ? a.uniform2iv(b, d, c, f) : a.uniform2iv(b, d); }, uniform3fv: function (a, b, d, c, f) { null != c ? a.uniform3fv(b, d, c, f) : a.uniform3fv(b, d); }, uniform3iv: function (a, b, d, c, f) { null != c ? a.uniform3iv(b, d, c, f) : a.uniform3iv(b, d); }, uniform4fv: function (a, b, d, c, f) { null != c ? a.uniform4fv(b, d, c, f) : a.uniform4fv(b, d); }, uniform4iv: function (a, b, d, c, f) { null != c ? a.uniform4iv(b, d, c, f) : a.uniform4iv(b, d); }, uniformMatrix2fv: function (a, b, d, c, f, g) { null != f ? a.uniformMatrix2fv(b, d, c, f, g) : a.uniformMatrix2fv(b, d, c); }, uniformMatrix3fv: function (a, b, d, c, f, g) { null != f ? a.uniformMatrix3fv(b, d, c, f, g) : a.uniformMatrix3fv(b, d, c); }, uniformMatrix4fv: function (a, b, d, c, f, g) { null != f ? a.uniformMatrix4fv(b, d, c, f, g) : a.uniformMatrix4fv(b, d, c); }, fromGL: function (a) { return null; }, fromRenderContext: function (a) { return a.webgl2; }, toWebGLRenderContext: function (a) { return a; } }, $b = { bufferData: function (a, b, d, c) { a.bufferData(b, d, c); }, bufferSubData: function (a, b, d, c) { a.bufferSubData(b, d, c); }, compressedTexImage2D: function (a, b, d, c, f, g, l, q) { a.compressedTexImage2D(b, d, c, f, g, l, q); }, compressedTexSubImage2D: function (a, b, d, c, f, g, l, q, h) { a.compressedTexSubImage2D(b, d, c, f, g, l, q, h); }, readPixels: function (a, b, d, c, f, g, l, q) { a.readPixels(b, d, c, f, g, l, q); }, texImage2D: function (a, b, d, c, f, g, l, q, h, r) { null != q ? a.texImage2D(b, d, c, f, g, l, q, h, r) : a.texImage2D(b, d, c, f, g, l); }, texSubImage2D: function (a, b, d, c, f, g, l, q, h, r) { null != h ? a.texSubImage2D(b, d, c, f, g, l, q, h, r) : a.texSubImage2D(b, d, c, f, g, l, q); }, uniformMatrix2fv: function (a, b, d, c) { a.uniformMatrix2fv(b, d, c); }, uniformMatrix3fv: function (a, b, d, c) { a.uniformMatrix3fv(b, d, c); }, uniformMatrix4fv: function (a, b, d, c) { a.uniformMatrix4fv(b, d, c); }, fromWebGL2RenderContext: function (a) { return a; }, fromRenderContext: function (a) { return a.webgl; }, fromGL: function (a) { return u.context; } }, Rj = function (a) {}; k['lime.graphics.cairo.Cairo'] = Rj; Rj.__name__ = 'lime.graphics.cairo.Cairo'; Rj.__properties__ = { get_versionString: 'get_versionString', get_version: 'get_version' }; Rj.get_version = function () { return 0; }; Rj.get_versionString = function () { return ''; }; Rj.prototype = { target: null, userData: null, handle: null, arc: function (a, b, d, c, f) {}, arcNegative: function (a, b, d, c, f) {}, clip: function () {}, clipExtents: function (a, b, d, c) {}, clipPreserve: function () {}, closePath: function () {}, copyPage: function () {}, curveTo: function (a, b, d, c, f, g) {}, fill: function () {}, fillExtents: function (a, b, d, c) {}, fillPreserve: function () {}, getOperator: function () { return 0; }, identityMatrix: function () {}, inClip: function (a, b) { return !1; }, inFill: function (a, b) { return !1; }, inStroke: function (a, b) { return !1; }, lineTo: function (a, b) {}, mask: function (a) {}, maskSurface: function (a, b, d) {}, moveTo: function (a, b) {}, newPath: function () {}, paint: function () {}, paintWithAlpha: function (a) {}, popGroup: function () { return null; }, popGroupToSource: function () {}, pushGroup: function () {}, pushGroupWithContent: function (a) {}, recreate: function (a) {}, rectangle: function (a, b, d, c) {}, relCurveTo: function (a, b, d, c, f, g) {}, relLineTo: function (a, b) {}, relMoveTo: function (a, b) {}, resetClip: function () {}, restore: function () {}, rotate: function (a) {}, save: function () {}, scale: function (a, b) {}, setFontSize: function (a) {}, setOperator: function (a) { return a; }, setSourceRGB: function (a, b, d) {}, setSourceRGBA: function (a, b, d, c) {}, setSourceSurface: function (a, b, d) {}, showGlyphs: function (a) {}, showPage: function () {}, showText: function (a) {}, status: function () { return 0; }, stroke: function () {}, strokeExtents: function (a, b, d, c) {}, strokePreserve: function () {}, textPath: function (a) {}, transform: function (a) {}, translate: function (a, b) {}, get_antialias: function () { return 0; }, set_antialias: function (a) { return a; }, get_currentPoint: function () { return null; }, get_dash: function () { return []; }, set_dash: function (a) { return a; }, get_dashCount: function () { return 0; }, get_fillRule: function () { return 0; }, set_fillRule: function (a) { return a; }, get_fontFace: function () { return 0; }, set_fontFace: function (a) { return a; }, get_fontOptions: function () { return null; }, set_fontOptions: function (a) { return a; }, get_groupTarget: function () { return 0; }, get_hasCurrentPoint: function () { return !1; }, get_lineCap: function () { return 0; }, set_lineCap: function (a) { return a; }, get_lineJoin: function () { return 0; }, set_lineJoin: function (a) { return a; }, get_lineWidth: function () { return 0; }, set_lineWidth: function (a) { return a; }, get_matrix: function () { return null; }, set_matrix: function (a) { return a; }, get_miterLimit: function () { return 0; }, set_miterLimit: function (a) { return a; }, get_source: function () { return 0; }, set_source: function (a) { return a; }, get_target: function () { return 0; }, get_tolerance: function () { return 0; }, set_tolerance: function (a) { return a; }, __class__: Rj, __properties__: { set_tolerance: 'set_tolerance', get_tolerance: 'get_tolerance', get_target: 'get_target', set_source: 'set_source', get_source: 'get_source', set_miterLimit: 'set_miterLimit', get_miterLimit: 'get_miterLimit', set_matrix: 'set_matrix', get_matrix: 'get_matrix', set_lineWidth: 'set_lineWidth', get_lineWidth: 'get_lineWidth', set_lineJoin: 'set_lineJoin', get_lineJoin: 'get_lineJoin', set_lineCap: 'set_lineCap', get_lineCap: 'get_lineCap', get_hasCurrentPoint: 'get_hasCurrentPoint', get_groupTarget: 'get_groupTarget', set_fontOptions: 'set_fontOptions', get_fontOptions: 'get_fontOptions', set_fontFace: 'set_fontFace', get_fontFace: 'get_fontFace', set_fillRule: 'set_fillRule', get_fillRule: 'get_fillRule', get_dashCount: 'get_dashCount', set_dash: 'set_dash', get_dash: 'get_dash', get_currentPoint: 'get_currentPoint', set_antialias: 'set_antialias', get_antialias: 'get_antialias' } }; var Ty = function (a, b, d) { null == d && (d = 0); null == b && (b = 0); this.index = a; this.x = b; this.y = d; }; k['lime.graphics.cairo.CairoGlyph'] = Ty; Ty.__name__ = 'lime.graphics.cairo.CairoGlyph'; Ty.prototype = { index: null, x: null, y: null, __class__: Ty }; var Tz = { __properties__: { get_width: 'get_width', get_stride: 'get_stride', get_height: 'get_height', get_format: 'get_format', get_data: 'get_data' }, _new: function (a, b, d) { return 0; }, create: function (a, b, d, c, f) { return 0; }, fromImage: function (a) { return null; }, get_data: function (a) { return lf.fromFloat(0); }, get_format: function (a) { return 0; }, get_height: function (a) { return 0; }, get_stride: function (a) { return 0; }, get_width: function (a) { return 0; } }, Mo = { __properties__: { set_matrix: 'set_matrix', get_matrix: 'get_matrix', set_filter: 'set_filter', get_filter: 'get_filter', set_extend: 'set_extend', get_extend: 'get_extend', get_colorStopCount: 'get_colorStopCount' }, _new: function (a) { return a; }, addColorStopRGB: function (a, b, d, c, f) {}, addColorStopRGBA: function (a, b, d, c, f, g) {}, createForSurface: function (a) { return 0; }, createLinear: function (a, b, d, c) { return 0; }, createRadial: function (a, b, d, c, f, g) { return 0; }, createRGB: function (a, b, d) { return 0; }, createRGBA: function (a, b, d, c) { return 0; }, get_colorStopCount: function (a) { return 0; }, get_extend: function (a) { return 0; }, set_extend: function (a, b) { return b; }, get_filter: function (a) { return 0; }, set_filter: function (a, b) { return b; }, get_matrix: function (a) { return null; }, set_matrix: function (a, b) { return b; } }, Uz = { flush: function (a) {} }, u = function () {}; k['lime.graphics.opengl.GL'] = u; u.__name__ = 'lime.graphics.opengl.GL'; u.activeTexture = function (a) { u.context.activeTexture(a); }; u.attachShader = function (a, b) { u.context.attachShader(a, b); }; u.beginQuery = function (a, b) { u.context.beginQuery(a, b); }; u.beginTransformFeedback = function (a) { u.context.beginTransformFeedback(a); }; u.bindAttribLocation = function (a, b, d) { u.context.bindAttribLocation(a, b, d); }; u.bindBuffer = function (a, b) { u.context.bindBuffer(a, b); }; u.bindBufferBase = function (a, b, d) { u.context.bindBufferBase(a, b, d); }; u.bindBufferRange = function (a, b, d, c, f) { u.context.bindBufferRange(a, b, d, c, lf.fromFloat(f)); }; u.bindFramebuffer = function (a, b) { u.context.bindFramebuffer(a, b); }; u.bindRenderbuffer = function (a, b) { u.context.bindRenderbuffer(a, b); }; u.bindSampler = function (a, b) { u.context.bindSampler(a, b); }; u.bindTexture = function (a, b) { u.context.bindTexture(a, b); }; u.bindTransformFeedback = function (a, b) { u.context.bindTransformFeedback(a, b); }; u.bindVertexArray = function (a) { u.context.bindVertexArray(a); }; u.blitFramebuffer = function (a, b, d, c, f, g, l, q, h, r) { u.context.blitFramebuffer(a, b, d, c, f, g, l, q, h, r); }; u.blendColor = function (a, b, d, c) { u.context.blendColor(a, b, d, c); }; u.blendEquation = function (a) { u.context.blendEquation(a); }; u.blendEquationSeparate = function (a, b) { u.context.blendEquationSeparate(a, b); }; u.blendFunc = function (a, b) { u.context.blendFunc(a, b); }; u.blendFuncSeparate = function (a, b, d, c) { u.context.blendFuncSeparate(a, b, d, c); }; u.bufferDataWEBGL = function (a, b, d, c, f) { var e = u.context; null != c ? e.bufferData(a, b, d, c, f) : e.bufferData(a, b, d); }; u.bufferSubDataWEBGL = function (a, b, d, c, f) { var e = u.context; null != c ? e.bufferSubData(a, b, d, c, f) : e.bufferSubData(a, b, d); }; u.checkFramebufferStatus = function (a) { return u.context.checkFramebufferStatus(a); }; u.clear = function (a) { u.context.clear(a); }; u.clearBufferfi = function (a, b, d, c) { u.context.clearBufferfi(a, b, d, c); }; u.clearBufferfvWEBGL = function (a, b, d, c) { u.context.clearBufferfv(a, b, d, c); }; u.clearBufferivWEBGL = function (a, b, d, c) { u.context.clearBufferiv(a, b, d, c); }; u.clearBufferuivWEBGL = function (a, b, d, c) { u.context.clearBufferuiv(a, b, d, c); }; u.clearColor = function (a, b, d, c) { u.context.clearColor(a, b, d, c); }; u.clearDepth = function (a) { u.context.clearDepth(a); }; u.clearStencil = function (a) { u.context.clearStencil(a); }; u.clientWaitSync = function (a, b, d) { return u.context.clientWaitSync(a, b, d); }; u.colorMask = function (a, b, d, c) { u.context.colorMask(a, b, d, c); }; u.compileShader = function (a) { u.context.compileShader(a); }; u.compressedTexImage2DWEBGL = function (a, b, d, c, f, g, l, q, h) { var e = u.context; null != q ? e.compressedTexImage2D(a, b, d, c, f, g, l, q, h) : e.compressedTexImage2D(a, b, d, c, f, g, l); }; u.compressedTexImage3DWEBGL = function (a, b, d, c, f, g, l, q, h, r) { u.context.compressedTexImage3D(a, b, d, c, f, g, l, q, h, r); }; u.compressedTexSubImage2DWEBGL = function (a, b, d, c, f, g, l, q, h, r) { var e = u.context; null != h ? e.compressedTexSubImage2D(a, b, d, c, f, g, l, q, h, r) : e.compressedTexSubImage2D(a, b, d, c, f, g, l, q); }; u.compressedTexSubImage3DWEBGL = function (a, b, d, c, f, g, l, q, h, r, k, p) { u.context.compressedTexSubImage3D(a, b, d, c, f, g, l, q, h, r, k, p); }; u.copyTexImage2D = function (a, b, d, c, f, g, l, q) { u.context.copyTexImage2D(a, b, d, c, f, g, l, q); }; u.copyTexSubImage2D = function (a, b, d, c, f, g, l, q) { u.context.copyTexSubImage2D(a, b, d, c, f, g, l, q); }; u.copyTexSubImage3D = function (a, b, d, c, f, g, l, q, h) { u.context.copyTexSubImage3D(a, b, d, c, f, g, l, q, h); }; u.createBuffer = function () { return u.context.createBuffer(); }; u.createFramebuffer = function () { return u.context.createFramebuffer(); }; u.createProgram = function () { return u.context.createProgram(); }; u.createQuery = function () { return u.context.createQuery(); }; u.createRenderbuffer = function () { return u.context.createRenderbuffer(); }; u.createSampler = function () { return u.context.createSampler(); }; u.createShader = function (a) { return u.context.createShader(a); }; u.createTexture = function () { return u.context.createTexture(); }; u.createTransformFeedback = function () { return u.context.createTransformFeedback(); }; u.createVertexArray = function () { return u.context.createVertexArray(); }; u.cullFace = function (a) { u.context.cullFace(a); }; u.deleteBuffer = function (a) { u.context.deleteBuffer(a); }; u.deleteFramebuffer = function (a) { u.context.deleteFramebuffer(a); }; u.deleteProgram = function (a) { u.context.deleteProgram(a); }; u.deleteQuery = function (a) { u.context.deleteQuery(a); }; u.deleteRenderbuffer = function (a) { u.context.deleteRenderbuffer(a); }; u.deleteSampler = function (a) { u.context.deleteSampler(a); }; u.deleteShader = function (a) { u.context.deleteShader(a); }; u.deleteSync = function (a) { u.context.deleteSync(a); }; u.deleteTexture = function (a) { u.context.deleteTexture(a); }; u.deleteTransformFeedback = function (a) { u.context.deleteTransformFeedback(a); }; u.deleteVertexArray = function (a) { u.context.deleteVertexArray(a); }; u.depthFunc = function (a) { u.context.depthFunc(a); }; u.depthMask = function (a) { u.context.depthMask(a); }; u.depthRange = function (a, b) { u.context.depthRange(a, b); }; u.detachShader = function (a, b) { u.context.detachShader(a, b); }; u.disable = function (a) { u.context.disable(a); }; u.disableVertexAttribArray = function (a) { u.context.disableVertexAttribArray(a); }; u.drawArrays = function (a, b, d) { u.context.drawArrays(a, b, d); }; u.drawArraysInstanced = function (a, b, d, c) { u.context.drawArraysInstanced(a, b, d, c); }; u.drawBuffers = function (a) { u.context.drawBuffers(a); }; u.drawElements = function (a, b, d, c) { u.context.drawElements(a, b, d, c); }; u.drawElementsInstanced = function (a, b, d, c, f) { u.context.drawElementsInstanced(a, b, d, c, f); }; u.drawRangeElements = function (a, b, d, c, f, g) { u.context.drawRangeElements(a, b, d, c, f, g); }; u.enable = function (a) { u.context.enable(a); }; u.enableVertexAttribArray = function (a) { u.context.enableVertexAttribArray(a); }; u.endQuery = function (a) { u.context.endQuery(a); }; u.endTransformFeedback = function () { u.context.endTransformFeedback(); }; u.fenceSync = function (a, b) { return u.context.fenceSync(a, b); }; u.finish = function () { u.context.finish(); }; u.flush = function () { u.context.flush(); }; u.framebufferRenderbuffer = function (a, b, d, c) { u.context.framebufferRenderbuffer(a, b, d, c); }; u.framebufferTexture2D = function (a, b, d, c, f) { u.context.framebufferTexture2D(a, b, d, c, f); }; u.framebufferTextureLayer = function (a, b, d, c, f) { u.context.framebufferTextureLayer(a, b, d, c, f); }; u.frontFace = function (a) { u.context.frontFace(a); }; u.generateMipmap = function (a) { u.context.generateMipmap(a); }; u.getActiveAttrib = function (a, b) { return u.context.getActiveAttrib(a, b); }; u.getActiveUniform = function (a, b) { return u.context.getActiveUniform(a, b); }; u.getActiveUniformBlockName = function (a, b) { return u.context.getActiveUniformBlockName(a, b); }; u.getActiveUniformBlockParameter = function (a, b, d) { return u.context.getActiveUniformBlockParameter(a, b, d); }; u.getActiveUniforms = function (a, b, d) { return u.context.getActiveUniforms(a, b, d); }; u.getAttachedShaders = function (a) { return u.context.getAttachedShaders(a); }; u.getAttribLocation = function (a, b) { return u.context.getAttribLocation(a, b); }; u.getBufferParameter = function (a, b) { return u.context.getBufferParameter(a, b); }; u.getBufferSubDataWEBGL = function (a, b, d, c, f) { var e = u.context; null != c ? e.getBufferSubData(a, b, d, c, f) : e.getBufferSubData(a, b, d); }; u.getContextAttributes = function () { return u.context.getContextAttributes(); }; u.getError = function () { return u.context.getError(); }; u.getExtension = function (a) { return u.context.getExtension(a); }; u.getFragDataLocation = function (a, b) { return u.context.getFragDataLocation(a, b); }; u.getFramebufferAttachmentParameter = function (a, b, d) { return u.context.getFramebufferAttachmentParameter(a, b, d); }; u.getIndexedParameter = function (a, b) { return u.context.getIndexedParameter(a, b); }; u.getInternalformatParameter = function (a, b, d) { return u.context.getInternalformatParameter(a, b, d); }; u.getParameter = function (a) { return u.context.getParameter(a); }; u.getProgramInfoLog = function (a) { return u.context.getProgramInfoLog(a); }; u.getProgramParameter = function (a, b) { return u.context.getProgramParameter(a, b); }; u.getQuery = function (a, b) { return u.context.getQuery(a, b); }; u.getQueryParameter = function (a, b) { return u.context.getQueryParameter(a, b); }; u.getRenderbufferParameter = function (a, b) { return u.context.getRenderbufferParameter(a, b); }; u.getSamplerParameter = function (a, b) { return u.context.getSamplerParameter(a, b); }; u.getShaderInfoLog = function (a) { return u.context.getShaderInfoLog(a); }; u.getShaderParameter = function (a, b) { return u.context.getShaderParameter(a, b); }; u.getShaderPrecisionFormat = function (a, b) { return u.context.getShaderPrecisionFormat(a, b); }; u.getShaderSource = function (a) { return u.context.getShaderSource(a); }; u.getSupportedExtensions = function () { return u.context.getSupportedExtensions(); }; u.getSyncParameter = function (a, b) { return u.context.getSyncParameter(a, b); }; u.getTexParameter = function (a, b) { return u.context.getTexParameter(a, b); }; u.getTransformFeedbackVarying = function (a, b) { return u.context.getTransformFeedbackVarying(a, b); }; u.getUniform = function (a, b) { return u.context.getUniform(a, b); }; u.getUniformBlockIndex = function (a, b) { return u.context.getUniformBlockIndex(a, b); }; u.getUniformIndices = function (a, b) { return u.context.getUniformIndices(a, b); }; u.getUniformLocation = function (a, b) { return u.context.getUniformLocation(a, b); }; u.getVertexAttrib = function (a, b) { return u.context.getVertexAttrib(a, b); }; u.getVertexAttribOffset = function (a, b) { return lf.fromFloat(u.context.getVertexAttribOffset(a, b)); }; u.hint = function (a, b) { u.context.hint(a, b); }; u.invalidateFramebuffer = function (a, b) { u.context.invalidateFramebuffer(a, b); }; u.invalidateSubFramebuffer = function (a, b, d, c, f, g) { u.context.invalidateSubFramebuffer(a, b, d, c, f, g); }; u.isBuffer = function (a) { return u.context.isBuffer(a); }; u.isContextLost = function () { return u.context.isContextLost(); }; u.isEnabled = function (a) { return u.context.isEnabled(a); }; u.isFramebuffer = function (a) { return u.context.isFramebuffer(a); }; u.isProgram = function (a) { return u.context.isProgram(a); }; u.isQuery = function (a) { return u.context.isQuery(a); }; u.isRenderbuffer = function (a) { return u.context.isRenderbuffer(a); }; u.isSampler = function (a) { return u.context.isSampler(a); }; u.isShader = function (a) { return u.context.isShader(a); }; u.isSync = function (a) { return u.context.isSync(a); }; u.isTexture = function (a) { return u.context.isTexture(a); }; u.isTransformFeedback = function (a) { return u.context.isTransformFeedback(a); }; u.isVertexArray = function (a) { return u.context.isVertexArray(a); }; u.lineWidth = function (a) { u.context.lineWidth(a); }; u.linkProgram = function (a) { u.context.linkProgram(a); }; u.pauseTransformFeedback = function () { u.context.pauseTransformFeedback(); }; u.pixelStorei = function (a, b) { u.context.pixelStorei(a, b); }; u.polygonOffset = function (a, b) { u.context.polygonOffset(a, b); }; u.readBuffer = function (a) { u.context.readBuffer(a); }; u.readPixelsWEBGL = function (a, b, d, c, f, g, l, q) { var e = u.context; null != q ? e.readPixels(a, b, d, c, f, g, l, q) : e.readPixels(a, b, d, c, f, g, l); }; u.renderbufferStorage = function (a, b, d, c) { u.context.renderbufferStorage(a, b, d, c); }; u.renderbufferStorageMultisample = function (a, b, d, c, f) { u.context.renderbufferStorageMultisample(a, b, d, c, f); }; u.resumeTransformFeedback = function () { u.context.resumeTransformFeedback(); }; u.sampleCoverage = function (a, b) { u.context.sampleCoverage(a, b); }; u.samplerParameterf = function (a, b, d) { u.context.samplerParameterf(a, b, d); }; u.samplerParameteri = function (a, b, d) { u.context.samplerParameteri(a, b, d); }; u.scissor = function (a, b, d, c) { u.context.scissor(a, b, d, c); }; u.shaderSource = function (a, b) { u.context.shaderSource(a, b); }; u.stencilFunc = function (a, b, d) { u.context.stencilFunc(a, b, d); }; u.stencilFuncSeparate = function (a, b, d, c) { u.context.stencilFuncSeparate(a, b, d, c); }; u.stencilMask = function (a) { u.context.stencilMask(a); }; u.stencilMaskSeparate = function (a, b) { u.context.stencilMaskSeparate(a, b); }; u.stencilOp = function (a, b, d) { u.context.stencilOp(a, b, d); }; u.stencilOpSeparate = function (a, b, d, c) { u.context.stencilOpSeparate(a, b, d, c); }; u.texImage2DWEBGL = function (a, b, d, c, f, g, l, q, h, r) { var e = u.context; null != r ? e.texImage2D(a, b, d, c, f, g, l, q, h, r) : null != l ? e.texImage2D(a, b, d, c, f, g, l, q, h) : e.texImage2D(a, b, d, c, f, g); }; u.texImage3DWEBGL = function (a, b, d, c, f, g, l, q, h, r, k) { u.context.texImage3D(a, b, d, c, f, g, l, q, h, r, k); }; u.texStorage2D = function (a, b, d, c, f) { u.context.texStorage2D(a, b, d, c, f); }; u.texStorage3D = function (a, b, d, c, f, g) { u.context.texStorage3D(a, b, d, c, f, g); }; u.texParameterf = function (a, b, d) { u.context.texParameterf(a, b, d); }; u.texParameteri = function (a, b, d) { u.context.texParameteri(a, b, d); }; u.texSubImage2DWEBGL = function (a, b, d, c, f, g, l, q, h, r) { var e = u.context; null != r ? e.texSubImage2D(a, b, d, c, f, g, l, q, h, r) : null != q ? e.texSubImage2D(a, b, d, c, f, g, l, q, h) : e.texSubImage2D(a, b, d, c, f, g, l); }; u.texSubImage3DWEBGL = function (a, b, d, c, f, g, l, q, h, r, k, p) { u.context.texSubImage3D(a, b, d, c, f, g, l, q, h, r, k, p); }; u.transformFeedbackVaryings = function (a, b, d) { u.context.transformFeedbackVaryings(a, b, d); }; u.uniform1f = function (a, b) { u.context.uniform1f(a, b); }; u.uniform1fvWEBGL = function (a, b, d, c) { var e = u.context; null != d ? e.uniform1fv(a, b, d, c) : e.uniform1fv(a, b); }; u.uniform1i = function (a, b) { u.context.uniform1i(a, b); }; u.uniform1ivWEBGL = function (a, b, d, c) { var e = u.context; null != d ? e.uniform1iv(a, b, d, c) : e.uniform1iv(a, b); }; u.uniform1ui = function (a, b) { u.context.uniform1ui(a, b); }; u.uniform1uivWEBGL = function (a, b, d, c) { u.context.uniform1uiv(a, b, d, c); }; u.uniform2f = function (a, b, d) { u.context.uniform2f(a, b, d); }; u.uniform2fvWEBGL = function (a, b, d, c) { Mz.uniform2fv(u.context, a, b, d, c); }; u.uniform2i = function (a, b, d) { u.context.uniform2i(a, b, d); }; u.uniform2ivWEBGL = function (a, b, d, c) { var e = u.context; null != d ? e.uniform2iv(a, b, d, c) : e.uniform2iv(a, b); }; u.uniform2ui = function (a, b, d) { u.context.uniform2ui(a, b, d); }; u.uniform2uivWEBGL = function (a, b, d, c) { u.context.uniform2uiv(a, b, d, c); }; u.uniform3f = function (a, b, d, c) { u.context.uniform3f(a, b, d, c); }; u.uniform3fvWEBGL = function (a, b, d, c) { var e = u.context; null != d ? e.uniform3fv(a, b, d, c) : e.uniform3fv(a, b); }; u.uniform3i = function (a, b, d, c) { u.context.uniform3i(a, b, d, c); }; u.uniform3ivWEBGL = function (a, b, d, c) { var e = u.context; null != d ? e.uniform3iv(a, b, d, c) : e.uniform3iv(a, b); }; u.uniform3ui = function (a, b, d, c) { u.context.uniform3ui(a, b, d, c); }; u.uniform3uivWEBGL = function (a, b, d, c) { u.context.uniform3uiv(a, b, d, c); }; u.uniform4f = function (a, b, d, c, f) { u.context.uniform4f(a, b, d, c, f); }; u.uniform4fvWEBGL = function (a, b, d, c) { var e = u.context; null != d ? e.uniform4fv(a, b, d, c) : e.uniform4fv(a, b); }; u.uniform4i = function (a, b, d, c, f) { u.context.uniform4i(a, b, d, c, f); }; u.uniform4ivWEBGL = function (a, b, d, c) { var e = u.context; null != d ? e.uniform4iv(a, b, d, c) : e.uniform4iv(a, b); }; u.uniform4ui = function (a, b, d, c, f) { u.context.uniform4ui(a, b, d, c, f); }; u.uniform4uivWEBGL = function (a, b, d, c) { u.context.uniform4uiv(a, b, d, c); }; u.uniformBlockBinding = function (a, b, d) { u.context.uniformBlockBinding(a, b, d); }; u.uniformMatrix2fvWEBGL = function (a, b, d, c, f) { var e = u.context; null != c ? e.uniformMatrix2fv(a, b, d, c, f) : e.uniformMatrix2fv(a, b, d); }; u.uniformMatrix2x3fvWEBGL = function (a, b, d, c, f) { u.context.uniformMatrix2x3fv(a, b, d, c, f); }; u.uniformMatrix2x4fvWEBGL = function (a, b, d, c, f) { u.context.uniformMatrix2x4fv(a, b, d, c, f); }; u.uniformMatrix3fvWEBGL = function (a, b, d, c, f) { var e = u.context; null != c ? e.uniformMatrix3fv(a, b, d, c, f) : e.uniformMatrix3fv(a, b, d); }; u.uniformMatrix3x2fvWEBGL = function (a, b, d, c, f) { u.context.uniformMatrix3x2fv(a, b, d, c, f); }; u.uniformMatrix3x4fvWEBGL = function (a, b, d, c, f) { u.context.uniformMatrix3x4fv(a, b, d, c, f); }; u.uniformMatrix4fvWEBGL = function (a, b, d, c, f) { var e = u.context; null != c ? e.uniformMatrix4fv(a, b, d, c, f) : e.uniformMatrix4fv(a, b, d); }; u.uniformMatrix4x2fvWEBGL = function (a, b, d, c, f) { u.context.uniformMatrix4x2fv(a, b, d, c, f); }; u.uniformMatrix4x3fvWEBGL = function (a, b, d, c, f) { u.context.uniformMatrix4x3fv(a, b, d, c, f); }; u.useProgram = function (a) { u.context.useProgram(a); }; u.validateProgram = function (a) { u.context.validateProgram(a); }; u.vertexAttrib1f = function (a, b) { u.context.vertexAttrib1f(a, b); }; u.vertexAttrib1fv = function (a, b) { u.context.vertexAttrib1fv(a, b); }; u.vertexAttrib1fvWEBGL = function (a, b) { u.context.vertexAttrib1fv(a, b); }; u.vertexAttrib2f = function (a, b, d) { u.context.vertexAttrib2f(a, b, d); }; u.vertexAttrib2fv = function (a, b) { u.context.vertexAttrib2fv(a, b); }; u.vertexAttrib2fvWEBGL = function (a, b) { u.context.vertexAttrib2fv(a, b); }; u.vertexAttrib3f = function (a, b, d, c) { u.context.vertexAttrib3f(a, b, d, c); }; u.vertexAttrib3fv = function (a, b) { u.context.vertexAttrib3fv(a, b); }; u.vertexAttrib3fvWEBGL = function (a, b) { u.context.vertexAttrib3fv(a, b); }; u.vertexAttrib4f = function (a, b, d, c, f) { u.context.vertexAttrib4f(a, b, d, c, f); }; u.vertexAttrib4fv = function (a, b) { u.context.vertexAttrib4fv(a, b); }; u.vertexAttrib4fvWEBGL = function (a, b) { u.context.vertexAttrib4fv(a, b); }; u.vertexAttribDivisor = function (a, b) { u.context.vertexAttribDivisor(a, b); }; u.vertexAttribI4i = function (a, b, d, c, f) { u.context.vertexAttribI4i(a, b, d, c, f); }; u.vertexAttribI4iv = function (a, b) { u.context.vertexAttribI4iv(a, b); }; u.vertexAttribI4ivWEBGL = function (a, b) { u.context.vertexAttribI4iv(a, b); }; u.vertexAttribI4ui = function (a, b, d, c, f) { u.context.vertexAttribI4ui(a, b, d, c, f); }; u.vertexAttribI4uiv = function (a, b) { u.context.vertexAttribI4uiv(a, b); }; u.vertexAttribI4uivWEBGL = function (a, b) { u.context.vertexAttribI4uiv(a, b); }; u.vertexAttribIPointer = function (a, b, d, c, f) { u.context.vertexAttribIPointer(a, b, d, c, f); }; u.vertexAttribPointer = function (a, b, d, c, f, g) { u.context.vertexAttribPointer(a, b, d, c, f, g); }; u.viewport = function (a, b, d, c) { u.context.viewport(a, b, d, c); }; u.waitSync = function (a, b, d) { u.context.waitSync(a, b, d); }; u.__getObjectID = function (a) { return null == a ? 0 : a.id; }; var Uy = function () { this.STACK_UNDERFLOW = 1284; this.STACK_OVERFLOW = 1283; this.CONTEXT_FLAG_DEBUG_BIT = 2; this.DEBUG_OUTPUT = 37600; this.DEBUG_SEVERITY_LOW = 37192; this.DEBUG_SEVERITY_MEDIUM = 37191; this.DEBUG_SEVERITY_HIGH = 37190; this.DEBUG_LOGGED_MESSAGES = 37189; this.MAX_DEBUG_LOGGED_MESSAGES = 37188; this.MAX_DEBUG_MESSAGE_LENGTH = 37187; this.MAX_LABEL_LENGTH = 33512; this.SAMPLER = 33510; this.QUERY = 33507; this.PROGRAM = 33506; this.SHADER = 33505; this.BUFFER = 33504; this.DEBUG_GROUP_STACK_DEPTH = 33389; this.MAX_DEBUG_GROUP_STACK_DEPTH = 33388; this.DEBUG_SEVERITY_NOTIFICATION = 33387; this.DEBUG_TYPE_POP_GROUP = 33386; this.DEBUG_TYPE_PUSH_GROUP = 33385; this.DEBUG_TYPE_MARKER = 33384; this.DEBUG_TYPE_OTHER = 33361; this.DEBUG_TYPE_PERFORMANCE = 33360; this.DEBUG_TYPE_PORTABILITY = 33359; this.DEBUG_TYPE_UNDEFINED_BEHAVIOR = 33358; this.DEBUG_TYPE_DEPRECATED_BEHAVIOR = 33357; this.DEBUG_TYPE_ERROR = 33356; this.DEBUG_SOURCE_OTHER = 33355; this.DEBUG_SOURCE_APPLICATION = 33354; this.DEBUG_SOURCE_THIRD_PARTY = 33353; this.DEBUG_SOURCE_SHADER_COMPILER = 33352; this.DEBUG_SOURCE_WINDOW_SYSTEM = 33351; this.DEBUG_SOURCE_API = 33350; this.DEBUG_CALLBACK_USER_PARAM = 33349; this.DEBUG_CALLBACK_FUNCTION = 33348; this.DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 33347; this.DEBUG_OUTPUT_SYNCHRONOUS = 33346; }; k['lime.graphics.opengl.ext.KHR_debug'] = Uy; Uy.__name__ = 'lime.graphics.opengl.ext.KHR_debug'; Uy.prototype = { DEBUG_OUTPUT_SYNCHRONOUS: null, DEBUG_NEXT_LOGGED_MESSAGE_LENGTH: null, DEBUG_CALLBACK_FUNCTION: null, DEBUG_CALLBACK_USER_PARAM: null, DEBUG_SOURCE_API: null, DEBUG_SOURCE_WINDOW_SYSTEM: null, DEBUG_SOURCE_SHADER_COMPILER: null, DEBUG_SOURCE_THIRD_PARTY: null, DEBUG_SOURCE_APPLICATION: null, DEBUG_SOURCE_OTHER: null, DEBUG_TYPE_ERROR: null, DEBUG_TYPE_DEPRECATED_BEHAVIOR: null, DEBUG_TYPE_UNDEFINED_BEHAVIOR: null, DEBUG_TYPE_PORTABILITY: null, DEBUG_TYPE_PERFORMANCE: null, DEBUG_TYPE_OTHER: null, DEBUG_TYPE_MARKER: null, DEBUG_TYPE_PUSH_GROUP: null, DEBUG_TYPE_POP_GROUP: null, DEBUG_SEVERITY_NOTIFICATION: null, MAX_DEBUG_GROUP_STACK_DEPTH: null, DEBUG_GROUP_STACK_DEPTH: null, BUFFER: null, SHADER: null, PROGRAM: null, QUERY: null, SAMPLER: null, MAX_LABEL_LENGTH: null, MAX_DEBUG_MESSAGE_LENGTH: null, MAX_DEBUG_LOGGED_MESSAGES: null, DEBUG_LOGGED_MESSAGES: null, DEBUG_SEVERITY_HIGH: null, DEBUG_SEVERITY_MEDIUM: null, DEBUG_SEVERITY_LOW: null, DEBUG_OUTPUT: null, CONTEXT_FLAG_DEBUG_BIT: null, STACK_OVERFLOW: null, STACK_UNDERFLOW: null, __class__: Uy }; var Kd = { __properties__: { set_redOffset: 'set_redOffset', get_redOffset: 'get_redOffset', set_redMultiplier: 'set_redMultiplier', get_redMultiplier: 'get_redMultiplier', set_greenOffset: 'set_greenOffset', get_greenOffset: 'get_greenOffset', set_greenMultiplier: 'set_greenMultiplier', get_greenMultiplier: 'get_greenMultiplier', set_color: 'set_color', get_color: 'get_color', set_blueOffset: 'set_blueOffset', get_blueOffset: 'get_blueOffset', set_blueMultiplier: 'set_blueMultiplier', get_blueMultiplier: 'get_blueMultiplier', set_alphaOffset: 'set_alphaOffset', get_alphaOffset: 'get_alphaOffset', set_alphaMultiplier: 'set_alphaMultiplier', get_alphaMultiplier: 'get_alphaMultiplier' }, _new: function (a) { if (null == a || 20 != a.length) (a = Kd.__identity), (a = null != a ? new Float32Array(a) : null); return a; }, clone: function (a) { a = Xg.toArrayBufferView(a); a = null != a ? new Float32Array(a) : null; return Kd._new(a); }, concat: function (a, b) { a[0] += b[0]; a[6] += b[6]; a[12] += b[12]; a[18] += b[18]; }, copyFrom: function (a, b) { a.set(b); }, identity: function (a) { a[0] = 1; a[1] = 0; a[2] = 0; a[3] = 0; a[4] = 0; a[5] = 0; a[6] = 1; a[7] = 0; a[8] = 0; a[9] = 0; a[10] = 0; a[11] = 0; a[12] = 1; a[13] = 0; a[14] = 0; a[15] = 0; a[16] = 0; a[17] = 0; a[18] = 1; a[19] = 0; }, getAlphaTable: function (a) { if (null == Kd.__alphaTable) { var b = new Uint8Array(256); Kd.__alphaTable = b; } Kd.__alphaTable[0] = 0; for (var d = 1; 256 > d; ) { var c = d++; b = Math.floor(c * a[18] + 255 * a[19]); 255 < b && (b = 255); 0 > b && (b = 0); Kd.__alphaTable[c] = b; } return Kd.__alphaTable; }, getBlueTable: function (a) { if (null == Kd.__blueTable) { var b = new Uint8Array(256); Kd.__blueTable = b; } for (var d = 0; 256 > d; ) { var c = d++; b = Math.floor(c * a[12] + 255 * a[14]); 255 < b && (b = 255); 0 > b && (b = 0); Kd.__blueTable[c] = b; } return Kd.__blueTable; }, getGreenTable: function (a) { if (null == Kd.__greenTable) { var b = new Uint8Array(256); Kd.__greenTable = b; } for (var d = 0; 256 > d; ) { var c = d++; b = Math.floor(c * a[6] + 255 * a[9]); 255 < b && (b = 255); 0 > b && (b = 0); Kd.__greenTable[c] = b; } return Kd.__greenTable; }, getRedTable: function (a) { if (null == Kd.__redTable) { var b = new Uint8Array(256); Kd.__redTable = b; } for (var d = 0; 256 > d; ) { var c = d++; b = Math.floor(c * a[0] + 255 * a[4]); 255 < b && (b = 255); 0 > b && (b = 0); Kd.__redTable[c] = b; } return Kd.__redTable; }, __toFlashColorTransform: function (a) { return null; }, get_alphaMultiplier: function (a) { return a[18]; }, set_alphaMultiplier: function (a, b) { return (a[18] = b); }, get_alphaOffset: function (a) { return 255 * a[19]; }, set_alphaOffset: function (a, b) { return (a[19] = b / 255); }, get_blueMultiplier: function (a) { return a[12]; }, set_blueMultiplier: function (a, b) { return (a[12] = b); }, get_blueOffset: function (a) { return 255 * a[14]; }, set_blueOffset: function (a, b) { return (a[14] = b / 255); }, get_color: function (a) { return (((255 * a[4]) | 0) << 16) | (((255 * a[9]) | 0) << 8) | (255 * a[14]) | 0; }, set_color: function (a, b) { a[4] = ((b >> 16) & 255) / 255; a[9] = ((b >> 8) & 255) / 255; a[14] = (b & 255) / 255; a[0] = 0; a[6] = 0; a[12] = 0; return Kd.get_color(a); }, get_greenMultiplier: function (a) { return a[6]; }, set_greenMultiplier: function (a, b) { return (a[6] = b); }, get_greenOffset: function (a) { return 255 * a[9]; }, set_greenOffset: function (a, b) { return (a[9] = b / 255); }, get_redMultiplier: function (a) { return a[0]; }, set_redMultiplier: function (a, b) { return (a[0] = b); }, get_redOffset: function (a) { return 255 * a[4]; }, set_redOffset: function (a, b) { return (a[4] = b / 255); }, get: function (a, b) { return a[b]; }, set: function (a, b, d) { return (a[b] = d); } }, ta = { __properties__: { set_position: 'set_position', get_position: 'get_position', get_determinant: 'get_determinant' }, _new: function (a) { if (null == a || 16 != a.length) (a = ta.__identity), (a = null != a ? new Float32Array(a) : null); return a; }, append: function (a, b) { var d = a[0], c = a[4], f = a[8], g = a[12], l = a[1], q = a[5], h = a[9], r = a[13], k = a[2], p = a[6], n = a[10], u = a[14], m = a[3], t = a[7], x = a[11], v = a[15], w = ta.get(b, 0), G = ta.get(b, 4), B = ta.get(b, 8), N = ta.get(b, 12), H = ta.get(b, 1), D = ta.get(b, 5), z = ta.get(b, 9), C = ta.get(b, 13), ya = ta.get(b, 2), E = ta.get(b, 6), I = ta.get(b, 10), F = ta.get(b, 14), J = ta.get(b, 3), L = ta.get(b, 7), O = ta.get(b, 11); b = ta.get(b, 15); a[0] = d * w + l * G + k * B + m * N; a[1] = d * H + l * D + k * z + m * C; a[2] = d * ya + l * E + k * I + m * F; a[3] = d * J + l * L + k * O + m * b; a[4] = c * w + q * G + p * B + t * N; a[5] = c * H + q * D + p * z + t * C; a[6] = c * ya + q * E + p * I + t * F; a[7] = c * J + q * L + p * O + t * b; a[8] = f * w + h * G + n * B + x * N; a[9] = f * H + h * D + n * z + x * C; a[10] = f * ya + h * E + n * I + x * F; a[11] = f * J + h * L + n * O + x * b; a[12] = g * w + r * G + u * B + v * N; a[13] = g * H + r * D + u * z + v * C; a[14] = g * ya + r * E + u * I + v * F; a[15] = g * J + r * L + u * O + v * b; }, appendRotation: function (a, b, d, c) { b = ta.__getAxisRotation(a, d.x, d.y, d.z, b); null != c && ta.appendTranslation(b, c.x, c.y, c.z); ta.append(a, b); }, appendScale: function (a, b, d, c) { b = [b, 0, 0, 0, 0, d, 0, 0, 0, 0, c, 0, 0, 0, 0, 1]; b = null != b ? new Float32Array(b) : null; ta.append(a, ta._new(b)); }, appendTranslation: function (a, b, d, c) { a[12] += b; a[13] += d; a[14] += c; }, clone: function (a) { a = Xg.toArrayBufferView(a); a = null != a ? new Float32Array(a) : null; return ta._new(a); }, copyColumnFrom: function (a, b, d) { switch (b) { case 0: a[0] = d.x; a[1] = d.y; a[2] = d.z; a[3] = d.w; break; case 1: a[4] = d.x; a[5] = d.y; a[6] = d.z; a[7] = d.w; break; case 2: a[8] = d.x; a[9] = d.y; a[10] = d.z; a[11] = d.w; break; case 3: a[12] = d.x; a[13] = d.y; a[14] = d.z; a[15] = d.w; break; default: Va.error('Column ' + b + ' out of bounds [0, ..., 3]', { fileName: 'lime/math/Matrix4.hx', lineNumber: 187, className: 'lime.math._Matrix4.Matrix4_Impl_', methodName: 'copyColumnFrom' }); } }, copyColumnTo: function (a, b, d) { switch (b) { case 0: d.x = a[0]; d.y = a[1]; d.z = a[2]; d.w = a[3]; break; case 1: d.x = a[4]; d.y = a[5]; d.z = a[6]; d.w = a[7]; break; case 2: d.x = a[8]; d.y = a[9]; d.z = a[10]; d.w = a[11]; break; case 3: d.x = a[12]; d.y = a[13]; d.z = a[14]; d.w = a[15]; break; default: Va.error('Column ' + b + ' out of bounds [0, ..., 3]', { fileName: 'lime/math/Matrix4.hx', lineNumber: 225, className: 'lime.math._Matrix4.Matrix4_Impl_', methodName: 'copyColumnTo' }); } }, copyFrom: function (a, b) { a.set(b); }, copyRowFrom: function (a, b, d) { switch (b) { case 0: a[0] = d.x; a[4] = d.y; a[8] = d.z; a[12] = d.w; break; case 1: a[1] = d.x; a[5] = d.y; a[9] = d.z; a[13] = d.w; break; case 2: a[2] = d.x; a[6] = d.y; a[10] = d.z; a[14] = d.w; break; case 3: a[3] = d.x; a[7] = d.y; a[11] = d.z; a[15] = d.w; break; default: Va.error('Row ' + b + ' out of bounds [0, ..., 3]', { fileName: 'lime/math/Matrix4.hx', lineNumber: 272, className: 'lime.math._Matrix4.Matrix4_Impl_', methodName: 'copyRowFrom' }); } }, copyRowTo: function (a, b, d) { switch (b) { case 0: d.x = a[0]; d.y = a[4]; d.z = a[8]; d.w = a[12]; break; case 1: d.x = a[1]; d.y = a[5]; d.z = a[9]; d.w = a[13]; break; case 2: d.x = a[2]; d.y = a[6]; d.z = a[10]; d.w = a[14]; break; case 3: d.x = a[3]; d.y = a[7]; d.z = a[11]; d.w = a[15]; break; default: Va.error('Row ' + b + ' out of bounds [0, ..., 3]', { fileName: 'lime/math/Matrix4.hx', lineNumber: 310, className: 'lime.math._Matrix4.Matrix4_Impl_', methodName: 'copyRowTo' }); } }, create2D: function (a, b, d, c, f, g, l) { null == l && (l = 0); null == g && (g = 0); a[0] = b; a[1] = d; a[2] = 0; a[3] = 0; a[4] = c; a[5] = f; a[6] = 0; a[7] = 0; a[8] = 0; a[9] = 0; a[10] = 1; a[11] = 0; a[12] = g; a[13] = l; a[14] = 0; a[15] = 1; }, createOrtho: function (a, b, d, c, f, g, l) { var e = 1 / (d - b), h = 1 / (f - c), r = 1 / (l - g); a[0] = 2 * e; a[1] = 0; a[2] = 0; a[3] = 0; a[4] = 0; a[5] = 2 * h; a[6] = 0; a[7] = 0; a[8] = 0; a[9] = 0; a[10] = -2 * r; a[11] = 0; a[12] = -(b + d) * e; a[13] = -(c + f) * h; a[14] = -(g + l) * r; a[15] = 1; }, deltaTransformVector: function (a, b, d) { null == d && (d = new Bc()); var c = b.x, f = b.y; b = b.z; d.x = c * a[0] + f * a[4] + b * a[8] + a[3]; d.y = c * a[1] + f * a[5] + b * a[9] + a[7]; d.z = c * a[2] + f * a[6] + b * a[10] + a[11]; return d; }, fromMatrix3: function (a) { var b = ta._new(); ta.create2D(b, a.a, a.b, a.c, a.d, a.tx, a.ty); return b; }, identity: function (a) { a[0] = 1; a[1] = 0; a[2] = 0; a[3] = 0; a[4] = 0; a[5] = 1; a[6] = 0; a[7] = 0; a[8] = 0; a[9] = 0; a[10] = 1; a[11] = 0; a[12] = 0; a[13] = 0; a[14] = 0; a[15] = 1; }, interpolate: function (a, b, d, c) { null == c && (c = ta._new()); for (var e = 0; 16 > e; ) { var g = e++; ta.set(c, g, ta.get(a, g) + (ta.get(b, g) - ta.get(a, g)) * d); } return c; }, interpolateTo: function (a, b, d) { for (var c = 0; 16 > c; ) { var f = c++; a[f] += (ta.get(b, f) - a[f]) * d; } }, invert: function (a) { var b = ta.get_determinant(a), d = 1e-11 < Math.abs(b); if (d) { b = 1 / b; var c = a[0], f = a[4], g = a[8], l = a[12], q = a[1], h = a[5], r = a[9], k = a[13], p = a[2], n = a[6], u = a[10], m = a[14], t = a[3], x = a[7], v = a[11], w = a[15]; a[0] = b * (h * (u * w - m * v) - r * (n * w - m * x) + k * (n * v - u * x)); a[1] = -b * (q * (u * w - m * v) - r * (p * w - m * t) + k * (p * v - u * t)); a[2] = b * (q * (n * w - m * x) - h * (p * w - m * t) + k * (p * x - n * t)); a[3] = -b * (q * (n * v - u * x) - h * (p * v - u * t) + r * (p * x - n * t)); a[4] = -b * (f * (u * w - m * v) - g * (n * w - m * x) + l * (n * v - u * x)); a[5] = b * (c * (u * w - m * v) - g * (p * w - m * t) + l * (p * v - u * t)); a[6] = -b * (c * (n * w - m * x) - f * (p * w - m * t) + l * (p * x - n * t)); a[7] = b * (c * (n * v - u * x) - f * (p * v - u * t) + g * (p * x - n * t)); a[8] = b * (f * (r * w - k * v) - g * (h * w - k * x) + l * (h * v - r * x)); a[9] = -b * (c * (r * w - k * v) - g * (q * w - k * t) + l * (q * v - r * t)); a[10] = b * (c * (h * w - k * x) - f * (q * w - k * t) + l * (q * x - h * t)); a[11] = -b * (c * (h * v - r * x) - f * (q * v - r * t) + g * (q * x - h * t)); a[12] = -b * (f * (r * m - k * u) - g * (h * m - k * n) + l * (h * u - r * n)); a[13] = b * (c * (r * m - k * u) - g * (q * m - k * p) + l * (q * u - r * p)); a[14] = -b * (c * (h * m - k * n) - f * (q * m - k * p) + l * (q * n - h * p)); a[15] = b * (c * (h * u - r * n) - f * (q * u - r * p) + g * (q * n - h * p)); } return d; }, pointAt: function (a, b, d, c) { null == d && (d = new Bc(0, 0, 1)); null == c && (c = new Bc(0, 1, 0)); var e = null; null == e && (e = new Bc()); e.x = b.x - d.x; e.y = b.y - d.y; e.z = b.z - d.z; d = e; c = new Bc(c.x, c.y, c.z, c.w); e = Math.sqrt(d.x * d.x + d.y * d.y + d.z * d.z); 0 != e && ((d.x /= e), (d.y /= e), (d.z /= e)); e = Math.sqrt(c.x * c.x + c.y * c.y + c.z * c.z); 0 != e && ((c.x /= e), (c.y /= e), (c.z /= e)); var g = new Bc(d.x, d.y, d.z, d.w); e = c.x * d.x + c.y * d.y + c.z * d.z; g.x *= e; g.y *= e; g.z *= e; e = null; null == e && (e = new Bc()); e.x = c.x - g.x; e.y = c.y - g.y; e.z = c.z - g.z; c = e; 0 < Math.sqrt(c.x * c.x + c.y * c.y + c.z * c.z) ? ((e = Math.sqrt(c.x * c.x + c.y * c.y + c.z * c.z)), 0 != e && ((c.x /= e), (c.y /= e), (c.z /= e))) : (c = 0 != d.x ? new Bc(-d.y, d.x, 0) : new Bc(1, 0, 0)); e = null; null == e && (e = new Bc()); g = c.z * d.x - c.x * d.z; var l = c.x * d.y - c.y * d.x; e.x = c.y * d.z - c.z * d.y; e.y = g; e.z = l; e.w = 1; g = e; e = Math.sqrt(g.x * g.x + g.y * g.y + g.z * g.z); 0 != e && ((g.x /= e), (g.y /= e), (g.z /= e)); a[0] = g.x; a[4] = g.y; a[8] = g.z; a[12] = 0; a[1] = c.x; a[5] = c.y; a[9] = c.z; a[13] = 0; a[2] = d.x; a[6] = d.y; a[10] = d.z; a[14] = 0; a[3] = b.x; a[7] = b.y; a[11] = b.z; a[15] = 1; }, prepend: function (a, b) { var d = ta.get(b, 0), c = ta.get(b, 4), f = ta.get(b, 8), g = ta.get(b, 12), l = ta.get(b, 1), q = ta.get(b, 5), h = ta.get(b, 9), r = ta.get(b, 13), k = ta.get(b, 2), p = ta.get(b, 6), n = ta.get(b, 10), u = ta.get(b, 14), m = ta.get(b, 3), t = ta.get(b, 7), x = ta.get(b, 11); b = ta.get(b, 15); var v = a[0], w = a[4], G = a[8], B = a[12], N = a[1], H = a[5], D = a[9], z = a[13], C = a[2], ya = a[6], E = a[10], I = a[14], F = a[3], J = a[7], L = a[11], O = a[15]; a[0] = d * v + l * w + k * G + m * B; a[1] = d * N + l * H + k * D + m * z; a[2] = d * C + l * ya + k * E + m * I; a[3] = d * F + l * J + k * L + m * O; a[4] = c * v + q * w + p * G + t * B; a[5] = c * N + q * H + p * D + t * z; a[6] = c * C + q * ya + p * E + t * I; a[7] = c * F + q * J + p * L + t * O; a[8] = f * v + h * w + n * G + x * B; a[9] = f * N + h * H + n * D + x * z; a[10] = f * C + h * ya + n * E + x * I; a[11] = f * F + h * J + n * L + x * O; a[12] = g * v + r * w + u * G + b * B; a[13] = g * N + r * H + u * D + b * z; a[14] = g * C + r * ya + u * E + b * I; a[15] = g * F + r * J + u * L + b * O; }, prependRotation: function (a, b, d, c) { b = ta.__getAxisRotation(a, d.x, d.y, d.z, b); null != c && ta.appendTranslation(b, c.x, c.y, c.z); ta.prepend(a, b); }, prependScale: function (a, b, d, c) { b = [b, 0, 0, 0, 0, d, 0, 0, 0, 0, c, 0, 0, 0, 0, 1]; b = null != b ? new Float32Array(b) : null; ta.prepend(a, ta._new(b)); }, prependTranslation: function (a, b, d, c) { var e = ta._new(); ta.set_position(e, new Bc(b, d, c)); ta.prepend(a, e); }, transformVector: function (a, b, d) { null == d && (d = new Bc()); var c = b.x, f = b.y; b = b.z; d.x = c * a[0] + f * a[4] + b * a[8] + a[12]; d.y = c * a[1] + f * a[5] + b * a[9] + a[13]; d.z = c * a[2] + f * a[6] + b * a[10] + a[14]; d.w = c * a[3] + f * a[7] + b * a[11] + a[15]; return d; }, transformVectors: function (a, b, d) { for (var c = 0, f, g, l; c + 3 <= b.length; ) (f = b[c]), (g = b[c + 1]), (l = b[c + 2]), (d[c] = f * a[0] + g * a[4] + l * a[8] + a[12]), (d[c + 1] = f * a[1] + g * a[5] + l * a[9] + a[13]), (d[c + 2] = f * a[2] + g * a[6] + l * a[10] + a[14]), (c += 3); }, transpose: function (a) { var b = a[1]; a[1] = a[4]; a[4] = b; b = a[2]; a[2] = a[8]; a[8] = b; b = a[3]; a[3] = a[12]; a[12] = b; b = a[6]; a[6] = a[9]; a[9] = b; b = a[7]; a[7] = a[13]; a[13] = b; b = a[11]; a[11] = a[14]; a[14] = b; }, __getAxisRotation: function (a, b, d, c, f) { a = ta._new(); b = new Bc(b, d, c); f = (Math.PI / 180) * -f; c = Math.cos(f); f = Math.sin(f); d = 1 - c; ta.set(a, 0, c + b.x * b.x * d); ta.set(a, 5, c + b.y * b.y * d); ta.set(a, 10, c + b.z * b.z * d); c = b.x * b.y * d; var e = b.z * f; ta.set(a, 4, c + e); ta.set(a, 1, c - e); c = b.x * b.z * d; e = b.y * f; ta.set(a, 8, c - e); ta.set(a, 2, c + e); c = b.y * b.z * d; e = b.x * f; ta.set(a, 9, c + e); ta.set(a, 6, c - e); return a; }, __swap: function (a, b, d) { var c = a[b]; a[b] = a[d]; a[d] = c; }, get_determinant: function (a) { return ( (a[0] * a[5] - a[4] * a[1]) * (a[10] * a[15] - a[14] * a[11]) - (a[0] * a[9] - a[8] * a[1]) * (a[6] * a[15] - a[14] * a[7]) + (a[0] * a[13] - a[12] * a[1]) * (a[6] * a[11] - a[10] * a[7]) + (a[4] * a[9] - a[8] * a[5]) * (a[2] * a[15] - a[14] * a[3]) - (a[4] * a[13] - a[12] * a[5]) * (a[2] * a[11] - a[10] * a[3]) + (a[8] * a[13] - a[12] * a[9]) * (a[2] * a[7] - a[6] * a[3]) ); }, get_position: function (a) { return new Bc(a[12], a[13], a[14]); }, set_position: function (a, b) { a[12] = b.x; a[13] = b.y; a[14] = b.z; return b; }, get: function (a, b) { return a[b]; }, set: function (a, b, d) { return (a[b] = d); } }, O = { __properties__: { set_r: 'set_r', get_r: 'get_r', set_g: 'set_g', get_g: 'get_g', set_b: 'set_b', get_b: 'get_b', set_a: 'set_a', get_a: 'get_a' }, _new: function (a) { null == a && (a = 0); return a; }, create: function (a, b, d, c) { return ((a & 255) << 24) | ((b & 255) << 16) | ((d & 255) << 8) | (c & 255); }, multiplyAlpha: function (a) { 0 != (a & 255) && 255 != (a & 255) && (O.a16 = O.__alpha16[a & 255]); }, readUInt8: function (a, b, d, c, f) { null == f && (f = !1); null == c && (c = 0); switch (c) { case 0: a = ((b[d] & 255) << 24) | ((b[d + 1] & 255) << 16) | ((b[d + 2] & 255) << 8) | (b[d + 3] & 255); break; case 1: a = ((b[d + 1] & 255) << 24) | ((b[d + 2] & 255) << 16) | ((b[d + 3] & 255) << 8) | (b[d] & 255); break; case 2: a = ((b[d + 2] & 255) << 24) | ((b[d + 1] & 255) << 16) | ((b[d] & 255) << 8) | (b[d + 3] & 255); } f && 0 != (a & 255) && 255 != (a & 255) && (O.unmult = 255 / (a & 255)); }, set: function (a, b, d, c, f) {}, unmultiplyAlpha: function (a) { 0 != (a & 255) && 255 != (a & 255) && (O.unmult = 255 / (a & 255)); }, writeUInt8: function (a, b, d, c, f) { null == f && (f = !1); null == c && (c = 0); f && (0 == (a & 255) ? 0 != a && (a = 0) : 255 != (a & 255) && ((O.a16 = O.__alpha16[a & 255]), (a = ((((((a >>> 24) & 255) * O.a16) >> 16) & 255) << 24) | ((((((a >>> 16) & 255) * O.a16) >> 16) & 255) << 16) | ((((((a >>> 8) & 255) * O.a16) >> 16) & 255) << 8) | (a & 255)))); switch (c) { case 0: b[d] = (a >>> 24) & 255; b[d + 1] = (a >>> 16) & 255; b[d + 2] = (a >>> 8) & 255; b[d + 3] = a & 255; break; case 1: b[d] = a & 255; b[d + 1] = (a >>> 24) & 255; b[d + 2] = (a >>> 16) & 255; b[d + 3] = (a >>> 8) & 255; break; case 2: (b[d] = (a >>> 8) & 255), (b[d + 1] = (a >>> 16) & 255), (b[d + 2] = (a >>> 24) & 255), (b[d + 3] = a & 255); } }, __fromARGB: function (a) { return ( (((a >>> 16) & 255) << 24) | (((a >>> 8) & 255) << 16) | ((a & 255) << 8) | ((a >>> 24) & 255) ); }, __fromBGRA: function (a) { return ( (((a >>> 8) & 255) << 24) | (((a >>> 16) & 255) << 16) | (((a >>> 24) & 255) << 8) | (a & 255) ); }, get_a: function (a) { return a & 255; }, set_a: function (a, b) { return b; }, get_b: function (a) { return (a >>> 8) & 255; }, set_b: function (a, b) { return b; }, get_g: function (a) { return (a >>> 16) & 255; }, set_g: function (a, b) { return b; }, get_r: function (a) { return (a >>> 24) & 255; }, set_r: function (a, b) { return b; } }, Qd = function (a, b, d, c) { null == c && (c = 0); null == d && (d = 0); null == b && (b = 0); null == a && (a = 0); this.x = a; this.y = b; this.width = d; this.height = c; }; k['lime.math.Rectangle'] = Qd; Qd.__name__ = 'lime.math.Rectangle'; Qd.prototype = { height: null, width: null, x: null, y: null, clone: function () { return new Qd(this.x, this.y, this.width, this.height); }, contains: function (a, b) { return a >= this.x && b >= this.y && a < this.get_right() ? b < this.get_bottom() : !1; }, containsPoint: function (a) { return this.containsVector(a); }, containsRect: function (a) { return 0 >= a.width || 0 >= a.height ? a.x > this.x && a.y > this.y && a.get_right() < this.get_right() ? a.get_bottom() < this.get_bottom() : !1 : a.x >= this.x && a.y >= this.y && a.get_right() <= this.get_right() ? a.get_bottom() <= this.get_bottom() : !1; }, containsVector: function (a) { return this.contains(a.x, a.y); }, copyFrom: function (a) { this.x = a.x; this.y = a.y; this.width = a.width; this.height = a.height; }, equals: function (a) { return null != a && this.x == a.x && this.y == a.y && this.width == a.width ? this.height == a.height : !1; }, inflate: function (a, b) { this.x -= a; this.width += 2 * a; this.y -= b; this.height += 2 * b; }, inflateVector: function (a) { this.inflate(a.x, a.y); }, intersection: function (a, b) { null == b && (b = new Qd()); var d = this.x < a.x ? a.x : this.x, c = this.get_right() > a.get_right() ? a.get_right() : this.get_right(); if (c <= d) return b.setEmpty(), b; var f = this.y < a.y ? a.y : this.y; a = this.get_bottom() > a.get_bottom() ? a.get_bottom() : this.get_bottom(); if (a <= f) return b.setEmpty(), b; b.x = d; b.y = f; b.width = c - d; b.height = a - f; return b; }, intersects: function (a) { var b = this.x < a.x ? a.x : this.x; if ((this.get_right() > a.get_right() ? a.get_right() : this.get_right()) <= b) return !1; b = this.y < a.y ? a.y : this.y; return (this.get_bottom() > a.get_bottom() ? a.get_bottom() : this.get_bottom()) > b; }, isEmpty: function () { return 0 >= this.width ? !0 : 0 >= this.height; }, offset: function (a, b) { this.x += a; this.y += b; }, offsetVector: function (a) { this.x += a.x; this.y += a.y; }, setEmpty: function () { this.x = this.y = this.width = this.height = 0; }, setTo: function (a, b, d, c) { this.x = a; this.y = b; this.width = d; this.height = c; }, union: function (a, b) { null == b && (b = new Qd()); if (0 == this.width || 0 == this.height) b.copyFrom(a); else if (0 == a.width || 0 == a.height) b.copyFrom(this); else { var d = this.x > a.x ? a.x : this.x, c = this.get_right() < a.get_right() ? a.get_right() : this.get_right(), f = this.y > a.y ? a.y : this.y; a = this.get_bottom() < a.get_bottom() ? a.get_bottom() : this.get_bottom(); b.setTo(d, f, c - d, a - f); } return b; }, __toFlashRectangle: function () { return null; }, get_bottom: function () { return this.y + this.height; }, set_bottom: function (a) { this.height = a - this.y; return a; }, get_bottomRight: function () { return new Xd(this.x + this.width, this.y + this.height); }, set_bottomRight: function (a) { this.width = a.x - this.x; this.height = a.y - this.y; return a.clone(); }, get_left: function () { return this.x; }, set_left: function (a) { this.width -= a - this.x; return (this.x = a); }, get_right: function () { return this.x + this.width; }, set_right: function (a) { this.width = a - this.x; return a; }, get_size: function () { return new Xd(this.width, this.height); }, set_size: function (a) { this.width = a.x; this.height = a.y; return a.clone(); }, get_top: function () { return this.y; }, set_top: function (a) { this.height -= a - this.y; return (this.y = a); }, get_topLeft: function () { return new Xd(this.x, this.y); }, set_topLeft: function (a) { this.x = a.x; this.y = a.y; return a.clone(); }, __class__: Qd, __properties__: { set_topLeft: 'set_topLeft', get_topLeft: 'get_topLeft', set_top: 'set_top', get_top: 'get_top', set_size: 'set_size', get_size: 'get_size', set_right: 'set_right', get_right: 'get_right', set_left: 'set_left', get_left: 'get_left', set_bottomRight: 'set_bottomRight', get_bottomRight: 'get_bottomRight', set_bottom: 'set_bottom', get_bottom: 'get_bottom' } }; var Xd = function (a, b) { null == b && (b = 0); null == a && (a = 0); this.x = a; this.y = b; }; k['lime.math.Vector2'] = Xd; Xd.__name__ = 'lime.math.Vector2'; Xd.distance = function (a, b) { var d = a.x - b.x; a = a.y - b.y; return Math.sqrt(d * d + a * a); }; Xd.interpolate = function (a, b, d, c) { null == c && (c = new Xd()); c.x = b.x + d * (a.x - b.x); c.y = b.y + d * (a.y - b.y); return c; }; Xd.polar = function (a, b, d) { null == d && (d = new Xd()); var c = a * Math.sin(b); d.x = a * Math.cos(b); d.y = c; return d; }; Xd.prototype = { x: null, y: null, add: function (a, b) { null == b && (b = new Xd()); b.x = a.x + this.x; b.y = a.y + this.y; return b; }, clone: function () { return new Xd(this.x, this.y); }, equals: function (a) { return null != a && a.x == this.x ? a.y == this.y : !1; }, normalize: function (a) { if (0 != this.x || 0 != this.y) (a /= Math.sqrt(this.x * this.x + this.y * this.y)), (this.x *= a), (this.y *= a); }, offset: function (a, b) { this.x += a; this.y += b; }, setTo: function (a, b) { this.x = a; this.y = b; }, subtract: function (a, b) { null == b && (b = new Xd()); b.x = this.x - a.x; b.y = this.y - a.y; return b; }, __toFlashPoint: function () { return null; }, get_length: function () { return Math.sqrt(this.x * this.x + this.y * this.y); }, get_lengthSquared: function () { return this.x * this.x + this.y * this.y; }, __class__: Xd, __properties__: { get_lengthSquared: 'get_lengthSquared', get_length: 'get_length' } }; var Bc = function (a, b, d, c) { null == c && (c = 0); null == d && (d = 0); null == b && (b = 0); null == a && (a = 0); this.w = c; this.x = a; this.y = b; this.z = d; }; k['lime.math.Vector4'] = Bc; Bc.__name__ = 'lime.math.Vector4'; Bc.__properties__ = { get_Z_AXIS: 'get_Z_AXIS', get_Y_AXIS: 'get_Y_AXIS', get_X_AXIS: 'get_X_AXIS' }; Bc.angleBetween = function (a, b) { a = new Bc(a.x, a.y, a.z, a.w); var d = Math.sqrt(a.x * a.x + a.y * a.y + a.z * a.z); 0 != d && ((a.x /= d), (a.y /= d), (a.z /= d)); b = new Bc(b.x, b.y, b.z, b.w); d = Math.sqrt(b.x * b.x + b.y * b.y + b.z * b.z); 0 != d && ((b.x /= d), (b.y /= d), (b.z /= d)); return Math.acos(a.x * b.x + a.y * b.y + a.z * b.z); }; Bc.distance = function (a, b) { var d = b.x - a.x, c = b.y - a.y; a = b.z - a.z; return Math.sqrt(d * d + c * c + a * a); }; Bc.distanceSquared = function (a, b) { var d = b.x - a.x, c = b.y - a.y; a = b.z - a.z; return d * d + c * c + a * a; }; Bc.get_X_AXIS = function () { return new Bc(1, 0, 0); }; Bc.get_Y_AXIS = function () { return new Bc(0, 1, 0); }; Bc.get_Z_AXIS = function () { return new Bc(0, 0, 1); }; Bc.prototype = { w: null, x: null, y: null, z: null, add: function (a, b) { null == b && (b = new Bc()); b.x = this.x + a.x; b.y = this.y + a.y; b.z = this.z + a.z; return b; }, clone: function () { return new Bc(this.x, this.y, this.z, this.w); }, copyFrom: function (a) { this.x = a.x; this.y = a.y; this.z = a.z; }, crossProduct: function (a, b) { null == b && (b = new Bc()); var d = this.z * a.x - this.x * a.z, c = this.x * a.y - this.y * a.x; b.x = this.y * a.z - this.z * a.y; b.y = d; b.z = c; b.w = 1; return b; }, decrementBy: function (a) { this.x -= a.x; this.y -= a.y; this.z -= a.z; }, dotProduct: function (a) { return this.x * a.x + this.y * a.y + this.z * a.z; }, equals: function (a, b) { null == b && (b = !1); return this.x == a.x && this.y == a.y && this.z == a.z ? (b ? this.w == a.w : !0) : !1; }, incrementBy: function (a) { this.x += a.x; this.y += a.y; this.z += a.z; }, nearEquals: function (a, b, d) { null == d && (d = !1); return Math.abs(this.x - a.x) < b && Math.abs(this.y - a.y) < b && Math.abs(this.z - a.z) < b ? d ? Math.abs(this.w - a.w) < b : !0 : !1; }, negate: function () { this.x *= -1; this.y *= -1; this.z *= -1; }, normalize: function () { var a = Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z); 0 != a && ((this.x /= a), (this.y /= a), (this.z /= a)); return a; }, project: function () { this.x /= this.w; this.y /= this.w; this.z /= this.w; }, scaleBy: function (a) { this.x *= a; this.y *= a; this.z *= a; }, setTo: function (a, b, d) { this.x = a; this.y = b; this.z = d; }, subtract: function (a, b) { null == b && (b = new Bc()); b.x = this.x - a.x; b.y = this.y - a.y; b.z = this.z - a.z; return b; }, toString: function () { return 'Vector4(' + this.x + ', ' + this.y + ', ' + this.z + ')'; }, get_length: function () { return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z); }, get_lengthSquared: function () { return this.x * this.x + this.y * this.y + this.z * this.z; }, __class__: Bc, __properties__: { get_lengthSquared: 'get_lengthSquared', get_length: 'get_length' } }; var Uc = function () {}; k['lime.media.AudioBuffer'] = Uc; Uc.__name__ = 'lime.media.AudioBuffer'; Uc.fromBase64 = function (a) { if (null == a) return null; -1 == a.indexOf(',') && (a = 'data:' + Uc.__getCodec(Pf.decode(a)) + ';base64,' + a); var b = new Uc(); b.set_src(new Howl({ src: [a], html5: !0, preload: !1 })); return b; }; Uc.fromBytes = function (a) { if (null == a) return null; var b = new Uc(); b.set_src( new Howl({ src: ['data:' + Uc.__getCodec(a) + ';base64,' + Pf.encode(a)], html5: !0, preload: !1 }) ); return b; }; Uc.fromFile = function (a) { if (null == a) return null; var b = new Uc(); b.__srcHowl = new Howl({ src: [a], preload: !1 }); return b; }; Uc.fromFiles = function (a) { var b = new Uc(); b.__srcHowl = new Howl({ src: a, preload: !1 }); return b; }; Uc.fromVorbisFile = function (a) { return null; }; Uc.loadFromFile = function (a) { var b = new $d(), d = Uc.fromFile(a); null != d ? null != d && (d.__srcHowl.on('load', function () { b.complete(d); }), d.__srcHowl.on('loaderror', function (a, d) { b.error(d); }), d.__srcHowl.load()) : b.error(null); return b.future; }; Uc.loadFromFiles = function (a) { var b = new $d(), d = Uc.fromFiles(a); null != d ? (d.__srcHowl.on('load', function () { b.complete(d); }), d.__srcHowl.on('loaderror', function () { b.error(null); }), d.__srcHowl.load()) : b.error(null); return b.future; }; Uc.__getCodec = function (a) { switch (a.getString(0, 4)) { case 'OggS': return 'audio/ogg'; case 'RIFF': if ('WAVE' == a.getString(8, 4)) return 'audio/wav'; var b = a.b[1], d = a.b[2]; switch (a.b[0]) { case 73: if (68 == b && 51 == d) return 'audio/mp3'; break; case 255: switch (b) { case 243: case 250: case 251: return 'audio/mp3'; } } break; case 'fLaC': return 'audio/flac'; default: switch (((b = a.b[1]), (d = a.b[2]), a.b[0])) { case 73: if (68 == b && 51 == d) return 'audio/mp3'; break; case 255: switch (b) { case 243: case 250: case 251: return 'audio/mp3'; } } } Va.error('Unsupported sound format', { fileName: 'lime/media/AudioBuffer.hx', lineNumber: 362, className: 'lime.media.AudioBuffer', methodName: '__getCodec' }); return null; }; Uc.prototype = { bitsPerSample: null, channels: null, data: null, sampleRate: null, __srcAudio: null, __srcBuffer: null, __srcCustom: null, __srcHowl: null, __srcSound: null, __srcVorbisFile: null, dispose: function () { this.__srcHowl.unload(); }, get_src: function () { return this.__srcHowl; }, set_src: function (a) { return (this.__srcHowl = a); }, __class__: Uc, __properties__: { set_src: 'set_src', get_src: 'get_src' } }; var Oo = function (a) { if ('custom' != a) { if (null == a || 'web' == a) try { (window.AudioContext = window.AudioContext || window.webkitAudioContext), (this.web = new window.AudioContext()), (this.type = 'web'); } catch (b) { ka.lastError = b; } null == this.web && 'web' != a && ((this.html5 = new No()), (this.type = 'html5')); } else this.type = 'custom'; }; k['lime.media.AudioContext'] = Oo; Oo.__name__ = 'lime.media.AudioContext'; Oo.prototype = { custom: null, flash: null, html5: null, openal: null, type: null, web: null, __class__: Oo }; var xc = function () {}; k['lime.media.AudioManager'] = xc; xc.__name__ = 'lime.media.AudioManager'; xc.init = function (a) { if (null == xc.context) { if (null == a && ((xc.context = new Oo()), (a = xc.context), 'openal' == a.type)) { var b = a.openal, d = b.openDevice(); d = b.createContext(d); b.makeContextCurrent(d); b.processContext(d); } xc.context = a; } }; xc.resume = function () { if (null != xc.context && 'openal' == xc.context.type) { var a = xc.context.openal, b = a.getCurrentContext(); if (null != b) { var d = a.getContextsDevice(b); a.resumeDevice(d); a.processContext(b); } } }; xc.addAudioSource = function (a) { -1 == xc.audioSources.indexOf(a) && xc.audioSources.push(a); }; xc.removeAudioSource = function (a) { 0 <= xc.audioSources.indexOf(a) && xc.sourcesToRemove.push(a); }; xc.update = function () { for (var a = 0, b = xc.audioSources; a < b.length; ) { var d = b[a]; ++a; d.update(); } for (; 0 < xc.sourcesToRemove.length; ) (d = xc.sourcesToRemove.pop()), -1 != xc.audioSources.indexOf(d) && C.remove(xc.audioSources, d); }; xc.shutdown = function () { if (null != xc.context && 'openal' == xc.context.type) { var a = xc.context.openal, b = a.getCurrentContext(); if (null != b) { var d = a.getContextsDevice(b); a.makeContextCurrent(null); a.destroyContext(b); null != d && a.closeDevice(d); } } xc.context = null; }; xc.suspend = function () { if (null != xc.context && 'openal' == xc.context.type) { var a = xc.context.openal, b = a.getCurrentContext(); null != b && (a.suspendContext(b), (b = a.getContextsDevice(b)), null != b && a.pauseDevice(b)); } }; var Sj = function (a, b, d, c) { null == c && (c = 0); null == b && (b = 0); this.id = Sj.ID++; this.onComplete = new Ld(); this.buffer = a; this.offset = b; this.__backend = new uo(this); null != d && 0 != d && this.set_length(d); this.set_loops(c); null != a && this.init(); }; k['lime.media.AudioSource'] = Sj; Sj.__name__ = 'lime.media.AudioSource'; Sj.prototype = { onComplete: null, id: null, buffer: null, offset: null, _pan: null, _position: null, __backend: null, dispose: function () { this.__backend.dispose(); xc.removeAudioSource(this); }, init: function () { this.__backend.init(); xc.addAudioSource(this); }, play: function () { this.__backend.play(); }, pause: function () { this.__backend.pause(); }, stop: function () { this.__backend.stop(); }, update: function () { this.__backend.update(); }, get_currentTime: function () { return this.__backend.getCurrentTime(); }, set_currentTime: function (a) { return this.__backend.setCurrentTime(a); }, get_gain: function () { return this.__backend.getGain(); }, set_gain: function (a) { return this.__backend.setGain(a); }, get_length: function () { return this.__backend.getLength(); }, set_length: function (a) { return this.__backend.setLength(a); }, get_loops: function () { return this.__backend.getLoops(); }, set_loops: function (a) { return this.__backend.setLoops(a); }, get_pan: function () { return this._pan; }, set_pan: function (a) { if (null != this._position) return this._pan; null == a && (this._pan = this.__backend.setPan(0)); return (this._pan = this.__backend.setPan(a)); }, get_position: function () { return this._position; }, set_position: function (a) { if (null != this._pan) return this._position; null == a && (this._position = this.__backend.setPosition(new Bc(0, 0, 0, 0))); return (this._position = this.__backend.setPosition(a)); }, __class__: Sj, __properties__: { set_position: 'set_position', get_position: 'get_position', set_pan: 'set_pan', get_pan: 'get_pan', set_loops: 'set_loops', get_loops: 'get_loops', set_length: 'set_length', get_length: 'get_length', set_gain: 'set_gain', get_gain: 'get_gain', set_currentTime: 'set_currentTime', get_currentTime: 'get_currentTime' } }; var Vy = function () {}; k['lime.media.FlashAudioContext'] = Vy; Vy.__name__ = 'lime.media.FlashAudioContext'; Vy.prototype = { createBuffer: function (a, b) { return null; }, getBytesLoaded: function (a) { return 0; }, getBytesTotal: function (a) { return 0; }, getID3: function (a) { return null; }, getIsBuffering: function (a) { return !1; }, getIsURLInaccessible: function (a) { return !1; }, getLength: function (a) { return 0; }, getURL: function (a) { return null; }, close: function (a) {}, extract: function (a, b, d, c) { return 0; }, load: function (a, b, d) {}, loadCompressedDataFromByteArray: function (a, b, d) {}, loadPCMFromByteArray: function (a, b, d, c, f, g) {}, play: function (a, b, d, c) { return null; }, __class__: Vy }; var No = function () { this.NETWORK_NO_SOURCE = 3; this.NETWORK_LOADING = 2; this.NETWORK_IDLE = 1; this.HAVE_NOTHING = this.NETWORK_EMPTY = 0; this.HAVE_METADATA = 1; this.HAVE_FUTURE_DATA = 3; this.HAVE_ENOUGH_DATA = 4; this.HAVE_CURRENT_DATA = 2; }; k['lime.media.HTML5AudioContext'] = No; No.__name__ = 'lime.media.HTML5AudioContext'; No.prototype = { HAVE_CURRENT_DATA: null, HAVE_ENOUGH_DATA: null, HAVE_FUTURE_DATA: null, HAVE_METADATA: null, HAVE_NOTHING: null, NETWORK_EMPTY: null, NETWORK_IDLE: null, NETWORK_LOADING: null, NETWORK_NO_SOURCE: null, canPlayType: function (a, b) { return null != a.__srcAudio ? a.__srcAudio.canPlayType(b) : null; }, createBuffer: function (a) { var b = new Uc(); b.__srcAudio = new Audio(); b.__srcAudio.src = a; return b; }, getAutoplay: function (a) { return null != a.__srcAudio ? a.__srcAudio.autoplay : !1; }, getBuffered: function (a) { return null != a.__srcAudio ? a.__srcAudio.buffered : null; }, getCurrentSrc: function (a) { return null != a.__srcAudio ? a.__srcAudio.currentSrc : null; }, getCurrentTime: function (a) { return null != a.__srcAudio ? a.__srcAudio.currentTime : 0; }, getDefaultPlaybackRate: function (a) { return null != a.__srcAudio ? a.__srcAudio.defaultPlaybackRate : 1; }, getDuration: function (a) { return null != a.__srcAudio ? a.__srcAudio.duration : 0; }, getEnded: function (a) { return null != a.__srcAudio ? a.__srcAudio.ended : !1; }, getError: function (a) { return null != a.__srcAudio ? a.__srcAudio.error : null; }, getLoop: function (a) { return null != a.__srcAudio ? a.__srcAudio.loop : !1; }, getMuted: function (a) { return null != a.__srcAudio ? a.__srcAudio.muted : !1; }, getNetworkState: function (a) { return null != a.__srcAudio ? a.__srcAudio.networkState : 0; }, getPaused: function (a) { return null != a.__srcAudio ? a.__srcAudio.paused : !1; }, getPlaybackRate: function (a) { return null != a.__srcAudio ? a.__srcAudio.playbackRate : 1; }, getPlayed: function (a) { return null != a.__srcAudio ? a.__srcAudio.played : null; }, getPreload: function (a) { return null != a.__srcAudio ? a.__srcAudio.preload : null; }, getReadyState: function (a) { return null != a.__srcAudio ? a.__srcAudio.readyState : 0; }, getSeekable: function (a) { return null != a.__srcAudio ? a.__srcAudio.seekable : null; }, getSeeking: function (a) { return null != a.__srcAudio ? a.__srcAudio.seeking : !1; }, getSrc: function (a) { return null != a.__srcAudio ? a.__srcAudio.src : null; }, getStartTime: function (a) { return null != a.__srcAudio ? a.__srcAudio.playbackRate : 0; }, getVolume: function (a) { return null != a.__srcAudio ? a.__srcAudio.volume : 1; }, load: function (a) { null != a.__srcAudio && a.__srcAudio.load(); }, pause: function (a) { null != a.__srcAudio && a.__srcAudio.pause(); }, play: function (a) { null != a.__srcAudio && a.__srcAudio.play(); }, setAutoplay: function (a, b) { null != a.__srcAudio && (a.__srcAudio.autoplay = b); }, setCurrentTime: function (a, b) { null != a.__srcAudio && (a.__srcAudio.currentTime = b); }, setDefaultPlaybackRate: function (a, b) { null != a.__srcAudio && (a.__srcAudio.defaultPlaybackRate = b); }, setLoop: function (a, b) { null != a.__srcAudio && (a.__srcAudio.loop = b); }, setMuted: function (a, b) { null != a.__srcAudio && (a.__srcAudio.muted = b); }, setPlaybackRate: function (a, b) { null != a.__srcAudio && (a.__srcAudio.playbackRate = b); }, setPreload: function (a, b) { null != a.__srcAudio && (a.__srcAudio.preload = b); }, setSrc: function (a, b) { null != a.__srcAudio && (a.__srcAudio.src = b); }, setVolume: function (a, b) { null != a.__srcAudio && (a.__srcAudio.volume = b); }, __class__: No }; var Wy = function () { this.ALL_DEVICES_SPECIFIER = 4115; this.DEFAULT_ALL_DEVICES_SPECIFIER = 4114; this.ENUMERATE_ALL_EXT = 1; this.DEVICE_SPECIFIER = 4101; this.DEFAULT_DEVICE_SPECIFIER = 4100; this.ALL_ATTRIBUTES = 4099; this.ATTRIBUTES_SIZE = 4098; this.INVALID_CONTEXT = 40962; this.INVALID_DEVICE = 40961; this.STEREO_SOURCES = 4113; this.MONO_SOURCES = 4112; this.SYNC = 4105; this.REFRESH = 4104; this.EXPONENT_DISTANCE_CLAMPED = 53254; this.EXPONENT_DISTANCE = 53253; this.LINEAR_DISTANCE_CLAMPED = 53252; this.LINEAR_DISTANCE = 53251; this.INVERSE_DISTANCE_CLAMPED = 53250; this.INVERSE_DISTANCE = 53249; this.DISTANCE_MODEL = 53248; this.DOPPLER_VELOCITY = 49153; this.SPEED_OF_SOUND = 49155; this.DOPPLER_FACTOR = 49152; this.EXTENSIONS = 45060; this.RENDERER = 45059; this.VERSION = 45058; this.VENDOR = 45057; this.OUT_OF_MEMORY = 40965; this.INVALID_OPERATION = 40964; this.INVALID_VALUE = 40963; this.INVALID_ENUM = 40962; this.INVALID_NAME = 40961; this.NO_ERROR = 0; this.SIZE = 8196; this.CHANNELS = 8195; this.BITS = 8194; this.FREQUENCY = 8193; this.FORMAT_STEREO16 = 4355; this.FORMAT_STEREO8 = 4354; this.FORMAT_MONO16 = 4353; this.FORMAT_MONO8 = 4352; this.UNDETERMINED = 4144; this.STREAMING = 4137; this.STATIC = 4136; this.SOURCE_TYPE = 4135; this.BYTE_OFFSET = 4134; this.SAMPLE_OFFSET = 4133; this.SEC_OFFSET = 4132; this.MAX_DISTANCE = 4131; this.CONE_OUTER_GAIN = 4130; this.ROLLOFF_FACTOR = 4129; this.REFERENCE_DISTANCE = 4128; this.BUFFERS_PROCESSED = 4118; this.BUFFERS_QUEUED = 4117; this.STOPPED = 4116; this.PAUSED = 4115; this.PLAYING = 4114; this.INITIAL = 4113; this.SOURCE_STATE = 4112; this.ORIENTATION = 4111; this.MAX_GAIN = 4110; this.MIN_GAIN = 4109; this.GAIN = 4106; this.BUFFER = 4105; this.LOOPING = 4103; this.VELOCITY = 4102; this.DIRECTION = 4101; this.POSITION = 4100; this.PITCH = 4099; this.CONE_OUTER_ANGLE = 4098; this.CONE_INNER_ANGLE = 4097; this.SOURCE_RELATIVE = 514; this.TRUE = 1; this.NONE = this.FALSE = 0; }; k['lime.media.OpenALAudioContext'] = Wy; Wy.__name__ = 'lime.media.OpenALAudioContext'; Wy.prototype = { NONE: null, FALSE: null, TRUE: null, SOURCE_RELATIVE: null, CONE_INNER_ANGLE: null, CONE_OUTER_ANGLE: null, PITCH: null, POSITION: null, DIRECTION: null, VELOCITY: null, LOOPING: null, BUFFER: null, GAIN: null, MIN_GAIN: null, MAX_GAIN: null, ORIENTATION: null, SOURCE_STATE: null, INITIAL: null, PLAYING: null, PAUSED: null, STOPPED: null, BUFFERS_QUEUED: null, BUFFERS_PROCESSED: null, REFERENCE_DISTANCE: null, ROLLOFF_FACTOR: null, CONE_OUTER_GAIN: null, MAX_DISTANCE: null, SEC_OFFSET: null, SAMPLE_OFFSET: null, BYTE_OFFSET: null, SOURCE_TYPE: null, STATIC: null, STREAMING: null, UNDETERMINED: null, FORMAT_MONO8: null, FORMAT_MONO16: null, FORMAT_STEREO8: null, FORMAT_STEREO16: null, FREQUENCY: null, BITS: null, CHANNELS: null, SIZE: null, NO_ERROR: null, INVALID_NAME: null, INVALID_ENUM: null, INVALID_VALUE: null, INVALID_OPERATION: null, OUT_OF_MEMORY: null, VENDOR: null, VERSION: null, RENDERER: null, EXTENSIONS: null, DOPPLER_FACTOR: null, SPEED_OF_SOUND: null, DOPPLER_VELOCITY: null, DISTANCE_MODEL: null, INVERSE_DISTANCE: null, INVERSE_DISTANCE_CLAMPED: null, LINEAR_DISTANCE: null, LINEAR_DISTANCE_CLAMPED: null, EXPONENT_DISTANCE: null, EXPONENT_DISTANCE_CLAMPED: null, REFRESH: null, SYNC: null, MONO_SOURCES: null, STEREO_SOURCES: null, INVALID_DEVICE: null, INVALID_CONTEXT: null, ATTRIBUTES_SIZE: null, ALL_ATTRIBUTES: null, DEFAULT_DEVICE_SPECIFIER: null, DEVICE_SPECIFIER: null, ENUMERATE_ALL_EXT: null, DEFAULT_ALL_DEVICES_SPECIFIER: null, ALL_DEVICES_SPECIFIER: null, bufferData: function (a, b, d, c, f) { I.bufferData(a, b, d, c, f); }, buffer3f: function (a, b, d, c, f) { I.buffer3f(a, b, d, c, f); }, buffer3i: function (a, b, d, c, f) { I.buffer3i(a, b, d, c, f); }, bufferf: function (a, b, d) { I.bufferf(a, b, d); }, bufferfv: function (a, b, d) { I.bufferfv(a, b, d); }, bufferi: function (a, b, d) { I.bufferi(a, b, d); }, bufferiv: function (a, b, d) { I.bufferiv(a, b, d); }, closeDevice: function (a) { return Hb.closeDevice(a); }, createContext: function (a, b) { return Hb.createContext(a, b); }, createBuffer: function () { return I.createBuffer(); }, createSource: function () { return I.createSource(); }, deleteBuffer: function (a) { I.deleteBuffer(a); }, deleteBuffers: function (a) { I.deleteBuffers(a); }, deleteSource: function (a) { I.deleteSource(a); }, deleteSources: function (a) { I.deleteSources(a); }, destroyContext: function (a) { null != a && Hb.destroyContext(a); }, disable: function (a) { I.disable(a); }, distanceModel: function (a) { I.distanceModel(a); }, dopplerFactor: function (a) { I.dopplerFactor(a); }, dopplerVelocity: function (a) { I.dopplerVelocity(a); }, enable: function (a) { I.enable(a); }, genSource: function () { return this.createSource(); }, genSources: function (a) { return I.genSources(a); }, genBuffer: function () { return this.createBuffer(); }, genBuffers: function (a) { return I.genBuffers(a); }, getBoolean: function (a) { return I.getBoolean(a); }, getBooleanv: function (a, b) { null == b && (b = 1); return I.getBooleanv(a, b); }, getBuffer3f: function (a, b) { return I.getBuffer3f(a, b); }, getBuffer3i: function (a, b) { return I.getBuffer3i(a, b); }, getBufferf: function (a, b) { return I.getBufferf(a, b); }, getBufferfv: function (a, b, d) { null == d && (d = 1); return I.getBufferfv(a, b, d); }, getBufferi: function (a, b) { return I.getBufferi(a, b); }, getBufferiv: function (a, b, d) { null == d && (d = 1); return I.getBufferiv(a, b, d); }, getContextsDevice: function (a) { return null == a ? null : Hb.getContextsDevice(a); }, getCurrentContext: function () { return Hb.getCurrentContext(); }, getDouble: function (a) { return I.getDouble(a); }, getDoublev: function (a, b) { null == b && (b = 1); return I.getDoublev(a, b); }, getEnumValue: function (a) { return I.getEnumValue(a); }, getError: function (a) { return null == a ? I.getError() : Hb.getError(a); }, getErrorString: function (a) { return null == a ? I.getErrorString() : Hb.getErrorString(a); }, getFloat: function (a) { return I.getFloat(a); }, getFloatv: function (a, b) { null == b && (b = 1); return I.getFloatv(a, b); }, getInteger: function (a) { return I.getInteger(a); }, getIntegerv: function (a, b, d) { null == b && (b = 1); return null == d ? I.getIntegerv(a, b) : Hb.getIntegerv(d, a, b); }, getListener3f: function (a) { return I.getListener3f(a); }, getListener3i: function (a) { return I.getListener3i(a); }, getListenerf: function (a) { return I.getListenerf(a); }, getListenerfv: function (a, b) { null == b && (b = 1); return I.getListenerfv(a, b); }, getListeneri: function (a) { return I.getListeneri(a); }, getListeneriv: function (a, b) { null == b && (b = 1); return I.getListeneriv(a, b); }, getProcAddress: function (a) { return I.getProcAddress(a); }, getSource3f: function (a, b) { return I.getSource3f(a, b); }, getSourcef: function (a, b) { return I.getSourcef(a, b); }, getSource3i: function (a, b) { return I.getSource3i(a, b); }, getSourcefv: function (a, b, d) { return I.getSourcefv(a, b); }, getSourcei: function (a, b) { return I.getSourcei(a, b); }, getSourceiv: function (a, b, d) { null == d && (d = 1); return I.getSourceiv(a, b, d); }, getString: function (a, b) { return null == b ? I.getString(a) : Hb.getString(b, a); }, isBuffer: function (a) { return I.isBuffer(a); }, isEnabled: function (a) { return I.isEnabled(a); }, isExtensionPresent: function (a) { return I.isExtensionPresent(a); }, isSource: function (a) { return I.isSource(a); }, listener3f: function (a, b, d, c) { I.listener3f(a, b, d, c); }, listener3i: function (a, b, d, c) { I.listener3i(a, b, d, c); }, listenerf: function (a, b) { I.listenerf(a, b); }, listenerfv: function (a, b) { I.listenerfv(a, b); }, listeneri: function (a, b) { I.listeneri(a, b); }, listeneriv: function (a, b) { I.listeneriv(a, b); }, makeContextCurrent: function (a) { return Hb.makeContextCurrent(a); }, openDevice: function (a) { return Hb.openDevice(a); }, pauseDevice: function (a) { Hb.pauseDevice(a); }, processContext: function (a) { Hb.processContext(a); }, resumeDevice: function (a) { Hb.resumeDevice(a); }, source3f: function (a, b, d, c, f) { I.source3f(a, b, d, c, f); }, source3i: function (a, b, d, c, f) { I.source3i(a, b, d, c, f); }, sourcef: function (a, b, d) { I.sourcef(a, b, d); }, sourcefv: function (a, b, d) { I.sourcefv(a, b, d); }, sourcei: function (a, b, d) { I.sourcei(a, b, d); }, sourceiv: function (a, b, d) { I.sourceiv(a, b, d); }, sourcePlay: function (a) { I.sourcePlay(a); }, sourcePlayv: function (a) { I.sourcePlayv(a); }, sourceStop: function (a) { I.sourceStop(a); }, sourceStopv: function (a) { I.sourceStopv(a); }, sourceRewind: function (a) { I.sourceRewind(a); }, sourceRewindv: function (a) { I.sourceRewindv(a); }, sourcePause: function (a) { I.sourcePause(a); }, sourcePausev: function (a) { I.sourcePausev(a); }, sourceQueueBuffer: function (a, b) { I.sourceQueueBuffer(a, b); }, sourceQueueBuffers: function (a, b, d) { I.sourceQueueBuffers(a, b, d); }, sourceUnqueueBuffer: function (a) { return I.sourceUnqueueBuffer(a); }, sourceUnqueueBuffers: function (a, b) { return I.sourceUnqueueBuffers(a, b); }, speedOfSound: function (a) { I.speedOfSound(a); }, suspendContext: function (a) { Hb.suspendContext(a); }, __class__: Wy }; var I = function () {}; k['lime.media.openal.AL'] = I; I.__name__ = 'lime.media.openal.AL'; I.removeDirectFilter = function (a) {}; I.removeSend = function (a, b) {}; I.auxf = function (a, b, d) {}; I.auxfv = function (a, b, d) {}; I.auxi = function (a, b, d) {}; I.auxiv = function (a, b, d) {}; I.bufferData = function (a, b, d, c, f) {}; I.buffer3f = function (a, b, d, c, f) {}; I.buffer3i = function (a, b, d, c, f) {}; I.bufferf = function (a, b, d) {}; I.bufferfv = function (a, b, d) {}; I.bufferi = function (a, b, d) {}; I.bufferiv = function (a, b, d) {}; I.createAux = function () { return null; }; I.createBuffer = function () { return null; }; I.createEffect = function () { return null; }; I.createFilter = function () { return null; }; I.createSource = function () { return null; }; I.deleteBuffer = function (a) {}; I.deleteBuffers = function (a) {}; I.deleteSource = function (a) {}; I.deleteSources = function (a) {}; I.disable = function (a) {}; I.distanceModel = function (a) {}; I.dopplerFactor = function (a) {}; I.dopplerVelocity = function (a) {}; I.effectf = function (a, b, d) {}; I.effectfv = function (a, b, d) {}; I.effecti = function (a, b, d) {}; I.effectiv = function (a, b, d) {}; I.enable = function (a) {}; I.genSource = function () { return null; }; I.genSources = function (a) { return null; }; I.genBuffer = function () { return null; }; I.genBuffers = function (a) { return null; }; I.getBoolean = function (a) { return !1; }; I.getBooleanv = function (a, b) { return null; }; I.getBuffer3f = function (a, b) { return null; }; I.getBuffer3i = function (a, b) { return null; }; I.getBufferf = function (a, b) { return 0; }; I.getBufferfv = function (a, b, d) { return null; }; I.getBufferi = function (a, b) { return 0; }; I.getBufferiv = function (a, b, d) { return null; }; I.getDouble = function (a) { return 0; }; I.getDoublev = function (a, b) { return null; }; I.getEnumValue = function (a) { return 0; }; I.getError = function () { return 0; }; I.getErrorString = function () { switch (I.getError()) { case 40961: return 'INVALID_NAME: Invalid parameter name'; case 40962: return 'INVALID_ENUM: Invalid enum value'; case 40963: return 'INVALID_VALUE: Invalid parameter value'; case 40964: return 'INVALID_OPERATION: Illegal operation or call'; case 40965: return 'OUT_OF_MEMORY: OpenAL has run out of memory'; default: return ''; } }; I.getFilteri = function (a, b) { return 0; }; I.getFloat = function (a) { return 0; }; I.getFloatv = function (a, b) { return null; }; I.getInteger = function (a) { return 0; }; I.getIntegerv = function (a, b) { return null; }; I.getListener3f = function (a) { return null; }; I.getListener3i = function (a) { return null; }; I.getListenerf = function (a) { return 0; }; I.getListenerfv = function (a, b) { return null; }; I.getListeneri = function (a) { return 0; }; I.getListeneriv = function (a, b) { return null; }; I.getParameter = function (a) { return null; }; I.getProcAddress = function (a) { return null; }; I.getSource3f = function (a, b) { return null; }; I.getSourcef = function (a, b) { return 0; }; I.getSource3i = function (a, b) { return null; }; I.getSourcefv = function (a, b, d) { return null; }; I.getSourcei = function (a, b) { return 0; }; I.getSourceiv = function (a, b, d) { return null; }; I.getString = function (a) { return null; }; I.isBuffer = function (a) { return !1; }; I.isEnabled = function (a) { return !1; }; I.isExtensionPresent = function (a) { return !1; }; I.isAux = function (a) { return !1; }; I.isEffect = function (a) { return !1; }; I.isFilter = function (a) { return !1; }; I.isSource = function (a) { return !1; }; I.listener3f = function (a, b, d, c) {}; I.listener3i = function (a, b, d, c) {}; I.listenerf = function (a, b) {}; I.listenerfv = function (a, b) {}; I.listeneri = function (a, b) {}; I.listeneriv = function (a, b) {}; I.source3f = function (a, b, d, c, f) {}; I.source3i = function (a, b, d, c, f) {}; I.sourcef = function (a, b, d) {}; I.sourcefv = function (a, b, d) {}; I.sourcei = function (a, b, d) {}; I.filteri = function (a, b, d) {}; I.filterf = function (a, b, d) {}; I.sourceiv = function (a, b, d) {}; I.sourcePlay = function (a) {}; I.sourcePlayv = function (a) {}; I.sourceStop = function (a) {}; I.sourceStopv = function (a) {}; I.sourceRewind = function (a) {}; I.sourceRewindv = function (a) {}; I.sourcePause = function (a) {}; I.sourcePausev = function (a) {}; I.sourceQueueBuffer = function (a, b) {}; I.sourceQueueBuffers = function (a, b, d) {}; I.sourceUnqueueBuffer = function (a) { return 0; }; I.sourceUnqueueBuffers = function (a, b) { return null; }; I.speedOfSound = function (a) {}; var Hb = function () {}; k['lime.media.openal.ALC'] = Hb; Hb.__name__ = 'lime.media.openal.ALC'; Hb.closeDevice = function (a) { return !1; }; Hb.createContext = function (a, b) { return null; }; Hb.destroyContext = function (a) {}; Hb.getContextsDevice = function (a) { return null; }; Hb.getCurrentContext = function () { return null; }; Hb.getError = function (a) { return 0; }; Hb.getErrorString = function (a) { switch (Hb.getError(a)) { case 40961: return 'INVALID_DEVICE: Invalid device (or no device?)'; case 40962: return 'INVALID_CONTEXT: Invalid context (or no context?)'; case 40963: return 'INVALID_ENUM: Invalid enum value'; case 40964: return 'INVALID_VALUE: Invalid param value'; case 40965: return 'OUT_OF_MEMORY: OpenAL has run out of memory'; default: return ''; } }; Hb.getIntegerv = function (a, b, d) { return null; }; Hb.getString = function (a, b) { return null; }; Hb.makeContextCurrent = function (a) { return !1; }; Hb.openDevice = function (a) { return null; }; Hb.pauseDevice = function (a) {}; Hb.processContext = function (a) {}; Hb.resumeDevice = function (a) {}; Hb.suspendContext = function (a) {}; var Xy = function () {}; k['lime.media.vorbis.VorbisComment'] = Xy; Xy.__name__ = 'lime.media.vorbis.VorbisComment'; Xy.prototype = { userComments: null, vendor: null, __class__: Xy }; var sm = function (a) { this.handle = a; }; k['lime.media.vorbis.VorbisFile'] = sm; sm.__name__ = 'lime.media.vorbis.VorbisFile'; sm.fromBytes = function (a) { return null; }; sm.fromFile = function (a) { return null; }; sm.prototype = { bitstream: null, handle: null, bitrate: function (a) { return 0; }, bitrateInstant: function () { return 0; }, clear: function () {}, comment: function (a) { return null; }, crosslap: function (a) { return 0; }, info: function (a) { return null; }, pcmSeek: function (a) { return 0; }, pcmSeekLap: function (a) { return 0; }, pcmSeekPage: function (a) { return 0; }, pcmSeekPageLap: function (a) { return 0; }, pcmTell: function () { return new ab(0, 0); }, pcmTotal: function (a) { return new ab(0, 0); }, rawSeek: function (a) { return 0; }, rawSeekLap: function (a) { return 0; }, rawTell: function () { return new ab(0, 0); }, rawTotal: function (a) { return new ab(0, 0); }, read: function (a, b, d, c, f, g) { return 0; }, readFloat: function (a, b) { return 0; }, seekable: function () { return !1; }, serialNumber: function (a) { return 0; }, streams: function () { return 0; }, timeSeek: function (a) { return 0; }, timeSeekLap: function (a) { return 0; }, timeSeekPage: function (a) { return 0; }, timeSeekPageLap: function (a) { return 0; }, timeTell: function () { return 0; }, timeTotal: function (a) { return 0; }, __class__: sm }; var Yy = function () {}; k['lime.media.vorbis.VorbisInfo'] = Yy; Yy.__name__ = 'lime.media.vorbis.VorbisInfo'; Yy.prototype = { bitrateLower: null, bitrateNominal: null, bitrateUpper: null, channels: null, rate: null, version: null, __class__: Yy }; var tm = function () {}; k['lime.net._IHTTPRequest'] = tm; tm.__name__ = 'lime.net._IHTTPRequest'; tm.__isInterface__ = !0; tm.prototype = { contentType: null, data: null, enableResponseHeaders: null, followRedirects: null, formData: null, headers: null, method: null, responseHeaders: null, responseStatus: null, timeout: null, uri: null, userAgent: null, withCredentials: null, cancel: null, __class__: tm }; var $e = function (a) { this.uri = a; this.contentType = 'application/x-www-form-urlencoded'; this.followRedirects = !0; this.enableResponseHeaders = !1; this.formData = new qa(); this.headers = []; this.method = 'GET'; this.timeout = 3e4; this.withCredentials = !1; this.__backend = new Sa(); this.__backend.init(this); }; k['lime.net._HTTPRequest.AbstractHTTPRequest'] = $e; $e.__name__ = 'lime.net._HTTPRequest.AbstractHTTPRequest'; $e.__interfaces__ = [tm]; $e.prototype = { contentType: null, data: null, enableResponseHeaders: null, followRedirects: null, formData: null, headers: null, method: null, responseData: null, responseHeaders: null, responseStatus: null, timeout: null, uri: null, userAgent: null, withCredentials: null, __backend: null, cancel: function () { this.__backend.cancel(); }, load: function (a) { return null; }, __class__: $e }; var Po = function (a) { $e.call(this, a); }; k['lime.net.HTTPRequest'] = Po; Po.__name__ = 'lime.net.HTTPRequest'; Po.__super__ = $e; Po.prototype = t($e.prototype, { __class__: Po }); var Yg = function (a) { $e.call(this, a); }; k['lime.net._HTTPRequest_Bytes'] = Yg; Yg.__name__ = 'lime.net._HTTPRequest_Bytes'; Yg.__super__ = $e; Yg.prototype = t($e.prototype, { fromBytes: function (a) { return a; }, load: function (a) { var b = this; null != a && (this.uri = a); var d = new $d(); a = this.__backend.loadData(this.uri); a.onProgress(m(d, d.progress)); a.onError(m(d, d.error)); a.onComplete(function (a) { b.responseData = b.fromBytes(a); d.complete(b.responseData); }); return d.future; }, __class__: Yg }); var Tj = function (a) { $e.call(this, a); }; k['lime.net._HTTPRequest_String'] = Tj; Tj.__name__ = 'lime.net._HTTPRequest_String'; Tj.__super__ = $e; Tj.prototype = t($e.prototype, { load: function (a) { var b = this; null != a && (this.uri = a); var d = new $d(); a = this.__backend.loadText(this.uri); a.onProgress(m(d, d.progress)); a.onError(m(d, d.error)); a.onComplete(function (a) { b.responseData = a; d.complete(b.responseData); }); return d.future; }, __class__: Tj }); var gm = function (a, b) { null == b && (b = ''); this.name = a; this.value = b; }; k['lime.net.HTTPRequestHeader'] = gm; gm.__name__ = 'lime.net.HTTPRequestHeader'; gm.prototype = { name: null, value: null, __class__: gm }; var um = function (a) { $e.call(this, a); }; k['lime.net._HTTPRequest_lime_text_Font'] = um; um.__name__ = 'lime.net._HTTPRequest_lime_text_Font'; um.__super__ = Yg; um.prototype = t(Yg.prototype, { fromBytes: function (a) { return Md.fromBytes(a); }, __class__: um }); var vm = function (a) { $e.call(this, a); }; k['lime.net._HTTPRequest_lime_utils_Bytes'] = vm; vm.__name__ = 'lime.net._HTTPRequest_lime_utils_Bytes'; vm.__super__ = Yg; vm.prototype = t(Yg.prototype, { fromBytes: function (a) { return ic.fromBytes(a); }, __class__: vm }); var wm = function (a) { $e.call(this, a); }; k['lime.net._HTTPRequest_openfl_utils_ByteArray'] = wm; wm.__name__ = 'lime.net._HTTPRequest_openfl_utils_ByteArray'; wm.__super__ = Yg; wm.prototype = t(Yg.prototype, { fromBytes: function (a) { return Bb.fromBytes(a); }, __class__: wm }); var Zg = function () {}; k['lime.system.CFFI'] = Zg; Zg.__name__ = 'lime.system.CFFI'; Zg.load = function (a, b, d, c) { null == c && (c = !1); null == d && (d = 0); return Zg.enabled ? null : aa.makeVarArgs(function (a) { return {}; }); }; Zg.__findHaxelib = function (a) { return ''; }; Zg.__loaderTrace = function (a) {}; Zg.__sysName = function () { return null; }; Zg.__tryLoad = function (a, b, d, c) { return null; }; var Nd = { _new: function (a) { return a; }, get: function (a) { return 0; }, equals: function (a, b) { return Nd.get(a) == b; }, equalsPointer: function (a, b) { return Nd.get(a) == Nd.get(b); }, greaterThan: function (a, b) { return Nd.get(a) > b; }, greaterThanPointer: function (a, b) { return Nd.get(a) > Nd.get(b); }, greaterThanOrEqual: function (a, b) { return Nd.get(a) >= b; }, greaterThanOrEqualPointer: function (a, b) { return Nd.get(a) >= Nd.get(b); }, lessThan: function (a, b) { return Nd.get(a) < b; }, lessThanPointer: function (a, b) { return Nd.get(a) < Nd.get(b); }, lessThanOrEqual: function (a, b) { return Nd.get(a) <= b; }, lessThanOrEqualPointer: function (a, b) { return Nd.get(a) <= Nd.get(b); }, notEquals: function (a, b) { return Nd.get(a) != b; }, notEqualsPointer: function (a, b) { return Nd.get(a) != Nd.get(b); } }, je = function () {}; k['lime.system.Clipboard'] = je; je.__name__ = 'lime.system.Clipboard'; je.__properties__ = { set_text: 'set_text', get_text: 'get_text' }; je.__update = function () { var a = je._text; je._text = null; je._text != a && je.onUpdate.dispatch(); }; je.get_text = function () { je.__update(); return je._text; }; je.set_text = function (a) { var b = je._text; je._text = a; var d = vd.current.__window; null != d && d.__backend.setClipboard(a); je._text != b && je.onUpdate.dispatch(); return a; }; var Qo = function () {}; k['lime.system.Display'] = Qo; Qo.__name__ = 'lime.system.Display'; Qo.prototype = { bounds: null, currentMode: null, id: null, dpi: null, name: null, supportedModes: null, __class__: Qo }; var Ro = function (a, b, d, c) { this.width = a; this.height = b; this.refreshRate = d; this.pixelFormat = c; }; k['lime.system.DisplayMode'] = Ro; Ro.__name__ = 'lime.system.DisplayMode'; Ro.prototype = { height: null, pixelFormat: null, refreshRate: null, width: null, __class__: Ro }; var Bg = (N['lime.system.Endian'] = { __ename__: 'lime.system.Endian', __constructs__: null, LITTLE_ENDIAN: { _hx_name: 'LITTLE_ENDIAN', _hx_index: 0, __enum__: 'lime.system.Endian', toString: x }, BIG_ENDIAN: { _hx_name: 'BIG_ENDIAN', _hx_index: 1, __enum__: 'lime.system.Endian', toString: x } }); Bg.__constructs__ = [Bg.LITTLE_ENDIAN, Bg.BIG_ENDIAN]; var we = function () {}; k['lime.system.JNI'] = we; we.__name__ = 'lime.system.JNI'; we.callMember = function (a, b, d) { switch (d.length) { case 0: return a(b); case 1: return a(b, d[0]); case 2: return a(b, d[0], d[1]); case 3: return a(b, d[0], d[1], d[2]); case 4: return a(b, d[0], d[1], d[2], d[3]); case 5: return a(b, d[0], d[1], d[2], d[3], d[4]); case 6: return a(b, d[0], d[1], d[2], d[3], d[4], d[5]); case 7: return a(b, d[0], d[1], d[2], d[3], d[4], d[5], d[6]); default: return null; } }; we.callStatic = function (a, b) { switch (b.length) { case 0: return a(); case 1: return a(b[0]); case 2: return a(b[0], b[1]); case 3: return a(b[0], b[1], b[2]); case 4: return a(b[0], b[1], b[2], b[3]); case 5: return a(b[0], b[1], b[2], b[3], b[4]); case 6: return a(b[0], b[1], b[2], b[3], b[4], b[5]); case 7: return a(b[0], b[1], b[2], b[3], b[4], b[5], b[6]); default: return null; } }; we.createMemberField = function (a, b, d) { we.init(); return null; }; we.createMemberMethod = function (a, b, d, c, f) { we.init(); return null; }; we.createStaticField = function (a, b, d) { we.init(); return null; }; we.createStaticMethod = function (a, b, d, c, f) { we.init(); return null; }; we.getEnv = function () { we.init(); return null; }; we.init = function () { we.initialized || (we.initialized = !0); }; we.onCallback = function (a, b, d) { b = aa.field(a, b); return null != b ? (null == d && (d = []), b.apply(a, d)) : null; }; we.postUICallback = function (a) { a(); }; var Zy = function (a) { this.field = a; }; k['lime.system.JNIMemberField'] = Zy; Zy.__name__ = 'lime.system.JNIMemberField'; Zy.prototype = { field: null, get: function (a) { return null; }, set: function (a, b) { return b; }, __class__: Zy }; var $y = function (a) { this.field = a; }; k['lime.system.JNIStaticField'] = $y; $y.__name__ = 'lime.system.JNIStaticField'; $y.prototype = { field: null, get: function () { return null; }, set: function (a) { return a; }, __class__: $y }; var az = function (a) { this.method = a; }; k['lime.system.JNIMethod'] = az; az.__name__ = 'lime.system.JNIMethod'; az.prototype = { method: null, callMember: function (a) { return null; }, callStatic: function (a) { return null; }, getMemberMethod: function (a) { return a ? m(this, this.callMember) : aa.makeVarArgs(m(this, this.callMember)); }, getStaticMethod: function (a) { return a ? m(this, this.callStatic) : aa.makeVarArgs(m(this, this.callStatic)); }, __class__: az }; var Pe = { __properties__: { get_region: 'get_region', get_language: 'get_language', get_systemLocale: 'get_systemLocale', set_currentLocale: 'set_currentLocale', get_currentLocale: 'get_currentLocale' }, _new: function (a) { return a; }, equals: function (a, b) { var d = Pe.get_language(a); a = Pe.get_region(a); var c = Pe.get_language(b); b = Pe.get_region(b); var f = d == c, g = a == b; f || null == d || null == c || (f = d.toLowerCase() == c.toLowerCase()); g || null == a || null == b || (g = a.toLowerCase() == b.toLowerCase()); return f ? g : !1; }, __init: function () { if (null == Pe.__systemLocale) { var a = navigator.language; Pe.__systemLocale = null != a ? a : 'en-US'; Pe.set_currentLocale(Pe.__systemLocale); } }, get_language: function (a) { if (null != a) { var b = a.indexOf('_'); if (-1 < b) { var d = a.indexOf('-'); -1 < d && d < b && (b = d); return a.substring(0, b); } b = a.indexOf('-'); if (-1 < b) return a.substring(0, b); } return a; }, get_region: function (a) { if (null != a) { var b = a.indexOf('_'), d = a.indexOf('.'), c = a.indexOf('-'); if (-1 < b) return -1 < d ? a.substring(b + 1, d) : a.substring(b + 1); if (-1 < c) return -1 < d ? a.substring(c + 1, d) : a.substring(c + 1); } return null; }, get_currentLocale: function () { Pe.__init(); return Pe.currentLocale; }, set_currentLocale: function (a) { Pe.__init(); return (Pe.currentLocale = a); }, get_systemLocale: function () { Pe.__init(); return Pe.__systemLocale; } }, Of = function (a, b) { this.onUpdate = new Bo(); this.type = a; this.id = b; }; k['lime.system.Sensor'] = Of; Of.__name__ = 'lime.system.Sensor'; Of.getSensors = function (a) { if (null == a) return Of.sensors.slice(); for (var b = [], d = 0, c = Of.sensors; d < c.length; ) { var f = c[d]; ++d; f.type == a && b.push(f); } return b; }; Of.registerSensor = function (a, b) { a = new Of(a, b); Of.sensors.push(a); return (Of.sensorByID.h[b] = a); }; Of.prototype = { id: null, onUpdate: null, type: null, __class__: Of }; var xz = (N['lime.system.SensorType'] = { __ename__: 'lime.system.SensorType', __constructs__: null, ACCELEROMETER: { _hx_name: 'ACCELEROMETER', _hx_index: 0, __enum__: 'lime.system.SensorType', toString: x } }); xz.__constructs__ = [xz.ACCELEROMETER]; var Ua = function () {}; k['lime.system.System'] = Ua; Ua.__name__ = 'lime.system.System'; Ua.__properties__ = { get_userDirectory: 'get_userDirectory', get_platformVersion: 'get_platformVersion', get_platformName: 'get_platformName', get_platformLabel: 'get_platformLabel', get_numDisplays: 'get_numDisplays', get_fontsDirectory: 'get_fontsDirectory', get_endianness: 'get_endianness', get_documentsDirectory: 'get_documentsDirectory', get_deviceVendor: 'get_deviceVendor', get_deviceModel: 'get_deviceModel', get_desktopDirectory: 'get_desktopDirectory', get_applicationStorageDirectory: 'get_applicationStorageDirectory', get_applicationDirectory: 'get_applicationDirectory', set_allowScreenTimeout: 'set_allowScreenTimeout', get_allowScreenTimeout: 'get_allowScreenTimeout' }; Ua.embed = A.lime.embed = function (a, b, d, c, f) { if ( null != Ua.__applicationEntryPoint && Object.prototype.hasOwnProperty.call(Ua.__applicationEntryPoint.h, a) ) { var e = 'string' == typeof b ? window.document.getElementById(b) : null == b ? window.document.createElement('div') : b; null == e ? window.console.log('[lime.embed] ERROR: Cannot find target element: ' + z.string(b)) : (null == d && (d = 0), null == c && (c = 0), null == f && (f = {}), Object.prototype.hasOwnProperty.call(f, 'background') && 'string' == typeof f.background && ((b = T.replace(z.string(f.background), '#', '')), -1 < b.indexOf('0x') ? (f.background = z.parseInt(b)) : (f.background = z.parseInt('0x' + b))), (f.element = e), (f.width = d), (f.height = c), Ua.__applicationEntryPoint.h[a](f)); } }; Ua.exit = function (a) {}; Ua.getDisplay = function (a) { return 0 == a ? ((a = new Qo()), (a.id = 0), (a.name = 'Generic Display'), (a.dpi = 96 * window.devicePixelRatio), (a.currentMode = new Ro(window.screen.width, window.screen.height, 60, 1)), (a.supportedModes = [a.currentMode]), (a.bounds = new Qd(0, 0, a.currentMode.width, a.currentMode.height)), a) : null; }; Ua.getTimer = function () { return window.performance.now() | 0; }; Ua.load = function (a, b, d, c) { null == c && (c = !1); null == d && (d = 0); return Zg.load(a, b, d, c); }; Ua.openFile = function (a) { null != a && window.open(a, '_blank'); }; Ua.openURL = function (a, b) { null == b && (b = '_blank'); null != a && window.open(a, b); }; Ua.__copyMissingFields = function (a, b) { if (null != b && null != a) for (var d = 0, c = aa.fields(b); d < c.length; ) { var f = c[d]; ++d; Object.prototype.hasOwnProperty.call(a, f) || (a[f] = aa.field(b, f)); } }; Ua.__getDirectory = function (a) { return null; }; Ua.__parseBool = function (a) { return 'true' == a; }; Ua.__registerEntryPoint = function (a, b) { null == Ua.__applicationEntryPoint && (Ua.__applicationEntryPoint = new qa()); Ua.__applicationEntryPoint.h[a] = b; }; Ua.__runProcess = function (a, b) { return null; }; Ua.get_allowScreenTimeout = function () { return !0; }; Ua.set_allowScreenTimeout = function (a) { return !0; }; Ua.get_applicationDirectory = function () { null == Ua.__applicationDirectory && (Ua.__applicationDirectory = Ua.__getDirectory(0)); return Ua.__applicationDirectory; }; Ua.get_applicationStorageDirectory = function () { null == Ua.__applicationStorageDirectory && (Ua.__applicationStorageDirectory = Ua.__getDirectory(1)); return Ua.__applicationStorageDirectory; }; Ua.get_deviceModel = function () { return Ua.__deviceModel; }; Ua.get_deviceVendor = function () { return Ua.__deviceVendor; }; Ua.get_desktopDirectory = function () { null == Ua.__desktopDirectory && (Ua.__desktopDirectory = Ua.__getDirectory(2)); return Ua.__desktopDirectory; }; Ua.get_documentsDirectory = function () { null == Ua.__documentsDirectory && (Ua.__documentsDirectory = Ua.__getDirectory(3)); return Ua.__documentsDirectory; }; Ua.get_endianness = function () { if (null == Ua.__endianness) { var a = new ArrayBuffer(2), b = null, d = null, c = null, f = null, g = null, l = (b = null != b ? new Uint8Array(b) : null != d ? new Uint8Array(d) : null != c ? new Uint8Array(c.__array) : null != f ? new Uint8Array(f) : null != a ? null == g ? new Uint8Array(a, 0) : new Uint8Array(a, 0, g) : null); g = f = c = d = b = null; b = null != b ? new Uint16Array(b) : null != d ? new Uint16Array(d) : null != c ? new Uint16Array(c.__array) : null != f ? new Uint16Array(f) : null != a ? null == g ? new Uint16Array(a, 0) : new Uint16Array(a, 0, g) : null; l[0] = 170; l[1] = 187; Ua.__endianness = 43707 == b[0] ? Bg.BIG_ENDIAN : Bg.LITTLE_ENDIAN; } return Ua.__endianness; }; Ua.get_fontsDirectory = function () { null == Ua.__fontsDirectory && (Ua.__fontsDirectory = Ua.__getDirectory(4)); return Ua.__fontsDirectory; }; Ua.get_numDisplays = function () { return 1; }; Ua.get_platformLabel = function () { if (null == Ua.__platformLabel) { var a = Ua.get_platformName(), b = Ua.get_platformVersion(); null != a && null != b ? (Ua.__platformLabel = a + ' ' + b) : null != a && (Ua.__platformLabel = a); } return Ua.__platformLabel; }; Ua.get_platformName = function () { null == Ua.__platformName && (Ua.__platformName = 'HTML5'); return Ua.__platformName; }; Ua.get_platformVersion = function () { return Ua.__platformVersion; }; Ua.get_userDirectory = function () { null == Ua.__userDirectory && (Ua.__userDirectory = Ua.__getDirectory(5)); return Ua.__userDirectory; }; var Ao = function (a, b) { null == b && (b = 1); null == a && (a = 0); this.onRun = new Yh(); this.onProgress = new Yh(); this.onError = new Yh(); this.onComplete = new Yh(); this.doWork = new Yh(); this.minThreads = a; this.maxThreads = b; this.currentThreads = 0; }; k['lime.system.ThreadPool'] = Ao; Ao.__name__ = 'lime.system.ThreadPool'; Ao.prototype = { currentThreads: null, doWork: null, maxThreads: null, minThreads: null, onComplete: null, onError: null, onProgress: null, onRun: null, queue: function (a) { this.runWork(a); }, sendComplete: function (a) { this.onComplete.dispatch(a); }, sendError: function (a) { this.onError.dispatch(a); }, sendProgress: function (a) { this.onProgress.dispatch(a); }, runWork: function (a) { this.onRun.dispatch(a); this.doWork.dispatch(a); }, __class__: Ao }; var xm = (N['lime.system._ThreadPool.ThreadPoolMessageType'] = { __ename__: 'lime.system._ThreadPool.ThreadPoolMessageType', __constructs__: null, COMPLETE: { _hx_name: 'COMPLETE', _hx_index: 0, __enum__: 'lime.system._ThreadPool.ThreadPoolMessageType', toString: x }, ERROR: { _hx_name: 'ERROR', _hx_index: 1, __enum__: 'lime.system._ThreadPool.ThreadPoolMessageType', toString: x }, EXIT: { _hx_name: 'EXIT', _hx_index: 2, __enum__: 'lime.system._ThreadPool.ThreadPoolMessageType', toString: x }, PROGRESS: { _hx_name: 'PROGRESS', _hx_index: 3, __enum__: 'lime.system._ThreadPool.ThreadPoolMessageType', toString: x }, WORK: { _hx_name: 'WORK', _hx_index: 4, __enum__: 'lime.system._ThreadPool.ThreadPoolMessageType', toString: x } }); xm.__constructs__ = [xm.COMPLETE, xm.ERROR, xm.EXIT, xm.PROGRESS, xm.WORK]; var bz = function (a, b) { this.type = a; this.state = b; }; k['lime.system._ThreadPool.ThreadPoolMessage'] = bz; bz.__name__ = 'lime.system._ThreadPool.ThreadPoolMessage'; bz.prototype = { state: null, type: null, __class__: bz }; var Md = function (a) { null != a && (this.name = a); this.__init || (void 0 == this.ascender && (this.ascender = 0), void 0 == this.descender && (this.descender = 0), void 0 == this.height && (this.height = 0), void 0 == this.numGlyphs && (this.numGlyphs = 0), void 0 == this.underlinePosition && (this.underlinePosition = 0), void 0 == this.underlineThickness && (this.underlineThickness = 0), void 0 == this.unitsPerEM && (this.unitsPerEM = 0), null != this.__fontID ? sa.isLocal(this.__fontID) && this.__fromBytes(sa.getBytes(this.__fontID)) : null != this.__fontPath && this.__fromFile(this.__fontPath)); }; k['lime.text.Font'] = Md; Md.__name__ = 'lime.text.Font'; Md.fromBytes = function (a) { if (null == a) return null; var b = new Md(); b.__fromBytes(a); return b; }; Md.fromFile = function (a) { if (null == a) return null; var b = new Md(); b.__fromFile(a); return b; }; Md.loadFromBytes = function (a) { return ib.withValue(Md.fromBytes(a)); }; Md.loadFromFile = function (a) { return new um().load(a).then(function (a) { return null != a ? ib.withValue(a) : ib.withError(''); }); }; Md.loadFromName = function (a) { return new Md().__loadFromName(a); }; Md.__measureFontNode = function (a) { var b = window.document.createElement('span'); b.setAttribute('aria-hidden', 'true'); var d = window.document.createTextNode('BESbswy'); b.appendChild(d); d = b.style; d.display = 'block'; d.position = 'absolute'; d.top = '-9999px'; d.left = '-9999px'; d.fontSize = '300px'; d.width = 'auto'; d.height = 'auto'; d.lineHeight = 'normal'; d.margin = '0'; d.padding = '0'; d.fontVariant = 'normal'; d.whiteSpace = 'nowrap'; d.fontFamily = a; window.document.body.appendChild(b); return b; }; Md.prototype = { ascender: null, descender: null, height: null, name: null, numGlyphs: null, src: null, underlinePosition: null, underlineThickness: null, unitsPerEM: null, __fontID: null, __fontPath: null, __init: null, decompose: function () { return null; }, getGlyph: function (a) { return -1; }, getGlyphs: function (a) { return null; }, getGlyphMetrics: function (a) { return null; }, renderGlyph: function (a, b) { return null; }, renderGlyphs: function (a, b) { return null; }, __copyFrom: function (a) { null != a && ((this.ascender = a.ascender), (this.descender = a.descender), (this.height = a.height), (this.name = a.name), (this.numGlyphs = a.numGlyphs), (this.src = a.src), (this.underlinePosition = a.underlinePosition), (this.underlineThickness = a.underlineThickness), (this.unitsPerEM = a.unitsPerEM), (this.__fontID = a.__fontID), (this.__fontPath = a.__fontPath), (this.__init = !0)); }, __fromBytes: function (a) { this.__fontPath = null; }, __fromFile: function (a) { this.__fontPath = a; }, __initializeSource: function () { this.__init = !0; }, __loadFromName: function (a) { var b = this, d = new $d(); this.name = a; var c = V.navigator.userAgent.toLowerCase(), f = 0 <= c.indexOf(' safari/') && 0 > c.indexOf(' chrome/'); c = new Ja('(iPhone|iPod|iPad).*AppleWebKit(?!.*Version)', 'i').match(c); if (!f && !c && window.document.fonts && ((B = window.document.fonts), m(B, B.load))) window.document.fonts.load("1em '" + a + "'").then( function (a) { d.complete(b); }, function (c) { Va.warn('Could not load web font "' + a + '"', { fileName: 'lime/text/Font.hx', lineNumber: 513, className: 'lime.text.Font', methodName: '__loadFromName' }); d.complete(b); } ); else { var g = Md.__measureFontNode("'" + a + "', sans-serif"), l = Md.__measureFontNode("'" + a + "', serif"), q = g.offsetWidth, h = l.offsetWidth, r = -1, k = 0, p, n; r = window.setInterval(function () { k += 1; p = g.offsetWidth != q || l.offsetWidth != h; n = 3e3 <= 50 * k; if (p || n) window.clearInterval(r), g.parentNode.removeChild(g), l.parentNode.removeChild(l), (l = g = null), n && Va.warn('Could not load web font "' + a + '"', { fileName: 'lime/text/Font.hx', lineNumber: 548, className: 'lime.text.Font', methodName: '__loadFromName' }), d.complete(b); }, 50); } return d.future; }, __setSize: function (a) {}, __class__: Md }; var cz = function () {}; k['lime.text.GlyphMetrics'] = cz; cz.__name__ = 'lime.text.GlyphMetrics'; cz.prototype = { advance: null, height: null, horizontalBearing: null, verticalBearing: null, __class__: cz }; var yz = function () {}; k['lime.text.harfbuzz.HB'] = yz; yz.__name__ = 'lime.text.harfbuzz.HB'; yz.shape = function (a, b, d) {}; var Vz = { __properties__: { set_segmentProperties: 'set_segmentProperties', get_segmentProperties: 'get_segmentProperties', set_script: 'set_script', get_script: 'get_script', set_replacementCodepoint: 'set_replacementCodepoint', get_replacementCodepoint: 'get_replacementCodepoint', set_length: 'set_length', get_length: 'get_length', set_language: 'set_language', get_language: 'get_language', set_flags: 'set_flags', get_flags: 'get_flags', set_direction: 'set_direction', get_direction: 'get_direction', set_contentType: 'set_contentType', get_contentType: 'get_contentType', set_clusterLevel: 'set_clusterLevel', get_clusterLevel: 'get_clusterLevel', get_allocationSuccessful: 'get_allocationSuccessful' }, _new: function () { return null; }, add: function (a, b, d) {}, addCodepoints: function (a, b, d, c, f) {}, addUTF8: function (a, b, d, c) {}, addUTF16: function (a, b, d, c, f) {}, addUTF32: function (a, b, d, c, f) {}, clearContents: function (a) {}, getGlyphInfo: function (a) { return null; }, getGlyphPositions: function (a) { return null; }, guessSegmentProperties: function (a) {}, normalizeGlyphs: function (a) {}, preallocate: function (a, b) { return !1; }, reset: function (a) {}, reverse: function (a) {}, reverseClusters: function (a) {}, get_allocationSuccessful: function (a) { return !1; }, get_clusterLevel: function (a) { return 0; }, set_clusterLevel: function (a, b) { return b; }, get_contentType: function (a) { return 0; }, set_contentType: function (a, b) { return b; }, get_direction: function (a) { return 0; }, set_direction: function (a, b) { return b; }, get_empty: function () { return null; }, get_flags: function (a) { return 0; }, set_flags: function (a, b) { return b; }, get_language: function (a) { return null; }, set_language: function (a, b) { return b; }, get_length: function (a) { return 0; }, set_length: function (a, b) { return b; }, get_replacementCodepoint: function (a) { return 0; }, set_replacementCodepoint: function (a, b) { return b; }, get_script: function (a) { return 0; }, set_script: function (a, b) { return b; }, get_segmentProperties: function (a) { return null; }, set_segmentProperties: function (a, b) { return b; } }, dz = function () {}; k['lime.text.harfbuzz.HBFeature'] = dz; dz.__name__ = 'lime.text.harfbuzz.HBFeature'; dz.prototype = { __class__: dz }; var ez = function () {}; k['lime.text.harfbuzz.HBGlyphInfo'] = ez; ez.__name__ = 'lime.text.harfbuzz.HBGlyphInfo'; ez.prototype = { codepoint: null, mask: null, cluster: null, __class__: ez }; var fz = function () {}; k['lime.text.harfbuzz.HBGlyphPosition'] = fz; fz.__name__ = 'lime.text.harfbuzz.HBGlyphPosition'; fz.prototype = { xAdvance: null, xOffset: null, yAdvance: null, yOffset: null, __class__: fz }; var Nz = { _new: function (a) { return null; }, toString: function (a) { return null; }, fromString: function (a) { return Nz._new(a); } }, gz = function () {}; k['lime.text.harfbuzz.HBSegmentProperties'] = gz; gz.__name__ = 'lime.text.harfbuzz.HBSegmentProperties'; gz.prototype = { __class__: gz }; var Jd = function (a) { this.onDisconnect = new Ld(); this.onButtonUp = new pm(); this.onButtonDown = new pm(); this.onAxisMove = new Jo(); this.id = a; this.connected = !0; }; k['lime.ui.Gamepad'] = Jd; Jd.__name__ = 'lime.ui.Gamepad'; Jd.addMappings = function (a) {}; Jd.__connect = function (a) { if (!Jd.devices.h.hasOwnProperty(a)) { var b = new Jd(a); Jd.devices.h[a] = b; Jd.onConnect.dispatch(b); } }; Jd.__disconnect = function (a) { var b = Jd.devices.h[a]; null != b && (b.connected = !1); Jd.devices.remove(a); null != b && b.onDisconnect.dispatch(); }; Jd.prototype = { connected: null, id: null, onAxisMove: null, onButtonDown: null, onButtonUp: null, onDisconnect: null, get_guid: function () { return zc.__getDeviceData()[this.id].id; }, get_name: function () { return zc.__getDeviceData()[this.id].id; }, __class__: Jd, __properties__: { get_name: 'get_name', get_guid: 'get_guid' } }; var zc = function (a) { this.onTrackballMove = new Fo(); this.onHatMove = new Ho(); this.onDisconnect = new Ld(); this.onButtonUp = new Xh(); this.onButtonDown = new Xh(); this.onAxisMove = new Go(); this.id = a; this.connected = !0; }; k['lime.ui.Joystick'] = zc; zc.__name__ = 'lime.ui.Joystick'; zc.__connect = function (a) { if (!zc.devices.h.hasOwnProperty(a)) { var b = new zc(a); zc.devices.h[a] = b; zc.onConnect.dispatch(b); } }; zc.__disconnect = function (a) { var b = zc.devices.h[a]; null != b && (b.connected = !1); zc.devices.remove(a); null != b && b.onDisconnect.dispatch(); }; zc.__getDeviceData = function () { return navigator.getGamepads ? navigator.getGamepads() : navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : null; }; zc.prototype = { connected: null, id: null, onAxisMove: null, onButtonDown: null, onButtonUp: null, onDisconnect: null, onHatMove: null, onTrackballMove: null, get_guid: function () { return zc.__getDeviceData()[this.id].id; }, get_name: function () { return zc.__getDeviceData()[this.id].id; }, get_numAxes: function () { return zc.__getDeviceData()[this.id].axes.length; }, get_numButtons: function () { return zc.__getDeviceData()[this.id].buttons.length; }, get_numHats: function () { return 0; }, get_numTrackballs: function () { return 0; }, __class__: zc, __properties__: { get_numTrackballs: 'get_numTrackballs', get_numHats: 'get_numHats', get_numButtons: 'get_numButtons', get_numAxes: 'get_numAxes', get_name: 'get_name', get_guid: 'get_guid' } }; var eg = { __properties__: { set_up: 'set_up', get_up: 'get_up', set_right: 'set_right', get_right: 'get_right', set_left: 'set_left', get_left: 'get_left', set_down: 'set_down', get_down: 'get_down', set_center: 'set_center', get_center: 'get_center' }, _new: function (a) { return a; }, get_center: function (a) { return 0 == a; }, set_center: function (a, b) { return b; }, get_down: function (a) { return 0 < (a & 4); }, set_down: function (a, b) { return b; }, get_left: function (a) { return 0 < (a & 8); }, set_left: function (a, b) { return b; }, get_right: function (a) { return 0 < (a & 2); }, set_right: function (a, b) { return b; }, get_up: function (a) { return 0 < (a & 1); }, set_up: function (a, b) { return b; } }, Cb = { __properties__: { set_shiftKey: 'set_shiftKey', get_shiftKey: 'get_shiftKey', set_numLock: 'set_numLock', get_numLock: 'get_numLock', set_metaKey: 'set_metaKey', get_metaKey: 'get_metaKey', set_ctrlKey: 'set_ctrlKey', get_ctrlKey: 'get_ctrlKey', set_capsLock: 'set_capsLock', get_capsLock: 'get_capsLock', set_altKey: 'set_altKey', get_altKey: 'get_altKey' }, get_altKey: function (a) { return 0 >= (a & 256) ? 0 < (a & 512) : !0; }, set_altKey: function (a, b) { return b; }, get_capsLock: function (a) { return 0 >= (a & 8192) ? 0 < (a & 8192) : !0; }, set_capsLock: function (a, b) { return b; }, get_ctrlKey: function (a) { return 0 >= (a & 64) ? 0 < (a & 128) : !0; }, set_ctrlKey: function (a, b) { return b; }, get_metaKey: function (a) { return 0 >= (a & 1024) ? 0 < (a & 2048) : !0; }, set_metaKey: function (a, b) { return b; }, get_numLock: function (a) { return 0 >= (a & 4096) ? 0 < (a & 4096) : !0; }, set_numLock: function (a, b) { return b; }, get_shiftKey: function (a) { return 0 >= (a & 1) ? 0 < (a & 2) : !0; }, set_shiftKey: function (a, b) { return b; } }, lc = (N['lime.ui.MouseCursor'] = { __ename__: 'lime.ui.MouseCursor', __constructs__: null, ARROW: { _hx_name: 'ARROW', _hx_index: 0, __enum__: 'lime.ui.MouseCursor', toString: x }, CROSSHAIR: { _hx_name: 'CROSSHAIR', _hx_index: 1, __enum__: 'lime.ui.MouseCursor', toString: x }, DEFAULT: { _hx_name: 'DEFAULT', _hx_index: 2, __enum__: 'lime.ui.MouseCursor', toString: x }, MOVE: { _hx_name: 'MOVE', _hx_index: 3, __enum__: 'lime.ui.MouseCursor', toString: x }, POINTER: { _hx_name: 'POINTER', _hx_index: 4, __enum__: 'lime.ui.MouseCursor', toString: x }, RESIZE_NESW: { _hx_name: 'RESIZE_NESW', _hx_index: 5, __enum__: 'lime.ui.MouseCursor', toString: x }, RESIZE_NS: { _hx_name: 'RESIZE_NS', _hx_index: 6, __enum__: 'lime.ui.MouseCursor', toString: x }, RESIZE_NWSE: { _hx_name: 'RESIZE_NWSE', _hx_index: 7, __enum__: 'lime.ui.MouseCursor', toString: x }, RESIZE_WE: { _hx_name: 'RESIZE_WE', _hx_index: 8, __enum__: 'lime.ui.MouseCursor', toString: x }, TEXT: { _hx_name: 'TEXT', _hx_index: 9, __enum__: 'lime.ui.MouseCursor', toString: x }, WAIT: { _hx_name: 'WAIT', _hx_index: 10, __enum__: 'lime.ui.MouseCursor', toString: x }, WAIT_ARROW: { _hx_name: 'WAIT_ARROW', _hx_index: 11, __enum__: 'lime.ui.MouseCursor', toString: x }, CUSTOM: { _hx_name: 'CUSTOM', _hx_index: 12, __enum__: 'lime.ui.MouseCursor', toString: x } }); lc.__constructs__ = [ lc.ARROW, lc.CROSSHAIR, lc.DEFAULT, lc.MOVE, lc.POINTER, lc.RESIZE_NESW, lc.RESIZE_NS, lc.RESIZE_NWSE, lc.RESIZE_WE, lc.TEXT, lc.WAIT, lc.WAIT_ARROW, lc.CUSTOM ]; var Ah = (N['lime.ui.MouseWheelMode'] = { __ename__: 'lime.ui.MouseWheelMode', __constructs__: null, PIXELS: { _hx_name: 'PIXELS', _hx_index: 0, __enum__: 'lime.ui.MouseWheelMode', toString: x }, LINES: { _hx_name: 'LINES', _hx_index: 1, __enum__: 'lime.ui.MouseWheelMode', toString: x }, PAGES: { _hx_name: 'PAGES', _hx_index: 2, __enum__: 'lime.ui.MouseWheelMode', toString: x }, UNKNOWN: { _hx_name: 'UNKNOWN', _hx_index: 3, __enum__: 'lime.ui.MouseWheelMode', toString: x } }); Ah.__constructs__ = [Ah.PIXELS, Ah.LINES, Ah.PAGES, Ah.UNKNOWN]; var nd = function (a, b, d, c, f, g, l) { this.x = a; this.y = b; this.id = d; this.dx = c; this.dy = f; this.pressure = g; this.device = l; }; k['lime.ui.Touch'] = nd; nd.__name__ = 'lime.ui.Touch'; nd.prototype = { device: null, dx: null, dy: null, id: null, pressure: null, x: null, y: null, __class__: nd }; var Ki = function (a, b) { this.onTextInput = new nm(); this.onTextEdit = new Io(); this.onRestore = new Ld(); this.onResize = new mm(); this.onRenderContextRestored = new om(); this.onRenderContextLost = new Ld(); this.onRender = new om(); this.onMove = new Qj(); this.onMouseWheel = new Eo(); this.onMouseUp = new Co(); this.onMouseMoveRelative = new Qj(); this.onMouseMove = new Qj(); this.onMouseDown = new Do(); this.onMinimize = new Ld(); this.onMaximize = new Ld(); this.onLeave = new Ld(); this.onKeyUp = new qm(); this.onKeyDown = new qm(); this.onFullscreen = new Ld(); this.onFocusOut = new Ld(); this.onFocusIn = new Ld(); this.onExpose = new Ld(); this.onEnter = new Ld(); this.onDropFile = new nm(); this.onDeactivate = new Ld(); this.onClose = new Ld(); this.onActivate = new Ld(); this.application = a; this.__attributes = null != b ? b : {}; Object.prototype.hasOwnProperty.call(this.__attributes, 'parameters') && (this.parameters = this.__attributes.parameters); this.__height = this.__width = 0; this.__fullscreen = !1; this.__scale = 1; this.__y = this.__x = 0; this.__title = ''; this.id = -1; this.__backend = new pb(this); }; k['lime.ui.Window'] = Ki; Ki.__name__ = 'lime.ui.Window'; Ki.prototype = { application: null, context: null, display: null, element: null, hidden: null, id: null, onActivate: null, onClose: null, onDeactivate: null, onDropFile: null, onEnter: null, onExpose: null, onFocusIn: null, onFocusOut: null, onFullscreen: null, onKeyDown: null, onKeyUp: null, onLeave: null, onMaximize: null, onMinimize: null, onMouseDown: null, onMouseMove: null, onMouseMoveRelative: null, onMouseUp: null, onMouseWheel: null, onMove: null, onRender: null, onRenderContextLost: null, onRenderContextRestored: null, onResize: null, onRestore: null, onTextEdit: null, onTextInput: null, parameters: null, scale: null, stage: null, __attributes: null, __backend: null, __borderless: null, __fullscreen: null, __height: null, __hidden: null, __maximized: null, __minimized: null, __resizable: null, __scale: null, __title: null, __width: null, __x: null, __y: null, alert: function (a, b) { this.__backend.alert(a, b); }, close: function () { this.__backend.close(); }, focus: function () { this.__backend.focus(); }, move: function (a, b) { this.__backend.move(a, b); this.__x = a; this.__y = b; }, readPixels: function (a) { return this.__backend.readPixels(a); }, resize: function (a, b) { this.__backend.resize(a, b); this.__width = a; this.__height = b; }, setIcon: function (a) { null != a && this.__backend.setIcon(a); }, toString: function () { return '[object Window]'; }, warpMouse: function (a, b) { this.__backend.warpMouse(a, b); }, get_cursor: function () { return this.__backend.getCursor(); }, set_cursor: function (a) { return this.__backend.setCursor(a); }, get_display: function () { return this.__backend.getDisplay(); }, get_displayMode: function () { return this.__backend.getDisplayMode(); }, set_displayMode: function (a) { return this.__backend.setDisplayMode(a); }, get_borderless: function () { return this.__borderless; }, set_borderless: function (a) { return (this.__borderless = this.__backend.setBorderless(a)); }, get_frameRate: function () { return this.__backend.getFrameRate(); }, set_frameRate: function (a) { return this.__backend.setFrameRate(a); }, get_fullscreen: function () { return this.__fullscreen; }, set_fullscreen: function (a) { return (this.__fullscreen = this.__backend.setFullscreen(a)); }, get_height: function () { return this.__height; }, set_height: function (a) { this.resize(this.__width, a); return this.__height; }, get_hidden: function () { return this.__hidden; }, get_maximized: function () { return this.__maximized; }, set_maximized: function (a) { this.__minimized = !1; return (this.__maximized = this.__backend.setMaximized(a)); }, get_minimized: function () { return this.__minimized; }, set_minimized: function (a) { this.__maximized = !1; return (this.__minimized = this.__backend.setMinimized(a)); }, get_mouseLock: function () { return this.__backend.getMouseLock(); }, set_mouseLock: function (a) { this.__backend.setMouseLock(a); return a; }, get_resizable: function () { return this.__resizable; }, set_resizable: function (a) { return (this.__resizable = this.__backend.setResizable(a)); }, get_scale: function () { return this.__scale; }, get_textInputEnabled: function () { return this.__backend.getTextInputEnabled(); }, set_textInputEnabled: function (a) { return this.__backend.setTextInputEnabled(a); }, get_title: function () { return this.__title; }, set_title: function (a) { return (this.__title = this.__backend.setTitle(a)); }, get_width: function () { return this.__width; }, set_width: function (a) { this.resize(a, this.__height); return this.__width; }, get_x: function () { return this.__x; }, set_x: function (a) { this.move(a, this.__y); return this.__x; }, get_y: function () { return this.__y; }, set_y: function (a) { this.move(this.__x, a); return this.__y; }, __class__: Ki, __properties__: { set_y: 'set_y', get_y: 'get_y', set_x: 'set_x', get_x: 'get_x', set_width: 'set_width', get_width: 'get_width', set_title: 'set_title', get_title: 'get_title', set_textInputEnabled: 'set_textInputEnabled', get_textInputEnabled: 'get_textInputEnabled', get_scale: 'get_scale', set_resizable: 'set_resizable', get_resizable: 'get_resizable', set_mouseLock: 'set_mouseLock', get_mouseLock: 'get_mouseLock', set_minimized: 'set_minimized', get_minimized: 'get_minimized', set_maximized: 'set_maximized', get_maximized: 'get_maximized', get_hidden: 'get_hidden', set_height: 'set_height', get_height: 'get_height', set_fullscreen: 'set_fullscreen', get_fullscreen: 'get_fullscreen', set_frameRate: 'set_frameRate', get_frameRate: 'get_frameRate', set_displayMode: 'set_displayMode', get_displayMode: 'get_displayMode', get_display: 'get_display', set_cursor: 'set_cursor', get_cursor: 'get_cursor', set_borderless: 'set_borderless', get_borderless: 'get_borderless' } }; var Oz = (N['lime.utils.TAError'] = { __ename__: 'lime.utils.TAError', __constructs__: null, RangeError: { _hx_name: 'RangeError', _hx_index: 0, __enum__: 'lime.utils.TAError', toString: x } }); Oz.__constructs__ = [Oz.RangeError]; var Sf = function () { this.data = new qa(); this.paths = []; }; k['lime.utils.AssetBundle'] = Sf; Sf.__name__ = 'lime.utils.AssetBundle'; Sf.fromBytes = function (a) { a = new fm(a); return Sf.__extractBundle(a); }; Sf.fromFile = function (a) { return null; }; Sf.loadFromBytes = function (a) { return ib.withValue(Sf.fromBytes(a)); }; Sf.loadFromFile = function (a) { return ic.loadFromFile(a).then(Sf.loadFromBytes); }; Sf.__extractBundle = function (a) { var b = Gi.readZip(a); a = new Sf(); for (b = b.h; null != b; ) { var d = b.item; b = b.next; if (d.compressed) { var c = a.data, f = d.fileName, g = ic.decompress(d.data, ae.DEFLATE); c.h[f] = g; } else a.data.h[d.fileName] = d.data; a.paths.push(d.fileName); } return a; }; Sf.prototype = { data: null, paths: null, __class__: Sf }; var So = function () { this.enabled = !0; this.audio = new qa(); this.font = new qa(); this.image = new qa(); this.version = 118711; }; k['lime.utils.AssetCache'] = So; So.__name__ = 'lime.utils.AssetCache'; So.prototype = { audio: null, enabled: null, image: null, font: null, version: null, exists: function (a, b) { return (('IMAGE' == b || null == b) && Object.prototype.hasOwnProperty.call(this.image.h, a)) || (('FONT' == b || null == b) && Object.prototype.hasOwnProperty.call(this.font.h, a)) || (('SOUND' == b || 'MUSIC' == b || null == b) && Object.prototype.hasOwnProperty.call(this.audio.h, a)) ? !0 : !1; }, set: function (a, b, d) { switch (b) { case 'FONT': this.font.h[a] = d; break; case 'IMAGE': if (!(d instanceof Gb)) throw J.thrown('Cannot cache non-Image asset: ' + z.string(d) + ' as Image'); this.image.h[a] = d; break; case 'MUSIC': case 'SOUND': if (!(d instanceof Uc)) throw J.thrown( 'Cannot cache non-AudioBuffer asset: ' + z.string(d) + ' as AudioBuffer' ); this.audio.h[a] = d; break; default: throw J.thrown(b + ' assets are not cachable'); } }, clear: function (a) { if (null == a) (this.audio = new qa()), (this.font = new qa()), (this.image = new qa()); else { var b = this.audio.h; b = Object.keys(b); for (var d = b.length, c = 0; c < d; ) { var f = b[c++]; if (T.startsWith(f, a)) { var g = this.audio; Object.prototype.hasOwnProperty.call(g.h, f) && delete g.h[f]; } } b = this.font.h; b = Object.keys(b); d = b.length; for (c = 0; c < d; ) (f = b[c++]), T.startsWith(f, a) && ((g = this.font), Object.prototype.hasOwnProperty.call(g.h, f) && delete g.h[f]); b = this.image.h; b = Object.keys(b); d = b.length; for (c = 0; c < d; ) (f = b[c++]), T.startsWith(f, a) && ((g = this.image), Object.prototype.hasOwnProperty.call(g.h, f) && delete g.h[f]); } }, __class__: So }; var wb = function () { this.types = new qa(); this.sizes = new qa(); this.preload = new qa(); this.paths = new qa(); this.pathGroups = new qa(); this.classTypes = new qa(); this.cachedText = new qa(); this.cachedImages = new qa(); this.cachedFonts = new qa(); this.cachedBytes = new qa(); this.cachedAudioBuffers = new qa(); this.onChange = new Ld(); this.bytesTotal = this.bytesLoaded = 0; }; k['lime.utils.AssetLibrary'] = wb; wb.__name__ = 'lime.utils.AssetLibrary'; wb.fromBytes = function (a, b) { return wb.fromManifest(Ic.fromBytes(a, b)); }; wb.fromFile = function (a, b) { return wb.fromManifest(Ic.fromFile(a, b)); }; wb.fromBundle = function (a) { if (Object.prototype.hasOwnProperty.call(a.data.h, 'library.json')) { var b = Ic.fromBytes(a.data.h['library.json']); if (null != b) { if (null == b.libraryType) var d = new wb(); else if (((d = k[b.libraryType]), null != d)) d = ma.createInstance(d, b.libraryArgs); else return ( Va.warn('Could not find library type: ' + b.libraryType, { fileName: 'lime/utils/AssetLibrary.hx', lineNumber: 122, className: 'lime.utils.AssetLibrary', methodName: 'fromBundle' }), null ); d.__fromBundle(a, b); return d; } } else return (d = new wb()), d.__fromBundle(a), d; return null; }; wb.fromManifest = function (a) { if (null == a) return null; if (null == a.libraryType) var b = new wb(); else if (((b = k[a.libraryType]), null != b)) b = ma.createInstance(b, a.libraryArgs); else return ( Va.warn('Could not find library type: ' + a.libraryType, { fileName: 'lime/utils/AssetLibrary.hx', lineNumber: 160, className: 'lime.utils.AssetLibrary', methodName: 'fromManifest' }), null ); b.__fromManifest(a); return b; }; wb.loadFromBytes = function (a, b) { return Ic.loadFromBytes(a, b).then(function (a) { return wb.loadFromManifest(a); }); }; wb.loadFromFile = function (a, b) { return Ic.loadFromFile(a, b).then(function (a) { return wb.loadFromManifest(a); }); }; wb.loadFromManifest = function (a) { a = wb.fromManifest(a); return null != a ? a.load() : ib.withError('Could not load asset manifest'); }; wb.prototype = { onChange: null, assetsLoaded: null, assetsTotal: null, bytesLoaded: null, bytesLoadedCache: null, bytesTotal: null, cachedAudioBuffers: null, cachedBytes: null, cachedFonts: null, cachedImages: null, cachedText: null, classTypes: null, loaded: null, pathGroups: null, paths: null, preload: null, promise: null, sizes: null, types: null, exists: function (a, b) { b = null != b ? w.__cast(b, String) : null; a = this.types.h[a]; return null == a || (a != b && (('SOUND' != b && 'MUSIC' != b) || ('MUSIC' != a && 'SOUND' != a)) && 'BINARY' != b && null != b && ('BINARY' != a || 'TEXT' != b)) ? !1 : !0; }, getAsset: function (a, b) { switch (b) { case 'BINARY': return this.getBytes(a); case 'FONT': return this.getFont(a); case 'IMAGE': return this.getImage(a); case 'MUSIC': case 'SOUND': return this.getAudioBuffer(a); case 'TEMPLATE': throw J.thrown('Not sure how to get template: ' + a); case 'TEXT': return this.getText(a); default: throw J.thrown('Unknown asset type: ' + b); } }, getAudioBuffer: function (a) { return Object.prototype.hasOwnProperty.call(this.cachedAudioBuffers.h, a) ? this.cachedAudioBuffers.h[a] : Object.prototype.hasOwnProperty.call(this.classTypes.h, a) ? Uc.fromBytes(w.__cast(ma.createInstance(this.classTypes.h[a], []), fb)) : Uc.fromFile(this.paths.h[a]); }, getBytes: function (a) { if (Object.prototype.hasOwnProperty.call(this.cachedBytes.h, a)) return this.cachedBytes.h[a]; if (Object.prototype.hasOwnProperty.call(this.cachedText.h, a)) { var b = ic.ofString(this.cachedText.h[a]); return (this.cachedBytes.h[a] = b); } return Object.prototype.hasOwnProperty.call(this.classTypes.h, a) ? w.__cast(ma.createInstance(this.classTypes.h[a], []), fb) : ic.fromFile(this.paths.h[a]); }, getFont: function (a) { return Object.prototype.hasOwnProperty.call(this.cachedFonts.h, a) ? this.cachedFonts.h[a] : Object.prototype.hasOwnProperty.call(this.classTypes.h, a) ? w.__cast(ma.createInstance(this.classTypes.h[a], []), Md) : Md.fromFile(this.paths.h[a]); }, getImage: function (a) { return Object.prototype.hasOwnProperty.call(this.cachedImages.h, a) ? this.cachedImages.h[a] : Object.prototype.hasOwnProperty.call(this.classTypes.h, a) ? w.__cast(ma.createInstance(this.classTypes.h[a], []), Gb) : Gb.fromFile(this.paths.h[a]); }, getPath: function (a) { return Object.prototype.hasOwnProperty.call(this.paths.h, a) ? this.paths.h[a] : Object.prototype.hasOwnProperty.call(this.pathGroups.h, a) ? this.pathGroups.h[a][0] : null; }, getText: function (a) { if (Object.prototype.hasOwnProperty.call(this.cachedText.h, a)) return this.cachedText.h[a]; a = this.getBytes(a); return null == a ? null : a.getString(0, a.length); }, isLocal: function (a, b) { if (Object.prototype.hasOwnProperty.call(this.classTypes.h, a)) return !0; b = null != b ? w.__cast(b, String) : null; if (null == b) return Object.prototype.hasOwnProperty.call(this.cachedBytes.h, a) ? !0 : Object.prototype.hasOwnProperty.call(this.cachedText.h, a); switch (b) { case 'FONT': return Object.prototype.hasOwnProperty.call(this.cachedFonts.h, a); case 'IMAGE': return Object.prototype.hasOwnProperty.call(this.cachedImages.h, a); case 'MUSIC': case 'SOUND': return Object.prototype.hasOwnProperty.call(this.cachedAudioBuffers.h, a); default: return Object.prototype.hasOwnProperty.call(this.cachedBytes.h, a) ? !0 : Object.prototype.hasOwnProperty.call(this.cachedText.h, a); } }, list: function (a) { for ( var b = null != a ? w.__cast(a, String) : null, d = [], c = Object.keys(this.types.h), f = c.length, g = 0; g < f; ) { var l = c[g++]; (null == b || this.exists(l, a)) && d.push(l); } return d; }, loadAsset: function (a, b) { switch (b) { case 'BINARY': return this.loadBytes(a); case 'FONT': return this.loadFont(a); case 'IMAGE': return this.loadImage(a); case 'MUSIC': case 'SOUND': return this.loadAudioBuffer(a); case 'TEMPLATE': throw J.thrown('Not sure how to load template: ' + a); case 'TEXT': return this.loadText(a); default: throw J.thrown('Unknown asset type: ' + b); } }, load: function () { if (this.loaded) return ib.withValue(this); if (null == this.promise) { this.promise = new $d(); this.bytesLoadedCache = new qa(); this.assetsLoaded = 0; this.assetsTotal = 1; for (var a = Object.keys(this.preload.h), b = a.length, d = 0; d < b; ) { var c = a[d++]; if (this.preload.h[c]) { Va.verbose('Preloading asset: ' + c + ' [' + this.types.h[c] + ']', { fileName: 'lime/utils/AssetLibrary.hx', lineNumber: 405, className: 'lime.utils.AssetLibrary', methodName: 'load' }); var f = this.types.h[c]; if (null != f) switch (f) { case 'BINARY': this.assetsTotal++; f = this.loadBytes(c); f.onProgress( (function (a, b) { return function (d, c) { b[0](a[0], d, c); }; })([c], [m(this, this.load_onProgress)]) ); f.onError( (function (a, b) { return function (d) { b[0](a[0], d); }; })([c], [m(this, this.load_onError)]) ); f.onComplete( (function (a, b) { return function (d) { b[0](a[0], d); }; })([c], [m(this, this.loadBytes_onComplete)]) ); break; case 'FONT': this.assetsTotal++; f = this.loadFont(c); f.onProgress( (function (a, b) { return function (d, c) { b[0](a[0], d, c); }; })([c], [m(this, this.load_onProgress)]) ); f.onError( (function (a, b) { return function (d) { b[0](a[0], d); }; })([c], [m(this, this.load_onError)]) ); f.onComplete( (function (a, b) { return function (d) { b[0](a[0], d); }; })([c], [m(this, this.loadFont_onComplete)]) ); break; case 'IMAGE': this.assetsTotal++; f = this.loadImage(c); f.onProgress( (function (a, b) { return function (d, c) { b[0](a[0], d, c); }; })([c], [m(this, this.load_onProgress)]) ); f.onError( (function (a, b) { return function (d) { b[0](a[0], d); }; })([c], [m(this, this.load_onError)]) ); f.onComplete( (function (a, b) { return function (d) { b[0](a[0], d); }; })([c], [m(this, this.loadImage_onComplete)]) ); break; case 'MUSIC': case 'SOUND': this.assetsTotal++; f = this.loadAudioBuffer(c); f.onProgress( (function (a, b) { return function (d, c) { b[0](a[0], d, c); }; })([c], [m(this, this.load_onProgress)]) ); f.onError( (function (a, b) { return function (d) { b[0](a[0], d); }; })([c], [m(this, this.loadAudioBuffer_onError)]) ); f.onComplete( (function (a, b) { return function (d) { b[0](a[0], d); }; })([c], [m(this, this.loadAudioBuffer_onComplete)]) ); break; case 'TEXT': this.assetsTotal++, (f = this.loadText(c)), f.onProgress( (function (a, b) { return function (d, c) { b[0](a[0], d, c); }; })([c], [m(this, this.load_onProgress)]) ), f.onError( (function (a, b) { return function (d) { b[0](a[0], d); }; })([c], [m(this, this.load_onError)]) ), f.onComplete( (function (a, b) { return function (d) { b[0](a[0], d); }; })([c], [m(this, this.loadText_onComplete)]) ); } } } this.__assetLoaded(null); } return this.promise.future; }, loadAudioBuffer: function (a) { return Object.prototype.hasOwnProperty.call(this.cachedAudioBuffers.h, a) ? ib.withValue(this.cachedAudioBuffers.h[a]) : Object.prototype.hasOwnProperty.call(this.classTypes.h, a) ? ib.withValue(ma.createInstance(this.classTypes.h[a], [])) : Object.prototype.hasOwnProperty.call(this.pathGroups.h, a) ? Uc.loadFromFiles(this.pathGroups.h[a]) : Uc.loadFromFile(this.paths.h[a]); }, loadBytes: function (a) { return Object.prototype.hasOwnProperty.call(this.cachedBytes.h, a) ? ib.withValue(this.cachedBytes.h[a]) : Object.prototype.hasOwnProperty.call(this.classTypes.h, a) ? ib.withValue(ma.createInstance(this.classTypes.h[a], [])) : ic.loadFromFile(this.paths.h[a]); }, loadFont: function (a) { return Object.prototype.hasOwnProperty.call(this.cachedFonts.h, a) ? ib.withValue(this.cachedFonts.h[a]) : Object.prototype.hasOwnProperty.call(this.classTypes.h, a) ? ((a = ma.createInstance(this.classTypes.h[a], [])), a.__loadFromName(a.name)) : Md.loadFromName(this.paths.h[a]); }, loadImage: function (a) { var b = this; return Object.prototype.hasOwnProperty.call(this.cachedImages.h, a) ? ib.withValue(this.cachedImages.h[a]) : Object.prototype.hasOwnProperty.call(this.classTypes.h, a) ? ib.withValue(ma.createInstance(this.classTypes.h[a], [])) : Object.prototype.hasOwnProperty.call(this.cachedBytes.h, a) ? Gb.loadFromBytes(this.cachedBytes.h[a]).then(function (d) { var c = b.cachedBytes; Object.prototype.hasOwnProperty.call(c.h, a) && delete c.h[a]; b.cachedImages.h[a] = d; return ib.withValue(d); }) : Gb.loadFromFile(this.paths.h[a]); }, loadText: function (a) { if (Object.prototype.hasOwnProperty.call(this.cachedText.h, a)) return ib.withValue(this.cachedText.h[a]); if ( Object.prototype.hasOwnProperty.call(this.cachedBytes.h, a) || Object.prototype.hasOwnProperty.call(this.classTypes.h, a) ) { var b = this.getBytes(a); if (null == b) return ib.withValue(null); b = b.getString(0, b.length); this.cachedText.h[a] = b; return ib.withValue(b); } return new Tj().load(this.paths.h[a]); }, unload: function () {}, __assetLoaded: function (a) { this.assetsLoaded++; null != a && Va.verbose( 'Loaded asset: ' + a + ' [' + this.types.h[a] + '] (' + (this.assetsLoaded - 1) + '/' + (this.assetsTotal - 1) + ')', { fileName: 'lime/utils/AssetLibrary.hx', lineNumber: 619, className: 'lime.utils.AssetLibrary', methodName: '__assetLoaded' } ); if (null != a) { var b = Object.prototype.hasOwnProperty.call(this.sizes.h, a) ? this.sizes.h[a] : 0; if (Object.prototype.hasOwnProperty.call(this.bytesLoadedCache.h, a)) { var d = this.bytesLoadedCache.h[a]; d < b && (this.bytesLoaded += b - d); } else this.bytesLoaded += b; this.bytesLoadedCache.h[a] = b; } this.assetsLoaded < this.assetsTotal ? this.promise.progress(this.bytesLoaded, this.bytesTotal) : ((this.loaded = !0), this.promise.progress(this.bytesTotal, this.bytesTotal), this.promise.complete(this)); }, __cacheBreak: function (a) { return sa.__cacheBreak(a); }, __fromBundle: function (a, b) { if (null != b) { var d = 0; for (b = b.assets; d < b.length; ) { var c = b[d]; ++d; var f = Object.prototype.hasOwnProperty.call(c, 'id') ? c.id : c.path; var g = a.data.h[c.path]; if (Object.prototype.hasOwnProperty.call(c, 'type')) { var l = c.type; 'TEXT' == l ? (this.cachedText.h[f] = null != g ? z.string(g) : null) : (this.cachedBytes.h[f] = g); this.types.h[f] = c.type; } else (this.cachedBytes.h[f] = g), (this.types.h[f] = 'BINARY'); } } else for (d = 0, b = a.paths; d < b.length; ) (f = b[d]), ++d, (this.cachedBytes.h[f] = a.data.h[f]), (this.types.h[f] = 'BINARY'); }, __fromManifest: function (a) { var b = 2 <= a.version, d = a.rootPath; null == d && (d = ''); '' != d && (d += '/'); for (var c = 0, f = a.assets; c < f.length; ) { var g = f[c]; ++c; var l = b && Object.prototype.hasOwnProperty.call(g, 'size') ? g.size : 100; var q = Object.prototype.hasOwnProperty.call(g, 'id') ? g.id : g.path; if (Object.prototype.hasOwnProperty.call(g, 'path')) { var h = this.paths; var r = this.__cacheBreak(this.__resolvePath(d + z.string(aa.field(g, 'path')))); h.h[q] = r; } if (Object.prototype.hasOwnProperty.call(g, 'pathGroup')) { h = aa.field(g, 'pathGroup'); r = 0; for (var n = h.length; r < n; ) { var p = r++; h[p] = this.__cacheBreak(this.__resolvePath(d + h[p])); } this.pathGroups.h[q] = h; } this.sizes.h[q] = l; this.types.h[q] = g.type; Object.prototype.hasOwnProperty.call(g, 'preload') && (this.preload.h[q] = aa.field(g, 'preload')); Object.prototype.hasOwnProperty.call(g, 'className') && ((l = aa.field(g, 'className')), (l = k[l]), (this.classTypes.h[q] = l)); } c = this.bytesTotal = 0; for (f = a.assets; c < f.length; ) (g = f[c]), ++c, (q = Object.prototype.hasOwnProperty.call(g, 'id') ? g.id : g.path), Object.prototype.hasOwnProperty.call(this.preload.h, q) && this.preload.h[q] && Object.prototype.hasOwnProperty.call(this.sizes.h, q) && (this.bytesTotal += this.sizes.h[q]); }, __resolvePath: function (a) { a = T.replace(a, '\\', '/'); var b = a.indexOf(':'); T.startsWith(a, 'http') && 0 < b ? ((b += 3), (a = C.substr(a, 0, b) + T.replace(C.substr(a, b, null), '//', '/'))) : (a = T.replace(a, '//', '/')); if (-1 < a.indexOf('./')) { a = a.split('/'); b = []; for (var d = 0, c = a.length; d < c; ) { var f = d++; '..' == a[f] ? 0 == f || '..' == b[f - 1] ? b.push('..') : b.pop() : '.' == a[f] ? 0 == f && b.push('.') : b.push(a[f]); } a = b.join('/'); } return a; }, loadAudioBuffer_onComplete: function (a, b) { this.cachedAudioBuffers.h[a] = b; if (Object.prototype.hasOwnProperty.call(this.pathGroups.h, a)) for ( var d = this.pathGroups.h[a], c = Object.keys(this.pathGroups.h), f = c.length, g = 0; g < f; ) { var l = c[g++]; if (l != a) for (var q = 0; q < d.length; ) { var h = d[q]; ++q; if (-1 < this.pathGroups.h[l].indexOf(h)) { this.cachedAudioBuffers.h[l] = b; break; } } } this.__assetLoaded(a); }, loadAudioBuffer_onError: function (a, b) { null != b && '' != b ? Va.warn('Could not load "' + a + '": ' + z.string(b), { fileName: 'lime/utils/AssetLibrary.hx', lineNumber: 865, className: 'lime.utils.AssetLibrary', methodName: 'loadAudioBuffer_onError' }) : Va.warn('Could not load "' + a + '"', { fileName: 'lime/utils/AssetLibrary.hx', lineNumber: 869, className: 'lime.utils.AssetLibrary', methodName: 'loadAudioBuffer_onError' }); this.loadAudioBuffer_onComplete(a, new Uc()); }, loadBytes_onComplete: function (a, b) { this.cachedBytes.h[a] = b; this.__assetLoaded(a); }, loadFont_onComplete: function (a, b) { this.cachedFonts.h[a] = b; this.__assetLoaded(a); }, loadImage_onComplete: function (a, b) { this.cachedImages.h[a] = b; this.__assetLoaded(a); }, loadText_onComplete: function (a, b) { this.cachedText.h[a] = b; this.__assetLoaded(a); }, load_onError: function (a, b) { null != b && '' != b ? this.promise.error('Error loading asset "' + a + '": ' + z.string(b)) : this.promise.error('Error loading asset "' + a + '"'); }, load_onProgress: function (a, b, d) { if (0 < b) { var c = this.sizes.h[a]; 0 < d ? ((b /= d), 1 < b && (b = 1), (b = Math.floor(b * c))) : b > c && (b = c); Object.prototype.hasOwnProperty.call(this.bytesLoadedCache.h, a) ? ((c = this.bytesLoadedCache.h[a]), b != c && (this.bytesLoaded += b - c)) : (this.bytesLoaded += b); this.bytesLoadedCache.h[a] = b; this.promise.progress(this.bytesLoaded, this.bytesTotal); } }, __class__: wb }; var Ic = function () { this.assets = []; this.libraryArgs = []; this.version = 2; }; k['lime.utils.AssetManifest'] = Ic; Ic.__name__ = 'lime.utils.AssetManifest'; Ic.fromBytes = function (a, b) { return null != a ? Ic.parse(a.getString(0, a.length), b) : null; }; Ic.fromFile = function (a, b) { a = Ic.__resolvePath(a); b = Ic.__resolveRootPath(b, a); return null == a ? null : Ic.fromBytes(ic.fromFile(a), b); }; Ic.loadFromBytes = function (a, b) { return ib.withValue(Ic.fromBytes(a, b)); }; Ic.loadFromFile = function (a, b) { a = Ic.__resolvePath(a); b = Ic.__resolveRootPath(b, a); return null == a ? null : ic.loadFromFile(a).then(function (a) { return ib.withValue(Ic.fromBytes(a, b)); }); }; Ic.parse = function (a, b) { if (null == a || '' == a) return null; a = JSON.parse(a); var d = new Ic(); Object.prototype.hasOwnProperty.call(a, 'name') && (d.name = a.name); Object.prototype.hasOwnProperty.call(a, 'libraryType') && (d.libraryType = a.libraryType); Object.prototype.hasOwnProperty.call(a, 'libraryArgs') && (d.libraryArgs = a.libraryArgs); if (Object.prototype.hasOwnProperty.call(a, 'assets')) { var c = a.assets; Object.prototype.hasOwnProperty.call(a, 'version') && 2 >= a.version ? (d.assets = Ge.run(c)) : (d.assets = c); } Object.prototype.hasOwnProperty.call(a, 'rootPath') && (d.rootPath = a.rootPath); null != b && '' != b && (d.rootPath = null == d.rootPath || '' == d.rootPath ? b : b + '/' + d.rootPath); return d; }; Ic.__resolvePath = function (a) { if (null == a) return null; var b = a.indexOf('?'); var d = -1 < b ? C.substr(a, 0, b) : a; for (d = T.replace(d, '\\', '/'); T.endsWith(d, '/'); ) d = C.substr(d, 0, d.length - 1); return T.endsWith(d, '.bundle') ? -1 < b ? d + '/library.json' + C.substr(a, b, null) : d + '/library.json' : a; }; Ic.__resolveRootPath = function (a, b) { if (null != a) return a; a = b.indexOf('?'); a = -1 < a ? C.substr(b, 0, a) : b; for (a = T.replace(a, '\\', '/'); T.endsWith(a, '/'); ) { if ('/' == a) return a; a = C.substr(a, 0, a.length - 1); } return T.endsWith(a, '.bundle') ? a : zh.directory(a); }; Ic.prototype = { assets: null, libraryArgs: null, libraryType: null, name: null, rootPath: null, version: null, serialize: function () { var a = {}; a.version = this.version; a.libraryType = this.libraryType; a.libraryArgs = this.libraryArgs; a.name = this.name; a.assets = ze.run(this.assets); a.rootPath = this.rootPath; return JSON.stringify(a); }, __class__: Ic }; var sa = function () {}; k['lime.utils.Assets'] = sa; sa.__name__ = 'lime.utils.Assets'; sa.exists = function (a, b) { null == b && (b = 'BINARY'); var d = a.indexOf(':'), c = a.substring(0, d); a = a.substring(d + 1); c = sa.getLibrary(c); return null != c ? c.exists(a, b) : !1; }; sa.getAsset = function (a, b, d) { if (d && sa.cache.enabled) switch (b) { case 'BINARY': case 'TEXT': d = !1; break; case 'FONT': var c = sa.cache.font.h[a]; if (null != c) return c; break; case 'IMAGE': c = sa.cache.image.h[a]; if (sa.isValidImage(c)) return c; break; case 'MUSIC': case 'SOUND': c = sa.cache.audio.h[a]; if (sa.isValidAudio(c)) return c; break; case 'TEMPLATE': throw J.thrown('Not sure how to get template: ' + a); default: return null; } var f = a.indexOf(':'); c = a.substring(0, f); f = a.substring(f + 1); var g = sa.getLibrary(c); if (null != g) if (g.exists(f, b)) { if (g.isLocal(f, b)) return (c = g.getAsset(f, b)), d && sa.cache.enabled && sa.cache.set(a, b, c), c; Va.error(b + ' asset "' + a + '" exists, but only asynchronously', { fileName: 'lime/utils/Assets.hx', lineNumber: 133, className: 'lime.utils.Assets', methodName: 'getAsset' }); } else Va.error('There is no ' + b + ' asset with an ID of "' + a + '"', { fileName: 'lime/utils/Assets.hx', lineNumber: 138, className: 'lime.utils.Assets', methodName: 'getAsset' }); else Va.error(sa.__libraryNotFound(c), { fileName: 'lime/utils/Assets.hx', lineNumber: 143, className: 'lime.utils.Assets', methodName: 'getAsset' }); return null; }; sa.getAudioBuffer = function (a, b) { null == b && (b = !0); return sa.getAsset(a, 'SOUND', b); }; sa.getBytes = function (a) { return sa.getAsset(a, 'BINARY', !1); }; sa.getFont = function (a, b) { null == b && (b = !0); return sa.getAsset(a, 'FONT', b); }; sa.getImage = function (a, b) { null == b && (b = !0); return sa.getAsset(a, 'IMAGE', b); }; sa.getLibrary = function (a) { if (null == a || '' == a) a = 'default'; return sa.libraries.h[a]; }; sa.getPath = function (a) { var b = a.indexOf(':'), d = a.substring(0, b); b = a.substring(b + 1); var c = sa.getLibrary(d); if (null != c) { if (c.exists(b, null)) return c.getPath(b); Va.error('There is no asset with an ID of "' + a + '"', { fileName: 'lime/utils/Assets.hx', lineNumber: 224, className: 'lime.utils.Assets', methodName: 'getPath' }); } else Va.error(sa.__libraryNotFound(d), { fileName: 'lime/utils/Assets.hx', lineNumber: 229, className: 'lime.utils.Assets', methodName: 'getPath' }); return null; }; sa.getText = function (a) { return sa.getAsset(a, 'TEXT', !1); }; sa.hasLibrary = function (a) { if (null == a || '' == a) a = 'default'; return Object.prototype.hasOwnProperty.call(sa.libraries.h, a); }; sa.isLocal = function (a, b, d) { null == d && (d = !0); if (d && sa.cache.enabled && sa.cache.exists(a, b)) return !0; var c = a.indexOf(':'); d = a.substring(0, c); a = a.substring(c + 1); d = sa.getLibrary(d); return null != d ? d.isLocal(a, b) : !1; }; sa.isValidAudio = function (a) { return null != a; }; sa.isValidImage = function (a) { return null != a ? null != a.buffer : !1; }; sa.list = function (a) { for (var b = [], d = sa.libraries.h, c = Object.keys(d), f = c.length, g = 0; g < f; ) { var l = d[c[g++]].list(a); null != l && (b = b.concat(l)); } return b; }; sa.loadAsset = function (a, b, d) { if (d && sa.cache.enabled) switch (b) { case 'BINARY': case 'TEXT': d = !1; break; case 'FONT': var c = sa.cache.font.h[a]; if (null != c) return ib.withValue(c); break; case 'IMAGE': c = sa.cache.image.h[a]; if (sa.isValidImage(c)) return ib.withValue(c); break; case 'MUSIC': case 'SOUND': c = sa.cache.audio.h[a]; if (sa.isValidAudio(c)) return ib.withValue(c); break; case 'TEMPLATE': throw J.thrown('Not sure how to get template: ' + a); default: return null; } var f = a.indexOf(':'); c = a.substring(0, f); f = a.substring(f + 1); var g = sa.getLibrary(c); if (null != g) { if (g.exists(f, b)) { c = g.loadAsset(f, b); if (d && sa.cache.enabled) c.onComplete(function (d) { sa.cache.set(a, b, d); }); return c; } return ib.withError('There is no ' + b + ' asset with an ID of "' + a + '"'); } return ib.withError(sa.__libraryNotFound(c)); }; sa.loadAudioBuffer = function (a, b) { null == b && (b = !0); return sa.loadAsset(a, 'SOUND', b); }; sa.loadBytes = function (a) { return sa.loadAsset(a, 'BINARY', !1); }; sa.loadFont = function (a, b) { null == b && (b = !0); return sa.loadAsset(a, 'FONT', b); }; sa.loadImage = function (a, b) { null == b && (b = !0); return sa.loadAsset(a, 'IMAGE', b); }; sa.loadLibrary = function (a) { var b = new $d(), d = sa.getLibrary(a); if (null != d) return d.load(); d = a; var c = null; if (Object.prototype.hasOwnProperty.call(sa.bundlePaths.h, a)) Sf.loadFromFile(sa.bundlePaths.h[a]) .onComplete(function (d) { null == d ? b.error('Cannot load bundle for library "' + a + '"') : ((d = wb.fromBundle(d)), null == d ? b.error('Cannot open library "' + a + '"') : ((sa.libraries.h[a] = d), d.onChange.add(((B = sa.onChange), m(B, B.dispatch))), b.completeWith(d.load()))); }) .onError(function (d) { b.error('There is no asset library with an ID of "' + a + '"'); }); else Object.prototype.hasOwnProperty.call(sa.libraryPaths.h, a) ? ((d = sa.libraryPaths.h[a]), (c = zh.directory(d))) : (T.endsWith(d, '.bundle') ? ((c = d), (d += '/library.json')) : (c = zh.directory(d)), (d = sa.__cacheBreak(d))), Ic.loadFromFile(d, c) .onComplete(function (d) { null == d ? b.error('Cannot parse asset manifest for library "' + a + '"') : ((d = wb.fromManifest(d)), null == d ? b.error('Cannot open library "' + a + '"') : ((sa.libraries.h[a] = d), d.onChange.add(((B = sa.onChange), m(B, B.dispatch))), b.completeWith(d.load()))); }) .onError(function (d) { b.error('There is no asset library with an ID of "' + a + '"'); }); return b.future; }; sa.loadText = function (a) { return sa.loadAsset(a, 'TEXT', !1); }; sa.registerLibrary = function (a, b) { if (Object.prototype.hasOwnProperty.call(sa.libraries.h, a)) { if (sa.libraries.h[a] == b) return; sa.unloadLibrary(a); } null != b && b.onChange.add(sa.library_onChange); sa.libraries.h[a] = b; }; sa.unloadLibrary = function (a) { if (null == a || '' == a) a = 'default'; var b = sa.libraries.h[a]; null != b && (sa.cache.clear(a + ':'), b.onChange.remove(sa.library_onChange), b.unload()); b = sa.libraries; Object.prototype.hasOwnProperty.call(b.h, a) && delete b.h[a]; }; sa.__cacheBreak = function (a) { 0 < sa.cache.version && (a = -1 < a.indexOf('?') ? a + ('&' + sa.cache.version) : a + ('?' + sa.cache.version)); return a; }; sa.__libraryNotFound = function (a) { if (null == a || '' == a) a = 'default'; return null == vd.current || null == vd.current.__preloader || vd.current.__preloader.complete ? 'There is no asset library named "' + a + '"' : 'There is no asset library named "' + a + '", or it is not yet preloaded'; }; sa.library_onChange = function () { sa.cache.clear(); sa.onChange.dispatch(); }; var hz = function (a) { var b = a.indexOf(':'); this.libraryName = a.substring(0, b); this.symbolName = a.substring(b + 1); this.library = sa.getLibrary(this.libraryName); }; k['lime.utils._Assets.LibrarySymbol'] = hz; hz.__name__ = 'lime.utils._Assets.LibrarySymbol'; hz.prototype = { library: null, libraryName: null, symbolName: null, isLocal: function (a) { return this.library.isLocal(this.symbolName, a); }, exists: function (a) { return this.library.exists(this.symbolName, a); }, __class__: hz }; var Wz = { _new: function (a, b) { null == b && (b = 0); return new Tf(a, b); }, set: function (a, b, d, c, f) { null != c && (b = fb.ofData(c)); null != b || null == d ? ((a.bytes = b), (a.offset = null != f ? f : 0)) : ((a.bytes = fb.ofData(d.buffer)), (a.offset = null != f ? d.byteOffset + f : d.byteOffset)); }, __arrayGet: function (a, b) { return null != a.bytes ? a.bytes.b[b + a.offset] : 0; }, __arraySet: function (a, b, d) { null == a.bytes && (a.bytes.b[b + a.offset] = d & 255); return d; }, fromArrayBufferView: function (a) { return null == a ? null : new Tf(fb.ofData(a.buffer), a.byteOffset); }, fromArrayBuffer: function (a) { return null == a ? null : new Tf(fb.ofData(a), 0); }, fromBytes: function (a) { return new Tf(a, 0); }, fromBytesData: function (a) { return null == a ? new Tf(null, 0) : new Tf(fb.ofData(a), 0); }, fromFile: function (a) { return new Tf(ic.fromFile(a), 0); }, fromLimeBytes: function (a) { return new Tf(a, 0); }, toUInt8Array: function (a) { var b = a.bytes.b.bufferValue; a = (a.offset / 8) | 0; null == a && (a = 0); return null != b ? new Uint8Array(b, a) : null; }, toUInt8ClampedArray: function (a) { if (null == a || null == a.bytes) return null; var b = a.bytes.b.bufferValue; a = (a.offset / 8) | 0; null == a && (a = 0); return null != b ? new Uint8ClampedArray(b, a) : null; }, toInt8Array: function (a) { if (null == a || null == a.bytes) return null; var b = a.bytes.b.bufferValue; a = (a.offset / 8) | 0; null == a && (a = 0); return null != b ? new Int8Array(b, a) : null; }, toUInt16Array: function (a) { if (null == a || null == a.bytes) return null; var b = a.bytes.b.bufferValue; a = (a.offset / 16) | 0; null == a && (a = 0); return null != b ? new Uint16Array(b, a) : null; }, toInt16Array: function (a) { if (null == a || null == a.bytes) return null; var b = a.bytes.b.bufferValue; a = (a.offset / 16) | 0; null == a && (a = 0); return null != b ? new Int16Array(b, a) : null; }, toUInt32Array: function (a) { if (null == a || null == a.bytes) return null; var b = a.bytes.b.bufferValue; a = (a.offset / 32) | 0; null == a && (a = 0); return null != b ? new Uint32Array(b, a) : null; }, toInt32Array: function (a) { if (null == a || null == a.bytes) return null; var b = a.bytes.b.bufferValue; a = (a.offset / 32) | 0; null == a && (a = 0); return null != b ? new Int32Array(b, a) : null; }, toFloat32Array: function (a) { if (null == a || null == a.bytes) return null; var b = a.bytes.b.bufferValue; a = (a.offset / 32) | 0; null == a && (a = 0); return null != b ? new Float32Array(b, a) : null; }, toFloat64Array: function (a) { if (null == a || null == a.bytes) return null; var b = a.bytes.b.bufferValue; a = (a.offset / 64) | 0; null == a && (a = 0); return null != b ? new Float64Array(b, a) : null; } }, Tf = function (a, b) { this.bytes = a; this.offset = b; }; k['lime.utils.BytePointerData'] = Tf; Tf.__name__ = 'lime.utils.BytePointerData'; Tf.prototype = { bytes: null, offset: null, __class__: Tf }; var ic = { _new: function (a, b) { return new fb(b); }, alloc: function (a) { return new fb(new ArrayBuffer(a)); }, compress: function (a, b) { switch (b._hx_index) { case 0: return hm.compress(a); case 1: return im.compress(a); case 2: return km.compress(a); case 3: return lm.compress(a); } }, decompress: function (a, b) { switch (b._hx_index) { case 0: return hm.decompress(a); case 1: return im.decompress(a); case 2: return km.decompress(a); case 3: return lm.decompress(a); } }, fastGet: function (a, b) { return a.bytes[b]; }, fromBytes: function (a) { return null == a ? null : ic._new(a.length, a.b.bufferValue); }, fromFile: function (a) { return null; }, loadFromBytes: function (a) { return ib.withValue(ic.fromBytes(a)); }, loadFromFile: function (a) { return new vm().load(a); }, ofData: function (a) { a = fb.ofData(a); return ic._new(a.length, a.b.bufferValue); }, ofString: function (a) { a = fb.ofString(a); return ic._new(a.length, a.b.bufferValue); } }, ae = (N['lime.utils.CompressionAlgorithm'] = { __ename__: 'lime.utils.CompressionAlgorithm', __constructs__: null, DEFLATE: { _hx_name: 'DEFLATE', _hx_index: 0, __enum__: 'lime.utils.CompressionAlgorithm', toString: x }, GZIP: { _hx_name: 'GZIP', _hx_index: 1, __enum__: 'lime.utils.CompressionAlgorithm', toString: x }, LZMA: { _hx_name: 'LZMA', _hx_index: 2, __enum__: 'lime.utils.CompressionAlgorithm', toString: x }, ZLIB: { _hx_name: 'ZLIB', _hx_index: 3, __enum__: 'lime.utils.CompressionAlgorithm', toString: x } }); ae.__constructs__ = [ae.DEFLATE, ae.GZIP, ae.LZMA, ae.ZLIB]; var lf = { _new: function (a) { return a; }, fromFloat: function (a) { return a; }, fromBytesPointer: function (a) { return lf.fromFloat(0); }, fromArrayBufferView: function (a) { return lf.fromFloat(0); }, fromArrayBuffer: function (a) { return lf.fromFloat(0); }, fromBytes: function (a) { return lf.fromFloat(0); }, fromBytesData: function (a) { return lf.fromFloat(0); }, fromLimeBytes: function (a) { return lf.fromBytes(a); }, fromCFFIPointer: function (a) { return lf.fromFloat(0); }, fromFile: function (a) { return lf.fromFloat(0); }, __withOffset: function (a, b) { return lf.fromFloat(0); }, equals: function (a, b) { return a == b; }, equalsPointer: function (a, b) { return a == b; }, greaterThan: function (a, b) { return a > b; }, greaterThanPointer: function (a, b) { return Nd.get(a) > Nd.get(b); }, greaterThanOrEqual: function (a, b) { return a >= b; }, greaterThanOrEqualPointer: function (a, b) { return Nd.get(a) >= Nd.get(b); }, lessThan: function (a, b) { return a < b; }, lessThanPointer: function (a, b) { return Nd.get(a) < Nd.get(b); }, lessThanOrEqual: function (a, b) { return a <= b; }, lessThanOrEqualPointer: function (a, b) { return Nd.get(a) <= Nd.get(b); }, notEquals: function (a, b) { return a != b; }, notEqualsPointer: function (a, b) { return a != b; }, plus: function (a, b) { return lf.__withOffset(a, b); }, plusPointer: function (a, b) { return lf.__withOffset(a, b | 0); }, minus: function (a, b) { return lf.__withOffset(a, -b); }, minusPointer: function (a, b) { return lf.__withOffset(a, -(b | 0)); } }, Xg = { toArrayBufferView: function (a) { return a; }, fromBytes: function (a, b, d) { null == b && (b = 0); return null == b ? new Float32Array(a.b.bufferValue) : null == d ? new Float32Array(a.b.bufferValue, b) : new Float32Array(a.b.bufferValue, b, d); }, toBytes: function (a) { return new fb(new Uint8Array(a.buffer)); }, toString: function (a) { return null != a ? 'Float32Array [byteLength:' + a.byteLength + ', length:' + a.length + ']' : null; } }, Va = function () {}; k['lime.utils.Log'] = Va; Va.__name__ = 'lime.utils.Log'; Va.debug = function (a, b) { 4 <= Va.level && console.debug('[' + b.className + '] ' + z.string(a)); }; Va.error = function (a, b) { if (1 <= Va.level) { a = '[' + b.className + '] ERROR: ' + z.string(a); if (Va.throwErrors) throw J.thrown(a); console.error(a); } }; Va.info = function (a, b) { 3 <= Va.level && console.info('[' + b.className + '] ' + z.string(a)); }; Va.print = function (a) { console.log(a); }; Va.println = function (a) { console.log(a); }; Va.verbose = function (a, b) { 5 <= Va.level && ((a = '[' + b.className + '] ' + z.string(a)), console.log(a)); }; Va.warn = function (a, b) { 2 <= Va.level && console.warn('[' + b.className + '] WARNING: ' + z.string(a)); }; var og = function (a, b) { this.positions = new qa(); this.lengths = new qa(); wb.call(this); this.id = a; this.type = b; }; k['lime.utils.PackedAssetLibrary'] = og; og.__name__ = 'lime.utils.PackedAssetLibrary'; og.fromBytes = function (a, b) { return og.fromManifest(Ic.fromBytes(a, b)); }; og.fromFile = function (a, b) { return og.fromManifest(Ic.fromFile(a, b)); }; og.fromManifest = function (a) { return wb.fromManifest(a); }; og.loadFromBytes = function (a, b) { return wb.loadFromBytes(a, b).then(function (a) { return ib.withValue(a); }); }; og.loadFromFile = function (a, b) { return wb.loadFromFile(a, b).then(function (a) { return ib.withValue(a); }); }; og.loadFromManifest = function (a) { return wb.loadFromManifest(a).then(function (a) { return ib.withValue(a); }); }; og.__super__ = wb; og.prototype = t(wb.prototype, { id: null, lengths: null, packedData: null, positions: null, type: null, rootPath: null, getAudioBuffer: function (a) { return wb.prototype.getAudioBuffer.call(this, a); }, getBytes: function (a) { if (Object.prototype.hasOwnProperty.call(this.cachedBytes.h, a)) return this.cachedBytes.h[a]; if (Object.prototype.hasOwnProperty.call(this.cachedText.h, a)) { var b = ic.ofString(this.cachedText.h[a]); this.cachedBytes.h[a] = b; } else if ( ((b = ic.alloc(this.lengths.h[a])), b.blit(0, this.packedData, this.positions.h[a], this.lengths.h[a]), 'gzip' == this.type) ) b = ic.decompress(b, ae.GZIP); else if ('zip' == this.type || 'deflate' == this.type) b = ic.decompress(b, ae.DEFLATE); return b; }, getFont: function (a) { return wb.prototype.getFont.call(this, a); }, getImage: function (a) { if (Object.prototype.hasOwnProperty.call(this.cachedImages.h, a)) return this.cachedImages.h[a]; var b = ic.alloc(this.lengths.h[a]); b.blit(0, this.packedData, this.positions.h[a], this.lengths.h[a]); if ('gzip' == this.type) b = ic.decompress(b, ae.GZIP); else if ('zip' == this.type || 'deflate' == this.type) b = ic.decompress(b, ae.DEFLATE); return Gb.fromBytes(b); }, getText: function (a) { if (Object.prototype.hasOwnProperty.call(this.cachedText.h, a)) return this.cachedText.h[a]; if ('gzip' == this.type || 'zip' == this.type || 'deflate' == this.type) { var b = ic.alloc(this.lengths.h[a]); b.blit(0, this.packedData, this.positions.h[a], this.lengths.h[a]); if ('gzip' == this.type) b = ic.decompress(b, ae.GZIP); else if ('zip' == this.type || 'deflate' == this.type) b = ic.decompress(b, ae.DEFLATE); return b.getString(0, b.length); } return this.packedData.getString(this.positions.h[a], this.lengths.h[a]); }, isLocal: function (a, b) { return !0; }, load: function () { var a = this; if (this.loaded) return ib.withValue(this); if (null == this.promise) { this.promise = new $d(); var b = function (b) { a.cachedBytes.h[a.id] = b; a.packedData = b; a.assetsLoaded = 0; a.assetsTotal = 1; b = Object.keys(a.preload.h); for (var d = b.length, c = 0; c < d; ) { var e = b[c++]; if (a.preload.h[e]) { Va.verbose('Preloading asset: ' + e + ' [' + a.types.h[e] + ']', { fileName: 'lime/utils/PackedAssetLibrary.hx', lineNumber: 189, className: 'lime.utils.PackedAssetLibrary', methodName: 'load' }); var q = a.types.h[e]; if (null != q) switch (q) { case 'BINARY': a.assetsTotal++; q = a.loadBytes(e); q.onError( (function (a, b) { return function (d) { b[0](a[0], d); }; })([e], [m(a, a.load_onError)]) ); q.onComplete( (function (a, b) { return function (d) { b[0](a[0], d); }; })([e], [m(a, a.loadBytes_onComplete)]) ); break; case 'FONT': a.assetsTotal++; q = a.loadFont(e); q.onError( (function (a, b) { return function (d) { b[0](a[0], d); }; })([e], [m(a, a.load_onError)]) ); q.onComplete( (function (a, b) { return function (d) { b[0](a[0], d); }; })([e], [m(a, a.loadFont_onComplete)]) ); break; case 'IMAGE': a.assetsTotal++; q = a.loadImage(e); q.onError( (function (a, b) { return function (d) { b[0](a[0], d); }; })([e], [m(a, a.load_onError)]) ); q.onComplete( (function (a, b) { return function (d) { b[0](a[0], d); }; })([e], [m(a, a.loadImage_onComplete)]) ); break; case 'MUSIC': case 'SOUND': a.assetsTotal++; q = a.loadAudioBuffer(e); q.onError( (function (a, b) { return function (d) { b[0](a[0], d); }; })([e], [m(a, a.load_onError)]) ); q.onComplete( (function (a, b) { return function (d) { b[0](a[0], d); }; })([e], [m(a, a.loadAudioBuffer_onComplete)]) ); break; case 'TEXT': a.assetsTotal++, (q = a.loadText(e)), q.onError( (function (a, b) { return function (d) { b[0](a[0], d); }; })([e], [m(a, a.load_onError)]) ), q.onComplete( (function (a, b) { return function (d) { b[0](a[0], d); }; })([e], [m(a, a.loadText_onComplete)]) ); } } } a.__assetLoaded(null); }; if (Object.prototype.hasOwnProperty.call(this.cachedBytes.h, this.id)) b(this.cachedBytes.h[this.id]); else { var d = this.rootPath; null == d && (d = ''); '' == d || T.endsWith(d, '/') || (d += '/'); d += Object.prototype.hasOwnProperty.call(this.paths.h, this.id) ? this.paths.h[this.id] : this.id; d = this.__cacheBreak(d); ic.loadFromFile(d) .onError(((B = this.promise), m(B, B.error))) .onComplete(b); } } return this.promise.future; }, loadAudioBuffer: function (a) { return wb.prototype.loadAudioBuffer.call(this, a); }, loadBytes: function (a) { if (Object.prototype.hasOwnProperty.call(this.cachedBytes.h, a)) return ib.withValue(this.cachedBytes.h[a]); var b = ic.alloc(this.lengths.h[a]); b.blit(0, this.packedData, this.positions.h[a], this.lengths.h[a]); if ('gzip' == this.type) b = ic.decompress(b, ae.GZIP); else if ('zip' == this.type || 'deflate' == this.type) b = ic.decompress(b, ae.DEFLATE); return ib.withValue(b); }, loadFont: function (a) { return wb.prototype.loadFont.call(this, a); }, loadImage: function (a) { if (Object.prototype.hasOwnProperty.call(this.cachedImages.h, a)) return ib.withValue(this.cachedImages.h[a]); var b = ic.alloc(this.lengths.h[a]); b.blit(0, this.packedData, this.positions.h[a], this.lengths.h[a]); if ('gzip' == this.type) b = ic.decompress(b, ae.GZIP); else if ('zip' == this.type || 'deflate' == this.type) b = ic.decompress(b, ae.DEFLATE); return Gb.loadFromBytes(b); }, loadText: function (a) { if (Object.prototype.hasOwnProperty.call(this.cachedText.h, a)) return ib.withValue(this.cachedText.h[a]); if (Object.prototype.hasOwnProperty.call(this.cachedBytes.h, a)) { var b = this.getBytes(a); if (null == b) return ib.withValue(null); b = b.getString(0, b.length); this.cachedText.h[a] = b; return ib.withValue(b); } if ('gzip' == this.type || 'deflate' == this.type) { b = ic.alloc(this.lengths.h[a]); b.blit(0, this.packedData, this.positions.h[a], this.lengths.h[a]); if ('gzip' == this.type) b = ic.decompress(b, ae.GZIP); else if ('zip' == this.type || 'deflate' == this.type) b = ic.decompress(b, ae.DEFLATE); return ib.withValue(b.getString(0, b.length)); } return ib.withValue(this.packedData.getString(this.positions.h[a], this.lengths.h[a])); }, unload: function () {}, __fromManifest: function (a) { this.rootPath = a.rootPath; wb.prototype.__fromManifest.call(this, a); var b = 0; for (a = a.assets; b < a.length; ) { var d = a[b]; ++b; Object.prototype.hasOwnProperty.call(d, 'position') && (this.positions.h[d.id] = aa.field(d, 'position')); Object.prototype.hasOwnProperty.call(d, 'length') && (this.lengths.h[d.id] = aa.field(d, 'length')); } }, __assetLoaded: function (a) { this.assetsLoaded++; null != a && Va.verbose( 'Loaded asset: ' + a + ' [' + this.types.h[a] + '] (' + (this.assetsLoaded - 1) + '/' + (this.assetsTotal - 1) + ')', { fileName: 'lime/utils/PackedAssetLibrary.hx', lineNumber: 426, className: 'lime.utils.PackedAssetLibrary', methodName: '__assetLoaded' } ); this.assetsLoaded >= this.assetsTotal && ((this.loaded = !0), this.promise.complete(this)); }, __class__: og }); var zo = function () { this.bytesTotalCache = new qa(); this.bytesLoadedCache2 = new qa(); this.bytesLoadedCache = new Jc(); this.onProgress = new mm(); this.onComplete = new Ld(); this.bytesTotal = this.bytesLoaded = 0; this.libraries = []; this.libraryNames = []; this.onProgress.add(m(this, this.update)); }; k['lime.utils.Preloader'] = zo; zo.__name__ = 'lime.utils.Preloader'; zo.prototype = { complete: null, onComplete: null, onProgress: null, bytesLoaded: null, bytesLoadedCache: null, bytesLoadedCache2: null, bytesTotal: null, bytesTotalCache: null, initLibraryNames: null, libraries: null, libraryNames: null, loadedLibraries: null, loadedStage: null, preloadComplete: null, preloadStarted: null, simulateProgress: null, addLibrary: function (a) { this.libraries.push(a); }, addLibraryName: function (a) { -1 == this.libraryNames.indexOf(a) && this.libraryNames.push(a); }, load: function () { for (var a = this, b = 0, d = this.libraries; b < d.length; ) { var c = d[b]; ++b; this.bytesTotal += c.bytesTotal; } this.loadedLibraries = -1; this.preloadStarted = !1; b = 0; for (d = this.libraries; b < d.length; ) (c = [d[b]]), ++b, Va.verbose('Preloading asset library', { fileName: 'lime/utils/Preloader.hx', lineNumber: 132, className: 'lime.utils.Preloader', methodName: 'load' }), c[0] .load() .onProgress( (function (b) { return function (d, c) { a.bytesLoaded = null == a.bytesLoadedCache.h.__keys__[b[0].__id__] ? a.bytesLoaded + d : a.bytesLoaded + (d - a.bytesLoadedCache.h[b[0].__id__]); a.bytesLoadedCache.set(b[0], d); a.simulateProgress || a.onProgress.dispatch(a.bytesLoaded, a.bytesTotal); }; })(c) ) .onComplete( (function (b) { return function (d) { a.bytesLoaded = null == a.bytesLoadedCache.h.__keys__[b[0].__id__] ? a.bytesLoaded + b[0].bytesTotal : a.bytesLoaded + (b[0].bytesTotal - a.bytesLoadedCache.h[b[0].__id__]); a.loadedAssetLibrary(); }; })(c) ) .onError( (function () { return function (a) { Va.error(a, { fileName: 'lime/utils/Preloader.hx', lineNumber: 168, className: 'lime.utils.Preloader', methodName: 'load' }); }; })() ); b = 0; for (d = this.libraryNames; b < d.length; ) ++b, (this.bytesTotal += 200); this.loadedLibraries++; this.preloadStarted = !0; this.updateProgress(); }, loadedAssetLibrary: function (a) { this.loadedLibraries++; var b = this.loadedLibraries; this.preloadStarted || ++b; var d = this.libraries.length + this.libraryNames.length; null != a ? Va.verbose('Loaded asset library: ' + a + ' [' + b + '/' + d + ']', { fileName: 'lime/utils/Preloader.hx', lineNumber: 195, className: 'lime.utils.Preloader', methodName: 'loadedAssetLibrary' }) : Va.verbose('Loaded asset library [' + b + '/' + d + ']', { fileName: 'lime/utils/Preloader.hx', lineNumber: 199, className: 'lime.utils.Preloader', methodName: 'loadedAssetLibrary' }); this.updateProgress(); }, start: function () { this.complete || this.simulateProgress || !this.preloadComplete || ((this.complete = !0), this.onComplete.dispatch()); }, update: function (a, b) {}, updateProgress: function () { var a = this; this.simulateProgress || this.onProgress.dispatch(this.bytesLoaded, this.bytesTotal); if (this.loadedLibraries == this.libraries.length && !this.initLibraryNames) { this.initLibraryNames = !0; for (var b = 0, d = this.libraryNames; b < d.length; ) { var c = [d[b]]; ++b; Va.verbose('Preloading asset library: ' + c[0], { fileName: 'lime/utils/Preloader.hx', lineNumber: 236, className: 'lime.utils.Preloader', methodName: 'updateProgress' }); sa.loadLibrary(c[0]) .onProgress( (function (b) { return function (d, c) { 0 < c && (Object.prototype.hasOwnProperty.call(a.bytesTotalCache.h, b[0]) || ((a.bytesTotalCache.h[b[0]] = c), (a.bytesTotal += c - 200)), d > c && (d = c), Object.prototype.hasOwnProperty.call(a.bytesLoadedCache2.h, b[0]) ? (a.bytesLoaded += d - a.bytesLoadedCache2.h[b[0]]) : (a.bytesLoaded += d), (a.bytesLoadedCache2.h[b[0]] = d), a.simulateProgress || a.onProgress.dispatch(a.bytesLoaded, a.bytesTotal)); }; })(c) ) .onComplete( (function (b) { return function (d) { d = 200; Object.prototype.hasOwnProperty.call(a.bytesTotalCache.h, b[0]) && (d = a.bytesTotalCache.h[b[0]]); Object.prototype.hasOwnProperty.call(a.bytesLoadedCache2.h, b[0]) ? (a.bytesLoaded += d - a.bytesLoadedCache2.h[b[0]]) : (a.bytesLoaded += d); a.loadedAssetLibrary(b[0]); }; })(c) ) .onError( (function () { return function (a) { Va.error(a, { fileName: 'lime/utils/Preloader.hx', lineNumber: 290, className: 'lime.utils.Preloader', methodName: 'updateProgress' }); }; })() ); } } this.simulateProgress || this.loadedLibraries != this.libraries.length + this.libraryNames.length || (this.preloadComplete || ((this.preloadComplete = !0), Va.verbose('Preload complete', { fileName: 'lime/utils/Preloader.hx', lineNumber: 301, className: 'lime.utils.Preloader', methodName: 'updateProgress' })), this.start()); }, __class__: zo }; var xi = function (a, b, d) { this.name = a; this.type = b; this.address = d; }; k['mbs.core.MbsField'] = xi; xi.__name__ = 'mbs.core.MbsField'; xi.prototype = { name: null, type: null, address: null, getName: function () { return this.name; }, getType: function () { return this.type; }, getAddress: function () { return this.address; }, __class__: xi }; var ym = function (a, b, d) { xi.call(this, a, null, d); this.typeName = b; }; k['mbs.core.reflect.SubstituteField'] = ym; ym.__name__ = 'mbs.core.reflect.SubstituteField'; ym.__super__ = xi; ym.prototype = t(xi.prototype, { typeName: null, toString: function () { return ( 'MbsField [name=' + this.getName() + ', typeName=' + this.typeName + ', address=' + this.address + ']' ); }, __class__: ym }); var Mi = function (a, b, d, c) { yb.call(this, a); this.parentName = b; this.fields = d.slice(0); this.size = c; }; k['mbs.core.reflect.SubstituteType'] = Mi; Mi.__name__ = 'mbs.core.reflect.SubstituteType'; Mi.__super__ = yb; Mi.prototype = t(yb.prototype, { parentName: null, mapTypes: function (a) { this.parent = a.h[this.parentName]; if (null != this.fields) for (var b = 0, d = this.fields.length; b < d; ) { var c = b++; c = this.fields[c]; c.type = a.h[c.typeName]; } }, __class__: Mi }); var de = function () {}; k['mbs.io.MbsDynamicHelper'] = de; de.__name__ = 'mbs.io.MbsDynamicHelper'; de.writeDynamic = function (a, b, d) { null == d && a.writeTypecode(b, M.NULL); 'boolean' == typeof d ? (a.writeTypecode(b, M.BOOLEAN), a.writeBool(b + M.INTEGER.getSize(), d)) : 'number' == typeof d ? (a.writeTypecode(b, M.FLOAT), a.writeFloat(b + M.INTEGER.getSize(), d)) : 'number' == typeof d && (d | 0) === d ? (a.writeTypecode(b, M.INTEGER), a.writeInt(b + M.INTEGER.getSize(), d)) : 'string' == typeof d ? (a.writeTypecode(b, M.STRING), a.writeString(b + M.INTEGER.getSize(), d)) : (a.writeTypecode(b, d.getMbsType()), a.writeInt(b + M.INTEGER.getSize(), d.getAddress())); }; de.readDynamic = function (a, b) { var d = a.readTypecode(b); if (d == M.NULL) return null; if (d == M.BOOLEAN) return a.readBool(b + M.INTEGER.getSize()); if (d == M.FLOAT) return a.readFloat(b + M.INTEGER.getSize()); if (d == M.INTEGER) return a.readInt(b + M.INTEGER.getSize()); if (d == M.STRING) return a.readString(b + M.INTEGER.getSize()); if (d == M.LIST) return ( (b = a.readInt(b + M.INTEGER.getSize())), 0 != b ? ((d = a.readTypecode(b + M.INTEGER.getSize())), (a = d == M.BOOLEAN ? new Uj(a) : d == M.FLOAT ? new Vj(a) : d == M.INTEGER ? new Lf(a) : d == M.STRING ? new Wj(a) : d == M.DYNAMIC ? new uh(a) : new Wa(a, d, d.createInstance(a))), a.setAddress(b), a) : null ); d = d.createInstance(a); d.setAddress(a.readInt(b + M.INTEGER.getSize())); return d; }; de.createObjectPool = function (a) { return new Jc(); }; de.readDynamicUsingPool = function (a, b, d) { var c = a.readTypecode(b); if (c == M.NULL) return null; if (c == M.BOOLEAN) return a.readBool(b + M.INTEGER.getSize()); if (c == M.FLOAT) return a.readFloat(b + M.INTEGER.getSize()); if (c == M.INTEGER) return a.readInt(b + M.INTEGER.getSize()); if (c == M.STRING) return a.readString(b + M.INTEGER.getSize()); if (c == M.LIST) return ( (b = a.readInt(b + M.INTEGER.getSize())), 0 != b ? ((c = a.readTypecode(b + M.INTEGER.getSize())), (a = c == M.BOOLEAN ? new Uj(a) : c == M.FLOAT ? new Vj(a) : c == M.INTEGER ? new Lf(a) : c == M.STRING ? new Wj(a) : c == M.DYNAMIC ? new uh(a) : new Wa(a, c, c.createInstance(a))), a.setAddress(b), a) : null ); var f = d.h[c.__id__]; null == f && ((f = c.createInstance(a)), d.set(c, f)); f.setAddress(a.readInt(b + M.INTEGER.getSize())); return f; }; var zm = function () {}; k['mbs.io.MbsIO'] = zm; zm.__name__ = 'mbs.io.MbsIO'; zm.__isInterface__ = !0; zm.prototype = { readBool: null, readFloat: null, readInt: null, readString: null, writeInt: null, writeBool: null, writeFloat: null, writeString: null, isReader: null, isWriter: null, allocate: null, writeTypecode: null, readTypecode: null, __class__: zm }; var zz = function () {}; k['mbs.io.MbsInternalVersion'] = zz; zz.__name__ = 'mbs.io.MbsInternalVersion'; var ke = function (a, b) { this.data = a; null != b && ((this.type = b), (this.elementSize = b.getSize())); }; k['mbs.io.MbsListBase'] = ke; ke.__name__ = 'mbs.io.MbsListBase'; ke.__super__ = lb; ke.prototype = t(lb.prototype, { type: null, elementAddress: null, elementSize: null, _length: null, setAddress: function (a) { lb.prototype.setAddress.call(this, a); this.data.isReader() && (0 != a ? ((this._length = this.data.readInt(a)), (this.type = this.data.readTypecode(a + M.INTEGER.getSize())), (this.elementSize = this.type.getSize()), (this.elementAddress = a + 2 * M.INTEGER.getSize())) : ((this.type = null), (this.elementAddress = this.elementSize = this._length = 0))); }, allocateNew: function (a) { if (this.data.isWriter()) return ( (this._length = a), (this.address = this.data.allocate(2 * M.INTEGER.getSize() + this.elementSize * a)), this.data.writeInt(this.address, a), this.data.writeTypecode(this.address + M.INTEGER.getSize(), this.type), (this.elementAddress = this.address + 2 * M.INTEGER.getSize()), this.address ); throw J.thrown("Can't allocate new objects when reading"); }, length: function () { return this._length; }, __class__: ke }); var Wa = function (a, b, d) { ke.call(this, a, b); this.obj = d; }; k['mbs.io.MbsList'] = Wa; Wa.__name__ = 'mbs.io.MbsList'; Wa.__super__ = ke; Wa.prototype = t(ke.prototype, { obj: null, getNextObject: function () { this.obj.setAddress(this.elementAddress); this.elementAddress += this.elementSize; return this.obj; }, __class__: Wa }); var Uj = function (a) { ke.call(this, a, M.BOOLEAN); }; k['mbs.io.MbsBoolList'] = Uj; Uj.__name__ = 'mbs.io.MbsBoolList'; Uj.__super__ = ke; Uj.prototype = t(ke.prototype, { readBool: function () { var a = this.data.readBool(this.elementAddress); this.elementAddress += this.elementSize; return a; }, writeBool: function (a) { this.data.writeBool(this.elementAddress, a); this.elementAddress += this.elementSize; }, __class__: Uj }); var Vj = function (a) { ke.call(this, a, M.FLOAT); }; k['mbs.io.MbsFloatList'] = Vj; Vj.__name__ = 'mbs.io.MbsFloatList'; Vj.__super__ = ke; Vj.prototype = t(ke.prototype, { readFloat: function () { var a = this.data.readFloat(this.elementAddress); this.elementAddress += this.elementSize; return a; }, writeFloat: function (a) { this.data.writeFloat(this.elementAddress, a); this.elementAddress += this.elementSize; }, __class__: Vj }); var Lf = function (a) { ke.call(this, a, M.INTEGER); }; k['mbs.io.MbsIntList'] = Lf; Lf.__name__ = 'mbs.io.MbsIntList'; Lf.__super__ = ke; Lf.prototype = t(ke.prototype, { readInt: function () { var a = this.data.readInt(this.elementAddress); this.elementAddress += this.elementSize; return a; }, writeInt: function (a) { this.data.writeInt(this.elementAddress, a); this.elementAddress += this.elementSize; }, __class__: Lf }); var Wj = function (a) { ke.call(this, a, M.STRING); }; k['mbs.io.MbsStringList'] = Wj; Wj.__name__ = 'mbs.io.MbsStringList'; Wj.__super__ = ke; Wj.prototype = t(ke.prototype, { readString: function () { var a = this.data.readString(this.elementAddress); this.elementAddress += this.elementSize; return a; }, writeString: function (a) { this.data.writeString(this.elementAddress, a); this.elementAddress += this.elementSize; }, __class__: Wj }); var uh = function (a) { ke.call(this, a, M.DYNAMIC); }; k['mbs.io.MbsDynamicList'] = uh; uh.__name__ = 'mbs.io.MbsDynamicList'; uh.__super__ = ke; uh.prototype = t(ke.prototype, { readObject: function () { var a = de.readDynamic(this.data, this.elementAddress); this.elementAddress += this.elementSize; return a; }, readObjectUsingPool: function (a) { a = de.readDynamicUsingPool(this.data, this.elementAddress, a); this.elementAddress += this.elementSize; return a; }, writeObject: function (a) { de.writeDynamic(this.data, this.elementAddress, a); this.elementAddress += this.elementSize; }, __class__: uh }); var Rg = function (a, b, d) { this.typedefSet = a; this.readStoredTypeInformation = b; this.initStringList = d; this.header = new vc(this); this.header.setAddress(0); }; k['mbs.io.MbsReader'] = Rg; Rg.__name__ = 'mbs.io.MbsReader'; Rg.__interfaces__ = [zm]; Rg.prototype = { data: null, stringTable: null, typeTable: null, rootAddress: null, subTypeMap: null, initStringList: null, stringTableAddress: null, readStoredTypeInformation: null, typedefSet: null, header: null, canRead: function (a) { var b = null; if (null == a || a.length < this.header.getMbsType().getSize()) b = 'Missing header'; this.data = a; 2 != this.header.getVersion() && (b = 'Mismatched version -- ' + this.header.getVersion()); this.header.getTypeTableHash() != this.typedefSet.getHash() && (b = 'Mismatched typetable'); this.readStoredTypeInformation && 0 == this.header.getTypeTablePointer() && (b = 'Missing required type information'); this.data = null; return b; }, readData: function (a) { this.data = a; if (2 != this.header.getVersion()) throw J.thrown("Can't read mbs. Wrong version."); if (this.header.getTypeTableHash() != this.typedefSet.getHash()) throw J.thrown("Can't read mbs. Wrong typedef info."); var b = M.INTEGER.getSize(); this.stringTableAddress = this.header.getStringTablePointer(); var d = Array(this.readInt(this.stringTableAddress)); this.stringTable = d; if (this.initStringList) { var c = this.stringTableAddress + b; for (var f = 0, g = this.stringTable.length; f < g; ) { var l = f++, q = this.readInt(c), h = this.readInt(q); this.stringTable[l] = a.getString(q + 4, h); c += b; } } if (this.readStoredTypeInformation) { a = new Nc(this); c = this.header.getTypeTablePointer(); this.typeTable = d = Array(this.readInt(c)); c += b; this.subTypeMap = new qa(); q = Object.create(null); l = M.BOOLEAN; q[l.getName()] = l; l = M.INTEGER; q[l.getName()] = l; l = M.FLOAT; q[l.getName()] = l; l = M.STRING; q[l.getName()] = l; l = M.DYNAMIC; q[l.getName()] = l; l = M.LIST; q[l.getName()] = l; f = 0; for (g = this.typeTable.length; f < g; ) { l = f++; a.setAddress(this.readInt(c)); c += b; h = a.getName(); var r = a.getParent(), k = a.getSize(); d = null; var p = a.getFieldsPointer(); if (0 != p) { var n = this.readInt(p); p += b; d = Array(n); for (var u = new Zc(this), m = 0; m < n; ) { var t = m++; u.setAddress(p); p += Zc.MBS_FIELD_INFO.getSize(); var x = u.getName(), v = u.getType(), G = u.getFieldAddress(); d[t] = new ym(x, v, G); } } Object.prototype.hasOwnProperty.call(q, h) ? (this.typeTable[l] = q[h]) : (this.typeTable[l] = new Mi(h, r, d, k)); this.subTypeMap.h[h] = this.typeTable[l]; } f = 0; for (g = this.typeTable.length; f < g; ) (l = f++), this.typeTable[l] instanceof Mi && w.__cast(this.typeTable[l], Mi).mapTypes(this.subTypeMap); } else for ( this.typeTable = d = Array(this.typedefSet.getTypes().length), f = 0, g = this.typedefSet.getTypes(); f < g.length; ) (l = g[f]), ++f, (this.typeTable[this.typedefSet.getTypecode(l)] = l); }, reconfigureComposition: function (a) { var b = this.subTypeMap, d = a.getName(); if (Object.prototype.hasOwnProperty.call(b.h, d)) { b = this.subTypeMap; d = a.getName(); var c = b.h[d]; b = Object.create(null); d = 0; for (c = c.getFields(); d < c.length; ) { var f = c[d]; ++d; b[f.getName()] = f; } d = 0; for (c = a.getFields(); d < c.length; ) (f = c[d]), ++d, (f.address = b[f.getName()].address); } }, getRoot: function () { return this.header.getRoot(); }, readInt: function (a) { return ( (this.data.b[a] << 24) | (this.data.b[a + 1] << 16) | (this.data.b[a + 2] << 8) | this.data.b[a + 3] ); }, readBool: function (a) { return 0 != this.data.b[a]; }, readFloat: function (a) { return Zd.i32ToFloat(this.readInt(a)); }, readString: function (a) { if (this.initStringList) return this.stringTable[this.readInt(a)]; a = this.readInt(a); if (null == this.stringTable[a]) { var b = this.readInt(this.stringTableAddress + M.INTEGER.getSize() * (a + 1)), d = this.readInt(b); this.stringTable[a] = this.data.getString(b + 4, d); } return this.stringTable[a]; }, readTypecode: function (a) { return this.typeTable[this.readInt(a)]; }, getTypeTable: function () { return this.typeTable; }, writeInt: function (a, b) { throw J.thrown("Can't write on an MBS reader"); }, writeBool: function (a, b) { throw J.thrown("Can't write on an MBS reader"); }, writeFloat: function (a, b) { throw J.thrown("Can't write on an MBS reader"); }, writeString: function (a, b) { throw J.thrown("Can't write on an MBS reader"); }, isReader: function () { return !0; }, isWriter: function () { return !1; }, allocate: function (a) { throw J.thrown("Can't allocate on an MBS reader"); }, writeTypecode: function (a, b) { throw J.thrown("Can't write on an MBS reader"); }, __class__: Rg }; var Oa = function () {}; k['openfl.Lib'] = Oa; Oa.__name__ = 'openfl.Lib'; Oa.__properties__ = { get_current: 'get_current', get_application: 'get_application' }; Oa.as = function (a, b) { return w.__instanceof(a, b) ? a : null; }; Oa.attach = function (a) { return new pg(); }; Oa.clearInterval = function (a) { Oa.__timers.h.hasOwnProperty(a) && (Oa.__timers.h[a].stop(), Oa.__timers.remove(a)); }; Oa.clearTimeout = function (a) { Oa.__timers.h.hasOwnProperty(a) && (Oa.__timers.h[a].stop(), Oa.__timers.remove(a)); }; Oa.getDefinitionByName = function (a) { return null == a ? null : k[a]; }; Oa.getQualifiedClassName = function (a) { if (null == a) return null; var b = w.__instanceof(a, My) ? a : w.getClass(a); return null == b ? 'boolean' == typeof a || a == jb ? 'Bool' : ('number' == typeof a && (a | 0) === a) || a == nb ? 'Int' : 'number' == typeof a || a == ob ? 'Float' : null : b.__name__; }; Oa.getQualifiedSuperclassName = function (a) { if (null == a) return null; a = w.__instanceof(a, My) ? a : w.getClass(a); if (null == a) return null; a = a.__super__; return null == a ? null : a.__name__; }; Oa.getTimer = function () { return Ua.getTimer(); }; Oa.getURL = function (a, b) { Oa.navigateToURL(a, b); }; Oa.navigateToURL = function (a, b) { null == b && (b = '_blank'); var d = a.url; if (ma.typeof(a.data) == sb.TObject) { for (var c = '', f = aa.fields(a.data), g = 0; g < f.length; ) { var l = f[g]; ++g; 0 < c.length && (c += '&'); var q = encodeURIComponent(l) + '='; l = z.string(aa.field(a.data, l)); c += q + encodeURIComponent(l); } d = -1 < d.indexOf('?') ? d + ('&' + c) : d + ('?' + c); } Ua.openURL(d, b); }; Oa.notImplemented = function (a) { var b = a.className + '.' + a.methodName; Object.prototype.hasOwnProperty.call(Oa.__sentWarnings.h, b) || ((Oa.__sentWarnings.h[b] = !0), Va.warn(a.methodName + ' is not implemented', a)); }; Oa.preventDefaultTouchMove = function () { window.document.addEventListener( 'touchmove', function (a) { a.preventDefault(); }, !1 ); }; Oa.sendToURL = function (a) { new rh().load(a); }; Oa.setInterval = function (a, b, d) { var c = ++Oa.__lastTimerID; b = new Ne(b); Oa.__timers.h[c] = b; b.run = function () { a.apply(a, null == d ? [] : d); }; return c; }; Oa.setTimeout = function (a, b, d) { var c = ++Oa.__lastTimerID, f = Oa.__timers; b = Ne.delay(function () { a.apply(a, null == d ? [] : d); }, b); f.h[c] = b; return c; }; Oa.trace = function (a) { ih.trace(a, { fileName: 'openfl/Lib.hx', lineNumber: 565, className: 'openfl.Lib', methodName: 'trace' }); }; Oa.get_application = function () { return Dc.application; }; Oa.get_current = function () { null == Dc.current && (Dc.current = new pg()); return Dc.current; }; var $g = function () {}; k['openfl._Vector.IVector'] = $g; $g.__name__ = 'openfl._Vector.IVector'; $g.__isInterface__ = !0; $g.prototype = { get_length: null, set_length: null, fixed: null, concat: null, copy: null, filter: null, get: null, indexOf: null, insertAt: null, iterator: null, join: null, lastIndexOf: null, pop: null, push: null, removeAt: null, reverse: null, set: null, shift: null, slice: null, sort: null, splice: null, toString: null, unshift: null, __class__: $g, __properties__: { set_length: 'set_length', get_length: 'get_length' } }; var Cf = function (a, b, d) { null == b && (b = !1); null == a && (a = 0); null == d && (d = []); this.__array = d; 0 < a && this.set_length(a); this.fixed = b; }; k['openfl._Vector.BoolVector'] = Cf; Cf.__name__ = 'openfl._Vector.BoolVector'; Cf.__interfaces__ = [$g]; Cf.prototype = { fixed: null, __array: null, concat: function (a) { return null == a ? new Cf(0, !1, this.__array.slice()) : 0 < a.__array.length ? new Cf(0, !1, this.__array.concat(a.__array)) : new Cf(0, !1, this.__array.slice()); }, copy: function () { return new Cf(0, this.fixed, this.__array.slice()); }, filter: function (a) { for (var b = this.fixed, d = [], c = 0, f = this.__array; c < f.length; ) { var g = f[c]; ++c; a(g) && d.push(g); } return new Cf(0, b, d); }, get: function (a) { return a >= this.__array.length ? !1 : this.__array[a]; }, indexOf: function (a, b) { null == b && (b = 0); for (var d = this.__array.length; b < d; ) { var c = b++; if (this.__array[c] == a) return c; } return -1; }, insertAt: function (a, b) { (!this.fixed || a < this.__array.length) && this.__array.splice(a, 0, b); }, iterator: function () { return new Ie(this.__array); }, join: function (a) { null == a && (a = ','); return this.__array.join(a); }, lastIndexOf: function (a, b) { for (b = null == b || b >= this.__array.length ? this.__array.length - 1 : b; 0 <= b; ) { if (this.__array[b] == a) return b; --b; } return -1; }, pop: function () { return this.fixed ? null : this.__array.pop(); }, push: function (a) { return this.fixed ? this.__array.length : this.__array.push(a); }, removeAt: function (a) { return !this.fixed || a < this.__array.length ? this.__array.splice(a, 1)[0] : !1; }, reverse: function () { this.__array.reverse(); return this; }, set: function (a, b) { return !this.fixed || a < this.__array.length ? (this.__array[a] = b) : b; }, shift: function () { return this.fixed ? null : this.__array.shift(); }, slice: function (a, b) { null == a && (a = 0); null == b && (b = 16777215); return new Cf(0, !1, this.__array.slice(a, b)); }, sort: function (a) { this.__array.sort(a); }, splice: function (a, b) { return new Cf(0, !1, this.__array.splice(a, b)); }, toJSON: function () { return this.__array; }, toString: function () { return null != this.__array ? this.__array.toString() : null; }, unshift: function (a) { this.fixed || this.__array.unshift(a); }, get_length: function () { return this.__array.length; }, set_length: function (a) { if (!this.fixed) { var b = this.__array.length; 0 > a && (a = 0); if (a > b) for (; b < a; ) { var d = b++; this.__array[d] = !1; } else for (; this.__array.length > a; ) this.__array.pop(); } return this.__array.length; }, __class__: Cf, __properties__: { set_length: 'set_length', get_length: 'get_length' } }; var Ef = function (a, b, d, c) { null == c && (c = !1); null == b && (b = !1); null == a && (a = 0); if (c) { if (((this.__array = []), null != d)) { c = 0; for (var e = d.length; c < e; ) { var g = c++; this.__array[g] = d[g]; } } } else null == d && (d = []), (this.__array = d); 0 < a && this.set_length(a); this.fixed = b; }; k['openfl._Vector.FloatVector'] = Ef; Ef.__name__ = 'openfl._Vector.FloatVector'; Ef.__interfaces__ = [$g]; Ef.prototype = { fixed: null, __array: null, concat: function (a) { return null == a ? new Ef(0, !1, this.__array.slice()) : 0 < a.__array.length ? new Ef(0, !1, this.__array.concat(a.__array)) : new Ef(0, !1, this.__array.slice()); }, copy: function () { return new Ef(0, this.fixed, this.__array.slice()); }, filter: function (a) { for (var b = this.fixed, d = [], c = 0, f = this.__array; c < f.length; ) { var g = f[c]; ++c; a(g) && d.push(g); } return new Ef(0, b, d); }, get: function (a) { return this.__array[a]; }, indexOf: function (a, b) { null == b && (b = 0); for (var d = this.__array.length; b < d; ) { var c = b++; if (this.__array[c] == a) return c; } return -1; }, insertAt: function (a, b) { (!this.fixed || a < this.__array.length) && this.__array.splice(a, 0, b); }, iterator: function () { return new Ie(this.__array); }, join: function (a) { null == a && (a = ','); return this.__array.join(a); }, lastIndexOf: function (a, b) { for (b = null == b || b >= this.__array.length ? this.__array.length - 1 : b; 0 <= b; ) { if (this.__array[b] == a) return b; --b; } return -1; }, pop: function () { return this.fixed ? null : this.__array.pop(); }, push: function (a) { return this.fixed ? this.__array.length : this.__array.push(a); }, removeAt: function (a) { return !this.fixed || a < this.__array.length ? this.__array.splice(a, 1)[0] : 0; }, reverse: function () { this.__array.reverse(); return this; }, set: function (a, b) { return !this.fixed || a < this.__array.length ? (this.__array[a] = b) : b; }, shift: function () { return this.fixed ? null : this.__array.shift(); }, slice: function (a, b) { null == a && (a = 0); null == b && (b = 16777215); return new Ef(0, !1, this.__array.slice(a, b)); }, sort: function (a) { this.__array.sort(a); }, splice: function (a, b) { return new Ef(0, !1, this.__array.splice(a, b)); }, toJSON: function () { return this.__array; }, toString: function () { return null != this.__array ? this.__array.toString() : null; }, unshift: function (a) { this.fixed || this.__array.unshift(a); }, get_length: function () { return this.__array.length; }, set_length: function (a) { if (a != this.__array.length && !this.fixed) { var b = this.__array.length; 0 > a && (a = 0); if (a > b) for (; b < a; ) { var d = b++; this.__array[d] = 0; } else for (; this.__array.length > a; ) this.__array.pop(); } return this.__array.length; }, __class__: Ef, __properties__: { set_length: 'set_length', get_length: 'get_length' } }; var Ff = function (a, b, d) { null == b && (b = !1); null == a && (a = 0); null == d && (d = []); this.__array = d; 0 < a && this.set_length(a); this.fixed = b; }; k['openfl._Vector.FunctionVector'] = Ff; Ff.__name__ = 'openfl._Vector.FunctionVector'; Ff.__interfaces__ = [$g]; Ff.prototype = { fixed: null, __array: null, concat: function (a) { return null == a ? new Ff(0, !1, this.__array.slice()) : 0 < a.__array.length ? new Ff(0, !1, this.__array.concat(a.__array)) : new Ff(0, !1, this.__array.slice()); }, copy: function () { return new Ff(0, this.fixed, this.__array.slice()); }, filter: function (a) { for (var b = this.fixed, d = [], c = 0, f = this.__array; c < f.length; ) { var g = f[c]; ++c; a(g) && d.push(g); } return new Ff(0, b, d); }, get: function (a) { return a >= this.__array.length ? null : this.__array[a]; }, indexOf: function (a, b) { null == b && (b = 0); for (var d = this.__array.length; b < d; ) { var c = b++; if (aa.compareMethods(this.__array[c], a)) return c; } return -1; }, insertAt: function (a, b) { (!this.fixed || a < this.__array.length) && this.__array.splice(a, 0, b); }, iterator: function () { return new Ie(this.__array); }, join: function (a) { null == a && (a = ','); return this.__array.join(a); }, lastIndexOf: function (a, b) { for (b = null == b || b >= this.__array.length ? this.__array.length - 1 : b; 0 <= b; ) { if (aa.compareMethods(this.__array[b], a)) return b; --b; } return -1; }, pop: function () { return this.fixed ? null : this.__array.pop(); }, push: function (a) { return this.fixed ? this.__array.length : this.__array.push(a); }, removeAt: function (a) { return !this.fixed || a < this.__array.length ? this.__array.splice(a, 1)[0] : null; }, reverse: function () { this.__array.reverse(); return this; }, set: function (a, b) { return !this.fixed || a < this.__array.length ? (this.__array[a] = b) : b; }, shift: function () { return this.fixed ? null : this.__array.shift(); }, slice: function (a, b) { null == a && (a = 0); null == b && (b = 16777215); return new Ff(0, !1, this.__array.slice(a, b)); }, sort: function (a) { this.__array.sort(a); }, splice: function (a, b) { return new Ff(0, !1, this.__array.splice(a, b)); }, toJSON: function () { return this.__array; }, toString: function () { return null != this.__array ? this.__array.toString() : null; }, unshift: function (a) { this.fixed || this.__array.unshift(a); }, get_length: function () { return this.__array.length; }, set_length: function (a) { if (!this.fixed) { var b = this.__array.length; 0 > a && (a = 0); if (a > b) for (; b < a; ) { var d = b++; this.__array[d] = null; } else for (; this.__array.length > a; ) this.__array.pop(); } return this.__array.length; }, __class__: Ff, __properties__: { set_length: 'set_length', get_length: 'get_length' } }; var Df = function (a, b, d) { null == b && (b = !1); null == a && (a = 0); null == d && (d = []); this.__array = d; 0 < a && this.set_length(a); this.fixed = b; }; k['openfl._Vector.IntVector'] = Df; Df.__name__ = 'openfl._Vector.IntVector'; Df.__interfaces__ = [$g]; Df.prototype = { fixed: null, __array: null, concat: function (a) { return null == a ? new Df(0, !1, this.__array.slice()) : 0 < a.__array.length ? new Df(0, !1, this.__array.concat(a.__array)) : new Df(0, !1, this.__array.slice()); }, copy: function () { return new Df(0, this.fixed, this.__array.slice()); }, filter: function (a) { for (var b = this.fixed, d = [], c = 0, f = this.__array; c < f.length; ) { var g = f[c]; ++c; a(g) && d.push(g); } return new Df(0, b, d); }, get: function (a) { return this.__array[a]; }, indexOf: function (a, b) { null == b && (b = 0); for (var d = this.__array.length; b < d; ) { var c = b++; if (this.__array[c] == a) return c; } return -1; }, insertAt: function (a, b) { (!this.fixed || a < this.__array.length) && this.__array.splice(a, 0, b); }, iterator: function () { return new Ie(this.__array); }, join: function (a) { null == a && (a = ','); return this.__array.join(a); }, lastIndexOf: function (a, b) { for (b = null == b || b >= this.__array.length ? this.__array.length - 1 : b; 0 <= b; ) { if (this.__array[b] == a) return b; --b; } return -1; }, pop: function () { return this.fixed ? null : this.__array.pop(); }, push: function (a) { return this.fixed ? this.__array.length : this.__array.push(a); }, removeAt: function (a) { return !this.fixed || a < this.__array.length ? this.__array.splice(a, 1)[0] : 0; }, reverse: function () { this.__array.reverse(); return this; }, set: function (a, b) { return !this.fixed || a < this.__array.length ? (this.__array[a] = b) : b; }, shift: function () { return this.fixed ? null : this.__array.shift(); }, slice: function (a, b) { null == a && (a = 0); null == b && (b = 16777215); return new Df(0, !1, this.__array.slice(a, b)); }, sort: function (a) { this.__array.sort(a); }, splice: function (a, b) { return new Df(0, !1, this.__array.splice(a, b)); }, toJSON: function () { return this.__array; }, toString: function () { return null != this.__array ? this.__array.toString() : null; }, unshift: function (a) { this.fixed || this.__array.unshift(a); }, get_length: function () { return this.__array.length; }, set_length: function (a) { if (!this.fixed) { var b = this.__array.length; 0 > a && (a = 0); if (a > b) for (; b < a; ) { var d = b++; this.__array[d] = 0; } else for (; this.__array.length > a; ) this.__array.pop(); } return this.__array.length; }, __class__: Df, __properties__: { set_length: 'set_length', get_length: 'get_length' } }; var of = function (a, b, d, c) { null == c && (c = !1); null == b && (b = !1); null == a && (a = 0); if (c) { if (((this.__array = []), null != d)) { c = 0; for (var e = d.length; c < e; ) { var g = c++; this.__array[g] = d[g]; } } } else null == d && (d = []), (this.__array = d); 0 < a && this.set_length(a); this.fixed = b; }; k['openfl._Vector.ObjectVector'] = of; of.__name__ = 'openfl._Vector.ObjectVector'; of.__interfaces__ = [$g]; of.prototype = { fixed: null, __array: null, concat: function (a) { return null == a ? new of(0, !1, this.__array.slice()) : 0 < a.__array.length ? new of(0, !1, this.__array.concat(a.__array)) : new of(0, !1, this.__array.slice()); }, copy: function () { return new of(0, this.fixed, this.__array.slice()); }, filter: function (a) { for (var b = this.fixed, d = [], c = 0, f = this.__array; c < f.length; ) { var g = f[c]; ++c; a(g) && d.push(g); } return new of(0, b, d); }, get: function (a) { return this.__array[a]; }, indexOf: function (a, b) { null == b && (b = 0); for (var d = this.__array.length; b < d; ) { var c = b++; if (this.__array[c] == a) return c; } return -1; }, insertAt: function (a, b) { (!this.fixed || a < this.__array.length) && this.__array.splice(a, 0, b); }, iterator: function () { return new Ie(this.__array); }, join: function (a) { null == a && (a = ','); return this.__array.join(a); }, lastIndexOf: function (a, b) { for (b = null == b || b >= this.__array.length ? this.__array.length - 1 : b; 0 <= b; ) { if (this.__array[b] == a) return b; --b; } return -1; }, pop: function () { return this.fixed ? null : this.__array.pop(); }, push: function (a) { return this.fixed ? this.__array.length : this.__array.push(a); }, removeAt: function (a) { return !this.fixed || a < this.__array.length ? this.__array.splice(a, 1)[0] : null; }, reverse: function () { this.__array.reverse(); return this; }, set: function (a, b) { return !this.fixed || a < this.__array.length ? (this.__array[a] = b) : b; }, shift: function () { return this.fixed ? null : this.__array.shift(); }, slice: function (a, b) { null == a && (a = 0); null == b && (b = 16777215); return new of(0, !1, this.__array.slice(a, b)); }, sort: function (a) { this.__array.sort(a); }, splice: function (a, b) { return new of(0, !1, this.__array.splice(a, b)); }, toJSON: function () { return this.__array; }, toString: function () { return null != this.__array ? this.__array.toString() : null; }, unshift: function (a) { this.fixed || this.__array.unshift(a); }, get_length: function () { return this.__array.length; }, set_length: function (a) { if (!this.fixed) { var b = this.__array.length; 0 > a && (a = 0); if (a > b) for (; b < a; ) b++, this.__array.push(null); else for (; this.__array.length > a; ) this.__array.pop(); } return this.__array.length; }, __class__: of, __properties__: { set_length: 'set_length', get_length: 'get_length' } }; var jj = function () { vd.call(this); null == Dc.application && (Dc.application = this); null == Dc.current && (Dc.current = new pg()); Dc.current.__loaderInfo = fg.create(null); Dc.current.__loaderInfo.content = Dc.current; }; k['openfl.display.Application'] = jj; jj.__name__ = 'openfl.display.Application'; jj.__super__ = vd; jj.prototype = t(vd.prototype, { createWindow: function (a) { var b = new Xj(this, a); this.__windows.push(b); this.__windowByID.h[b.id] = b; var d = m(this, this.__onWindowClose); b.onClose.add( function () { d(b); }, !1, -1e4 ); null == this.__window && ((this.__window = b), b.onActivate.add(m(this, this.onWindowActivate)), b.onRenderContextLost.add(m(this, this.onRenderContextLost)), b.onRenderContextRestored.add(m(this, this.onRenderContextRestored)), b.onDeactivate.add(m(this, this.onWindowDeactivate)), b.onDropFile.add(m(this, this.onWindowDropFile)), b.onEnter.add(m(this, this.onWindowEnter)), b.onExpose.add(m(this, this.onWindowExpose)), b.onFocusIn.add(m(this, this.onWindowFocusIn)), b.onFocusOut.add(m(this, this.onWindowFocusOut)), b.onFullscreen.add(m(this, this.onWindowFullscreen)), b.onKeyDown.add(m(this, this.onKeyDown)), b.onKeyUp.add(m(this, this.onKeyUp)), b.onLeave.add(m(this, this.onWindowLeave)), b.onMinimize.add(m(this, this.onWindowMinimize)), b.onMouseDown.add(m(this, this.onMouseDown)), b.onMouseMove.add(m(this, this.onMouseMove)), b.onMouseMoveRelative.add(m(this, this.onMouseMoveRelative)), b.onMouseUp.add(m(this, this.onMouseUp)), b.onMouseWheel.add(m(this, this.onMouseWheel)), b.onMove.add(m(this, this.onWindowMove)), b.onRender.add(m(this, this.render)), b.onResize.add(m(this, this.onWindowResize)), b.onRestore.add(m(this, this.onWindowRestore)), b.onTextEdit.add(m(this, this.onTextEdit)), b.onTextInput.add(m(this, this.onTextInput)), this.onWindowCreate()); this.onCreateWindow.dispatch(b); return b; }, __class__: jj }); var la = function (a, b, d, c) { null == c && (c = -1); null == d && (d = !0); this.__drawableType = 0; this.transparent = d; null == a && (a = 0); null == b && (b = 0); 0 > a && (a = 0); 0 > b && (b = 0); this.width = a; this.height = b; this.rect = new ea(0, 0, a, b); this.__textureWidth = a; this.__textureHeight = b; 0 < a && 0 < b && (d ? 0 == (c & -16777216) && (c = 0) : (c = -16777216 | (c & 16777215)), (this.image = new Gb(null, 0, 0, a, b, (c << 8) | ((c >>> 24) & 255))), this.image.set_transparent(d), (this.readable = this.__isValid = !0)); this.__renderTransform = new Ia(); this.__worldAlpha = 1; this.__worldTransform = new Ia(); this.__worldColorTransform = new Kc(); this.__renderable = !0; }; k['openfl.display.BitmapData'] = la; la.__name__ = 'openfl.display.BitmapData'; la.__interfaces__ = [oe]; la.fromBase64 = function (a, b) { return null; }; la.fromBytes = function (a, b) { return null; }; la.fromCanvas = function (a, b) { null == b && (b = !0); if (null == a) return null; var d = new la(0, 0, b, 0); d.__fromImage(Gb.fromCanvas(a)); d.image.set_transparent(b); return d; }; la.fromFile = function (a) { return null; }; la.fromImage = function (a, b) { null == b && (b = !0); if (null == a || null == a.buffer) return null; var d = new la(0, 0, b, 0); d.__fromImage(a); d.image.set_transparent(b); return null != d.image ? d : null; }; la.fromTexture = function (a) { if (null == a) return null; var b = new la(a.__width, a.__height, !0, 0); b.readable = !1; b.__texture = a; b.__textureContext = a.__textureContext; b.image = null; return b; }; la.loadFromBase64 = function (a, b) { return Gb.loadFromBase64(a, b).then(function (a) { return ib.withValue(la.fromImage(a)); }); }; la.loadFromBytes = function (a, b) { return Gb.loadFromBytes(Bb.toBytes(a)).then(function (a) { a = la.fromImage(a); null != b && a.__applyAlpha(b); return ib.withValue(a); }); }; la.loadFromFile = function (a) { return Gb.loadFromFile(a).then(function (a) { return ib.withValue(la.fromImage(a)); }); }; la.prototype = { height: null, image: null, readable: null, rect: null, transparent: null, width: null, __blendMode: null, __drawableType: null, __framebuffer: null, __framebufferContext: null, __indexBuffer: null, __indexBufferContext: null, __indexBufferData: null, __indexBufferGrid: null, __isMask: null, __isValid: null, __mask: null, __renderable: null, __renderTransform: null, __scrollRect: null, __stencilBuffer: null, __surface: null, __texture: null, __textureContext: null, __textureHeight: null, __textureVersion: null, __textureWidth: null, __transform: null, __uvRect: null, __vertexBuffer: null, __vertexBufferContext: null, __vertexBufferData: null, __vertexBufferGrid: null, __vertexBufferHeight: null, __vertexBufferScaleX: null, __vertexBufferScaleY: null, __vertexBufferWidth: null, __worldAlpha: null, __worldColorTransform: null, __worldTransform: null, applyFilter: function (a, b, d, c) { if (this.readable && null != a && a.readable) { a = c.__needSecondBitmapData; var e = c.__preserveObject, g = null; var l = a ? new la(this.width, this.height, !0, 0) : this; e && (g = new la(this.width, this.height, !0, 0)); c.__preserveObject && g.copyPixels(this, this.rect, d); b = c.__applyFilter(l, this, b, d); c.__preserveObject && b.draw(g, null, null); a && b == l && ((l.image.version = this.image.version), (this.image = l.image)); this.image.dirty = !0; this.image.version++; } }, clone: function () { if (this.__isValid) if (this.readable || null != this.image) var a = la.fromImage(this.image.clone(), this.transparent); else (a = new la(0, 0, this.transparent, 0)), (a.width = this.width), (a.height = this.height), (a.__textureWidth = this.__textureWidth), (a.__textureHeight = this.__textureHeight), a.rect.copyFrom(this.rect), (a.__framebuffer = this.__framebuffer), (a.__framebufferContext = this.__framebufferContext), (a.__texture = this.__texture), (a.__textureContext = this.__textureContext), (a.__isValid = !0); else a = new la(this.width, this.height, this.transparent, 0); a.__worldTransform.copyFrom(this.__worldTransform); a.__renderTransform.copyFrom(this.__renderTransform); return a; }, colorTransform: function (a, b) { this.readable && this.image.colorTransform(a.__toLimeRectangle(), b.__toLimeColorMatrix()); }, compare: function (a) { if (a == this) return 0; if (null == a) return -1; if (0 == this.readable || 0 == a.readable) return -2; if (this.width != a.width) return -3; if (this.height != a.height) return -4; if ( null != this.image && null != a.image && this.image.get_format() == a.image.get_format() ) { for ( var b = this.image.get_data(), d = a.image.get_data(), c = !0, f = 0, g = b.length; f < g; ) { var l = f++; if (b[l] != d[l]) { c = !1; break; } } if (c) return 0; } b = null; f = 0; for (g = this.height; f < g; ) { l = f++; for (var q = 0, h = this.width; q < h; ) { var r = q++; d = !1; var k = this.getPixel32(r, l); var p = a.getPixel32(r, l); c = 0; if (k != p) { var n = ((k >>> 16) & 255) - ((p >>> 16) & 255); var u = ((k >>> 8) & 255) - ((p >>> 8) & 255); var m = (k & 255) - (p & 255); 0 > n && (n *= -1); 0 > u && (u *= -1); 0 > m && (m *= -1); 0 == n && 0 == u && 0 == m ? ((k = ((k >>> 24) & 255) - ((p >>> 24) & 255)), 0 != k && ((c = (((c >>> 24) & 255) << 24) | 16711680 | (((c >>> 8) & 255) << 8) | (c & 255)), (c = (((c >>> 24) & 255) << 24) | (((c >>> 16) & 255) << 16) | 65280 | (c & 255)), (c = (((c >>> 24) & 255) << 24) | (((c >>> 16) & 255) << 16) | (((c >>> 8) & 255) << 8) | 255), (c = ((k & 255) << 24) | (((c >>> 16) & 255) << 16) | (((c >>> 8) & 255) << 8) | (c & 255)), (d = !0))) : ((c = (((c >>> 24) & 255) << 24) | ((n & 255) << 16) | (((c >>> 8) & 255) << 8) | (c & 255)), (c = (((c >>> 24) & 255) << 24) | (((c >>> 16) & 255) << 16) | ((u & 255) << 8) | (c & 255)), (c = (((c >>> 24) & 255) << 24) | (((c >>> 16) & 255) << 16) | (((c >>> 8) & 255) << 8) | (m & 255)), (c = -16777216 | (((c >>> 16) & 255) << 16) | (((c >>> 8) & 255) << 8) | (c & 255)), (d = !0)); } d && (null == b && (b = new la(this.width, this.height, this.transparent || a.transparent, 0)), b.setPixel32(r, l, c)); } } return null == b ? 0 : b; }, copyChannel: function (a, b, d, c, f) { if (this.readable) { switch (c) { case 1: c = kf.RED; break; case 2: c = kf.GREEN; break; case 4: c = kf.BLUE; break; case 8: c = kf.ALPHA; break; default: return; } switch (f) { case 1: f = kf.RED; break; case 2: f = kf.GREEN; break; case 4: f = kf.BLUE; break; case 8: f = kf.ALPHA; break; default: return; } this.image.copyChannel(a.image, b.__toLimeRectangle(), d.__toLimeVector2(), c, f); } }, copyPixels: function (a, b, d, c, f, g) { null == g && (g = !1); this.readable && null != a && (null != f && ((la.__tempVector.x = f.x), (la.__tempVector.y = f.y)), this.image.copyPixels( a.image, b.__toLimeRectangle(), d.__toLimeVector2(), null != c ? c.image : null, null != f ? la.__tempVector : null, g )); }, dispose: function () { this.image = null; this.height = this.width = 0; this.rect = null; this.readable = this.__isValid = !1; this.__textureContext = this.__texture = this.__framebufferContext = this.__framebuffer = this.__vertexBuffer = this.__surface = null; }, disposeImage: function () { this.readable = !1; }, draw: function (a, b, d, c, f, g) { null == g && (g = !1); if (null != a) { a.__update(!1, !0); var e = Ia.__pool.get(); e.copyFrom(a.__renderTransform); e.invert(); null != b && e.concat(b); b = null; null != f && ((b = Ia.__pool.get()), b.copyFrom(e), b.invert()); var q = new Kc(); q.__copyFrom(a.__worldColorTransform); q.__invert(); if (this.readable || null == Oa.get_current().stage.context3D) { if (null != d) { var h = ea.__pool.get(), r = Ia.__pool.get(); a.__getBounds(h, r); var k = Math.ceil(h.width), p = Math.ceil(h.height); r.tx = -h.x; r.ty = -h.y; k = new la(k, p, !0, 0); k.draw(a, r); k.colorTransform(k.rect, d); k.__renderTransform.identity(); k.__renderTransform.tx = h.x; k.__renderTransform.ty = h.y; k.__renderTransform.concat(a.__renderTransform); k.__worldAlpha = a.__worldAlpha; k.__worldColorTransform.__copyFrom(a.__worldColorTransform); a = k; ea.__pool.release(h); Ia.__pool.release(r); } za.convertToCanvas(this.image); d = new Cg(this.image.buffer.__srcContext); d.__allowSmoothing = g; d.__overrideBlendMode = c; d.__worldTransform = e; d.__worldAlpha = 1 / a.__worldAlpha; d.__worldColorTransform = q; null != f && d.__pushMaskRect(f, b); this.__drawCanvas(a, d); } else null == this.__textureContext && (this.__textureContext = vd.current.__window.context), null != d && q.__combine(d), (d = new Ib(Oa.get_current().stage.context3D, this)), (d.__allowSmoothing = g), (d.__overrideBlendMode = c), (d.__worldTransform = e), (d.__worldAlpha = 1 / a.__worldAlpha), (d.__worldColorTransform = q), d.__resize(this.width, this.height), null != f && d.__pushMaskRect(f, b), this.__drawGL(a, d); null != f && (d.__popMaskRect(), Ia.__pool.release(b)); Ia.__pool.release(e); } }, drawWithQuality: function (a, b, d, c, f, g, l) { null == g && (g = !1); this.draw(a, b, d, c, f, 2 != l && g); }, encode: function (a, b, d) { if (!this.readable || null == a) return null; null == d && (d = new nc(0)); var c = this.image; if (!a.equals(this.rect)) { var f = Ia.__pool.get(); f.tx = Math.round(-a.x); f.ty = Math.round(-a.y); a = new la(Math.ceil(a.width), Math.ceil(a.height), !0, 0); a.draw(this, f); c = a.image; Ia.__pool.release(f); } return b instanceof To ? (d.writeBytes(Bb.fromBytes(c.encode(rm.PNG)), 0, 0), d) : b instanceof Am ? (d.writeBytes(Bb.fromBytes(c.encode(rm.JPEG, w.__cast(b, Am).quality)), 0, 0), d) : null; }, fillRect: function (a, b) { this.__fillRect(a, b, !0); }, floodFill: function (a, b, d) { this.readable && this.image.floodFill(a, b, d, 1); }, generateFilterRect: function (a, b) { return a.clone(); }, getIndexBuffer: function (a, b) { if ( null == this.__indexBuffer || this.__indexBufferContext != a.__context || (null != b && null == this.__indexBufferGrid) || (null != this.__indexBufferGrid && !this.__indexBufferGrid.equals(b)) ) { this.__indexBufferContext = a.__context; this.__indexBuffer = null; if (null != b) { null == this.__indexBufferGrid && (this.__indexBufferGrid = new ea()); this.__indexBufferGrid.copyFrom(b); var d = b.width; b = b.height; 0 != d && 0 != b ? ((this.__indexBufferData = d = new Uint16Array(54)), (this.__indexBufferData[0] = 0), (this.__indexBufferData[1] = 1), (this.__indexBufferData[2] = 2), (this.__indexBufferData[3] = 2), (this.__indexBufferData[4] = 1), (this.__indexBufferData[5] = 3), (this.__indexBufferData[6] = 4), (this.__indexBufferData[7] = 0), (this.__indexBufferData[8] = 5), (this.__indexBufferData[9] = 5), (this.__indexBufferData[10] = 0), (this.__indexBufferData[11] = 2), (this.__indexBufferData[12] = 6), (this.__indexBufferData[13] = 4), (this.__indexBufferData[14] = 7), (this.__indexBufferData[15] = 7), (this.__indexBufferData[16] = 4), (this.__indexBufferData[17] = 5), (this.__indexBufferData[18] = 8), (this.__indexBufferData[19] = 9), (this.__indexBufferData[20] = 0), (this.__indexBufferData[21] = 0), (this.__indexBufferData[22] = 9), (this.__indexBufferData[23] = 1), (this.__indexBufferData[24] = 10), (this.__indexBufferData[25] = 8), (this.__indexBufferData[26] = 4), (this.__indexBufferData[27] = 4), (this.__indexBufferData[28] = 8), (this.__indexBufferData[29] = 0), (this.__indexBufferData[30] = 11), (this.__indexBufferData[31] = 10), (this.__indexBufferData[32] = 6), (this.__indexBufferData[33] = 6), (this.__indexBufferData[34] = 10), (this.__indexBufferData[35] = 4), (this.__indexBufferData[36] = 12), (this.__indexBufferData[37] = 13), (this.__indexBufferData[38] = 8), (this.__indexBufferData[39] = 8), (this.__indexBufferData[40] = 13), (this.__indexBufferData[41] = 9), (this.__indexBufferData[42] = 14), (this.__indexBufferData[43] = 12), (this.__indexBufferData[44] = 10), (this.__indexBufferData[45] = 10), (this.__indexBufferData[46] = 12), (this.__indexBufferData[47] = 8), (this.__indexBufferData[48] = 15), (this.__indexBufferData[49] = 14), (this.__indexBufferData[50] = 11), (this.__indexBufferData[51] = 11), (this.__indexBufferData[52] = 14), (this.__indexBufferData[53] = 10), (this.__indexBuffer = a.createIndexBuffer(54))) : 0 == d && 0 != b ? ((this.__indexBufferData = d = new Uint16Array(18)), (this.__indexBufferData[0] = 0), (this.__indexBufferData[1] = 1), (this.__indexBufferData[2] = 2), (this.__indexBufferData[3] = 2), (this.__indexBufferData[4] = 1), (this.__indexBufferData[5] = 3), (this.__indexBufferData[6] = 4), (this.__indexBufferData[7] = 5), (this.__indexBufferData[8] = 0), (this.__indexBufferData[9] = 0), (this.__indexBufferData[10] = 5), (this.__indexBufferData[11] = 1), (this.__indexBufferData[12] = 6), (this.__indexBufferData[13] = 7), (this.__indexBufferData[14] = 4), (this.__indexBufferData[15] = 4), (this.__indexBufferData[16] = 7), (this.__indexBufferData[17] = 5), (this.__indexBuffer = a.createIndexBuffer(18))) : 0 != d && 0 == b && ((this.__indexBufferData = d = new Uint16Array(18)), (this.__indexBufferData[0] = 0), (this.__indexBufferData[1] = 1), (this.__indexBufferData[2] = 2), (this.__indexBufferData[3] = 2), (this.__indexBufferData[4] = 1), (this.__indexBufferData[5] = 3), (this.__indexBufferData[6] = 4), (this.__indexBufferData[7] = 0), (this.__indexBufferData[8] = 5), (this.__indexBufferData[9] = 5), (this.__indexBufferData[10] = 0), (this.__indexBufferData[11] = 2), (this.__indexBufferData[12] = 6), (this.__indexBufferData[13] = 4), (this.__indexBufferData[14] = 7), (this.__indexBufferData[15] = 7), (this.__indexBufferData[16] = 4), (this.__indexBufferData[17] = 5), (this.__indexBuffer = a.createIndexBuffer(18))); } else this.__indexBufferGrid = null; null == this.__indexBuffer && ((this.__indexBufferData = d = new Uint16Array(6)), (this.__indexBufferData[0] = 0), (this.__indexBufferData[1] = 1), (this.__indexBufferData[2] = 2), (this.__indexBufferData[3] = 2), (this.__indexBufferData[4] = 1), (this.__indexBufferData[5] = 3), (this.__indexBuffer = a.createIndexBuffer(6))); this.__indexBuffer.uploadFromTypedArray(this.__indexBufferData); } return this.__indexBuffer; }, getVertexBuffer: function (a, b, d) { if ( null == this.__vertexBuffer || this.__vertexBufferContext != a.__context || (null != b && null == this.__vertexBufferGrid) || (null != this.__vertexBufferGrid && !this.__vertexBufferGrid.equals(b)) || (null != d && (this.__vertexBufferWidth != d.get_width() || this.__vertexBufferHeight != d.get_height() || this.__vertexBufferScaleX != d.get_scaleX() || this.__vertexBufferScaleY != d.get_scaleY())) ) { this.__uvRect = new ea(0, 0, this.width, this.height); this.__vertexBufferContext = a.__context; this.__vertexBuffer = null; null != d && ((this.__vertexBufferWidth = d.get_width()), (this.__vertexBufferHeight = d.get_height()), (this.__vertexBufferScaleX = d.get_scaleX()), (this.__vertexBufferScaleY = d.get_scaleY())); if (null != b && null != d) { null == this.__vertexBufferGrid && (this.__vertexBufferGrid = new ea()); this.__vertexBufferGrid.copyFrom(b); this.__vertexBufferWidth = d.get_width(); this.__vertexBufferHeight = d.get_height(); this.__vertexBufferScaleX = d.get_scaleX(); this.__vertexBufferScaleY = d.get_scaleY(); var c = b.width, f = b.height; if (0 != c && 0 != f) { var g = new Float32Array(224); this.__vertexBufferData = g; var l = b.x, q = b.y, h = this.width - c - l, r = this.height - f - q; b = l / this.width; g = q / this.height; c /= this.width; f /= this.height; l /= d.get_scaleX(); q /= d.get_scaleY(); h /= d.get_scaleX(); var k = r / d.get_scaleY(); r = d.get_width() / d.get_scaleX() - l - h; h = d.get_height() / d.get_scaleY() - q - k; this.__vertexBufferData[0] = l; this.__vertexBufferData[1] = q; this.__vertexBufferData[3] = 1 * b; this.__vertexBufferData[4] = 1 * g; this.__vertexBufferData[15] = q; this.__vertexBufferData[18] = 1 * g; this.__vertexBufferData[28] = l; this.__vertexBufferData[31] = 1 * b; this.__vertexBufferData[56] = l + r; this.__vertexBufferData[57] = q; this.__vertexBufferData[59] = 1 * (b + c); this.__vertexBufferData[60] = 1 * g; this.__vertexBufferData[70] = l + r; this.__vertexBufferData[73] = 1 * (b + c); this.__vertexBufferData[84] = this.width; this.__vertexBufferData[85] = q; this.__vertexBufferData[87] = 1; this.__vertexBufferData[88] = 1 * g; this.__vertexBufferData[98] = this.width; this.__vertexBufferData[101] = 1; this.__vertexBufferData[112] = l; this.__vertexBufferData[113] = q + h; this.__vertexBufferData[115] = 1 * b; this.__vertexBufferData[116] = 1 * (g + f); this.__vertexBufferData[127] = q + h; this.__vertexBufferData[130] = 1 * (g + f); this.__vertexBufferData[140] = l + r; this.__vertexBufferData[141] = q + h; this.__vertexBufferData[143] = 1 * (b + c); this.__vertexBufferData[144] = 1 * (g + f); this.__vertexBufferData[154] = this.width; this.__vertexBufferData[155] = q + h; this.__vertexBufferData[157] = 1; this.__vertexBufferData[158] = 1 * (g + f); this.__vertexBufferData[168] = l; this.__vertexBufferData[169] = this.height; this.__vertexBufferData[171] = 1 * b; this.__vertexBufferData[172] = 1; this.__vertexBufferData[183] = this.height; this.__vertexBufferData[186] = 1; this.__vertexBufferData[196] = l + r; this.__vertexBufferData[197] = this.height; this.__vertexBufferData[199] = 1 * (b + c); this.__vertexBufferData[200] = 1; this.__vertexBufferData[210] = this.width; this.__vertexBufferData[211] = this.height; this.__vertexBufferData[213] = 1; this.__vertexBufferData[214] = 1; this.__vertexBuffer = a.createVertexBuffer(16, 14); } else 0 == c && 0 != f ? ((this.__vertexBufferData = g = new Float32Array(112)), (q = b.y), (r = this.height - f - q), (g = q / this.height), (f /= this.height), (q /= d.get_scaleY()), (k = r / d.get_scaleY()), (h = d.get_height() / d.get_scaleY() - q - k), (d = d.get_width() / d.get_scaleX()), (this.__vertexBufferData[0] = d), (this.__vertexBufferData[1] = q), (this.__vertexBufferData[3] = 1), (this.__vertexBufferData[4] = 1 * g), (this.__vertexBufferData[15] = q), (this.__vertexBufferData[18] = 1 * g), (this.__vertexBufferData[28] = d), (this.__vertexBufferData[31] = 1), (this.__vertexBufferData[56] = d), (this.__vertexBufferData[57] = q + h), (this.__vertexBufferData[59] = 1), (this.__vertexBufferData[60] = 1 * (g + f)), (this.__vertexBufferData[71] = q + h), (this.__vertexBufferData[74] = 1 * (g + f)), (this.__vertexBufferData[84] = d), (this.__vertexBufferData[85] = this.height), (this.__vertexBufferData[87] = 1), (this.__vertexBufferData[88] = 1), (this.__vertexBufferData[99] = this.height), (this.__vertexBufferData[102] = 1), (this.__vertexBuffer = a.createVertexBuffer(8, 14))) : 0 == f && 0 != c && ((this.__vertexBufferData = g = new Float32Array(112)), (l = b.x), (h = this.width - c - l), (b = l / this.width), (c /= this.width), (l /= d.get_scaleX()), (h /= d.get_scaleX()), (r = d.get_width() / d.get_scaleX() - l - h), (d = d.get_height() / d.get_scaleY()), (this.__vertexBufferData[0] = l), (this.__vertexBufferData[1] = d), (this.__vertexBufferData[3] = 1 * b), (this.__vertexBufferData[4] = 1), (this.__vertexBufferData[15] = d), (this.__vertexBufferData[18] = 1), (this.__vertexBufferData[28] = l), (this.__vertexBufferData[31] = 1 * b), (this.__vertexBufferData[56] = l + r), (this.__vertexBufferData[57] = d), (this.__vertexBufferData[59] = 1 * (b + c)), (this.__vertexBufferData[60] = 1), (this.__vertexBufferData[70] = l + r), (this.__vertexBufferData[73] = 1 * (b + c)), (this.__vertexBufferData[84] = this.width), (this.__vertexBufferData[85] = d), (this.__vertexBufferData[87] = 1), (this.__vertexBufferData[88] = 1), (this.__vertexBufferData[98] = this.width), (this.__vertexBufferData[101] = 1), (this.__vertexBuffer = a.createVertexBuffer(8, 14))); } else this.__vertexBufferGrid = null; null == this.__vertexBuffer && ((this.__vertexBufferData = g = new Float32Array(56)), (this.__vertexBufferData[0] = this.width), (this.__vertexBufferData[1] = this.height), (this.__vertexBufferData[3] = 1), (this.__vertexBufferData[4] = 1), (this.__vertexBufferData[15] = this.height), (this.__vertexBufferData[18] = 1), (this.__vertexBufferData[28] = this.width), (this.__vertexBufferData[31] = 1), (this.__vertexBuffer = a.createVertexBuffer(3, 14))); this.__vertexBuffer.uploadFromTypedArray(Xg.toArrayBufferView(this.__vertexBufferData)); } return this.__vertexBuffer; }, getColorBoundsRect: function (a, b, d) { null == d && (d = !0); if (!this.readable) return new ea(0, 0, this.width, this.height); a = this.image.getColorBoundsRect(a, b, d, 1); return new ea(a.x, a.y, a.width, a.height); }, getPixel: function (a, b) { return this.readable ? this.image.getPixel(a, b, 1) : 0; }, getPixel32: function (a, b) { return this.readable ? this.image.getPixel32(a, b, 1) : 0; }, getPixels: function (a) { if (!this.readable) return null; null == a && (a = this.rect); a = Bb.fromBytes(this.image.getPixels(a.__toLimeRectangle(), 1)); a.__endian = 0; return a; }, getSurface: function () { if (!this.readable) return null; null == this.__surface && (this.__surface = Tz.fromImage(this.image)); return this.__surface; }, getTexture: function (a) { if (!this.__isValid) return null; if (null == this.__texture || this.__textureContext != a.__context) (this.__textureContext = a.__context), (this.__texture = a.createRectangleTexture(this.width, this.height, 1, !1)), (this.__textureVersion = -1); za.sync(this.image, !1); null != this.image && this.image.version > this.__textureVersion && (null != this.__surface && Uz.flush(this.__surface), (a = this.image), bc.__supportsBGRA || 0 == a.get_format() || ((a = a.clone()), a.set_format(0)), this.__texture.__uploadFromImage(a), (this.__textureVersion = this.image.version), (this.__textureWidth = a.buffer.width), (this.__textureHeight = a.buffer.height)); this.readable || null == this.image || (this.image = this.__surface = null); return this.__texture; }, getVector: function (a) { a = this.getPixels(a); for ( var b = (Ba.toFloat(Bb.get_length(a)) / Ba.toFloat(4)) | 0, d = Ab.toIntVector(null, b, !0), c = 0; c < b; ) { var f = c++; d.set(f, a.readUnsignedInt()); } return d; }, histogram: function (a) { a = null != a ? a : new ea(0, 0, this.width, this.height); a = this.getPixels(a); for (var b = [], d = [], c = 0; 256 > c; ) c++, d.push(0); b.push(d); d = []; for (c = 0; 256 > c; ) c++, d.push(0); b.push(d); d = []; for (c = 0; 256 > c; ) c++, d.push(0); b.push(d); d = []; for (c = 0; 256 > c; ) c++, d.push(0); b.push(d); c = b; b = 0; for (d = Bb.get_length(a); b < d; ) { var f = b++; ++c[f % 4][a.readUnsignedByte()]; } return c; }, hitTest: function (a, b, d, c, f) { null == f && (f = 1); if (!this.readable) return !1; d instanceof rc && (d = w.__cast(d, rc).__bitmapData); if (d instanceof na) { f = d; d = (f.x - a.x) | 0; var e = (f.y - a.y) | 0; if (this.rect.contains(d, e)) { var l = this.getPixel32(d, e); if (((l >> 24) & 255) > b) return !0; } } else if (d instanceof la) { l = d; null == c ? (e = d = 0) : ((d = Math.round(c.x - a.x)), (e = Math.round(c.y - a.y))); c = ea.__pool.get(); c.setTo(d, e, l.width, l.height); if (this.rect.intersects(c)) { 0 > d ? ((c.x = 0), (c.width = Math.min(l.width + d, this.width))) : (c.width = Math.min(l.width, this.width - d)); 0 > e ? ((c.y = 0), (c.height = Math.min(l.height + e, this.height))) : (c.height = Math.min(l.height, this.height - e)); a = this.getPixels(c); c.x = 0 > d ? -d : 0; c.y = 0 > e ? -e : 0; e = l.getPixels(c); l = (c.width * c.height) | 0; d = 0; for (var q = l; d < q; ) { d++; l = a.readUnsignedInt(); var h = e.readUnsignedInt(); if (Ba.gt((l >>> 24) & 255, b) && Ba.gt((h >>> 24) & 255, f)) return ea.__pool.release(c), !0; } } ea.__pool.release(c); } else if (d instanceof ea) { f = ea.__pool.get(); f.copyFrom(d); f.offset(-a.x, -a.y); f.__contract(0, 0, this.width, this.height); if (0 < f.width && 0 < f.height) for ( a = this.getPixels(f), l = (Ba.toFloat(Bb.get_length(a)) / Ba.toFloat(4)) | 0, d = 0, q = l; d < q; ) if ((d++, (l = a.readUnsignedInt()), Ba.gt((l >>> 24) & 255, b))) return ea.__pool.release(f), !0; ea.__pool.release(f); } return !1; }, lock: function () {}, merge: function (a, b, d, c, f, g, l) { this.readable && null != a && a.readable && null != b && null != d && this.image.merge(a.image, b.__toLimeRectangle(), d.__toLimeVector2(), c, f, g, l); }, noise: function (a, b, d, c, f) { null == f && (f = !1); null == c && (c = 7); null == d && (d = 255); null == b && (b = 0); if (this.readable) { var e = function () { a = 1103515245 * a + 12345; return (Math.abs(a / 65536) | 0) % 32768; }; e(); d -= b; var l = 1 == (c & 1), q = 1 == (c & 2) >> 1, h = 1 == (c & 4) >> 2; c = 1 == (c & 8) >> 3; for (var r = 0, k = this.height; r < k; ) for (var p = r++, n = 0, u = this.width; n < u; ) { var m = n++, t = 0, x = 0, v = 0, w = 255; f ? ((t = v = x = b + (e() % d)), (w = 255)) : (l && (t = b + (e() % d)), q && (v = b + (e() % d)), h && (x = b + (e() % d)), c && (w = b + (e() % d))); w = (w << 8) + t; w = (w << 8) + v; w = (w << 8) + x; this.setPixel32(m, p, w); } } }, paletteMap: function (a, b, d, c, f, g, l) { var e = b.width | 0, h = b.height | 0; a = a.getPixels(b); b = 0; for (var r = h * e; b < r; ) { var k = b++; var p = a.readUnsignedInt(); var n = null == l ? p & -16777216 : l[(p >> 24) & 255]; var u = null == c ? p & 16711680 : c[(p >> 16) & 255]; var m = null == f ? p & 65280 : f[(p >> 8) & 255]; p = null == g ? p & 255 : g[p & 255]; u = n + u + m + p; a.position = 4 * k; a.writeUnsignedInt(u); } a.position = 0; c = ea.__pool.get(); c.setTo(d.x, d.y, e, h); this.setPixels(c, a); ea.__pool.release(c); }, perlinNoise: function (a, b, d, c, f, g, l, q, h) { null == q && (q = !1); null == l && (l = 7); this.readable && new Zh(c, d, l, q, 0.5, f, 0.15).fill(this, a, b, 0); }, scroll: function (a, b) { this.readable && this.image.scroll(a, b); }, setPixel: function (a, b, d) { this.readable && this.image.setPixel(a, b, d, 1); }, setPixel32: function (a, b, d) { this.readable && this.image.setPixel32(a, b, d, 1); }, setPixels: function (a, b) { if (this.readable && null != a) { var d = a.width * a.height * 4; if (Ba.toFloat(b.length - b.position) < d) throw J.thrown(new cd('End of file was encountered.', 2030)); this.image.setPixels( a.__toLimeRectangle(), Bb.toBytePointer(b), 1, Az.toLimeEndian(b.__endian) ); } }, setVector: function (a, b) { var d = new nc(0); Bb.set_length(d, 4 * b.get_length()); for (b = b.iterator(); b.hasNext(); ) { var c = b.next(); d.writeUnsignedInt(c); } d.position = 0; this.setPixels(a, d); }, threshold: function (a, b, d, c, f, g, l, q) { null == q && (q = !1); null == l && (l = -1); null == g && (g = 0); return null == a || null == b || null == d || b.x > a.width || b.y > a.height || d.x > this.width || d.y > this.height ? 0 : this.image.threshold( a.image, b.__toLimeRectangle(), d.__toLimeVector2(), c, f, g, l, q, 1 ); }, unlock: function (a) {}, __applyAlpha: function (a) { za.convertToCanvas(this.image); za.createImageData(this.image); for (var b = this.image.buffer.data, d = 0, c = Bb.get_length(a); d < c; ) { var f = d++; b[4 * f + 3] = a.readUnsignedByte(); } this.image.version++; }, __drawCairo: function (a, b) {}, __drawCanvas: function (a, b) { var d = this.image.buffer; b.__allowSmoothing || b.applySmoothing(d.__srcContext, !1); b.__render(a); b.__allowSmoothing || b.applySmoothing(d.__srcContext, !0); d.__srcContext.setTransform(1, 0, 0, 1, 0, 0); d.__srcImageData = null; d.data = null; this.image.dirty = !0; this.image.version++; }, __drawGL: function (a, b) { var d = b.__context3D, c = d.__state.renderToTexture, f = d.__state.renderToTextureDepthStencil, g = d.__state.renderToTextureAntiAlias, l = d.__state.renderToTextureSurfaceSelector; d.setRenderToTexture(this.getTexture(d), !0); b.__render(a); null != c ? d.setRenderToTexture(c, f, g, l) : d.setRenderToBackBuffer(); }, __fillRect: function (a, b, d) { if (null != a) if ( (this.transparent && 0 == (b & -16777216) && (b = 0), d && null != this.__texture && null != this.__texture.__glFramebuffer && 'opengl' == Oa.get_current().stage.__renderer.__type) ) { d = Oa.get_current().stage.__renderer.__context3D; var c = !this.rect.equals(a), f = d.__state.renderToTexture, g = d.__state.renderToTextureDepthStencil, l = d.__state.renderToTextureAntiAlias, q = d.__state.renderToTextureSurfaceSelector; d.setRenderToTexture(this.__texture); c && d.setScissorRectangle(a); d.clear( ((b >>> 16) & 255) / 255, ((b >>> 8) & 255) / 255, (b & 255) / 255, this.transparent ? ((b >>> 24) & 255) / 255 : 1, 0, 0, 1 ); c && d.setScissorRectangle(null); null != f ? d.setRenderToTexture(f, g, l, q) : d.setRenderToBackBuffer(); } else this.readable && this.image.fillRect(a.__toLimeRectangle(), b, 1); }, __fromBase64: function (a, b) { a = Gb.fromBase64(a, b); this.__fromImage(a); }, __fromBytes: function (a, b) { a = Gb.fromBytes(Bb.toBytes(a)); this.__fromImage(a); null != b && this.__applyAlpha(b); }, __fromFile: function (a) { a = Gb.fromFile(a); this.__fromImage(a); }, __fromImage: function (a) { null != a && null != a.buffer && ((this.image = a), (this.width = a.width), (this.height = a.height), (this.rect = new ea(0, 0, a.width, a.height)), (this.__textureWidth = this.width), (this.__textureHeight = this.height), (this.__isValid = this.readable = !0)); }, __getBounds: function (a, b) { var d = ea.__pool.get(); this.rect.__transform(d, b); a.__expand(d.x, d.y, d.width, d.height); ea.__pool.release(d); }, __loadFromBase64: function (a, b) { var d = this; return Gb.loadFromBase64(a, b).then(function (a) { d.__fromImage(a); return ib.withValue(d); }); }, __loadFromBytes: function (a, b) { var d = this; return Gb.loadFromBytes(Bb.toBytes(a)).then(function (a) { d.__fromImage(a); null != b && d.__applyAlpha(b); return ib.withValue(d); }); }, __loadFromFile: function (a) { var b = this; return Gb.loadFromFile(a).then(function (a) { b.__fromImage(a); return ib.withValue(b); }); }, __resize: function (a, b) { this.width = a; this.height = b; this.rect.width = a; this.rect.height = b; this.__textureWidth = a; this.__textureHeight = b; }, __setUVRect: function (a, b, d, c, f) { if ( null != this.getVertexBuffer(a) && (c != this.__uvRect.width || f != this.__uvRect.height || b != this.__uvRect.x || d != this.__uvRect.y) ) { null == this.__uvRect && (this.__uvRect = new ea()); this.__uvRect.setTo(b, d, c, f); a = 0 < this.__textureWidth ? b / this.__textureWidth : 0; d = 0 < this.__textureHeight ? d / this.__textureHeight : 0; b = 0 < this.__textureWidth ? c / this.__textureWidth : 0; var e = 0 < this.__textureHeight ? f / this.__textureHeight : 0; this.__vertexBufferData[0] = c; this.__vertexBufferData[1] = f; this.__vertexBufferData[3] = a + b; this.__vertexBufferData[4] = d + e; this.__vertexBufferData[15] = f; this.__vertexBufferData[17] = a; this.__vertexBufferData[18] = d + e; this.__vertexBufferData[28] = c; this.__vertexBufferData[31] = a + b; this.__vertexBufferData[32] = d; this.__vertexBufferData[45] = a; this.__vertexBufferData[46] = d; this.__vertexBuffer.uploadFromTypedArray(Xg.toArrayBufferView(this.__vertexBufferData)); } }, __sync: function () { za.sync(this.image, !1); }, __update: function (a, b) { this.__updateTransforms(); }, __updateTransforms: function (a) { null == a ? this.__worldTransform.identity() : this.__worldTransform.copyFrom(a); this.__renderTransform.copyFrom(this.__worldTransform); }, __class__: la }; var Qe = function () { cb.call(this); this.__allowSmoothing = !0; this.__tempColorTransform = new Kc(); this.__worldAlpha = 1; }; k['openfl.display.DisplayObjectRenderer'] = Qe; Qe.__name__ = 'openfl.display.DisplayObjectRenderer'; Qe.__super__ = cb; Qe.prototype = t(cb.prototype, { __allowSmoothing: null, __blendMode: null, __cleared: null, __context: null, __overrideBlendMode: null, __roundPixels: null, __stage: null, __tempColorTransform: null, __transparent: null, __type: null, __worldAlpha: null, __worldColorTransform: null, __worldTransform: null, __clear: function () {}, __getAlpha: function (a) { return a * this.__worldAlpha; }, __getColorTransform: function (a) { return null != this.__worldColorTransform ? (this.__tempColorTransform.__copyFrom(this.__worldColorTransform), this.__tempColorTransform.__combine(a), this.__tempColorTransform) : a; }, __popMask: function () {}, __popMaskObject: function (a, b) {}, __popMaskRect: function () {}, __pushMask: function (a) {}, __pushMaskObject: function (a, b) {}, __pushMaskRect: function (a, b) {}, __render: function (a) {}, __renderEvent: function (a) { if (null != a.__customRenderEvent && a.__renderable) { a.__customRenderEvent.allowSmoothing = this.__allowSmoothing; a.__customRenderEvent.objectMatrix.copyFrom(a.__renderTransform); a.__customRenderEvent.objectColorTransform.__copyFrom(a.__worldColorTransform); a.__customRenderEvent.renderer = this; switch (this.__type) { case 'cairo': a.__customRenderEvent.type = 'renderCairo'; break; case 'canvas': a.__customRenderEvent.type = 'renderCanvas'; break; case 'dom': a.__customRenderEvent.type = null != a.stage && a.__worldVisible ? 'renderDOM' : 'clearDOM'; break; case 'opengl': this.__cleared || this.__clear(); this.setShader(a.__worldShader); this.__context3D.__flushGL(); a.__customRenderEvent.type = 'renderOpenGL'; break; default: return; } this.__setBlendMode(a.__worldBlendMode); this.__pushMaskObject(a); a.dispatchEvent(a.__customRenderEvent); this.__popMaskObject(a); 'opengl' == this.__type && this.setViewport(); } }, __resize: function (a, b) {}, __setBlendMode: function (a) {}, __shouldCacheHardware: function (a, b) { if (null == a) return null; switch (a.__drawableType) { case 4: case 5: if (1 == b) return !0; b = this.__shouldCacheHardware_DisplayObject(a, b); if (1 == b) return !0; if (null != a.__children) { var d = 0; for (a = a.__children; d < a.length; ) { var c = a[d]; ++d; b = this.__shouldCacheHardware_DisplayObject(c, b); if (1 == b) return !0; } } return b; case 7: return 1 == b ? !0 : !1; case 9: return !0; default: return this.__shouldCacheHardware_DisplayObject(a, b); } }, __shouldCacheHardware_DisplayObject: function (a, b) { return 1 == b || null != a.__filters ? !0 : 0 == b || (null != a.__graphics && !Pc.isCompatible(a.__graphics)) ? !1 : null; }, __updateCacheBitmap: function (a, b) { if (null == a) return !1; switch (a.__drawableType) { case 2: var d = a; if ( null == d.__bitmapData || (null == d.__filters && 'opengl' == this.__type && null == d.__cacheBitmap) ) return !1; b = null != d.__bitmapData.image && d.__bitmapData.image.version != d.__imageVersion; break; case 7: var c = a; if ( null == c.__filters && 'opengl' == this.__type && null == c.__cacheBitmap && !c.__domRender ) return !1; b && (c.__renderDirty = !0); b = b || c.__dirty; break; case 9: if (null == a.__filters && 'opengl' == this.__type && null == a.__cacheBitmap) return !1; } if (a.__isCacheBitmapRender) return !1; c = Kc.__pool.get(); c.__copyFrom(a.__worldColorTransform); null != this.__worldColorTransform && c.__combine(this.__worldColorTransform); var f = !1; if (a.get_cacheAsBitmap() || ('opengl' != this.__type && !c.__isDefault(!0))) { f = null; var g = (b = null == a.__cacheBitmap || (a.__renderDirty && (b || (null != a.__children && 0 < a.__children.length))) || a.opaqueBackground != a.__cacheBitmapBackground) || (null != a.__graphics && a.__graphics.__softwareDirty) || !a.__cacheBitmapColorTransform.__equals(c, !0), l = b || (null != a.__graphics && a.__graphics.__hardwareDirty), q = this.__type; if (g || l) 'opengl' == q && 0 == this.__shouldCacheHardware(a, null) && (q = 'canvas'), !g || ('canvas' != q && 'cairo' != q) || (b = !0), l && 'opengl' == q && (b = !0); g = b || !a.__cacheBitmap.__worldTransform.equals(a.__worldTransform); if ((d = null != a.__filters) && !b) { l = 0; for (var h = a.__filters; l < h.length; ) { var r = h[l]; ++l; if (r.__renderDirty) { b = !0; break; } } } null == a.__cacheBitmapMatrix && (a.__cacheBitmapMatrix = new Ia()); l = null != a.__cacheAsBitmapMatrix ? a.__cacheAsBitmapMatrix : a.__renderTransform; b || (l.a == a.__cacheBitmapMatrix.a && l.b == a.__cacheBitmapMatrix.b && l.c == a.__cacheBitmapMatrix.c && l.d == a.__cacheBitmapMatrix.d) || (b = !0); !b && 'opengl' != this.__type && null != a.__cacheBitmapData && null != a.__cacheBitmapData.image && a.__cacheBitmapData.image.version < a.__cacheBitmapData.__textureVersion && (b = !0); a.__cacheBitmapMatrix.copyFrom(l); a.__cacheBitmapMatrix.tx = 0; var k = (a.__cacheBitmapMatrix.ty = 0), p = 0, n = 0, u = 0; r = h = 0; if (g || b) (f = ea.__pool.get()), a.__getFilterBounds(f, a.__cacheBitmapMatrix), (n = Math.ceil(f.width)), (u = Math.ceil(f.height)), (h = 0 < f.x ? Math.ceil(f.x) : Math.floor(f.x)), (r = 0 < f.y ? Math.ceil(f.y) : Math.floor(f.y)), null != a.__cacheBitmapData ? n > a.__cacheBitmapData.width || u > a.__cacheBitmapData.height ? ((k = Math.ceil(Math.max(1.25 * n, a.__cacheBitmapData.width))), (p = Math.ceil(Math.max(1.25 * u, a.__cacheBitmapData.height))), (b = !0)) : ((k = a.__cacheBitmapData.width), (p = a.__cacheBitmapData.height)) : ((k = n), (p = u)); if (b) if ( ((g = !0), (a.__cacheBitmapBackground = a.opaqueBackground), 0.5 <= n && 0.5 <= u) ) { var m = null != a.opaqueBackground && (k != n || p != u), t = null != a.opaqueBackground ? -16777216 | a.opaqueBackground : 0, x = m ? 0 : t, v = 'opengl' == this.__type; null == a.__cacheBitmapData || k > a.__cacheBitmapData.width || p > a.__cacheBitmapData.height ? ((a.__cacheBitmapData = new la(k, p, !0, x)), null == a.__cacheBitmap && (a.__cacheBitmap = new rc()), (a.__cacheBitmap.__bitmapData = a.__cacheBitmapData), (a.__cacheBitmapRenderer = null)) : a.__cacheBitmapData.__fillRect(a.__cacheBitmapData.rect, x, v); m && (f.setTo(0, 0, n, u), a.__cacheBitmapData.__fillRect(f, t, v)); } else return ( Kc.__pool.release(c), (a.__cacheBitmap = null), (a.__cacheBitmapData = null), (a.__cacheBitmapData2 = null), (a.__cacheBitmapData3 = null), (a.__cacheBitmapRenderer = null), 7 == a.__drawableType && ((c = a), null != c.__cacheBitmap && ((c.__cacheBitmap.__renderTransform.tx -= c.__offsetX), (c.__cacheBitmap.__renderTransform.ty -= c.__offsetY))), !0 ); else (a.__cacheBitmapData = a.__cacheBitmap.get_bitmapData()), (a.__cacheBitmapData2 = null), (a.__cacheBitmapData3 = null); if (g || b) a.__cacheBitmap.__worldTransform.copyFrom(a.__worldTransform), l == a.__renderTransform ? (a.__cacheBitmap.__renderTransform.identity(), (a.__cacheBitmap.__renderTransform.tx = a.__renderTransform.tx + h), (a.__cacheBitmap.__renderTransform.ty = a.__renderTransform.ty + r)) : (a.__cacheBitmap.__renderTransform.copyFrom(a.__cacheBitmapMatrix), a.__cacheBitmap.__renderTransform.invert(), a.__cacheBitmap.__renderTransform.concat(a.__renderTransform), (a.__cacheBitmap.__renderTransform.tx += h), (a.__cacheBitmap.__renderTransform.ty += r)); a.__cacheBitmap.smoothing = this.__allowSmoothing; a.__cacheBitmap.__renderable = a.__renderable; a.__cacheBitmap.__worldAlpha = a.__worldAlpha; a.__cacheBitmap.__worldBlendMode = a.__worldBlendMode; a.__cacheBitmap.__worldShader = a.__worldShader; a.__cacheBitmap.set_mask(a.__mask); if (b) { if (null == a.__cacheBitmapRenderer || q != a.__cacheBitmapRenderer.__type) 'opengl' == q ? (a.__cacheBitmapRenderer = new Ib( w.__cast(this, Ib).__context3D, a.__cacheBitmapData )) : (null == a.__cacheBitmapData.image && ((a.__cacheBitmapData = new la( k, p, !0, null != a.opaqueBackground ? -16777216 | a.opaqueBackground : 0 )), (a.__cacheBitmap.__bitmapData = a.__cacheBitmapData)), za.convertToCanvas(a.__cacheBitmapData.image), (a.__cacheBitmapRenderer = new Cg( a.__cacheBitmapData.image.buffer.__srcContext ))), (a.__cacheBitmapRenderer.__worldTransform = new Ia()), (a.__cacheBitmapRenderer.__worldColorTransform = new Kc()); null == a.__cacheBitmapColorTransform && (a.__cacheBitmapColorTransform = new Kc()); a.__cacheBitmapRenderer.__stage = a.stage; a.__cacheBitmapRenderer.__allowSmoothing = this.__allowSmoothing; a.__cacheBitmapRenderer.__setBlendMode(10); a.__cacheBitmapRenderer.__worldAlpha = 1 / a.__worldAlpha; a.__cacheBitmapRenderer.__worldTransform.copyFrom(a.__renderTransform); a.__cacheBitmapRenderer.__worldTransform.invert(); a.__cacheBitmapRenderer.__worldTransform.concat(a.__cacheBitmapMatrix); a.__cacheBitmapRenderer.__worldTransform.tx -= h; a.__cacheBitmapRenderer.__worldTransform.ty -= r; a.__cacheBitmapRenderer.__worldColorTransform.__copyFrom(c); a.__cacheBitmapRenderer.__worldColorTransform.__invert(); a.__isCacheBitmapRender = !0; if ('opengl' == a.__cacheBitmapRenderer.__type) { t = a.__cacheBitmapRenderer; x = t.__context3D; v = x.__state.renderToTexture; var G = x.__state.renderToTextureDepthStencil, B = x.__state.renderToTextureAntiAlias, N = x.__state.renderToTextureSurfaceSelector, H = this.__blendMode; this.__suspendClipAndMask(); t.__copyShader(this); a.__cacheBitmapData.__setUVRect(x, 0, 0, n, u); t.__setRenderTarget(a.__cacheBitmapData); null != a.__cacheBitmapData.image && (a.__cacheBitmapData.__textureVersion = a.__cacheBitmapData.image.version + 1); a.__cacheBitmapData.__drawGL(a, t); if (d) { var D = !1; l = 0; for (h = a.__filters; l < h.length; ) (r = h[l]), ++l, r.__preserveObject && (D = !0); d = a.__cacheBitmapData; m = null; null == a.__cacheBitmapData2 || k > a.__cacheBitmapData2.width || p > a.__cacheBitmapData2.height ? (a.__cacheBitmapData2 = new la(k, p, !0, 0)) : (a.__cacheBitmapData2.fillRect(a.__cacheBitmapData2.rect, 0), null != a.__cacheBitmapData2.image && (a.__cacheBitmapData2.__textureVersion = a.__cacheBitmapData2.image.version + 1)); a.__cacheBitmapData2.__setUVRect(x, 0, 0, n, u); q = a.__cacheBitmapData2; D && (null == a.__cacheBitmapData3 || k > a.__cacheBitmapData3.width || p > a.__cacheBitmapData3.height ? (a.__cacheBitmapData3 = new la(k, p, !0, 0)) : (a.__cacheBitmapData3.fillRect(a.__cacheBitmapData3.rect, 0), null != a.__cacheBitmapData3.image && (a.__cacheBitmapData3.__textureVersion = a.__cacheBitmapData3.image.version + 1)), a.__cacheBitmapData3.__setUVRect(x, 0, 0, n, u), (m = a.__cacheBitmapData3)); t.__setBlendMode(10); t.__worldAlpha = 1; t.__worldTransform.identity(); t.__worldColorTransform.__identity(); l = 0; for (h = a.__filters; l < h.length; ) { r = h[l]; ++l; r.__preserveObject && (t.__setRenderTarget(m), t.__renderFilterPass(d, t.__defaultDisplayShader, r.__smooth)); p = 0; for (n = r.__numShaderPasses; p < n; ) (k = p++), (k = r.__initShader(t, k, r.__preserveObject ? m : null)), t.__setBlendMode(r.__shaderBlendMode), t.__setRenderTarget(q), t.__renderFilterPass(d, k, r.__smooth), (k = d), (d = q), (q = k); r.__renderDirty = !1; } a.__cacheBitmap.__bitmapData = d; } this.__blendMode = 10; this.__setBlendMode(H); this.__copyShader(t); null != v ? x.setRenderToTexture(v, G, B, N) : x.setRenderToBackBuffer(); this.__resumeClipAndMask(t); this.setViewport(); a.__cacheBitmapColorTransform.__copyFrom(c); } else { a.__cacheBitmapData.__drawCanvas(a, a.__cacheBitmapRenderer); if (d) { D = n = !1; l = 0; for (h = a.__filters; l < h.length; ) (r = h[l]), ++l, r.__needSecondBitmapData && (n = !0), r.__preserveObject && (D = !0); d = a.__cacheBitmapData; m = null; n ? (null == a.__cacheBitmapData2 || null == a.__cacheBitmapData2.image || k > a.__cacheBitmapData2.width || p > a.__cacheBitmapData2.height ? (a.__cacheBitmapData2 = new la(k, p, !0, 0)) : a.__cacheBitmapData2.fillRect(a.__cacheBitmapData2.rect, 0), (q = a.__cacheBitmapData2)) : (q = d); D && (null == a.__cacheBitmapData3 || null == a.__cacheBitmapData3.image || k > a.__cacheBitmapData3.width || p > a.__cacheBitmapData3.height ? (a.__cacheBitmapData3 = new la(k, p, !0, 0)) : a.__cacheBitmapData3.fillRect(a.__cacheBitmapData3.rect, 0), (m = a.__cacheBitmapData3)); null == a.__tempPoint && (a.__tempPoint = new na()); p = a.__tempPoint; l = 0; for (h = a.__filters; l < h.length; ) (r = h[l]), ++l, r.__preserveObject && m.copyPixels(d, d.rect, p), (k = r.__applyFilter(q, d, d.rect, p)), r.__preserveObject && k.draw( m, null, null != a.__objectTransform ? a.__objectTransform.get_colorTransform() : null ), (r.__renderDirty = !1), n && k == q && ((k = d), (d = q), (q = k)); a.__cacheBitmapData != d && ((k = a.__cacheBitmapData), (a.__cacheBitmapData = d), (a.__cacheBitmapData2 = k), (a.__cacheBitmap.__bitmapData = a.__cacheBitmapData), (a.__cacheBitmapRenderer = null)); a.__cacheBitmap.__imageVersion = a.__cacheBitmapData.__textureVersion; } a.__cacheBitmapColorTransform.__copyFrom(c); a.__cacheBitmapColorTransform.__isDefault(!0) || ((a.__cacheBitmapColorTransform.alphaMultiplier = 1), a.__cacheBitmapData.colorTransform( a.__cacheBitmapData.rect, a.__cacheBitmapColorTransform )); } a.__isCacheBitmapRender = !1; } (g || b) && ea.__pool.release(f); f = g; } else null != a.__cacheBitmap && ('dom' == this.__type && this.__renderDrawableClear(a.__cacheBitmap), (a.__cacheBitmap = null), (a.__cacheBitmapData = null), (a.__cacheBitmapData2 = null), (a.__cacheBitmapData3 = null), (a.__cacheBitmapColorTransform = null), (a.__cacheBitmapRenderer = null), (f = !0)); Kc.__pool.release(c); f && 7 == a.__drawableType && ((c = a), null != c.__cacheBitmap && ((c.__cacheBitmap.__renderTransform.tx -= c.__offsetX), (c.__cacheBitmap.__renderTransform.ty -= c.__offsetY))); return f; }, __class__: Qe }); var Bm = function (a) { Qe.call(this); }; k['openfl.display.CairoRenderer'] = Bm; Bm.__name__ = 'openfl.display.CairoRenderer'; Bm.__super__ = Qe; Bm.prototype = t(Qe.prototype, { cairo: null, __matrix: null, __matrix3: null, applyMatrix: function (a, b) { null == b && (b = this.cairo); this.__matrix.copyFrom(a); this.cairo == b && null != this.__worldTransform && this.__matrix.concat(this.__worldTransform); this.__matrix3.a = this.__matrix.a; this.__matrix3.b = this.__matrix.b; this.__matrix3.c = this.__matrix.c; this.__matrix3.d = this.__matrix.d; this.__roundPixels ? ((this.__matrix3.tx = Math.round(this.__matrix.tx)), (this.__matrix3.ty = Math.round(this.__matrix.ty))) : ((this.__matrix3.tx = this.__matrix.tx), (this.__matrix3.ty = this.__matrix.ty)); b.set_matrix(this.__matrix3); }, __clear: function () { if ( null != this.cairo && (this.cairo.identityMatrix(), null != this.__stage && this.__stage.__clearBeforeRender) ) { var a = this.__blendMode; this.__setBlendMode(10); this.cairo.setSourceRGB( this.__stage.__colorSplit[0], this.__stage.__colorSplit[1], this.__stage.__colorSplit[2] ); this.cairo.paint(); this.__setBlendMode(a); } }, __popMask: function () { this.cairo.restore(); }, __popMaskObject: function (a, b) { null == b && (b = !0); a.__isCacheBitmapRender || null == a.__mask || this.__popMask(); b && null != a.__scrollRect && this.__popMaskRect(); }, __popMaskRect: function () { this.cairo.restore(); }, __pushMask: function (a) { this.cairo.save(); this.applyMatrix(a.__renderTransform, this.cairo); this.cairo.newPath(); this.__renderDrawableMask(a); this.cairo.clip(); }, __pushMaskObject: function (a, b) { null == b && (b = !0); b && null != a.__scrollRect && this.__pushMaskRect(a.__scrollRect, a.__renderTransform); a.__isCacheBitmapRender || null == a.__mask || this.__pushMask(a.__mask); }, __pushMaskRect: function (a, b) { this.cairo.save(); this.applyMatrix(b, this.cairo); this.cairo.newPath(); this.cairo.rectangle(a.x, a.y, a.width, a.height); this.cairo.clip(); }, __render: function (a) { null != this.cairo && this.__renderDrawable(a); }, __renderDrawable: function (a) { if (null != a) switch (a.__drawableType) { case 6: !a.__renderable || 0 >= a.__worldAlpha || null == a.__currentState || (this.__pushMaskObject(a), this.__renderDrawable(a.__currentState), this.__popMaskObject(a), this.__renderEvent(a)); } }, __renderDrawableMask: function (a) { if (null != a) switch (a.__drawableType) { case 2: this.cairo.rectangle(0, 0, a.get_width(), a.get_height()); break; case 6: this.__renderDrawableMask(a.__currentState); } }, __setBlendMode: function (a) { null != this.__overrideBlendMode && (a = this.__overrideBlendMode); this.__blendMode != a && ((this.__blendMode = a), this.__setBlendModeCairo(this.cairo, a)); }, __setBlendModeCairo: function (a, b) { switch (b) { case 0: a.setOperator(12); break; case 2: a.setOperator(17); break; case 3: a.setOperator(23); break; case 5: a.setOperator(21); break; case 7: a.setOperator(2); break; case 8: a.setOperator(18); break; case 9: a.setOperator(14); break; case 11: a.setOperator(16); break; case 12: a.setOperator(15); break; default: a.setOperator(2); } }, __class__: Bm }); var Cg = function (a) { this.pixelRatio = 1; Qe.call(this); this.context = a; this.__tempMatrix = new Ia(); this.__type = 'canvas'; }; k['openfl.display.CanvasRenderer'] = Cg; Cg.__name__ = 'openfl.display.CanvasRenderer'; Cg.__super__ = Qe; Cg.prototype = t(Qe.prototype, { context: null, pixelRatio: null, __isDOM: null, __tempMatrix: null, applySmoothing: function (a, b) { a.imageSmoothingEnabled = b; }, setTransform: function (a, b) { null == b ? (b = this.context) : this.context == b && null != this.__worldTransform && (this.__tempMatrix.copyFrom(a), this.__tempMatrix.concat(this.__worldTransform), (a = this.__tempMatrix)); this.__roundPixels ? b.setTransform(a.a, a.b, a.c, a.d, a.tx | 0, a.ty | 0) : b.setTransform(a.a, a.b, a.c, a.d, a.tx, a.ty); }, __clear: function () { if (null != this.__stage) { var a = this.__blendMode; this.__blendMode = null; this.__setBlendMode(10); this.context.setTransform(1, 0, 0, 1, 0, 0); this.context.globalAlpha = 1; !this.__stage.__transparent && this.__stage.__clearBeforeRender ? ((this.context.fillStyle = this.__stage.__colorString), this.context.fillRect( 0, 0, this.__stage.stageWidth * this.__stage.window.__scale, this.__stage.stageHeight * this.__stage.window.__scale )) : this.__stage.__transparent && this.__stage.__clearBeforeRender && this.context.clearRect( 0, 0, this.__stage.stageWidth * this.__stage.window.__scale, this.__stage.stageHeight * this.__stage.window.__scale ); this.__setBlendMode(a); } }, __popMask: function () { this.context.restore(); }, __popMaskObject: function (a, b) { null == b && (b = !0); a.__isCacheBitmapRender || null == a.__mask || this.__popMask(); b && null != a.__scrollRect && this.__popMaskRect(); }, __popMaskRect: function () { this.context.restore(); }, __pushMask: function (a) { this.context.save(); this.setTransform(a.__renderTransform, this.context); this.context.beginPath(); this.__renderDrawableMask(a); this.context.closePath(); this.context.clip(); }, __pushMaskObject: function (a, b) { null == b && (b = !0); b && null != a.__scrollRect && this.__pushMaskRect(a.__scrollRect, a.__renderTransform); a.__isCacheBitmapRender || null == a.__mask || this.__pushMask(a.__mask); }, __pushMaskRect: function (a, b) { this.context.save(); this.setTransform(b, this.context); this.context.beginPath(); this.context.rect(a.x, a.y, a.width, a.height); this.context.clip(); }, __render: function (a) { this.__renderDrawable(a); }, __renderDrawable: function (a) { if (null != a) switch (a.__drawableType) { case 0: Cm.renderDrawable(a, this); break; case 2: Ni.renderDrawable(a, this); break; case 3: Ch.renderDrawable(a, this); break; case 4: case 5: Dm.renderDrawable(a, this); break; case 6: Em.renderDrawable(a, this); break; case 7: U.renderDrawable(a, this); break; case 8: $h.renderDrawable(a, this); break; case 9: Uf.renderDrawable(a, this); } }, __renderDrawableMask: function (a) { if (null != a) switch (a.__drawableType) { case 0: Cm.renderDrawableMask(a, this); break; case 2: Ni.renderDrawableMask(a, this); break; case 3: Ch.renderDrawableMask(a, this); break; case 4: case 5: Dm.renderDrawableMask(a, this); break; case 6: Em.renderDrawableMask(a, this); break; case 7: U.renderDrawableMask(a, this); break; case 8: $h.renderDrawableMask(a, this); break; case 9: Uf.renderDrawableMask(a, this); } }, __setBlendMode: function (a) { null != this.__overrideBlendMode && (a = this.__overrideBlendMode); this.__blendMode != a && ((this.__blendMode = a), this.__setBlendModeContext(this.context, a)); }, __setBlendModeContext: function (a, b) { switch (b) { case 0: a.globalCompositeOperation = 'lighter'; break; case 2: a.globalCompositeOperation = 'darken'; break; case 3: a.globalCompositeOperation = 'difference'; break; case 5: a.globalCompositeOperation = 'hard-light'; break; case 8: a.globalCompositeOperation = 'lighten'; break; case 9: a.globalCompositeOperation = 'multiply'; break; case 11: a.globalCompositeOperation = 'overlay'; break; case 12: a.globalCompositeOperation = 'screen'; break; default: a.globalCompositeOperation = 'source-over'; } }, __class__: Cg }); var iz = { fromInt: function (a) { return a; }, fromString: function (a) { switch (a) { case 'none': return 0; case 'round': return 1; case 'square': return 2; default: return null; } }, toInt: function (a) { return a; }, toString: function (a) { switch (a) { case 0: return 'none'; case 1: return 'round'; case 2: return 'square'; default: return null; } } }, Fm = function (a) { Ka.call(this); this.__drawableType = 10; this.__element = a; }; k['openfl.display.DOMElement'] = Fm; Fm.__name__ = 'openfl.display.DOMElement'; Fm.__super__ = Ka; Fm.prototype = t(Ka.prototype, { __active: null, __element: null, __class__: Fm }); var Oi = function (a) { this.pixelRatio = 1; Qe.call(this); this.element = a; Ka.__supportDOM = !0; a = window.getComputedStyle(document.documentElement, ''); a = (Array.prototype.slice .call(a) .join('') .match(/-(moz|webkit|ms)-/) || ('' === a.OLink && ['', 'o']))[1]; 'WebKit|Moz|MS|O'.match(new RegExp('(' + a + ')', 'i')); a[0].toUpperCase(); a.substr(1); this.__vendorPrefix = a; this.__transformProperty = 'webkit' == a ? '-webkit-transform' : 'transform'; this.__transformOriginProperty = 'webkit' == a ? '-webkit-transform-origin' : 'transform-origin'; this.__clipRects = []; this.__z = this.__numClipRects = 0; this.__type = 'dom'; this.__canvasRenderer = new Cg(null); this.__canvasRenderer.__isDOM = !0; }; k['openfl.display.DOMRenderer'] = Oi; Oi.__name__ = 'openfl.display.DOMRenderer'; Oi.__super__ = Qe; Oi.prototype = t(Qe.prototype, { element: null, pixelRatio: null, __canvasRenderer: null, __clipRects: null, __currentClipRect: null, __numClipRects: null, __transformOriginProperty: null, __transformProperty: null, __vendorPrefix: null, __z: null, applyStyle: function (a, b) { null != a && null != b && ((null != a.__style && b.parentElement == this.element) || this.__initializeElement(a, b), (a.__style = b.style), this.__updateClip(a), this.__applyStyle(a, !0, !0, !0)); }, clearStyle: function (a) { null != a && a.parentElement == this.element && this.element.removeChild(a); }, __applyStyle: function (a, b, d, c) { var e = a.__style; if (b && a.__renderTransformChanged) { b = a.__renderTransform; var g = this.__roundPixels; null == g && (g = !1); e.setProperty( this.__transformProperty, g ? 'matrix3d(' + b.a + ', ' + b.b + ', 0, 0, ' + b.c + ', ' + b.d + ', 0, 0, 0, 0, 1, 0, ' + (b.tx | 0) + ', ' + (b.ty | 0) + ', 0, 1)' : 'matrix3d(' + b.a + ', ' + b.b + ', 0, 0, ' + b.c + ', ' + b.d + ', 0, 0, 0, 0, 1, 0, ' + b.tx + ', ' + b.ty + ', 0, 1)', null ); } a.__worldZ != ++this.__z && ((a.__worldZ = this.__z), e.setProperty('z-index', null == a.__worldZ ? 'null' : '' + a.__worldZ, null)); d && a.__worldAlphaChanged && (1 > a.__worldAlpha ? e.setProperty( 'opacity', null == a.__worldAlpha ? 'null' : '' + a.__worldAlpha, null ) : e.removeProperty('opacity')); c && a.__worldClipChanged && (null == a.__worldClip ? e.removeProperty('clip') : ((a = a.__worldClip), e.setProperty( 'clip', 'rect(' + a.y + 'px, ' + a.get_right() + 'px, ' + a.get_bottom() + 'px, ' + a.x + 'px)', null ))); }, __initializeElement: function (a, b) { var d = (a.__style = b.style); d.setProperty('position', 'absolute', null); d.setProperty('top', '0', null); d.setProperty('left', '0', null); d.setProperty(this.__transformOriginProperty, '0 0 0', null); this.element.appendChild(b); a.__worldAlphaChanged = !0; a.__renderTransformChanged = !0; a.__worldVisibleChanged = !0; a.__worldClipChanged = !0; a.__worldClip = null; a.__worldZ = -1; }, __popMask: function () { this.__popMaskRect(); }, __popMaskObject: function (a, b) { null == b && (b = !0); null != a.__mask && this.__popMask(); b && null != a.__scrollRect && this.__popMaskRect(); }, __popMaskRect: function () { 0 < this.__numClipRects && (this.__numClipRects--, (this.__currentClipRect = 0 < this.__numClipRects ? this.__clipRects[this.__numClipRects - 1] : null)); }, __pushMask: function (a) { this.__pushMaskRect(a.getBounds(a), a.__renderTransform); }, __pushMaskObject: function (a, b) { null == b && (b = !0); b && null != a.__scrollRect && this.__pushMaskRect(a.__scrollRect, a.__renderTransform); null != a.__mask && this.__pushMask(a.__mask); }, __pushMaskRect: function (a, b) { this.__numClipRects == this.__clipRects.length && (this.__clipRects[this.__numClipRects] = new ea()); var d = this.__clipRects[this.__numClipRects]; a.__transform(d, b); 0 < this.__numClipRects && ((a = this.__clipRects[this.__numClipRects - 1]), d.__contract(a.x, a.y, a.width, a.height)); 0 > d.height && (d.height = 0); 0 > d.width && (d.width = 0); this.__currentClipRect = d; this.__numClipRects++; }, __render: function (a) { this.element.style.background = this.__stage.__transparent ? 'none' : this.__stage.__colorString; this.__z = 1; this.__renderDrawable(a); }, __renderDrawable: function (a) { if (null != a) switch (a.__drawableType) { case 2: Qc.renderDrawable(a, this); break; case 3: Vf.renderDrawable(a, this); break; case 4: case 5: Gm.renderDrawable(a, this); break; case 6: Hm.renderDrawable(a, this); break; case 7: ac.renderDrawable(a, this); break; case 8: ah.renderDrawable(a, this); break; case 9: Dg.renderDrawable(a, this); break; case 10: null != a.stage && a.__worldVisible && a.__renderable ? (a.__active || (this.__initializeElement(a, a.__element), (a.__active = !0)), this.__updateClip(a), this.__applyStyle(a, !0, !0, !0)) : a.__active && (this.element.removeChild(a.__element), (a.__active = !1)), Vf.renderDrawable(a, this); } }, __renderDrawableClear: function (a) { if (null != a) switch (a.__drawableType) { case 2: Qc.renderDrawableClear(a, this); break; case 3: Vf.renderDrawableClear(a, this); break; case 4: case 5: Gm.renderDrawableClear(a, this); break; case 6: Hm.renderDrawableClear(a, this); break; case 7: ac.renderDrawableClear(a, this); break; case 8: ah.renderDrawableClear(a, this); break; case 9: Dg.renderDrawableClear(a, this); } }, __setBlendMode: function (a) { null != this.__overrideBlendMode && (a = this.__overrideBlendMode); this.__blendMode != a && (this.__blendMode = a); }, __updateClip: function (a) { if (null == this.__currentClipRect) (a.__worldClipChanged = null != a.__worldClip), (a.__worldClip = null); else { null == a.__worldClip && (a.__worldClip = new ea()); var b = ea.__pool.get(), d = Ia.__pool.get(); d.copyFrom(a.__renderTransform); d.invert(); this.__currentClipRect.__transform(b, d); b.equals(a.__worldClip) ? (a.__worldClipChanged = !1) : (a.__worldClip.copyFrom(b), (a.__worldClipChanged = !0)); ea.__pool.release(b); Ia.__pool.release(d); } }, __class__: Oi }); var af = function (a) { this.byteCode = a; this.precisionHint = 1; this.__glSourceDirty = !0; this.__numPasses = 1; this.__data = Pz._new(a); }; k['openfl.display.Shader'] = af; af.__name__ = 'openfl.display.Shader'; af.prototype = { byteCode: null, glProgram: null, precisionHint: null, program: null, __alpha: null, __bitmap: null, __colorMultiplier: null, __colorOffset: null, __context: null, __data: null, __glFragmentSource: null, __glSourceDirty: null, __glVertexSource: null, __hasColorTransform: null, __inputBitmapData: null, __isGenerated: null, __matrix: null, __numPasses: null, __paramBool: null, __paramFloat: null, __paramInt: null, __position: null, __textureCoord: null, __texture: null, __textureSize: null, __clearUseArray: function () { for (var a = 0, b = this.__paramBool; a < b.length; ) { var d = b[a]; ++a; d.__useArray = !1; } a = 0; for (b = this.__paramFloat; a < b.length; ) (d = b[a]), ++a, (d.__useArray = !1); a = 0; for (b = this.__paramInt; a < b.length; ) (d = b[a]), ++a, (d.__useArray = !1); }, __createGLShader: function (a, b) { var d = this.__context.gl, c = d.createShader(b); d.shaderSource(c, a); d.compileShader(c); 0 == d.getShaderParameter(c, d.COMPILE_STATUS) && ((b = b == d.VERTEX_SHADER ? 'Error compiling vertex shader' : 'Error compiling fragment shader'), (b += '\n' + d.getShaderInfoLog(c)), Va.error(b + ('\n' + a), { fileName: 'openfl/display/Shader.hx', lineNumber: 331, className: 'openfl.display.Shader', methodName: '__createGLShader' })); return c; }, __createGLProgram: function (a, b) { var d = this.__context.gl; a = this.__createGLShader(a, d.VERTEX_SHADER); var c = this.__createGLShader(b, d.FRAGMENT_SHADER); b = d.createProgram(); for (var f = 0, g = this.__paramFloat; f < g.length; ) { var l = g[f]; ++f; if (-1 < l.name.indexOf('Position') && T.startsWith(l.name, 'openfl_')) { d.bindAttribLocation(b, 0, l.name); break; } } d.attachShader(b, a); d.attachShader(b, c); d.linkProgram(b); 0 == d.getProgramParameter(b, d.LINK_STATUS) && ((d = 'Unable to initialize the shader program\n' + d.getProgramInfoLog(b)), Va.error(d, { fileName: 'openfl/display/Shader.hx', lineNumber: 364, className: 'openfl.display.Shader', methodName: '__createGLProgram' })); return b; }, __disable: function () { null != this.program && this.__disableGL(); }, __disableGL: function () { for ( var a = this.__context.gl, b = 0, d = 0, c = this.__inputBitmapData; d < c.length; ) { var f = c[d]; ++d; f.__disableGL(this.__context, b); ++b; } d = 0; for (c = this.__paramBool; d < c.length; ) (b = c[d]), ++d, b.__disableGL(this.__context); d = 0; for (c = this.__paramFloat; d < c.length; ) (b = c[d]), ++d, b.__disableGL(this.__context); d = 0; for (c = this.__paramInt; d < c.length; ) (b = c[d]), ++d, b.__disableGL(this.__context); this.__context.__bindGLArrayBuffer(null); 'opengl' == this.__context.__context.type && a.disable(a.TEXTURE_2D); }, __enable: function () { this.__init(); null != this.program && this.__enableGL(); }, __enableGL: function () { for ( var a = 0, b = this.__context.gl, d = 0, c = this.__inputBitmapData; d < c.length; ) { var f = c[d]; ++d; b.uniform1i(f.index, a); ++a; } 'opengl' == this.__context.__context.type && 0 < a && b.enable(b.TEXTURE_2D); }, __init: function () { null == this.__data && (this.__data = Pz._new(null)); null == this.__glFragmentSource || null == this.__glVertexSource || (null != this.program && !this.__glSourceDirty) || this.__initGL(); }, __initGL: function () { if (this.__glSourceDirty || null == this.__paramBool) (this.__glSourceDirty = !1), (this.program = null), (this.__inputBitmapData = []), (this.__paramBool = []), (this.__paramFloat = []), (this.__paramInt = []), this.__processGLData(this.get_glVertexSource(), 'attribute'), this.__processGLData(this.get_glVertexSource(), 'uniform'), this.__processGLData(this.get_glFragmentSource(), 'uniform'); if (null != this.__context && null == this.program) { var a = this.__context.gl, b = '#ifdef GL_ES\n\t\t\t\t' + (1 == this.precisionHint ? '#ifdef GL_FRAGMENT_PRECISION_HIGH\n\t\t\t\tprecision highp float;\n\t\t\t\t#else\n\t\t\t\tprecision mediump float;\n\t\t\t\t#endif' : 'precision lowp float;') + '\n\t\t\t\t#endif\n\t\t\t\t', d = b + this.get_glVertexSource(); b += this.get_glFragmentSource(); var c = d + b; Object.prototype.hasOwnProperty.call(this.__context.__programs.h, c) ? (this.program = this.__context.__programs.h[c]) : ((this.program = this.__context.createProgram(1)), (this.program.__glProgram = this.__createGLProgram(d, b)), (this.__context.__programs.h[c] = this.program)); if (null != this.program) { this.glProgram = this.program.__glProgram; d = 0; for (b = this.__inputBitmapData; d < b.length; ) (c = b[d]), ++d, (c.index = c.__isUniform ? a.getUniformLocation(this.glProgram, c.name) : a.getAttribLocation(this.glProgram, c.name)); d = 0; for (b = this.__paramBool; d < b.length; ) (c = b[d]), ++d, (c.index = c.__isUniform ? a.getUniformLocation(this.glProgram, c.name) : a.getAttribLocation(this.glProgram, c.name)); d = 0; for (b = this.__paramFloat; d < b.length; ) (c = b[d]), ++d, (c.index = c.__isUniform ? a.getUniformLocation(this.glProgram, c.name) : a.getAttribLocation(this.glProgram, c.name)); d = 0; for (b = this.__paramInt; d < b.length; ) (c = b[d]), ++d, (c.index = c.__isUniform ? a.getUniformLocation(this.glProgram, c.name) : a.getAttribLocation(this.glProgram, c.name)); } } }, __processGLData: function (a, b) { var d = 0, c; for ( c = 'uniform' == b ? new Ja('uniform ([A-Za-z0-9]+) ([A-Za-z0-9_]+)', '') : new Ja('attribute ([A-Za-z0-9]+) ([A-Za-z0-9_]+)', ''); c.matchSub(a, d); ) { var f = c.matched(1); var g = c.matched(2); if (!T.startsWith(g, 'gl_')) { d = 'uniform' == b; if (T.startsWith(f, 'sampler')) { f = new Im(); f.name = g; f.__isUniform = d; this.__inputBitmapData.push(f); switch (g) { case 'bitmap': this.__bitmap = f; break; case 'openfl_Texture': this.__texture = f; } this.__data[g] = f; this.__isGenerated && (this[g] = f); } else if ( !Object.prototype.hasOwnProperty.call(this.__data, g) || null == aa.field(this.__data, g) ) { switch (f) { case 'bool': var l = 0; break; case 'bvec2': l = 1; break; case 'bvec3': l = 2; break; case 'bvec4': l = 3; break; case 'dvec2': case 'vec2': l = 5; break; case 'dvec3': case 'vec3': l = 6; break; case 'double': case 'float': l = 4; break; case 'ivec3': case 'uvec3': l = 10; break; case 'ivec4': case 'uvec4': l = 11; break; case 'mat2': case 'mat2x2': l = 12; break; case 'mat2x3': l = 13; break; case 'mat2x4': l = 14; break; case 'mat3x2': l = 15; break; case 'mat3': case 'mat3x3': l = 16; break; case 'mat3x4': l = 17; break; case 'mat4': case 'mat4x4': l = 20; break; case 'mat4x2': l = 18; break; case 'mat4x3': l = 19; break; case 'int': case 'uint': l = 8; break; case 'ivec2': case 'uvec2': l = 9; break; case 'dvec4': case 'vec4': l = 7; break; default: l = null; } switch (l) { case 1: case 5: case 9: f = 2; break; case 3: case 7: case 11: case 12: f = 4; break; case 2: case 6: case 10: f = 3; break; case 16: f = 9; break; case 20: f = 16; break; default: f = 1; } switch (l) { case 12: var q = 2; break; case 16: q = 3; break; case 20: q = 4; break; default: q = 1; } switch (l) { case 0: case 1: case 2: case 3: var h = new Pi(); h.set_name(g); h.type = l; h.__arrayLength = q; h.__isBool = !0; h.__isUniform = d; h.__length = f; this.__paramBool.push(h); 'openfl_HasColorTransform' == g && (this.__hasColorTransform = h); this.__data[g] = h; this.__isGenerated && (this[g] = h); break; case 8: case 9: case 10: case 11: h = new Pi(); h.set_name(g); h.type = l; h.__arrayLength = q; h.__isInt = !0; h.__isUniform = d; h.__length = f; this.__paramInt.push(h); this.__data[g] = h; this.__isGenerated && (this[g] = h); break; default: h = new Pi(); h.set_name(g); h.type = l; h.__arrayLength = q; 0 < q && ((l = q * q), (l = null != l ? new Float32Array(l) : null), (h.__uniformMatrix = l)); h.__isFloat = !0; h.__isUniform = d; h.__length = f; this.__paramFloat.push(h); if (T.startsWith(g, 'openfl_')) switch (g) { case 'openfl_Alpha': this.__alpha = h; break; case 'openfl_ColorMultiplier': this.__colorMultiplier = h; break; case 'openfl_ColorOffset': this.__colorOffset = h; break; case 'openfl_Matrix': this.__matrix = h; break; case 'openfl_Position': this.__position = h; break; case 'openfl_TextureCoord': this.__textureCoord = h; break; case 'openfl_TextureSize': this.__textureSize = h; } this.__data[g] = h; this.__isGenerated && (this[g] = h); } } g = c.matchedPos(); d = g.pos + g.len; } } }, __update: function () { null != this.program && this.__updateGL(); }, __updateFromBuffer: function (a, b) { null != this.program && this.__updateGLFromBuffer(a, b); }, __updateGL: function () { for (var a = 0, b = 0, d = this.__inputBitmapData; b < d.length; ) { var c = d[b]; ++b; c.__updateGL(this.__context, a); ++a; } b = 0; for (d = this.__paramBool; b < d.length; ) (a = d[b]), ++b, a.__updateGL(this.__context); b = 0; for (d = this.__paramFloat; b < d.length; ) (a = d[b]), ++b, a.__updateGL(this.__context); b = 0; for (d = this.__paramInt; b < d.length; ) (a = d[b]), ++b, a.__updateGL(this.__context); }, __updateGLFromBuffer: function (a, b) { for (var d = 0, c, f, g, l, q, h = 0, r = a.inputCount; h < r; ) (q = h++), (c = a.inputRefs[q]), (f = a.inputs[q]), (g = a.inputFilter[q]), (l = a.inputMipFilter[q]), (q = a.inputWrap[q]), null != f && (c.__updateGL(this.__context, d, f, g, l, q), ++d); h = this.__context.gl; 0 < a.paramDataLength ? (null == a.paramDataBuffer && (a.paramDataBuffer = h.createBuffer()), this.__context.__bindGLArrayBuffer(a.paramDataBuffer), $b.bufferData(h, h.ARRAY_BUFFER, a.paramData, h.DYNAMIC_DRAW)) : this.__context.__bindGLArrayBuffer(null); f = c = d = 0; g = a.paramBoolCount; l = a.paramFloatCount; var k = a.paramData, p = null, n = null, u = null; h = 0; for (r = a.paramCount; h < r; ) { q = h++; var m = !1; if (q < g) { var t = a.paramRefs_Bool[d]; for (var x = 0, v = a.overrideBoolCount; x < v; ) { var w = x++; if (t.name == a.overrideBoolNames[w]) { p = a.overrideBoolValues[w]; m = !0; break; } } m ? t.__updateGL(this.__context, p) : t.__updateGLFromBuffer( this.__context, k, a.paramPositions[q], a.paramLengths[q], b ); ++d; } else if (q < g + l) { t = a.paramRefs_Float[c]; x = 0; for (v = a.overrideFloatCount; x < v; ) if (((w = x++), t.name == a.overrideFloatNames[w])) { n = a.overrideFloatValues[w]; m = !0; break; } m ? t.__updateGL(this.__context, n) : t.__updateGLFromBuffer( this.__context, k, a.paramPositions[q], a.paramLengths[q], b ); ++c; } else { t = a.paramRefs_Int[f]; x = 0; for (v = a.overrideIntCount; x < v; ) if (((w = x++), t.name == a.overrideIntNames[w])) { u = a.overrideIntValues[w]; m = !0; break; } m ? t.__updateGL(this.__context, u) : t.__updateGLFromBuffer( this.__context, k, a.paramPositions[q], a.paramLengths[q], b ); ++f; } } }, get_data: function () { (this.__glSourceDirty || null == this.__data) && this.__init(); return this.__data; }, set_data: function (a) { return (this.__data = a); }, get_glFragmentSource: function () { return this.__glFragmentSource; }, set_glFragmentSource: function (a) { a != this.__glFragmentSource && (this.__glSourceDirty = !0); return (this.__glFragmentSource = a); }, get_glVertexSource: function () { return this.__glVertexSource; }, set_glVertexSource: function (a) { a != this.__glVertexSource && (this.__glSourceDirty = !0); return (this.__glVertexSource = a); }, __class__: af, __properties__: { set_glVertexSource: 'set_glVertexSource', get_glVertexSource: 'get_glVertexSource', set_glFragmentSource: 'set_glFragmentSource', get_glFragmentSource: 'get_glFragmentSource', set_data: 'set_data', get_data: 'get_data' } }; var Jm = function (a) { null == this.__glFragmentSource && (this.__glFragmentSource = 'varying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform sampler2D openfl_Texture;\n\t\tuniform vec2 openfl_TextureSize;\n\n\t\tvoid main(void) {\n\n\t\t\tvec4 color = texture2D (openfl_Texture, openfl_TextureCoordv);\n\n\t\tif (color.a == 0.0) {\n\n\t\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\n\n\t\t} else if (openfl_HasColorTransform) {\n\n\t\t\tcolor = vec4 (color.rgb / color.a, color.a);\n\n\t\t\tmat4 colorMultiplier = mat4 (0);\n\t\t\tcolorMultiplier[0][0] = openfl_ColorMultiplierv.x;\n\t\t\tcolorMultiplier[1][1] = openfl_ColorMultiplierv.y;\n\t\t\tcolorMultiplier[2][2] = openfl_ColorMultiplierv.z;\n\t\t\tcolorMultiplier[3][3] = 1.0; // openfl_ColorMultiplierv.w;\n\n\t\t\tcolor = clamp (openfl_ColorOffsetv + (color * colorMultiplier), 0.0, 1.0);\n\n\t\t\tif (color.a > 0.0) {\n\n\t\t\t\tgl_FragColor = vec4 (color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\n\n\t\t\t} else {\n\n\t\t\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tgl_FragColor = color * openfl_Alphav;\n\n\t\t}\n\n\t\t}'); null == this.__glVertexSource && (this.__glVertexSource = 'attribute float openfl_Alpha;\n\t\tattribute vec4 openfl_ColorMultiplier;\n\t\tattribute vec4 openfl_ColorOffset;\n\t\tattribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\n\t\tvarying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;\n\n\t\tvoid main(void) {\n\n\t\t\topenfl_Alphav = openfl_Alpha;\n\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\n\t\tif (openfl_HasColorTransform) {\n\n\t\t\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\n\t\t\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\n\n\t\t}\n\n\t\tgl_Position = openfl_Matrix * openfl_Position;\n\n\t\t}'); af.call(this, a); this.__isGenerated = !0; this.__initGL(); }; k['openfl.display.DisplayObjectShader'] = Jm; Jm.__name__ = 'openfl.display.DisplayObjectShader'; Jm.__super__ = af; Jm.prototype = t(af.prototype, { openfl_Alpha: null, openfl_ColorMultiplier: null, openfl_ColorOffset: null, openfl_Position: null, openfl_TextureCoord: null, openfl_Matrix: null, openfl_HasColorTransform: null, openfl_TextureSize: null, openfl_Texture: null, __class__: Jm }); var Uo = function (a, b) { cb.call(this); this.name = a; this.frame = b; }; k['openfl.display.FrameLabel'] = Uo; Uo.__name__ = 'openfl.display.FrameLabel'; Uo.__super__ = cb; Uo.prototype = t(cb.prototype, { frame: null, name: null, __class__: Uo }); var jz = function (a, b) { this.script = a; this.frame = b; }; k['openfl.display.FrameScript'] = jz; jz.__name__ = 'openfl.display.FrameScript'; jz.prototype = { frame: null, script: null, __class__: jz }; var Se = function (a) { this.__dirty = !0; this.__owner = a; this.__commands = new Be(); this.__positionY = this.__positionX = this.__strokePadding = 0; this.__renderTransform = new Ia(); this.__usedShaderBuffers = new F(); this.__worldTransform = new Ia(); this.__height = this.__width = 0; this.__shaderBufferPool = new ud(function () { return new Km(); }); this.moveTo(0, 0); }; k['openfl.display.Graphics'] = Se; Se.__name__ = 'openfl.display.Graphics'; Se.prototype = { __bounds: null, __commands: null, __dirty: null, __hardwareDirty: null, __height: null, __managed: null, __positionX: null, __positionY: null, __quadBuffer: null, __renderTransform: null, __shaderBufferPool: null, __softwareDirty: null, __strokePadding: null, __transformDirty: null, __triangleIndexBuffer: null, __triangleIndexBufferCount: null, __triangleIndexBufferData: null, __usedShaderBuffers: null, __vertexBuffer: null, __vertexBufferCount: null, __vertexBufferCountUVT: null, __vertexBufferData: null, __vertexBufferDataUVT: null, __vertexBufferUVT: null, __visible: null, __owner: null, __width: null, __worldTransform: null, __canvas: null, __context: null, __bitmap: null, beginBitmapFill: function (a, b, d, c) { null == c && (c = !1); null == d && (d = !0); this.__commands.beginBitmapFill(a, null != b ? b.clone() : null, d, c); this.__visible = !0; }, beginFill: function (a, b) { null == b && (b = 1); null == a && (a = 0); this.__commands.beginFill(a & 16777215, b); 0 < b && (this.__visible = !0); }, beginGradientFill: function (a, b, d, c, f, g, l, q) { null == q && (q = 0); null == l && (l = 1); null == g && (g = 0); if (null != b && 0 != b.length) { if (null == d) { d = []; for (var e = 0, h = b.length; e < h; ) e++, d.push(1); } if (null == c) for (c = [], e = 0, h = b.length; e < h; ) { var k = e++; c.push(Math.ceil((k / b.length) * 255)); } if (!(d.length < b.length || c.length < b.length)) for (this.__commands.beginGradientFill(a, b, d, c, f, g, l, q), e = 0; e < d.length; ) if (((a = d[e]), ++e, 0 < a)) { this.__visible = !0; break; } } }, beginShaderFill: function (a, b) { null != a && ((b = this.__shaderBufferPool.get()), this.__usedShaderBuffers.add(b), b.update(a), this.__commands.beginShaderFill(b)); }, clear: function () { for (var a = this.__usedShaderBuffers.h; null != a; ) { var b = a.item; a = a.next; this.__shaderBufferPool.release(b); } this.__usedShaderBuffers.clear(); this.__commands.clear(); this.__strokePadding = 0; null != this.__bounds && (this.set___dirty(!0), (this.__transformDirty = !0), (this.__bounds = null)); this.__visible = !1; this.__positionY = this.__positionX = 0; this.moveTo(0, 0); }, copyFrom: function (a) { this.__bounds = null != a.__bounds ? a.__bounds.clone() : null; this.__commands = a.__commands.copy(); this.set___dirty(!0); this.__strokePadding = a.__strokePadding; this.__positionX = a.__positionX; this.__positionY = a.__positionY; this.__transformDirty = !0; this.__visible = a.__visible; }, cubicCurveTo: function (a, b, d, c, f, g) { this.__inflateBounds( this.__positionX - this.__strokePadding, this.__positionY - this.__strokePadding ); this.__inflateBounds( this.__positionX + this.__strokePadding, this.__positionY + this.__strokePadding ); var e = f, q = f; if ( !((a < f && a > this.__positionX) || (a > f && a < this.__positionX)) || !((d < f && d > this.__positionX) || (d > f && d < this.__positionX)) ) { var h = 2 * this.__positionX - 4 * a + 2 * d, r = a - this.__positionX, k = -this.__positionX + 3 * a + f - 3 * d, p = (-h + Math.sqrt(h * h - 4 * r * k)) / (2 * k); h = (-h - Math.sqrt(h * h - 4 * r * k)) / (2 * k); 0 < p && 1 > p && (e = this.__calculateBezierCubicPoint(p, this.__positionX, a, d, f)); 0 < h && 1 > h && (q = this.__calculateBezierCubicPoint(h, this.__positionX, a, d, f)); } var n = g, u = g; (((b < g && b > this.__positionX) || (b > g && b < this.__positionX)) && ((c < g && c > this.__positionX) || (c > g && c < this.__positionX))) || ((h = 2 * this.__positionX - 4 * b + 2 * c), (r = b - this.__positionX), (k = -this.__positionX + 3 * b + g - 3 * c), (p = (-h + Math.sqrt(h * h - 4 * r * k)) / (2 * k)), (h = (-h - Math.sqrt(h * h - 4 * r * k)) / (2 * k)), 0 < p && 1 > p && (n = this.__calculateBezierCubicPoint(p, this.__positionX, b, c, g)), 0 < h && 1 > h && (u = this.__calculateBezierCubicPoint(h, this.__positionX, b, c, g))); this.__inflateBounds(e - this.__strokePadding, n - this.__strokePadding); this.__inflateBounds(e + this.__strokePadding, n + this.__strokePadding); this.__inflateBounds(q - this.__strokePadding, u - this.__strokePadding); this.__inflateBounds(q + this.__strokePadding, u + this.__strokePadding); this.__positionX = f; this.__positionY = g; this.__inflateBounds( this.__positionX - this.__strokePadding, this.__positionY - this.__strokePadding ); this.__inflateBounds( this.__positionX + this.__strokePadding, this.__positionY + this.__strokePadding ); this.__commands.cubicCurveTo(a, b, d, c, f, g); this.set___dirty(!0); }, curveTo: function (a, b, d, c) { this.__inflateBounds( this.__positionX - this.__strokePadding, this.__positionY - this.__strokePadding ); this.__inflateBounds( this.__positionX + this.__strokePadding, this.__positionY + this.__strokePadding ); var e = (a < d && a > this.__positionX) || (a > d && a < this.__positionX) ? d : this.__calculateBezierQuadPoint( (this.__positionX - a) / (this.__positionX - 2 * a + d), this.__positionX, a, d ); var g = (b < c && b > this.__positionY) || (b > c && b < this.__positionY) ? c : this.__calculateBezierQuadPoint( (this.__positionY - b) / (this.__positionY - 2 * b + c), this.__positionY, b, c ); this.__inflateBounds(e - this.__strokePadding, g - this.__strokePadding); this.__inflateBounds(e + this.__strokePadding, g + this.__strokePadding); this.__positionX = d; this.__positionY = c; this.__commands.curveTo(a, b, d, c); this.set___dirty(!0); }, drawCircle: function (a, b, d) { 0 >= d || (this.__inflateBounds(a - d - this.__strokePadding, b - d - this.__strokePadding), this.__inflateBounds(a + d + this.__strokePadding, b + d + this.__strokePadding), this.__commands.drawCircle(a, b, d), this.set___dirty(!0)); }, drawEllipse: function (a, b, d, c) { 0 >= d || 0 >= c || (this.__inflateBounds(a - this.__strokePadding, b - this.__strokePadding), this.__inflateBounds(a + d + this.__strokePadding, b + c + this.__strokePadding), this.__commands.drawEllipse(a, b, d, c), this.set___dirty(!0)); }, drawGraphicsData: function (a) { for (a = a.iterator(); a.hasNext(); ) { var b = a.next(); switch (b.__graphicsDataType) { case 0: if (null != b.fill) { var d = b.thickness; isNaN(d) && (d = null); switch (b.fill.__graphicsFillType) { case 0: var c = b.fill; this.lineStyle( d, c.color, c.alpha, b.pixelHinting, b.scaleMode, b.caps, b.joints, b.miterLimit ); break; case 1: c = b.fill; this.lineStyle( d, 0, 1, b.pixelHinting, b.scaleMode, b.caps, b.joints, b.miterLimit ); this.lineGradientStyle( c.type, c.colors, c.alphas, c.ratios, c.matrix, c.spreadMethod, c.interpolationMethod, c.focalPointRatio ); break; case 2: (c = b.fill), this.lineStyle( d, 0, 1, b.pixelHinting, b.scaleMode, b.caps, b.joints, b.miterLimit ), this.lineBitmapStyle(c.bitmapData, c.matrix, c.repeat, c.smooth); } } else this.lineStyle(); break; case 1: c = b; this.beginFill(c.color, c.alpha); break; case 2: c = b; this.beginGradientFill( c.type, c.colors, c.alphas, c.ratios, c.matrix, c.spreadMethod, c.interpolationMethod, c.focalPointRatio ); break; case 3: this.drawPath(b.commands, b.data, b.winding); break; case 4: c = b; this.beginBitmapFill(c.bitmapData, c.matrix, c.repeat, c.smooth); break; case 5: this.endFill(); break; case 6: this.drawQuads(b.rects, b.indices, b.transforms); break; case 7: this.drawTriangles(b.vertices, b.indices, b.uvtData, b.culling); break; case 8: this.beginShaderFill(b.shader, b.matrix); } } }, drawPath: function (a, b, d) { null == d && (d = 0); var c = 0; 1 == d && this.__commands.windingNonZero(); a = a.iterator(); a: for (; a.hasNext(); ) switch (a.next()) { case 1: this.moveTo(b.get(c), b.get(c + 1)); c += 2; break; case 2: this.lineTo(b.get(c), b.get(c + 1)); c += 2; break; case 3: this.curveTo(b.get(c), b.get(c + 1), b.get(c + 2), b.get(c + 3)); c += 4; break; case 4: this.moveTo(b.get(c + 2), b.get(c + 3)); break a; case 5: this.lineTo(b.get(c + 2), b.get(c + 3)); break a; case 6: this.cubicCurveTo( b.get(c), b.get(c + 1), b.get(c + 2), b.get(c + 3), b.get(c + 4), b.get(c + 5) ), (c += 6); } }, drawQuads: function (a, b, d) { if (null != a) { var c = null != b, f = !1, g = !1, l = c ? b.get_length() : Math.floor(a.get_length() / 4); if (0 != l) { null != d && (d.get_length() >= 6 * l ? (g = f = !0) : d.get_length() >= 4 * l ? (f = !0) : d.get_length() >= 2 * l && (g = !0)); for ( var q = ea.__pool.get(), h = Ia.__pool.get(), r = Infinity, k = Infinity, p = -Infinity, n = -Infinity, u, m = 0; m < l; ) { var t = m++; u = c ? 4 * b.get(t) : 4 * t; 0 > u || (q.setTo(0, 0, a.get(u + 2), a.get(u + 3)), 0 >= q.width || 0 >= q.height || (f && g ? ((u = 6 * t), h.setTo( d.get(u), d.get(u + 1), d.get(u + 2), d.get(u + 3), d.get(u + 4), d.get(u + 5) )) : f ? ((u = 4 * t), h.setTo(d.get(u), d.get(u + 1), d.get(u + 2), d.get(u + 3), q.x, q.y)) : g ? ((u = 2 * t), (h.tx = d.get(u)), (h.ty = d.get(u + 1))) : ((h.tx = q.x), (h.ty = q.y)), q.__transform(q, h), r > q.x && (r = q.x), k > q.y && (k = q.y), p < q.get_right() && (p = q.get_right()), n < q.get_bottom() && (n = q.get_bottom()))); } this.__inflateBounds(r, k); this.__inflateBounds(p, n); this.__commands.drawQuads(a, b, d); this.set___dirty(!0); this.__visible = !0; ea.__pool.release(q); Ia.__pool.release(h); } } }, drawRect: function (a, b, d, c) { if (0 != d || 0 != c) { var e = 0 > d ? -1 : 1, g = 0 > c ? -1 : 1; this.__inflateBounds(a - this.__strokePadding * e, b - this.__strokePadding * g); this.__inflateBounds( a + d + this.__strokePadding * e, b + c + this.__strokePadding * g ); this.__commands.drawRect(a, b, d, c); this.set___dirty(!0); } }, drawRoundRect: function (a, b, d, c, f, g) { if (0 != d || 0 != c) { var e = 0 > d ? -1 : 1, q = 0 > c ? -1 : 1; this.__inflateBounds(a - this.__strokePadding * e, b - this.__strokePadding * q); this.__inflateBounds( a + d + this.__strokePadding * e, b + c + this.__strokePadding * q ); this.__commands.drawRoundRect(a, b, d, c, f, g); this.set___dirty(!0); } }, drawRoundRectComplex: function (a, b, d, c, f, g, l, q) { if (!(0 >= d || 0 >= c)) { this.__inflateBounds(a - this.__strokePadding, b - this.__strokePadding); this.__inflateBounds(a + d + this.__strokePadding, b + c + this.__strokePadding); var e = a + d, h = b + c; d = d < c ? 2 * d : 2 * c; f < d || (f = d); g < d || (g = d); l < d || (l = d); q < d || (q = d); d = 1 - Math.sin((Math.PI / 180) * 45); c = 1 - Math.tan((Math.PI / 180) * 22.5); var k = q * d, p = q * c; this.moveTo(e, h - q); this.curveTo(e, h - p, e - k, h - k); this.curveTo(e - p, h, e - q, h); k = l * d; p = l * c; this.lineTo(a + l, h); this.curveTo(a + p, h, a + k, h - k); this.curveTo(a, h - p, a, h - l); k = f * d; p = f * c; this.lineTo(a, b + f); this.curveTo(a, b + p, a + k, b + k); this.curveTo(a + p, b, a + f, b); k = g * d; p = g * c; this.lineTo(e - g, b); this.curveTo(e - p, b, e - k, b + k); this.curveTo(e, b + p, e, b + g); this.lineTo(e, h - q); this.set___dirty(!0); } }, drawTriangles: function (a, b, d, c) { null == c && (c = 1); if (null != a && 0 != a.get_length()) { var e = (a.get_length() / 2) | 0; if (null == b) { if (0 != e % 3) throw J.thrown(new oi('Not enough vertices to close a triangle.')); b = Ab.toIntVector(null); for (var g = 0, l = e; g < l; ) { var q = g++; b.push(q); } } null == c && (c = 1); var h = Infinity, r = Infinity, k = -Infinity, p = -Infinity; g = 0; for (l = e; g < l; ) (q = g++), (e = a.get(2 * q)), (q = a.get(2 * q + 1)), h > e && (h = e), r > q && (r = q), k < e && (k = e), p < q && (p = q); this.__inflateBounds(h, r); this.__inflateBounds(k, p); this.__commands.drawTriangles(a, b, d, c); this.set___dirty(!0); this.__visible = !0; } }, endFill: function () { this.__commands.endFill(); }, lineBitmapStyle: function (a, b, d, c) { null == c && (c = !1); null == d && (d = !0); this.__commands.lineBitmapStyle(a, null != b ? b.clone() : null, d, c); }, lineGradientStyle: function (a, b, d, c, f, g, l, q) { null == q && (q = 0); null == l && (l = 1); null == g && (g = 0); this.__commands.lineGradientStyle(a, b, d, c, f, g, l, q); }, lineStyle: function (a, b, d, c, f, g, l, q) { null == q && (q = 3); null == f && (f = 2); null == c && (c = !1); null == d && (d = 1); null == b && (b = 0); null != a && (1 == l ? a > this.__strokePadding && (this.__strokePadding = a) : a / 2 > this.__strokePadding && (this.__strokePadding = a / 2)); this.__commands.lineStyle(a, b, d, c, f, g, l, q); null != a && (this.__visible = !0); }, lineTo: function (a, b) { isFinite(a) && isFinite(b) && (this.__inflateBounds( this.__positionX - this.__strokePadding, this.__positionY - this.__strokePadding ), this.__inflateBounds( this.__positionX + this.__strokePadding, this.__positionY + this.__strokePadding ), (this.__positionX = a), (this.__positionY = b), this.__inflateBounds( this.__positionX - this.__strokePadding, this.__positionY - this.__strokePadding ), this.__inflateBounds( this.__positionX + 2 * this.__strokePadding, this.__positionY + this.__strokePadding ), this.__commands.lineTo(a, b), this.set___dirty(!0)); }, moveTo: function (a, b) { this.__positionX = a; this.__positionY = b; this.__commands.moveTo(a, b); }, overrideBlendMode: function (a) { null == a && (a = 10); this.__commands.overrideBlendMode(a); }, readGraphicsData: function (a) { null == a && (a = !0); var b = Ab.toObjectVector(null); this.__owner.__readGraphicsData(b, a); return b; }, __calculateBezierCubicPoint: function (a, b, d, c, f) { var e = 1 - a; return b * e * e * e + 3 * d * a * e * e + 3 * c * e * a * a + f * a * a * a; }, __calculateBezierQuadPoint: function (a, b, d, c) { var e = 1 - a; return e * e * b + 2 * e * a * d + a * a * c; }, __cleanup: function () { null != this.__bounds && null != this.__canvas && (this.set___dirty(!0), (this.__transformDirty = !0)); this.__context = this.__canvas = this.__bitmap = null; }, __getBounds: function (a, b) { if (null != this.__bounds) { var d = ea.__pool.get(); this.__bounds.__transform(d, b); a.__expand(d.x, d.y, d.width, d.height); ea.__pool.release(d); } }, __hitTest: function (a, b, d, c) { if (null == this.__bounds) return !1; var e = c.a * c.d - c.b * c.c, g = 0 == e ? -c.tx : (1 / e) * (c.c * (c.ty - b) + c.d * (a - c.tx)); e = c.a * c.d - c.b * c.c; a = 0 == e ? -c.ty : (1 / e) * (c.a * (b - c.ty) + c.b * (c.tx - a)); return g > this.__bounds.x && a > this.__bounds.y && this.__bounds.contains(g, a) ? d ? D.hitTest(this, g, a) : !0 : !1; }, __inflateBounds: function (a, b) { null == this.__bounds ? ((this.__bounds = new ea(a, b, 0, 0)), (this.__transformDirty = !0)) : (a < this.__bounds.x && ((this.__bounds.width += this.__bounds.x - a), (this.__bounds.x = a), (this.__transformDirty = !0)), b < this.__bounds.y && ((this.__bounds.height += this.__bounds.y - b), (this.__bounds.y = b), (this.__transformDirty = !0)), a > this.__bounds.x + this.__bounds.width && (this.__bounds.width = a - this.__bounds.x), b > this.__bounds.y + this.__bounds.height && (this.__bounds.height = b - this.__bounds.y)); }, __readGraphicsData: function (a) { for ( var b = new Wf(this.__commands), d = null, c, f = this.__commands.types, g = 0, l = this.__commands.get_length(); g < l; ) { c = g++; c = f[c]; switch (c._hx_index) { case 4: case 5: case 6: case 7: case 9: case 10: case 17: case 18: null == d && (d = new Qi()); break; default: null != d && (a.push(d), (d = null)); } switch (c._hx_index) { case 0: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.BEGIN_BITMAP_FILL; c = b; a.push( new Lm( c.buffer.o[c.oPos], c.buffer.o[c.oPos + 1], c.buffer.b[c.bPos], c.buffer.b[c.bPos + 1] ) ); break; case 1: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.BEGIN_FILL; c = b; a.push(new Yj(c.buffer.i[c.iPos], 1)); break; case 2: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.BEGIN_GRADIENT_FILL; c = b; a.push( new Mm( c.buffer.o[c.oPos], c.buffer.ii[c.iiPos], c.buffer.ff[c.ffPos], c.buffer.ii[c.iiPos + 1], c.buffer.o[c.oPos + 1], c.buffer.o[c.oPos + 2], c.buffer.o[c.oPos + 3], c.buffer.f[c.fPos] ) ); break; case 3: break; case 4: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.CUBIC_CURVE_TO; c = b; d.cubicCurveTo( c.buffer.f[c.fPos], c.buffer.f[c.fPos + 1], c.buffer.f[c.fPos + 2], c.buffer.f[c.fPos + 3], c.buffer.f[c.fPos + 4], c.buffer.f[c.fPos + 5] ); break; case 5: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.CURVE_TO; c = b; d.curveTo( c.buffer.f[c.fPos], c.buffer.f[c.fPos + 1], c.buffer.f[c.fPos + 2], c.buffer.f[c.fPos + 3] ); break; case 6: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.DRAW_CIRCLE; c = b; d.__drawCircle(c.buffer.f[c.fPos], c.buffer.f[c.fPos + 1], c.buffer.f[c.fPos + 2]); break; case 7: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.DRAW_ELLIPSE; c = b; d.__drawEllipse( c.buffer.f[c.fPos], c.buffer.f[c.fPos + 1], c.buffer.f[c.fPos + 2], c.buffer.f[c.fPos + 3] ); break; case 9: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.DRAW_RECT; c = b; d.__drawRect( c.buffer.f[c.fPos], c.buffer.f[c.fPos + 1], c.buffer.f[c.fPos + 2], c.buffer.f[c.fPos + 3] ); break; case 10: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.DRAW_ROUND_RECT; c = b; d.__drawRoundRect( c.buffer.f[c.fPos], c.buffer.f[c.fPos + 1], c.buffer.f[c.fPos + 2], c.buffer.f[c.fPos + 3], c.buffer.f[c.fPos + 4], null != c.buffer.o[c.oPos] ? c.buffer.o[c.oPos] : c.buffer.f[c.fPos + 4] ); break; case 13: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.END_FILL; a.push(new Nm()); break; case 14: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.LINE_BITMAP_STYLE; d = null; break; case 15: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.LINE_GRADIENT_STYLE; break; case 16: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.LINE_STYLE; var q = b; c = new Om( q.buffer.o[q.oPos], q.buffer.b[q.bPos], q.buffer.o[q.oPos + 1], q.buffer.o[q.oPos + 2], q.buffer.o[q.oPos + 3], q.buffer.f[q.fPos + 1] ); c.fill = new Yj(q.buffer.i[q.iPos], q.buffer.f[q.fPos]); a.push(c); break; case 17: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.LINE_TO; c = b; d.lineTo(c.buffer.f[c.fPos], c.buffer.f[c.fPos + 1]); break; case 18: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.MOVE_TO; c = b; d.moveTo(c.buffer.f[c.fPos], c.buffer.f[c.fPos + 1]); break; default: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = c; } } null != d && a.push(d); }, __update: function (a) { if (!(null == this.__bounds || 0 >= this.__bounds.width || 0 >= this.__bounds.height)) { var b = this.__owner.__renderTransform; if (null != b) { var d = 0 == b.b ? Math.abs(b.a) : Math.sqrt(b.a * b.a + b.b * b.b); var c = 0 == b.c ? Math.abs(b.d) : Math.sqrt(b.c * b.c + b.d * b.d); null != a && ((d = 0 == a.b ? d * a.a : d * Math.sqrt(a.a * a.a + a.b * a.b)), (c = 0 == a.c ? c * a.d : c * Math.sqrt(a.c * a.c + a.d * a.d))); a = this.__bounds.width * d; c *= this.__bounds.height; if (1 > a || 1 > c) (1 <= this.__width || 1 <= this.__height) && this.set___dirty(!0), (this.__height = this.__width = 0); else { null != Se.maxTextureWidth && a > Se.maxTextureWidth && (a = Se.maxTextureWidth); null != Se.maxTextureWidth && c > Se.maxTextureHeight && (c = Se.maxTextureHeight); this.__renderTransform.a = a / this.__bounds.width; this.__renderTransform.d = c / this.__bounds.height; d = 1 / this.__renderTransform.a; var f = 1 / this.__renderTransform.d; this.__worldTransform.a = d * b.a; this.__worldTransform.b = d * b.b; this.__worldTransform.c = f * b.c; this.__worldTransform.d = f * b.d; f = this.__bounds.x; var g = this.__bounds.y; d = f * b.a + g * b.c + b.tx; b = f * b.b + g * b.d + b.ty; this.__worldTransform.tx = Math.round(d); this.__worldTransform.ty = Math.round(b); f = this.__worldTransform; g = f.a * f.d - f.b * f.c; this.__renderTransform.tx = 0 == g ? -f.tx : (1 / g) * (f.c * (f.ty - b) + f.d * (d - f.tx)); f = this.__worldTransform; g = f.a * f.d - f.b * f.c; this.__renderTransform.ty = 0 == g ? -f.ty : (1 / g) * (f.a * (b - f.ty) + f.b * (f.tx - d)); a = Math.ceil(a + 1); c = Math.ceil(c + 1); (a == this.__width && c == this.__height) || this.set___dirty(!0); this.__width = a; this.__height = c; } } } }, set___dirty: function (a) { if (a && null != this.__owner) { var b = this.__owner; b.__renderDirty || ((b.__renderDirty = !0), b.__setParentRenderDirty()); } a && (this.__hardwareDirty = this.__softwareDirty = !0); return (this.__dirty = a); }, __class__: Se, __properties__: { set___dirty: 'set___dirty' } }; var Dh = function () {}; k['openfl.display.IGraphicsFill'] = Dh; Dh.__name__ = 'openfl.display.IGraphicsFill'; Dh.__isInterface__ = !0; Dh.prototype = { __graphicsFillType: null, __class__: Dh }; var Xf = function () {}; k['openfl.display.IGraphicsData'] = Xf; Xf.__name__ = 'openfl.display.IGraphicsData'; Xf.__isInterface__ = !0; Xf.prototype = { __graphicsDataType: null, __class__: Xf }; var Lm = function (a, b, d, c) { null == c && (c = !1); null == d && (d = !0); this.bitmapData = a; this.matrix = b; this.repeat = d; this.smooth = c; this.__graphicsDataType = 4; this.__graphicsFillType = 2; }; k['openfl.display.GraphicsBitmapFill'] = Lm; Lm.__name__ = 'openfl.display.GraphicsBitmapFill'; Lm.__interfaces__ = [Dh, Xf]; Lm.prototype = { bitmapData: null, matrix: null, repeat: null, smooth: null, __graphicsDataType: null, __graphicsFillType: null, __class__: Lm }; var Nm = function () { this.__graphicsDataType = 5; this.__graphicsFillType = 3; }; k['openfl.display.GraphicsEndFill'] = Nm; Nm.__name__ = 'openfl.display.GraphicsEndFill'; Nm.__interfaces__ = [Dh, Xf]; Nm.prototype = { __graphicsDataType: null, __graphicsFillType: null, __class__: Nm }; var Mm = function (a, b, d, c, f, g, l, q) { null == q && (q = 0); null == a && (a = 0); null == g && (g = 0); null == l && (l = 1); this.type = a; this.colors = b; this.alphas = d; this.ratios = c; this.matrix = f; this.spreadMethod = g; this.interpolationMethod = l; this.focalPointRatio = q; this.__graphicsDataType = 2; this.__graphicsFillType = 1; }; k['openfl.display.GraphicsGradientFill'] = Mm; Mm.__name__ = 'openfl.display.GraphicsGradientFill'; Mm.__interfaces__ = [Dh, Xf]; Mm.prototype = { alphas: null, colors: null, focalPointRatio: null, interpolationMethod: null, matrix: null, ratios: null, spreadMethod: null, type: null, __graphicsDataType: null, __graphicsFillType: null, __class__: Mm }; var Pm = function () {}; k['openfl.display.IGraphicsPath'] = Pm; Pm.__name__ = 'openfl.display.IGraphicsPath'; Pm.__isInterface__ = !0; var Qi = function (a, b, d) { null == d && (d = 0); this.commands = a; this.data = b; this.winding = d; this.__graphicsDataType = 3; }; k['openfl.display.GraphicsPath'] = Qi; Qi.__name__ = 'openfl.display.GraphicsPath'; Qi.__interfaces__ = [Pm, Xf]; Qi.prototype = { commands: null, data: null, winding: null, __graphicsDataType: null, cubicCurveTo: function (a, b, d, c, f, g) { null == this.commands && (this.commands = Ab.toIntVector(null)); null == this.data && (this.data = Ab.toFloatVector(null)); this.commands.push(6); this.data.push(a); this.data.push(b); this.data.push(d); this.data.push(c); this.data.push(f); this.data.push(g); }, curveTo: function (a, b, d, c) { null == this.commands && (this.commands = Ab.toIntVector(null)); null == this.data && (this.data = Ab.toFloatVector(null)); this.commands.push(3); this.data.push(a); this.data.push(b); this.data.push(d); this.data.push(c); }, lineTo: function (a, b) { null == this.commands && (this.commands = Ab.toIntVector(null)); null == this.data && (this.data = Ab.toFloatVector(null)); this.commands.push(2); this.data.push(a); this.data.push(b); }, moveTo: function (a, b) { null == this.commands && (this.commands = Ab.toIntVector(null)); null == this.data && (this.data = Ab.toFloatVector(null)); this.commands.push(1); this.data.push(a); this.data.push(b); }, wideLineTo: function (a, b) { null == this.commands && (this.commands = Ab.toIntVector(null)); null == this.data && (this.data = Ab.toFloatVector(null)); this.commands.push(2); this.data.push(a); this.data.push(b); }, wideMoveTo: function (a, b) { null == this.commands && (this.commands = Ab.toIntVector(null)); null == this.data && (this.data = Ab.toFloatVector(null)); this.commands.push(1); this.data.push(a); this.data.push(b); }, __drawCircle: function (a, b, d) { this.__drawRoundRect(a - d, b - d, 2 * d, 2 * d, 2 * d, 2 * d); }, __drawEllipse: function (a, b, d, c) { this.__drawRoundRect(a, b, d, c, d, c); }, __drawRect: function (a, b, d, c) { this.moveTo(a, b); this.lineTo(a + d, b); this.lineTo(a + d, b + c); this.lineTo(a, b + c); this.lineTo(a, b); }, __drawRoundRect: function (a, b, d, c, f, g) { f *= 0.5; g *= 0.5; f > d / 2 && (f = d / 2); g > c / 2 && (g = c / 2); d = a + d; c = b + c; var e = -f + 0.7071067811865476 * f, q = -f + 0.41421356237309503 * f, h = -g + 0.7071067811865476 * g, r = -g + 0.41421356237309503 * g; this.moveTo(d, c - g); this.curveTo(d, c + r, d + e, c + h); this.curveTo(d + q, c, d - f, c); this.lineTo(a + f, c); this.curveTo(a - q, c, a - e, c + h); this.curveTo(a, c + r, a, c - g); this.lineTo(a, b + g); this.curveTo(a, b - r, a - e, b - h); this.curveTo(a - q, b, a + f, b); this.lineTo(d - f, b); this.curveTo(d + q, b, d + e, b - h); this.curveTo(d, b - r, d, b + g); this.lineTo(d, c - g); }, __class__: Qi }; var Vo = function (a, b, d) { this.rects = a; this.indices = b; this.transforms = d; this.__graphicsDataType = 6; }; k['openfl.display.GraphicsQuadPath'] = Vo; Vo.__name__ = 'openfl.display.GraphicsQuadPath'; Vo.__interfaces__ = [Pm, Xf]; Vo.prototype = { indices: null, rects: null, transforms: null, __graphicsDataType: null, __class__: Vo }; var Qm = function (a) { null == this.__glFragmentSource && (this.__glFragmentSource = 'varying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;\n\t\tuniform sampler2D bitmap;\n\n\t\tvoid main(void) {\n\n\t\t\tvec4 color = texture2D (bitmap, openfl_TextureCoordv);\n\n\t\tif (color.a == 0.0) {\n\n\t\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\n\n\t\t} else if (openfl_HasColorTransform) {\n\n\t\t\tcolor = vec4 (color.rgb / color.a, color.a);\n\n\t\t\tmat4 colorMultiplier = mat4 (0);\n\t\t\tcolorMultiplier[0][0] = openfl_ColorMultiplierv.x;\n\t\t\tcolorMultiplier[1][1] = openfl_ColorMultiplierv.y;\n\t\t\tcolorMultiplier[2][2] = openfl_ColorMultiplierv.z;\n\t\t\tcolorMultiplier[3][3] = 1.0; // openfl_ColorMultiplierv.w;\n\n\t\t\tcolor = clamp (openfl_ColorOffsetv + (color * colorMultiplier), 0.0, 1.0);\n\n\t\t\tif (color.a > 0.0) {\n\n\t\t\t\tgl_FragColor = vec4 (color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\n\n\t\t\t} else {\n\n\t\t\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tgl_FragColor = color * openfl_Alphav;\n\n\t\t}\n\n\t\t}'); null == this.__glVertexSource && (this.__glVertexSource = 'attribute float openfl_Alpha;\n\t\tattribute vec4 openfl_ColorMultiplier;\n\t\tattribute vec4 openfl_ColorOffset;\n\t\tattribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\n\t\tvarying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;\n\n\t\tvoid main(void) {\n\n\t\t\topenfl_Alphav = openfl_Alpha;\n\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\n\t\tif (openfl_HasColorTransform) {\n\n\t\t\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\n\t\t\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\n\n\t\t}\n\n\t\tgl_Position = openfl_Matrix * openfl_Position;\n\n\t\t}'); af.call(this, a); this.__isGenerated = !0; this.__initGL(); }; k['openfl.display.GraphicsShader'] = Qm; Qm.__name__ = 'openfl.display.GraphicsShader'; Qm.__super__ = af; Qm.prototype = t(af.prototype, { openfl_Alpha: null, openfl_ColorMultiplier: null, openfl_ColorOffset: null, openfl_Position: null, openfl_TextureCoord: null, openfl_Matrix: null, openfl_HasColorTransform: null, openfl_TextureSize: null, bitmap: null, __class__: Qm }); var Wo = function (a, b) { this.shader = a; this.matrix = b; this.__graphicsDataType = 8; this.__graphicsFillType = 4; }; k['openfl.display.GraphicsShaderFill'] = Wo; Wo.__name__ = 'openfl.display.GraphicsShaderFill'; Wo.__interfaces__ = [Dh, Xf]; Wo.prototype = { matrix: null, shader: null, __graphicsDataType: null, __graphicsFillType: null, __class__: Wo }; var Yj = function (a, b) { null == b && (b = 1); null == a && (a = 0); this.alpha = b; this.color = a; this.__graphicsDataType = 1; this.__graphicsFillType = 0; }; k['openfl.display.GraphicsSolidFill'] = Yj; Yj.__name__ = 'openfl.display.GraphicsSolidFill'; Yj.__interfaces__ = [Dh, Xf]; Yj.prototype = { alpha: null, color: null, __graphicsDataType: null, __graphicsFillType: null, __class__: Yj }; var kz = function () {}; k['openfl.display.IGraphicsStroke'] = kz; kz.__name__ = 'openfl.display.IGraphicsStroke'; kz.__isInterface__ = !0; var Om = function (a, b, d, c, f, g, l) { null == g && (g = 3); null == f && (f = 2); null == c && (c = 0); null == d && (d = 2); null == b && (b = !1); null == a && (a = NaN); this.caps = c; this.fill = l; this.joints = f; this.miterLimit = g; this.pixelHinting = b; this.scaleMode = d; this.thickness = a; this.__graphicsDataType = 0; }; k['openfl.display.GraphicsStroke'] = Om; Om.__name__ = 'openfl.display.GraphicsStroke'; Om.__interfaces__ = [kz, Xf]; Om.prototype = { caps: null, fill: null, joints: null, miterLimit: null, pixelHinting: null, scaleMode: null, thickness: null, __graphicsDataType: null, __class__: Om }; var Xo = function (a, b, d, c) { null == c && (c = 1); this.vertices = a; this.indices = b; this.uvtData = d; this.culling = c; this.__graphicsDataType = 7; }; k['openfl.display.GraphicsTrianglePath'] = Xo; Xo.__name__ = 'openfl.display.GraphicsTrianglePath'; Xo.__interfaces__ = [Pm, Xf]; Xo.prototype = { culling: null, indices: null, uvtData: null, vertices: null, __graphicsDataType: null, __class__: Xo }; var Bi = function () {}; k['openfl.display.ITileContainer'] = Bi; Bi.__name__ = 'openfl.display.ITileContainer'; Bi.__isInterface__ = !0; Bi.prototype = { get_numTiles: null, addTile: null, addTileAt: null, addTiles: null, contains: null, getTileAt: null, getTileIndex: null, removeTile: null, removeTileAt: null, removeTiles: null, setTileIndex: null, sortTiles: null, swapTiles: null, swapTilesAt: null, __class__: Bi, __properties__: { get_numTiles: 'get_numTiles' } }; var Am = function (a) { null == a && (a = 80); this.quality = a; }; k['openfl.display.JPEGEncoderOptions'] = Am; Am.__name__ = 'openfl.display.JPEGEncoderOptions'; Am.prototype = { quality: null, __class__: Am }; var lz = { fromInt: function (a) { return a; }, fromString: function (a) { switch (a) { case 'bevel': return 0; case 'miter': return 1; case 'round': return 2; default: return null; } }, toInt: function (a) { return a; }, toString: function (a) { switch (a) { case 0: return 'bevel'; case 1: return 'miter'; case 2: return 'round'; default: return null; } } }, Ej = function () { Xa.call(this); this.contentLoaderInfo = fg.create(this); this.uncaughtErrorEvents = this.contentLoaderInfo.uncaughtErrorEvents; this.__unloaded = !0; }; k['openfl.display.Loader'] = Ej; Ej.__name__ = 'openfl.display.Loader'; Ej.__super__ = Xa; Ej.prototype = t(Xa.prototype, { content: null, contentLoaderInfo: null, uncaughtErrorEvents: null, __library: null, __path: null, __unloaded: null, close: function () { Dc.notImplemented({ fileName: 'openfl/display/Loader.hx', lineNumber: 229, className: 'openfl.display.Loader', methodName: 'close' }); }, load: function (a, b) { this.unload(); this.contentLoaderInfo.loaderURL = Oa.get_current().get_loaderInfo().url; this.contentLoaderInfo.url = a.url; this.__unloaded = !1; if (null == a.contentType || '' == a.contentType) { b = ''; this.__path = a.url; var d = this.__path.indexOf('?'); -1 < d && (this.__path = this.__path.substring(0, d)); for (; T.endsWith(this.__path, '/'); ) this.__path = this.__path.substring(0, this.__path.length - 1); T.endsWith(this.__path, '.bundle') && ((this.__path += '/library.json'), (a.url = -1 < d ? this.__path + a.url.substring(d) : this.__path)); d = this.__path.lastIndexOf('.'); -1 < d && (b = this.__path.substring(d + 1)); switch (b) { case 'gif': b = 'image/gif'; break; case 'jpeg': case 'jpg': b = 'image/jpeg'; break; case 'js': b = 'application/javascript'; break; case 'json': b = 'application/json'; break; case 'png': b = 'image/png'; break; case 'swf': b = 'application/x-shockwave-flash'; break; default: b = 'application/x-www-form-urlencoded'; } this.contentLoaderInfo.contentType = b; } else this.contentLoaderInfo.contentType = a.contentType; if ( -1 < this.contentLoaderInfo.contentType.indexOf('image/') && 'GET' == a.method && (null == a.requestHeaders || 0 == a.requestHeaders.length) && null == a.userAgent ) la.loadFromFile(a.url) .onComplete(m(this, this.BitmapData_onLoad)) .onError(m(this, this.BitmapData_onError)) .onProgress(m(this, this.BitmapData_onProgress)); else { b = new rh(); b.dataFormat = 0; if ( -1 < this.contentLoaderInfo.contentType.indexOf('/json') || -1 < this.contentLoaderInfo.contentType.indexOf('/javascript') || -1 < this.contentLoaderInfo.contentType.indexOf('/ecmascript') ) b.dataFormat = 1; b.addEventListener('complete', m(this, this.loader_onComplete)); b.addEventListener('ioError', m(this, this.loader_onError)); b.addEventListener('progress', m(this, this.loader_onProgress)); b.load(a); } }, loadBytes: function (a, b) { la.loadFromBytes(a) .onComplete(m(this, this.BitmapData_onLoad)) .onError(m(this, this.BitmapData_onError)); }, removeChild: function (a) { throw J.thrown( new cd('Error #2069: The Loader class does not implement this method.', 2069) ); }, removeChildAt: function (a) { throw J.thrown( new cd('Error #2069: The Loader class does not implement this method.', 2069) ); }, setChildIndex: function (a, b) { throw J.thrown( new cd('Error #2069: The Loader class does not implement this method.', 2069) ); }, unload: function () { this.__unloaded || (null != this.content && this.content.parent == this && Xa.prototype.removeChild.call(this, this.content), null != this.__library && (Da.unloadLibrary(this.contentLoaderInfo.url), (this.__library = null)), (this.content = null), (this.contentLoaderInfo.url = null), (this.contentLoaderInfo.contentType = null), (this.contentLoaderInfo.content = null), (this.contentLoaderInfo.bytesLoaded = 0), (this.contentLoaderInfo.bytesTotal = 0), (this.contentLoaderInfo.width = 0), (this.contentLoaderInfo.height = 0), (this.__unloaded = !0), this.contentLoaderInfo.dispatchEvent(new oa('unload'))); }, unloadAndStop: function (a) { null != this.content && this.content.__stopAllMovieClips(); a = 0; for (var b = this.get_numChildren(); a < b; ) { var d = a++; this.getChildAt(d).__stopAllMovieClips(); } this.unload(); }, __dispatchError: function (a) { var b = new qg('ioError'); b.text = a; this.contentLoaderInfo.dispatchEvent(b); }, __setContent: function (a, b, d) { this.content = a; this.contentLoaderInfo.content = a; this.contentLoaderInfo.width = b; this.contentLoaderInfo.height = d; null != a && Xa.prototype.addChildAt.call(this, a, 0); }, BitmapData_onError: function (a) { this.__dispatchError(z.string(a)); }, BitmapData_onLoad: function (a) { null == a ? this.__dispatchError('Unknown error') : (this.__setContent(new rc(a), a.width, a.height), this.contentLoaderInfo.dispatchEvent(new oa('complete'))); }, BitmapData_onProgress: function (a, b) { var d = new Eg('progress'); d.bytesLoaded = a; d.bytesTotal = b; this.contentLoaderInfo.dispatchEvent(d); }, loader_onComplete: function (a) { var b = this; a = a.target; if ( null != this.contentLoaderInfo.contentType && -1 < this.contentLoaderInfo.contentType.indexOf('/json') ) { var d = Ic.parse(a.data, zh.directory(this.__path)); if (null == d) this.__dispatchError('Cannot parse asset manifest'); else { var c = wb.fromManifest(d); if (null == c) this.__dispatchError('Cannot open library'); else if (c instanceof le) c.load() .onComplete(function (a) { b.__library = c; Da.registerLibrary(b.contentLoaderInfo.url, b.__library); null == d.name || Da.hasLibrary(d.name) || Da.registerLibrary(d.name, b.__library); a = b.__library.getMovieClip(''); b.__setContent(a, a.get_width() | 0, a.get_height() | 0); b.contentLoaderInfo.dispatchEvent(new oa('complete')); }) .onError(function (a) { b.__dispatchError(a); }); } } else null != this.contentLoaderInfo.contentType && (-1 < this.contentLoaderInfo.contentType.indexOf('/javascript') || -1 < this.contentLoaderInfo.contentType.indexOf('/ecmascript')) ? (this.__setContent(new Ca(), 0, 0), eval('(function () {' + z.string(a.data) + '})()'), this.contentLoaderInfo.dispatchEvent(new oa('complete'))) : ((this.contentLoaderInfo.bytes = a.data), la .loadFromBytes(a.data) .onComplete(m(this, this.BitmapData_onLoad)) .onError(m(this, this.BitmapData_onError))); }, loader_onError: function (a) { a.target = this.contentLoaderInfo; this.contentLoaderInfo.dispatchEvent(a); }, loader_onProgress: function (a) { a.target = this.contentLoaderInfo; this.contentLoaderInfo.dispatchEvent(a); }, __class__: Ej }); var fg = function () { cb.call(this); this.applicationDomain = Ri.currentDomain; this.bytesTotal = this.bytesLoaded = 0; this.childAllowsParent = !0; this.parameters = {}; }; k['openfl.display.LoaderInfo'] = fg; fg.__name__ = 'openfl.display.LoaderInfo'; fg.create = function (a) { var b = new fg(); b.uncaughtErrorEvents = new Rm(); null != a ? (b.loader = a) : (b.url = fg.__rootURL); return b; }; fg.__super__ = cb; fg.prototype = t(cb.prototype, { applicationDomain: null, bytes: null, bytesLoaded: null, bytesTotal: null, childAllowsParent: null, content: null, contentType: null, frameRate: null, height: null, loader: null, loaderURL: null, parameters: null, parentAllowsChild: null, sameDomain: null, sharedEvents: null, uncaughtErrorEvents: null, url: null, width: null, __completed: null, __complete: function () { this.__completed || (this.bytesLoaded < this.bytesTotal && (this.bytesLoaded = this.bytesTotal), this.__update(this.bytesLoaded, this.bytesTotal), (this.__completed = !0), this.dispatchEvent(new oa('complete'))); }, __update: function (a, b) { this.bytesLoaded = a; this.bytesTotal = b; this.dispatchEvent(new Eg('progress', !1, !1, a, b)); }, __class__: fg }); var pg = function () { Ca.call(this); this.__enabled = !0; if (null != pg.__constructor) { var a = pg.__constructor; pg.__constructor = null; a(this); } }; k['openfl.display.MovieClip'] = pg; pg.__name__ = 'openfl.display.MovieClip'; pg.fromTimeline = function (a) { var b = new pg(); b.attachTimeline(a); return b; }; pg.__super__ = Ca; pg.prototype = t(Ca.prototype, { __enabled: null, __hasDown: null, __hasOver: null, __hasUp: null, __mouseIsDown: null, __scene: null, __timeline: null, addFrameScript: function (a, b) { null != this.__timeline && this.__timeline.__addFrameScript(a, b); }, attachTimeline: function (a) { this.__timeline = a; null != a && (a.__attachMovieClip(this), this.play()); }, gotoAndPlay: function (a, b) { null != this.__timeline && this.__timeline.__gotoAndPlay(a, b); }, gotoAndStop: function (a, b) { null != this.__timeline && this.__timeline.__gotoAndStop(a, b); }, nextFrame: function () { null != this.__timeline && this.__timeline.__nextFrame(); }, nextScene: function () { null != this.__timeline && this.__timeline.__nextScene(); }, play: function () { null != this.__timeline && this.__timeline.__play(); }, prevFrame: function () { null != this.__timeline && this.__timeline.__prevFrame(); }, prevScene: function () { null != this.__timeline && this.__timeline.__prevScene(); }, stop: function () { null != this.__timeline && this.__timeline.__stop(); }, __enterFrame: function (a) { null != this.__timeline && this.__timeline.__enterFrame(a); for (var b = 0, d = this.__children; b < d.length; ) { var c = d[b]; ++b; c.__enterFrame(a); } }, __stopAllMovieClips: function () { Ca.prototype.__stopAllMovieClips.call(this); this.stop(); }, __tabTest: function (a) { this.__enabled && Ca.prototype.__tabTest.call(this, a); }, __onMouseDown: function (a) { this.__enabled && this.__hasDown && this.gotoAndStop('_down'); this.__mouseIsDown = !0; null != this.stage && this.stage.addEventListener('mouseUp', m(this, this.__onMouseUp), !0); }, __onMouseUp: function (a) { this.__mouseIsDown = !1; null != this.stage && this.stage.removeEventListener('mouseUp', m(this, this.__onMouseUp)); this.__buttonMode && (a.target == this && this.__enabled && this.__hasOver ? this.gotoAndStop('_over') : this.__enabled && this.__hasUp && this.gotoAndStop('_up')); }, __onRollOut: function (a) { this.__enabled && (this.__mouseIsDown && this.__hasOver ? this.gotoAndStop('_over') : this.__hasUp && this.gotoAndStop('_up')); }, __onRollOver: function (a) { this.__enabled && this.__hasOver && this.gotoAndStop('_over'); }, set_buttonMode: function (a) { if (this.__buttonMode != a) { if (a) { this.__hasUp = this.__hasOver = this.__hasDown = !1; for (var b = 0, d = this.get_currentLabels(); b < d.length; ) { var c = d[b]; ++b; switch (c.name) { case '_down': this.__hasDown = !0; break; case '_over': this.__hasOver = !0; break; case '_up': this.__hasUp = !0; } } if (this.__hasDown || this.__hasOver || this.__hasUp) this.addEventListener('rollOver', m(this, this.__onRollOver)), this.addEventListener('rollOut', m(this, this.__onRollOut)), this.addEventListener('mouseDown', m(this, this.__onMouseDown)); } else this.removeEventListener('rollOver', m(this, this.__onRollOver)), this.removeEventListener('rollOut', m(this, this.__onRollOut)), this.removeEventListener('mouseDown', m(this, this.__onMouseDown)); this.__buttonMode = a; } return a; }, get_currentFrame: function () { return null != this.__timeline ? this.__timeline.__currentFrame : 1; }, get_currentFrameLabel: function () { return null != this.__timeline ? this.__timeline.__currentFrameLabel : null; }, get_currentLabel: function () { return null != this.__timeline ? this.__timeline.__currentLabel : null; }, get_currentLabels: function () { return null != this.__timeline ? this.__timeline.__currentLabels.slice() : []; }, get_currentScene: function () { if (null != this.__timeline) return this.__timeline.__currentScene; null == this.__scene && (this.__scene = new Yo('', [], 1)); return this.__scene; }, get_enabled: function () { return this.__enabled; }, set_enabled: function (a) { return (this.__enabled = a); }, get_framesLoaded: function () { return null != this.__timeline ? this.__timeline.__framesLoaded : 1; }, get_isPlaying: function () { return null != this.__timeline ? this.__timeline.__isPlaying : !1; }, get_scenes: function () { return null != this.__timeline ? this.__timeline.scenes.slice() : [this.get_currentScene()]; }, get_totalFrames: function () { return null != this.__timeline ? this.__timeline.__totalFrames : 1; }, __class__: pg, __properties__: t(Ca.prototype.__properties__, { get_totalFrames: 'get_totalFrames', get_scenes: 'get_scenes', get_isPlaying: 'get_isPlaying', get_framesLoaded: 'get_framesLoaded', set_enabled: 'set_enabled', get_enabled: 'get_enabled', get_currentScene: 'get_currentScene', get_currentLabels: 'get_currentLabels', get_currentLabel: 'get_currentLabel', get_currentFrameLabel: 'get_currentFrameLabel', get_currentFrame: 'get_currentFrame' }) }); var Ib = function (a, b) { Qe.call(this); this.__context3D = a; this.__context = a.__context; this.__gl = this.gl = a.__context.webgl; this.__defaultRenderTarget = b; this.__flipped = null == this.__defaultRenderTarget; null == Se.maxTextureWidth && (Se.maxTextureWidth = Se.maxTextureHeight = this.__gl.getParameter(this.__gl.MAX_TEXTURE_SIZE)); this.__matrix = ta._new(); this.__values = []; this.__softwareRenderer = new Cg(null); this.__type = 'opengl'; this.__setBlendMode(10); this.__context3D.__setGLBlend(!0); this.__clipRects = []; this.__maskObjects = []; this.__numClipRects = 0; this.__projection = ta._new(); this.__projectionFlipped = ta._new(); this.__stencilReference = 0; this.__tempRect = new ea(); this.__defaultDisplayShader = new Jm(); this.__defaultGraphicsShader = new Qm(); this.__defaultShader = this.__defaultDisplayShader; this.__initShader(this.__defaultShader); this.__scrollRectMasks = new ud(function () { return new Ke(); }); this.__maskShader = new ai(); }; k['openfl.display.OpenGLRenderer'] = Ib; Ib.__name__ = 'openfl.display.OpenGLRenderer'; Ib.__super__ = Qe; Ib.prototype = t(Qe.prototype, { gl: null, __context3D: null, __clipRects: null, __currentDisplayShader: null, __currentGraphicsShader: null, __currentRenderTarget: null, __currentShader: null, __currentShaderBuffer: null, __defaultDisplayShader: null, __defaultGraphicsShader: null, __defaultRenderTarget: null, __defaultShader: null, __displayHeight: null, __displayWidth: null, __flipped: null, __gl: null, __height: null, __maskShader: null, __matrix: null, __maskObjects: null, __numClipRects: null, __offsetX: null, __offsetY: null, __projection: null, __projectionFlipped: null, __scrollRectMasks: null, __softwareRenderer: null, __stencilReference: null, __tempRect: null, __updatedStencil: null, __upscaled: null, __values: null, __width: null, applyAlpha: function (a) { Ib.__alphaValue[0] = a * this.__worldAlpha; null != this.__currentShaderBuffer ? this.__currentShaderBuffer.addFloatOverride('openfl_Alpha', Ib.__alphaValue) : null != this.__currentShader && null != this.__currentShader.__alpha && (this.__currentShader.__alpha.value = Ib.__alphaValue); }, applyBitmapData: function (a, b, d) { null == d && (d = !1); null != this.__currentShaderBuffer ? null != a && ((Ib.__textureSizeValue[0] = a.__textureWidth), (Ib.__textureSizeValue[1] = a.__textureHeight), this.__currentShaderBuffer.addFloatOverride( 'openfl_TextureSize', Ib.__textureSizeValue )) : null != this.__currentShader && (null != this.__currentShader.__bitmap && ((this.__currentShader.__bitmap.input = a), (this.__currentShader.__bitmap.filter = b && this.__allowSmoothing ? 4 : 5), (this.__currentShader.__bitmap.mipFilter = 2), (this.__currentShader.__bitmap.wrap = d ? 2 : 0)), null != this.__currentShader.__texture && ((this.__currentShader.__texture.input = a), (this.__currentShader.__texture.filter = b && this.__allowSmoothing ? 4 : 5), (this.__currentShader.__texture.mipFilter = 2), (this.__currentShader.__texture.wrap = d ? 2 : 0)), null != this.__currentShader.__textureSize && (null != a ? ((Ib.__textureSizeValue[0] = a.__textureWidth), (Ib.__textureSizeValue[1] = a.__textureHeight), (this.__currentShader.__textureSize.value = Ib.__textureSizeValue)) : (this.__currentShader.__textureSize.value = null))); }, applyColorTransform: function (a) { var b = null != a && !a.__isDefault(!0); this.applyHasColorTransform(b); b ? (a.__setArrays(Ib.__colorMultipliersValue, Ib.__colorOffsetsValue), null != this.__currentShaderBuffer ? (this.__currentShaderBuffer.addFloatOverride( 'openfl_ColorMultiplier', Ib.__colorMultipliersValue ), this.__currentShaderBuffer.addFloatOverride( 'openfl_ColorOffset', Ib.__colorOffsetsValue )) : null != this.__currentShader && (null != this.__currentShader.__colorMultiplier && (this.__currentShader.__colorMultiplier.value = Ib.__colorMultipliersValue), null != this.__currentShader.__colorOffset && (this.__currentShader.__colorOffset.value = Ib.__colorOffsetsValue))) : null != this.__currentShaderBuffer ? (this.__currentShaderBuffer.addFloatOverride( 'openfl_ColorMultiplier', Ib.__emptyColorValue ), this.__currentShaderBuffer.addFloatOverride( 'openfl_ColorOffset', Ib.__emptyColorValue )) : null != this.__currentShader && (null != this.__currentShader.__colorMultiplier && (this.__currentShader.__colorMultiplier.value = Ib.__emptyColorValue), null != this.__currentShader.__colorOffset && (this.__currentShader.__colorOffset.value = Ib.__emptyColorValue)); }, applyHasColorTransform: function (a) { Ib.__hasColorTransformValue[0] = a; null != this.__currentShaderBuffer ? this.__currentShaderBuffer.addBoolOverride( 'openfl_HasColorTransform', Ib.__hasColorTransformValue ) : null != this.__currentShader && null != this.__currentShader.__hasColorTransform && (this.__currentShader.__hasColorTransform.value = Ib.__hasColorTransformValue); }, applyMatrix: function (a) { null != this.__currentShaderBuffer ? this.__currentShaderBuffer.addFloatOverride('openfl_Matrix', a) : null != this.__currentShader && null != this.__currentShader.__matrix && (this.__currentShader.__matrix.value = a); }, getMatrix: function (a) { null != this.gl ? ((a = this.__getMatrix(a, 1)), ta.set(this.__matrix, 0, a[0]), ta.set(this.__matrix, 1, a[1]), ta.set(this.__matrix, 2, a[2]), ta.set(this.__matrix, 3, a[3]), ta.set(this.__matrix, 4, a[4]), ta.set(this.__matrix, 5, a[5]), ta.set(this.__matrix, 6, a[6]), ta.set(this.__matrix, 7, a[7]), ta.set(this.__matrix, 8, a[8]), ta.set(this.__matrix, 9, a[9]), ta.set(this.__matrix, 10, a[10]), ta.set(this.__matrix, 11, a[11]), ta.set(this.__matrix, 12, a[12]), ta.set(this.__matrix, 13, a[13]), ta.set(this.__matrix, 14, a[14]), ta.set(this.__matrix, 15, a[15])) : (ta.identity(this.__matrix), ta.set(this.__matrix, 0, a.a), ta.set(this.__matrix, 1, a.b), ta.set(this.__matrix, 4, a.c), ta.set(this.__matrix, 5, a.d), ta.set(this.__matrix, 12, a.tx), ta.set(this.__matrix, 13, a.ty)); return this.__matrix; }, setShader: function (a) { this.__currentShaderBuffer = null; this.__currentShader != a && (null == a ? ((this.__currentShader = null), this.__context3D.setProgram(null)) : ((this.__currentShader = a), this.__initShader(a), this.__context3D.setProgram(a.program), this.__context3D.__flushGLProgram(), this.__currentShader.__enable(), (this.__context3D.__state.shader = a))); }, setViewport: function () { this.__gl.viewport( this.__offsetX, this.__offsetY, this.__displayWidth, this.__displayHeight ); }, updateShader: function () { null != this.__currentShader && (null != this.__currentShader.__position && (this.__currentShader.__position.__useArray = !0), null != this.__currentShader.__textureCoord && (this.__currentShader.__textureCoord.__useArray = !0), this.__context3D.setProgram(this.__currentShader.program), this.__context3D.__flushGLProgram(), this.__context3D.__flushGLTextures(), this.__currentShader.__update()); }, useAlphaArray: function () { null != this.__currentShader && null != this.__currentShader.__alpha && (this.__currentShader.__alpha.__useArray = !0); }, useColorTransformArray: function () { null != this.__currentShader && (null != this.__currentShader.__colorMultiplier && (this.__currentShader.__colorMultiplier.__useArray = !0), null != this.__currentShader.__colorOffset && (this.__currentShader.__colorOffset.__useArray = !0)); }, __cleanup: function () { 0 < this.__stencilReference && ((this.__stencilReference = 0), this.__context3D.setStencilActions(), this.__context3D.setStencilReferenceValue(0, 0, 0)); 0 < this.__numClipRects && ((this.__numClipRects = 0), this.__scissorRect()); }, __clear: function () { null == this.__stage || this.__stage.__transparent ? this.__context3D.clear(0, 0, 0, 0, 0, 0, 1) : this.__context3D.clear( this.__stage.__colorSplit[0], this.__stage.__colorSplit[1], this.__stage.__colorSplit[2], 1, 0, 0, 1 ); this.__cleared = !0; }, __clearShader: function () { null != this.__currentShader && (null == this.__currentShaderBuffer ? null != this.__currentShader.__bitmap && (this.__currentShader.__bitmap.input = null) : this.__currentShaderBuffer.clearOverride(), null != this.__currentShader.__texture && (this.__currentShader.__texture.input = null), null != this.__currentShader.__textureSize && (this.__currentShader.__textureSize.value = null), null != this.__currentShader.__hasColorTransform && (this.__currentShader.__hasColorTransform.value = null), null != this.__currentShader.__position && (this.__currentShader.__position.value = null), null != this.__currentShader.__matrix && (this.__currentShader.__matrix.value = null), this.__currentShader.__clearUseArray()); }, __copyShader: function (a) { this.__currentShader = a.__currentShader; this.__currentShaderBuffer = a.__currentShaderBuffer; this.__currentDisplayShader = a.__currentDisplayShader; this.__currentGraphicsShader = a.__currentGraphicsShader; }, __getMatrix: function (a, b) { var d = Ia.__pool.get(); d.copyFrom(a); d.concat(this.__worldTransform); if ( 0 == b || (1 == b && 0 == d.b && 0 == d.c && 1.001 > d.a && 0.999 < d.a && 1.001 > d.d && 0.999 < d.d) ) (d.tx = Math.round(d.tx)), (d.ty = Math.round(d.ty)); ta.identity(this.__matrix); ta.set(this.__matrix, 0, d.a); ta.set(this.__matrix, 1, d.b); ta.set(this.__matrix, 4, d.c); ta.set(this.__matrix, 5, d.d); ta.set(this.__matrix, 12, d.tx); ta.set(this.__matrix, 13, d.ty); ta.append(this.__matrix, this.__flipped ? this.__projectionFlipped : this.__projection); this.__values[0] = ta.get(this.__matrix, 0); this.__values[1] = ta.get(this.__matrix, 1); this.__values[2] = ta.get(this.__matrix, 2); this.__values[3] = ta.get(this.__matrix, 3); this.__values[4] = ta.get(this.__matrix, 4); this.__values[5] = ta.get(this.__matrix, 5); this.__values[6] = ta.get(this.__matrix, 6); this.__values[7] = ta.get(this.__matrix, 7); this.__values[8] = ta.get(this.__matrix, 8); this.__values[9] = ta.get(this.__matrix, 9); this.__values[10] = ta.get(this.__matrix, 10); this.__values[11] = ta.get(this.__matrix, 11); this.__values[12] = ta.get(this.__matrix, 12); this.__values[13] = ta.get(this.__matrix, 13); this.__values[14] = ta.get(this.__matrix, 14); this.__values[15] = ta.get(this.__matrix, 15); Ia.__pool.release(d); return this.__values; }, __initShader: function (a) { return null != a ? (null == a.__context && ((a.__context = this.__context3D), a.__init()), a) : this.__defaultShader; }, __initDisplayShader: function (a) { return null != a ? (null == a.__context && ((a.__context = this.__context3D), a.__init()), a) : this.__defaultDisplayShader; }, __initGraphicsShader: function (a) { return null != a ? (null == a.__context && ((a.__context = this.__context3D), a.__init()), a) : this.__defaultGraphicsShader; }, __initShaderBuffer: function (a) { return null != a ? this.__initGraphicsShader(a.shader) : this.__defaultGraphicsShader; }, __popMask: function () { if (0 != this.__stencilReference) { var a = this.__maskObjects.pop(); 1 < this.__stencilReference ? (this.__context3D.setStencilActions(2, 1, 0, 0, 5), this.__context3D.setStencilReferenceValue(this.__stencilReference, 255, 255), this.__context3D.setColorMask(!1, !1, !1, !1), this.__renderDrawableMask(a), this.__stencilReference--, this.__context3D.setStencilActions(2, 1, 5, 5, 5), this.__context3D.setStencilReferenceValue(this.__stencilReference, 255, 0), this.__context3D.setColorMask(!0, !0, !0, !0)) : ((this.__stencilReference = 0), this.__context3D.setStencilActions(), this.__context3D.setStencilReferenceValue(0, 0, 0)); } }, __popMaskObject: function (a, b) { null == b && (b = !0); null != a.__mask && this.__popMask(); b && null != a.__scrollRect && (0 != a.__renderTransform.b || 0 != a.__renderTransform.c ? (this.__scrollRectMasks.release(this.__maskObjects[this.__maskObjects.length - 1]), this.__popMask()) : this.__popMaskRect()); }, __popMaskRect: function () { 0 < this.__numClipRects && (this.__numClipRects--, 0 < this.__numClipRects ? this.__scissorRect(this.__clipRects[this.__numClipRects - 1]) : this.__scissorRect()); }, __pushMask: function (a) { 0 == this.__stencilReference && (this.__context3D.clear(0, 0, 0, 0, 0, 0, 4), (this.__updatedStencil = !0)); this.__context3D.setStencilActions(2, 1, 2, 5, 5); this.__context3D.setStencilReferenceValue(this.__stencilReference, 255, 255); this.__context3D.setColorMask(!1, !1, !1, !1); this.__renderDrawableMask(a); this.__maskObjects.push(a); this.__stencilReference++; this.__context3D.setStencilActions(2, 1, 5, 5, 5); this.__context3D.setStencilReferenceValue(this.__stencilReference, 255, 0); this.__context3D.setColorMask(!0, !0, !0, !0); }, __pushMaskObject: function (a, b) { null == b && (b = !0); b && null != a.__scrollRect && (0 != a.__renderTransform.b || 0 != a.__renderTransform.c ? ((b = this.__scrollRectMasks.get()), b.get_graphics().clear(), b.get_graphics().beginFill(65280), b .get_graphics() .drawRect( a.__scrollRect.x, a.__scrollRect.y, a.__scrollRect.width, a.__scrollRect.height ), b.__renderTransform.copyFrom(a.__renderTransform), this.__pushMask(b)) : this.__pushMaskRect(a.__scrollRect, a.__renderTransform)); null != a.__mask && this.__pushMask(a.__mask); }, __pushMaskRect: function (a, b) { this.__numClipRects == this.__clipRects.length && (this.__clipRects[this.__numClipRects] = new ea()); var d = Ia.__pool.get(); d.copyFrom(b); d.concat(this.__worldTransform); b = this.__clipRects[this.__numClipRects]; a.__transform(b, d); 0 < this.__numClipRects && ((a = this.__clipRects[this.__numClipRects - 1]), b.__contract(a.x, a.y, a.width, a.height)); 0 > b.height && (b.height = 0); 0 > b.width && (b.width = 0); Ia.__pool.release(d); this.__scissorRect(b); this.__numClipRects++; }, __render: function (a) { this.__context3D.setColorMask(!0, !0, !0, !0); this.__context3D.setCulling(3); this.__context3D.setDepthTest(!1, 0); this.__context3D.setStencilActions(); this.__context3D.setStencilReferenceValue(0, 0, 0); this.__context3D.setScissorRectangle(null); this.__blendMode = null; this.__setBlendMode(10); if (null == this.__defaultRenderTarget) { if ( (Ib.__scissorRectangle.setTo( this.__offsetX, this.__offsetY, this.__displayWidth, this.__displayHeight ), this.__context3D.setScissorRectangle(Ib.__scissorRectangle), (this.__upscaled = 1 != this.__worldTransform.a || 1 != this.__worldTransform.d), this.__renderDrawable(a), 0 < this.__offsetX || 0 < this.__offsetY) ) 0 < this.__offsetX && (Ib.__scissorRectangle.setTo(0, 0, this.__offsetX, this.__height), this.__context3D.setScissorRectangle(Ib.__scissorRectangle), this.__context3D.__flushGL(), this.__gl.clearColor(0, 0, 0, 1), this.__gl.clear(this.__gl.COLOR_BUFFER_BIT), Ib.__scissorRectangle.setTo( this.__offsetX + this.__displayWidth, 0, this.__width, this.__height ), this.__context3D.setScissorRectangle(Ib.__scissorRectangle), this.__context3D.__flushGL(), this.__gl.clearColor(0, 0, 0, 1), this.__gl.clear(this.__gl.COLOR_BUFFER_BIT)), 0 < this.__offsetY && (Ib.__scissorRectangle.setTo(0, 0, this.__width, this.__offsetY), this.__context3D.setScissorRectangle(Ib.__scissorRectangle), this.__context3D.__flushGL(), this.__gl.clearColor(0, 0, 0, 1), this.__gl.clear(this.__gl.COLOR_BUFFER_BIT), Ib.__scissorRectangle.setTo( 0, this.__offsetY + this.__displayHeight, this.__width, this.__height ), this.__context3D.setScissorRectangle(Ib.__scissorRectangle), this.__context3D.__flushGL(), this.__gl.clearColor(0, 0, 0, 1), this.__gl.clear(this.__gl.COLOR_BUFFER_BIT)), this.__context3D.setScissorRectangle(null); } else { Ib.__scissorRectangle.setTo( this.__offsetX, this.__offsetY, this.__displayWidth, this.__displayHeight ); this.__context3D.setScissorRectangle(Ib.__scissorRectangle); var b = a.__mask, d = a.__scrollRect; a.__mask = null; a.__scrollRect = null; this.__renderDrawable(a); a.__mask = b; a.__scrollRect = d; } this.__context3D.present(); }, __renderDrawable: function (a) { if (null != a) switch (a.__drawableType) { case 0: Sm.renderDrawable(a, this); break; case 2: uf.renderDrawable(a, this); break; case 3: bh.renderDrawable(a, this); break; case 4: case 5: Tm.renderDrawable(a, this); break; case 6: Um.renderDrawable(a, this); break; case 7: ch.renderDrawable(a, this); break; case 8: vf.renderDrawable(a, this); break; case 9: da.renderDrawable(a, this); } }, __renderDrawableMask: function (a) { if (null != a) switch (a.__drawableType) { case 0: Sm.renderDrawableMask(a, this); break; case 2: uf.renderDrawableMask(a, this); break; case 3: bh.renderDrawableMask(a, this); break; case 4: case 5: Tm.renderDrawableMask(a, this); break; case 6: Um.renderDrawableMask(a, this); break; case 7: ch.renderDrawableMask(a, this); break; case 8: vf.renderDrawableMask(a, this); break; case 9: da.renderDrawableMask(a, this); } }, __renderFilterPass: function (a, b, d, c) { null == c && (c = !0); if (null != a && null != b && null != this.__defaultRenderTarget) { var e = this.__context3D.__state.renderToTexture, g = this.__context3D.__state.renderToTextureDepthStencil, l = this.__context3D.__state.renderToTextureAntiAlias, q = this.__context3D.__state.renderToTextureSurfaceSelector; this.__context3D.setRenderToTexture( this.__defaultRenderTarget.getTexture(this.__context3D), !1 ); c && this.__context3D.clear(0, 0, 0, 0, 0, 0, 1); b = this.__initShader(b); this.setShader(b); this.applyAlpha(1); this.applyBitmapData(a, d); this.applyColorTransform(null); this.applyMatrix(this.__getMatrix(a.__renderTransform, 1)); this.updateShader(); d = a.getVertexBuffer(this.__context3D); null != b.__position && this.__context3D.setVertexBufferAt(b.__position.index, d, 0, 3); null != b.__textureCoord && this.__context3D.setVertexBufferAt(b.__textureCoord.index, d, 3, 2); a = a.getIndexBuffer(this.__context3D); this.__context3D.drawTriangles(a); null != e ? this.__context3D.setRenderToTexture(e, g, l, q) : this.__context3D.setRenderToBackBuffer(); this.__clearShader(); } }, __resize: function (a, b) { this.__width = a; this.__height = b; a = null == this.__defaultRenderTarget ? this.__stage.stageWidth : this.__defaultRenderTarget.width; b = null == this.__defaultRenderTarget ? this.__stage.stageHeight : this.__defaultRenderTarget.height; if (null == this.__defaultRenderTarget) { var d = this.__worldTransform; d = Math.round(0 * d.a + 0 * d.c + d.tx); } else d = 0; this.__offsetX = d; null == this.__defaultRenderTarget ? ((d = this.__worldTransform), (d = Math.round(0 * d.b + 0 * d.d + d.ty))) : (d = 0); this.__offsetY = d; null == this.__defaultRenderTarget ? ((d = this.__worldTransform), (d = Math.round(a * d.a + 0 * d.c + d.tx - this.__offsetX))) : (d = a); this.__displayWidth = d; null == this.__defaultRenderTarget ? ((d = this.__worldTransform), (d = Math.round(0 * d.b + b * d.d + d.ty - this.__offsetY))) : (d = b); this.__displayHeight = d; ta.createOrtho( this.__projection, 0, this.__displayWidth + 2 * this.__offsetX, 0, this.__displayHeight + 2 * this.__offsetY, -1e3, 1e3 ); ta.createOrtho( this.__projectionFlipped, 0, this.__displayWidth + 2 * this.__offsetX, this.__displayHeight + 2 * this.__offsetY, 0, -1e3, 1e3 ); }, __resumeClipAndMask: function (a) { 0 < this.__stencilReference ? (this.__context3D.setStencilActions(2, 1, 5, 5, 5), this.__context3D.setStencilReferenceValue(this.__stencilReference, 255, 0)) : (this.__context3D.setStencilActions(), this.__context3D.setStencilReferenceValue(0, 0, 0)); 0 < this.__numClipRects ? this.__scissorRect(this.__clipRects[this.__numClipRects - 1]) : this.__scissorRect(); }, __scissorRect: function (a) { if (null != a) { var b = Math.floor(a.x), d = Math.floor(a.y), c = 0 < a.width ? Math.ceil(a.get_right()) - b : 0; a = 0 < a.height ? Math.ceil(a.get_bottom()) - d : 0; 0 > c && (c = 0); 0 > a && (a = 0); Ib.__scissorRectangle.setTo(b, d, c, a); this.__context3D.setScissorRectangle(Ib.__scissorRectangle); } else this.__context3D.setScissorRectangle(null); }, __setBlendMode: function (a) { null != this.__overrideBlendMode && (a = this.__overrideBlendMode); if (this.__blendMode != a) switch (((this.__blendMode = a), a)) { case 0: this.__context3D.setBlendFactors(2, 2); break; case 9: this.__context3D.setBlendFactors(1, 5); break; case 12: this.__context3D.setBlendFactors(2, 6); break; case 14: this.__context3D.setBlendFactors(2, 2); this.__context3D.__setGLBlendEquation(this.__gl.FUNC_REVERSE_SUBTRACT); break; default: this.__context3D.setBlendFactors(2, 5); } }, __setRenderTarget: function (a) { this.__defaultRenderTarget = a; this.__flipped = null == a; null != a && this.__resize(a.width, a.height); }, __setShaderBuffer: function (a) { this.setShader(a.shader); this.__currentShaderBuffer = a; }, __suspendClipAndMask: function () { 0 < this.__stencilReference && (this.__context3D.setStencilActions(), this.__context3D.setStencilReferenceValue(0, 0, 0)); 0 < this.__numClipRects && this.__scissorRect(); }, __updateShaderBuffer: function (a) { null != this.__currentShader && null != this.__currentShaderBuffer && this.__currentShader.__updateFromBuffer(this.__currentShaderBuffer, a); }, __class__: Ib }); var To = function (a) { null == a && (a = !1); this.fastCompression = a; }; k['openfl.display.PNGEncoderOptions'] = To; To.__name__ = 'openfl.display.PNGEncoderOptions'; To.prototype = { fastCompression: null, __class__: To }; var Zo = function (a) { this.onComplete = new Ld(); this.display = a; null != a && (a.addEventListener('unload', m(this, this.display_onUnload)), Oa.get_current().addChild(a)); }; k['openfl.display.Preloader'] = Zo; Zo.__name__ = 'openfl.display.Preloader'; Zo.prototype = { onComplete: null, complete: null, display: null, ready: null, start: function () { this.ready = !0; Oa.get_current().get_loaderInfo().__complete(); if (null != this.display) { var a = new oa('complete', !0, !0); this.display.dispatchEvent(a); a.isDefaultPrevented() || this.display.dispatchEvent(new oa('unload')); } else this.complete || ((this.complete = !0), this.onComplete.dispatch()); }, update: function (a, b) { Oa.get_current().get_loaderInfo().__update(a, b); null != this.display && this.display.dispatchEvent(new Eg('progress', !0, !0, a, b)); }, display_onUnload: function (a) { null != this.display && (this.display.removeEventListener('unload', m(this, this.display_onUnload)), this.display.parent == Oa.get_current() && Oa.get_current().removeChild(this.display), Oa.get_current().stage.set_focus(null), (this.display = null)); this.ready && !this.complete && ((this.complete = !0), this.onComplete.dispatch()); }, __class__: Zo }; var Vm = function () { Ca.call(this); var a = this.getBackgroundColor(), b = 0; 70 > 0.299 * ((a >> 16) & 255) + 0.587 * ((a >> 8) & 255) + 0.114 * (a & 255) && (b = 16777215); a = this.getHeight() / 2 - 3.5; var d = this.getWidth() - 60; this.outline = new Ke(); this.outline.get_graphics().beginFill(b, 0.07); this.outline.get_graphics().drawRect(0, 0, d, 7); this.outline.set_x(30); this.outline.set_y(a); this.outline.set_alpha(0); this.addChild(this.outline); this.progress = new Ke(); this.progress.get_graphics().beginFill(b, 0.35); this.progress.get_graphics().drawRect(0, 0, d - 4, 3); this.progress.set_x(32); this.progress.set_y(a + 2); this.progress.set_scaleX(0); this.progress.set_alpha(0); this.addChild(this.progress); this.startAnimation = Oa.getTimer() + 100; this.endAnimation = this.startAnimation + 1e3; this.addEventListener('addedToStage', m(this, this.this_onAddedToStage)); }; k['openfl.display.DefaultPreloader'] = Vm; Vm.__name__ = 'openfl.display.DefaultPreloader'; Vm.__super__ = Ca; Vm.prototype = t(Ca.prototype, { endAnimation: null, outline: null, progress: null, startAnimation: null, getBackgroundColor: function () { var a = Oa.get_current().stage.window.context.attributes; return Object.prototype.hasOwnProperty.call(a, 'background') && null != a.background ? a.background : 0; }, getHeight: function () { var a = Oa.get_current().stage.window.__height; return 0 < a ? a : Oa.get_current().stage.stageHeight; }, getWidth: function () { var a = Oa.get_current().stage.window.__width; return 0 < a ? a : Oa.get_current().stage.stageWidth; }, onInit: function () { this.addEventListener('enterFrame', m(this, this.this_onEnterFrame)); }, onLoaded: function () { this.removeEventListener('enterFrame', m(this, this.this_onEnterFrame)); this.dispatchEvent(new oa('unload')); }, onUpdate: function (a, b) { var d = 0; 0 < b && ((d = a / b), 1 < d && (d = 1)); this.progress.set_scaleX(d); }, this_onAddedToStage: function (a) { this.removeEventListener('addedToStage', m(this, this.this_onAddedToStage)); this.onInit(); this.onUpdate(this.get_loaderInfo().bytesLoaded, this.get_loaderInfo().bytesTotal); this.addEventListener('progress', m(this, this.this_onProgress)); this.addEventListener('complete', m(this, this.this_onComplete)); }, this_onComplete: function (a) { a.preventDefault(); this.removeEventListener('progress', m(this, this.this_onProgress)); this.removeEventListener('complete', m(this, this.this_onComplete)); this.onLoaded(); }, this_onEnterFrame: function (a) { a = (Oa.getTimer() - this.startAnimation) / (this.endAnimation - this.startAnimation); 0 > a && (a = 0); 1 < a && (a = 1); this.outline.set_alpha(this.progress.set_alpha(a)); }, this_onProgress: function (a) { this.onUpdate(a.bytesLoaded | 0, a.bytesTotal | 0); }, __class__: Vm }); var Yo = function (a, b, d) { this.name = a; this.labels = b; this.numFrames = d; }; k['openfl.display.Scene'] = Yo; Yo.__name__ = 'openfl.display.Scene'; Yo.prototype = { labels: null, name: null, numFrames: null, __class__: Yo }; var Pz = { _new: function (a) { return {}; } }, Im = function () { this.channels = 0; this.filter = 5; this.index = this.height = 0; this.mipFilter = 2; this.wrap = this.width = 0; }; k['openfl.display.ShaderInput'] = Im; Im.__name__ = 'openfl.display.ShaderInput'; Im.prototype = { channels: null, filter: null, height: null, index: null, input: null, mipFilter: null, name: null, width: null, wrap: null, __isUniform: null, __disableGL: function (a, b) { a.setTextureAt(b, null); }, __updateGL: function (a, b, d, c, f, g) { d = null != d ? d : this.input; c = null != c ? c : this.filter; f = null != f ? f : this.mipFilter; g = null != g ? g : this.wrap; null != d ? (a.setTextureAt(b, d.getTexture(a)), a.setSamplerStateAt(b, g, c, f)) : a.setTextureAt(b, null); }, __class__: Im }; var Pi = function () { this.index = 0; }; k['openfl.display.ShaderParameter'] = Pi; Pi.__name__ = 'openfl.display.ShaderParameter'; Pi.prototype = { index: null, name: null, type: null, value: null, __arrayLength: null, __internal: null, __isBool: null, __isFloat: null, __isInt: null, __isUniform: null, __length: null, __uniformMatrix: null, __useArray: null, __disableGL: function (a) { a = a.gl; if (!this.__isUniform) for (var b = 0, d = this.__arrayLength; b < d; ) { var c = b++; a.disableVertexAttribArray(this.index + c); } }, __updateGL: function (a, b) { a = a.gl; b = null != b ? b : this.value; var d = this.__isBool ? b : null, c = this.__isFloat ? b : null, f = this.__isInt ? b : null; if (this.__isUniform) if (null != b && b.length >= this.__length) switch (this.type) { case 0: a.uniform1i(this.index, d[0] ? 1 : 0); break; case 1: a.uniform2i(this.index, d[0] ? 1 : 0, d[1] ? 1 : 0); break; case 2: a.uniform3i(this.index, d[0] ? 1 : 0, d[1] ? 1 : 0, d[2] ? 1 : 0); break; case 3: a.uniform4i(this.index, d[0] ? 1 : 0, d[1] ? 1 : 0, d[2] ? 1 : 0, d[3] ? 1 : 0); break; case 4: a.uniform1f(this.index, c[0]); break; case 5: a.uniform2f(this.index, c[0], c[1]); break; case 6: a.uniform3f(this.index, c[0], c[1], c[2]); break; case 7: a.uniform4f(this.index, c[0], c[1], c[2], c[3]); break; case 8: a.uniform1i(this.index, f[0]); break; case 9: a.uniform2i(this.index, f[0], f[1]); break; case 10: a.uniform3i(this.index, f[0], f[1], f[2]); break; case 11: a.uniform4i(this.index, f[0], f[1], f[2], f[3]); break; case 12: this.__uniformMatrix[0] = c[0]; this.__uniformMatrix[1] = c[1]; this.__uniformMatrix[2] = c[2]; this.__uniformMatrix[3] = c[3]; $b.uniformMatrix2fv(a, this.index, !1, this.__uniformMatrix); break; case 16: this.__uniformMatrix[0] = c[0]; this.__uniformMatrix[1] = c[1]; this.__uniformMatrix[2] = c[2]; this.__uniformMatrix[3] = c[3]; this.__uniformMatrix[4] = c[4]; this.__uniformMatrix[5] = c[5]; this.__uniformMatrix[6] = c[6]; this.__uniformMatrix[7] = c[7]; this.__uniformMatrix[8] = c[8]; $b.uniformMatrix3fv(a, this.index, !1, this.__uniformMatrix); break; case 20: (this.__uniformMatrix[0] = c[0]), (this.__uniformMatrix[1] = c[1]), (this.__uniformMatrix[2] = c[2]), (this.__uniformMatrix[3] = c[3]), (this.__uniformMatrix[4] = c[4]), (this.__uniformMatrix[5] = c[5]), (this.__uniformMatrix[6] = c[6]), (this.__uniformMatrix[7] = c[7]), (this.__uniformMatrix[8] = c[8]), (this.__uniformMatrix[9] = c[9]), (this.__uniformMatrix[10] = c[10]), (this.__uniformMatrix[11] = c[11]), (this.__uniformMatrix[12] = c[12]), (this.__uniformMatrix[13] = c[13]), (this.__uniformMatrix[14] = c[14]), (this.__uniformMatrix[15] = c[15]), $b.uniformMatrix4fv(a, this.index, !1, this.__uniformMatrix); } else switch (this.type) { case 1: case 9: a.uniform2i(this.index, 0, 0); break; case 3: case 11: a.uniform4i(this.index, 0, 0, 0, 0); break; case 4: a.uniform1f(this.index, 0); break; case 5: a.uniform2f(this.index, 0, 0); break; case 6: a.uniform3f(this.index, 0, 0, 0); break; case 7: a.uniform4f(this.index, 0, 0, 0, 0); break; case 0: case 8: a.uniform1i(this.index, 0); break; case 2: case 10: a.uniform3i(this.index, 0, 0, 0); break; case 12: this.__uniformMatrix[0] = 0; this.__uniformMatrix[1] = 0; this.__uniformMatrix[2] = 0; this.__uniformMatrix[3] = 0; $b.uniformMatrix2fv(a, this.index, !1, this.__uniformMatrix); break; case 16: this.__uniformMatrix[0] = 0; this.__uniformMatrix[1] = 0; this.__uniformMatrix[2] = 0; this.__uniformMatrix[3] = 0; this.__uniformMatrix[4] = 0; this.__uniformMatrix[5] = 0; this.__uniformMatrix[6] = 0; this.__uniformMatrix[7] = 0; this.__uniformMatrix[8] = 0; $b.uniformMatrix3fv(a, this.index, !1, this.__uniformMatrix); break; case 20: (this.__uniformMatrix[0] = 0), (this.__uniformMatrix[1] = 0), (this.__uniformMatrix[2] = 0), (this.__uniformMatrix[3] = 0), (this.__uniformMatrix[4] = 0), (this.__uniformMatrix[5] = 0), (this.__uniformMatrix[6] = 0), (this.__uniformMatrix[7] = 0), (this.__uniformMatrix[8] = 0), (this.__uniformMatrix[9] = 0), (this.__uniformMatrix[10] = 0), (this.__uniformMatrix[11] = 0), (this.__uniformMatrix[12] = 0), (this.__uniformMatrix[13] = 0), (this.__uniformMatrix[14] = 0), (this.__uniformMatrix[15] = 0), $b.uniformMatrix4fv(a, this.index, !1, this.__uniformMatrix); } else if (this.__useArray || (null != b && b.length != this.__length)) for (g = 0, l = this.__arrayLength; g < l; ) (q = g++), a.enableVertexAttribArray(this.index + q); else { for (var g = 0, l = this.__arrayLength; g < l; ) { var q = g++; a.disableVertexAttribArray(this.index + q); } if (null != b) switch (this.type) { case 0: a.vertexAttrib1f(this.index, d[0] ? 1 : 0); break; case 1: a.vertexAttrib2f(this.index, d[0] ? 1 : 0, d[1] ? 1 : 0); break; case 2: a.vertexAttrib3f(this.index, d[0] ? 1 : 0, d[1] ? 1 : 0, d[2] ? 1 : 0); break; case 3: a.vertexAttrib4f( this.index, d[0] ? 1 : 0, d[1] ? 1 : 0, d[2] ? 1 : 0, d[3] ? 1 : 0 ); break; case 4: a.vertexAttrib1f(this.index, c[0]); break; case 5: a.vertexAttrib2f(this.index, c[0], c[1]); break; case 6: a.vertexAttrib3f(this.index, c[0], c[1], c[2]); break; case 7: a.vertexAttrib4f(this.index, c[0], c[1], c[2], c[3]); break; case 8: a.vertexAttrib1f(this.index, f[0]); break; case 9: a.vertexAttrib2f(this.index, f[0], f[1]); break; case 10: a.vertexAttrib3f(this.index, f[0], f[1], f[2]); break; case 11: a.vertexAttrib4f(this.index, f[0], f[1], f[2], f[3]); break; case 12: a.vertexAttrib2f(this.index + 0, c[0], c[1]); a.vertexAttrib2f(this.index + 1, c[2], c[3]); break; case 16: a.vertexAttrib3f(this.index + 0, c[0], c[1], c[2]); a.vertexAttrib3f(this.index + 1, c[3], c[4], c[5]); a.vertexAttrib3f(this.index + 2, c[6], c[7], c[8]); break; case 20: a.vertexAttrib4f(this.index + 0, c[0], c[1], c[2], c[3]), a.vertexAttrib4f(this.index + 1, c[4], c[5], c[6], c[7]), a.vertexAttrib4f(this.index + 2, c[8], c[9], c[10], c[11]), a.vertexAttrib4f(this.index + 3, c[12], c[13], c[14], c[15]); } else switch (this.type) { case 1: case 5: case 9: a.vertexAttrib2f(this.index, 0, 0); break; case 3: case 7: case 11: a.vertexAttrib4f(this.index, 0, 0, 0, 0); break; case 0: case 4: case 8: a.vertexAttrib1f(this.index, 0); break; case 2: case 6: case 10: a.vertexAttrib3f(this.index, 0, 0, 0); break; case 12: a.vertexAttrib2f(this.index + 0, 0, 0); a.vertexAttrib2f(this.index + 1, 0, 0); break; case 16: a.vertexAttrib3f(this.index + 0, 0, 0, 0); a.vertexAttrib3f(this.index + 1, 0, 0, 0); a.vertexAttrib3f(this.index + 2, 0, 0, 0); break; case 20: a.vertexAttrib4f(this.index + 0, 0, 0, 0, 0), a.vertexAttrib4f(this.index + 1, 0, 0, 0, 0), a.vertexAttrib4f(this.index + 2, 0, 0, 0, 0), a.vertexAttrib4f(this.index + 3, 0, 0, 0, 0); } } }, __updateGLFromBuffer: function (a, b, d, c, f) { a = a.gl; if (this.__isUniform) { if (c >= this.__length) switch (this.type) { case 1: case 9: a.uniform2i(this.index, b[d] | 0, b[d + 1] | 0); break; case 3: case 11: a.uniform4i(this.index, b[d] | 0, b[d + 1] | 0, b[d + 2] | 0, b[d + 3] | 0); break; case 4: a.uniform1f(this.index, b[d]); break; case 5: a.uniform2f(this.index, b[d], b[d + 1]); break; case 6: a.uniform3f(this.index, b[d], b[d + 1], b[d + 2]); break; case 7: a.uniform4f(this.index, b[d], b[d + 1], b[d + 2], b[d + 3]); break; case 0: case 8: a.uniform1i(this.index, b[d] | 0); break; case 2: case 10: a.uniform3i(this.index, b[d] | 0, b[d + 1] | 0, b[d + 2] | 0); break; case 12: this.__uniformMatrix[0] = b[d]; this.__uniformMatrix[1] = b[d + 1]; this.__uniformMatrix[2] = b[d + 2]; this.__uniformMatrix[3] = b[d + 3]; $b.uniformMatrix2fv(a, this.index, !1, this.__uniformMatrix); break; case 16: this.__uniformMatrix[0] = b[d]; this.__uniformMatrix[1] = b[d + 1]; this.__uniformMatrix[2] = b[d + 2]; this.__uniformMatrix[3] = b[d + 3]; this.__uniformMatrix[4] = b[d + 4]; this.__uniformMatrix[5] = b[d + 5]; this.__uniformMatrix[6] = b[d + 6]; this.__uniformMatrix[7] = b[d + 7]; this.__uniformMatrix[8] = b[d + 8]; $b.uniformMatrix3fv(a, this.index, !1, this.__uniformMatrix); break; case 20: (this.__uniformMatrix[0] = b[d]), (this.__uniformMatrix[1] = b[d + 1]), (this.__uniformMatrix[2] = b[d + 2]), (this.__uniformMatrix[3] = b[d + 3]), (this.__uniformMatrix[4] = b[d + 4]), (this.__uniformMatrix[5] = b[d + 5]), (this.__uniformMatrix[6] = b[d + 6]), (this.__uniformMatrix[7] = b[d + 7]), (this.__uniformMatrix[8] = b[d + 8]), (this.__uniformMatrix[9] = b[d + 9]), (this.__uniformMatrix[10] = b[d + 10]), (this.__uniformMatrix[11] = b[d + 11]), (this.__uniformMatrix[12] = b[d + 12]), (this.__uniformMatrix[13] = b[d + 13]), (this.__uniformMatrix[14] = b[d + 14]), (this.__uniformMatrix[15] = b[d + 15]), $b.uniformMatrix4fv(a, this.index, !1, this.__uniformMatrix); } } else if (this.__internal || (0 != c && c != this.__length)) { b = a.FLOAT; this.__isBool ? (b = a.INT) : this.__isInt && (b = a.INT); e = 0; for (l = this.__arrayLength; e < l; ) (q = e++), a.enableVertexAttribArray(this.index + q); if (0 < c) for (e = 0, l = this.__arrayLength; e < l; ) (q = e++), a.vertexAttribPointer( this.index + q, this.__length, b, !1, 4 * this.__length, 4 * (d + f * this.__length + q * this.__arrayLength) ); } else { for (var e = 0, l = this.__arrayLength; e < l; ) { var q = e++; a.disableVertexAttribArray(this.index + q); } if (0 < c) switch (this.type) { case 1: case 5: case 9: a.vertexAttrib2f(this.index, b[d], b[d + 1]); break; case 3: case 7: case 11: a.vertexAttrib4f(this.index, b[d], b[d + 1], b[d + 2], b[d + 3]); break; case 0: case 4: case 8: a.vertexAttrib1f(this.index, b[d]); break; case 2: case 6: case 10: a.vertexAttrib3f(this.index, b[d], b[d + 1], b[d + 2]); break; case 12: a.vertexAttrib2f(this.index + 0, b[d], b[d + 1]); a.vertexAttrib2f(this.index + 1, b[d + 2], b[d + 2 + 1]); break; case 16: a.vertexAttrib3f(this.index + 0, b[d], b[d + 1], b[d + 2]); a.vertexAttrib3f(this.index + 1, b[d + 3], b[d + 3 + 1], b[d + 3 + 2]); a.vertexAttrib3f(this.index + 2, b[d + 6], b[d + 6 + 1], b[d + 6 + 2]); break; case 20: a.vertexAttrib4f(this.index + 0, b[d], b[d + 1], b[d + 2], b[d + 3]), a.vertexAttrib4f( this.index + 1, b[d + 4], b[d + 4 + 1], b[d + 4 + 2], b[d + 4 + 3] ), a.vertexAttrib4f( this.index + 2, b[d + 8], b[d + 8 + 1], b[d + 8 + 2], b[d + 8 + 3] ), a.vertexAttrib4f( this.index + 3, b[d + 12], b[d + 12 + 1], b[d + 12 + 2], b[d + 12 + 3] ); } else switch (this.type) { case 1: case 5: case 9: a.vertexAttrib2f(this.index, 0, 0); break; case 3: case 7: case 11: a.vertexAttrib4f(this.index, 0, 0, 0, 0); break; case 0: case 4: case 8: a.vertexAttrib1f(this.index, 0); break; case 2: case 6: case 10: a.vertexAttrib3f(this.index, 0, 0, 0); break; case 12: a.vertexAttrib2f(this.index + 0, 0, 0); a.vertexAttrib2f(this.index + 1, 0, 0); break; case 16: a.vertexAttrib3f(this.index + 0, 0, 0, 0); a.vertexAttrib3f(this.index + 1, 0, 0, 0); a.vertexAttrib3f(this.index + 2, 0, 0, 0); break; case 20: a.vertexAttrib4f(this.index + 0, 0, 0, 0, 0), a.vertexAttrib4f(this.index + 1, 0, 0, 0, 0), a.vertexAttrib4f(this.index + 2, 0, 0, 0, 0), a.vertexAttrib4f(this.index + 3, 0, 0, 0, 0); } } }, set_name: function (a) { this.__internal = T.startsWith(a, 'openfl_'); return (this.name = a); }, __class__: Pi, __properties__: { set_name: 'set_name' } }; var Ke = function () { Ka.call(this); this.__drawableType = 3; }; k['openfl.display.Shape'] = Ke; Ke.__name__ = 'openfl.display.Shape'; Ke.__super__ = Ka; Ke.prototype = t(Ka.prototype, { get_graphics: function () { null == this.__graphics && (this.__graphics = new Se(this)); return this.__graphics; }, __class__: Ke, __properties__: t(Ka.prototype.__properties__, { get_graphics: 'get_graphics' }) }); var Si = function (a, b, d, c) { xb.call(this); this.__drawableType = 6; this.enabled = !0; this.trackAsMenu = !1; this.useHandCursor = !0; this.__upState = null != a ? a : new Ka(); this.__overState = b; this.__downState = d; this.set_hitTestState(null != c ? c : new Ka()); this.addEventListener('mouseDown', m(this, this.__this_onMouseDown)); this.addEventListener('mouseOut', m(this, this.__this_onMouseOut)); this.addEventListener('mouseOver', m(this, this.__this_onMouseOver)); this.addEventListener('mouseUp', m(this, this.__this_onMouseUp)); this.__tabEnabled = !0; this.set___currentState(this.__upState); null != Si.__constructor && ((a = Si.__constructor), (Si.__constructor = null), a(this)); }; k['openfl.display.SimpleButton'] = Si; Si.__name__ = 'openfl.display.SimpleButton'; Si.__super__ = xb; Si.prototype = t(xb.prototype, { enabled: null, trackAsMenu: null, useHandCursor: null, __currentState: null, __downState: null, __hitTestState: null, __ignoreEvent: null, __overState: null, __previousStates: null, __soundTransform: null, __upState: null, __getBounds: function (a, b) { xb.prototype.__getBounds.call(this, a, b); var d = Ia.__pool.get(), c = this.__currentState.__transform; d.a = c.a * b.a + c.b * b.c; d.b = c.a * b.b + c.b * b.d; d.c = c.c * b.a + c.d * b.c; d.d = c.c * b.b + c.d * b.d; d.tx = c.tx * b.a + c.ty * b.c + b.tx; d.ty = c.tx * b.b + c.ty * b.d + b.ty; this.__currentState.__getBounds(a, d); Ia.__pool.release(d); }, __getRenderBounds: function (a, b) { if (null != this.__scrollRect) xb.prototype.__getRenderBounds.call(this, a, b); else { xb.prototype.__getBounds.call(this, a, b); var d = Ia.__pool.get(), c = this.__currentState.__transform; d.a = c.a * b.a + c.b * b.c; d.b = c.a * b.b + c.b * b.d; d.c = c.c * b.a + c.d * b.c; d.d = c.c * b.b + c.d * b.d; d.tx = c.tx * b.a + c.ty * b.c + b.tx; d.ty = c.tx * b.b + c.ty * b.d + b.ty; this.__currentState.__getRenderBounds(a, d); Ia.__pool.release(d); } }, __getCursor: function () { return this.useHandCursor && !this.__ignoreEvent && this.enabled ? 'button' : null; }, __hitTest: function (a, b, d, c, f, g) { var e = !1; null != this.get_hitTestState() ? this.get_hitTestState().__hitTest(a, b, d, c, f, g) && (null != c && (0 == c.length ? (c[0] = g) : (c[c.length - 1] = g)), (e = !f || this.mouseEnabled)) : null != this.__currentState && (!g.get_visible() || this.__isMask || (f && !this.mouseEnabled) || (null != this.get_mask() && !this.get_mask().__hitTestMask(a, b)) ? (e = !1) : this.__currentState.__hitTest(a, b, d, c, f, g) && (e = f)); if (null != c) for (; 1 < c.length && c[c.length - 1] == c[c.length - 2]; ) c.pop(); return e; }, __hitTestMask: function (a, b) { var d = !1; this.__currentState.__hitTestMask(a, b) && (d = !0); return d; }, __setStageReference: function (a) { xb.prototype.__setStageReference.call(this, a); null != this.__currentState && this.__currentState.__setStageReference(a); null != this.get_hitTestState() && this.get_hitTestState() != this.__currentState && this.get_hitTestState().__setStageReference(a); }, __setTransformDirty: function () { xb.prototype.__setTransformDirty.call(this); null != this.__currentState && this.__currentState.__setTransformDirty(); null != this.get_hitTestState() && this.get_hitTestState() != this.__currentState && this.get_hitTestState().__setTransformDirty(); }, __update: function (a, b) { xb.prototype.__update.call(this, a, b); b && (null != this.__currentState && this.__currentState.__update(a, !0), null != this.get_hitTestState() && this.get_hitTestState() != this.__currentState && this.get_hitTestState().__update(a, !0)); }, __updateTransforms: function (a) { xb.prototype.__updateTransforms.call(this, a); null != this.__currentState && this.__currentState.__updateTransforms(); null != this.get_hitTestState() && this.get_hitTestState() != this.__currentState && this.get_hitTestState().__updateTransforms(); }, get_downState: function () { return this.__downState; }, set_downState: function (a) { null != this.__downState && this.__currentState == this.__downState && this.set___currentState(this.__downState); return (this.__downState = a); }, get_hitTestState: function () { return this.__hitTestState; }, set_hitTestState: function (a) { null != this.__hitTestState && this.__hitTestState != a && this.__hitTestState != this.get_downState() && this.__hitTestState != this.get_upState() && this.__hitTestState != this.get_overState() && (this.__hitTestState.__renderParent = null); null != a && ((a.__renderParent = this), a.__renderDirty || ((a.__renderDirty = !0), a.__setParentRenderDirty())); return (this.__hitTestState = a); }, get_overState: function () { return this.__overState; }, set_overState: function (a) { null != this.__overState && this.__currentState == this.__overState && this.set___currentState(a); return (this.__overState = a); }, get_soundTransform: function () { null == this.__soundTransform && (this.__soundTransform = new hf()); return new hf(this.__soundTransform.volume, this.__soundTransform.pan); }, set_soundTransform: function (a) { this.__soundTransform = new hf(a.volume, a.pan); return a; }, get_upState: function () { return this.__upState; }, set_upState: function (a) { null != this.__upState && this.__currentState == this.__upState && this.set___currentState(a); return (this.__upState = a); }, set___currentState: function (a) { null != this.__currentState && this.__currentState != this.get_hitTestState() && (this.__currentState.__renderParent = null); null != a && null != a.parent && a.parent.removeChild(a); Ka.__supportDOM && null == this.__previousStates && (this.__previousStates = Ab.toObjectVector(null)); if (a != this.__currentState) { if (Ka.__supportDOM) { null != this.__currentState && (this.__currentState.__setStageReference(null), this.__previousStates.push(this.__currentState)); var b = this.__previousStates.indexOf(a, 0); -1 < b && this.__previousStates.splice(b, 1); } null != a && ((a.__renderParent = this), a.__renderDirty || ((a.__renderDirty = !0), a.__setParentRenderDirty())); this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()); } return (this.__currentState = a); }, __this_onMouseDown: function (a) { this.enabled && this.set___currentState(this.get_downState()); }, __this_onMouseOut: function (a) { this.__ignoreEvent = !1; this.get_upState() != this.__currentState && this.set___currentState(this.get_upState()); }, __this_onMouseOver: function (a) { a.buttonDown && (this.__ignoreEvent = !0); this.get_overState() != this.__currentState && null != this.get_overState() && !this.__ignoreEvent && this.enabled && this.set___currentState(this.get_overState()); }, __this_onMouseUp: function (a) { this.__ignoreEvent = !1; this.enabled && null != this.get_overState() ? this.set___currentState(this.get_overState()) : this.set___currentState(this.get_upState()); }, __class__: Si, __properties__: t(xb.prototype.__properties__, { set___currentState: 'set___currentState', set_upState: 'set_upState', get_upState: 'get_upState', set_soundTransform: 'set_soundTransform', get_soundTransform: 'get_soundTransform', set_overState: 'set_overState', get_overState: 'get_overState', set_hitTestState: 'set_hitTestState', get_hitTestState: 'get_hitTestState', set_downState: 'set_downState', get_downState: 'get_downState' }) }); var Ti = function (a, b) { Xa.call(this); this.__drawableType = 5; this.set_name(null); this.__color = -1; this.__colorSplit = [255, 255, 255]; this.__colorString = '#FFFFFF'; this.__contentsScaleFactor = 1; this.__deltaTime = this.__currentTabOrderIndex = 0; this.__displayState = 2; this.__logicalHeight = this.__logicalWidth = this.__lastClickTime = this.__mouseY = this.__mouseX = 0; this.__displayMatrix = new Ia(); this.__displayRect = new ea(); this.__renderDirty = !0; this.stage3Ds = Ab.toObjectVector(null); this.stage3Ds.push(new bi(this)); this.stage3Ds.push(new bi(this)); this.stage3Ds.push(new bi(this)); this.stage3Ds.push(new bi(this)); this.stage = this; this.align = 6; this.allowsFullScreenInteractive = this.allowsFullScreen = !0; this.__quality = 1; this.__scaleMode = 2; this.showDefaultContextMenu = !0; this.softKeyboardRect = new ea(); this.stageFocusRect = !0; this.__macKeyboard = (/AppleWebKit/.test(navigator.userAgent) && /Mobile\/\w+/.test(navigator.userAgent)) || /Mac/.test(navigator.platform); this.__clearBeforeRender = !0; this.__forceRender = !1; this.__stack = []; this.__rollOutStack = []; this.__mouseOutStack = []; this.__touchData = new Ya(); this.application = a.application; this.window = a; this.set_color(b); this.__contentsScaleFactor = a.__scale; this.__wasFullscreen = a.__fullscreen; this.__resize(); null == Oa.get_current().stage && this.stage.addChild(Oa.get_current()); }; k['openfl.display.Stage'] = Ti; Ti.__name__ = 'openfl.display.Stage'; Ti.__interfaces__ = [Oj]; Ti.__super__ = Xa; Ti.prototype = t(Xa.prototype, { align: null, allowsFullScreen: null, allowsFullScreenInteractive: null, application: null, context3D: null, showDefaultContextMenu: null, softKeyboardRect: null, stage3Ds: null, stageFocusRect: null, stageHeight: null, stageWidth: null, window: null, __cacheFocus: null, __clearBeforeRender: null, __color: null, __colorSplit: null, __colorString: null, __contentsScaleFactor: null, __currentTabOrderIndex: null, __deltaTime: null, __dirty: null, __displayMatrix: null, __displayRect: null, __displayState: null, __dragBounds: null, __dragObject: null, __dragOffsetX: null, __dragOffsetY: null, __focus: null, __forceRender: null, __fullscreen: null, __fullScreenSourceRect: null, __invalidated: null, __lastClickTime: null, __logicalWidth: null, __logicalHeight: null, __macKeyboard: null, __mouseDownLeft: null, __mouseDownMiddle: null, __mouseDownRight: null, __mouseOutStack: null, __mouseOverTarget: null, __mouseX: null, __mouseY: null, __pendingMouseEvent: null, __pendingMouseX: null, __pendingMouseY: null, __quality: null, __renderer: null, __rendering: null, __rollOutStack: null, __scaleMode: null, __stack: null, __touchData: null, __transparent: null, __wasDirty: null, __wasFullscreen: null, __primaryTouch: null, invalidate: function () { this.__renderDirty = this.__invalidated = !0; }, localToGlobal: function (a) { return a.clone(); }, __broadcastEvent: function (a) { if (Object.prototype.hasOwnProperty.call(Ka.__broadcastEvents.h, a.type)) for (var b = Ka.__broadcastEvents.h[a.type], d = 0; d < b.length; ) { var c = b[d]; ++d; if (c.stage == this || null == c.stage) try { c.__dispatch(a); } catch (f) { (ka.lastError = f), (c = J.caught(f).unwrap()), this.__handleError(c); } } }, __createRenderer: function () { var a = 1; 1 < this.window.__scale && (a = this.window.devicePixelRatio || 1); var b = (this.window.__width * this.window.__scale) | 0, d = (this.window.__height * this.window.__scale) | 0; switch (this.window.context.type) { case 'canvas': this.__renderer = new Cg(this.window.context.canvas2D); w.__cast(this.__renderer, Cg).pixelRatio = a; break; case 'dom': (this.__renderer = new Oi(this.window.context.dom)), (w.__cast(this.__renderer, Oi).pixelRatio = a); } null != this.__renderer && ((a = this.get_quality()), (this.__renderer.__allowSmoothing = 2 != a), (this.__renderer.__worldTransform = this.__displayMatrix), (this.__renderer.__stage = this), this.__renderer.__resize(b, d)); }, __dispatchEvent: function (a) { try { return Xa.prototype.__dispatchEvent.call(this, a); } catch (b) { return (ka.lastError = b), (a = J.caught(b).unwrap()), this.__handleError(a), !1; } }, __dispatchPendingMouseEvent: function () { this.__pendingMouseEvent && (this.__onMouse('mouseMove', this.__pendingMouseX, this.__pendingMouseY, 0), (this.__pendingMouseEvent = !1)); }, __dispatchStack: function (a, b) { try { var d = b.length; if (0 == d) { a.eventPhase = 2; var c = a.target; c.__dispatch(a); } else { a.eventPhase = 1; a.target = b[b.length - 1]; for (var f = 0, g = d - 1; f < g; ) { var l = f++; b[l].__dispatch(a); if (a.__isCanceled) return; } a.eventPhase = 2; c = a.target; c.__dispatch(a); if (!a.__isCanceled && a.bubbles) for (a.eventPhase = 3, l = d - 2; 0 <= l; ) { b[l].__dispatch(a); if (a.__isCanceled) break; --l; } } } catch (q) { (ka.lastError = q), (a = J.caught(q).unwrap()), this.__handleError(a); } }, __dispatchTarget: function (a, b) { try { return a.__dispatchEvent(b); } catch (d) { return (ka.lastError = d), (a = J.caught(d).unwrap()), this.__handleError(a), !1; } }, __drag: function (a) { var b = this.__dragObject.parent; if (null != b) { b = b.__getWorldTransform(); var d = b.a * b.d - b.b * b.c; if (0 == d) (a.x = -b.tx), (a.y = -b.ty); else { var c = (1 / d) * (b.c * (b.ty - a.y) + b.d * (a.x - b.tx)); a.y = (1 / d) * (b.a * (a.y - b.ty) + b.b * (b.tx - a.x)); a.x = c; } } b = a.x + this.__dragOffsetX; a = a.y + this.__dragOffsetY; null != this.__dragBounds && (b < this.__dragBounds.x ? (b = this.__dragBounds.x) : b > this.__dragBounds.get_right() && (b = this.__dragBounds.get_right()), a < this.__dragBounds.y ? (a = this.__dragBounds.y) : a > this.__dragBounds.get_bottom() && (a = this.__dragBounds.get_bottom())); this.__dragObject.set_x(b); this.__dragObject.set_y(a); }, __getInteractive: function (a) { null != a && a.push(this); return !0; }, __globalToLocal: function (a, b) { a != b && b.copyFrom(a); return b; }, __handleError: function (a) { var b = new Ui('uncaughtError', !0, !0, a); try { Oa.get_current().__loaderInfo.uncaughtErrorEvents.dispatchEvent(b); } catch (e) { ka.lastError = e; } if (!b.__preventDefault) { b = jf.toString(jf.exceptionStack()); console.log(b); b = z.string(a); console.log(b); try { if ( null != a && Object.prototype.hasOwnProperty.call(a, 'stack') && null != a.stack && '' != a.stack ) console.log(a.stack), (a.stack = a.stack); else { var d = jf.toString(jf.callStack()); console.log(d); } } catch (e) { ka.lastError = e; } throw a; } }, __onKey: function (a, b, d) { this.__dispatchPendingMouseEvent(); Mb.__altKey = Cb.get_altKey(d); Mb.__commandKey = Cb.get_metaKey(d); Mb.__ctrlKey = Cb.get_ctrlKey(d); Mb.__shiftKey = Cb.get_shiftKey(d); var c = []; null == this.__focus ? this.__getInteractive(c) : this.__focus.__getInteractive(c); if (0 < c.length) { switch (b) { case 1073741908: case 1073741909: case 1073741910: case 1073741911: case 1073741912: case 1073741913: case 1073741914: case 1073741915: case 1073741916: case 1073741917: case 1073741918: case 1073741919: case 1073741920: case 1073741921: case 1073741922: case 1073741923: case 1073742044: var f = 3; break; case 1073742048: case 1073742049: case 1073742050: case 1073742051: f = 1; break; case 1073742052: case 1073742053: case 1073742054: case 1073742055: f = 2; break; default: f = 0; } switch (b) { case 8: b = 8; break; case 9: b = 9; break; case 13: b = 13; break; case 27: b = 27; break; case 32: b = 32; break; case 33: b = 49; break; case 34: b = 222; break; case 35: b = 51; break; case 36: b = 52; break; case 37: b = 53; break; case 38: b = 55; break; case 39: b = 222; break; case 40: b = 57; break; case 41: b = 48; break; case 42: b = 56; break; case 44: b = 188; break; case 45: b = 189; break; case 46: b = 190; break; case 47: b = 191; break; case 48: b = 48; break; case 49: b = 49; break; case 50: b = 50; break; case 51: b = 51; break; case 52: b = 52; break; case 53: b = 53; break; case 54: b = 54; break; case 55: b = 55; break; case 56: b = 56; break; case 57: b = 57; break; case 58: b = 186; break; case 59: b = 186; break; case 60: b = 60; break; case 61: b = 187; break; case 62: b = 190; break; case 63: b = 191; break; case 64: b = 50; break; case 91: b = 219; break; case 92: b = 220; break; case 93: b = 221; break; case 94: b = 54; break; case 95: b = 189; break; case 96: b = 192; break; case 97: b = 65; break; case 98: b = 66; break; case 99: b = 67; break; case 100: b = 68; break; case 101: b = 69; break; case 102: b = 70; break; case 103: b = 71; break; case 104: b = 72; break; case 105: b = 73; break; case 106: b = 74; break; case 107: b = 75; break; case 108: b = 76; break; case 109: b = 77; break; case 110: b = 78; break; case 111: b = 79; break; case 112: b = 80; break; case 113: b = 81; break; case 114: b = 82; break; case 115: b = 83; break; case 116: b = 84; break; case 117: b = 85; break; case 118: b = 86; break; case 119: b = 87; break; case 120: b = 88; break; case 121: b = 89; break; case 122: b = 90; break; case 127: b = 46; break; case 1073741881: b = 20; break; case 1073741882: b = 112; break; case 1073741883: b = 113; break; case 1073741884: b = 114; break; case 1073741885: b = 115; break; case 1073741886: b = 116; break; case 1073741887: b = 117; break; case 1073741888: b = 118; break; case 1073741889: b = 119; break; case 1073741890: b = 120; break; case 1073741891: b = 121; break; case 1073741892: b = 122; break; case 1073741893: b = 123; break; case 1073741894: b = 301; break; case 1073741895: b = 145; break; case 1073741896: b = 19; break; case 1073741897: b = 45; break; case 1073741898: b = 36; break; case 1073741899: b = 33; break; case 1073741901: b = 35; break; case 1073741902: b = 34; break; case 1073741903: b = 39; break; case 1073741904: b = 37; break; case 1073741905: b = 40; break; case 1073741906: b = 38; break; case 1073741907: b = 144; break; case 1073741908: b = 111; break; case 1073741909: b = 106; break; case 1073741910: b = 109; break; case 1073741911: b = 107; break; case 1073741912: b = 13; break; case 1073741913: b = 97; break; case 1073741914: b = 98; break; case 1073741915: b = 99; break; case 1073741916: b = 100; break; case 1073741917: b = 101; break; case 1073741918: b = 102; break; case 1073741919: b = 103; break; case 1073741920: b = 104; break; case 1073741921: b = 105; break; case 1073741922: b = 96; break; case 1073741923: b = 110; break; case 1073741925: b = 302; break; case 1073741928: b = 124; break; case 1073741929: b = 125; break; case 1073741930: b = 126; break; case 1073741982: b = 13; break; case 1073742044: b = 110; break; case 1073742048: b = 17; break; case 1073742049: b = 16; break; case 1073742050: b = 18; break; case 1073742051: b = 15; break; case 1073742052: b = 17; break; case 1073742053: b = 16; break; case 1073742054: b = 18; break; case 1073742055: b = 15; } var g = Fa.__getCharCode(b, Cb.get_shiftKey(d)); if ('keyUp' == a && (32 == b || 13 == b) && this.__focus instanceof Ca) { var l = w.__cast(this.__focus, Ca); if (l.get_buttonMode() && 1 == l.focusRect) { var q = na.__pool.get(), h = na.__pool.get(); h.x = this.__mouseX; h.y = this.__mouseY; l = Mb.__create( 'click', 0, this.__mouseX, this.__mouseY, l.__globalToLocal(h, q), l ); this.__dispatchStack(l, c); na.__pool.release(h); na.__pool.release(q); } } f = new ci( a, !0, !0, g, b, f, this.__macKeyboard ? Cb.get_ctrlKey(d) || Cb.get_metaKey(d) : Cb.get_ctrlKey(d), Cb.get_altKey(d), Cb.get_shiftKey(d), Cb.get_ctrlKey(d), Cb.get_metaKey(d) ); c.reverse(); this.__dispatchStack(f, c); if (f.__preventDefault) 'keyDown' == a ? this.window.onKeyDown.cancel() : this.window.onKeyUp.cancel(); else if ('keyDown' == a && 9 == b) { c = []; this.__tabTest(c); b = -1; a = null; f = Cb.get_shiftKey(d) ? -1 : 1; if (1 < c.length) { he.sort(c, function (a, b) { return a.get_tabIndex() - b.get_tabIndex(); }); if (-1 != c[c.length - 1].get_tabIndex()) for (q = 0; q < c.length; ) { if (-1 < c[q].get_tabIndex()) { 0 < q && c.splice(0, q); break; } ++q; } if (null != this.get_focus()) { q = this.get_focus(); for (g = c.indexOf(q); -1 == g && null != q; ) { b = q.parent; if (null != b && b.get_tabChildren()) { q = b.getChildIndex(q); if (-1 == q) { q = b; continue; } for (q += f; Cb.get_shiftKey(d) ? 0 <= q : q < b.get_numChildren(); ) { h = b.getChildAt(q); if ( h instanceof xb && ((g = w.__cast(h, xb)), (g = c.indexOf(g)), -1 != g) ) { f = 0; break; } q += f; } } else Cb.get_shiftKey(d) && ((g = c.indexOf(b)), -1 != g && (f = 0)); q = b; } b = 0 > g ? 0 : g + f; } else b = this.__currentTabOrderIndex; } else 1 == c.length && ((a = c[0]), this.get_focus() == a && (a = null)); g = 0 <= b && b < c.length; 1 == c.length || (0 == c.length && null != this.get_focus()) ? (b = 0) : 1 < c.length && (0 > b && (b += c.length), (b %= c.length), (a = c[b]), a == this.get_focus() && ((b += f), 0 > b && (b += c.length), (b %= c.length), (a = c[b]))); f = null; null != this.get_focus() && ((f = new Yf('keyFocusChange', !0, !0, a, Cb.get_shiftKey(d), 0)), (c = []), this.get_focus().__getInteractive(c), c.reverse(), this.__dispatchStack(f, c), f.isDefaultPrevented() && this.window.onKeyDown.cancel()); (null != f && f.isDefaultPrevented()) || ((this.__currentTabOrderIndex = b), null != a && this.set_focus(a), g && this.window.onKeyDown.cancel()); } } }, __onLimeCreateWindow: function (a) { if (this.window == a) { var b = m(this, this.__onLimeWindowActivate); a.onActivate.add(function () { b(a); }); var d = m(this, this.__onLimeWindowClose); a.onClose.add( function () { d(a); }, !1, -9e3 ); var c = m(this, this.__onLimeWindowDeactivate); a.onDeactivate.add(function () { c(a); }); var f = m(this, this.__onLimeWindowDropFile); var g = function (b) { f(a, b); }; a.onDropFile.add(g); var l = m(this, this.__onLimeWindowEnter); a.onEnter.add(function () { l(a); }); var q = m(this, this.__onLimeWindowExpose); a.onExpose.add(function () { q(a); }); var h = m(this, this.__onLimeWindowFocusIn); a.onFocusIn.add(function () { h(a); }); var r = m(this, this.__onLimeWindowFocusOut); a.onFocusOut.add(function () { r(a); }); var k = m(this, this.__onLimeWindowFullscreen); a.onFullscreen.add(function () { k(a); }); var p = m(this, this.__onLimeKeyDown); g = function (b, d) { p(a, b, d); }; a.onKeyDown.add(g); var n = m(this, this.__onLimeKeyUp); g = function (b, d) { n(a, b, d); }; a.onKeyUp.add(g); var u = m(this, this.__onLimeWindowLeave); a.onLeave.add(function () { u(a); }); var t = m(this, this.__onLimeWindowMinimize); a.onMinimize.add(function () { t(a); }); var x = m(this, this.__onLimeMouseDown); g = function (b, d, c) { x(a, b, d, c); }; a.onMouseDown.add(g); var v = m(this, this.__onLimeMouseMove); g = function (b, d) { v(a, b, d); }; a.onMouseMove.add(g); var w = m(this, this.__onLimeMouseMoveRelative); g = function (b, d) { w(a, b, d); }; a.onMouseMoveRelative.add(g); var G = m(this, this.__onLimeMouseUp); g = function (b, d, c) { G(a, b, d, c); }; a.onMouseUp.add(g); var B = m(this, this.__onLimeMouseWheel); g = function (b, d, c) { B(a, b, d, c); }; a.onMouseWheel.add(g); var N = m(this, this.__onLimeWindowMove); g = function (b, d) { N(a, b, d); }; a.onMove.add(g); a.onRender.add(m(this, this.__onLimeRender)); a.onRenderContextLost.add(m(this, this.__onLimeRenderContextLost)); a.onRenderContextRestored.add(m(this, this.__onLimeRenderContextRestored)); var H = m(this, this.__onLimeWindowResize); g = function (b, d) { H(a, b, d); }; a.onResize.add(g); var D = m(this, this.__onLimeWindowRestore); a.onRestore.add(function () { D(a); }); var z = m(this, this.__onLimeTextEdit); g = function (b, d, c) { z(a, b, d, c); }; a.onTextEdit.add(g); var C = m(this, this.__onLimeTextInput); g = function (b) { C(a, b); }; a.onTextInput.add(g); this.__onLimeWindowCreate(a); } }, __onLimeGamepadAxisMove: function (a, b, d) { try { Xb.__onGamepadAxisMove(a, b, d); } catch (e) { (ka.lastError = e), (a = J.caught(e).unwrap()), this.__handleError(a); } }, __onLimeGamepadButtonDown: function (a, b) { try { Xb.__onGamepadButtonDown(a, b); } catch (d) { (ka.lastError = d), (a = J.caught(d).unwrap()), this.__handleError(a); } }, __onLimeGamepadButtonUp: function (a, b) { try { Xb.__onGamepadButtonUp(a, b); } catch (d) { (ka.lastError = d), (a = J.caught(d).unwrap()), this.__handleError(a); } }, __onLimeGamepadConnect: function (a) { try { Xb.__onGamepadConnect(a); } catch (l) { ka.lastError = l; var b = J.caught(l).unwrap(); this.__handleError(b); } var d = m(this, this.__onLimeGamepadAxisMove); b = function (b, c) { d(a, b, c); }; a.onAxisMove.add(b); var c = m(this, this.__onLimeGamepadButtonDown); b = function (b) { c(a, b); }; a.onButtonDown.add(b); var f = m(this, this.__onLimeGamepadButtonUp); b = function (b) { f(a, b); }; a.onButtonUp.add(b); var g = m(this, this.__onLimeGamepadDisconnect); a.onDisconnect.add(function () { g(a); }); }, __onLimeGamepadDisconnect: function (a) { try { Xb.__onGamepadDisconnect(a); } catch (b) { (ka.lastError = b), (a = J.caught(b).unwrap()), this.__handleError(a); } }, __onLimeKeyDown: function (a, b, d) { null != this.window && this.window == a && this.__onKey('keyDown', b, d); }, __onLimeKeyUp: function (a, b, d) { null != this.window && this.window == a && this.__onKey('keyUp', b, d); }, __onLimeModuleExit: function (a) { null != this.window && ((a = new oa('deactivate')), this.__broadcastEvent(a)); }, __onLimeMouseDown: function (a, b, d, c) { if (null != this.window && this.window == a) { this.__dispatchPendingMouseEvent(); switch (c) { case 1: var e = 'middleMouseDown'; break; case 2: e = 'rightMouseDown'; break; default: e = 'mouseDown'; } this.__onMouse(e, (b * a.__scale) | 0, (d * a.__scale) | 0, c); this.showDefaultContextMenu || 2 != c || a.onMouseDown.cancel(); } }, __onLimeMouseMove: function (a, b, d) { null != this.window && this.window == a && ((this.__pendingMouseEvent = !0), (this.__pendingMouseX = (b * a.__scale) | 0), (this.__pendingMouseY = (d * a.__scale) | 0)); }, __onLimeMouseMoveRelative: function (a, b, d) {}, __onLimeMouseUp: function (a, b, d, c) { if (null != this.window && this.window == a) { this.__dispatchPendingMouseEvent(); switch (c) { case 1: var e = 'middleMouseUp'; break; case 2: e = 'rightMouseUp'; break; default: e = 'mouseUp'; } this.__onMouse(e, (b * a.__scale) | 0, (d * a.__scale) | 0, c); this.showDefaultContextMenu || 2 != c || a.onMouseUp.cancel(); } }, __onLimeMouseWheel: function (a, b, d, c) { null != this.window && this.window == a && (this.__dispatchPendingMouseEvent(), c == Ah.PIXELS ? this.__onMouseWheel((b * a.__scale) | 0, (d * a.__scale) | 0, c) : this.__onMouseWheel(b | 0, d | 0, c)); }, __onLimeRender: function (a) { if (!this.__rendering) { this.__rendering = !0; this.__broadcastEvent(new oa('enterFrame')); this.__broadcastEvent(new oa('frameConstructed')); this.__broadcastEvent(new oa('exitFrame')); this.__renderable = !0; this.__enterFrame(this.__deltaTime); this.__deltaTime = 0; a = null != this.__renderer && (this.__renderDirty || this.__forceRender); if (this.__invalidated && a) { this.__invalidated = !1; var b = new oa('render'); this.__broadcastEvent(b); } this.__update(!1, !0); if (null != this.__renderer) { if (null != this.context3D) { for (b = this.stage3Ds.iterator(); b.hasNext(); ) { var d = b.next(); this.context3D.__renderStage3D(d); } this.context3D.__present && (a = !0); } a ? (null == this.context3D && this.__renderer.__clear(), this.__renderer.__render(this)) : null == this.context3D && this.window.onRender.cancel(); null != this.context3D && (this.context3D.__present ? (this.__renderer.__cleared || this.__renderer.__clear(), (this.context3D.__present = !1), (this.context3D.__cleared = !1)) : this.window.onRender.cancel()); this.__renderer.__cleared = !1; } this.__rendering = !1; } }, __onLimeRenderContextLost: function () { this.context3D = this.__renderer = null; for (var a = this.stage3Ds.iterator(); a.hasNext(); ) a.next().__lostContext(); }, __onLimeRenderContextRestored: function (a) { this.__createRenderer(); for (a = this.stage3Ds.iterator(); a.hasNext(); ) a.next().__restoreContext(); }, __onLimeTextEdit: function (a, b, d, c) {}, __onLimeTextInput: function (a, b) { if (null != this.window && this.window == a) { var d = []; null == this.__focus ? this.__getInteractive(d) : this.__focus.__getInteractive(d); b = new bf('textInput', !0, !0, b); 0 < d.length ? (d.reverse(), this.__dispatchStack(b, d)) : this.__dispatchEvent(b); b.isDefaultPrevented() && a.onTextInput.cancel(); } }, __onLimeTouchCancel: function (a) { var b = this.__primaryTouch == a; b && (this.__primaryTouch = null); this.__onTouch('touchEnd', a, b); }, __onLimeTouchMove: function (a) { this.__onTouch('touchMove', a, this.__primaryTouch == a); }, __onLimeTouchEnd: function (a) { var b = this.__primaryTouch == a; b && (this.__primaryTouch = null); this.__onTouch('touchEnd', a, b); }, __onLimeTouchStart: function (a) { null == this.__primaryTouch && (this.__primaryTouch = a); this.__onTouch('touchBegin', a, this.__primaryTouch == a); }, __onLimeUpdate: function (a) { this.__deltaTime = a; this.__dispatchPendingMouseEvent(); }, __onLimeWindowActivate: function (a) {}, __onLimeWindowClose: function (a) { this.window == a && (this.window = null); this.__primaryTouch = null; a = new oa('deactivate'); this.__broadcastEvent(a); }, __onLimeWindowCreate: function (a) { null != this.window && this.window == a && null != a.context && this.__createRenderer(); }, __onLimeWindowDeactivate: function (a) {}, __onLimeWindowDropFile: function (a, b) {}, __onLimeWindowEnter: function (a) {}, __onLimeWindowExpose: function (a) { null != this.window && this.window == a && (this.__renderDirty = !0); }, __onLimeWindowFocusIn: function (a) { null != this.window && this.window == a && ((this.__renderDirty = !0), (a = new oa('activate')), this.__broadcastEvent(a), this.set_focus(this.__cacheFocus)); }, __onLimeWindowFocusOut: function (a) { null != this.window && this.window == a && ((this.__primaryTouch = null), (a = new oa('deactivate')), this.__broadcastEvent(a), (a = this.get_focus()), this.set_focus(null), (this.__cacheFocus = a), (Mb.__altKey = !1), (Mb.__commandKey = !1), (Mb.__ctrlKey = !1), (Mb.__shiftKey = !1)); }, __onLimeWindowFullscreen: function (a) { null != this.window && this.window == a && (this.__resize(), this.__wasFullscreen || ((this.__wasFullscreen = !0), 2 == this.__displayState && (this.__displayState = 1), this.__dispatchEvent(new dh('fullScreen', !1, !1, !0, !0)))); }, __onLimeWindowLeave: function (a) { null == this.window || this.window != a || Mb.__buttonDown || (this.__dispatchPendingMouseEvent(), (a = new oa('mouseLeave')), this.__dispatchEvent(a)); }, __onLimeWindowMinimize: function (a) {}, __onLimeWindowMove: function (a, b, d) {}, __onLimeWindowResize: function (a, b, d) { null != this.window && this.window == a && (this.__resize(), this.__wasFullscreen && !a.__fullscreen && ((this.__wasFullscreen = !1), (this.__displayState = 2), this.__dispatchEvent(new dh('fullScreen', !1, !1, !1, !0)))); }, __onLimeWindowRestore: function (a) { null != this.window && this.window == a && this.__wasFullscreen && !a.__fullscreen && ((this.__wasFullscreen = !1), (this.__displayState = 2), this.__dispatchEvent(new dh('fullScreen', !1, !1, !1, !0))); }, __onMouse: function (a, b, d, c) { if (!(2 < c)) { var e = na.__pool.get(); e.setTo(b, d); b = this.__displayMatrix; d = b.a * b.d - b.b * b.c; if (0 == d) (e.x = -b.tx), (e.y = -b.ty); else { var g = (1 / d) * (b.c * (b.ty - e.y) + b.d * (e.x - b.tx)); e.y = (1 / d) * (b.a * (e.y - b.ty) + b.b * (b.tx - e.x)); e.x = g; } this.__mouseX = e.x; this.__mouseY = e.y; b = []; this.__hitTest(this.__mouseX, this.__mouseY, !0, b, !0, this) ? (g = b[b.length - 1]) : ((g = this), (b = [this])); null == g && (g = this); var l = null; switch (a) { case 'middleMouseDown': this.__mouseDownMiddle = g; break; case 'middleMouseUp': this.__mouseDownMiddle == g && (l = 'middleClick'); this.__mouseDownMiddle = null; break; case 'mouseDown': g.__allowMouseFocus() ? null != this.get_focus() ? ((d = new Yf('mouseFocusChange', !0, !0, g, !1, 0)), this.__dispatchStack(d, b), d.isDefaultPrevented() || this.set_focus(g)) : this.set_focus(g) : this.set_focus(null); this.__mouseDownLeft = g; Mb.__buttonDown = !0; break; case 'mouseUp': if (null != this.__mouseDownLeft) { Mb.__buttonDown = !1; if (this.__mouseDownLeft == g) l = 'click'; else { var q = Mb.__create( 'releaseOutside', 1, this.__mouseX, this.__mouseY, new na(this.__mouseX, this.__mouseY), this ); this.__mouseDownLeft.dispatchEvent(q); } this.__mouseDownLeft = null; } break; case 'rightMouseDown': this.__mouseDownRight = g; break; case 'rightMouseUp': this.__mouseDownRight == g && (l = 'rightClick'), (this.__mouseDownRight = null); } d = na.__pool.get(); q = Mb.__create(a, c, this.__mouseX, this.__mouseY, g.__globalToLocal(e, d), g); this.__dispatchStack(q, b); null != l && ((q = Mb.__create(l, c, this.__mouseX, this.__mouseY, g.__globalToLocal(e, d), g)), this.__dispatchStack(q, b), 'mouseUp' == a && w.__cast(g, xb).doubleClickEnabled && ((a = Oa.getTimer()), 500 > a - this.__lastClickTime ? ((q = Mb.__create( 'doubleClick', c, this.__mouseX, this.__mouseY, g.__globalToLocal(e, d), g )), this.__dispatchStack(q, b), (this.__lastClickTime = 0)) : (this.__lastClickTime = a))); if ('auto' == qe.__cursor && !qe.__hidden) { q = null; if (null != this.__mouseDownLeft) q = this.__mouseDownLeft.__getCursor(); else for (a = 0; a < b.length; ) if (((q = b[a]), ++a, (q = q.__getCursor()), null != q)) { this.window.set_cursor(wf.toLimeCursor(q)); break; } null == q && this.window.set_cursor(lc.ARROW); } g != this.__mouseOverTarget && null != this.__mouseOverTarget && ((q = Mb.__create( 'mouseOut', c, this.__mouseX, this.__mouseY, this.__mouseOverTarget.__globalToLocal(e, d), this.__mouseOverTarget )), this.__dispatchStack(q, this.__mouseOutStack)); for (a = 0; a < this.__rollOutStack.length; ) (l = this.__rollOutStack[a]), -1 == b.indexOf(l) ? (C.remove(this.__rollOutStack, l), (q = Mb.__create( 'rollOut', c, this.__mouseX, this.__mouseY, this.__mouseOverTarget.__globalToLocal(e, d), l )), (q.bubbles = !1), this.__dispatchTarget(l, q)) : ++a; for (a = 0; a < b.length; ) (l = b[a]), ++a, -1 == this.__rollOutStack.indexOf(l) && null != this.__mouseOverTarget && (l.hasEventListener('rollOver') && ((q = Mb.__create( 'rollOver', c, this.__mouseX, this.__mouseY, this.__mouseOverTarget.__globalToLocal(e, d), l )), (q.bubbles = !1), this.__dispatchTarget(l, q)), (l.hasEventListener('rollOut') || l.hasEventListener('rollOver')) && this.__rollOutStack.push(l)); g != this.__mouseOverTarget && (null != g && ((q = Mb.__create( 'mouseOver', c, this.__mouseX, this.__mouseY, g.__globalToLocal(e, d), g )), this.__dispatchStack(q, b)), (this.__mouseOverTarget = g), (this.__mouseOutStack = b)); null != this.__dragObject && (this.__drag(e), (c = null), this.__mouseOverTarget == this.__dragObject ? ((g = this.__dragObject.mouseEnabled), (a = this.__dragObject.mouseChildren), (this.__dragObject.mouseEnabled = !1), (this.__dragObject.mouseChildren = !1), (b = []), this.__hitTest(this.__mouseX, this.__mouseY, !0, b, !0, this) && (c = b[b.length - 1]), (this.__dragObject.mouseEnabled = g), (this.__dragObject.mouseChildren = a)) : this.__mouseOverTarget != this && (c = this.__mouseOverTarget), (this.__dragObject.dropTarget = c)); na.__pool.release(e); na.__pool.release(d); } }, __onMouseWheel: function (a, b, d) { var c = this.__mouseX, f = this.__mouseY; a = []; if (this.__hitTest(this.__mouseX, this.__mouseY, !0, a, !0, this)) var g = a[a.length - 1]; else (g = this), (a = [this]); null == g && (g = this); d = na.__pool.get(); d.setTo(c, f); c = this.__displayMatrix; f = c.a * c.d - c.b * c.c; if (0 == f) (d.x = -c.tx), (d.y = -c.ty); else { var l = (1 / f) * (c.c * (c.ty - d.y) + c.d * (d.x - c.tx)); d.y = (1 / f) * (c.a * (d.y - c.ty) + c.b * (c.tx - d.x)); d.x = l; } b |= 0; b = Mb.__create( 'mouseWheel', 0, this.__mouseX, this.__mouseY, g.__globalToLocal(d, d), g, b ); b.cancelable = !0; this.__dispatchStack(b, a); b.isDefaultPrevented() && this.window.onMouseWheel.cancel(); na.__pool.release(d); }, __onTouch: function (a, b, d) { var c = na.__pool.get(); c.setTo( Math.round(b.x * this.window.__width * this.window.__scale), Math.round(b.y * this.window.__height * this.window.__scale) ); var f = this.__displayMatrix, g = f.a * f.d - f.b * f.c; if (0 == g) (c.x = -f.tx), (c.y = -f.ty); else { var l = (1 / g) * (f.c * (f.ty - c.y) + f.d * (c.x - f.tx)); c.y = (1 / g) * (f.a * (c.y - f.ty) + f.b * (f.tx - c.x)); c.x = l; } f = c.x; g = c.y; l = []; if (this.__hitTest(f, g, !1, l, !0, this)) var q = l[l.length - 1]; else (q = this), (l = [this]); null == q && (q = this); var h = b.id; if (this.__touchData.h.hasOwnProperty(h)) var r = this.__touchData.h[h]; else (r = di.__pool.get()), r.reset(), (r.touch = b), (this.__touchData.h[h] = r); var k = null, p = !1; switch (a) { case 'touchBegin': r.touchDownTarget = q; break; case 'touchEnd': r.touchDownTarget == q && (k = 'touchTap'), (r.touchDownTarget = null), (p = !0); } var n = na.__pool.get(); a = Vd.__create(a, null, f, g, q.__globalToLocal(c, n), q); a.touchPointID = h; a.isPrimaryTouchPoint = d; a.pressure = b.pressure; this.__dispatchStack(a, l); null != k && ((a = Vd.__create(k, null, f, g, q.__globalToLocal(c, n), q)), (a.touchPointID = h), (a.isPrimaryTouchPoint = d), (a.pressure = b.pressure), this.__dispatchStack(a, l)); k = r.touchOverTarget; q != k && null != k && ((a = Vd.__create('touchOut', null, f, g, k.__globalToLocal(c, n), k)), (a.touchPointID = h), (a.isPrimaryTouchPoint = d), (a.pressure = b.pressure), this.__dispatchTarget(k, a)); for (var u = r.rollOutStack, m, t = 0; t < u.length; ) (m = u[t]), -1 == l.indexOf(m) ? (C.remove(u, m), (a = Vd.__create('touchRollOut', null, f, g, k.__globalToLocal(c, n), k)), (a.touchPointID = h), (a.isPrimaryTouchPoint = d), (a.bubbles = !1), (a.pressure = b.pressure), this.__dispatchTarget(m, a)) : ++t; for (t = 0; t < l.length; ) (m = l[t]), ++t, -1 == u.indexOf(m) && (m.hasEventListener('touchRollOver') && ((a = Vd.__create('touchRollOver', null, f, g, k.__globalToLocal(c, n), m)), (a.touchPointID = h), (a.isPrimaryTouchPoint = d), (a.bubbles = !1), (a.pressure = b.pressure), this.__dispatchTarget(m, a)), m.hasEventListener('touchRollOut') && u.push(m)); q != k && (null != q && ((a = Vd.__create('touchOver', null, f, g, q.__globalToLocal(c, n), q)), (a.touchPointID = h), (a.isPrimaryTouchPoint = d), (a.bubbles = !0), (a.pressure = b.pressure), this.__dispatchTarget(q, a)), (r.touchOverTarget = q)); na.__pool.release(c); na.__pool.release(n); p && (this.__touchData.remove(h), r.reset(), di.__pool.release(r)); }, __registerLimeModule: function (a) { a.onCreateWindow.add(m(this, this.__onLimeCreateWindow)); a.onUpdate.add(m(this, this.__onLimeUpdate)); a.onExit.add(m(this, this.__onLimeModuleExit), !1, 0); for (a = Jd.devices.iterator(); a.hasNext(); ) { var b = a.next(); this.__onLimeGamepadConnect(b); } Jd.onConnect.add(m(this, this.__onLimeGamepadConnect)); nd.onStart.add(m(this, this.__onLimeTouchStart)); nd.onMove.add(m(this, this.__onLimeTouchMove)); nd.onEnd.add(m(this, this.__onLimeTouchEnd)); nd.onCancel.add(m(this, this.__onLimeTouchCancel)); }, __resize: function () { var a = this.stageWidth, b = this.stageHeight, d = (this.window.__width * this.window.__scale) | 0, c = (this.window.__height * this.window.__scale) | 0; this.__logicalWidth = d; this.__logicalHeight = c; this.__displayMatrix.identity(); if (null != this.get_fullScreenSourceRect() && this.window.__fullscreen) { this.stageWidth = this.get_fullScreenSourceRect().width | 0; this.stageHeight = this.get_fullScreenSourceRect().height | 0; var f = d / this.stageWidth, g = c / this.stageHeight; this.__displayMatrix.translate( -this.get_fullScreenSourceRect().x, -this.get_fullScreenSourceRect().y ); this.__displayMatrix.scale(f, g); this.__displayRect.setTo( this.get_fullScreenSourceRect().get_left(), this.get_fullScreenSourceRect().get_right(), this.get_fullScreenSourceRect().get_top(), this.get_fullScreenSourceRect().get_bottom() ); } else { if (0 == this.__logicalWidth && 0 == this.__logicalHeight) (this.stageWidth = d), (this.stageHeight = c); else { this.stageWidth = this.__logicalWidth; this.stageHeight = this.__logicalHeight; f = Math.min(d / this.stageWidth, c / this.stageHeight); g = Math.round((d - this.stageWidth * f) / 2); var l = Math.round((c - this.stageHeight * f) / 2); this.__displayMatrix.scale(f, f); this.__displayMatrix.translate(g, l); } this.__displayRect.setTo(0, 0, this.stageWidth, this.stageHeight); } null != this.context3D && this.context3D.configureBackBuffer(d, c, 0, !0, !0, !0); for (f = this.stage3Ds.iterator(); f.hasNext(); ) f.next().__resize(d, c); null != this.__renderer && this.__renderer.__resize(d, c); if (this.stageWidth != a || this.stageHeight != b) (this.__renderDirty = !0), this.__setTransformDirty(), (a = new oa('resize')), this.__dispatchEvent(a); }, __setLogicalSize: function (a, b) { this.__logicalWidth = a; this.__logicalHeight = b; this.__resize(); }, __startDrag: function (a, b, d) { if (null == d) this.__dragBounds = null; else { this.__dragBounds = new ea(); var c = d.get_right(), f = d.get_bottom(); this.__dragBounds.x = c < d.x ? c : d.x; this.__dragBounds.y = f < d.y ? f : d.y; this.__dragBounds.width = Math.abs(d.width); this.__dragBounds.height = Math.abs(d.height); } this.__dragObject = a; null != this.__dragObject && (b ? (this.__dragOffsetY = this.__dragOffsetX = 0) : ((a = na.__pool.get()), a.setTo(this.get_mouseX(), this.get_mouseY()), (b = this.__dragObject.parent), null != b && ((b = b.__getWorldTransform()), (d = b.a * b.d - b.b * b.c), 0 == d ? ((a.x = -b.tx), (a.y = -b.ty)) : ((c = (1 / d) * (b.c * (b.ty - a.y) + b.d * (a.x - b.tx))), (a.y = (1 / d) * (b.a * (a.y - b.ty) + b.b * (b.tx - a.x))), (a.x = c))), (this.__dragOffsetX = this.__dragObject.get_x() - a.x), (this.__dragOffsetY = this.__dragObject.get_y() - a.y), na.__pool.release(a))); }, __stopDrag: function (a) { this.__dragObject = this.__dragBounds = null; }, __unregisterLimeModule: function (a) { a.onCreateWindow.remove(m(this, this.__onLimeCreateWindow)); a.onUpdate.remove(m(this, this.__onLimeUpdate)); a.onExit.remove(m(this, this.__onLimeModuleExit)); Jd.onConnect.remove(m(this, this.__onLimeGamepadConnect)); nd.onStart.remove(m(this, this.__onLimeTouchStart)); nd.onMove.remove(m(this, this.__onLimeTouchMove)); nd.onEnd.remove(m(this, this.__onLimeTouchEnd)); nd.onCancel.remove(m(this, this.__onLimeTouchCancel)); }, __update: function (a, b) { a ? this.__transformDirty && (Xa.prototype.__update.call(this, !0, b), b && (this.__transformDirty = !1)) : this.__transformDirty || this.__renderDirty ? (Xa.prototype.__update.call(this, !1, b), b && Ka.__supportDOM && (this.__wasDirty = !0)) : !this.__renderDirty && this.__wasDirty && (Xa.prototype.__update.call(this, !1, b), b && (this.__wasDirty = !1)); }, get_color: function () { return this.__color; }, set_color: function (a) { null == a ? ((this.__transparent = !0), (a = 0)) : (this.__transparent = !1); this.__color != a && ((this.__colorSplit[0] = ((a & 16711680) >>> 16) / 255), (this.__colorSplit[1] = ((a & 65280) >>> 8) / 255), (this.__colorSplit[2] = (a & 255) / 255), (this.__colorString = '#' + T.hex(a & 16777215, 6)), (this.__renderDirty = !0), (this.__color = -16777216 | (a & 16777215))); return a; }, get_contentsScaleFactor: function () { return this.__contentsScaleFactor; }, get_displayState: function () { return this.__displayState; }, set_displayState: function (a) { null != this.window && (2 == a ? this.window.__fullscreen && this.window.set_fullscreen(!1) : this.window.__fullscreen || this.window.set_fullscreen(!0)); return (this.__displayState = a); }, get_focus: function () { return this.__focus; }, set_focus: function (a) { if (a != this.__focus) { var b = this.__focus; this.__cacheFocus = this.__focus = a; if (null != b) { var d = new Yf('focusOut', !0, !1, a, !1, 0), c = []; b.__getInteractive(c); c.reverse(); this.__dispatchStack(d, c); } null != a && ((d = new Yf('focusIn', !0, !1, b, !1, 0)), (c = []), a.__getInteractive(c), c.reverse(), this.__dispatchStack(d, c)); } return a; }, get_frameRate: function () { return null != this.window ? this.window.__backend.getFrameRate() : 0; }, set_frameRate: function (a) { return null != this.window ? this.window.__backend.setFrameRate(a) : a; }, get_fullScreenHeight: function () { return Math.ceil(this.window.get_display().currentMode.height * this.window.__scale); }, get_fullScreenSourceRect: function () { return null == this.__fullScreenSourceRect ? null : this.__fullScreenSourceRect.clone(); }, set_fullScreenSourceRect: function (a) { null == a ? null != this.__fullScreenSourceRect && ((this.__fullScreenSourceRect = null), this.__resize()) : a.equals(this.__fullScreenSourceRect) || ((this.__fullScreenSourceRect = a.clone()), this.__resize()); return a; }, get_fullScreenWidth: function () { return Math.ceil(this.window.get_display().currentMode.width * this.window.__scale); }, set_height: function (a) { return this.get_height(); }, get_mouseX: function () { return this.__mouseX; }, get_mouseY: function () { return this.__mouseY; }, get_quality: function () { return this.__quality; }, set_quality: function (a) { this.__quality = a; if (null != this.__renderer) { var b = this.get_quality(); this.__renderer.__allowSmoothing = 2 != b; } return a; }, set_rotation: function (a) { return 0; }, get_scaleMode: function () { return this.__scaleMode; }, set_scaleMode: function (a) { return (this.__scaleMode = a); }, set_scaleX: function (a) { return 0; }, set_scaleY: function (a) { return 0; }, get_tabEnabled: function () { return !1; }, set_tabEnabled: function (a) { throw J.thrown( new jd('Error: The Stage class does not implement this property or method.') ); }, get_tabIndex: function () { return -1; }, set_tabIndex: function (a) { throw J.thrown( new jd('Error: The Stage class does not implement this property or method.') ); }, set_transform: function (a) { return this.get_transform(); }, set_width: function (a) { return this.get_width(); }, set_x: function (a) { return 0; }, set_y: function (a) { return 0; }, __class__: Ti, __properties__: t(Xa.prototype.__properties__, { set_scaleMode: 'set_scaleMode', get_scaleMode: 'get_scaleMode', set_quality: 'set_quality', get_quality: 'get_quality', get_fullScreenWidth: 'get_fullScreenWidth', set_fullScreenSourceRect: 'set_fullScreenSourceRect', get_fullScreenSourceRect: 'get_fullScreenSourceRect', get_fullScreenHeight: 'get_fullScreenHeight', set_frameRate: 'set_frameRate', get_frameRate: 'get_frameRate', set_focus: 'set_focus', get_focus: 'get_focus', set_displayState: 'set_displayState', get_displayState: 'get_displayState', get_contentsScaleFactor: 'get_contentsScaleFactor', set_color: 'set_color', get_color: 'get_color' }) }); var bi = function (a) { cb.call(this); this.__stage = a; this.__height = 0; this.__projectionTransform = new be(); this.__renderTransform = new be(); this.__y = this.__x = this.__width = 0; this.visible = !0; 0 < a.stageWidth && 0 < a.stageHeight && this.__resize(a.stageWidth, a.stageHeight); }; k['openfl.display.Stage3D'] = bi; bi.__name__ = 'openfl.display.Stage3D'; bi.__super__ = cb; bi.prototype = t(cb.prototype, { context3D: null, visible: null, __contextLost: null, __contextRequested: null, __height: null, __indexBuffer: null, __projectionTransform: null, __renderTransform: null, __stage: null, __vertexBuffer: null, __width: null, __x: null, __y: null, __canvas: null, __renderContext: null, __style: null, __webgl: null, requestContext3D: function (a, b) { this.__contextLost ? (this.__contextRequested = !0) : null != this.context3D ? ((this.__contextRequested = !0), Ne.delay(m(this, this.__dispatchCreate), 1)) : this.__contextRequested || ((this.__contextRequested = !0), Ne.delay(m(this, this.__createContext), 1)); }, requestContext3DMatchingProfiles: function (a) { this.requestContext3D(); }, __createContext: function () { var a = this.__stage, b = a.__renderer; if ('cairo' == b.__type || 'canvas' == b.__type) this.__dispatchError(); else if ('opengl' == b.__type) (this.context3D = new Yb(a, a.context3D.__contextState, this)), this.__dispatchCreate(); else if ('dom' == b.__type) { this.__canvas = window.document.createElement('canvas'); this.__canvas.width = a.stageWidth; this.__canvas.height = a.stageHeight; var d = b.__context.attributes; a = Object.prototype.hasOwnProperty.call(d, 'background') && null == d.background; b = Object.prototype.hasOwnProperty.call(d, 'colorDepth') ? d.colorDepth : 32; d = Object.prototype.hasOwnProperty.call(d, 'antialiasing') && 0 < d.antialiasing; this.__webgl = Ny.getContextWebGL(this.__canvas, { alpha: a || 16 < b, antialias: d, depth: !0, premultipliedAlpha: !0, stencil: !0, preserveDrawingBuffer: !1 }); this.__dispatchError(); } }, __dispatchError: function () { this.__contextRequested = !1; this.dispatchEvent(new Re('error', !1, !1, 'Context3D not available')); }, __dispatchCreate: function () { this.__contextRequested && ((this.__contextRequested = !1), this.dispatchEvent(new oa('context3DCreate'))); }, __lostContext: function () { this.__contextLost = !0; null != this.context3D && (this.context3D.__dispose(), (this.__contextRequested = !0)); }, __resize: function (a, b) { if (a != this.__width || b != this.__height) null != this.__canvas && ((this.__canvas.width = a), (this.__canvas.height = b)), this.__projectionTransform.copyRawDataFrom( Ab.toFloatVector(null, null, null, [ 2 / (0 < a ? a : 1), 0, 0, 0, 0, -2 / (0 < b ? b : 1), 0, 0, 0, 0, -0.001, 0, -1, 1, 0, 1 ]) ), this.__renderTransform.identity(), this.__renderTransform.appendTranslation(this.__x, this.__y, 0), this.__renderTransform.append(this.__projectionTransform), (this.__width = a), (this.__height = b); }, __restoreContext: function () { this.__contextLost = !1; this.__createContext(); }, get_x: function () { return this.__x; }, set_x: function (a) { if (this.__x == a) return a; this.__x = a; this.__renderTransform.identity(); this.__renderTransform.appendTranslation(this.__x, this.__y, 0); this.__renderTransform.append(this.__projectionTransform); return a; }, get_y: function () { return this.__y; }, set_y: function (a) { if (this.__y == a) return a; this.__y = a; this.__renderTransform.identity(); this.__renderTransform.appendTranslation(this.__x, this.__y, 0); this.__renderTransform.append(this.__projectionTransform); return a; }, __class__: bi, __properties__: { set_y: 'set_y', get_y: 'get_y', set_x: 'set_x', get_x: 'get_x' } }); var ig = function (a, b, d, c, f, g, l, q) { null == q && (q = 0); null == l && (l = 0); null == g && (g = 0); null == f && (f = 1); null == c && (c = 1); null == d && (d = 0); null == b && (b = 0); null == a && (a = 0); this.__id = a; this.__matrix = new Ia(); 0 != b && this.set_x(b); 0 != d && this.set_y(d); 1 != c && this.set_scaleX(c); 1 != f && this.set_scaleY(f); 0 != g && this.set_rotation(g); this.__dirty = !0; this.__length = 0; this.__originX = l; this.__originY = q; this.__alpha = 1; this.__blendMode = null; this.__visible = !0; }; k['openfl.display.Tile'] = ig; ig.__name__ = 'openfl.display.Tile'; ig.prototype = { data: null, parent: null, __alpha: null, __blendMode: null, __colorTransform: null, __dirty: null, __id: null, __length: null, __matrix: null, __originX: null, __originY: null, __rect: null, __rotation: null, __rotationCosine: null, __rotationSine: null, __scaleX: null, __scaleY: null, __shader: null, __tileset: null, __visible: null, clone: function () { var a = new ig(this.__id); a.__alpha = this.__alpha; a.__blendMode = this.__blendMode; a.__originX = this.__originX; a.__originY = this.__originY; null != this.__rect && (a.__rect = this.__rect.clone()); a.set_matrix(this.__matrix.clone()); a.__shader = this.__shader; a.set_tileset(this.__tileset); null != this.__colorTransform && (a.__colorTransform = this.__colorTransform.__clone()); return a; }, getBounds: function (a) { var b = new ea(); this.__findTileRect(b); var d = Ia.__pool.get(); if (null != a && a != this) { d.copyFrom(this.__getWorldTransform()); var c = Ia.__pool.get(); c.copyFrom(a.__getWorldTransform()); c.invert(); d.concat(c); Ia.__pool.release(c); } else d.identity(); this.__getBounds(b, d); Ia.__pool.release(d); return b; }, __getBounds: function (a, b) { a.__transform(a, b); }, hitTestTile: function (a) { if (null != a && null != a.parent && null != this.parent) { var b = this.getBounds(this); a = a.getBounds(this); return b.intersects(a); } return !1; }, invalidate: function () { this.__setRenderDirty(); }, __findTileRect: function (a) { if (null == this.get_tileset()) if (null != this.parent) { var b = this.parent.__findTileset(); null == b ? a.setTo(0, 0, 0, 0) : ((b = b.getRect(this.get_id())), null == b ? a.setTo(0, 0, 0, 0) : a.copyFrom(b)); } else a.setTo(0, 0, 0, 0); else a.copyFrom(this.get_tileset().getRect(this.get_id())); a.x = 0; a.y = 0; }, __findTileset: function () { return null != this.get_tileset() ? this.get_tileset() : this.parent instanceof jg ? this.parent.get_tileset() : null == this.parent ? null : this.parent.__findTileset(); }, __getWorldTransform: function () { var a = this.get_matrix().clone(); null != this.parent && a.concat(this.parent.__getWorldTransform()); return a; }, __setRenderDirty: function () { this.__dirty || ((this.__dirty = !0), null != this.parent && this.parent.__setRenderDirty()); }, get_alpha: function () { return this.__alpha; }, set_alpha: function (a) { a != this.__alpha && ((this.__alpha = a), this.__setRenderDirty()); return a; }, get_blendMode: function () { return this.__blendMode; }, set_blendMode: function (a) { a != this.__blendMode && ((this.__blendMode = a), this.__setRenderDirty()); return a; }, get_colorTransform: function () { return this.__colorTransform; }, set_colorTransform: function (a) { a != this.__colorTransform && ((this.__colorTransform = a), this.__setRenderDirty()); return a; }, get_height: function () { var a = ea.__pool.get(); this.__findTileRect(a); this.__getBounds(a, this.get_matrix()); var b = a.height; ea.__pool.release(a); return b; }, set_height: function (a) { var b = ea.__pool.get(); this.__findTileRect(b); 0 != b.height && this.set_scaleY(a / b.height); ea.__pool.release(b); return a; }, get_id: function () { return this.__id; }, set_id: function (a) { a != this.__id && ((this.__id = a), this.__setRenderDirty()); return a; }, get_matrix: function () { return this.__matrix; }, set_matrix: function (a) { a != this.__matrix && ((this.__scaleY = this.__scaleX = this.__rotation = null), (this.__matrix = a), this.__setRenderDirty()); return a; }, get_originX: function () { return this.__originX; }, set_originX: function (a) { a != this.__originX && ((this.__originX = a), this.__setRenderDirty()); return a; }, get_originY: function () { return this.__originY; }, set_originY: function (a) { a != this.__originY && ((this.__originY = a), this.__setRenderDirty()); return a; }, get_rect: function () { return this.__rect; }, set_rect: function (a) { a != this.__rect && ((this.__rect = a), this.__setRenderDirty()); return a; }, get_rotation: function () { if (null == this.__rotation) if (0 == this.__matrix.b && 0 == this.__matrix.c) (this.__rotationSine = this.__rotation = 0), (this.__rotationCosine = 1); else { var a = Math.atan2(this.__matrix.d, this.__matrix.c) - Math.PI / 2; this.__rotation = (180 / Math.PI) * a; this.__rotationSine = Math.sin(a); this.__rotationCosine = Math.cos(a); } return this.__rotation; }, set_rotation: function (a) { if (a != this.__rotation) { this.__rotation = a; var b = (Math.PI / 180) * a; this.__rotationSine = Math.sin(b); this.__rotationCosine = Math.cos(b); b = this.get_scaleX(); var d = this.get_scaleY(); this.__matrix.a = this.__rotationCosine * b; this.__matrix.b = this.__rotationSine * b; this.__matrix.c = -this.__rotationSine * d; this.__matrix.d = this.__rotationCosine * d; this.__setRenderDirty(); } return a; }, get_scaleX: function () { null == this.__scaleX && (0 == this.get_matrix().b ? (this.__scaleX = this.__matrix.a) : (this.__scaleX = Math.sqrt( this.__matrix.a * this.__matrix.a + this.__matrix.b * this.__matrix.b ))); return this.__scaleX; }, set_scaleX: function (a) { if (a != this.__scaleX) { this.__scaleX = a; if (0 == this.__matrix.b) this.__matrix.a = a; else { this.get_rotation(); var b = this.__rotationSine * a; this.__matrix.a = this.__rotationCosine * a; this.__matrix.b = b; } this.__setRenderDirty(); } return a; }, get_scaleY: function () { null == this.__scaleY && (this.__scaleY = 0 == this.__matrix.c ? this.get_matrix().d : Math.sqrt(this.__matrix.c * this.__matrix.c + this.__matrix.d * this.__matrix.d)); return this.__scaleY; }, set_scaleY: function (a) { if (a != this.__scaleY) { this.__scaleY = a; if (0 == this.__matrix.c) this.__matrix.d = a; else { this.get_rotation(); var b = this.__rotationCosine * a; this.__matrix.c = -this.__rotationSine * a; this.__matrix.d = b; } this.__setRenderDirty(); } return a; }, get_shader: function () { return this.__shader; }, set_shader: function (a) { a != this.__shader && ((this.__shader = a), this.__setRenderDirty()); return a; }, get_tileset: function () { return this.__tileset; }, set_tileset: function (a) { a != this.__tileset && ((this.__tileset = a), this.__setRenderDirty()); return a; }, get_visible: function () { return this.__visible; }, set_visible: function (a) { a != this.__visible && ((this.__visible = a), this.__setRenderDirty()); return a; }, get_width: function () { var a = ea.__pool.get(); this.__findTileRect(a); this.__getBounds(a, this.get_matrix()); var b = a.width; ea.__pool.release(a); return b; }, set_width: function (a) { var b = ea.__pool.get(); this.__findTileRect(b); 0 != b.width && this.set_scaleX(a / b.width); ea.__pool.release(b); return a; }, get_x: function () { return this.__matrix.tx; }, set_x: function (a) { a != this.__matrix.tx && ((this.__matrix.tx = a), this.__setRenderDirty()); return a; }, get_y: function () { return this.__matrix.ty; }, set_y: function (a) { a != this.__matrix.ty && ((this.__matrix.ty = a), this.__setRenderDirty()); return a; }, __class__: ig, __properties__: { set_y: 'set_y', get_y: 'get_y', set_x: 'set_x', get_x: 'get_x', set_width: 'set_width', get_width: 'get_width', set_visible: 'set_visible', get_visible: 'get_visible', set_tileset: 'set_tileset', get_tileset: 'get_tileset', set_shader: 'set_shader', get_shader: 'get_shader', set_scaleY: 'set_scaleY', get_scaleY: 'get_scaleY', set_scaleX: 'set_scaleX', get_scaleX: 'get_scaleX', set_rotation: 'set_rotation', get_rotation: 'get_rotation', set_rect: 'set_rect', get_rect: 'get_rect', set_originY: 'set_originY', get_originY: 'get_originY', set_originX: 'set_originX', get_originX: 'get_originX', set_matrix: 'set_matrix', get_matrix: 'get_matrix', set_id: 'set_id', get_id: 'get_id', set_height: 'set_height', get_height: 'get_height', set_colorTransform: 'set_colorTransform', get_colorTransform: 'get_colorTransform', set_blendMode: 'set_blendMode', get_blendMode: 'get_blendMode', set_alpha: 'set_alpha', get_alpha: 'get_alpha' } }; var Vi = function (a, b, d, c, f, g, l) { null == l && (l = 0); null == g && (g = 0); null == f && (f = 0); null == c && (c = 1); null == d && (d = 1); null == b && (b = 0); null == a && (a = 0); ig.call(this, -1, a, b, d, c, f, g, l); this.__tiles = []; this.__length = 0; }; k['openfl.display.TileContainer'] = Vi; Vi.__name__ = 'openfl.display.TileContainer'; Vi.__interfaces__ = [Bi]; Vi.__super__ = ig; Vi.prototype = t(ig.prototype, { __tiles: null, addTile: function (a) { if (null == a) return null; a.parent == this && (C.remove(this.__tiles, a), this.__length--); this.__tiles[this.get_numTiles()] = a; a.parent = this; this.__length++; this.__setRenderDirty(); return a; }, addTileAt: function (a, b) { if (null == a) return null; a.parent == this && (C.remove(this.__tiles, a), this.__length--); this.__tiles.splice(b, 0, a); a.parent = this; this.__length++; this.__setRenderDirty(); return a; }, addTiles: function (a) { for (var b = 0; b < a.length; ) { var d = a[b]; ++b; this.addTile(d); } return a; }, clone: function () { for (var a = new Vi(), b = 0, d = this.__tiles; b < d.length; ) { var c = d[b]; ++b; a.addTile(c.clone()); } return a; }, contains: function (a) { return -1 < this.__tiles.indexOf(a); }, getBounds: function (a) { for (var b = new ea(), d, c = 0, f = this.__tiles; c < f.length; ) (d = f[c]), ++c, (d = d.getBounds(a)), b.__expand(d.x, d.y, d.width, d.height); return b; }, getTileAt: function (a) { return 0 <= a && a < this.get_numTiles() ? this.__tiles[a] : null; }, getTileIndex: function (a) { for (var b = 0, d = this.__tiles.length; b < d; ) { var c = b++; if (this.__tiles[c] == a) return c; } return -1; }, removeTile: function (a) { null != a && a.parent == this && ((a.parent = null), C.remove(this.__tiles, a), this.__length--, this.__setRenderDirty()); return a; }, removeTileAt: function (a) { return 0 <= a && a < this.get_numTiles() ? this.removeTile(this.__tiles[a]) : null; }, removeTiles: function (a, b) { null == b && (b = 2147483647); null == a && (a = 0); 0 > a && (a = 0); b > this.__tiles.length - 1 && (b = this.__tiles.length - 1); a = this.__tiles.splice(a, b - a + 1); for (b = 0; b < a.length; ) { var d = a[b]; ++b; d.parent = null; } this.__length = this.__tiles.length; this.__setRenderDirty(); }, setTileIndex: function (a, b) { 0 <= b && b <= this.get_numTiles() && a.parent == this && (C.remove(this.__tiles, a), this.__tiles.splice(b, 0, a), this.__setRenderDirty()); }, sortTiles: function (a) { this.__tiles.sort(a); this.__setRenderDirty(); }, swapTiles: function (a, b) { if (a.parent == this && b.parent == this) { var d = this.__tiles.indexOf(a), c = this.__tiles.indexOf(b); this.__tiles[d] = b; this.__tiles[c] = a; this.__setRenderDirty(); } }, swapTilesAt: function (a, b) { var d = this.__tiles[a]; this.__tiles[a] = this.__tiles[b]; this.__tiles[b] = d; this.__setRenderDirty(); }, get_numTiles: function () { return this.__length; }, get_height: function () { for (var a = ea.__pool.get(), b, d = 0, c = this.__tiles; d < c.length; ) (b = c[d]), ++d, (b = b.getBounds(this)), a.__expand(b.x, b.y, b.width, b.height); this.__getBounds(a, this.get_matrix()); d = a.height; ea.__pool.release(a); return d; }, set_height: function (a) { for (var b = ea.__pool.get(), d, c = 0, f = this.__tiles; c < f.length; ) (d = f[c]), ++c, (d = d.getBounds(this)), b.__expand(d.x, d.y, d.width, d.height); 0 != b.height && this.set_scaleY(a / b.height); ea.__pool.release(b); return a; }, get_width: function () { for (var a = ea.__pool.get(), b, d = 0, c = this.__tiles; d < c.length; ) (b = c[d]), ++d, (b = b.getBounds(this)), a.__expand(b.x, b.y, b.width, b.height); this.__getBounds(a, this.get_matrix()); d = a.width; ea.__pool.release(a); return d; }, set_width: function (a) { for (var b = ea.__pool.get(), d, c = 0, f = this.__tiles; c < f.length; ) (d = f[c]), ++c, (d = d.getBounds(this)), b.__expand(d.x, d.y, d.width, d.height); 0 != b.width && this.set_scaleX(a / b.width); ea.__pool.release(b); return a; }, __class__: Vi, __properties__: t(ig.prototype.__properties__, { get_numTiles: 'get_numTiles' }) }); var jg = function (a, b, d, c) { null == c && (c = !0); Ka.call(this); this.__drawableType = 9; this.__tileset = d; this.smoothing = c; this.tileColorTransformEnabled = this.tileBlendModeEnabled = this.tileAlphaEnabled = !0; this.__group = new Vi(); this.__group.set_tileset(d); this.__width = a; this.__height = b; }; k['openfl.display.Tilemap'] = jg; jg.__name__ = 'openfl.display.Tilemap'; jg.__interfaces__ = [Bi]; jg.__super__ = Ka; jg.prototype = t(Ka.prototype, { tileAlphaEnabled: null, tileBlendModeEnabled: null, tileColorTransformEnabled: null, smoothing: null, __group: null, __tileset: null, __buffer: null, __bufferDirty: null, __height: null, __width: null, addTile: function (a) { return this.__group.addTile(a); }, addTileAt: function (a, b) { return this.__group.addTileAt(a, b); }, addTiles: function (a) { return this.__group.addTiles(a); }, contains: function (a) { return this.__group.contains(a); }, getTileAt: function (a) { return this.__group.getTileAt(a); }, getTileIndex: function (a) { return this.__group.getTileIndex(a); }, getTiles: function () { return this.__group.clone(); }, removeTile: function (a) { return this.__group.removeTile(a); }, removeTileAt: function (a) { return this.__group.removeTileAt(a); }, removeTiles: function (a, b) { null == b && (b = 2147483647); null == a && (a = 0); this.__group.removeTiles(a, b); }, setTileIndex: function (a, b) { this.__group.setTileIndex(a, b); }, setTiles: function (a) { for (var b = 0, d = this.__group.__tiles; b < d.length; ) { var c = d[b]; ++b; this.removeTile(c); } b = 0; for (d = a.__tiles; b < d.length; ) (c = d[b]), ++b, this.addTile(c); }, sortTiles: function (a) { this.__group.sortTiles(a); }, swapTiles: function (a, b) { this.__group.swapTiles(a, b); }, swapTilesAt: function (a, b) { this.__group.swapTilesAt(a, b); }, __enterFrame: function (a) { this.__group.__dirty && !this.__renderDirty && ((this.__renderDirty = !0), this.__setParentRenderDirty()); }, __getBounds: function (a, b) { var d = ea.__pool.get(); d.setTo(0, 0, this.__width, this.__height); d.__transform(d, b); a.__expand(d.x, d.y, d.width, d.height); ea.__pool.release(d); }, __hitTest: function (a, b, d, c, f, g) { if ( !g.get_visible() || this.__isMask || (null != this.get_mask() && !this.get_mask().__hitTestMask(a, b)) ) return !1; this.__getRenderTransform(); var e = this.__renderTransform, q = e.a * e.d - e.b * e.c; d = 0 == q ? -e.tx : (1 / q) * (e.c * (e.ty - b) + e.d * (a - e.tx)); e = this.__renderTransform; q = e.a * e.d - e.b * e.c; a = 0 == q ? -e.ty : (1 / q) * (e.a * (b - e.ty) + e.b * (e.tx - a)); return 0 < d && 0 < a && d <= this.__width && a <= this.__height ? (null == c || f || c.push(g), !0) : !1; }, __renderFlash: function () {}, get_height: function () { return this.__height * Math.abs(this.get_scaleY()); }, set_height: function (a) { this.__height = a | 0; return this.__height * Math.abs(this.get_scaleY()); }, get_numTiles: function () { return this.__group.__length; }, get_tileset: function () { return this.__tileset; }, set_tileset: function (a) { a != this.__tileset && ((this.__tileset = a), this.__group.set_tileset(a), (this.__group.__dirty = !0), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty())); return a; }, get_width: function () { return this.__width * Math.abs(this.__scaleX); }, set_width: function (a) { this.__width = a | 0; return this.__width * Math.abs(this.__scaleX); }, __class__: jg, __properties__: t(Ka.prototype.__properties__, { set_tileset: 'set_tileset', get_tileset: 'get_tileset', get_numTiles: 'get_numTiles' }) }); var Ph = function (a, b) { this.__bitmapData = a; this.rectData = Ab.toFloatVector(null); this.__data = []; if (null != b) for (a = 0; a < b.length; ) { var d = b[a]; ++a; this.addRect(d); } }; k['openfl.display.Tileset'] = Ph; Ph.__name__ = 'openfl.display.Tileset'; Ph.prototype = { rectData: null, __bitmapData: null, __data: null, addRect: function (a) { if (null == a) return -1; this.rectData.push(a.x); this.rectData.push(a.y); this.rectData.push(a.width); this.rectData.push(a.height); a = new Wm(a); a.__update(this.__bitmapData); this.__data.push(a); return this.__data.length - 1; }, clone: function () { for ( var a = new Ph(this.__bitmapData, null), b = ea.__pool.get(), d = 0, c = this.__data; d < c.length; ) { var f = c[d]; ++d; b.setTo(f.x, f.y, f.width, f.height); a.addRect(b); } ea.__pool.release(b); return a; }, hasRect: function (a) { for (var b = 0, d = this.__data; b < d.length; ) { var c = d[b]; ++b; if (a.x == c.x && a.y == c.y && a.width == c.width && a.height == c.height) return !0; } return !1; }, getRect: function (a) { return a < this.__data.length && 0 <= a ? new ea( this.__data[a].x, this.__data[a].y, this.__data[a].width, this.__data[a].height ) : null; }, getRectID: function (a) { for (var b, d = 0, c = this.__data.length; d < c; ) { var f = d++; b = this.__data[f]; if (a.x == b.x && a.y == b.y && a.width == b.width && a.height == b.height) return f; } return null; }, get_bitmapData: function () { return this.__bitmapData; }, set_bitmapData: function (a) { this.__bitmapData = a; for (var b = 0, d = this.__data; b < d.length; ) { var c = d[b]; ++b; c.__update(this.__bitmapData); } return a; }, get_numRects: function () { return this.__data.length; }, __class__: Ph, __properties__: { get_numRects: 'get_numRects', set_bitmapData: 'set_bitmapData', get_bitmapData: 'get_bitmapData' } }; var Wm = function (a) { null != a && ((this.x = a.x | 0), (this.y = a.y | 0), (this.width = a.width | 0), (this.height = a.height | 0)); }; k['openfl.display._Tileset.TileData'] = Wm; Wm.__name__ = 'openfl.display._Tileset.TileData'; Wm.prototype = { height: null, width: null, x: null, y: null, __bitmapData: null, __uvHeight: null, __uvWidth: null, __uvX: null, __uvY: null, __update: function (a) { if (null != a) { var b = a.width; a = a.height; this.__uvX = this.x / b; this.__uvY = this.y / a; this.__uvWidth = (this.x + this.width) / b; this.__uvHeight = (this.y + this.height) / a; } }, __class__: Wm }; var mz = function () { this.__totalFrames = this.__framesLoaded = 1; this.__currentLabels = []; this.__currentFrame = 1; this.__lastFrameUpdate = this.__lastFrameScriptEval = -1; }; k['openfl.display.Timeline'] = mz; mz.__name__ = 'openfl.display.Timeline'; mz.prototype = { frameRate: null, scenes: null, scripts: null, __currentFrame: null, __currentFrameLabel: null, __currentLabel: null, __currentLabels: null, __currentScene: null, __frameScripts: null, __framesLoaded: null, __frameTime: null, __isPlaying: null, __lastFrameScriptEval: null, __lastFrameUpdate: null, __scope: null, __timeElapsed: null, __totalFrames: null, attachMovieClip: function (a) {}, enterFrame: function (a) {}, __addFrameScript: function (a, b) { 0 > a || ((a += 1), null != b ? (null == this.__frameScripts && (this.__frameScripts = new Ya()), (this.__frameScripts.h[a] = function (a) { b(); })) : null != this.__frameScripts && this.__frameScripts.remove(a)); }, __attachMovieClip: function (a) { this.__scope = a; this.__framesLoaded = this.__totalFrames = 0; if (null != this.scenes && 0 < this.scenes.length) { for (var b = 0, d = this.scenes; b < d.length; ) { var c = d[b]; ++b; this.__totalFrames += c.numFrames; this.__framesLoaded += c.numFrames; null != c.labels && (this.__currentLabels = this.__currentLabels.concat(c.labels)); } this.__currentScene = this.scenes[0]; } if (null != this.scripts && 0 < this.scripts.length) for (this.__frameScripts = new Ya(), b = 0, d = this.scripts; b < d.length; ) (c = d[b]), ++b, (this.__frameScripts.h[c.frame] = c.script); this.attachMovieClip(a); }, __enterFrame: function (a) { if (this.__isPlaying) { a = this.__getNextFrame(a); if (this.__lastFrameScriptEval == a) return; if (null != this.__frameScripts) { if (a < this.__currentFrame) { if (!this.__evaluateFrameScripts(this.__totalFrames)) return; this.__currentFrame = 1; } if (!this.__evaluateFrameScripts(a)) return; } else this.__currentFrame = a; } this.__updateSymbol(this.__currentFrame); }, __evaluateFrameScripts: function (a) { if (null == this.__frameScripts) return !0; var b = this.__currentFrame; for (a += 1; b < a; ) { var d = b++; if ( d != this.__lastFrameScriptEval && ((this.__currentFrame = this.__lastFrameScriptEval = d), (this.__frameScripts.h.hasOwnProperty(d) && (this.__updateSymbol(d), (0, this.__frameScripts.h[d])(this.__scope), this.__currentFrame != d)) || !this.__isPlaying) ) return !1; } return !0; }, __getNextFrame: function (a) { null != this.frameRate ? ((this.__timeElapsed += a), (a = this.__currentFrame + Math.floor(this.__timeElapsed / this.__frameTime)), 1 > a && (a = 1), a > this.__totalFrames && (a = Math.floor((a - 1) % this.__totalFrames) + 1), (this.__timeElapsed %= this.__frameTime)) : ((a = this.__currentFrame + 1), a > this.__totalFrames && (a = 1)); return a; }, __goto: function (a) { 1 > a ? (a = 1) : a > this.__totalFrames && (a = this.__totalFrames); this.__lastFrameScriptEval = -1; this.__currentFrame = a; this.__updateSymbol(this.__currentFrame); this.__evaluateFrameScripts(this.__currentFrame); }, __gotoAndPlay: function (a, b) { this.__play(); this.__goto(this.__resolveFrameReference(a)); }, __gotoAndStop: function (a, b) { this.__stop(); this.__goto(this.__resolveFrameReference(a)); }, __nextFrame: function () { this.__stop(); this.__goto(this.__currentFrame + 1); }, __nextScene: function () {}, __play: function () { this.__isPlaying || 2 > this.__totalFrames || ((this.__isPlaying = !0), null != this.frameRate && ((this.__frameTime = (1e3 / this.frameRate) | 0), (this.__timeElapsed = 0))); }, __prevFrame: function () { this.__stop(); this.__goto(this.__currentFrame - 1); }, __prevScene: function () {}, __stop: function () { this.__isPlaying = !1; }, __resolveFrameReference: function (a) { if ('number' == typeof a && (a | 0) === a) return a; if ('string' == typeof a) { for (var b = 0, d = this.__currentLabels; b < d.length; ) { var c = d[b]; ++b; if (c.name == a) return c.frame; } throw J.thrown(new oi('Error #2109: Frame label ' + a + ' not found in scene.')); } throw J.thrown('Invalid type for frame ' + a.__name__); }, __updateFrameLabel: function () { this.__currentFrameLabel = this.__currentLabel = null; for (var a = 0, b = this.__currentLabels; a < b.length; ) { var d = b[a]; ++a; if (d.frame < this.__currentFrame) this.__currentLabel = d.name; else if (d.frame == this.__currentFrame) this.__currentFrameLabel = this.__currentLabel = d.name; else break; } }, __updateSymbol: function (a) { this.__currentFrame != this.__lastFrameUpdate && (this.__updateFrameLabel(), this.enterFrame(a), (this.__lastFrameUpdate = this.__currentFrame)); }, __class__: mz }; var Xj = function (a, b) { Ki.call(this, a, b); this.stage = new Ti( this, Object.prototype.hasOwnProperty.call(b.context, 'background') ? b.context.background : 16777215 ); if (Object.prototype.hasOwnProperty.call(b, 'parameters')) try { this.stage.get_loaderInfo().parameters = b.parameters; } catch (d) { ka.lastError = d; } Object.prototype.hasOwnProperty.call(b, 'resizable') && !b.resizable && this.stage.__setLogicalSize(b.width, b.height); a.addModule(this.stage); }; k['openfl.display.Window'] = Xj; Xj.__name__ = 'openfl.display.Window'; Xj.__super__ = Ki; Xj.prototype = t(Ki.prototype, { __class__: Xj }); var Wi = function (a, b, d, c, f, g, l) { null == l && (l = 0.05); null == g && (g = !1); this.stitch = g; this.stitch_threshold = l; this.octaves = b; this.channels = d; this.grayscale = c; this.calculateOctaves(f); }; k['openfl.display._internal.AbstractNoise'] = Wi; Wi.__name__ = 'openfl.display._internal.AbstractNoise'; Wi.prototype = { octaves: null, stitch: null, stitch_threshold: null, channels: null, grayscale: null, octaves_frequencies: null, octaves_persistences: null, persistence_max: null, fill: function (a, b, d, c) {}, stitching: function (a, b, d, c, f, g, l, q) { var e = (b >> 16) & 255, h = (b >> 8) & 255; b &= 255; if (l - f < d) { var k = a.getPixel32(l - d, c), p = (k >> 8) & 255, n = k & 255; f = (l - d) / f; e = this.mixI((k >> 16) & 255, e, f); h = this.mixI(p, h, f); b = this.mixI(n, b, f); } q - g < c && ((k = a.getPixel32(d, q - c)), (p = (k >> 8) & 255), (n = k & 255), (f = (q - c) / g), (e = this.mixI((k >> 16) & 255, e, f)), (h = this.mixI(p, h, f)), (b = this.mixI(n, b, f))); return -16777216 | (e << 16) | (h << 8) | b; }, color: function (a, b, d) { var c = 0, f = 0, g = 0; null != a && (c = this.noiseToColor(a)); null != b && (f = this.noiseToColor(b)); null != d && (g = this.noiseToColor(d)); return -16777216 | (c << 16) | (f << 8) | g; }, noiseToColor: function (a) { return (128 * (a * this.persistence_max + 1)) | 0; }, fade: function (a) { return a * a * a * (a * (6 * a - 15) + 10); }, mixI: function (a, b, d) { return ((1 - d) * a + d * b) | 0; }, mix: function (a, b, d) { return (1 - d) * a + d * b; }, fastfloor: function (a) { return 0 < a ? a | 0 : (a - 1) | 0; }, dot2d: function (a, b, d) { return a[0] * b + a[1] * d; }, dot: function (a, b, d, c) { return a[0] * b + a[1] * d + a[2] * c; }, calculateOctaves: function (a) { this.octaves_frequencies = []; this.octaves_persistences = []; for (var b = (this.persistence_max = 0), d = this.octaves; b < d; ) { var c = b++; var f = Math.pow(2, c); c = Math.pow(a, c); this.persistence_max += c; this.octaves_frequencies.push(f); this.octaves_persistences.push(c); } this.persistence_max = 1 / this.persistence_max; }, __class__: Wi }; var Xm = function () {}; k['openfl.display._internal.CairoBitmap'] = Xm; Xm.__name__ = 'openfl.display._internal.CairoBitmap'; Xm.render = function (a, b) { if (a.__renderable) { var d = b.__getAlpha(a.__worldAlpha); if (0 < d && null != a.__bitmapData && a.__bitmapData.__isValid) { var c = b.cairo; b.__setBlendMode(a.__worldBlendMode); b.__pushMaskObject(a); b.applyMatrix(a.__renderTransform, c); var f = a.__bitmapData.getSurface(); null != f && ((f = Mo.createForSurface(f)), Mo.set_filter(f, b.__allowSmoothing && a.smoothing ? 1 : 3), c.set_source(f), 1 == d ? c.paint() : c.paintWithAlpha(d)); b.__popMaskObject(a); b.__setBlendMode(10); } } }; Xm.renderDrawable = function (a, b) {}; Xm.renderDrawableMask = function (a, b) { b.cairo.rectangle(0, 0, a.get_width(), a.get_height()); }; var nz = function () {}; k['openfl.display._internal.CairoBitmapData'] = nz; nz.__name__ = 'openfl.display._internal.CairoBitmapData'; nz.renderDrawable = function (a, b) {}; nz.renderDrawableMask = function (a, b) {}; var Ym = function () {}; k['openfl.display._internal.CairoDisplayObject'] = Ym; Ym.__name__ = 'openfl.display._internal.CairoDisplayObject'; Ym.render = function (a, b) {}; Ym.renderDrawable = function (a, b) {}; Ym.renderDrawableMask = function (a, b) {}; var oz = function () {}; k['openfl.display._internal.CairoDisplayObjectContainer'] = oz; oz.__name__ = 'openfl.display._internal.CairoDisplayObjectContainer'; oz.renderDrawable = function (a, b) {}; oz.renderDrawableMask = function (a, b) {}; var Zm = function () {}; k['openfl.display._internal.CairoGraphics'] = Zm; Zm.__name__ = 'openfl.display._internal.CairoGraphics'; Zm.hitTest = function (a, b, d) { return !1; }; Zm.render = function (a, b) {}; Zm.renderMask = function (a, b) {}; var $m = function () {}; k['openfl.display._internal.CairoShape'] = $m; $m.__name__ = 'openfl.display._internal.CairoShape'; $m.render = function (a, b) {}; $m.renderDrawable = function (a, b) {}; $m.renderDrawableMask = function (a, b) {}; var pz = function () {}; k['openfl.display._internal.CairoSimpleButton'] = pz; pz.__name__ = 'openfl.display._internal.CairoSimpleButton'; pz.renderDrawable = function (a, b) { !a.__renderable || 0 >= a.__worldAlpha || null == a.__currentState || (b.__pushMaskObject(a), b.__renderDrawable(a.__currentState), b.__popMaskObject(a), b.__renderEvent(a)); }; pz.renderDrawableMask = function (a, b) { b.__renderDrawableMask(a.__currentState); }; var an = function () {}; k['openfl.display._internal.CairoTextField'] = an; an.__name__ = 'openfl.display._internal.CairoTextField'; an.render = function (a, b, d) {}; an.renderDrawable = function (a, b) {}; an.renderDrawableMask = function (a, b) {}; var ei = function () {}; k['openfl.display._internal.CairoTilemap'] = ei; ei.__name__ = 'openfl.display._internal.CairoTilemap'; ei.render = function (a, b) { if (a.__renderable && 0 != a.__group.__tiles.length) { var d = b.__getAlpha(a.__worldAlpha); if (!(0 >= d)) { b.__setBlendMode(a.__worldBlendMode); b.__pushMaskObject(a); var c = ea.__pool.get(); c.setTo(0, 0, a.__width, a.__height); b.__pushMaskRect(c, a.__renderTransform); ei.renderTileContainer( a.__group, b, a.__renderTransform, a.__tileset, b.__allowSmoothing && a.smoothing, a.tileAlphaEnabled, d, a.tileBlendModeEnabled, a.__worldBlendMode, null, null, null, c, new Uh() ); b.__popMaskRect(); b.__popMaskObject(a); ea.__pool.release(c); } } }; ei.renderTileContainer = function (a, b, d, c, f, g, l, q, h, r, k, p, n, u) { var e = b.cairo, y = Ia.__pool.get(); a = a.__tiles; for (var m, t, x, v, w = null, G = 0; G < a.length; ) if ( ((m = a[G]), ++G, y.setTo(1, 0, 0, 1, -m.get_originX(), -m.get_originY()), y.concat(m.get_matrix()), y.concat(d), (t = null != m.get_tileset() ? m.get_tileset() : c), (x = m.get_alpha() * l), (v = m.get_visible()) && !(0 >= x)) ) if ( (g || (x = 1), q && (w = null != m.__blendMode ? m.__blendMode : h), 0 < m.__length) ) ei.renderTileContainer(m, b, y, t, f, g, x, q, w, r, k, p, n, u); else if (null != t) { v = m.get_id(); if (-1 == v) { if (((m = m.__rect), null == m || 0 >= m.width || 0 >= m.height)) continue; } else { m = t.__data[v]; if (null == m) continue; n.setTo(m.x, m.y, m.width, m.height); m = n; } t = t.__bitmapData; null != t && (t != r && ((k = t.getSurface()), (p = Mo.createForSurface(k)), Mo.set_filter(p, f ? 1 : 3), e.set_source(p), (r = t)), q && b.__setBlendMode(w), b.applyMatrix(y, e), (u.tx = m.x), (u.ty = m.y), Mo.set_matrix(p, u), e.set_source(p), e.save(), e.newPath(), e.rectangle(0, 0, m.width, m.height), e.clip(), 1 == x ? e.paint() : e.paintWithAlpha(x), e.restore()); } Ia.__pool.release(y); }; ei.renderDrawable = function (a, b) {}; ei.renderDrawableMask = function (a, b) {}; var Ni = function () {}; k['openfl.display._internal.CanvasBitmap'] = Ni; Ni.__name__ = 'openfl.display._internal.CanvasBitmap'; Ni.render = function (a, b) { if (a.__renderable) { var d = b.__getAlpha(a.__worldAlpha); if ( 0 < d && null != a.__bitmapData && a.__bitmapData.__isValid && a.__bitmapData.readable ) { var c = b.context; b.__setBlendMode(a.__worldBlendMode); b.__pushMaskObject(a, !1); za.convertToCanvas(a.__bitmapData.image); c.globalAlpha = d; d = a.__scrollRect; b.setTransform(a.__renderTransform, c); (b.__allowSmoothing && a.smoothing) || (c.imageSmoothingEnabled = !1); null == d ? c.drawImage( a.__bitmapData.image.get_src(), 0, 0, a.__bitmapData.image.width, a.__bitmapData.image.height ) : c.drawImage(a.__bitmapData.image.get_src(), d.x, d.y, d.width, d.height); (b.__allowSmoothing && a.smoothing) || (c.imageSmoothingEnabled = !0); b.__popMaskObject(a, !1); } } }; Ni.renderDrawable = function (a, b) { b.__updateCacheBitmap(a, !1); null != a.__bitmapData && null != a.__bitmapData.image && (a.__imageVersion = a.__bitmapData.image.version); if (null == a.__cacheBitmap || a.__isCacheBitmapRender) { if ( !( (null == a.opaqueBackground && null == a.__graphics) || !a.__renderable || ((x = b.__getAlpha(a.__worldAlpha)), 0 >= x) ) ) { if ( null != a.opaqueBackground && !a.__isCacheBitmapRender && 0 < a.get_width() && 0 < a.get_height() ) { b.__setBlendMode(a.__worldBlendMode); b.__pushMaskObject(a); v = b.context; b.setTransform(a.__renderTransform, v); var d = a.opaqueBackground; v.fillStyle = 'rgb(' + ((d >>> 16) & 255) + ',' + ((d >>> 8) & 255) + ',' + (d & 255) + ')'; v.fillRect(0, 0, a.get_width(), a.get_height()); b.__popMaskObject(a); } if ( null != a.__graphics && a.__renderable && ((x = b.__getAlpha(a.__worldAlpha)), !(0 >= x)) ) { var c = a.__graphics; if (null != c) { D.render(c, b); var f = c.__width, g = c.__height; d = c.__canvas; if (null != d && c.__visible && 1 <= f && 1 <= g) { var l = c.__worldTransform; v = b.context; w = a.__scrollRect; var q = a.__worldScale9Grid; if (null == w || (0 < w.width && 0 < w.height)) { b.__setBlendMode(a.__worldBlendMode); b.__pushMaskObject(a); v.globalAlpha = x; if (null != q && 0 == l.b && 0 == l.c) { v.setTransform(1, 0, 0, 1, l.tx, l.ty); var h = c.__bounds, r = c.__renderTransform.a, k = c.__renderTransform.d, p = l.a, n = l.d; l = Math.max(1, Math.round(q.x * r)); c = Math.round(q.y * k); x = Math.max(1, Math.round((h.get_right() - q.get_right()) * r)); w = Math.round((h.get_bottom() - q.get_bottom()) * k); r = Math.round(q.width * r); k = Math.round(q.height * k); var u = Math.round(q.x * p), m = Math.round(q.y * n), t = Math.round((h.get_right() - q.get_right()) * p); q = Math.round((h.get_bottom() - q.get_bottom()) * n); h = Math.round(f * p) - u - t; p = Math.round(g * n) - m - q; b.applySmoothing(v, !1); 0 != r && 0 != k ? (v.drawImage(d, 0, 0, l, c, 0, 0, u, m), v.drawImage(d, l, 0, r, c, u, 0, h, m), v.drawImage(d, l + r, 0, x, c, u + h, 0, t, m), v.drawImage(d, 0, c, l, k, 0, m, u, p), v.drawImage(d, l, c, r, k, u, m, h, p), v.drawImage(d, l + r, c, x, k, u + h, m, t, p), v.drawImage(d, 0, c + k, l, w, 0, m + p, u, q), v.drawImage(d, l, c + k, r, w, u, m + p, h, q), v.drawImage(d, l + r, c + k, x, w, u + h, m + p, t, q)) : 0 == r && 0 != k ? ((g = u + h + t), v.drawImage(d, 0, 0, f, c, 0, 0, g, m), v.drawImage(d, 0, c, f, k, 0, m, g, p), v.drawImage(d, 0, c + k, f, w, 0, m + p, g, q)) : 0 == k && 0 != r && ((f = m + p + q), v.drawImage(d, 0, 0, l, g, 0, 0, u, f), v.drawImage(d, l, 0, r, g, u, 0, h, f), v.drawImage(d, l + r, 0, x, g, u + h, 0, t, f)); } else b.setTransform(l, v), b.__isDOM && ((q = 1 / b.pixelRatio), v.scale(q, q)), v.drawImage(d, 0, 0, f, g); b.__popMaskObject(a); } } } } } a.__renderable && ((x = b.__getAlpha(a.__worldAlpha)), 0 < x && null != a.__bitmapData && a.__bitmapData.__isValid && a.__bitmapData.readable && ((v = b.context), b.__setBlendMode(a.__worldBlendMode), b.__pushMaskObject(a, !1), za.convertToCanvas(a.__bitmapData.image), (v.globalAlpha = x), (w = a.__scrollRect), b.setTransform(a.__renderTransform, v), (b.__allowSmoothing && a.smoothing) || (v.imageSmoothingEnabled = !1), null == w ? v.drawImage( a.__bitmapData.image.get_src(), 0, 0, a.__bitmapData.image.width, a.__bitmapData.image.height ) : v.drawImage(a.__bitmapData.image.get_src(), w.x, w.y, w.width, w.height), (b.__allowSmoothing && a.smoothing) || (v.imageSmoothingEnabled = !0), b.__popMaskObject(a, !1))); } else if (((d = a.__cacheBitmap), d.__renderable)) { var x = b.__getAlpha(d.__worldAlpha); if ( 0 < x && null != d.__bitmapData && d.__bitmapData.__isValid && d.__bitmapData.readable ) { var v = b.context; b.__setBlendMode(d.__worldBlendMode); b.__pushMaskObject(d, !1); za.convertToCanvas(d.__bitmapData.image); v.globalAlpha = x; var w = d.__scrollRect; b.setTransform(d.__renderTransform, v); (b.__allowSmoothing && d.smoothing) || (v.imageSmoothingEnabled = !1); null == w ? v.drawImage( d.__bitmapData.image.get_src(), 0, 0, d.__bitmapData.image.width, d.__bitmapData.image.height ) : v.drawImage(d.__bitmapData.image.get_src(), w.x, w.y, w.width, w.height); (b.__allowSmoothing && d.smoothing) || (v.imageSmoothingEnabled = !0); b.__popMaskObject(d, !1); } } b.__renderEvent(a); }; Ni.renderDrawableMask = function (a, b) { b.context.rect(0, 0, a.get_width(), a.get_height()); }; var Cm = function () {}; k['openfl.display._internal.CanvasBitmapData'] = Cm; Cm.__name__ = 'openfl.display._internal.CanvasBitmapData'; Cm.renderDrawable = function (a, b) { if (a.readable) { var d = a.image; d.type == ve.DATA && za.convertToCanvas(d); var c = b.context; c.globalAlpha = 1; b.setTransform(a.__renderTransform, c); c.drawImage(d.get_src(), 0, 0, d.width, d.height); } }; Cm.renderDrawableMask = function (a, b) {}; var Ch = function () {}; k['openfl.display._internal.CanvasDisplayObject'] = Ch; Ch.__name__ = 'openfl.display._internal.CanvasDisplayObject'; Ch.render = function (a, b) { if ((null != a.opaqueBackground || null != a.__graphics) && a.__renderable) { var d = b.__getAlpha(a.__worldAlpha); if (!(0 >= d)) { if ( null != a.opaqueBackground && !a.__isCacheBitmapRender && 0 < a.get_width() && 0 < a.get_height() ) { b.__setBlendMode(a.__worldBlendMode); b.__pushMaskObject(a); var c = b.context; b.setTransform(a.__renderTransform, c); var f = a.opaqueBackground; c.fillStyle = 'rgb(' + ((f >>> 16) & 255) + ',' + ((f >>> 8) & 255) + ',' + (f & 255) + ')'; c.fillRect(0, 0, a.get_width(), a.get_height()); b.__popMaskObject(a); } if ( null != a.__graphics && a.__renderable && ((d = b.__getAlpha(a.__worldAlpha)), !(0 >= d)) ) { var g = a.__graphics; if (null != g) { D.render(g, b); var l = g.__width, q = g.__height; f = g.__canvas; if (null != f && g.__visible && 1 <= l && 1 <= q) { var h = g.__worldTransform; c = b.context; var r = a.__scrollRect, k = a.__worldScale9Grid; if (null == r || (0 < r.width && 0 < r.height)) { b.__setBlendMode(a.__worldBlendMode); b.__pushMaskObject(a); c.globalAlpha = d; if (null != k && 0 == h.b && 0 == h.c) { c.setTransform(1, 0, 0, 1, h.tx, h.ty); var p = g.__bounds, n = g.__renderTransform.a, u = g.__renderTransform.d, m = h.a, t = h.d; h = Math.max(1, Math.round(k.x * n)); g = Math.round(k.y * u); d = Math.max(1, Math.round((p.get_right() - k.get_right()) * n)); r = Math.round((p.get_bottom() - k.get_bottom()) * u); n = Math.round(k.width * n); u = Math.round(k.height * u); var x = Math.round(k.x * m), v = Math.round(k.y * t), w = Math.round((p.get_right() - k.get_right()) * m); k = Math.round((p.get_bottom() - k.get_bottom()) * t); p = Math.round(l * m) - x - w; m = Math.round(q * t) - v - k; b.applySmoothing(c, !1); 0 != n && 0 != u ? (c.drawImage(f, 0, 0, h, g, 0, 0, x, v), c.drawImage(f, h, 0, n, g, x, 0, p, v), c.drawImage(f, h + n, 0, d, g, x + p, 0, w, v), c.drawImage(f, 0, g, h, u, 0, v, x, m), c.drawImage(f, h, g, n, u, x, v, p, m), c.drawImage(f, h + n, g, d, u, x + p, v, w, m), c.drawImage(f, 0, g + u, h, r, 0, v + m, x, k), c.drawImage(f, h, g + u, n, r, x, v + m, p, k), c.drawImage(f, h + n, g + u, d, r, x + p, v + m, w, k)) : 0 == n && 0 != u ? ((q = x + p + w), c.drawImage(f, 0, 0, l, g, 0, 0, q, v), c.drawImage(f, 0, g, l, u, 0, v, q, m), c.drawImage(f, 0, g + u, l, r, 0, v + m, q, k)) : 0 == u && 0 != n && ((l = v + m + k), c.drawImage(f, 0, 0, h, q, 0, 0, x, l), c.drawImage(f, h, 0, n, q, x, 0, p, l), c.drawImage(f, h + n, 0, d, q, x + p, 0, w, l)); } else b.setTransform(h, c), b.__isDOM && ((k = 1 / b.pixelRatio), c.scale(k, k)), c.drawImage(f, 0, 0, l, q); b.__popMaskObject(a); } } } } } } }; Ch.renderDrawable = function (a, b) { if (null == a.get_mask() || (0 < a.get_mask().get_width() && 0 < a.get_mask().get_height())) if ((b.__updateCacheBitmap(a, !1), null != a.__cacheBitmap && !a.__isCacheBitmapRender)) { var d = a.__cacheBitmap; if (d.__renderable) { var c = b.__getAlpha(d.__worldAlpha); if ( 0 < c && null != d.__bitmapData && d.__bitmapData.__isValid && d.__bitmapData.readable ) { var f = b.context; b.__setBlendMode(d.__worldBlendMode); b.__pushMaskObject(d, !1); za.convertToCanvas(d.__bitmapData.image); f.globalAlpha = c; var g = d.__scrollRect; b.setTransform(d.__renderTransform, f); (b.__allowSmoothing && d.smoothing) || (f.imageSmoothingEnabled = !1); null == g ? f.drawImage( d.__bitmapData.image.get_src(), 0, 0, d.__bitmapData.image.width, d.__bitmapData.image.height ) : f.drawImage(d.__bitmapData.image.get_src(), g.x, g.y, g.width, g.height); (b.__allowSmoothing && d.smoothing) || (f.imageSmoothingEnabled = !0); b.__popMaskObject(d, !1); } } } else if ( !( (null == a.opaqueBackground && null == a.__graphics) || !a.__renderable || ((c = b.__getAlpha(a.__worldAlpha)), 0 >= c || (null != a.opaqueBackground && !a.__isCacheBitmapRender && 0 < a.get_width() && 0 < a.get_height() && (b.__setBlendMode(a.__worldBlendMode), b.__pushMaskObject(a), (f = b.context), b.setTransform(a.__renderTransform, f), (d = a.opaqueBackground), (f.fillStyle = 'rgb(' + ((d >>> 16) & 255) + ',' + ((d >>> 8) & 255) + ',' + (d & 255) + ')'), f.fillRect(0, 0, a.get_width(), a.get_height()), b.__popMaskObject(a)), null == a.__graphics || !a.__renderable || ((c = b.__getAlpha(a.__worldAlpha)), 0 >= c))) ) ) { var l = a.__graphics; if (null != l) { D.render(l, b); var q = l.__width, h = l.__height; d = l.__canvas; if (null != d && l.__visible && 1 <= q && 1 <= h) { var r = l.__worldTransform; f = b.context; g = a.__scrollRect; var k = a.__worldScale9Grid; if (null == g || (0 < g.width && 0 < g.height)) { b.__setBlendMode(a.__worldBlendMode); b.__pushMaskObject(a); f.globalAlpha = c; if (null != k && 0 == r.b && 0 == r.c) { f.setTransform(1, 0, 0, 1, r.tx, r.ty); var p = l.__bounds, n = l.__renderTransform.a, u = l.__renderTransform.d, m = r.a, t = r.d; r = Math.max(1, Math.round(k.x * n)); l = Math.round(k.y * u); c = Math.max(1, Math.round((p.get_right() - k.get_right()) * n)); g = Math.round((p.get_bottom() - k.get_bottom()) * u); n = Math.round(k.width * n); u = Math.round(k.height * u); var x = Math.round(k.x * m), v = Math.round(k.y * t), w = Math.round((p.get_right() - k.get_right()) * m); k = Math.round((p.get_bottom() - k.get_bottom()) * t); p = Math.round(q * m) - x - w; m = Math.round(h * t) - v - k; b.applySmoothing(f, !1); 0 != n && 0 != u ? (f.drawImage(d, 0, 0, r, l, 0, 0, x, v), f.drawImage(d, r, 0, n, l, x, 0, p, v), f.drawImage(d, r + n, 0, c, l, x + p, 0, w, v), f.drawImage(d, 0, l, r, u, 0, v, x, m), f.drawImage(d, r, l, n, u, x, v, p, m), f.drawImage(d, r + n, l, c, u, x + p, v, w, m), f.drawImage(d, 0, l + u, r, g, 0, v + m, x, k), f.drawImage(d, r, l + u, n, g, x, v + m, p, k), f.drawImage(d, r + n, l + u, c, g, x + p, v + m, w, k)) : 0 == n && 0 != u ? ((h = x + p + w), f.drawImage(d, 0, 0, q, l, 0, 0, h, v), f.drawImage(d, 0, l, q, u, 0, v, h, m), f.drawImage(d, 0, l + u, q, g, 0, v + m, h, k)) : 0 == u && 0 != n && ((q = v + m + k), f.drawImage(d, 0, 0, r, h, 0, 0, x, q), f.drawImage(d, r, 0, n, h, x, 0, p, q), f.drawImage(d, r + n, 0, c, h, x + p, 0, w, q)); } else b.setTransform(r, f), b.__isDOM && ((k = 1 / b.pixelRatio), f.scale(k, k)), f.drawImage(d, 0, 0, q, h); b.__popMaskObject(a); } } } } b.__renderEvent(a); }; Ch.renderDrawableMask = function (a, b) { null != a.__graphics && D.renderMask(a.__graphics, b); }; var Dm = function () {}; k['openfl.display._internal.CanvasDisplayObjectContainer'] = Dm; Dm.__name__ = 'openfl.display._internal.CanvasDisplayObjectContainer'; Dm.renderDrawable = function (a, b) { for (var d = a.__removedChildren.iterator(); d.hasNext(); ) { var c = d.next(); null == c.stage && c.__cleanup(); } a.__removedChildren.set_length(0); if ( !( !a.__renderable || 0 >= a.__worldAlpha || (null != a.get_mask() && (0 >= a.get_mask().get_width() || 0 >= a.get_mask().get_height())) ) && (Ch.renderDrawable(a, b), null == a.__cacheBitmap || a.__isCacheBitmapRender) ) { b.__pushMaskObject(a); if (null != b.__stage) { d = 0; for (c = a.__children; d < c.length; ) { var f = c[d]; ++d; b.__renderDrawable(f); f.__renderDirty = !1; } a.__renderDirty = !1; } else for (d = 0, c = a.__children; d < c.length; ) (f = c[d]), ++d, b.__renderDrawable(f); b.__popMaskObject(a); } }; Dm.renderDrawableMask = function (a, b) { for (var d = a.__removedChildren.iterator(); d.hasNext(); ) { var c = d.next(); null == c.stage && c.__cleanup(); } a.__removedChildren.set_length(0); null != a.__graphics && D.renderMask(a.__graphics, b); d = 0; for (a = a.__children; d < a.length; ) (c = a[d]), ++d, b.__renderDrawableMask(c); }; var Be = function () { this.__dirty = !0; this.t_i = this.b_i = this.f_i = this.ff_i = this.i_i = this.ii_i = this.o_i = this.__lastLength = 0; null == Be.empty ? ((this.types = []), (this.b = []), (this.i = []), (this.f = []), (this.o = []), (this.ff = []), (this.ii = []), (this.objVersions = []), (this.copyOnWrite = !0)) : this.__initFromEmpty(); }; k['openfl.display._internal.DrawCommandBuffer'] = Be; Be.__name__ = 'openfl.display._internal.DrawCommandBuffer'; Be.prototype = { __replace_openfl_display_TriangleCulling: function (a, b, d) { !this.__dirty && (b >= a.length || a[b] != d) && (this.__dirty = !0); a[b] = d; }, __replace_openfl_Vector_Int: function (a, b, d) { !this.__dirty && (b >= a.length || a[b] != d) && (this.__dirty = !0); a[b] = d; }, __replace_openfl_Vector_Float: function (a, b, d) { !this.__dirty && (b >= a.length || a[b] != d) && (this.__dirty = !0); a[b] = d; }, __replace_openfl_display__internal_ShaderBuffer: function (a, b, d) { !this.__dirty && (b >= a.length || a[b] != d) && (this.__dirty = !0); a[b] = d; }, __replace_openfl_display_JointStyle: function (a, b, d) { !this.__dirty && (b >= a.length || a[b] != d) && (this.__dirty = !0); a[b] = d; }, __replace_openfl_display_CapsStyle: function (a, b, d) { !this.__dirty && (b >= a.length || a[b] != d) && (this.__dirty = !0); a[b] = d; }, __replace_openfl_display_LineScaleMode: function (a, b, d) { !this.__dirty && (b >= a.length || a[b] != d) && (this.__dirty = !0); a[b] = d; }, __replace_Int: function (a, b, d) { !this.__dirty && (b >= a.length || a[b] != d) && (this.__dirty = !0); a[b] = d; }, __replace_Bool: function (a, b, d) { !this.__dirty && (b >= a.length || a[b] != d) && (this.__dirty = !0); a[b] = d; }, __replace_openfl_display_InterpolationMethod: function (a, b, d) { !this.__dirty && (b >= a.length || a[b] != d) && (this.__dirty = !0); a[b] = d; }, __replace_openfl_display_SpreadMethod: function (a, b, d) { !this.__dirty && (b >= a.length || a[b] != d) && (this.__dirty = !0); a[b] = d; }, __replace_Array_Float: function (a, b, d) { !this.__dirty && (b >= a.length || a[b] != d) && (this.__dirty = !0); a[b] = d; }, __replace_Array_Int: function (a, b, d) { !this.__dirty && (b >= a.length || a[b] != d) && (this.__dirty = !0); a[b] = d; }, __replace_openfl_display_GradientType: function (a, b, d) { !this.__dirty && (b >= a.length || a[b] != d) && (this.__dirty = !0); a[b] = d; }, __replace_Float: function (a, b, d) { !this.__dirty && (b >= a.length || a[b] != d) && (this.__dirty = !0); a[b] = d; }, __replace_openfl_display__internal_DrawCommandType: function (a, b, d) { !this.__dirty && (b >= a.length || a[b] != d) && (this.__dirty = !0); a[b] = d; }, dirty: null, types: null, b: null, copyOnWrite: null, f: null, ff: null, i: null, ii: null, o: null, t_i: null, b_i: null, f_i: null, ff_i: null, i_i: null, ii_i: null, o_i: null, objVersions: null, __lastLength: null, __dirty: null, append: function (a) { if (0 == this.get_length()) return ( (this.types = a.types), (this.b = a.b), (this.i = a.i), (this.f = a.f), (this.o = a.o), (this.ff = a.ff), (this.ii = a.ii), (this.t_i = a.t_i), (this.b_i = a.b_i), (this.f_i = a.f_i), (this.ff_i = a.ff_i), (this.i_i = a.i_i), (this.ii_i = a.ii_i), (this.o_i = a.o_i), (this.objVersions = a.objVersions), (this.copyOnWrite = a.copyOnWrite = !0), a ); for (var b = new Wf(a), d = 0, c = a.types; d < c.length; ) { var f = c[d]; ++d; switch (f._hx_index) { case 0: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.BEGIN_BITMAP_FILL; f = b; this.beginBitmapFill( f.buffer.o[f.oPos], f.buffer.o[f.oPos + 1], f.buffer.b[f.bPos], f.buffer.b[f.bPos + 1] ); break; case 1: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.BEGIN_FILL; f = b; this.beginFill(f.buffer.i[f.iPos], f.buffer.f[f.fPos]); break; case 2: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.BEGIN_GRADIENT_FILL; f = b; this.beginGradientFill( f.buffer.o[f.oPos], f.buffer.ii[f.iiPos], f.buffer.ff[f.ffPos], f.buffer.ii[f.iiPos + 1], f.buffer.o[f.oPos + 1], f.buffer.o[f.oPos + 2], f.buffer.o[f.oPos + 3], f.buffer.f[f.fPos] ); break; case 3: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.BEGIN_SHADER_FILL; f = b; this.beginShaderFill(f.buffer.o[f.oPos]); break; case 4: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.CUBIC_CURVE_TO; f = b; this.cubicCurveTo( f.buffer.f[f.fPos], f.buffer.f[f.fPos + 1], f.buffer.f[f.fPos + 2], f.buffer.f[f.fPos + 3], f.buffer.f[f.fPos + 4], f.buffer.f[f.fPos + 5] ); break; case 5: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.CURVE_TO; f = b; this.curveTo( f.buffer.f[f.fPos], f.buffer.f[f.fPos + 1], f.buffer.f[f.fPos + 2], f.buffer.f[f.fPos + 3] ); break; case 6: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.DRAW_CIRCLE; f = b; this.drawCircle(f.buffer.f[f.fPos], f.buffer.f[f.fPos + 1], f.buffer.f[f.fPos + 2]); break; case 7: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.DRAW_ELLIPSE; f = b; this.drawEllipse( f.buffer.f[f.fPos], f.buffer.f[f.fPos + 1], f.buffer.f[f.fPos + 2], f.buffer.f[f.fPos + 3] ); break; case 8: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.DRAW_QUADS; f = b; this.drawQuads(f.buffer.o[f.oPos], f.buffer.o[f.oPos + 1], f.buffer.o[f.oPos + 2]); break; case 9: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.DRAW_RECT; f = b; this.drawRect( f.buffer.f[f.fPos], f.buffer.f[f.fPos + 1], f.buffer.f[f.fPos + 2], f.buffer.f[f.fPos + 3] ); break; case 10: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.DRAW_ROUND_RECT; f = b; this.drawRoundRect( f.buffer.f[f.fPos], f.buffer.f[f.fPos + 1], f.buffer.f[f.fPos + 2], f.buffer.f[f.fPos + 3], f.buffer.f[f.fPos + 4], f.buffer.o[f.oPos] ); break; case 12: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.DRAW_TRIANGLES; f = b; this.drawTriangles( f.buffer.o[f.oPos], f.buffer.o[f.oPos + 1], f.buffer.o[f.oPos + 2], f.buffer.o[f.oPos + 3] ); break; case 13: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.END_FILL; this.endFill(); break; case 14: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.LINE_BITMAP_STYLE; f = b; this.lineBitmapStyle( f.buffer.o[f.oPos], f.buffer.o[f.oPos + 1], f.buffer.b[f.bPos], f.buffer.b[f.bPos + 1] ); break; case 15: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.LINE_GRADIENT_STYLE; f = b; this.lineGradientStyle( f.buffer.o[f.oPos], f.buffer.ii[f.iiPos], f.buffer.ff[f.ffPos], f.buffer.ii[f.iiPos + 1], f.buffer.o[f.oPos + 1], f.buffer.o[f.oPos + 2], f.buffer.o[f.oPos + 3], f.buffer.f[f.fPos] ); break; case 16: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.LINE_STYLE; f = b; this.lineStyle( f.buffer.o[f.oPos], f.buffer.i[f.iPos], f.buffer.f[f.fPos], f.buffer.b[f.bPos], f.buffer.o[f.oPos + 1], f.buffer.o[f.oPos + 2], f.buffer.o[f.oPos + 3], f.buffer.f[f.fPos + 1] ); break; case 17: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.LINE_TO; f = b; this.lineTo(f.buffer.f[f.fPos], f.buffer.f[f.fPos + 1]); break; case 18: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.MOVE_TO; f = b; this.moveTo(f.buffer.f[f.fPos], f.buffer.f[f.fPos + 1]); break; case 20: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.OVERRIDE_MATRIX; f = b; this.overrideMatrix(f.buffer.o[f.oPos]); break; case 21: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.WINDING_EVEN_ODD; this.windingEvenOdd(); break; case 22: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.WINDING_NON_ZERO; this.windingNonZero(); } } b.destroy(); return a; }, beginBitmapFill: function (a, b, d, c) { this.prepareWrite(); var e = this.types, g = this.t_i++, l = ca.BEGIN_BITMAP_FILL; !this.__dirty && (g >= e.length || e[g] != l) && (this.__dirty = !0); e[g] = l; e = this.o; g = this.o_i++; !this.__dirty && (g >= e.length || a != e[g] || a.image.version != this.objVersions[g]) && (this.__dirty = !0); for (e[g] = a; this.objVersions.length < g; ) this.objVersions.push(0); this.objVersions[g] = a.image.version; e = this.o; g = this.o_i++; this.__dirty || (!(g >= e.length) && b.equals(e[g])) || (this.__dirty = !0); e[g] = b; e = this.b; g = this.b_i++; !this.__dirty && (g >= e.length || e[g] != d) && (this.__dirty = !0); e[g] = d; e = this.b; g = this.b_i++; !this.__dirty && (g >= e.length || e[g] != c) && (this.__dirty = !0); e[g] = c; }, beginFill: function (a, b) { this.prepareWrite(); var d = this.types, c = this.t_i++, f = ca.BEGIN_FILL; !this.__dirty && (c >= d.length || d[c] != f) && (this.__dirty = !0); d[c] = f; d = this.i; c = this.i_i++; !this.__dirty && (c >= d.length || d[c] != a) && (this.__dirty = !0); d[c] = a; d = this.f; c = this.f_i++; !this.__dirty && (c >= d.length || d[c] != b) && (this.__dirty = !0); d[c] = b; }, beginGradientFill: function (a, b, d, c, f, g, l, q) { this.prepareWrite(); var e = this.types, h = this.t_i++, k = ca.BEGIN_GRADIENT_FILL; !this.__dirty && (h >= e.length || e[h] != k) && (this.__dirty = !0); e[h] = k; e = this.o; h = this.o_i++; !this.__dirty && (h >= e.length || e[h] != a) && (this.__dirty = !0); e[h] = a; e = this.ii; h = this.ii_i++; !this.__dirty && (h >= e.length || e[h] != b) && (this.__dirty = !0); e[h] = b; e = this.ff; h = this.ff_i++; !this.__dirty && (h >= e.length || e[h] != d) && (this.__dirty = !0); e[h] = d; e = this.ii; h = this.ii_i++; !this.__dirty && (h >= e.length || e[h] != c) && (this.__dirty = !0); e[h] = c; e = this.o; h = this.o_i++; this.__dirty || (!(h >= e.length) && f.equals(e[h])) || (this.__dirty = !0); e[h] = f; e = this.o; h = this.o_i++; !this.__dirty && (h >= e.length || e[h] != g) && (this.__dirty = !0); e[h] = g; e = this.o; h = this.o_i++; !this.__dirty && (h >= e.length || e[h] != l) && (this.__dirty = !0); e[h] = l; e = this.f; h = this.f_i++; !this.__dirty && (h >= e.length || e[h] != q) && (this.__dirty = !0); e[h] = q; }, beginShaderFill: function (a) { this.prepareWrite(); var b = this.types, d = this.t_i++, c = ca.BEGIN_SHADER_FILL; !this.__dirty && (d >= b.length || b[d] != c) && (this.__dirty = !0); b[d] = c; b = this.o; d = this.o_i++; !this.__dirty && (d >= b.length || b[d] != a) && (this.__dirty = !0); b[d] = a; }, clear: function () { this.o_i = this.ii_i = this.i_i = this.ff_i = this.f_i = this.b_i = this.t_i = 0; }, copy: function () { var a = new Be(); a.append(this); return a; }, cubicCurveTo: function (a, b, d, c, f, g) { this.prepareWrite(); var e = this.types, h = this.t_i++, k = ca.CUBIC_CURVE_TO; !this.__dirty && (h >= e.length || e[h] != k) && (this.__dirty = !0); e[h] = k; e = this.f; h = this.f_i++; !this.__dirty && (h >= e.length || e[h] != a) && (this.__dirty = !0); e[h] = a; e = this.f; h = this.f_i++; !this.__dirty && (h >= e.length || e[h] != b) && (this.__dirty = !0); e[h] = b; e = this.f; h = this.f_i++; !this.__dirty && (h >= e.length || e[h] != d) && (this.__dirty = !0); e[h] = d; e = this.f; h = this.f_i++; !this.__dirty && (h >= e.length || e[h] != c) && (this.__dirty = !0); e[h] = c; e = this.f; h = this.f_i++; !this.__dirty && (h >= e.length || e[h] != f) && (this.__dirty = !0); e[h] = f; e = this.f; h = this.f_i++; !this.__dirty && (h >= e.length || e[h] != g) && (this.__dirty = !0); e[h] = g; }, curveTo: function (a, b, d, c) { this.prepareWrite(); var e = this.types, g = this.t_i++, l = ca.CURVE_TO; !this.__dirty && (g >= e.length || e[g] != l) && (this.__dirty = !0); e[g] = l; e = this.f; g = this.f_i++; !this.__dirty && (g >= e.length || e[g] != a) && (this.__dirty = !0); e[g] = a; e = this.f; g = this.f_i++; !this.__dirty && (g >= e.length || e[g] != b) && (this.__dirty = !0); e[g] = b; e = this.f; g = this.f_i++; !this.__dirty && (g >= e.length || e[g] != d) && (this.__dirty = !0); e[g] = d; e = this.f; g = this.f_i++; !this.__dirty && (g >= e.length || e[g] != c) && (this.__dirty = !0); e[g] = c; }, destroy: function () { this.ii = this.ff = this.o = this.f = this.i = this.b = this.types = null; }, drawCircle: function (a, b, d) { this.prepareWrite(); var c = this.types, f = this.t_i++, g = ca.DRAW_CIRCLE; !this.__dirty && (f >= c.length || c[f] != g) && (this.__dirty = !0); c[f] = g; c = this.f; f = this.f_i++; !this.__dirty && (f >= c.length || c[f] != a) && (this.__dirty = !0); c[f] = a; c = this.f; f = this.f_i++; !this.__dirty && (f >= c.length || c[f] != b) && (this.__dirty = !0); c[f] = b; c = this.f; f = this.f_i++; !this.__dirty && (f >= c.length || c[f] != d) && (this.__dirty = !0); c[f] = d; }, drawEllipse: function (a, b, d, c) { this.prepareWrite(); var e = this.types, g = this.t_i++, l = ca.DRAW_ELLIPSE; !this.__dirty && (g >= e.length || e[g] != l) && (this.__dirty = !0); e[g] = l; e = this.f; g = this.f_i++; !this.__dirty && (g >= e.length || e[g] != a) && (this.__dirty = !0); e[g] = a; e = this.f; g = this.f_i++; !this.__dirty && (g >= e.length || e[g] != b) && (this.__dirty = !0); e[g] = b; e = this.f; g = this.f_i++; !this.__dirty && (g >= e.length || e[g] != d) && (this.__dirty = !0); e[g] = d; e = this.f; g = this.f_i++; !this.__dirty && (g >= e.length || e[g] != c) && (this.__dirty = !0); e[g] = c; }, drawQuads: function (a, b, d) { this.prepareWrite(); var c = this.types, f = this.t_i++, g = ca.DRAW_QUADS; !this.__dirty && (f >= c.length || c[f] != g) && (this.__dirty = !0); c[f] = g; c = this.o; f = this.o_i++; !this.__dirty && (f >= c.length || c[f] != a) && (this.__dirty = !0); c[f] = a; c = this.o; f = this.o_i++; !this.__dirty && (f >= c.length || c[f] != b) && (this.__dirty = !0); c[f] = b; c = this.o; f = this.o_i++; !this.__dirty && (f >= c.length || c[f] != d) && (this.__dirty = !0); c[f] = d; }, drawRect: function (a, b, d, c) { this.prepareWrite(); var e = this.types, g = this.t_i++, l = ca.DRAW_RECT; !this.__dirty && (g >= e.length || e[g] != l) && (this.__dirty = !0); e[g] = l; e = this.f; g = this.f_i++; !this.__dirty && (g >= e.length || e[g] != a) && (this.__dirty = !0); e[g] = a; e = this.f; g = this.f_i++; !this.__dirty && (g >= e.length || e[g] != b) && (this.__dirty = !0); e[g] = b; e = this.f; g = this.f_i++; !this.__dirty && (g >= e.length || e[g] != d) && (this.__dirty = !0); e[g] = d; e = this.f; g = this.f_i++; !this.__dirty && (g >= e.length || e[g] != c) && (this.__dirty = !0); e[g] = c; }, drawRoundRect: function (a, b, d, c, f, g) { this.prepareWrite(); var e = this.types, h = this.t_i++, k = ca.DRAW_ROUND_RECT; !this.__dirty && (h >= e.length || e[h] != k) && (this.__dirty = !0); e[h] = k; e = this.f; h = this.f_i++; !this.__dirty && (h >= e.length || e[h] != a) && (this.__dirty = !0); e[h] = a; e = this.f; h = this.f_i++; !this.__dirty && (h >= e.length || e[h] != b) && (this.__dirty = !0); e[h] = b; e = this.f; h = this.f_i++; !this.__dirty && (h >= e.length || e[h] != d) && (this.__dirty = !0); e[h] = d; e = this.f; h = this.f_i++; !this.__dirty && (h >= e.length || e[h] != c) && (this.__dirty = !0); e[h] = c; e = this.f; h = this.f_i++; !this.__dirty && (h >= e.length || e[h] != f) && (this.__dirty = !0); e[h] = f; !this.__dirty && (this.o_i >= this.o.length || this.o[this.o_i] != g) && (this.__dirty = !0); this.o[this.o_i++] = g; }, drawTriangles: function (a, b, d, c) { this.prepareWrite(); var e = this.types, g = this.t_i++, l = ca.DRAW_TRIANGLES; !this.__dirty && (g >= e.length || e[g] != l) && (this.__dirty = !0); e[g] = l; e = this.o; g = this.o_i++; !this.__dirty && (g >= e.length || e[g] != a) && (this.__dirty = !0); e[g] = a; e = this.o; g = this.o_i++; !this.__dirty && (g >= e.length || e[g] != b) && (this.__dirty = !0); e[g] = b; e = this.o; g = this.o_i++; !this.__dirty && (g >= e.length || e[g] != d) && (this.__dirty = !0); e[g] = d; e = this.o; g = this.o_i++; !this.__dirty && (g >= e.length || e[g] != c) && (this.__dirty = !0); e[g] = c; }, endFill: function () { this.prepareWrite(); var a = this.types, b = this.t_i++, d = ca.END_FILL; !this.__dirty && (b >= a.length || a[b] != d) && (this.__dirty = !0); a[b] = d; }, lineBitmapStyle: function (a, b, d, c) { this.prepareWrite(); var e = this.types, g = this.t_i++, l = ca.LINE_BITMAP_STYLE; !this.__dirty && (g >= e.length || e[g] != l) && (this.__dirty = !0); e[g] = l; e = this.o; g = this.o_i++; !this.__dirty && (g >= e.length || a != e[g] || a.image.version != this.objVersions[g]) && (this.__dirty = !0); for (e[g] = a; this.objVersions.length < g; ) this.objVersions.push(0); this.objVersions[g] = a.image.version; e = this.o; g = this.o_i++; this.__dirty || (!(g >= e.length) && b.equals(e[g])) || (this.__dirty = !0); e[g] = b; e = this.b; g = this.b_i++; !this.__dirty && (g >= e.length || e[g] != d) && (this.__dirty = !0); e[g] = d; e = this.b; g = this.b_i++; !this.__dirty && (g >= e.length || e[g] != c) && (this.__dirty = !0); e[g] = c; }, lineGradientStyle: function (a, b, d, c, f, g, l, h) { this.prepareWrite(); var e = this.types, q = this.t_i++, k = ca.LINE_GRADIENT_STYLE; !this.__dirty && (q >= e.length || e[q] != k) && (this.__dirty = !0); e[q] = k; e = this.o; q = this.o_i++; !this.__dirty && (q >= e.length || e[q] != a) && (this.__dirty = !0); e[q] = a; e = this.ii; q = this.ii_i++; !this.__dirty && (q >= e.length || e[q] != b) && (this.__dirty = !0); e[q] = b; e = this.ff; q = this.ff_i++; !this.__dirty && (q >= e.length || e[q] != d) && (this.__dirty = !0); e[q] = d; e = this.ii; q = this.ii_i++; !this.__dirty && (q >= e.length || e[q] != c) && (this.__dirty = !0); e[q] = c; e = this.o; q = this.o_i++; this.__dirty || (!(q >= e.length) && f.equals(e[q])) || (this.__dirty = !0); e[q] = f; e = this.o; q = this.o_i++; !this.__dirty && (q >= e.length || e[q] != g) && (this.__dirty = !0); e[q] = g; e = this.o; q = this.o_i++; !this.__dirty && (q >= e.length || e[q] != l) && (this.__dirty = !0); e[q] = l; e = this.f; q = this.f_i++; !this.__dirty && (q >= e.length || e[q] != h) && (this.__dirty = !0); e[q] = h; }, lineStyle: function (a, b, d, c, f, g, l, h) { this.prepareWrite(); var e = this.types, q = this.t_i++, k = ca.LINE_STYLE; !this.__dirty && (q >= e.length || e[q] != k) && (this.__dirty = !0); e[q] = k; !this.__dirty && (this.o_i >= this.o.length || this.o[this.o_i] != a) && (this.__dirty = !0); this.o[this.o_i++] = a; e = this.i; q = this.i_i++; !this.__dirty && (q >= e.length || e[q] != b) && (this.__dirty = !0); e[q] = b; e = this.f; q = this.f_i++; !this.__dirty && (q >= e.length || e[q] != d) && (this.__dirty = !0); e[q] = d; e = this.b; q = this.b_i++; !this.__dirty && (q >= e.length || e[q] != c) && (this.__dirty = !0); e[q] = c; e = this.o; q = this.o_i++; !this.__dirty && (q >= e.length || e[q] != f) && (this.__dirty = !0); e[q] = f; e = this.o; q = this.o_i++; !this.__dirty && (q >= e.length || e[q] != g) && (this.__dirty = !0); e[q] = g; e = this.o; q = this.o_i++; !this.__dirty && (q >= e.length || e[q] != l) && (this.__dirty = !0); e[q] = l; e = this.f; q = this.f_i++; !this.__dirty && (q >= e.length || e[q] != h) && (this.__dirty = !0); e[q] = h; }, lineTo: function (a, b) { this.prepareWrite(); var d = this.types, c = this.t_i++, f = ca.LINE_TO; !this.__dirty && (c >= d.length || d[c] != f) && (this.__dirty = !0); d[c] = f; d = this.f; c = this.f_i++; !this.__dirty && (c >= d.length || d[c] != a) && (this.__dirty = !0); d[c] = a; d = this.f; c = this.f_i++; !this.__dirty && (c >= d.length || d[c] != b) && (this.__dirty = !0); d[c] = b; }, markAsClean: function () { this.__dirty = !1; }, moveTo: function (a, b) { this.prepareWrite(); var d = this.types, c = this.t_i++, f = ca.MOVE_TO; !this.__dirty && (c >= d.length || d[c] != f) && (this.__dirty = !0); d[c] = f; d = this.f; c = this.f_i++; !this.__dirty && (c >= d.length || d[c] != a) && (this.__dirty = !0); d[c] = a; d = this.f; c = this.f_i++; !this.__dirty && (c >= d.length || d[c] != b) && (this.__dirty = !0); d[c] = b; }, prepareWrite: function () { this.copyOnWrite && ((this.types = this.types.slice()), (this.b = this.b.slice()), (this.i = this.i.slice()), (this.f = this.f.slice()), (this.o = this.o.slice()), (this.ff = this.ff.slice()), (this.ii = this.ii.slice()), (this.objVersions = this.objVersions.slice()), (this.copyOnWrite = !1)); }, overrideBlendMode: function (a) { this.prepareWrite(); this.types.push(ca.OVERRIDE_BLEND_MODE); this.o.push(a); }, overrideMatrix: function (a) { this.prepareWrite(); var b = this.types, d = this.t_i++, c = ca.OVERRIDE_MATRIX; !this.__dirty && (d >= b.length || b[d] != c) && (this.__dirty = !0); b[d] = c; b = this.o; d = this.o_i++; this.__dirty || (!(d >= b.length) && a.equals(b[d])) || (this.__dirty = !0); b[d] = a; }, windingEvenOdd: function () { this.prepareWrite(); var a = this.types, b = this.t_i++, d = ca.WINDING_EVEN_ODD; !this.__dirty && (b >= a.length || a[b] != d) && (this.__dirty = !0); a[b] = d; }, windingNonZero: function () { this.prepareWrite(); var a = this.types, b = this.t_i++, d = ca.WINDING_NON_ZERO; !this.__dirty && (b >= a.length || a[b] != d) && (this.__dirty = !0); a[b] = d; }, get_dirty: function () { return this.__dirty; }, get_length: function () { return this.t_i; }, __initFromEmpty: function () { this.types = Be.empty.types; this.b = Be.empty.b; this.i = Be.empty.i; this.f = Be.empty.f; this.o = Be.empty.o; this.ff = Be.empty.ff; this.ii = Be.empty.ii; this.objVersions = Be.empty.objVersions; this.copyOnWrite = !0; }, __endBuffer: function () { this.__lastLength != this.t_i && (this.__dirty = !0); this.__lastLength = this.t_i; }, __replaceMtx: function (a, b, d) { this.__dirty || (!(b >= a.length) && d.equals(a[b])) || (this.__dirty = !0); a[b] = d; }, __replaceBmp: function (a, b, d) { !this.__dirty && (b >= a.length || d != a[b] || d.image.version != this.objVersions[b]) && (this.__dirty = !0); for (a[b] = d; this.objVersions.length < b; ) this.objVersions.push(0); this.objVersions[b] = d.image.version; }, __class__: Be, __properties__: { get_length: 'get_length', get_dirty: 'get_dirty' } }; var D = function () {}; k['openfl.display._internal.CanvasGraphics'] = D; D.__name__ = 'openfl.display._internal.CanvasGraphics'; D.closePath = function (a) { null == a && (a = !1); null != D.context.strokeStyle && (a || D.context.closePath(), D.context.stroke(), a && D.context.closePath(), D.context.beginPath()); }; D.createBitmapFill = function (a, b, d) { za.convertToCanvas(a.image); D.setSmoothing(d); return D.context.createPattern(a.image.get_src(), b ? 'repeat' : 'no-repeat'); }; D.createGradientPattern = function (a, b, d, c, f, g, l, h) { g = null; l = !1; null == f && ((f = Ia.__pool.get()), f.identity(), (l = !0)); switch (a) { case 0: g = D.context.createLinearGradient(-819.2, 0, 819.2, 0); D.pendingMatrix = f.clone(); D.inversePendingMatrix = f.clone(); D.inversePendingMatrix.invert(); break; case 1: 1 < h ? (h = 1) : -1 > h && (h = -1), (g = D.context.createRadialGradient(819.2 * h, 0, 0, 0, 0, 819.2)), (D.pendingMatrix = f.clone()), (D.inversePendingMatrix = f.clone()), D.inversePendingMatrix.invert(); } for (var e, q, k, p = 0, n = b.length; p < n; ) (k = p++), (e = b[k]), (a = d[k]), (h = (e & 16711680) >>> 16), (q = (e & 65280) >>> 8), (e &= 255), (k = c[k] / 255), 0 > k && (k = 0), 1 < k && (k = 1), g.addColorStop(k, 'rgba(' + h + ', ' + q + ', ' + e + ', ' + a + ')'); l && Ia.__pool.release(f); return g; }; D.createTempPatternCanvas = function (a, b, d, c) { var e = window.document.createElement('canvas'), g = e.getContext('2d'); e.width = d; e.height = c; a = a.image.get_src(); g.fillStyle = g.createPattern(a, b ? 'repeat' : 'no-repeat'); g.beginPath(); g.moveTo(0, 0); g.lineTo(0, c); g.lineTo(d, c); g.lineTo(d, 0); g.lineTo(0, 0); g.closePath(); D.hitTesting || g.fill(D.windingRule); return e; }; D.drawRoundRect = function (a, b, d, c, f, g) { null == g && (g = f); f *= 0.5; g *= 0.5; f > d / 2 && (f = d / 2); g > c / 2 && (g = c / 2); d = a + d; c = b + c; var e = -f + 0.7071067811865476 * f, h = -f + 0.41421356237309503 * f, k = -g + 0.7071067811865476 * g, r = -g + 0.41421356237309503 * g; D.context.moveTo(d, c - g); D.context.quadraticCurveTo(d, c + r, d + e, c + k); D.context.quadraticCurveTo(d + h, c, d - f, c); D.context.lineTo(a + f, c); D.context.quadraticCurveTo(a - h, c, a - e, c + k); D.context.quadraticCurveTo(a, c + r, a, c - g); D.context.lineTo(a, b + g); D.context.quadraticCurveTo(a, b - r, a - e, b - k); D.context.quadraticCurveTo(a - h, b, a + f, b); D.context.lineTo(d - f, b); D.context.quadraticCurveTo(d + h, b, d + e, b - k); D.context.quadraticCurveTo(d, b - r, d, b + g); D.context.lineTo(d, c - g); }; D.endFill = function () { D.context.beginPath(); D.playCommands(D.fillCommands, !1); D.fillCommands.clear(); }; D.endStroke = function () { D.context.beginPath(); D.playCommands(D.strokeCommands, !0); D.context.closePath(); D.strokeCommands.clear(); }; D.hitTest = function (a, b, d) { D.bounds = a.__bounds; D.graphics = a; if ( 0 == a.__commands.get_length() || null == D.bounds || 0 >= D.bounds.width || 0 >= D.bounds.height ) return !1; D.hitTesting = !0; var c = a.__renderTransform, f = b * c.b + d * c.d + c.ty; b = b * c.a + d * c.c + c.tx - (D.bounds.x * c.a + D.bounds.y * c.c + c.tx); d = f - (D.bounds.x * c.b + D.bounds.y * c.d + c.ty); f = a.__canvas; var g = a.__context; a.__canvas = D.hitTestCanvas; a.__context = D.hitTestContext; D.context = a.__context; D.context.setTransform(c.a, c.b, c.c, c.d, c.tx, c.ty); D.fillCommands.clear(); D.strokeCommands.clear(); D.hasFill = !1; D.hasStroke = !1; D.bitmapFill = null; D.bitmapRepeat = !1; D.windingRule = 'evenodd'; c = new Wf(a.__commands); for (var l = a.__commands.types, h = 0, k = a.__commands.get_length(); h < k; ) { var r = h++; r = l[r]; switch (r._hx_index) { case 0: case 1: case 2: case 3: D.endFill(); if (D.hasFill && D.context.isPointInPath(b, d, D.windingRule)) return c.destroy(), (a.__canvas = f), (a.__context = g), !0; D.endStroke(); if (D.hasStroke && D.context.isPointInStroke(b, d)) return c.destroy(), (a.__canvas = f), (a.__context = g), !0; if (r == ca.BEGIN_BITMAP_FILL) { switch (c.prev._hx_index) { case 0: c.oPos += 2; c.bPos += 2; break; case 1: c.iPos += 1; c.fPos += 1; break; case 2: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 3: c.oPos += 1; break; case 4: c.fPos += 6; break; case 5: c.fPos += 4; break; case 6: c.fPos += 3; break; case 7: c.fPos += 4; break; case 8: c.oPos += 3; break; case 9: c.fPos += 4; break; case 10: c.fPos += 5; c.oPos += 1; break; case 12: c.oPos += 4; break; case 14: c.oPos += 2; c.bPos += 2; break; case 15: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 16: c.oPos += 4; c.iPos += 1; c.fPos += 2; c.bPos += 1; break; case 17: c.fPos += 2; break; case 18: c.fPos += 2; break; case 19: c.oPos += 1; break; case 20: c.oPos += 1; } c.prev = ca.BEGIN_BITMAP_FILL; r = c; D.fillCommands.beginBitmapFill( r.buffer.o[r.oPos], r.buffer.o[r.oPos + 1], r.buffer.b[r.bPos], r.buffer.b[r.bPos + 1] ); D.strokeCommands.beginBitmapFill( r.buffer.o[r.oPos], r.buffer.o[r.oPos + 1], r.buffer.b[r.bPos], r.buffer.b[r.bPos + 1] ); } else if (r == ca.BEGIN_GRADIENT_FILL) { switch (c.prev._hx_index) { case 0: c.oPos += 2; c.bPos += 2; break; case 1: c.iPos += 1; c.fPos += 1; break; case 2: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 3: c.oPos += 1; break; case 4: c.fPos += 6; break; case 5: c.fPos += 4; break; case 6: c.fPos += 3; break; case 7: c.fPos += 4; break; case 8: c.oPos += 3; break; case 9: c.fPos += 4; break; case 10: c.fPos += 5; c.oPos += 1; break; case 12: c.oPos += 4; break; case 14: c.oPos += 2; c.bPos += 2; break; case 15: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 16: c.oPos += 4; c.iPos += 1; c.fPos += 2; c.bPos += 1; break; case 17: c.fPos += 2; break; case 18: c.fPos += 2; break; case 19: c.oPos += 1; break; case 20: c.oPos += 1; } c.prev = ca.BEGIN_GRADIENT_FILL; r = c; D.fillCommands.beginGradientFill( r.buffer.o[r.oPos], r.buffer.ii[r.iiPos], r.buffer.ff[r.ffPos], r.buffer.ii[r.iiPos + 1], r.buffer.o[r.oPos + 1], r.buffer.o[r.oPos + 2], r.buffer.o[r.oPos + 3], r.buffer.f[r.fPos] ); D.strokeCommands.beginGradientFill( r.buffer.o[r.oPos], r.buffer.ii[r.iiPos], r.buffer.ff[r.ffPos], r.buffer.ii[r.iiPos + 1], r.buffer.o[r.oPos + 1], r.buffer.o[r.oPos + 2], r.buffer.o[r.oPos + 3], r.buffer.f[r.fPos] ); } else if (r == ca.BEGIN_SHADER_FILL) { switch (c.prev._hx_index) { case 0: c.oPos += 2; c.bPos += 2; break; case 1: c.iPos += 1; c.fPos += 1; break; case 2: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 3: c.oPos += 1; break; case 4: c.fPos += 6; break; case 5: c.fPos += 4; break; case 6: c.fPos += 3; break; case 7: c.fPos += 4; break; case 8: c.oPos += 3; break; case 9: c.fPos += 4; break; case 10: c.fPos += 5; c.oPos += 1; break; case 12: c.oPos += 4; break; case 14: c.oPos += 2; c.bPos += 2; break; case 15: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 16: c.oPos += 4; c.iPos += 1; c.fPos += 2; c.bPos += 1; break; case 17: c.fPos += 2; break; case 18: c.fPos += 2; break; case 19: c.oPos += 1; break; case 20: c.oPos += 1; } c.prev = ca.BEGIN_SHADER_FILL; r = c; D.fillCommands.beginShaderFill(r.buffer.o[r.oPos]); D.strokeCommands.beginShaderFill(r.buffer.o[r.oPos]); } else { switch (c.prev._hx_index) { case 0: c.oPos += 2; c.bPos += 2; break; case 1: c.iPos += 1; c.fPos += 1; break; case 2: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 3: c.oPos += 1; break; case 4: c.fPos += 6; break; case 5: c.fPos += 4; break; case 6: c.fPos += 3; break; case 7: c.fPos += 4; break; case 8: c.oPos += 3; break; case 9: c.fPos += 4; break; case 10: c.fPos += 5; c.oPos += 1; break; case 12: c.oPos += 4; break; case 14: c.oPos += 2; c.bPos += 2; break; case 15: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 16: c.oPos += 4; c.iPos += 1; c.fPos += 2; c.bPos += 1; break; case 17: c.fPos += 2; break; case 18: c.fPos += 2; break; case 19: c.oPos += 1; break; case 20: c.oPos += 1; } c.prev = ca.BEGIN_FILL; r = c; D.fillCommands.beginFill(r.buffer.i[r.iPos], 1); D.strokeCommands.beginFill(r.buffer.i[r.iPos], 1); } break; case 4: switch (c.prev._hx_index) { case 0: c.oPos += 2; c.bPos += 2; break; case 1: c.iPos += 1; c.fPos += 1; break; case 2: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 3: c.oPos += 1; break; case 4: c.fPos += 6; break; case 5: c.fPos += 4; break; case 6: c.fPos += 3; break; case 7: c.fPos += 4; break; case 8: c.oPos += 3; break; case 9: c.fPos += 4; break; case 10: c.fPos += 5; c.oPos += 1; break; case 12: c.oPos += 4; break; case 14: c.oPos += 2; c.bPos += 2; break; case 15: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 16: c.oPos += 4; c.iPos += 1; c.fPos += 2; c.bPos += 1; break; case 17: c.fPos += 2; break; case 18: c.fPos += 2; break; case 19: c.oPos += 1; break; case 20: c.oPos += 1; } c.prev = ca.CUBIC_CURVE_TO; r = c; D.fillCommands.cubicCurveTo( r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1], r.buffer.f[r.fPos + 2], r.buffer.f[r.fPos + 3], r.buffer.f[r.fPos + 4], r.buffer.f[r.fPos + 5] ); D.strokeCommands.cubicCurveTo( r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1], r.buffer.f[r.fPos + 2], r.buffer.f[r.fPos + 3], r.buffer.f[r.fPos + 4], r.buffer.f[r.fPos + 5] ); break; case 5: switch (c.prev._hx_index) { case 0: c.oPos += 2; c.bPos += 2; break; case 1: c.iPos += 1; c.fPos += 1; break; case 2: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 3: c.oPos += 1; break; case 4: c.fPos += 6; break; case 5: c.fPos += 4; break; case 6: c.fPos += 3; break; case 7: c.fPos += 4; break; case 8: c.oPos += 3; break; case 9: c.fPos += 4; break; case 10: c.fPos += 5; c.oPos += 1; break; case 12: c.oPos += 4; break; case 14: c.oPos += 2; c.bPos += 2; break; case 15: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 16: c.oPos += 4; c.iPos += 1; c.fPos += 2; c.bPos += 1; break; case 17: c.fPos += 2; break; case 18: c.fPos += 2; break; case 19: c.oPos += 1; break; case 20: c.oPos += 1; } c.prev = ca.CURVE_TO; r = c; D.fillCommands.curveTo( r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1], r.buffer.f[r.fPos + 2], r.buffer.f[r.fPos + 3] ); D.strokeCommands.curveTo( r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1], r.buffer.f[r.fPos + 2], r.buffer.f[r.fPos + 3] ); break; case 6: switch (c.prev._hx_index) { case 0: c.oPos += 2; c.bPos += 2; break; case 1: c.iPos += 1; c.fPos += 1; break; case 2: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 3: c.oPos += 1; break; case 4: c.fPos += 6; break; case 5: c.fPos += 4; break; case 6: c.fPos += 3; break; case 7: c.fPos += 4; break; case 8: c.oPos += 3; break; case 9: c.fPos += 4; break; case 10: c.fPos += 5; c.oPos += 1; break; case 12: c.oPos += 4; break; case 14: c.oPos += 2; c.bPos += 2; break; case 15: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 16: c.oPos += 4; c.iPos += 1; c.fPos += 2; c.bPos += 1; break; case 17: c.fPos += 2; break; case 18: c.fPos += 2; break; case 19: c.oPos += 1; break; case 20: c.oPos += 1; } c.prev = ca.DRAW_CIRCLE; r = c; D.fillCommands.drawCircle( r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1], r.buffer.f[r.fPos + 2] ); D.strokeCommands.drawCircle( r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1], r.buffer.f[r.fPos + 2] ); break; case 7: switch (c.prev._hx_index) { case 0: c.oPos += 2; c.bPos += 2; break; case 1: c.iPos += 1; c.fPos += 1; break; case 2: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 3: c.oPos += 1; break; case 4: c.fPos += 6; break; case 5: c.fPos += 4; break; case 6: c.fPos += 3; break; case 7: c.fPos += 4; break; case 8: c.oPos += 3; break; case 9: c.fPos += 4; break; case 10: c.fPos += 5; c.oPos += 1; break; case 12: c.oPos += 4; break; case 14: c.oPos += 2; c.bPos += 2; break; case 15: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 16: c.oPos += 4; c.iPos += 1; c.fPos += 2; c.bPos += 1; break; case 17: c.fPos += 2; break; case 18: c.fPos += 2; break; case 19: c.oPos += 1; break; case 20: c.oPos += 1; } c.prev = ca.DRAW_ELLIPSE; r = c; D.fillCommands.drawEllipse( r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1], r.buffer.f[r.fPos + 2], r.buffer.f[r.fPos + 3] ); D.strokeCommands.drawEllipse( r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1], r.buffer.f[r.fPos + 2], r.buffer.f[r.fPos + 3] ); break; case 9: switch (c.prev._hx_index) { case 0: c.oPos += 2; c.bPos += 2; break; case 1: c.iPos += 1; c.fPos += 1; break; case 2: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 3: c.oPos += 1; break; case 4: c.fPos += 6; break; case 5: c.fPos += 4; break; case 6: c.fPos += 3; break; case 7: c.fPos += 4; break; case 8: c.oPos += 3; break; case 9: c.fPos += 4; break; case 10: c.fPos += 5; c.oPos += 1; break; case 12: c.oPos += 4; break; case 14: c.oPos += 2; c.bPos += 2; break; case 15: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 16: c.oPos += 4; c.iPos += 1; c.fPos += 2; c.bPos += 1; break; case 17: c.fPos += 2; break; case 18: c.fPos += 2; break; case 19: c.oPos += 1; break; case 20: c.oPos += 1; } c.prev = ca.DRAW_RECT; r = c; D.fillCommands.drawRect( r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1], r.buffer.f[r.fPos + 2], r.buffer.f[r.fPos + 3] ); D.strokeCommands.drawRect( r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1], r.buffer.f[r.fPos + 2], r.buffer.f[r.fPos + 3] ); break; case 10: switch (c.prev._hx_index) { case 0: c.oPos += 2; c.bPos += 2; break; case 1: c.iPos += 1; c.fPos += 1; break; case 2: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 3: c.oPos += 1; break; case 4: c.fPos += 6; break; case 5: c.fPos += 4; break; case 6: c.fPos += 3; break; case 7: c.fPos += 4; break; case 8: c.oPos += 3; break; case 9: c.fPos += 4; break; case 10: c.fPos += 5; c.oPos += 1; break; case 12: c.oPos += 4; break; case 14: c.oPos += 2; c.bPos += 2; break; case 15: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 16: c.oPos += 4; c.iPos += 1; c.fPos += 2; c.bPos += 1; break; case 17: c.fPos += 2; break; case 18: c.fPos += 2; break; case 19: c.oPos += 1; break; case 20: c.oPos += 1; } c.prev = ca.DRAW_ROUND_RECT; r = c; D.fillCommands.drawRoundRect( r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1], r.buffer.f[r.fPos + 2], r.buffer.f[r.fPos + 3], r.buffer.f[r.fPos + 4], r.buffer.o[r.oPos] ); D.strokeCommands.drawRoundRect( r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1], r.buffer.f[r.fPos + 2], r.buffer.f[r.fPos + 3], r.buffer.f[r.fPos + 4], r.buffer.o[r.oPos] ); break; case 13: switch (c.prev._hx_index) { case 0: c.oPos += 2; c.bPos += 2; break; case 1: c.iPos += 1; c.fPos += 1; break; case 2: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 3: c.oPos += 1; break; case 4: c.fPos += 6; break; case 5: c.fPos += 4; break; case 6: c.fPos += 3; break; case 7: c.fPos += 4; break; case 8: c.oPos += 3; break; case 9: c.fPos += 4; break; case 10: c.fPos += 5; c.oPos += 1; break; case 12: c.oPos += 4; break; case 14: c.oPos += 2; c.bPos += 2; break; case 15: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 16: c.oPos += 4; c.iPos += 1; c.fPos += 2; c.bPos += 1; break; case 17: c.fPos += 2; break; case 18: c.fPos += 2; break; case 19: c.oPos += 1; break; case 20: c.oPos += 1; } c.prev = ca.END_FILL; D.endFill(); if (D.hasFill && D.context.isPointInPath(b, d, D.windingRule)) return c.destroy(), (a.__canvas = f), (a.__context = g), !0; D.endStroke(); if (D.hasStroke && D.context.isPointInStroke(b, d)) return c.destroy(), (a.__canvas = f), (a.__context = g), !0; D.hasFill = !1; D.bitmapFill = null; break; case 14: switch (c.prev._hx_index) { case 0: c.oPos += 2; c.bPos += 2; break; case 1: c.iPos += 1; c.fPos += 1; break; case 2: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 3: c.oPos += 1; break; case 4: c.fPos += 6; break; case 5: c.fPos += 4; break; case 6: c.fPos += 3; break; case 7: c.fPos += 4; break; case 8: c.oPos += 3; break; case 9: c.fPos += 4; break; case 10: c.fPos += 5; c.oPos += 1; break; case 12: c.oPos += 4; break; case 14: c.oPos += 2; c.bPos += 2; break; case 15: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 16: c.oPos += 4; c.iPos += 1; c.fPos += 2; c.bPos += 1; break; case 17: c.fPos += 2; break; case 18: c.fPos += 2; break; case 19: c.oPos += 1; break; case 20: c.oPos += 1; } c.prev = ca.LINE_BITMAP_STYLE; r = c; D.strokeCommands.lineBitmapStyle( r.buffer.o[r.oPos], r.buffer.o[r.oPos + 1], r.buffer.b[r.bPos], r.buffer.b[r.bPos + 1] ); break; case 15: switch (c.prev._hx_index) { case 0: c.oPos += 2; c.bPos += 2; break; case 1: c.iPos += 1; c.fPos += 1; break; case 2: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 3: c.oPos += 1; break; case 4: c.fPos += 6; break; case 5: c.fPos += 4; break; case 6: c.fPos += 3; break; case 7: c.fPos += 4; break; case 8: c.oPos += 3; break; case 9: c.fPos += 4; break; case 10: c.fPos += 5; c.oPos += 1; break; case 12: c.oPos += 4; break; case 14: c.oPos += 2; c.bPos += 2; break; case 15: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 16: c.oPos += 4; c.iPos += 1; c.fPos += 2; c.bPos += 1; break; case 17: c.fPos += 2; break; case 18: c.fPos += 2; break; case 19: c.oPos += 1; break; case 20: c.oPos += 1; } c.prev = ca.LINE_GRADIENT_STYLE; r = c; D.strokeCommands.lineGradientStyle( r.buffer.o[r.oPos], r.buffer.ii[r.iiPos], r.buffer.ff[r.ffPos], r.buffer.ii[r.iiPos + 1], r.buffer.o[r.oPos + 1], r.buffer.o[r.oPos + 2], r.buffer.o[r.oPos + 3], r.buffer.f[r.fPos] ); break; case 16: switch (c.prev._hx_index) { case 0: c.oPos += 2; c.bPos += 2; break; case 1: c.iPos += 1; c.fPos += 1; break; case 2: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 3: c.oPos += 1; break; case 4: c.fPos += 6; break; case 5: c.fPos += 4; break; case 6: c.fPos += 3; break; case 7: c.fPos += 4; break; case 8: c.oPos += 3; break; case 9: c.fPos += 4; break; case 10: c.fPos += 5; c.oPos += 1; break; case 12: c.oPos += 4; break; case 14: c.oPos += 2; c.bPos += 2; break; case 15: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 16: c.oPos += 4; c.iPos += 1; c.fPos += 2; c.bPos += 1; break; case 17: c.fPos += 2; break; case 18: c.fPos += 2; break; case 19: c.oPos += 1; break; case 20: c.oPos += 1; } c.prev = ca.LINE_STYLE; r = c; D.strokeCommands.lineStyle( r.buffer.o[r.oPos], r.buffer.i[r.iPos], 1, r.buffer.b[r.bPos], r.buffer.o[r.oPos + 1], r.buffer.o[r.oPos + 2], r.buffer.o[r.oPos + 3], r.buffer.f[r.fPos + 1] ); break; case 17: switch (c.prev._hx_index) { case 0: c.oPos += 2; c.bPos += 2; break; case 1: c.iPos += 1; c.fPos += 1; break; case 2: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 3: c.oPos += 1; break; case 4: c.fPos += 6; break; case 5: c.fPos += 4; break; case 6: c.fPos += 3; break; case 7: c.fPos += 4; break; case 8: c.oPos += 3; break; case 9: c.fPos += 4; break; case 10: c.fPos += 5; c.oPos += 1; break; case 12: c.oPos += 4; break; case 14: c.oPos += 2; c.bPos += 2; break; case 15: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 16: c.oPos += 4; c.iPos += 1; c.fPos += 2; c.bPos += 1; break; case 17: c.fPos += 2; break; case 18: c.fPos += 2; break; case 19: c.oPos += 1; break; case 20: c.oPos += 1; } c.prev = ca.LINE_TO; r = c; D.fillCommands.lineTo(r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1]); D.strokeCommands.lineTo(r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1]); break; case 18: switch (c.prev._hx_index) { case 0: c.oPos += 2; c.bPos += 2; break; case 1: c.iPos += 1; c.fPos += 1; break; case 2: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 3: c.oPos += 1; break; case 4: c.fPos += 6; break; case 5: c.fPos += 4; break; case 6: c.fPos += 3; break; case 7: c.fPos += 4; break; case 8: c.oPos += 3; break; case 9: c.fPos += 4; break; case 10: c.fPos += 5; c.oPos += 1; break; case 12: c.oPos += 4; break; case 14: c.oPos += 2; c.bPos += 2; break; case 15: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 16: c.oPos += 4; c.iPos += 1; c.fPos += 2; c.bPos += 1; break; case 17: c.fPos += 2; break; case 18: c.fPos += 2; break; case 19: c.oPos += 1; break; case 20: c.oPos += 1; } c.prev = ca.MOVE_TO; r = c; D.fillCommands.moveTo(r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1]); D.strokeCommands.moveTo(r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1]); break; case 21: D.windingRule = 'evenodd'; break; case 22: D.windingRule = 'nonzero'; break; default: switch (c.prev._hx_index) { case 0: c.oPos += 2; c.bPos += 2; break; case 1: c.iPos += 1; c.fPos += 1; break; case 2: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 3: c.oPos += 1; break; case 4: c.fPos += 6; break; case 5: c.fPos += 4; break; case 6: c.fPos += 3; break; case 7: c.fPos += 4; break; case 8: c.oPos += 3; break; case 9: c.fPos += 4; break; case 10: c.fPos += 5; c.oPos += 1; break; case 12: c.oPos += 4; break; case 14: c.oPos += 2; c.bPos += 2; break; case 15: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 16: c.oPos += 4; c.iPos += 1; c.fPos += 2; c.bPos += 1; break; case 17: c.fPos += 2; break; case 18: c.fPos += 2; break; case 19: c.oPos += 1; break; case 20: c.oPos += 1; } c.prev = r; } } l = !1; 0 < D.fillCommands.get_length() && D.endFill(); D.hasFill && D.context.isPointInPath(b, d, D.windingRule) && (l = !0); 0 < D.strokeCommands.get_length() && D.endStroke(); D.hasStroke && D.context.isPointInStroke(b, d) && (l = !0); c.destroy(); a.__canvas = f; a.__context = g; return l; }; D.isCCW = function (a, b, d, c, f, g) { return 0 > (d - a) * (g - b) - (c - b) * (f - a); }; D.normalizeUVT = function (a, b) { null == b && (b = !1); for (var d = -Infinity, c, f = a.get_length(), g = 1, l = f + 1; g < l; ) (c = g++), (b && 0 == c % 3) || ((c = a.get(c - 1)), d < c && (d = c)); if (!b) return { max: d, uvt: a }; var h = Ab.toFloatVector(null); g = 1; for (l = f + 1; g < l; ) (c = g++), (b && 0 == c % 3) || h.push(a.get(c - 1)); return { max: d, uvt: h }; }; D.playCommands = function (a, b) { null == b && (b = !1); D.bounds = D.graphics.__bounds; var d = D.bounds.x, c = D.bounds.y, f = 0, g = 0, l = !1, h = 0, k = 0, r = !1; D.windingRule = 'evenodd'; D.setSmoothing(!0); var n = !1, p = new Wf(a), u, m, t, x = null, v = null, w = a.types, G = 0, B = a.get_length(); a: for (; G < B; ) { var N = G++, H = w[N]; switch (H._hx_index) { case 0: switch (p.prev._hx_index) { case 0: p.oPos += 2; p.bPos += 2; break; case 1: p.iPos += 1; p.fPos += 1; break; case 2: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 3: p.oPos += 1; break; case 4: p.fPos += 6; break; case 5: p.fPos += 4; break; case 6: p.fPos += 3; break; case 7: p.fPos += 4; break; case 8: p.oPos += 3; break; case 9: p.fPos += 4; break; case 10: p.fPos += 5; p.oPos += 1; break; case 12: p.oPos += 4; break; case 14: p.oPos += 2; p.bPos += 2; break; case 15: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 16: p.oPos += 4; p.iPos += 1; p.fPos += 2; p.bPos += 1; break; case 17: p.fPos += 2; break; case 18: p.fPos += 2; break; case 19: p.oPos += 1; break; case 20: p.oPos += 1; } p.prev = ca.BEGIN_BITMAP_FILL; var z = p; D.bitmapFill = z.buffer.o[z.oPos]; D.context.fillStyle = D.createBitmapFill( z.buffer.o[z.oPos], z.buffer.b[z.bPos], z.buffer.b[z.bPos + 1] ); D.hasFill = !0; null != z.buffer.o[z.oPos + 1] ? ((D.pendingMatrix = z.buffer.o[z.oPos + 1]), (D.inversePendingMatrix = z.buffer.o[z.oPos + 1].clone()), D.inversePendingMatrix.invert()) : ((D.pendingMatrix = null), (D.inversePendingMatrix = null)); break; case 1: switch (p.prev._hx_index) { case 0: p.oPos += 2; p.bPos += 2; break; case 1: p.iPos += 1; p.fPos += 1; break; case 2: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 3: p.oPos += 1; break; case 4: p.fPos += 6; break; case 5: p.fPos += 4; break; case 6: p.fPos += 3; break; case 7: p.fPos += 4; break; case 8: p.oPos += 3; break; case 9: p.fPos += 4; break; case 10: p.fPos += 5; p.oPos += 1; break; case 12: p.oPos += 4; break; case 14: p.oPos += 2; p.bPos += 2; break; case 15: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 16: p.oPos += 4; p.iPos += 1; p.fPos += 2; p.bPos += 1; break; case 17: p.fPos += 2; break; case 18: p.fPos += 2; break; case 19: p.oPos += 1; break; case 20: p.oPos += 1; } p.prev = ca.BEGIN_FILL; var C = p; if (0.005 > C.buffer.f[C.fPos]) D.hasFill = !1; else { if (1 == C.buffer.f[C.fPos]) { var ya = T.hex(C.buffer.i[C.iPos] & 16777215, 6); D.context.fillStyle = '#' + ya; } else { var E = (C.buffer.i[C.iPos] & 16711680) >>> 16; var I = (C.buffer.i[C.iPos] & 65280) >>> 8; var F = C.buffer.i[C.iPos] & 255; D.context.fillStyle = 'rgba(' + E + ', ' + I + ', ' + F + ', ' + C.buffer.f[C.fPos] + ')'; } D.bitmapFill = null; D.setSmoothing(!0); D.hasFill = !0; } break; case 2: switch (p.prev._hx_index) { case 0: p.oPos += 2; p.bPos += 2; break; case 1: p.iPos += 1; p.fPos += 1; break; case 2: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 3: p.oPos += 1; break; case 4: p.fPos += 6; break; case 5: p.fPos += 4; break; case 6: p.fPos += 3; break; case 7: p.fPos += 4; break; case 8: p.oPos += 3; break; case 9: p.fPos += 4; break; case 10: p.fPos += 5; p.oPos += 1; break; case 12: p.oPos += 4; break; case 14: p.oPos += 2; p.bPos += 2; break; case 15: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 16: p.oPos += 4; p.iPos += 1; p.fPos += 2; p.bPos += 1; break; case 17: p.fPos += 2; break; case 18: p.fPos += 2; break; case 19: p.oPos += 1; break; case 20: p.oPos += 1; } p.prev = ca.BEGIN_GRADIENT_FILL; var J = p; D.context.fillStyle = D.createGradientPattern( J.buffer.o[J.oPos], J.buffer.ii[J.iiPos], J.buffer.ff[J.ffPos], J.buffer.ii[J.iiPos + 1], J.buffer.o[J.oPos + 1], J.buffer.o[J.oPos + 2], J.buffer.o[J.oPos + 3], J.buffer.f[J.fPos] ); D.bitmapFill = null; D.setSmoothing(!0); D.hasFill = !0; break; case 3: switch (p.prev._hx_index) { case 0: p.oPos += 2; p.bPos += 2; break; case 1: p.iPos += 1; p.fPos += 1; break; case 2: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 3: p.oPos += 1; break; case 4: p.fPos += 6; break; case 5: p.fPos += 4; break; case 6: p.fPos += 3; break; case 7: p.fPos += 4; break; case 8: p.oPos += 3; break; case 9: p.fPos += 4; break; case 10: p.fPos += 5; p.oPos += 1; break; case 12: p.oPos += 4; break; case 14: p.oPos += 2; p.bPos += 2; break; case 15: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 16: p.oPos += 4; p.iPos += 1; p.fPos += 2; p.bPos += 1; break; case 17: p.fPos += 2; break; case 18: p.fPos += 2; break; case 19: p.oPos += 1; break; case 20: p.oPos += 1; } p.prev = ca.BEGIN_SHADER_FILL; var L = p, O = L.buffer.o[L.oPos]; 0 < O.inputCount && ((D.bitmapFill = O.inputs[0]), (D.context.fillStyle = D.createBitmapFill( D.bitmapFill, 0 != O.inputWrap[0], 5 != O.inputFilter[0] )), (D.hasFill = !0), (D.pendingMatrix = null), (D.inversePendingMatrix = null)); break; case 4: switch (p.prev._hx_index) { case 0: p.oPos += 2; p.bPos += 2; break; case 1: p.iPos += 1; p.fPos += 1; break; case 2: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 3: p.oPos += 1; break; case 4: p.fPos += 6; break; case 5: p.fPos += 4; break; case 6: p.fPos += 3; break; case 7: p.fPos += 4; break; case 8: p.oPos += 3; break; case 9: p.fPos += 4; break; case 10: p.fPos += 5; p.oPos += 1; break; case 12: p.oPos += 4; break; case 14: p.oPos += 2; p.bPos += 2; break; case 15: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 16: p.oPos += 4; p.iPos += 1; p.fPos += 2; p.bPos += 1; break; case 17: p.fPos += 2; break; case 18: p.fPos += 2; break; case 19: p.oPos += 1; break; case 20: p.oPos += 1; } p.prev = ca.CUBIC_CURVE_TO; var M = p; n = !0; D.context.bezierCurveTo( M.buffer.f[M.fPos] - d, M.buffer.f[M.fPos + 1] - c, M.buffer.f[M.fPos + 2] - d, M.buffer.f[M.fPos + 3] - c, M.buffer.f[M.fPos + 4] - d, M.buffer.f[M.fPos + 5] - c ); break; case 5: switch (p.prev._hx_index) { case 0: p.oPos += 2; p.bPos += 2; break; case 1: p.iPos += 1; p.fPos += 1; break; case 2: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 3: p.oPos += 1; break; case 4: p.fPos += 6; break; case 5: p.fPos += 4; break; case 6: p.fPos += 3; break; case 7: p.fPos += 4; break; case 8: p.oPos += 3; break; case 9: p.fPos += 4; break; case 10: p.fPos += 5; p.oPos += 1; break; case 12: p.oPos += 4; break; case 14: p.oPos += 2; p.bPos += 2; break; case 15: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 16: p.oPos += 4; p.iPos += 1; p.fPos += 2; p.bPos += 1; break; case 17: p.fPos += 2; break; case 18: p.fPos += 2; break; case 19: p.oPos += 1; break; case 20: p.oPos += 1; } p.prev = ca.CURVE_TO; var A = p; n = !0; D.context.quadraticCurveTo( A.buffer.f[A.fPos] - d, A.buffer.f[A.fPos + 1] - c, A.buffer.f[A.fPos + 2] - d, A.buffer.f[A.fPos + 3] - c ); break; case 6: switch (p.prev._hx_index) { case 0: p.oPos += 2; p.bPos += 2; break; case 1: p.iPos += 1; p.fPos += 1; break; case 2: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 3: p.oPos += 1; break; case 4: p.fPos += 6; break; case 5: p.fPos += 4; break; case 6: p.fPos += 3; break; case 7: p.fPos += 4; break; case 8: p.oPos += 3; break; case 9: p.fPos += 4; break; case 10: p.fPos += 5; p.oPos += 1; break; case 12: p.oPos += 4; break; case 14: p.oPos += 2; p.bPos += 2; break; case 15: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 16: p.oPos += 4; p.iPos += 1; p.fPos += 2; p.bPos += 1; break; case 17: p.fPos += 2; break; case 18: p.fPos += 2; break; case 19: p.oPos += 1; break; case 20: p.oPos += 1; } p.prev = ca.DRAW_CIRCLE; var P = p; n = !0; D.context.moveTo( P.buffer.f[P.fPos] - d + P.buffer.f[P.fPos + 2], P.buffer.f[P.fPos + 1] - c ); D.context.arc( P.buffer.f[P.fPos] - d, P.buffer.f[P.fPos + 1] - c, P.buffer.f[P.fPos + 2], 0, 2 * Math.PI, !0 ); break; case 7: switch (p.prev._hx_index) { case 0: p.oPos += 2; p.bPos += 2; break; case 1: p.iPos += 1; p.fPos += 1; break; case 2: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 3: p.oPos += 1; break; case 4: p.fPos += 6; break; case 5: p.fPos += 4; break; case 6: p.fPos += 3; break; case 7: p.fPos += 4; break; case 8: p.oPos += 3; break; case 9: p.fPos += 4; break; case 10: p.fPos += 5; p.oPos += 1; break; case 12: p.oPos += 4; break; case 14: p.oPos += 2; p.bPos += 2; break; case 15: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 16: p.oPos += 4; p.iPos += 1; p.fPos += 2; p.bPos += 1; break; case 17: p.fPos += 2; break; case 18: p.fPos += 2; break; case 19: p.oPos += 1; break; case 20: p.oPos += 1; } p.prev = ca.DRAW_ELLIPSE; var R = p; n = !0; var Aa = R.buffer.f[R.fPos]; var S = R.buffer.f[R.fPos + 1]; var Ja = R.buffer.f[R.fPos + 2]; var W = R.buffer.f[R.fPos + 3]; Aa -= d; S -= c; var Ga = (Ja / 2) * 0.5522848; var X = (W / 2) * 0.5522848; var U = Aa + Ja; var aa = S + W; var V = Aa + Ja / 2; var K = S + W / 2; D.context.moveTo(Aa, K); D.context.bezierCurveTo(Aa, K - X, V - Ga, S, V, S); D.context.bezierCurveTo(V + Ga, S, U, K - X, U, K); D.context.bezierCurveTo(U, K + X, V + Ga, aa, V, aa); D.context.bezierCurveTo(V - Ga, aa, Aa, K + X, Aa, K); break; case 8: switch (p.prev._hx_index) { case 0: p.oPos += 2; p.bPos += 2; break; case 1: p.iPos += 1; p.fPos += 1; break; case 2: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 3: p.oPos += 1; break; case 4: p.fPos += 6; break; case 5: p.fPos += 4; break; case 6: p.fPos += 3; break; case 7: p.fPos += 4; break; case 8: p.oPos += 3; break; case 9: p.fPos += 4; break; case 10: p.fPos += 5; p.oPos += 1; break; case 12: p.oPos += 4; break; case 14: p.oPos += 2; p.bPos += 2; break; case 15: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 16: p.oPos += 4; p.iPos += 1; p.fPos += 2; p.bPos += 1; break; case 17: p.fPos += 2; break; case 18: p.fPos += 2; break; case 19: p.oPos += 1; break; case 20: p.oPos += 1; } p.prev = ca.DRAW_QUADS; var Q = p, Y = Q.buffer.o[Q.oPos], ba = Q.buffer.o[Q.oPos + 1], Z = Q.buffer.o[Q.oPos + 2], Le = null != ba, td = !1, Ba = !1, ha = Le ? ba.get_length() : Math.floor(Y.get_length() / 4); if (0 == ha) return; null != Z && (Z.get_length() >= 6 * ha ? (Ba = td = !0) : Z.get_length() >= 4 * ha ? (td = !0) : Z.get_length() >= 2 * ha && (Ba = !0)); var da = ea.__pool.get(), fa = Ia.__pool.get(), ja = D.graphics.__renderTransform; D.context.save(); for (var la = 0, ia = ha; la < ia; ) { var sb = la++; var oa = Le ? 4 * ba.get(sb) : 4 * sb; if ( !( 0 > oa || (da.setTo(Y.get(oa), Y.get(oa + 1), Y.get(oa + 2), Y.get(oa + 3)), 0 >= da.width || 0 >= da.height) ) ) { if (td && Ba) { var ka = 6 * sb; fa.setTo( Z.get(ka), Z.get(ka + 1), Z.get(ka + 2), Z.get(ka + 3), Z.get(ka + 4), Z.get(ka + 5) ); } else td ? ((ka = 4 * sb), fa.setTo( Z.get(ka), Z.get(ka + 1), Z.get(ka + 2), Z.get(ka + 3), da.x, da.y )) : Ba ? ((ka = 2 * sb), (fa.tx = Z.get(ka)), (fa.ty = Z.get(ka + 1))) : ((fa.tx = da.x), (fa.ty = da.y)); fa.tx += f - d; fa.ty += g - c; fa.concat(ja); D.context.setTransform(fa.a, fa.b, fa.c, fa.d, fa.tx, fa.ty); null != D.bitmapFill ? D.context.drawImage( D.bitmapFill.image.get_src(), da.x, da.y, da.width, da.height, 0, 0, da.width, da.height ) : D.context.fillRect(0, 0, da.width, da.height); } } ea.__pool.release(da); Ia.__pool.release(fa); D.context.restore(); break; case 9: switch (p.prev._hx_index) { case 0: p.oPos += 2; p.bPos += 2; break; case 1: p.iPos += 1; p.fPos += 1; break; case 2: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 3: p.oPos += 1; break; case 4: p.fPos += 6; break; case 5: p.fPos += 4; break; case 6: p.fPos += 3; break; case 7: p.fPos += 4; break; case 8: p.oPos += 3; break; case 9: p.fPos += 4; break; case 10: p.fPos += 5; p.oPos += 1; break; case 12: p.oPos += 4; break; case 14: p.oPos += 2; p.bPos += 2; break; case 15: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 16: p.oPos += 4; p.iPos += 1; p.fPos += 2; p.bPos += 1; break; case 17: p.fPos += 2; break; case 18: p.fPos += 2; break; case 19: p.oPos += 1; break; case 20: p.oPos += 1; } p.prev = ca.DRAW_RECT; var ma = p; var Ih = !1; if (null != D.bitmapFill && !D.hitTesting) { var pa = (t = m = u = 0); var Mg = !0; if (null != D.pendingMatrix) if (0 != D.pendingMatrix.b || 0 != D.pendingMatrix.c) Mg = !1; else { null == x && (x = na.__pool.get()); null == v && (v = na.__pool.get()); x.setTo(ma.buffer.f[ma.fPos], ma.buffer.f[ma.fPos + 1]); var ra = D.inversePendingMatrix, kd = x.x, va = x.y; x.x = kd * ra.a + va * ra.c + ra.tx; x.y = kd * ra.b + va * ra.d + ra.ty; v.setTo( ma.buffer.f[ma.fPos] + ma.buffer.f[ma.fPos + 2], ma.buffer.f[ma.fPos + 1] + ma.buffer.f[ma.fPos + 3] ); var sa = D.inversePendingMatrix, xa = v.x, La = v.y; v.x = xa * sa.a + La * sa.c + sa.tx; v.y = xa * sa.b + La * sa.d + sa.ty; u = x.y; pa = x.x; t = v.y; m = v.x; } else (u = ma.buffer.f[ma.fPos + 1]), (pa = ma.buffer.f[ma.fPos]), (t = ma.buffer.f[ma.fPos + 1] + ma.buffer.f[ma.fPos + 3]), (m = ma.buffer.f[ma.fPos] + ma.buffer.f[ma.fPos + 2]); Mg && 0 <= u && 0 <= pa && m <= D.bitmapFill.width && t <= D.bitmapFill.height && ((Ih = !0), D.hitTesting || D.context.drawImage( D.bitmapFill.image.get_src(), pa, u, m - pa, t - u, ma.buffer.f[ma.fPos] - d, ma.buffer.f[ma.fPos + 1] - c, ma.buffer.f[ma.fPos + 2], ma.buffer.f[ma.fPos + 3] )); } Ih || ((n = !0), D.context.rect( ma.buffer.f[ma.fPos] - d, ma.buffer.f[ma.fPos + 1] - c, ma.buffer.f[ma.fPos + 2], ma.buffer.f[ma.fPos + 3] )); break; case 10: switch (p.prev._hx_index) { case 0: p.oPos += 2; p.bPos += 2; break; case 1: p.iPos += 1; p.fPos += 1; break; case 2: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 3: p.oPos += 1; break; case 4: p.fPos += 6; break; case 5: p.fPos += 4; break; case 6: p.fPos += 3; break; case 7: p.fPos += 4; break; case 8: p.oPos += 3; break; case 9: p.fPos += 4; break; case 10: p.fPos += 5; p.oPos += 1; break; case 12: p.oPos += 4; break; case 14: p.oPos += 2; p.bPos += 2; break; case 15: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 16: p.oPos += 4; p.iPos += 1; p.fPos += 2; p.bPos += 1; break; case 17: p.fPos += 2; break; case 18: p.fPos += 2; break; case 19: p.oPos += 1; break; case 20: p.oPos += 1; } p.prev = ca.DRAW_ROUND_RECT; var qa = p; n = !0; D.drawRoundRect( qa.buffer.f[qa.fPos] - d, qa.buffer.f[qa.fPos + 1] - c, qa.buffer.f[qa.fPos + 2], qa.buffer.f[qa.fPos + 3], qa.buffer.f[qa.fPos + 4], qa.buffer.o[qa.oPos] ); break; case 12: switch (p.prev._hx_index) { case 0: p.oPos += 2; p.bPos += 2; break; case 1: p.iPos += 1; p.fPos += 1; break; case 2: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 3: p.oPos += 1; break; case 4: p.fPos += 6; break; case 5: p.fPos += 4; break; case 6: p.fPos += 3; break; case 7: p.fPos += 4; break; case 8: p.oPos += 3; break; case 9: p.fPos += 4; break; case 10: p.fPos += 5; p.oPos += 1; break; case 12: p.oPos += 4; break; case 14: p.oPos += 2; p.bPos += 2; break; case 15: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 16: p.oPos += 4; p.iPos += 1; p.fPos += 2; p.bPos += 1; break; case 17: p.fPos += 2; break; case 18: p.fPos += 2; break; case 19: p.oPos += 1; break; case 20: p.oPos += 1; } p.prev = ca.DRAW_TRIANGLES; var ua = p, ce = ua.buffer.o[ua.oPos], wa = ua.buffer.o[ua.oPos + 1], ta = ua.buffer.o[ua.oPos + 2], Te = null, za = null == D.bitmapFill; if (za && null != ta) break a; if (!za) { if (null == ta) { ta = Ab.toFloatVector(null); for (var Ca = 0, Da = (ce.get_length() / 2) | 0; Ca < Da; ) { var Ea = Ca++; ta.push(ce.get(2 * Ea) - d / D.bitmapFill.width); ta.push(ce.get(2 * Ea + 1) - c / D.bitmapFill.height); } } var Fa = ta.get_length() != ce.get_length(), Ka = D.normalizeUVT(ta, Fa), Ma = Ka.max; ta = Ka.uvt; Te = 1 < Ma ? D.createTempPatternCanvas( D.bitmapFill, D.bitmapRepeat, D.bounds.width | 0, D.bounds.height | 0 ) : D.createTempPatternCanvas( D.bitmapFill, D.bitmapRepeat, D.bitmapFill.width, D.bitmapFill.height ); } for ( var Ha = 0, Oa = wa.get_length(), Na, Pa, Qa, Ua, Va, Xa, Za, bb, hb, Sa, Wa, Ta, cb, Ya, $a, df, eb, ab, db, fb, gb, ib, lb, mb, nb, pb, Je, rb; Ha < Oa; ) { Na = Ha; Pa = Ha + 1; Qa = Ha + 2; Ua = 2 * wa.get(Na); Va = 2 * wa.get(Na) + 1; Xa = 2 * wa.get(Pa); Za = 2 * wa.get(Pa) + 1; bb = 2 * wa.get(Qa); hb = 2 * wa.get(Qa) + 1; Sa = ce.get(Ua) - d; Wa = ce.get(Va) - c; Ta = ce.get(Xa) - d; cb = ce.get(Za) - c; Ya = ce.get(bb) - d; $a = ce.get(hb) - c; switch (ua.buffer.o[ua.oPos + 3]) { case 0: if (0 > (Ta - Sa) * ($a - Wa) - (cb - Wa) * (Ya - Sa)) { Ha += 3; continue; } break; case 2: if (!(0 > (Ta - Sa) * ($a - Wa) - (cb - Wa) * (Ya - Sa))) { Ha += 3; continue; } } za ? (D.context.beginPath(), D.context.moveTo(Sa, Wa), D.context.lineTo(Ta, cb), D.context.lineTo(Ya, $a), D.context.closePath(), D.hitTesting || D.context.fill(D.windingRule), (Ha += 3)) : ((df = ta.get(Ua) * Te.width), (ab = ta.get(Xa) * Te.width), (fb = ta.get(bb) * Te.width), (eb = ta.get(Va) * Te.height), (db = ta.get(Za) * Te.height), (gb = ta.get(hb) * Te.height), (ib = df * (gb - db) - ab * gb + fb * db + (ab - fb) * eb), 0 == ib ? ((Ha += 3), D.context.restore()) : (D.context.save(), D.context.beginPath(), D.context.moveTo(Sa, Wa), D.context.lineTo(Ta, cb), D.context.lineTo(Ya, $a), D.context.closePath(), D.context.clip(), (lb = -(eb * (Ya - Ta) - db * Ya + gb * Ta + (db - gb) * Sa) / ib), (mb = (db * $a + eb * (cb - $a) - gb * cb + (gb - db) * Wa) / ib), (nb = (df * (Ya - Ta) - ab * Ya + fb * Ta + (ab - fb) * Sa) / ib), (pb = -(ab * $a + df * (cb - $a) - fb * cb + (fb - ab) * Wa) / ib), (Je = (df * (gb * Ta - db * Ya) + eb * (ab * Ya - fb * Ta) + (fb * db - ab * gb) * Sa) / ib), (rb = (df * (gb * cb - db * $a) + eb * (ab * $a - fb * cb) + (fb * db - ab * gb) * Wa) / ib), D.context.transform(lb, mb, nb, pb, Je, rb), D.context.drawImage(Te, 0, 0, Te.width, Te.height), D.context.restore(), (Ha += 3))); } break; case 14: switch (p.prev._hx_index) { case 0: p.oPos += 2; p.bPos += 2; break; case 1: p.iPos += 1; p.fPos += 1; break; case 2: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 3: p.oPos += 1; break; case 4: p.fPos += 6; break; case 5: p.fPos += 4; break; case 6: p.fPos += 3; break; case 7: p.fPos += 4; break; case 8: p.oPos += 3; break; case 9: p.fPos += 4; break; case 10: p.fPos += 5; p.oPos += 1; break; case 12: p.oPos += 4; break; case 14: p.oPos += 2; p.bPos += 2; break; case 15: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 16: p.oPos += 4; p.iPos += 1; p.fPos += 2; p.bPos += 1; break; case 17: p.fPos += 2; break; case 18: p.fPos += 2; break; case 19: p.oPos += 1; break; case 20: p.oPos += 1; } p.prev = ca.LINE_BITMAP_STYLE; var ob = p; b && D.hasStroke && D.closePath(); D.context.moveTo(f - d, g - c); D.context.strokeStyle = D.createBitmapFill( ob.buffer.o[ob.oPos], ob.buffer.b[ob.bPos], ob.buffer.b[ob.bPos + 1] ); D.hasStroke = !0; break; case 15: switch (p.prev._hx_index) { case 0: p.oPos += 2; p.bPos += 2; break; case 1: p.iPos += 1; p.fPos += 1; break; case 2: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 3: p.oPos += 1; break; case 4: p.fPos += 6; break; case 5: p.fPos += 4; break; case 6: p.fPos += 3; break; case 7: p.fPos += 4; break; case 8: p.oPos += 3; break; case 9: p.fPos += 4; break; case 10: p.fPos += 5; p.oPos += 1; break; case 12: p.oPos += 4; break; case 14: p.oPos += 2; p.bPos += 2; break; case 15: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 16: p.oPos += 4; p.iPos += 1; p.fPos += 2; p.bPos += 1; break; case 17: p.fPos += 2; break; case 18: p.fPos += 2; break; case 19: p.oPos += 1; break; case 20: p.oPos += 1; } p.prev = ca.LINE_GRADIENT_STYLE; var jb = p; b && D.hasStroke && D.closePath(); D.context.moveTo(f - d, g - c); D.context.strokeStyle = D.createGradientPattern( jb.buffer.o[jb.oPos], jb.buffer.ii[jb.iiPos], jb.buffer.ff[jb.ffPos], jb.buffer.ii[jb.iiPos + 1], jb.buffer.o[jb.oPos + 1], jb.buffer.o[jb.oPos + 2], jb.buffer.o[jb.oPos + 3], jb.buffer.f[jb.fPos] ); D.setSmoothing(!0); D.hasStroke = !0; break; case 16: switch (p.prev._hx_index) { case 0: p.oPos += 2; p.bPos += 2; break; case 1: p.iPos += 1; p.fPos += 1; break; case 2: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 3: p.oPos += 1; break; case 4: p.fPos += 6; break; case 5: p.fPos += 4; break; case 6: p.fPos += 3; break; case 7: p.fPos += 4; break; case 8: p.oPos += 3; break; case 9: p.fPos += 4; break; case 10: p.fPos += 5; p.oPos += 1; break; case 12: p.oPos += 4; break; case 14: p.oPos += 2; p.bPos += 2; break; case 15: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 16: p.oPos += 4; p.iPos += 1; p.fPos += 2; p.bPos += 1; break; case 17: p.fPos += 2; break; case 18: p.fPos += 2; break; case 19: p.oPos += 1; break; case 20: p.oPos += 1; } p.prev = ca.LINE_STYLE; var Ra = p; b && D.hasStroke && D.closePath(!0); D.context.moveTo(f - d, g - c); if (null == Ra.buffer.o[Ra.oPos]) D.hasStroke = !1; else { D.context.lineWidth = 0 < Ra.buffer.o[Ra.oPos] ? Ra.buffer.o[Ra.oPos] : 1; var tb = null == Ra.buffer.o[Ra.oPos + 3] ? 'round' : lz.toString(Ra.buffer.o[Ra.oPos + 3]).toLowerCase(); D.context.lineJoin = tb; var ub = null == Ra.buffer.o[Ra.oPos + 2] ? 'round' : 0 == Ra.buffer.o[Ra.oPos + 2] ? 'butt' : iz.toString(Ra.buffer.o[Ra.oPos + 2]).toLowerCase(); D.context.lineCap = ub; D.context.miterLimit = Ra.buffer.f[Ra.fPos + 1]; if (1 == Ra.buffer.f[Ra.fPos]) { var vb = T.hex(Ra.buffer.i[Ra.iPos] & 16777215, 6); D.context.strokeStyle = '#' + vb; } else (E = (Ra.buffer.i[Ra.iPos] & 16711680) >>> 16), (I = (Ra.buffer.i[Ra.iPos] & 65280) >>> 8), (F = Ra.buffer.i[Ra.iPos] & 255), (D.context.strokeStyle = 'rgba(' + E + ', ' + I + ', ' + F + ', ' + Ra.buffer.f[Ra.fPos] + ')'); D.setSmoothing(!0); D.hasStroke = !0; } break; case 17: switch (p.prev._hx_index) { case 0: p.oPos += 2; p.bPos += 2; break; case 1: p.iPos += 1; p.fPos += 1; break; case 2: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 3: p.oPos += 1; break; case 4: p.fPos += 6; break; case 5: p.fPos += 4; break; case 6: p.fPos += 3; break; case 7: p.fPos += 4; break; case 8: p.oPos += 3; break; case 9: p.fPos += 4; break; case 10: p.fPos += 5; p.oPos += 1; break; case 12: p.oPos += 4; break; case 14: p.oPos += 2; p.bPos += 2; break; case 15: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 16: p.oPos += 4; p.iPos += 1; p.fPos += 2; p.bPos += 1; break; case 17: p.fPos += 2; break; case 18: p.fPos += 2; break; case 19: p.oPos += 1; break; case 20: p.oPos += 1; } p.prev = ca.LINE_TO; var qb = p; n = !0; D.context.lineTo(qb.buffer.f[qb.fPos] - d, qb.buffer.f[qb.fPos + 1] - c); f = qb.buffer.f[qb.fPos]; g = qb.buffer.f[qb.fPos + 1]; f == h && g == k && (l = !0); break; case 18: switch (p.prev._hx_index) { case 0: p.oPos += 2; p.bPos += 2; break; case 1: p.iPos += 1; p.fPos += 1; break; case 2: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 3: p.oPos += 1; break; case 4: p.fPos += 6; break; case 5: p.fPos += 4; break; case 6: p.fPos += 3; break; case 7: p.fPos += 4; break; case 8: p.oPos += 3; break; case 9: p.fPos += 4; break; case 10: p.fPos += 5; p.oPos += 1; break; case 12: p.oPos += 4; break; case 14: p.oPos += 2; p.bPos += 2; break; case 15: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 16: p.oPos += 4; p.iPos += 1; p.fPos += 2; p.bPos += 1; break; case 17: p.fPos += 2; break; case 18: p.fPos += 2; break; case 19: p.oPos += 1; break; case 20: p.oPos += 1; } p.prev = ca.MOVE_TO; var kb = p; D.context.moveTo(kb.buffer.f[kb.fPos] - d, kb.buffer.f[kb.fPos + 1] - c); f = kb.buffer.f[kb.fPos]; g = kb.buffer.f[kb.fPos + 1]; r && kb.buffer.f[kb.fPos] != h && kb.buffer.f[kb.fPos + 1] != k && (l = !0); h = kb.buffer.f[kb.fPos]; k = kb.buffer.f[kb.fPos + 1]; r = !0; break; case 21: D.windingRule = 'evenodd'; break; case 22: D.windingRule = 'nonzero'; break; default: switch (p.prev._hx_index) { case 0: p.oPos += 2; p.bPos += 2; break; case 1: p.iPos += 1; p.fPos += 1; break; case 2: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 3: p.oPos += 1; break; case 4: p.fPos += 6; break; case 5: p.fPos += 4; break; case 6: p.fPos += 3; break; case 7: p.fPos += 4; break; case 8: p.oPos += 3; break; case 9: p.fPos += 4; break; case 10: p.fPos += 5; p.oPos += 1; break; case 12: p.oPos += 4; break; case 14: p.oPos += 2; p.bPos += 2; break; case 15: p.oPos += 4; p.iiPos += 2; p.ffPos += 1; p.fPos += 1; break; case 16: p.oPos += 4; p.iPos += 1; p.fPos += 2; p.bPos += 1; break; case 17: p.fPos += 2; break; case 18: p.fPos += 2; break; case 19: p.oPos += 1; break; case 20: p.oPos += 1; } p.prev = H; } } null != x && na.__pool.release(x); null != v && na.__pool.release(v); p.destroy(); n && (b && D.hasStroke && (D.hasFill && l ? (D.context.lineTo(h - d, k - c), D.closePath(!1)) : l && f == h && g == k && D.closePath(!1), D.hitTesting || D.context.stroke()), b || (!D.hasFill && null == D.bitmapFill) || (D.context.translate(-D.bounds.x, -D.bounds.y), null != D.pendingMatrix ? (D.context.transform( D.pendingMatrix.a, D.pendingMatrix.b, D.pendingMatrix.c, D.pendingMatrix.d, D.pendingMatrix.tx, D.pendingMatrix.ty ), D.hitTesting || D.context.fill(D.windingRule), D.context.transform( D.inversePendingMatrix.a, D.inversePendingMatrix.b, D.inversePendingMatrix.c, D.inversePendingMatrix.d, D.inversePendingMatrix.tx, D.inversePendingMatrix.ty )) : D.hitTesting || D.context.fill(D.windingRule), D.context.translate(D.bounds.x, D.bounds.y), D.context.closePath())); }; D.render = function (a, b) { a.__update(b.__worldTransform); a.__commands.__endBuffer(); if (a.__softwareDirty && a.__commands.get_dirty()) { D.hitTesting = !1; D.graphics = a; D.allowSmoothing = b.__allowSmoothing; D.worldAlpha = b.__getAlpha(a.__owner.__worldAlpha); D.bounds = a.__bounds; var d = a.__width, c = a.__height; if (!a.__visible || 0 == a.__commands.get_length() || null == D.bounds || 1 > d || 1 > c) (a.__canvas = null), (a.__context = null), (a.__bitmap = null); else { null == a.__canvas && ((a.__canvas = window.document.createElement('canvas')), (a.__context = a.__canvas.getContext('2d'))); D.context = a.__context; var f = a.__renderTransform, g = a.__canvas, l = b.pixelRatio, h = (d * l) | 0, k = (c * l) | 0; b.__setBlendModeContext(D.context, 10); b.__isDOM ? (g.width == h && g.height == k ? D.context.clearRect(0, 0, h, k) : ((g.width = h), (g.height = k), (g.style.width = d + 'px'), (g.style.height = c + 'px')), (d = a.__renderTransform), D.context.setTransform(d.a * l, d.b * l, d.c * l, d.d * l, d.tx * l, d.ty * l)) : (g.width == h && g.height == k ? (D.context.closePath(), D.context.setTransform(1, 0, 0, 1, 0, 0), D.context.clearRect(0, 0, h, k)) : ((g.width = d), (g.height = c)), D.context.setTransform(f.a, f.b, f.c, f.d, f.tx, f.ty)); D.fillCommands.clear(); D.strokeCommands.clear(); D.hasFill = !1; D.hasStroke = !1; D.bitmapFill = null; l = D.bitmapRepeat = !1; c = d = 0; D.windingRule = 'evenodd'; f = new Wf(a.__commands); g = a.__commands.types; h = 0; for (k = a.__commands.get_length(); h < k; ) { var r = h++; r = g[r]; switch (r._hx_index) { case 0: case 1: case 2: case 3: D.endFill(); D.endStroke(); if (r == ca.BEGIN_BITMAP_FILL) { switch (f.prev._hx_index) { case 0: f.oPos += 2; f.bPos += 2; break; case 1: f.iPos += 1; f.fPos += 1; break; case 2: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 3: f.oPos += 1; break; case 4: f.fPos += 6; break; case 5: f.fPos += 4; break; case 6: f.fPos += 3; break; case 7: f.fPos += 4; break; case 8: f.oPos += 3; break; case 9: f.fPos += 4; break; case 10: f.fPos += 5; f.oPos += 1; break; case 12: f.oPos += 4; break; case 14: f.oPos += 2; f.bPos += 2; break; case 15: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 16: f.oPos += 4; f.iPos += 1; f.fPos += 2; f.bPos += 1; break; case 17: f.fPos += 2; break; case 18: f.fPos += 2; break; case 19: f.oPos += 1; break; case 20: f.oPos += 1; } f.prev = ca.BEGIN_BITMAP_FILL; r = f; D.fillCommands.beginBitmapFill( r.buffer.o[r.oPos], r.buffer.o[r.oPos + 1], r.buffer.b[r.bPos], r.buffer.b[r.bPos + 1] ); D.strokeCommands.beginBitmapFill( r.buffer.o[r.oPos], r.buffer.o[r.oPos + 1], r.buffer.b[r.bPos], r.buffer.b[r.bPos + 1] ); } else if (r == ca.BEGIN_GRADIENT_FILL) { switch (f.prev._hx_index) { case 0: f.oPos += 2; f.bPos += 2; break; case 1: f.iPos += 1; f.fPos += 1; break; case 2: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 3: f.oPos += 1; break; case 4: f.fPos += 6; break; case 5: f.fPos += 4; break; case 6: f.fPos += 3; break; case 7: f.fPos += 4; break; case 8: f.oPos += 3; break; case 9: f.fPos += 4; break; case 10: f.fPos += 5; f.oPos += 1; break; case 12: f.oPos += 4; break; case 14: f.oPos += 2; f.bPos += 2; break; case 15: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 16: f.oPos += 4; f.iPos += 1; f.fPos += 2; f.bPos += 1; break; case 17: f.fPos += 2; break; case 18: f.fPos += 2; break; case 19: f.oPos += 1; break; case 20: f.oPos += 1; } f.prev = ca.BEGIN_GRADIENT_FILL; r = f; D.fillCommands.beginGradientFill( r.buffer.o[r.oPos], r.buffer.ii[r.iiPos], r.buffer.ff[r.ffPos], r.buffer.ii[r.iiPos + 1], r.buffer.o[r.oPos + 1], r.buffer.o[r.oPos + 2], r.buffer.o[r.oPos + 3], r.buffer.f[r.fPos] ); D.strokeCommands.beginGradientFill( r.buffer.o[r.oPos], r.buffer.ii[r.iiPos], r.buffer.ff[r.ffPos], r.buffer.ii[r.iiPos + 1], r.buffer.o[r.oPos + 1], r.buffer.o[r.oPos + 2], r.buffer.o[r.oPos + 3], r.buffer.f[r.fPos] ); } else if (r == ca.BEGIN_SHADER_FILL) { switch (f.prev._hx_index) { case 0: f.oPos += 2; f.bPos += 2; break; case 1: f.iPos += 1; f.fPos += 1; break; case 2: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 3: f.oPos += 1; break; case 4: f.fPos += 6; break; case 5: f.fPos += 4; break; case 6: f.fPos += 3; break; case 7: f.fPos += 4; break; case 8: f.oPos += 3; break; case 9: f.fPos += 4; break; case 10: f.fPos += 5; f.oPos += 1; break; case 12: f.oPos += 4; break; case 14: f.oPos += 2; f.bPos += 2; break; case 15: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 16: f.oPos += 4; f.iPos += 1; f.fPos += 2; f.bPos += 1; break; case 17: f.fPos += 2; break; case 18: f.fPos += 2; break; case 19: f.oPos += 1; break; case 20: f.oPos += 1; } f.prev = ca.BEGIN_SHADER_FILL; r = f; D.fillCommands.beginShaderFill(r.buffer.o[r.oPos]); D.strokeCommands.beginShaderFill(r.buffer.o[r.oPos]); } else { switch (f.prev._hx_index) { case 0: f.oPos += 2; f.bPos += 2; break; case 1: f.iPos += 1; f.fPos += 1; break; case 2: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 3: f.oPos += 1; break; case 4: f.fPos += 6; break; case 5: f.fPos += 4; break; case 6: f.fPos += 3; break; case 7: f.fPos += 4; break; case 8: f.oPos += 3; break; case 9: f.fPos += 4; break; case 10: f.fPos += 5; f.oPos += 1; break; case 12: f.oPos += 4; break; case 14: f.oPos += 2; f.bPos += 2; break; case 15: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 16: f.oPos += 4; f.iPos += 1; f.fPos += 2; f.bPos += 1; break; case 17: f.fPos += 2; break; case 18: f.fPos += 2; break; case 19: f.oPos += 1; break; case 20: f.oPos += 1; } f.prev = ca.BEGIN_FILL; r = f; D.fillCommands.beginFill(r.buffer.i[r.iPos], r.buffer.f[r.fPos]); D.strokeCommands.beginFill(r.buffer.i[r.iPos], r.buffer.f[r.fPos]); } break; case 4: switch (f.prev._hx_index) { case 0: f.oPos += 2; f.bPos += 2; break; case 1: f.iPos += 1; f.fPos += 1; break; case 2: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 3: f.oPos += 1; break; case 4: f.fPos += 6; break; case 5: f.fPos += 4; break; case 6: f.fPos += 3; break; case 7: f.fPos += 4; break; case 8: f.oPos += 3; break; case 9: f.fPos += 4; break; case 10: f.fPos += 5; f.oPos += 1; break; case 12: f.oPos += 4; break; case 14: f.oPos += 2; f.bPos += 2; break; case 15: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 16: f.oPos += 4; f.iPos += 1; f.fPos += 2; f.bPos += 1; break; case 17: f.fPos += 2; break; case 18: f.fPos += 2; break; case 19: f.oPos += 1; break; case 20: f.oPos += 1; } f.prev = ca.CUBIC_CURVE_TO; r = f; D.fillCommands.cubicCurveTo( r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1], r.buffer.f[r.fPos + 2], r.buffer.f[r.fPos + 3], r.buffer.f[r.fPos + 4], r.buffer.f[r.fPos + 5] ); l ? D.strokeCommands.cubicCurveTo( r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1], r.buffer.f[r.fPos + 2], r.buffer.f[r.fPos + 3], r.buffer.f[r.fPos + 4], r.buffer.f[r.fPos + 5] ) : ((d = r.buffer.f[r.fPos + 4]), (c = r.buffer.f[r.fPos + 5])); break; case 5: switch (f.prev._hx_index) { case 0: f.oPos += 2; f.bPos += 2; break; case 1: f.iPos += 1; f.fPos += 1; break; case 2: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 3: f.oPos += 1; break; case 4: f.fPos += 6; break; case 5: f.fPos += 4; break; case 6: f.fPos += 3; break; case 7: f.fPos += 4; break; case 8: f.oPos += 3; break; case 9: f.fPos += 4; break; case 10: f.fPos += 5; f.oPos += 1; break; case 12: f.oPos += 4; break; case 14: f.oPos += 2; f.bPos += 2; break; case 15: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 16: f.oPos += 4; f.iPos += 1; f.fPos += 2; f.bPos += 1; break; case 17: f.fPos += 2; break; case 18: f.fPos += 2; break; case 19: f.oPos += 1; break; case 20: f.oPos += 1; } f.prev = ca.CURVE_TO; r = f; D.fillCommands.curveTo( r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1], r.buffer.f[r.fPos + 2], r.buffer.f[r.fPos + 3] ); l ? D.strokeCommands.curveTo( r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1], r.buffer.f[r.fPos + 2], r.buffer.f[r.fPos + 3] ) : ((d = r.buffer.f[r.fPos + 2]), (c = r.buffer.f[r.fPos + 3])); break; case 6: switch (f.prev._hx_index) { case 0: f.oPos += 2; f.bPos += 2; break; case 1: f.iPos += 1; f.fPos += 1; break; case 2: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 3: f.oPos += 1; break; case 4: f.fPos += 6; break; case 5: f.fPos += 4; break; case 6: f.fPos += 3; break; case 7: f.fPos += 4; break; case 8: f.oPos += 3; break; case 9: f.fPos += 4; break; case 10: f.fPos += 5; f.oPos += 1; break; case 12: f.oPos += 4; break; case 14: f.oPos += 2; f.bPos += 2; break; case 15: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 16: f.oPos += 4; f.iPos += 1; f.fPos += 2; f.bPos += 1; break; case 17: f.fPos += 2; break; case 18: f.fPos += 2; break; case 19: f.oPos += 1; break; case 20: f.oPos += 1; } f.prev = ca.DRAW_CIRCLE; r = f; D.fillCommands.drawCircle( r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1], r.buffer.f[r.fPos + 2] ); l && D.strokeCommands.drawCircle( r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1], r.buffer.f[r.fPos + 2] ); break; case 7: switch (f.prev._hx_index) { case 0: f.oPos += 2; f.bPos += 2; break; case 1: f.iPos += 1; f.fPos += 1; break; case 2: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 3: f.oPos += 1; break; case 4: f.fPos += 6; break; case 5: f.fPos += 4; break; case 6: f.fPos += 3; break; case 7: f.fPos += 4; break; case 8: f.oPos += 3; break; case 9: f.fPos += 4; break; case 10: f.fPos += 5; f.oPos += 1; break; case 12: f.oPos += 4; break; case 14: f.oPos += 2; f.bPos += 2; break; case 15: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 16: f.oPos += 4; f.iPos += 1; f.fPos += 2; f.bPos += 1; break; case 17: f.fPos += 2; break; case 18: f.fPos += 2; break; case 19: f.oPos += 1; break; case 20: f.oPos += 1; } f.prev = ca.DRAW_ELLIPSE; r = f; D.fillCommands.drawEllipse( r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1], r.buffer.f[r.fPos + 2], r.buffer.f[r.fPos + 3] ); l && D.strokeCommands.drawEllipse( r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1], r.buffer.f[r.fPos + 2], r.buffer.f[r.fPos + 3] ); break; case 8: switch (f.prev._hx_index) { case 0: f.oPos += 2; f.bPos += 2; break; case 1: f.iPos += 1; f.fPos += 1; break; case 2: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 3: f.oPos += 1; break; case 4: f.fPos += 6; break; case 5: f.fPos += 4; break; case 6: f.fPos += 3; break; case 7: f.fPos += 4; break; case 8: f.oPos += 3; break; case 9: f.fPos += 4; break; case 10: f.fPos += 5; f.oPos += 1; break; case 12: f.oPos += 4; break; case 14: f.oPos += 2; f.bPos += 2; break; case 15: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 16: f.oPos += 4; f.iPos += 1; f.fPos += 2; f.bPos += 1; break; case 17: f.fPos += 2; break; case 18: f.fPos += 2; break; case 19: f.oPos += 1; break; case 20: f.oPos += 1; } f.prev = ca.DRAW_QUADS; r = f; D.fillCommands.drawQuads( r.buffer.o[r.oPos], r.buffer.o[r.oPos + 1], r.buffer.o[r.oPos + 2] ); break; case 9: switch (f.prev._hx_index) { case 0: f.oPos += 2; f.bPos += 2; break; case 1: f.iPos += 1; f.fPos += 1; break; case 2: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 3: f.oPos += 1; break; case 4: f.fPos += 6; break; case 5: f.fPos += 4; break; case 6: f.fPos += 3; break; case 7: f.fPos += 4; break; case 8: f.oPos += 3; break; case 9: f.fPos += 4; break; case 10: f.fPos += 5; f.oPos += 1; break; case 12: f.oPos += 4; break; case 14: f.oPos += 2; f.bPos += 2; break; case 15: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 16: f.oPos += 4; f.iPos += 1; f.fPos += 2; f.bPos += 1; break; case 17: f.fPos += 2; break; case 18: f.fPos += 2; break; case 19: f.oPos += 1; break; case 20: f.oPos += 1; } f.prev = ca.DRAW_RECT; r = f; D.fillCommands.drawRect( r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1], r.buffer.f[r.fPos + 2], r.buffer.f[r.fPos + 3] ); l && D.strokeCommands.drawRect( r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1], r.buffer.f[r.fPos + 2], r.buffer.f[r.fPos + 3] ); break; case 10: switch (f.prev._hx_index) { case 0: f.oPos += 2; f.bPos += 2; break; case 1: f.iPos += 1; f.fPos += 1; break; case 2: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 3: f.oPos += 1; break; case 4: f.fPos += 6; break; case 5: f.fPos += 4; break; case 6: f.fPos += 3; break; case 7: f.fPos += 4; break; case 8: f.oPos += 3; break; case 9: f.fPos += 4; break; case 10: f.fPos += 5; f.oPos += 1; break; case 12: f.oPos += 4; break; case 14: f.oPos += 2; f.bPos += 2; break; case 15: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 16: f.oPos += 4; f.iPos += 1; f.fPos += 2; f.bPos += 1; break; case 17: f.fPos += 2; break; case 18: f.fPos += 2; break; case 19: f.oPos += 1; break; case 20: f.oPos += 1; } f.prev = ca.DRAW_ROUND_RECT; r = f; D.fillCommands.drawRoundRect( r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1], r.buffer.f[r.fPos + 2], r.buffer.f[r.fPos + 3], r.buffer.f[r.fPos + 4], r.buffer.o[r.oPos] ); l && D.strokeCommands.drawRoundRect( r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1], r.buffer.f[r.fPos + 2], r.buffer.f[r.fPos + 3], r.buffer.f[r.fPos + 4], r.buffer.o[r.oPos] ); break; case 12: switch (f.prev._hx_index) { case 0: f.oPos += 2; f.bPos += 2; break; case 1: f.iPos += 1; f.fPos += 1; break; case 2: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 3: f.oPos += 1; break; case 4: f.fPos += 6; break; case 5: f.fPos += 4; break; case 6: f.fPos += 3; break; case 7: f.fPos += 4; break; case 8: f.oPos += 3; break; case 9: f.fPos += 4; break; case 10: f.fPos += 5; f.oPos += 1; break; case 12: f.oPos += 4; break; case 14: f.oPos += 2; f.bPos += 2; break; case 15: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 16: f.oPos += 4; f.iPos += 1; f.fPos += 2; f.bPos += 1; break; case 17: f.fPos += 2; break; case 18: f.fPos += 2; break; case 19: f.oPos += 1; break; case 20: f.oPos += 1; } f.prev = ca.DRAW_TRIANGLES; r = f; D.fillCommands.drawTriangles( r.buffer.o[r.oPos], r.buffer.o[r.oPos + 1], r.buffer.o[r.oPos + 2], r.buffer.o[r.oPos + 3] ); break; case 13: switch (f.prev._hx_index) { case 0: f.oPos += 2; f.bPos += 2; break; case 1: f.iPos += 1; f.fPos += 1; break; case 2: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 3: f.oPos += 1; break; case 4: f.fPos += 6; break; case 5: f.fPos += 4; break; case 6: f.fPos += 3; break; case 7: f.fPos += 4; break; case 8: f.oPos += 3; break; case 9: f.fPos += 4; break; case 10: f.fPos += 5; f.oPos += 1; break; case 12: f.oPos += 4; break; case 14: f.oPos += 2; f.bPos += 2; break; case 15: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 16: f.oPos += 4; f.iPos += 1; f.fPos += 2; f.bPos += 1; break; case 17: f.fPos += 2; break; case 18: f.fPos += 2; break; case 19: f.oPos += 1; break; case 20: f.oPos += 1; } f.prev = ca.END_FILL; D.endFill(); D.endStroke(); l = D.hasFill = !1; D.bitmapFill = null; c = d = 0; break; case 14: switch (f.prev._hx_index) { case 0: f.oPos += 2; f.bPos += 2; break; case 1: f.iPos += 1; f.fPos += 1; break; case 2: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 3: f.oPos += 1; break; case 4: f.fPos += 6; break; case 5: f.fPos += 4; break; case 6: f.fPos += 3; break; case 7: f.fPos += 4; break; case 8: f.oPos += 3; break; case 9: f.fPos += 4; break; case 10: f.fPos += 5; f.oPos += 1; break; case 12: f.oPos += 4; break; case 14: f.oPos += 2; f.bPos += 2; break; case 15: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 16: f.oPos += 4; f.iPos += 1; f.fPos += 2; f.bPos += 1; break; case 17: f.fPos += 2; break; case 18: f.fPos += 2; break; case 19: f.oPos += 1; break; case 20: f.oPos += 1; } f.prev = ca.LINE_BITMAP_STYLE; r = f; l || (0 == d && 0 == c) || (D.strokeCommands.moveTo(d, c), (c = d = 0)); l = !0; D.strokeCommands.lineBitmapStyle( r.buffer.o[r.oPos], r.buffer.o[r.oPos + 1], r.buffer.b[r.bPos], r.buffer.b[r.bPos + 1] ); break; case 15: switch (f.prev._hx_index) { case 0: f.oPos += 2; f.bPos += 2; break; case 1: f.iPos += 1; f.fPos += 1; break; case 2: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 3: f.oPos += 1; break; case 4: f.fPos += 6; break; case 5: f.fPos += 4; break; case 6: f.fPos += 3; break; case 7: f.fPos += 4; break; case 8: f.oPos += 3; break; case 9: f.fPos += 4; break; case 10: f.fPos += 5; f.oPos += 1; break; case 12: f.oPos += 4; break; case 14: f.oPos += 2; f.bPos += 2; break; case 15: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 16: f.oPos += 4; f.iPos += 1; f.fPos += 2; f.bPos += 1; break; case 17: f.fPos += 2; break; case 18: f.fPos += 2; break; case 19: f.oPos += 1; break; case 20: f.oPos += 1; } f.prev = ca.LINE_GRADIENT_STYLE; r = f; l || (0 == d && 0 == c) || (D.strokeCommands.moveTo(d, c), (c = d = 0)); l = !0; D.strokeCommands.lineGradientStyle( r.buffer.o[r.oPos], r.buffer.ii[r.iiPos], r.buffer.ff[r.ffPos], r.buffer.ii[r.iiPos + 1], r.buffer.o[r.oPos + 1], r.buffer.o[r.oPos + 2], r.buffer.o[r.oPos + 3], r.buffer.f[r.fPos] ); break; case 16: switch (f.prev._hx_index) { case 0: f.oPos += 2; f.bPos += 2; break; case 1: f.iPos += 1; f.fPos += 1; break; case 2: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 3: f.oPos += 1; break; case 4: f.fPos += 6; break; case 5: f.fPos += 4; break; case 6: f.fPos += 3; break; case 7: f.fPos += 4; break; case 8: f.oPos += 3; break; case 9: f.fPos += 4; break; case 10: f.fPos += 5; f.oPos += 1; break; case 12: f.oPos += 4; break; case 14: f.oPos += 2; f.bPos += 2; break; case 15: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 16: f.oPos += 4; f.iPos += 1; f.fPos += 2; f.bPos += 1; break; case 17: f.fPos += 2; break; case 18: f.fPos += 2; break; case 19: f.oPos += 1; break; case 20: f.oPos += 1; } f.prev = ca.LINE_STYLE; r = f; l || null == r.buffer.o[r.oPos] || (0 == d && 0 == c) || (D.strokeCommands.moveTo(d, c), (c = d = 0)); l = null != r.buffer.o[r.oPos]; D.strokeCommands.lineStyle( r.buffer.o[r.oPos], r.buffer.i[r.iPos], r.buffer.f[r.fPos], r.buffer.b[r.bPos], r.buffer.o[r.oPos + 1], r.buffer.o[r.oPos + 2], r.buffer.o[r.oPos + 3], r.buffer.f[r.fPos + 1] ); break; case 17: switch (f.prev._hx_index) { case 0: f.oPos += 2; f.bPos += 2; break; case 1: f.iPos += 1; f.fPos += 1; break; case 2: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 3: f.oPos += 1; break; case 4: f.fPos += 6; break; case 5: f.fPos += 4; break; case 6: f.fPos += 3; break; case 7: f.fPos += 4; break; case 8: f.oPos += 3; break; case 9: f.fPos += 4; break; case 10: f.fPos += 5; f.oPos += 1; break; case 12: f.oPos += 4; break; case 14: f.oPos += 2; f.bPos += 2; break; case 15: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 16: f.oPos += 4; f.iPos += 1; f.fPos += 2; f.bPos += 1; break; case 17: f.fPos += 2; break; case 18: f.fPos += 2; break; case 19: f.oPos += 1; break; case 20: f.oPos += 1; } f.prev = ca.LINE_TO; r = f; D.fillCommands.lineTo(r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1]); l ? D.strokeCommands.lineTo(r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1]) : ((d = r.buffer.f[r.fPos]), (c = r.buffer.f[r.fPos + 1])); break; case 18: switch (f.prev._hx_index) { case 0: f.oPos += 2; f.bPos += 2; break; case 1: f.iPos += 1; f.fPos += 1; break; case 2: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 3: f.oPos += 1; break; case 4: f.fPos += 6; break; case 5: f.fPos += 4; break; case 6: f.fPos += 3; break; case 7: f.fPos += 4; break; case 8: f.oPos += 3; break; case 9: f.fPos += 4; break; case 10: f.fPos += 5; f.oPos += 1; break; case 12: f.oPos += 4; break; case 14: f.oPos += 2; f.bPos += 2; break; case 15: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 16: f.oPos += 4; f.iPos += 1; f.fPos += 2; f.bPos += 1; break; case 17: f.fPos += 2; break; case 18: f.fPos += 2; break; case 19: f.oPos += 1; break; case 20: f.oPos += 1; } f.prev = ca.MOVE_TO; r = f; D.fillCommands.moveTo(r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1]); l ? D.strokeCommands.moveTo(r.buffer.f[r.fPos], r.buffer.f[r.fPos + 1]) : ((d = r.buffer.f[r.fPos]), (c = r.buffer.f[r.fPos + 1])); break; case 19: switch (f.prev._hx_index) { case 0: f.oPos += 2; f.bPos += 2; break; case 1: f.iPos += 1; f.fPos += 1; break; case 2: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 3: f.oPos += 1; break; case 4: f.fPos += 6; break; case 5: f.fPos += 4; break; case 6: f.fPos += 3; break; case 7: f.fPos += 4; break; case 8: f.oPos += 3; break; case 9: f.fPos += 4; break; case 10: f.fPos += 5; f.oPos += 1; break; case 12: f.oPos += 4; break; case 14: f.oPos += 2; f.bPos += 2; break; case 15: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 16: f.oPos += 4; f.iPos += 1; f.fPos += 2; f.bPos += 1; break; case 17: f.fPos += 2; break; case 18: f.fPos += 2; break; case 19: f.oPos += 1; break; case 20: f.oPos += 1; } f.prev = ca.OVERRIDE_BLEND_MODE; r = f; b.__setBlendModeContext(D.context, r.buffer.o[r.oPos]); break; case 21: switch (f.prev._hx_index) { case 0: f.oPos += 2; f.bPos += 2; break; case 1: f.iPos += 1; f.fPos += 1; break; case 2: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 3: f.oPos += 1; break; case 4: f.fPos += 6; break; case 5: f.fPos += 4; break; case 6: f.fPos += 3; break; case 7: f.fPos += 4; break; case 8: f.oPos += 3; break; case 9: f.fPos += 4; break; case 10: f.fPos += 5; f.oPos += 1; break; case 12: f.oPos += 4; break; case 14: f.oPos += 2; f.bPos += 2; break; case 15: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 16: f.oPos += 4; f.iPos += 1; f.fPos += 2; f.bPos += 1; break; case 17: f.fPos += 2; break; case 18: f.fPos += 2; break; case 19: f.oPos += 1; break; case 20: f.oPos += 1; } f.prev = ca.WINDING_EVEN_ODD; D.fillCommands.windingEvenOdd(); D.windingRule = 'evenodd'; break; case 22: switch (f.prev._hx_index) { case 0: f.oPos += 2; f.bPos += 2; break; case 1: f.iPos += 1; f.fPos += 1; break; case 2: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 3: f.oPos += 1; break; case 4: f.fPos += 6; break; case 5: f.fPos += 4; break; case 6: f.fPos += 3; break; case 7: f.fPos += 4; break; case 8: f.oPos += 3; break; case 9: f.fPos += 4; break; case 10: f.fPos += 5; f.oPos += 1; break; case 12: f.oPos += 4; break; case 14: f.oPos += 2; f.bPos += 2; break; case 15: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 16: f.oPos += 4; f.iPos += 1; f.fPos += 2; f.bPos += 1; break; case 17: f.fPos += 2; break; case 18: f.fPos += 2; break; case 19: f.oPos += 1; break; case 20: f.oPos += 1; } f.prev = ca.WINDING_NON_ZERO; D.fillCommands.windingNonZero(); D.windingRule = 'nonzero'; break; default: switch (f.prev._hx_index) { case 0: f.oPos += 2; f.bPos += 2; break; case 1: f.iPos += 1; f.fPos += 1; break; case 2: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 3: f.oPos += 1; break; case 4: f.fPos += 6; break; case 5: f.fPos += 4; break; case 6: f.fPos += 3; break; case 7: f.fPos += 4; break; case 8: f.oPos += 3; break; case 9: f.fPos += 4; break; case 10: f.fPos += 5; f.oPos += 1; break; case 12: f.oPos += 4; break; case 14: f.oPos += 2; f.bPos += 2; break; case 15: f.oPos += 4; f.iiPos += 2; f.ffPos += 1; f.fPos += 1; break; case 16: f.oPos += 4; f.iPos += 1; f.fPos += 2; f.bPos += 1; break; case 17: f.fPos += 2; break; case 18: f.fPos += 2; break; case 19: f.oPos += 1; break; case 20: f.oPos += 1; } f.prev = r; } } 0 < D.fillCommands.get_length() && D.endFill(); 0 < D.strokeCommands.get_length() && D.endStroke(); f.destroy(); a.__bitmap = la.fromCanvas(a.__canvas); } a.__softwareDirty = !1; a.set___dirty(!1); } }; D.renderMask = function (a, b) { if (0 != a.__commands.get_length()) { D.context = b.context; b = new Wf(a.__commands); var d = a.__commands.types, c = 0; for (a = a.__commands.get_length(); c < a; ) { var f = c++; f = d[f]; switch (f._hx_index) { case 4: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.CUBIC_CURVE_TO; f = b; D.context.bezierCurveTo( f.buffer.f[f.fPos] - 0, f.buffer.f[f.fPos + 1] - 0, f.buffer.f[f.fPos + 2] - 0, f.buffer.f[f.fPos + 3] - 0, f.buffer.f[f.fPos + 4] - 0, f.buffer.f[f.fPos + 5] - 0 ); break; case 5: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.CURVE_TO; f = b; D.context.quadraticCurveTo( f.buffer.f[f.fPos] - 0, f.buffer.f[f.fPos + 1] - 0, f.buffer.f[f.fPos + 2] - 0, f.buffer.f[f.fPos + 3] - 0 ); break; case 6: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.DRAW_CIRCLE; f = b; D.context.arc( f.buffer.f[f.fPos] - 0, f.buffer.f[f.fPos + 1] - 0, f.buffer.f[f.fPos + 2], 0, 2 * Math.PI, !0 ); break; case 7: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.DRAW_ELLIPSE; var g = b; f = g.buffer.f[g.fPos]; var l = g.buffer.f[g.fPos + 1]; var h = g.buffer.f[g.fPos + 2]; var k = g.buffer.f[g.fPos + 3]; f -= 0; l -= 0; g = (h / 2) * 0.5522848; var r = (k / 2) * 0.5522848; var n = f + h; var p = l + k; h = f + h / 2; k = l + k / 2; D.context.moveTo(f, k); D.context.bezierCurveTo(f, k - r, h - g, l, h, l); D.context.bezierCurveTo(h + g, l, n, k - r, n, k); D.context.bezierCurveTo(n, k + r, h + g, p, h, p); D.context.bezierCurveTo(h - g, p, f, k + r, f, k); break; case 9: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.DRAW_RECT; f = b; D.context.beginPath(); D.context.rect( f.buffer.f[f.fPos] - 0, f.buffer.f[f.fPos + 1] - 0, f.buffer.f[f.fPos + 2], f.buffer.f[f.fPos + 3] ); D.context.closePath(); break; case 10: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.DRAW_ROUND_RECT; f = b; D.drawRoundRect( f.buffer.f[f.fPos] - 0, f.buffer.f[f.fPos + 1] - 0, f.buffer.f[f.fPos + 2], f.buffer.f[f.fPos + 3], f.buffer.f[f.fPos + 4], f.buffer.o[f.oPos] ); break; case 17: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.LINE_TO; f = b; D.context.lineTo(f.buffer.f[f.fPos] - 0, f.buffer.f[f.fPos + 1] - 0); break; case 18: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = ca.MOVE_TO; f = b; D.context.moveTo(f.buffer.f[f.fPos] - 0, f.buffer.f[f.fPos + 1] - 0); break; default: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = f; } } b.destroy(); } }; D.setSmoothing = function (a) { D.allowSmoothing || (a = !1); D.context.imageSmoothingEnabled != a && (D.context.imageSmoothingEnabled = a); }; var qz = function () {}; k['openfl.display._internal.CanvasShape'] = qz; qz.__name__ = 'openfl.display._internal.CanvasShape'; qz.render = function (a, b) { if (a.__renderable) { var d = b.__getAlpha(a.__worldAlpha); if (!(0 >= d)) { var c = a.__graphics; if (null != c) { D.render(c, b); var f = c.__width, g = c.__height, l = c.__canvas; if (null != l && c.__visible && 1 <= f && 1 <= g) { var h = c.__worldTransform, k = b.context, r = a.__scrollRect, n = a.__worldScale9Grid; if (null == r || (0 < r.width && 0 < r.height)) { b.__setBlendMode(a.__worldBlendMode); b.__pushMaskObject(a); k.globalAlpha = d; if (null != n && 0 == h.b && 0 == h.c) { k.setTransform(1, 0, 0, 1, h.tx, h.ty); var p = c.__bounds, u = c.__renderTransform.a, m = c.__renderTransform.d, t = h.a, x = h.d; h = Math.max(1, Math.round(n.x * u)); c = Math.round(n.y * m); d = Math.max(1, Math.round((p.get_right() - n.get_right()) * u)); r = Math.round((p.get_bottom() - n.get_bottom()) * m); u = Math.round(n.width * u); m = Math.round(n.height * m); var v = Math.round(n.x * t), w = Math.round(n.y * x), G = Math.round((p.get_right() - n.get_right()) * t); n = Math.round((p.get_bottom() - n.get_bottom()) * x); p = Math.round(f * t) - v - G; t = Math.round(g * x) - w - n; b.applySmoothing(k, !1); 0 != u && 0 != m ? (k.drawImage(l, 0, 0, h, c, 0, 0, v, w), k.drawImage(l, h, 0, u, c, v, 0, p, w), k.drawImage(l, h + u, 0, d, c, v + p, 0, G, w), k.drawImage(l, 0, c, h, m, 0, w, v, t), k.drawImage(l, h, c, u, m, v, w, p, t), k.drawImage(l, h + u, c, d, m, v + p, w, G, t), k.drawImage(l, 0, c + m, h, r, 0, w + t, v, n), k.drawImage(l, h, c + m, u, r, v, w + t, p, n), k.drawImage(l, h + u, c + m, d, r, v + p, w + t, G, n)) : 0 == u && 0 != m ? ((g = v + p + G), k.drawImage(l, 0, 0, f, c, 0, 0, g, w), k.drawImage(l, 0, c, f, m, 0, w, g, t), k.drawImage(l, 0, c + m, f, r, 0, w + t, g, n)) : 0 == m && 0 != u && ((f = w + t + n), k.drawImage(l, 0, 0, h, g, 0, 0, v, f), k.drawImage(l, h, 0, u, g, v, 0, p, f), k.drawImage(l, h + u, 0, d, g, v + p, 0, G, f)); } else b.setTransform(h, k), b.__isDOM && ((n = 1 / b.pixelRatio), k.scale(n, n)), k.drawImage(l, 0, 0, f, g); b.__popMaskObject(a); } } } } } }; var Em = function () {}; k['openfl.display._internal.CanvasSimpleButton'] = Em; Em.__name__ = 'openfl.display._internal.CanvasSimpleButton'; Em.renderDrawable = function (a, b) { !a.__renderable || 0 >= a.__worldAlpha || null == a.__currentState || (b.__pushMaskObject(a), b.__renderDrawable(a.__currentState), b.__popMaskObject(a), b.__renderEvent(a)); }; Em.renderDrawableMask = function (a, b) { b.__renderDrawableMask(a.__currentState); }; var U = function () {}; k['openfl.display._internal.CanvasTextField'] = U; U.__name__ = 'openfl.display._internal.CanvasTextField'; U.render = function (a, b, c) { var d = a.__textEngine, f = !(d.background || d.border), g = f ? d.textBounds : d.bounds, l = a.__graphics, h = 0; if (a.__dirty) { a.__updateLayout(); null == l.__bounds && (l.__bounds = new ea()); if (0 == a.get_text().length) { h = d.bounds.width - 4; c = a.get_defaultTextFormat().align; h = 3 == c ? 0 : 4 == c ? h : h / 2; switch (c) { case 0: h += a.get_defaultTextFormat().leftMargin / 2; h -= a.get_defaultTextFormat().rightMargin / 2; h += a.get_defaultTextFormat().indent / 2; h += a.get_defaultTextFormat().blockIndent / 2; break; case 2: h += a.get_defaultTextFormat().leftMargin; h += a.get_defaultTextFormat().indent; h += a.get_defaultTextFormat().blockIndent; break; case 3: h += a.get_defaultTextFormat().leftMargin; h += a.get_defaultTextFormat().indent; h += a.get_defaultTextFormat().blockIndent; break; case 4: h -= a.get_defaultTextFormat().rightMargin; } f && ((g.y = d.bounds.y), (g.x = h)); } l.__bounds.copyFrom(g); } l.__update(b.__worldTransform); if (a.__dirty || l.__softwareDirty) { var k = l.__width, r = l.__height; if ( !( (null != d.text && '' != d.text) || d.background || d.border || d.__hasFocus || (1 == d.type && d.selectable) ) || ((0 >= d.width || 0 >= d.height) && 2 != d.autoSize) ) (a.__graphics.__canvas = null), (a.__graphics.__context = null), (a.__graphics.__bitmap = null), (a.__graphics.__softwareDirty = !1), a.__graphics.set___dirty(!1), (a.__dirty = !1); else { null == a.__graphics.__canvas && ((a.__graphics.__canvas = window.document.createElement('canvas')), (a.__graphics.__context = a.__graphics.__canvas.getContext('2d'))); U.context = l.__context; c = l.__renderTransform; if (b.__isDOM) { var n = b.pixelRatio; l.__canvas.width = (k * n) | 0; l.__canvas.height = (r * n) | 0; l.__canvas.style.width = k + 'px'; l.__canvas.style.height = r + 'px'; k = Ia.__pool.get(); k.copyFrom(c); k.scale(n, n); b.setTransform(k, U.context); Ia.__pool.release(k); } else (l.__canvas.width = k), (l.__canvas.height = r), U.context.setTransform(c.a, c.b, c.c, c.d, c.tx, c.ty); null == U.clearRect && (U.clearRect = 'undefined' !== typeof navigator && 'undefined' !== typeof navigator.isCocoonJS); U.clearRect && U.context.clearRect(0, 0, l.__canvas.width, l.__canvas.height); if ((null != d.text && '' != d.text) || d.__hasFocus) { f = d.text; l.__context.imageSmoothingEnabled = !b.__allowSmoothing || (0 == d.antiAliasType && 400 == d.sharpness) ? !1 : !0; if (d.border || d.background) { U.context.rect(0.5, 0.5, g.width - 1, g.height - 1); if (d.background) { var p = T.hex(d.backgroundColor & 16777215, 6); U.context.fillStyle = '#' + p; U.context.fill(); } d.border && ((U.context.lineWidth = 1), (p = T.hex(d.borderColor & 16777215, 6)), (U.context.strokeStyle = '#' + p), U.context.stroke()); } U.context.textBaseline = 'alphabetic'; U.context.textAlign = 'start'; b = -a.get_scrollH(); var u = (h = 0); for (p = a.get_scrollV() - 1; u < p; ) { var m = u++; h -= d.lineHeights.get(m); } for (c = d.layoutGroups.iterator(); c.hasNext(); ) if (((n = c.next()), !(n.lineIndex < a.get_scrollV() - 1))) { if (n.lineIndex > d.get_bottomScrollV() - 1) break; k = '#' + T.hex(n.format.color & 16777215, 6); U.context.font = Qb.getFont(n.format); U.context.fillStyle = k; U.context.fillText( f.substring(n.startIndex, n.endIndex), n.offsetX + b - g.x, n.offsetY + n.ascent + h - g.y ); if (-1 < a.__caretIndex && d.selectable) if (a.__selectionIndex == a.__caretIndex) { if ( a.__showCursor && n.startIndex <= a.__caretIndex && n.endIndex >= a.__caretIndex ) { u = r = 0; for (p = a.__caretIndex - n.startIndex; u < p; ) { m = u++; if (n.positions.length <= m) break; r += n.positions[m]; } u = 0; p = a.get_scrollV(); for (m = n.lineIndex + 1; p < m; ) { var t = p++; u += d.lineHeights.get(t - 1); } U.context.beginPath(); p = T.hex(n.format.color & 16777215, 6); U.context.strokeStyle = '#' + p; U.context.moveTo(n.offsetX + r - a.get_scrollH() - g.x, u + 2 - g.y); U.context.lineWidth = 1; U.context.lineTo( n.offsetX + r - a.get_scrollH() - g.x, u + Qb.getFormatHeight(a.get_defaultTextFormat()) - 1 - g.y ); U.context.stroke(); U.context.closePath(); } } else if ( (n.startIndex <= a.__caretIndex && n.endIndex >= a.__caretIndex) || (n.startIndex <= a.__selectionIndex && n.endIndex >= a.__selectionIndex) || (n.startIndex > a.__caretIndex && n.endIndex < a.__selectionIndex) || (n.startIndex > a.__selectionIndex && n.endIndex < a.__caretIndex) ) (r = Math.min(a.__selectionIndex, a.__caretIndex) | 0), (u = Math.max(a.__selectionIndex, a.__caretIndex) | 0), n.startIndex > r && (r = n.startIndex), n.endIndex < u && (u = n.endIndex), (m = a.getCharBoundaries(r)), u >= n.endIndex ? ((p = a.getCharBoundaries(n.endIndex - 1)), null != p && (p.x += p.width + 2)) : (p = a.getCharBoundaries(u)), null != m && null != p && ((U.context.fillStyle = '#000000'), U.context.fillRect(m.x + b - g.x, m.y + h, p.x - m.x, n.height), (U.context.fillStyle = '#FFFFFF'), U.context.fillText( f.substring(r, u), b + m.x - g.x, n.offsetY + n.ascent + h )); n.format.underline && (U.context.beginPath(), (U.context.strokeStyle = k), (U.context.lineWidth = 1), (k = n.offsetX + b - g.x), (r = Math.floor(n.offsetY + h + n.ascent - g.y) + 0.5), U.context.moveTo(k, r), U.context.lineTo(k + n.width, r), U.context.stroke(), U.context.closePath()); } } else { if (d.border || d.background) d.border ? U.context.rect(0.5, 0.5, g.width - 1, g.height - 1) : U.context.rect(0, 0, g.width, g.height), d.background && ((p = T.hex(d.backgroundColor & 16777215, 6)), (U.context.fillStyle = '#' + p), U.context.fill()), d.border && ((U.context.lineWidth = 1), (U.context.lineCap = 'square'), (p = T.hex(d.borderColor & 16777215, 6)), (U.context.strokeStyle = '#' + p), U.context.stroke()); if (-1 < a.__caretIndex && d.selectable && a.__showCursor) { b = -a.get_scrollH() + (f ? 0 : h); u = h = 0; for (p = a.get_scrollV() - 1; u < p; ) (m = u++), (h += d.lineHeights.get(m)); U.context.beginPath(); p = T.hex(a.get_defaultTextFormat().color & 16777215, 6); U.context.strokeStyle = '#' + p; U.context.moveTo(b + 2.5, h + 2.5); U.context.lineWidth = 1; U.context.lineTo(b + 2.5, h + Qb.getFormatHeight(a.get_defaultTextFormat()) - 1); U.context.stroke(); U.context.closePath(); } } l.__bitmap = la.fromCanvas(a.__graphics.__canvas); l.__visible = !0; a.__dirty = !1; l.__softwareDirty = !1; l.set___dirty(!1); } } }; U.renderDrawable = function (a, b) { b.__isDOM && !a.__renderedOnCanvasWhileOnDOM && ((a.__renderedOnCanvasWhileOnDOM = !0), 1 == a.get_type() && a.replaceText(0, a.__text.length, a.__text), a.__isHTML && a.__updateText(zb.parse(a.__text, a.__textFormat, a.__textEngine.textFormatRanges)), (a.__dirty = !0), (a.__layoutDirty = !0), a.__renderDirty || ((a.__renderDirty = !0), a.__setParentRenderDirty())); if (null == a.get_mask() || (0 < a.get_mask().get_width() && 0 < a.get_mask().get_height())) if ( (b.__updateCacheBitmap(a, a.__dirty), null == a.__cacheBitmap || a.__isCacheBitmapRender) ) { var c = a.__textEngine, e = !(c.background || c.border), f = e ? c.textBounds : c.bounds, g = a.__graphics, l = 0; if (a.__dirty) { a.__updateLayout(); null == g.__bounds && (g.__bounds = new ea()); if (0 == a.get_text().length) { var h = c.bounds.width - 4, k = a.get_defaultTextFormat().align; l = 3 == k ? 0 : 4 == k ? h : h / 2; switch (k) { case 0: l += a.get_defaultTextFormat().leftMargin / 2; l -= a.get_defaultTextFormat().rightMargin / 2; l += a.get_defaultTextFormat().indent / 2; l += a.get_defaultTextFormat().blockIndent / 2; break; case 2: l += a.get_defaultTextFormat().leftMargin; l += a.get_defaultTextFormat().indent; l += a.get_defaultTextFormat().blockIndent; break; case 3: l += a.get_defaultTextFormat().leftMargin; l += a.get_defaultTextFormat().indent; l += a.get_defaultTextFormat().blockIndent; break; case 4: l -= a.get_defaultTextFormat().rightMargin; } e && ((f.y = c.bounds.y), (f.x = l)); } g.__bounds.copyFrom(f); } g.__update(b.__worldTransform); if (a.__dirty || g.__softwareDirty) if ( ((k = g.__width), (h = g.__height), !( (null != c.text && '' != c.text) || c.background || c.border || c.__hasFocus || (1 == c.type && c.selectable) ) || ((0 >= c.width || 0 >= c.height) && 2 != c.autoSize)) ) (a.__graphics.__canvas = null), (a.__graphics.__context = null), (a.__graphics.__bitmap = null), (a.__graphics.__softwareDirty = !1), a.__graphics.set___dirty(!1), (a.__dirty = !1); else { null == a.__graphics.__canvas && ((a.__graphics.__canvas = window.document.createElement('canvas')), (a.__graphics.__context = a.__graphics.__canvas.getContext('2d'))); U.context = g.__context; var r = g.__renderTransform; if (b.__isDOM) { var n = b.pixelRatio; g.__canvas.width = (k * n) | 0; g.__canvas.height = (h * n) | 0; g.__canvas.style.width = k + 'px'; g.__canvas.style.height = h + 'px'; k = Ia.__pool.get(); k.copyFrom(r); k.scale(n, n); b.setTransform(k, U.context); Ia.__pool.release(k); } else (g.__canvas.width = k), (g.__canvas.height = h), U.context.setTransform(r.a, r.b, r.c, r.d, r.tx, r.ty); null == U.clearRect && (U.clearRect = 'undefined' !== typeof navigator && 'undefined' !== typeof navigator.isCocoonJS); U.clearRect && U.context.clearRect(0, 0, g.__canvas.width, g.__canvas.height); if ((null != c.text && '' != c.text) || c.__hasFocus) { k = c.text; g.__context.imageSmoothingEnabled = !b.__allowSmoothing || (0 == c.antiAliasType && 400 == c.sharpness) ? !1 : !0; if (c.border || c.background) { U.context.rect(0.5, 0.5, f.width - 1, f.height - 1); if (c.background) { var p = T.hex(c.backgroundColor & 16777215, 6); U.context.fillStyle = '#' + p; U.context.fill(); } c.border && ((U.context.lineWidth = 1), (p = T.hex(c.borderColor & 16777215, 6)), (U.context.strokeStyle = '#' + p), U.context.stroke()); } U.context.textBaseline = 'alphabetic'; U.context.textAlign = 'start'; h = -a.get_scrollH(); var u = (e = 0); for (p = a.get_scrollV() - 1; u < p; ) { var m = u++; e -= c.lineHeights.get(m); } var t; for (l = c.layoutGroups.iterator(); l.hasNext(); ) if (((n = l.next()), !(n.lineIndex < a.get_scrollV() - 1))) { if (n.lineIndex > c.get_bottomScrollV() - 1) break; r = '#' + T.hex(n.format.color & 16777215, 6); U.context.font = Qb.getFont(n.format); U.context.fillStyle = r; U.context.fillText( k.substring(n.startIndex, n.endIndex), n.offsetX + h - f.x, n.offsetY + n.ascent + e - f.y ); if (-1 < a.__caretIndex && c.selectable) if (a.__selectionIndex == a.__caretIndex) { if ( a.__showCursor && n.startIndex <= a.__caretIndex && n.endIndex >= a.__caretIndex ) { u = t = 0; for (p = a.__caretIndex - n.startIndex; u < p; ) { m = u++; if (n.positions.length <= m) break; t += n.positions[m]; } u = 0; p = a.get_scrollV(); for (m = n.lineIndex + 1; p < m; ) { var x = p++; u += c.lineHeights.get(x - 1); } U.context.beginPath(); p = T.hex(n.format.color & 16777215, 6); U.context.strokeStyle = '#' + p; U.context.moveTo(n.offsetX + t - a.get_scrollH() - f.x, u + 2 - f.y); U.context.lineWidth = 1; U.context.lineTo( n.offsetX + t - a.get_scrollH() - f.x, u + Qb.getFormatHeight(a.get_defaultTextFormat()) - 1 - f.y ); U.context.stroke(); U.context.closePath(); } } else if ( (n.startIndex <= a.__caretIndex && n.endIndex >= a.__caretIndex) || (n.startIndex <= a.__selectionIndex && n.endIndex >= a.__selectionIndex) || (n.startIndex > a.__caretIndex && n.endIndex < a.__selectionIndex) || (n.startIndex > a.__selectionIndex && n.endIndex < a.__caretIndex) ) (t = Math.min(a.__selectionIndex, a.__caretIndex) | 0), (u = Math.max(a.__selectionIndex, a.__caretIndex) | 0), n.startIndex > t && (t = n.startIndex), n.endIndex < u && (u = n.endIndex), (m = a.getCharBoundaries(t)), u >= n.endIndex ? ((p = a.getCharBoundaries(n.endIndex - 1)), null != p && (p.x += p.width + 2)) : (p = a.getCharBoundaries(u)), null != m && null != p && ((U.context.fillStyle = '#000000'), U.context.fillRect(m.x + h - f.x, m.y + e, p.x - m.x, n.height), (U.context.fillStyle = '#FFFFFF'), U.context.fillText( k.substring(t, u), h + m.x - f.x, n.offsetY + n.ascent + e )); n.format.underline && (U.context.beginPath(), (U.context.strokeStyle = r), (U.context.lineWidth = 1), (r = n.offsetX + h - f.x), (t = Math.floor(n.offsetY + e + n.ascent - f.y) + 0.5), U.context.moveTo(r, t), U.context.lineTo(r + n.width, t), U.context.stroke(), U.context.closePath()); } } else { if (c.border || c.background) c.border ? U.context.rect(0.5, 0.5, f.width - 1, f.height - 1) : U.context.rect(0, 0, f.width, f.height), c.background && ((p = T.hex(c.backgroundColor & 16777215, 6)), (U.context.fillStyle = '#' + p), U.context.fill()), c.border && ((U.context.lineWidth = 1), (U.context.lineCap = 'square'), (p = T.hex(c.borderColor & 16777215, 6)), (U.context.strokeStyle = '#' + p), U.context.stroke()); if (-1 < a.__caretIndex && c.selectable && a.__showCursor) { h = -a.get_scrollH() + (e ? 0 : l); u = e = 0; for (p = a.get_scrollV() - 1; u < p; ) (m = u++), (e += c.lineHeights.get(m)); U.context.beginPath(); p = T.hex(a.get_defaultTextFormat().color & 16777215, 6); U.context.strokeStyle = '#' + p; U.context.moveTo(h + 2.5, e + 2.5); U.context.lineWidth = 1; U.context.lineTo( h + 2.5, e + Qb.getFormatHeight(a.get_defaultTextFormat()) - 1 ); U.context.stroke(); U.context.closePath(); } } g.__bitmap = la.fromCanvas(a.__graphics.__canvas); g.__visible = !0; a.__dirty = !1; g.__softwareDirty = !1; g.set___dirty(!1); } e = !1; 0 == a.__textEngine.antiAliasType && 1 == a.__textEngine.gridFitType && (e = b.context.imageSmoothingEnabled) && (b.context.imageSmoothingEnabled = !1); if ( (null != a.opaqueBackground || null != a.__graphics) && a.__renderable && ((f = b.__getAlpha(a.__worldAlpha)), !(0 >= f) && (null != a.opaqueBackground && !a.__isCacheBitmapRender && 0 < a.get_width() && 0 < a.get_height() && (b.__setBlendMode(a.__worldBlendMode), b.__pushMaskObject(a), (c = b.context), b.setTransform(a.__renderTransform, c), (r = a.opaqueBackground), (c.fillStyle = 'rgb(' + ((r >>> 16) & 255) + ',' + ((r >>> 8) & 255) + ',' + (r & 255) + ')'), c.fillRect(0, 0, a.get_width(), a.get_height()), b.__popMaskObject(a)), null != a.__graphics && a.__renderable && ((f = b.__getAlpha(a.__worldAlpha)), !(0 >= f) && ((g = a.__graphics), null != g && (D.render(g, b), (k = g.__width), (h = g.__height), (l = g.__canvas), null != l && g.__visible && 1 <= k && 1 <= h && ((r = g.__worldTransform), (c = b.context), (t = a.__scrollRect), (n = a.__worldScale9Grid), null == t || (0 < t.width && 0 < t.height))))))) ) { b.__setBlendMode(a.__worldBlendMode); b.__pushMaskObject(a); c.globalAlpha = f; if (null != n && 0 == r.b && 0 == r.c) { c.setTransform(1, 0, 0, 1, r.tx, r.ty); f = g.__bounds; p = g.__renderTransform.a; var v = g.__renderTransform.d; m = r.a; x = r.d; g = Math.max(1, Math.round(n.x * p)); r = Math.round(n.y * v); t = Math.max(1, Math.round((f.get_right() - n.get_right()) * p)); u = Math.round((f.get_bottom() - n.get_bottom()) * v); p = Math.round(n.width * p); v = Math.round(n.height * v); var w = Math.round(n.x * m), G = Math.round(n.y * x), B = Math.round((f.get_right() - n.get_right()) * m); f = Math.round((f.get_bottom() - n.get_bottom()) * x); n = Math.round(k * m) - w - B; m = Math.round(h * x) - G - f; b.applySmoothing(c, !1); 0 != p && 0 != v ? (c.drawImage(l, 0, 0, g, r, 0, 0, w, G), c.drawImage(l, g, 0, p, r, w, 0, n, G), c.drawImage(l, g + p, 0, t, r, w + n, 0, B, G), c.drawImage(l, 0, r, g, v, 0, G, w, m), c.drawImage(l, g, r, p, v, w, G, n, m), c.drawImage(l, g + p, r, t, v, w + n, G, B, m), c.drawImage(l, 0, r + v, g, u, 0, G + m, w, f), c.drawImage(l, g, r + v, p, u, w, G + m, n, f), c.drawImage(l, g + p, r + v, t, u, w + n, G + m, B, f)) : 0 == p && 0 != v ? ((g = w + n + B), c.drawImage(l, 0, 0, k, r, 0, 0, g, G), c.drawImage(l, 0, r, k, v, 0, G, g, m), c.drawImage(l, 0, r + v, k, u, 0, G + m, g, f)) : 0 == v && 0 != p && ((f = G + m + f), c.drawImage(l, 0, 0, g, h, 0, 0, w, f), c.drawImage(l, g, 0, p, h, w, 0, n, f), c.drawImage(l, g + p, 0, t, h, w + n, 0, B, f)); } else b.setTransform(r, c), b.__isDOM && ((f = 1 / b.pixelRatio), c.scale(f, f)), c.drawImage(l, 0, 0, k, h); b.__popMaskObject(a); } e && (b.context.imageSmoothingEnabled = !0); } else (a = a.__cacheBitmap), a.__renderable && ((f = b.__getAlpha(a.__worldAlpha)), 0 < f && null != a.__bitmapData && a.__bitmapData.__isValid && a.__bitmapData.readable && ((c = b.context), b.__setBlendMode(a.__worldBlendMode), b.__pushMaskObject(a, !1), za.convertToCanvas(a.__bitmapData.image), (c.globalAlpha = f), (t = a.__scrollRect), b.setTransform(a.__renderTransform, c), (b.__allowSmoothing && a.smoothing) || (c.imageSmoothingEnabled = !1), null == t ? c.drawImage( a.__bitmapData.image.get_src(), 0, 0, a.__bitmapData.image.width, a.__bitmapData.image.height ) : c.drawImage(a.__bitmapData.image.get_src(), t.x, t.y, t.width, t.height), (b.__allowSmoothing && a.smoothing) || (c.imageSmoothingEnabled = !0), b.__popMaskObject(a, !1))); }; U.renderDrawableMask = function (a, b) { Ch.renderDrawableMask(a, b); }; var Uf = function () {}; k['openfl.display._internal.CanvasTilemap'] = Uf; Uf.__name__ = 'openfl.display._internal.CanvasTilemap'; Uf.render = function (a, b) { if (a.__renderable && 0 != a.__group.__tiles.length) { var c = b.__getAlpha(a.__worldAlpha); if (!(0 >= c)) { var e = b.context; b.__setBlendMode(a.__worldBlendMode); b.__pushMaskObject(a); var f = ea.__pool.get(); f.setTo(0, 0, a.__width, a.__height); b.__pushMaskRect(f, a.__renderTransform); (b.__allowSmoothing && a.smoothing) || (e.imageSmoothingEnabled = !1); Uf.renderTileContainer( a.__group, b, a.__renderTransform, a.__tileset, b.__allowSmoothing && a.smoothing, a.tileAlphaEnabled, c, a.tileBlendModeEnabled, a.__worldBlendMode, null, null, f ); (b.__allowSmoothing && a.smoothing) || (e.imageSmoothingEnabled = !0); b.__popMaskRect(); b.__popMaskObject(a); ea.__pool.release(f); } } }; Uf.renderTileContainer = function (a, b, c, e, f, g, l, h, k, r, n, p) { var d = b.context, q = b.__roundPixels, y = Ia.__pool.get(), u = a.__tiles, m, t = null, x = 0; for (a = a.__length; x < a; ) { var v = x++; var w = u[v]; y.setTo(1, 0, 0, 1, -w.get_originX(), -w.get_originY()); y.concat(w.get_matrix()); y.concat(c); q && ((y.tx = Math.round(y.tx)), (y.ty = Math.round(y.ty))); var G = null != w.get_tileset() ? w.get_tileset() : e; v = w.get_alpha() * l; if ((m = w.get_visible()) && !(0 >= v)) if ( (g || (v = 1), h && (t = null != w.__blendMode ? w.__blendMode : k), 0 < w.__length) ) Uf.renderTileContainer(w, b, y, G, f, g, v, h, t, r, n, p); else if (null != G) { m = w.get_id(); if (-1 == m) { if (((w = w.__rect), null == w || 0 >= w.width || 0 >= w.height)) continue; } else { w = G.__data[m]; if (null == w) continue; p.setTo(w.x, w.y, w.width, w.height); w = p; } G = G.__bitmapData; null != G && (G != r && (null == G.image.buffer.__srcImage && za.convertToCanvas(G.image), (n = G.image.get_src()), (r = G)), (d.globalAlpha = v), h && b.__setBlendMode(t), b.setTransform(y, d), d.drawImage(n, w.x, w.y, w.width, w.height, 0, 0, w.width, w.height)); } } Ia.__pool.release(y); }; Uf.renderDrawable = function (a, b) { b.__updateCacheBitmap(a, !1); if (null == a.__cacheBitmap || a.__isCacheBitmapRender) { if ( !( (null == a.opaqueBackground && null == a.__graphics) || !a.__renderable || ((v = b.__getAlpha(a.__worldAlpha)), 0 >= v) ) ) { if ( null != a.opaqueBackground && !a.__isCacheBitmapRender && 0 < a.get_width() && 0 < a.get_height() ) { b.__setBlendMode(a.__worldBlendMode); b.__pushMaskObject(a); w = b.context; b.setTransform(a.__renderTransform, w); var c = a.opaqueBackground; w.fillStyle = 'rgb(' + ((c >>> 16) & 255) + ',' + ((c >>> 8) & 255) + ',' + (c & 255) + ')'; w.fillRect(0, 0, a.get_width(), a.get_height()); b.__popMaskObject(a); } if ( null != a.__graphics && a.__renderable && ((v = b.__getAlpha(a.__worldAlpha)), !(0 >= v)) ) { var e = a.__graphics; if (null != e) { D.render(e, b); var f = e.__width, g = e.__height; c = e.__canvas; if (null != c && e.__visible && 1 <= f && 1 <= g) { var l = e.__worldTransform; w = b.context; G = a.__scrollRect; var h = a.__worldScale9Grid; if (null == G || (0 < G.width && 0 < G.height)) { b.__setBlendMode(a.__worldBlendMode); b.__pushMaskObject(a); w.globalAlpha = v; if (null != h && 0 == l.b && 0 == l.c) { w.setTransform(1, 0, 0, 1, l.tx, l.ty); var k = e.__bounds, r = e.__renderTransform.a, n = e.__renderTransform.d, p = l.a, u = l.d; l = Math.max(1, Math.round(h.x * r)); e = Math.round(h.y * n); v = Math.max(1, Math.round((k.get_right() - h.get_right()) * r)); G = Math.round((k.get_bottom() - h.get_bottom()) * n); r = Math.round(h.width * r); n = Math.round(h.height * n); var m = Math.round(h.x * p), t = Math.round(h.y * u), x = Math.round((k.get_right() - h.get_right()) * p); h = Math.round((k.get_bottom() - h.get_bottom()) * u); k = Math.round(f * p) - m - x; p = Math.round(g * u) - t - h; b.applySmoothing(w, !1); 0 != r && 0 != n ? (w.drawImage(c, 0, 0, l, e, 0, 0, m, t), w.drawImage(c, l, 0, r, e, m, 0, k, t), w.drawImage(c, l + r, 0, v, e, m + k, 0, x, t), w.drawImage(c, 0, e, l, n, 0, t, m, p), w.drawImage(c, l, e, r, n, m, t, k, p), w.drawImage(c, l + r, e, v, n, m + k, t, x, p), w.drawImage(c, 0, e + n, l, G, 0, t + p, m, h), w.drawImage(c, l, e + n, r, G, m, t + p, k, h), w.drawImage(c, l + r, e + n, v, G, m + k, t + p, x, h)) : 0 == r && 0 != n ? ((g = m + k + x), w.drawImage(c, 0, 0, f, e, 0, 0, g, t), w.drawImage(c, 0, e, f, n, 0, t, g, p), w.drawImage(c, 0, e + n, f, G, 0, t + p, g, h)) : 0 == n && 0 != r && ((f = t + p + h), w.drawImage(c, 0, 0, l, g, 0, 0, m, f), w.drawImage(c, l, 0, r, g, m, 0, k, f), w.drawImage(c, l + r, 0, v, g, m + k, 0, x, f)); } else b.setTransform(l, w), b.__isDOM && ((h = 1 / b.pixelRatio), w.scale(h, h)), w.drawImage(c, 0, 0, f, g); b.__popMaskObject(a); } } } } } a.__renderable && 0 != a.__group.__tiles.length && ((v = b.__getAlpha(a.__worldAlpha)), 0 >= v || ((w = b.context), b.__setBlendMode(a.__worldBlendMode), b.__pushMaskObject(a), (c = ea.__pool.get()), c.setTo(0, 0, a.__width, a.__height), b.__pushMaskRect(c, a.__renderTransform), (b.__allowSmoothing && a.smoothing) || (w.imageSmoothingEnabled = !1), Uf.renderTileContainer( a.__group, b, a.__renderTransform, a.__tileset, b.__allowSmoothing && a.smoothing, a.tileAlphaEnabled, v, a.tileBlendModeEnabled, a.__worldBlendMode, null, null, c ), (b.__allowSmoothing && a.smoothing) || (w.imageSmoothingEnabled = !0), b.__popMaskRect(), b.__popMaskObject(a), ea.__pool.release(c))); } else if (((c = a.__cacheBitmap), c.__renderable)) { var v = b.__getAlpha(c.__worldAlpha); if ( 0 < v && null != c.__bitmapData && c.__bitmapData.__isValid && c.__bitmapData.readable ) { var w = b.context; b.__setBlendMode(c.__worldBlendMode); b.__pushMaskObject(c, !1); za.convertToCanvas(c.__bitmapData.image); w.globalAlpha = v; var G = c.__scrollRect; b.setTransform(c.__renderTransform, w); (b.__allowSmoothing && c.smoothing) || (w.imageSmoothingEnabled = !1); null == G ? w.drawImage( c.__bitmapData.image.get_src(), 0, 0, c.__bitmapData.image.width, c.__bitmapData.image.height ) : w.drawImage(c.__bitmapData.image.get_src(), G.x, G.y, G.width, G.height); (b.__allowSmoothing && c.smoothing) || (w.imageSmoothingEnabled = !0); b.__popMaskObject(c, !1); } } b.__renderEvent(a); }; Uf.renderDrawableMask = function (a, b) {}; var $h = function () {}; k['openfl.display._internal.CanvasVideo'] = $h; $h.__name__ = 'openfl.display._internal.CanvasVideo'; $h.render = function (a, b) { if (a.__renderable && null != a.__stream) { var c = b.__getAlpha(a.__worldAlpha); if (!(0 >= c)) { var e = b.context; if (null != a.__stream.__video) { b.__setBlendMode(a.__worldBlendMode); b.__pushMaskObject(a); e.globalAlpha = c; c = a.__scrollRect; var f = a.smoothing; b.setTransform(a.__worldTransform, e); f || (e.imageSmoothingEnabled = !1); null == c ? e.drawImage(a.__stream.__video, 0, 0, a.get_width(), a.get_height()) : e.drawImage( a.__stream.__video, c.x, c.y, c.width, c.height, c.x, c.y, c.width, c.height ); f || (e.imageSmoothingEnabled = !0); b.__popMaskObject(a); } } } }; $h.renderDrawable = function (a, b) { $h.render(a, b); b.__renderEvent(a); }; $h.renderDrawableMask = function (a, b) {}; var uf = function () {}; k['openfl.display._internal.Context3DBitmap'] = uf; uf.__name__ = 'openfl.display._internal.Context3DBitmap'; uf.render = function (a, b) { if ( a.__renderable && !(0 >= a.__worldAlpha) && null != a.__bitmapData && a.__bitmapData.__isValid ) { var c = b.__context3D; b.__setBlendMode(a.__worldBlendMode); b.__pushMaskObject(a); var e = b.__initDisplayShader(a.__worldShader); b.setShader(e); b.applyBitmapData(a.__bitmapData, b.__allowSmoothing && (a.smoothing || b.__upscaled)); b.applyMatrix(b.__getMatrix(a.__renderTransform, a.pixelSnapping)); b.applyAlpha(a.__worldAlpha); b.applyColorTransform(a.__worldColorTransform); b.updateShader(); var f = a.__bitmapData.getVertexBuffer(c); null != e.__position && c.setVertexBufferAt(e.__position.index, f, 0, 3); null != e.__textureCoord && c.setVertexBufferAt(e.__textureCoord.index, f, 3, 2); e = a.__bitmapData.getIndexBuffer(c); c.drawTriangles(e); b.__clearShader(); b.__popMaskObject(a); } }; uf.renderDrawable = function (a, b) { b.__updateCacheBitmap(a, !1); null != a.__bitmapData && null != a.__bitmapData.image && (a.__imageVersion = a.__bitmapData.image.version); if (null == a.__cacheBitmap || a.__isCacheBitmapRender) { if ( !( (null == a.opaqueBackground && null == a.__graphics) || !a.__renderable || 0 >= a.__worldAlpha ) ) { if ( null != a.opaqueBackground && !a.__isCacheBitmapRender && 0 < a.get_width() && 0 < a.get_height() ) { b.__setBlendMode(a.__worldBlendMode); b.__pushMaskObject(a); var c = b.__context3D, e = ea.__pool.get(); e.setTo(0, 0, a.get_width(), a.get_height()); b.__pushMaskRect(e, a.__renderTransform); var f = a.opaqueBackground; c.clear( ((f >>> 16) & 255) / 255, ((f >>> 8) & 255) / 255, (f & 255) / 255, 1, 0, 0, 1 ); b.__popMaskRect(); b.__popMaskObject(a); ea.__pool.release(e); } null != a.__graphics && Zf.render(a, b); } uf.render(a, b); } else uf.render(a.__cacheBitmap, b); b.__renderEvent(a); }; uf.renderDrawableMask = function (a, b) { uf.renderMask(a, b); }; uf.renderMask = function (a, b) { if (null != a.__bitmapData && a.__bitmapData.__isValid) { var c = b.__context3D, e = b.__maskShader; b.setShader(e); b.applyBitmapData(ai.opaqueBitmapData, !0); b.applyMatrix(b.__getMatrix(a.__renderTransform, a.pixelSnapping)); b.updateShader(); var f = a.__bitmapData.getVertexBuffer(c); null != e.__position && c.setVertexBufferAt(e.__position.index, f, 0, 3); null != e.__textureCoord && c.setVertexBufferAt(e.__textureCoord.index, f, 3, 2); a = a.__bitmapData.getIndexBuffer(c); c.drawTriangles(a); b.__clearShader(); } }; var Sm = function () {}; k['openfl.display._internal.Context3DBitmapData'] = Sm; Sm.__name__ = 'openfl.display._internal.Context3DBitmapData'; Sm.renderDrawable = function (a, b) { var c = b.__context3D; b.__setBlendMode(10); var e = b.__defaultDisplayShader; b.setShader(e); b.applyBitmapData(a, b.__upscaled); b.applyMatrix(b.__getMatrix(a.__worldTransform, 1)); b.applyAlpha(a.__worldAlpha); b.applyColorTransform(a.__worldColorTransform); b.updateShader(); var f = a.getVertexBuffer(c); null != e.__position && c.setVertexBufferAt(e.__position.index, f, 0, 3); null != e.__textureCoord && c.setVertexBufferAt(e.__textureCoord.index, f, 3, 2); a = a.getIndexBuffer(c); c.drawTriangles(a); b.__clearShader(); }; Sm.renderDrawableMask = function (a, b) { var c = b.__context3D, e = b.__maskShader; b.setShader(e); b.applyBitmapData(a, b.__upscaled); b.applyMatrix(b.__getMatrix(a.__worldTransform, 1)); b.updateShader(); var f = a.getVertexBuffer(c); null != e.__position && c.setVertexBufferAt(e.__position.index, f, 0, 3); null != e.__textureCoord && c.setVertexBufferAt(e.__textureCoord.index, f, 3, 2); a = a.getIndexBuffer(c); c.drawTriangles(a); b.__clearShader(); }; var Eh = function (a, b, c, e) { this.context3D = a; this.elementType = b; this.dataPerVertex = e; this.vertexCount = this.indexCount = 0; this.resize(c); }; k['openfl.display._internal.Context3DBuffer'] = Eh; Eh.__name__ = 'openfl.display._internal.Context3DBuffer'; Eh.prototype = { dataPerVertex: null, elementCount: null, elementType: null, indexBufferData: null, indexBuffers: null, indexCount: null, vertexBuffer: null, vertexBufferData: null, vertexCount: null, context3D: null, drawElements: function (a, b) { null == b && (b = -1); if (0 != this.indexCount && 0 != this.vertexCount && 0 == this.elementType._hx_index) if ((-1 == b && (b = 2 * this.elementCount), 10922 > a && 10922 > b - a)) this.context3D.drawTriangles(this.indexBuffers[0], a, 2 * b); else for (var c = a + b; a < c; ) { var e = Math.floor(a / 10922); b = Math.min(c - a, 10922) | 0; if (0 >= b) break; this.context3D.drawTriangles(this.indexBuffers[e], 3 * (a - 10922 * e), 2 * b); a += b; } }, flushVertexBufferData: function () { this.vertexBufferData.length > this.vertexCount && ((this.vertexCount = this.vertexBufferData.length), (this.vertexBuffer = this.context3D.createVertexBuffer( this.vertexCount, this.dataPerVertex, 0 ))); this.vertexBuffer.uploadFromTypedArray(Xg.toArrayBufferView(this.vertexBufferData)); }, resize: function (a, b) { null == b && (b = -1); this.elementCount = a; -1 == b && (b = this.dataPerVertex); b != this.dataPerVertex && ((this.vertexBuffer = null), (this.vertexCount = 0), (this.dataPerVertex = b)); var c = 0; switch (this.elementType._hx_index) { case 0: c = 4 * a; break; case 1: c = 3 * a; break; case 2: c = 3 * a; } b *= c; if (null == this.vertexBufferData) { var e = (c = null), f = null, g = null, l = null; this.vertexBufferData = b = null != b ? new Float32Array(b) : null != c ? new Float32Array(c) : null != e ? new Float32Array(e.__array) : null != f ? new Float32Array(f) : null != g ? null == l ? new Float32Array(g, 0) : new Float32Array(g, 0, l) : null; } else b > this.vertexBufferData.length && ((a = this.vertexBufferData), (l = g = f = e = c = null), (this.vertexBufferData = b = null != b ? new Float32Array(b) : null != c ? new Float32Array(c) : null != e ? new Float32Array(e.__array) : null != f ? new Float32Array(f) : null != g ? null == l ? new Float32Array(g, 0) : new Float32Array(g, 0, l) : null), this.vertexBufferData.set(a)); }, __class__: Eh }; var bn = (N['openfl.display._internal.Context3DElementType'] = { __ename__: 'openfl.display._internal.Context3DElementType', __constructs__: null, QUADS: { _hx_name: 'QUADS', _hx_index: 0, __enum__: 'openfl.display._internal.Context3DElementType', toString: x }, TRIANGLES: { _hx_name: 'TRIANGLES', _hx_index: 1, __enum__: 'openfl.display._internal.Context3DElementType', toString: x }, TRIANGLE_INDICES: { _hx_name: 'TRIANGLE_INDICES', _hx_index: 2, __enum__: 'openfl.display._internal.Context3DElementType', toString: x } }); bn.__constructs__ = [bn.QUADS, bn.TRIANGLES, bn.TRIANGLE_INDICES]; var bh = function () {}; k['openfl.display._internal.Context3DDisplayObject'] = bh; bh.__name__ = 'openfl.display._internal.Context3DDisplayObject'; bh.render = function (a, b) { if ( !( (null == a.opaqueBackground && null == a.__graphics) || !a.__renderable || 0 >= a.__worldAlpha ) ) { if ( null != a.opaqueBackground && !a.__isCacheBitmapRender && 0 < a.get_width() && 0 < a.get_height() ) { b.__setBlendMode(a.__worldBlendMode); b.__pushMaskObject(a); var c = b.__context3D, e = ea.__pool.get(); e.setTo(0, 0, a.get_width(), a.get_height()); b.__pushMaskRect(e, a.__renderTransform); var f = a.opaqueBackground; c.clear(((f >>> 16) & 255) / 255, ((f >>> 8) & 255) / 255, (f & 255) / 255, 1, 0, 0, 1); b.__popMaskRect(); b.__popMaskObject(a); ea.__pool.release(e); } null != a.__graphics && Zf.render(a, b); } }; bh.renderDrawable = function (a, b) { b.__updateCacheBitmap(a, !1); if (null != a.__cacheBitmap && !a.__isCacheBitmapRender) uf.render(a.__cacheBitmap, b); else if ( !( (null == a.opaqueBackground && null == a.__graphics) || !a.__renderable || 0 >= a.__worldAlpha ) ) { if ( null != a.opaqueBackground && !a.__isCacheBitmapRender && 0 < a.get_width() && 0 < a.get_height() ) { b.__setBlendMode(a.__worldBlendMode); b.__pushMaskObject(a); var c = b.__context3D, e = ea.__pool.get(); e.setTo(0, 0, a.get_width(), a.get_height()); b.__pushMaskRect(e, a.__renderTransform); var f = a.opaqueBackground; c.clear(((f >>> 16) & 255) / 255, ((f >>> 8) & 255) / 255, (f & 255) / 255, 1, 0, 0, 1); b.__popMaskRect(); b.__popMaskObject(a); ea.__pool.release(e); } null != a.__graphics && Zf.render(a, b); } b.__renderEvent(a); }; bh.renderDrawableMask = function (a, b) { null != a.__graphics && Zf.renderMask(a, b); }; bh.renderMask = function (a, b) { if (null != a.opaqueBackground || null != a.__graphics) null != a.opaqueBackground && !a.__isCacheBitmapRender && 0 < a.get_width() && a.get_height(), null != a.__graphics && Zf.renderMask(a, b); }; var Tm = function () {}; k['openfl.display._internal.Context3DDisplayObjectContainer'] = Tm; Tm.__name__ = 'openfl.display._internal.Context3DDisplayObjectContainer'; Tm.renderDrawable = function (a, b) { for (var c = a.__removedChildren.iterator(); c.hasNext(); ) { var e = c.next(); null == e.stage && e.__cleanup(); } a.__removedChildren.set_length(0); if ( a.__renderable && !(0 >= a.__worldAlpha) && (bh.renderDrawable(a, b), null == a.__cacheBitmap || a.__isCacheBitmapRender) ) { if (0 < a.__children.length) if ((b.__pushMaskObject(a), null != b.__stage)) { c = 0; for (e = a.__children; c < e.length; ) { var f = e[c]; ++c; b.__renderDrawable(f); f.__renderDirty = !1; } a.__renderDirty = !1; } else for (c = 0, e = a.__children; c < e.length; ) (f = e[c]), ++c, b.__renderDrawable(f); 0 < a.__children.length && b.__popMaskObject(a); } }; Tm.renderDrawableMask = function (a, b) { for (var c = a.__removedChildren.iterator(); c.hasNext(); ) { var e = c.next(); null == e.stage && e.__cleanup(); } a.__removedChildren.set_length(0); null != a.__graphics && Zf.renderMask(a, b); c = 0; for (a = a.__children; c < a.length; ) (e = a[c]), ++c, b.__renderDrawableMask(e); }; var Pc = function () {}; k['openfl.display._internal.Context3DGraphics'] = Pc; Pc.__name__ = 'openfl.display._internal.Context3DGraphics'; Pc.buildBuffer = function (a, b) { var c, e = (c = 0), f = 0, g = new Wf(a.__commands); b = b.__context3D; for ( var l = ea.__pool.get(), h = Ia.__pool.get(), k = null, r = 0, n = a.__commands.types; r < n.length; ) { var p = n[r]; ++r; switch (p._hx_index) { case 0: switch (g.prev._hx_index) { case 0: g.oPos += 2; g.bPos += 2; break; case 1: g.iPos += 1; g.fPos += 1; break; case 2: g.oPos += 4; g.iiPos += 2; g.ffPos += 1; g.fPos += 1; break; case 3: g.oPos += 1; break; case 4: g.fPos += 6; break; case 5: g.fPos += 4; break; case 6: g.fPos += 3; break; case 7: g.fPos += 4; break; case 8: g.oPos += 3; break; case 9: g.fPos += 4; break; case 10: g.fPos += 5; g.oPos += 1; break; case 12: g.oPos += 4; break; case 14: g.oPos += 2; g.bPos += 2; break; case 15: g.oPos += 4; g.iiPos += 2; g.ffPos += 1; g.fPos += 1; break; case 16: g.oPos += 4; g.iPos += 1; g.fPos += 2; g.bPos += 1; break; case 17: g.fPos += 2; break; case 18: g.fPos += 2; break; case 19: g.oPos += 1; break; case 20: g.oPos += 1; } g.prev = ca.BEGIN_BITMAP_FILL; k = g; k = k.buffer.o[k.oPos]; break; case 1: k = null; switch (g.prev._hx_index) { case 0: g.oPos += 2; g.bPos += 2; break; case 1: g.iPos += 1; g.fPos += 1; break; case 2: g.oPos += 4; g.iiPos += 2; g.ffPos += 1; g.fPos += 1; break; case 3: g.oPos += 1; break; case 4: g.fPos += 6; break; case 5: g.fPos += 4; break; case 6: g.fPos += 3; break; case 7: g.fPos += 4; break; case 8: g.oPos += 3; break; case 9: g.fPos += 4; break; case 10: g.fPos += 5; g.oPos += 1; break; case 12: g.oPos += 4; break; case 14: g.oPos += 2; g.bPos += 2; break; case 15: g.oPos += 4; g.iiPos += 2; g.ffPos += 1; g.fPos += 1; break; case 16: g.oPos += 4; g.iPos += 1; g.fPos += 2; g.bPos += 1; break; case 17: g.fPos += 2; break; case 18: g.fPos += 2; break; case 19: g.oPos += 1; break; case 20: g.oPos += 1; } g.prev = p; break; case 3: switch (g.prev._hx_index) { case 0: g.oPos += 2; g.bPos += 2; break; case 1: g.iPos += 1; g.fPos += 1; break; case 2: g.oPos += 4; g.iiPos += 2; g.ffPos += 1; g.fPos += 1; break; case 3: g.oPos += 1; break; case 4: g.fPos += 6; break; case 5: g.fPos += 4; break; case 6: g.fPos += 3; break; case 7: g.fPos += 4; break; case 8: g.oPos += 3; break; case 9: g.fPos += 4; break; case 10: g.fPos += 5; g.oPos += 1; break; case 12: g.oPos += 4; break; case 14: g.oPos += 2; g.bPos += 2; break; case 15: g.oPos += 4; g.iiPos += 2; g.ffPos += 1; g.fPos += 1; break; case 16: g.oPos += 4; g.iPos += 1; g.fPos += 2; g.bPos += 1; break; case 17: g.fPos += 2; break; case 18: g.fPos += 2; break; case 19: g.oPos += 1; break; case 20: g.oPos += 1; } g.prev = ca.BEGIN_SHADER_FILL; k = g; p = k.buffer.o[k.oPos]; k = null; if (null != p) for (var u = 0, m = p.inputCount; u < m; ) { var t = u++; if ('bitmap' == p.inputRefs[t].name) { k = p.inputs[t]; break; } } break; case 8: if (null != k) { switch (g.prev._hx_index) { case 0: g.oPos += 2; g.bPos += 2; break; case 1: g.iPos += 1; g.fPos += 1; break; case 2: g.oPos += 4; g.iiPos += 2; g.ffPos += 1; g.fPos += 1; break; case 3: g.oPos += 1; break; case 4: g.fPos += 6; break; case 5: g.fPos += 4; break; case 6: g.fPos += 3; break; case 7: g.fPos += 4; break; case 8: g.oPos += 3; break; case 9: g.fPos += 4; break; case 10: g.fPos += 5; g.oPos += 1; break; case 12: g.oPos += 4; break; case 14: g.oPos += 2; g.bPos += 2; break; case 15: g.oPos += 4; g.iiPos += 2; g.ffPos += 1; g.fPos += 1; break; case 16: g.oPos += 4; g.iPos += 1; g.fPos += 2; g.bPos += 1; break; case 17: g.fPos += 2; break; case 18: g.fPos += 2; break; case 19: g.oPos += 1; break; case 20: g.oPos += 1; } g.prev = ca.DRAW_QUADS; m = g; p = m.buffer.o[m.oPos]; u = m.buffer.o[m.oPos + 1]; m = m.buffer.o[m.oPos + 2]; t = null != u; var x = !1, v = !1, w = t ? u.get_length() : Math.floor(p.get_length() / 4); if (0 == w) return; null != m && (m.get_length() >= 6 * w ? (v = x = !0) : m.get_length() >= 4 * w ? (x = !0) : m.get_length() >= 2 * w && (v = !0)); null == a.__quadBuffer ? (a.__quadBuffer = new Eh(b, bn.QUADS, w, 4)) : a.__quadBuffer.resize(c + w, 4); for ( var G, B, N, H, z, D, C, ya, E, J, I, F, L, O, M = a.__quadBuffer.vertexBufferData, A = k.width, P = k.height, T = 0, R = w; T < R; ) (H = T++), (G = 16 * (c + H)), (B = t ? 4 * u.get(H) : 4 * H), 0 > B || (l.setTo(p.get(B), p.get(B + 1), p.get(B + 2), p.get(B + 3)), (B = l.width), (N = l.height), 0 >= B || 0 >= N || (x && v ? ((H *= 6), h.setTo( m.get(H), m.get(H + 1), m.get(H + 2), m.get(H + 3), m.get(H + 4), m.get(H + 5) )) : x ? ((H *= 4), h.setTo(m.get(H), m.get(H + 1), m.get(H + 2), m.get(H + 3), l.x, l.y)) : v ? ((H *= 2), (h.tx = m.get(H)), (h.ty = m.get(H + 1))) : ((h.tx = l.x), (h.ty = l.y)), (H = l.x / A), (z = l.y / P), (D = l.get_right() / A), (C = l.get_bottom() / P), (ya = 0 * h.a + 0 * h.c + h.tx), (E = 0 * h.b + 0 * h.d + h.ty), (J = B * h.a + 0 * h.c + h.tx), (I = B * h.b + 0 * h.d + h.ty), (F = 0 * h.a + N * h.c + h.tx), (L = 0 * h.b + N * h.d + h.ty), (O = B * h.a + N * h.c + h.tx), (B = B * h.b + N * h.d + h.ty), (M[G] = ya), (M[G + 1] = E), (M[G + 2] = H), (M[G + 3] = z), (M[G + 4] = J), (M[G + 4 + 1] = I), (M[G + 4 + 2] = D), (M[G + 4 + 3] = z), (M[G + 8] = F), (M[G + 8 + 1] = L), (M[G + 8 + 2] = H), (M[G + 8 + 3] = C), (M[G + 12] = O), (M[G + 12 + 1] = B), (M[G + 12 + 2] = D), (M[G + 12 + 3] = C))); c += w; } break; case 12: switch (g.prev._hx_index) { case 0: g.oPos += 2; g.bPos += 2; break; case 1: g.iPos += 1; g.fPos += 1; break; case 2: g.oPos += 4; g.iiPos += 2; g.ffPos += 1; g.fPos += 1; break; case 3: g.oPos += 1; break; case 4: g.fPos += 6; break; case 5: g.fPos += 4; break; case 6: g.fPos += 3; break; case 7: g.fPos += 4; break; case 8: g.oPos += 3; break; case 9: g.fPos += 4; break; case 10: g.fPos += 5; g.oPos += 1; break; case 12: g.oPos += 4; break; case 14: g.oPos += 2; g.bPos += 2; break; case 15: g.oPos += 4; g.iiPos += 2; g.ffPos += 1; g.fPos += 1; break; case 16: g.oPos += 4; g.iPos += 1; g.fPos += 2; g.bPos += 1; break; case 17: g.fPos += 2; break; case 18: g.fPos += 2; break; case 19: g.oPos += 1; break; case 20: g.oPos += 1; } g.prev = ca.DRAW_TRIANGLES; m = g; p = m.buffer.o[m.oPos]; u = m.buffer.o[m.oPos + 1]; m = m.buffer.o[m.oPos + 2]; t = null != u; w = Math.floor(p.get_length() / 2); x = t ? u.get_length() : w; G = (w = (v = null != m) && m.get_length() >= 3 * w) ? 4 : 2; M = w ? 3 : 2; A = G + 2; P = w ? f : e; Pc.resizeVertexBuffer(a, w, P + x * A); T = w ? a.__vertexBufferDataUVT : a.__vertexBufferData; N = 0; for (H = x; N < H; ) (z = N++), (R = P + z * A), (B = t ? 2 * u.get(z) : 2 * z), (z = t ? u.get(z) * M : z * M), w ? ((D = m.get(z + 2)), (T[R] = p.get(B) / D), (T[R + 1] = p.get(B + 1) / D), (T[R + 2] = 0), (T[R + 3] = 1 / D)) : ((T[R] = p.get(B)), (T[R + 1] = p.get(B + 1))), (T[R + G] = v ? m.get(z) : 0), (T[R + G + 1] = v ? m.get(z + 1) : 0); w ? (f += x * A) : (e += x * A); break; case 13: k = null; break; default: switch (g.prev._hx_index) { case 0: g.oPos += 2; g.bPos += 2; break; case 1: g.iPos += 1; g.fPos += 1; break; case 2: g.oPos += 4; g.iiPos += 2; g.ffPos += 1; g.fPos += 1; break; case 3: g.oPos += 1; break; case 4: g.fPos += 6; break; case 5: g.fPos += 4; break; case 6: g.fPos += 3; break; case 7: g.fPos += 4; break; case 8: g.oPos += 3; break; case 9: g.fPos += 4; break; case 10: g.fPos += 5; g.oPos += 1; break; case 12: g.oPos += 4; break; case 14: g.oPos += 2; g.bPos += 2; break; case 15: g.oPos += 4; g.iiPos += 2; g.ffPos += 1; g.fPos += 1; break; case 16: g.oPos += 4; g.iPos += 1; g.fPos += 2; g.bPos += 1; break; case 17: g.fPos += 2; break; case 18: g.fPos += 2; break; case 19: g.oPos += 1; break; case 20: g.oPos += 1; } g.prev = p; } } 0 < c && a.__quadBuffer.flushVertexBufferData(); if (0 < e) { c = a.__vertexBuffer; if (null == c || e > a.__vertexBufferCount) (c = b.createVertexBuffer(e, 4, 0)), (a.__vertexBuffer = c), (a.__vertexBufferCount = e); c.uploadFromTypedArray(Xg.toArrayBufferView(a.__vertexBufferData)); } if (0 < f) { c = a.__vertexBufferUVT; if (null == c || f > a.__vertexBufferCountUVT) (c = b.createVertexBuffer(f, 6, 0)), (a.__vertexBufferUVT = c), (a.__vertexBufferCountUVT = f); c.uploadFromTypedArray(Xg.toArrayBufferView(a.__vertexBufferDataUVT)); } ea.__pool.release(l); Ia.__pool.release(h); }; Pc.isCompatible = function (a) { if (null != a.__owner.__worldScale9Grid) return !1; var b = new Wf(a.__commands), c = !1, e = !1, f = !1, g = 0; for (a = a.__commands.types; g < a.length; ) { var l = a[g]; ++g; switch (l._hx_index) { case 0: e = !0; f = c = !1; switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = l; break; case 1: e = !1; c = !0; f = !1; switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = l; break; case 3: c = e = !1; f = !0; switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = l; break; case 8: if (e || f) { switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = l; } else return b.destroy(), !1; break; case 9: if (c) { switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = l; } else return b.destroy(), !1; break; case 12: if (e || f) { switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = l; } else return b.destroy(), !1; break; case 13: f = c = e = !1; switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = l; break; case 18: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = l; break; case 19: switch (b.prev._hx_index) { case 0: b.oPos += 2; b.bPos += 2; break; case 1: b.iPos += 1; b.fPos += 1; break; case 2: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 3: b.oPos += 1; break; case 4: b.fPos += 6; break; case 5: b.fPos += 4; break; case 6: b.fPos += 3; break; case 7: b.fPos += 4; break; case 8: b.oPos += 3; break; case 9: b.fPos += 4; break; case 10: b.fPos += 5; b.oPos += 1; break; case 12: b.oPos += 4; break; case 14: b.oPos += 2; b.bPos += 2; break; case 15: b.oPos += 4; b.iiPos += 2; b.ffPos += 1; b.fPos += 1; break; case 16: b.oPos += 4; b.iPos += 1; b.fPos += 2; b.bPos += 1; break; case 17: b.fPos += 2; break; case 18: b.fPos += 2; break; case 19: b.oPos += 1; break; case 20: b.oPos += 1; } b.prev = l; break; default: return b.destroy(), !1; } } b.destroy(); return !0; }; Pc.render = function (a, b) { if (a.__visible && 0 != a.__commands.get_length()) if ((null != a.__bitmap && !a.__dirty) || !Pc.isCompatible(a)) { var c = b.__softwareRenderer.__worldTransform; b.__softwareRenderer.__worldTransform = b.__worldTransform; D.render(a, b.__softwareRenderer); b.__softwareRenderer.__worldTransform = c; } else { a.__bitmap = null; a.__update(b.__worldTransform); var e = a.__width, f = a.__height; if (null != a.__bounds && 1 <= e && 1 <= f) { (a.__hardwareDirty || (null == a.__quadBuffer && null == a.__vertexBuffer && null == a.__vertexBufferUVT)) && Pc.buildBuffer(a, b); c = new Wf(a.__commands); for ( var g = b.__context3D, l = Ia.__pool.get(), h = null, k = null, r = !1, n = !1, p = null, u = 0, m = 0, t = 0, x = 0, v = 0, w = a.__commands.types; v < w.length; ) switch (((e = w[v]), ++v, e._hx_index)) { case 0: switch (c.prev._hx_index) { case 0: c.oPos += 2; c.bPos += 2; break; case 1: c.iPos += 1; c.fPos += 1; break; case 2: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 3: c.oPos += 1; break; case 4: c.fPos += 6; break; case 5: c.fPos += 4; break; case 6: c.fPos += 3; break; case 7: c.fPos += 4; break; case 8: c.oPos += 3; break; case 9: c.fPos += 4; break; case 10: c.fPos += 5; c.oPos += 1; break; case 12: c.oPos += 4; break; case 14: c.oPos += 2; c.bPos += 2; break; case 15: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 16: c.oPos += 4; c.iPos += 1; c.fPos += 2; c.bPos += 1; break; case 17: c.fPos += 2; break; case 18: c.fPos += 2; break; case 19: c.oPos += 1; break; case 20: c.oPos += 1; } c.prev = ca.BEGIN_BITMAP_FILL; n = c; k = n.buffer.o[n.oPos]; r = n.buffer.b[n.bPos]; n = n.buffer.b[n.bPos + 1]; p = h = null; break; case 1: switch (c.prev._hx_index) { case 0: c.oPos += 2; c.bPos += 2; break; case 1: c.iPos += 1; c.fPos += 1; break; case 2: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 3: c.oPos += 1; break; case 4: c.fPos += 6; break; case 5: c.fPos += 4; break; case 6: c.fPos += 3; break; case 7: c.fPos += 4; break; case 8: c.oPos += 3; break; case 9: c.fPos += 4; break; case 10: c.fPos += 5; c.oPos += 1; break; case 12: c.oPos += 4; break; case 14: c.oPos += 2; c.bPos += 2; break; case 15: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 16: c.oPos += 4; c.iPos += 1; c.fPos += 2; c.bPos += 1; break; case 17: c.fPos += 2; break; case 18: c.fPos += 2; break; case 19: c.oPos += 1; break; case 20: c.oPos += 1; } c.prev = ca.BEGIN_FILL; k = c; p = ((k.buffer.i[k.iPos] | 0) & 16777215) | (((255 * k.buffer.f[k.fPos]) | 0) << 24); k = h = null; break; case 3: switch (c.prev._hx_index) { case 0: c.oPos += 2; c.bPos += 2; break; case 1: c.iPos += 1; c.fPos += 1; break; case 2: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 3: c.oPos += 1; break; case 4: c.fPos += 6; break; case 5: c.fPos += 4; break; case 6: c.fPos += 3; break; case 7: c.fPos += 4; break; case 8: c.oPos += 3; break; case 9: c.fPos += 4; break; case 10: c.fPos += 5; c.oPos += 1; break; case 12: c.oPos += 4; break; case 14: c.oPos += 2; c.bPos += 2; break; case 15: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 16: c.oPos += 4; c.iPos += 1; c.fPos += 2; c.bPos += 1; break; case 17: c.fPos += 2; break; case 18: c.fPos += 2; break; case 19: c.oPos += 1; break; case 20: c.oPos += 1; } c.prev = ca.BEGIN_SHADER_FILL; m = c; h = m.buffer.o[m.oPos]; m = 0; k = null == h || null == h.shader || null == h.shader.__bitmap ? null : h.shader.__bitmap.input; p = null; break; case 8: if (null != k) { switch (c.prev._hx_index) { case 0: c.oPos += 2; c.bPos += 2; break; case 1: c.iPos += 1; c.fPos += 1; break; case 2: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 3: c.oPos += 1; break; case 4: c.fPos += 6; break; case 5: c.fPos += 4; break; case 6: c.fPos += 3; break; case 7: c.fPos += 4; break; case 8: c.oPos += 3; break; case 9: c.fPos += 4; break; case 10: c.fPos += 5; c.oPos += 1; break; case 12: c.oPos += 4; break; case 14: c.oPos += 2; c.bPos += 2; break; case 15: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 16: c.oPos += 4; c.iPos += 1; c.fPos += 2; c.bPos += 1; break; case 17: c.fPos += 2; break; case 18: c.fPos += 2; break; case 19: c.oPos += 1; break; case 20: c.oPos += 1; } c.prev = ca.DRAW_QUADS; var G = c; e = G.buffer.o[G.oPos]; G = G.buffer.o[G.oPos + 1]; e = null != G ? G.get_length() : Math.floor(e.get_length() / 4); var B = b.__getMatrix(a.__owner.__renderTransform, 1); null == h || Pc.maskRender ? ((G = Pc.maskRender ? b.__maskShader : b.__initGraphicsShader(null)), b.setShader(G), b.applyMatrix(B), b.applyBitmapData(k, n, r), b.applyAlpha(a.__owner.__worldAlpha), b.applyColorTransform(a.__owner.__worldColorTransform), b.updateShader()) : ((G = b.__initShaderBuffer(h)), b.__setShaderBuffer(h), b.applyMatrix(B), b.applyBitmapData(k, !1, r), b.applyAlpha(a.__owner.__worldAlpha), b.applyColorTransform(a.__owner.__worldColorTransform)); for (B = u + e; u < B; ) { e = Math.min(B - u, g.__quadIndexBufferElements) | 0; if (0 >= e) break; null == h || Pc.maskRender || b.__updateShaderBuffer(m); null != G.__position && g.setVertexBufferAt( G.__position.index, a.__quadBuffer.vertexBuffer, 16 * u, 2 ); null != G.__textureCoord && g.setVertexBufferAt( G.__textureCoord.index, a.__quadBuffer.vertexBuffer, 16 * u + 2, 2 ); g.drawTriangles(g.__quadIndexBuffer, 0, 2 * e); m += 4 * e; u += e; } b.__clearShader(); } break; case 9: if (null != p) { switch (c.prev._hx_index) { case 0: c.oPos += 2; c.bPos += 2; break; case 1: c.iPos += 1; c.fPos += 1; break; case 2: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 3: c.oPos += 1; break; case 4: c.fPos += 6; break; case 5: c.fPos += 4; break; case 6: c.fPos += 3; break; case 7: c.fPos += 4; break; case 8: c.oPos += 3; break; case 9: c.fPos += 4; break; case 10: c.fPos += 5; c.oPos += 1; break; case 12: c.oPos += 4; break; case 14: c.oPos += 2; c.bPos += 2; break; case 15: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 16: c.oPos += 4; c.iPos += 1; c.fPos += 2; c.bPos += 1; break; case 17: c.fPos += 2; break; case 18: c.fPos += 2; break; case 19: c.oPos += 1; break; case 20: c.oPos += 1; } c.prev = ca.DRAW_RECT; var N = c; G = N.buffer.f[N.fPos]; B = N.buffer.f[N.fPos + 1]; e = N.buffer.f[N.fPos + 2]; f = N.buffer.f[N.fPos + 3]; N = p; Pc.tempColorTransform.redOffset = (N >>> 16) & 255; Pc.tempColorTransform.greenOffset = (N >>> 8) & 255; Pc.tempColorTransform.blueOffset = N & 255; Pc.tempColorTransform.__combine(a.__owner.__worldColorTransform); l.identity(); l.scale(e, f); l.tx = G; l.ty = B; l.concat(a.__owner.__renderTransform); e = Pc.maskRender ? b.__maskShader : b.__initGraphicsShader(null); b.setShader(e); b.applyMatrix(b.__getMatrix(l, 1)); b.applyBitmapData(Pc.blankBitmapData, !0, r); b.applyAlpha((((N >>> 24) & 255) / 255) * a.__owner.__worldAlpha); b.applyColorTransform(Pc.tempColorTransform); b.updateShader(); G = Pc.blankBitmapData.getVertexBuffer(g); null != e.__position && g.setVertexBufferAt(e.__position.index, G, 0, 3); null != e.__textureCoord && g.setVertexBufferAt(e.__textureCoord.index, G, 3, 2); e = Pc.blankBitmapData.getIndexBuffer(g); g.drawTriangles(e); m += 4; b.__clearShader(); } break; case 12: switch (c.prev._hx_index) { case 0: c.oPos += 2; c.bPos += 2; break; case 1: c.iPos += 1; c.fPos += 1; break; case 2: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 3: c.oPos += 1; break; case 4: c.fPos += 6; break; case 5: c.fPos += 4; break; case 6: c.fPos += 3; break; case 7: c.fPos += 4; break; case 8: c.oPos += 3; break; case 9: c.fPos += 4; break; case 10: c.fPos += 5; c.oPos += 1; break; case 12: c.oPos += 4; break; case 14: c.oPos += 2; c.bPos += 2; break; case 15: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 16: c.oPos += 4; c.iPos += 1; c.fPos += 2; c.bPos += 1; break; case 17: c.fPos += 2; break; case 18: c.fPos += 2; break; case 19: c.oPos += 1; break; case 20: c.oPos += 1; } c.prev = ca.DRAW_TRIANGLES; f = c; G = f.buffer.o[f.oPos + 1]; B = f.buffer.o[f.oPos + 2]; e = f.buffer.o[f.oPos + 3]; N = null != G; f = Math.floor(f.buffer.o[f.oPos].get_length() / 2); G = N ? G.get_length() : f; N = (B = null != B && B.get_length() >= 3 * f) ? 4 : 2; f = N + 2; var H = B ? a.__vertexBufferUVT : a.__vertexBuffer, z = B ? x : t, C = b.__getMatrix(a.__owner.__renderTransform, 1); if (null == h || Pc.maskRender) { var ya = Pc.maskRender ? b.__maskShader : b.__initGraphicsShader(null); b.setShader(ya); b.applyMatrix(C); b.applyBitmapData(k, n, r); b.applyAlpha(a.__owner.__worldAlpha); b.applyColorTransform(a.__owner.__worldColorTransform); b.updateShader(); } else (ya = b.__initShaderBuffer(h)), b.__setShaderBuffer(h), b.applyMatrix(C), b.applyBitmapData(k, !1, r), b.applyAlpha(1), b.applyColorTransform(null), b.__updateShaderBuffer(m); null != ya.__position && g.setVertexBufferAt(ya.__position.index, H, z, B ? 4 : 2); null != ya.__textureCoord && g.setVertexBufferAt(ya.__textureCoord.index, H, z + N, 2); switch (e) { case 0: g.setCulling(0); break; case 1: g.setCulling(3); break; case 2: g.setCulling(1); } g.__drawTriangles(0, G); m += G; B ? (x += f * G) : (t += f * G); switch (e) { case 1: case 2: g.setCulling(0); } b.__clearShader(); break; case 13: h = p = k = null; switch (c.prev._hx_index) { case 0: c.oPos += 2; c.bPos += 2; break; case 1: c.iPos += 1; c.fPos += 1; break; case 2: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 3: c.oPos += 1; break; case 4: c.fPos += 6; break; case 5: c.fPos += 4; break; case 6: c.fPos += 3; break; case 7: c.fPos += 4; break; case 8: c.oPos += 3; break; case 9: c.fPos += 4; break; case 10: c.fPos += 5; c.oPos += 1; break; case 12: c.oPos += 4; break; case 14: c.oPos += 2; c.bPos += 2; break; case 15: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 16: c.oPos += 4; c.iPos += 1; c.fPos += 2; c.bPos += 1; break; case 17: c.fPos += 2; break; case 18: c.fPos += 2; break; case 19: c.oPos += 1; break; case 20: c.oPos += 1; } c.prev = e; g.setCulling(3); break; case 18: switch (c.prev._hx_index) { case 0: c.oPos += 2; c.bPos += 2; break; case 1: c.iPos += 1; c.fPos += 1; break; case 2: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 3: c.oPos += 1; break; case 4: c.fPos += 6; break; case 5: c.fPos += 4; break; case 6: c.fPos += 3; break; case 7: c.fPos += 4; break; case 8: c.oPos += 3; break; case 9: c.fPos += 4; break; case 10: c.fPos += 5; c.oPos += 1; break; case 12: c.oPos += 4; break; case 14: c.oPos += 2; c.bPos += 2; break; case 15: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 16: c.oPos += 4; c.iPos += 1; c.fPos += 2; c.bPos += 1; break; case 17: c.fPos += 2; break; case 18: c.fPos += 2; break; case 19: c.oPos += 1; break; case 20: c.oPos += 1; } c.prev = ca.MOVE_TO; break; case 19: switch (c.prev._hx_index) { case 0: c.oPos += 2; c.bPos += 2; break; case 1: c.iPos += 1; c.fPos += 1; break; case 2: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 3: c.oPos += 1; break; case 4: c.fPos += 6; break; case 5: c.fPos += 4; break; case 6: c.fPos += 3; break; case 7: c.fPos += 4; break; case 8: c.oPos += 3; break; case 9: c.fPos += 4; break; case 10: c.fPos += 5; c.oPos += 1; break; case 12: c.oPos += 4; break; case 14: c.oPos += 2; c.bPos += 2; break; case 15: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 16: c.oPos += 4; c.iPos += 1; c.fPos += 2; c.bPos += 1; break; case 17: c.fPos += 2; break; case 18: c.fPos += 2; break; case 19: c.oPos += 1; break; case 20: c.oPos += 1; } c.prev = ca.OVERRIDE_BLEND_MODE; e = c; b.__setBlendMode(e.buffer.o[e.oPos]); break; default: switch (c.prev._hx_index) { case 0: c.oPos += 2; c.bPos += 2; break; case 1: c.iPos += 1; c.fPos += 1; break; case 2: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 3: c.oPos += 1; break; case 4: c.fPos += 6; break; case 5: c.fPos += 4; break; case 6: c.fPos += 3; break; case 7: c.fPos += 4; break; case 8: c.oPos += 3; break; case 9: c.fPos += 4; break; case 10: c.fPos += 5; c.oPos += 1; break; case 12: c.oPos += 4; break; case 14: c.oPos += 2; c.bPos += 2; break; case 15: c.oPos += 4; c.iiPos += 2; c.ffPos += 1; c.fPos += 1; break; case 16: c.oPos += 4; c.iPos += 1; c.fPos += 2; c.bPos += 1; break; case 17: c.fPos += 2; break; case 18: c.fPos += 2; break; case 19: c.oPos += 1; break; case 20: c.oPos += 1; } c.prev = e; } Ia.__pool.release(l); } a.__hardwareDirty = !1; a.set___dirty(!1); } }; Pc.renderMask = function (a, b) { Pc.maskRender = !0; Pc.render(a, b); Pc.maskRender = !1; }; Pc.resizeIndexBuffer = function (a, b, c) { if (!b) { var d = b ? null : a.__triangleIndexBufferData, f = null; if (null == d) { var g = (f = null), l = null, h = null, k = null; f = c = null != c ? new Uint16Array(c) : null != f ? new Uint16Array(f) : null != g ? new Uint16Array(g.__array) : null != l ? new Uint16Array(l) : null != h ? null == k ? new Uint16Array(h, 0) : new Uint16Array(h, 0, k) : null; } else c > d.length && ((k = h = l = g = f = null), (f = c = null != c ? new Uint16Array(c) : null != f ? new Uint16Array(f) : null != g ? new Uint16Array(g.__array) : null != l ? new Uint16Array(l) : null != h ? null == k ? new Uint16Array(h, 0) : new Uint16Array(h, 0, k) : null), f.set(d)); null == f || b || (a.__triangleIndexBufferData = f); } }; Pc.resizeVertexBuffer = function (a, b, c) { var d = b ? a.__vertexBufferDataUVT : a.__vertexBufferData, f = null; if (null == d) { var g = (f = null), l = null, h = null, k = null; f = c = null != c ? new Float32Array(c) : null != f ? new Float32Array(f) : null != g ? new Float32Array(g.__array) : null != l ? new Float32Array(l) : null != h ? null == k ? new Float32Array(h, 0) : new Float32Array(h, 0, k) : null; } else c > d.length && ((k = h = l = g = f = null), (f = c = null != c ? new Float32Array(c) : null != f ? new Float32Array(f) : null != g ? new Float32Array(g.__array) : null != l ? new Float32Array(l) : null != h ? null == k ? new Float32Array(h, 0) : new Float32Array(h, 0, k) : null), f.set(d)); null != f && (b ? (a.__vertexBufferDataUVT = f) : (a.__vertexBufferData = f)); }; var ai = function () { null == this.__glFragmentSource && (this.__glFragmentSource = 'varying vec2 openfl_TextureCoordv;\n\n\t\tuniform sampler2D openfl_Texture;\n\n\t\tvoid main(void) {\n\n\t\t\tvec4 color = texture2D (openfl_Texture, openfl_TextureCoordv);\n\n\t\t\tif (color.a == 0.0) {\n\n\t\t\t\tdiscard;\n\n\t\t\t} else {\n\n\t\t\t\tgl_FragColor = color;\n\n\t\t\t}\n\n\t\t}'); null == this.__glVertexSource && (this.__glVertexSource = 'attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform mat4 openfl_Matrix;\n\n\t\tvoid main(void) {\n\n\t\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\n\t\t}'); af.call(this); this.__isGenerated = !0; this.__initGL(); }; k['openfl.display._internal.Context3DMaskShader'] = ai; ai.__name__ = 'openfl.display._internal.Context3DMaskShader'; ai.__super__ = af; ai.prototype = t(af.prototype, { openfl_Position: null, openfl_TextureCoord: null, openfl_Matrix: null, openfl_Texture: null, __class__: ai }); var Zf = function () {}; k['openfl.display._internal.Context3DShape'] = Zf; Zf.__name__ = 'openfl.display._internal.Context3DShape'; Zf.render = function (a, b) { if (a.__renderable && !(0 >= a.__worldAlpha)) { var c = a.__graphics; if (null != c) { b.__setBlendMode(a.__worldBlendMode); b.__pushMaskObject(a); Pc.render(c, b); if (null != c.__bitmap && c.__visible) { var e = b.__context3D, f = b.__initDisplayShader(a.__worldShader); b.setShader(f); b.applyBitmapData(c.__bitmap, !0); b.applyMatrix(b.__getMatrix(c.__worldTransform, 1)); b.applyAlpha(a.__worldAlpha); b.applyColorTransform(a.__worldColorTransform); b.updateShader(); var g = c.__bitmap.getVertexBuffer(e); null != f.__position && e.setVertexBufferAt(f.__position.index, g, 0, 3); null != f.__textureCoord && e.setVertexBufferAt(f.__textureCoord.index, g, 3, 2); c = c.__bitmap.getIndexBuffer(e); e.drawTriangles(c); b.__clearShader(); } b.__popMaskObject(a); } } }; Zf.renderMask = function (a, b) { var c = a.__graphics; if (null != c && (Pc.renderMask(c, b), null != c.__bitmap)) { a = b.__context3D; var e = b.__maskShader; b.setShader(e); b.applyBitmapData(c.__bitmap, !0); b.applyMatrix(b.__getMatrix(c.__worldTransform, 1)); b.updateShader(); var f = c.__bitmap.getVertexBuffer(a); null != e.__position && a.setVertexBufferAt(e.__position.index, f, 0, 3); null != e.__textureCoord && a.setVertexBufferAt(e.__textureCoord.index, f, 3, 2); c = c.__bitmap.getIndexBuffer(a); a.drawTriangles(c); b.__clearShader(); } }; var Um = function () {}; k['openfl.display._internal.Context3DSimpleButton'] = Um; Um.__name__ = 'openfl.display._internal.Context3DSimpleButton'; Um.renderDrawable = function (a, b) { !a.__renderable || 0 >= a.__worldAlpha || null == a.__currentState || (b.__pushMaskObject(a), b.__renderDrawable(a.__currentState), b.__popMaskObject(a), b.__renderEvent(a)); }; Um.renderDrawableMask = function (a, b) { null != a.__currentState && b.__renderDrawableMask(a.__currentState); }; var ch = function () {}; k['openfl.display._internal.Context3DTextField'] = ch; ch.__name__ = 'openfl.display._internal.Context3DTextField'; ch.render = function (a, b) { var c = b.__softwareRenderer; b = a.__textEngine; var e = !(b.background || b.border), f = e ? b.textBounds : b.bounds, g = a.__graphics, l = 0; if (a.__dirty) { a.__updateLayout(); null == g.__bounds && (g.__bounds = new ea()); if (0 == a.get_text().length) { l = b.bounds.width - 4; var h = a.get_defaultTextFormat().align; l = 3 == h ? 0 : 4 == h ? l : l / 2; switch (h) { case 0: l += a.get_defaultTextFormat().leftMargin / 2; l -= a.get_defaultTextFormat().rightMargin / 2; l += a.get_defaultTextFormat().indent / 2; l += a.get_defaultTextFormat().blockIndent / 2; break; case 2: l += a.get_defaultTextFormat().leftMargin; l += a.get_defaultTextFormat().indent; l += a.get_defaultTextFormat().blockIndent; break; case 3: l += a.get_defaultTextFormat().leftMargin; l += a.get_defaultTextFormat().indent; l += a.get_defaultTextFormat().blockIndent; break; case 4: l -= a.get_defaultTextFormat().rightMargin; } e && ((f.y = b.bounds.y), (f.x = l)); } g.__bounds.copyFrom(f); } g.__update(c.__worldTransform); if (a.__dirty || g.__softwareDirty) { var k = g.__width, r = g.__height; if ( !( (null != b.text && '' != b.text) || b.background || b.border || b.__hasFocus || (1 == b.type && b.selectable) ) || ((0 >= b.width || 0 >= b.height) && 2 != b.autoSize) ) (a.__graphics.__canvas = null), (a.__graphics.__context = null), (a.__graphics.__bitmap = null), (a.__graphics.__softwareDirty = !1), a.__graphics.set___dirty(!1), (a.__dirty = !1); else { null == a.__graphics.__canvas && ((a.__graphics.__canvas = window.document.createElement('canvas')), (a.__graphics.__context = a.__graphics.__canvas.getContext('2d'))); U.context = g.__context; h = g.__renderTransform; if (c.__isDOM) { var n = c.pixelRatio; g.__canvas.width = (k * n) | 0; g.__canvas.height = (r * n) | 0; g.__canvas.style.width = k + 'px'; g.__canvas.style.height = r + 'px'; k = Ia.__pool.get(); k.copyFrom(h); k.scale(n, n); c.setTransform(k, U.context); Ia.__pool.release(k); } else (g.__canvas.width = k), (g.__canvas.height = r), U.context.setTransform(h.a, h.b, h.c, h.d, h.tx, h.ty); null == U.clearRect && (U.clearRect = 'undefined' !== typeof navigator && 'undefined' !== typeof navigator.isCocoonJS); U.clearRect && U.context.clearRect(0, 0, g.__canvas.width, g.__canvas.height); if ((null != b.text && '' != b.text) || b.__hasFocus) { e = b.text; g.__context.imageSmoothingEnabled = !c.__allowSmoothing || (0 == b.antiAliasType && 400 == b.sharpness) ? !1 : !0; if (b.border || b.background) { U.context.rect(0.5, 0.5, f.width - 1, f.height - 1); if (b.background) { var p = T.hex(b.backgroundColor & 16777215, 6); U.context.fillStyle = '#' + p; U.context.fill(); } b.border && ((U.context.lineWidth = 1), (p = T.hex(b.borderColor & 16777215, 6)), (U.context.strokeStyle = '#' + p), U.context.stroke()); } U.context.textBaseline = 'alphabetic'; U.context.textAlign = 'start'; c = -a.get_scrollH(); var u = (l = 0); for (p = a.get_scrollV() - 1; u < p; ) { var m = u++; l -= b.lineHeights.get(m); } for (h = b.layoutGroups.iterator(); h.hasNext(); ) if (((n = h.next()), !(n.lineIndex < a.get_scrollV() - 1))) { if (n.lineIndex > b.get_bottomScrollV() - 1) break; k = '#' + T.hex(n.format.color & 16777215, 6); U.context.font = Qb.getFont(n.format); U.context.fillStyle = k; U.context.fillText( e.substring(n.startIndex, n.endIndex), n.offsetX + c - f.x, n.offsetY + n.ascent + l - f.y ); if (-1 < a.__caretIndex && b.selectable) if (a.__selectionIndex == a.__caretIndex) { if ( a.__showCursor && n.startIndex <= a.__caretIndex && n.endIndex >= a.__caretIndex ) { u = r = 0; for (p = a.__caretIndex - n.startIndex; u < p; ) { m = u++; if (n.positions.length <= m) break; r += n.positions[m]; } u = 0; p = a.get_scrollV(); for (m = n.lineIndex + 1; p < m; ) { var t = p++; u += b.lineHeights.get(t - 1); } U.context.beginPath(); p = T.hex(n.format.color & 16777215, 6); U.context.strokeStyle = '#' + p; U.context.moveTo(n.offsetX + r - a.get_scrollH() - f.x, u + 2 - f.y); U.context.lineWidth = 1; U.context.lineTo( n.offsetX + r - a.get_scrollH() - f.x, u + Qb.getFormatHeight(a.get_defaultTextFormat()) - 1 - f.y ); U.context.stroke(); U.context.closePath(); } } else if ( (n.startIndex <= a.__caretIndex && n.endIndex >= a.__caretIndex) || (n.startIndex <= a.__selectionIndex && n.endIndex >= a.__selectionIndex) || (n.startIndex > a.__caretIndex && n.endIndex < a.__selectionIndex) || (n.startIndex > a.__selectionIndex && n.endIndex < a.__caretIndex) ) (r = Math.min(a.__selectionIndex, a.__caretIndex) | 0), (u = Math.max(a.__selectionIndex, a.__caretIndex) | 0), n.startIndex > r && (r = n.startIndex), n.endIndex < u && (u = n.endIndex), (m = a.getCharBoundaries(r)), u >= n.endIndex ? ((p = a.getCharBoundaries(n.endIndex - 1)), null != p && (p.x += p.width + 2)) : (p = a.getCharBoundaries(u)), null != m && null != p && ((U.context.fillStyle = '#000000'), U.context.fillRect(m.x + c - f.x, m.y + l, p.x - m.x, n.height), (U.context.fillStyle = '#FFFFFF'), U.context.fillText( e.substring(r, u), c + m.x - f.x, n.offsetY + n.ascent + l )); n.format.underline && (U.context.beginPath(), (U.context.strokeStyle = k), (U.context.lineWidth = 1), (k = n.offsetX + c - f.x), (r = Math.floor(n.offsetY + l + n.ascent - f.y) + 0.5), U.context.moveTo(k, r), U.context.lineTo(k + n.width, r), U.context.stroke(), U.context.closePath()); } } else { if (b.border || b.background) b.border ? U.context.rect(0.5, 0.5, f.width - 1, f.height - 1) : U.context.rect(0, 0, f.width, f.height), b.background && ((p = T.hex(b.backgroundColor & 16777215, 6)), (U.context.fillStyle = '#' + p), U.context.fill()), b.border && ((U.context.lineWidth = 1), (U.context.lineCap = 'square'), (p = T.hex(b.borderColor & 16777215, 6)), (U.context.strokeStyle = '#' + p), U.context.stroke()); if (-1 < a.__caretIndex && b.selectable && a.__showCursor) { c = -a.get_scrollH() + (e ? 0 : l); u = l = 0; for (p = a.get_scrollV() - 1; u < p; ) (m = u++), (l += b.lineHeights.get(m)); U.context.beginPath(); p = T.hex(a.get_defaultTextFormat().color & 16777215, 6); U.context.strokeStyle = '#' + p; U.context.moveTo(c + 2.5, l + 2.5); U.context.lineWidth = 1; U.context.lineTo(c + 2.5, l + Qb.getFormatHeight(a.get_defaultTextFormat()) - 1); U.context.stroke(); U.context.closePath(); } } g.__bitmap = la.fromCanvas(a.__graphics.__canvas); g.__visible = !0; a.__dirty = !1; g.__softwareDirty = !1; g.set___dirty(!1); } } a.__graphics.__hardwareDirty = !1; }; ch.renderDrawable = function (a, b) { b.__updateCacheBitmap(a, !1); if (null == a.__cacheBitmap || a.__isCacheBitmapRender) { if ( (ch.render(a, b), !( (null == a.opaqueBackground && null == a.__graphics) || !a.__renderable || 0 >= a.__worldAlpha )) ) { if ( null != a.opaqueBackground && !a.__isCacheBitmapRender && 0 < a.get_width() && 0 < a.get_height() ) { b.__setBlendMode(a.__worldBlendMode); b.__pushMaskObject(a); var c = b.__context3D, e = ea.__pool.get(); e.setTo(0, 0, a.get_width(), a.get_height()); b.__pushMaskRect(e, a.__renderTransform); var f = a.opaqueBackground; c.clear( ((f >>> 16) & 255) / 255, ((f >>> 8) & 255) / 255, (f & 255) / 255, 1, 0, 0, 1 ); b.__popMaskRect(); b.__popMaskObject(a); ea.__pool.release(e); } null != a.__graphics && Zf.render(a, b); } } else uf.render(a.__cacheBitmap, b); b.__renderEvent(a); }; ch.renderDrawableMask = function (a, b) { ch.renderMask(a, b); bh.renderDrawableMask(a, b); }; ch.renderMask = function (a, b) { var c = b.__softwareRenderer; b = a.__textEngine; var e = !(b.background || b.border), f = e ? b.textBounds : b.bounds, g = a.__graphics, l = 0; if (a.__dirty) { a.__updateLayout(); null == g.__bounds && (g.__bounds = new ea()); if (0 == a.get_text().length) { l = b.bounds.width - 4; var h = a.get_defaultTextFormat().align; l = 3 == h ? 0 : 4 == h ? l : l / 2; switch (h) { case 0: l += a.get_defaultTextFormat().leftMargin / 2; l -= a.get_defaultTextFormat().rightMargin / 2; l += a.get_defaultTextFormat().indent / 2; l += a.get_defaultTextFormat().blockIndent / 2; break; case 2: l += a.get_defaultTextFormat().leftMargin; l += a.get_defaultTextFormat().indent; l += a.get_defaultTextFormat().blockIndent; break; case 3: l += a.get_defaultTextFormat().leftMargin; l += a.get_defaultTextFormat().indent; l += a.get_defaultTextFormat().blockIndent; break; case 4: l -= a.get_defaultTextFormat().rightMargin; } e && ((f.y = b.bounds.y), (f.x = l)); } g.__bounds.copyFrom(f); } g.__update(c.__worldTransform); if (a.__dirty || g.__softwareDirty) { var k = g.__width, r = g.__height; if ( !( (null != b.text && '' != b.text) || b.background || b.border || b.__hasFocus || (1 == b.type && b.selectable) ) || ((0 >= b.width || 0 >= b.height) && 2 != b.autoSize) ) (a.__graphics.__canvas = null), (a.__graphics.__context = null), (a.__graphics.__bitmap = null), (a.__graphics.__softwareDirty = !1), a.__graphics.set___dirty(!1), (a.__dirty = !1); else { null == a.__graphics.__canvas && ((a.__graphics.__canvas = window.document.createElement('canvas')), (a.__graphics.__context = a.__graphics.__canvas.getContext('2d'))); U.context = g.__context; h = g.__renderTransform; if (c.__isDOM) { var n = c.pixelRatio; g.__canvas.width = (k * n) | 0; g.__canvas.height = (r * n) | 0; g.__canvas.style.width = k + 'px'; g.__canvas.style.height = r + 'px'; k = Ia.__pool.get(); k.copyFrom(h); k.scale(n, n); c.setTransform(k, U.context); Ia.__pool.release(k); } else (g.__canvas.width = k), (g.__canvas.height = r), U.context.setTransform(h.a, h.b, h.c, h.d, h.tx, h.ty); null == U.clearRect && (U.clearRect = 'undefined' !== typeof navigator && 'undefined' !== typeof navigator.isCocoonJS); U.clearRect && U.context.clearRect(0, 0, g.__canvas.width, g.__canvas.height); if ((null != b.text && '' != b.text) || b.__hasFocus) { e = b.text; g.__context.imageSmoothingEnabled = !c.__allowSmoothing || (0 == b.antiAliasType && 400 == b.sharpness) ? !1 : !0; if (b.border || b.background) { U.context.rect(0.5, 0.5, f.width - 1, f.height - 1); if (b.background) { var p = T.hex(b.backgroundColor & 16777215, 6); U.context.fillStyle = '#' + p; U.context.fill(); } b.border && ((U.context.lineWidth = 1), (p = T.hex(b.borderColor & 16777215, 6)), (U.context.strokeStyle = '#' + p), U.context.stroke()); } U.context.textBaseline = 'alphabetic'; U.context.textAlign = 'start'; c = -a.get_scrollH(); var u = (l = 0); for (p = a.get_scrollV() - 1; u < p; ) { var m = u++; l -= b.lineHeights.get(m); } for (h = b.layoutGroups.iterator(); h.hasNext(); ) if (((n = h.next()), !(n.lineIndex < a.get_scrollV() - 1))) { if (n.lineIndex > b.get_bottomScrollV() - 1) break; k = '#' + T.hex(n.format.color & 16777215, 6); U.context.font = Qb.getFont(n.format); U.context.fillStyle = k; U.context.fillText( e.substring(n.startIndex, n.endIndex), n.offsetX + c - f.x, n.offsetY + n.ascent + l - f.y ); if (-1 < a.__caretIndex && b.selectable) if (a.__selectionIndex == a.__caretIndex) { if ( a.__showCursor && n.startIndex <= a.__caretIndex && n.endIndex >= a.__caretIndex ) { u = r = 0; for (p = a.__caretIndex - n.startIndex; u < p; ) { m = u++; if (n.positions.length <= m) break; r += n.positions[m]; } u = 0; p = a.get_scrollV(); for (m = n.lineIndex + 1; p < m; ) { var t = p++; u += b.lineHeights.get(t - 1); } U.context.beginPath(); p = T.hex(n.format.color & 16777215, 6); U.context.strokeStyle = '#' + p; U.context.moveTo(n.offsetX + r - a.get_scrollH() - f.x, u + 2 - f.y); U.context.lineWidth = 1; U.context.lineTo( n.offsetX + r - a.get_scrollH() - f.x, u + Qb.getFormatHeight(a.get_defaultTextFormat()) - 1 - f.y ); U.context.stroke(); U.context.closePath(); } } else if ( (n.startIndex <= a.__caretIndex && n.endIndex >= a.__caretIndex) || (n.startIndex <= a.__selectionIndex && n.endIndex >= a.__selectionIndex) || (n.startIndex > a.__caretIndex && n.endIndex < a.__selectionIndex) || (n.startIndex > a.__selectionIndex && n.endIndex < a.__caretIndex) ) (r = Math.min(a.__selectionIndex, a.__caretIndex) | 0), (u = Math.max(a.__selectionIndex, a.__caretIndex) | 0), n.startIndex > r && (r = n.startIndex), n.endIndex < u && (u = n.endIndex), (m = a.getCharBoundaries(r)), u >= n.endIndex ? ((p = a.getCharBoundaries(n.endIndex - 1)), null != p && (p.x += p.width + 2)) : (p = a.getCharBoundaries(u)), null != m && null != p && ((U.context.fillStyle = '#000000'), U.context.fillRect(m.x + c - f.x, m.y + l, p.x - m.x, n.height), (U.context.fillStyle = '#FFFFFF'), U.context.fillText( e.substring(r, u), c + m.x - f.x, n.offsetY + n.ascent + l )); n.format.underline && (U.context.beginPath(), (U.context.strokeStyle = k), (U.context.lineWidth = 1), (k = n.offsetX + c - f.x), (r = Math.floor(n.offsetY + l + n.ascent - f.y) + 0.5), U.context.moveTo(k, r), U.context.lineTo(k + n.width, r), U.context.stroke(), U.context.closePath()); } } else { if (b.border || b.background) b.border ? U.context.rect(0.5, 0.5, f.width - 1, f.height - 1) : U.context.rect(0, 0, f.width, f.height), b.background && ((p = T.hex(b.backgroundColor & 16777215, 6)), (U.context.fillStyle = '#' + p), U.context.fill()), b.border && ((U.context.lineWidth = 1), (U.context.lineCap = 'square'), (p = T.hex(b.borderColor & 16777215, 6)), (U.context.strokeStyle = '#' + p), U.context.stroke()); if (-1 < a.__caretIndex && b.selectable && a.__showCursor) { c = -a.get_scrollH() + (e ? 0 : l); u = l = 0; for (p = a.get_scrollV() - 1; u < p; ) (m = u++), (l += b.lineHeights.get(m)); U.context.beginPath(); p = T.hex(a.get_defaultTextFormat().color & 16777215, 6); U.context.strokeStyle = '#' + p; U.context.moveTo(c + 2.5, l + 2.5); U.context.lineWidth = 1; U.context.lineTo(c + 2.5, l + Qb.getFormatHeight(a.get_defaultTextFormat()) - 1); U.context.stroke(); U.context.closePath(); } } g.__bitmap = la.fromCanvas(a.__graphics.__canvas); g.__visible = !0; a.__dirty = !1; g.__softwareDirty = !1; g.set___dirty(!1); } } a.__graphics.__hardwareDirty = !1; }; var da = function () {}; k['openfl.display._internal.Context3DTilemap'] = da; da.__name__ = 'openfl.display._internal.Context3DTilemap'; da.buildBuffer = function (a, b) { if (!a.__renderable || 0 == a.__group.__tiles.length || 0 >= a.__worldAlpha) a.__group.__dirty = !1; else { da.numTiles = 0; da.vertexBufferData = null != a.__buffer ? a.__buffer.vertexBufferData : null; da.vertexDataPosition = 0; var c = ea.__pool.get(), e = Ia.__pool.get(), f = Ia.__pool.get(); da.dataPerVertex = 4; a.tileAlphaEnabled && da.dataPerVertex++; a.tileColorTransformEnabled && (da.dataPerVertex += 8); da.buildBufferTileContainer( a, a.__group, b, f, a.__tileset, a.tileAlphaEnabled, a.__worldAlpha, a.tileColorTransformEnabled, a.__worldColorTransform, null, c, e ); a.__buffer.flushVertexBufferData(); ea.__pool.release(c); Ia.__pool.release(e); Ia.__pool.release(f); } }; da.buildBufferTileContainer = function (a, b, c, e, f, g, l, h, k, r, n, p, u) { null == u && (u = !0); var d = Ia.__pool.get(), q = c.__roundPixels, m = b.__tiles, y = null; y = function (a) { a = a.__tiles; for (var b = 0, c = 0; c < a.length; ) { var d = a[c]; ++c; 0 < d.__length ? (b += y(d)) : ++b; } return b; }; u && da.resizeBuffer(a, da.numTiles + y(b)); u = null; for (var t, x, v, w, G, B, N, H, z, D, C = g ? 5 : 4, ya = 0; ya < m.length; ) { var E = m[ya]; ++ya; d.setTo(1, 0, 0, 1, -E.get_originX(), -E.get_originY()); d.concat(E.get_matrix()); d.concat(e); q && ((d.tx = Math.round(d.tx)), (d.ty = Math.round(d.ty))); var J = null != E.get_tileset() ? E.get_tileset() : f; var I = E.get_alpha() * l; var F = E.get_visible(); E.__dirty = !1; if (F && !(0 >= I)) if ( (h && (null != E.get_colorTransform() ? null == k ? (u = E.get_colorTransform()) : (null == da.cacheColorTransform && (da.cacheColorTransform = new Kc()), (u = da.cacheColorTransform), (u.redMultiplier = k.redMultiplier * E.get_colorTransform().redMultiplier), (u.greenMultiplier = k.greenMultiplier * E.get_colorTransform().greenMultiplier), (u.blueMultiplier = k.blueMultiplier * E.get_colorTransform().blueMultiplier), (u.alphaMultiplier = k.alphaMultiplier * E.get_colorTransform().alphaMultiplier), (u.redOffset = k.redOffset + E.get_colorTransform().redOffset), (u.greenOffset = k.greenOffset + E.get_colorTransform().greenOffset), (u.blueOffset = k.blueOffset + E.get_colorTransform().blueOffset), (u.alphaOffset = k.alphaOffset + E.get_colorTransform().alphaOffset)) : (u = k)), g || (I = 1), 0 < E.__length) ) da.buildBufferTileContainer(a, E, c, d, J, g, I, h, u, r, n, p, !1); else if (null != J && ((F = E.get_id()), (t = J.__bitmapData), null != t)) { if (-1 == F) { x = E.__rect; if (null == x || 0 >= x.width || 0 >= x.height) continue; E = x.x / t.width; J = x.y / t.height; F = x.get_right() / t.width; w = x.get_bottom() / t.height; } else { t = J.__data[F]; if (null == t) continue; n.setTo(t.x, t.y, t.width, t.height); x = n; E = t.__uvX; J = t.__uvY; F = t.__uvWidth; w = t.__uvHeight; } t = x.width; v = x.height; x = 0 * d.a + 0 * d.c + d.tx; G = 0 * d.b + 0 * d.d + d.ty; B = t * d.a + 0 * d.c + d.tx; N = t * d.b + 0 * d.d + d.ty; H = 0 * d.a + v * d.c + d.tx; z = 0 * d.b + v * d.d + d.ty; D = t * d.a + v * d.c + d.tx; v = t * d.b + v * d.d + d.ty; t = da.vertexDataPosition; da.vertexBufferData[t] = x; da.vertexBufferData[t + 1] = G; da.vertexBufferData[t + 2] = E; da.vertexBufferData[t + 3] = J; da.vertexBufferData[t + da.dataPerVertex] = B; da.vertexBufferData[t + da.dataPerVertex + 1] = N; da.vertexBufferData[t + da.dataPerVertex + 2] = F; da.vertexBufferData[t + da.dataPerVertex + 3] = J; da.vertexBufferData[t + 2 * da.dataPerVertex] = H; da.vertexBufferData[t + 2 * da.dataPerVertex + 1] = z; da.vertexBufferData[t + 2 * da.dataPerVertex + 2] = E; da.vertexBufferData[t + 2 * da.dataPerVertex + 3] = w; da.vertexBufferData[t + 3 * da.dataPerVertex] = D; da.vertexBufferData[t + 3 * da.dataPerVertex + 1] = v; da.vertexBufferData[t + 3 * da.dataPerVertex + 2] = F; da.vertexBufferData[t + 3 * da.dataPerVertex + 3] = w; g && ((da.vertexBufferData[t + 0 * da.dataPerVertex + 4] = I), (da.vertexBufferData[t + da.dataPerVertex + 4] = I), (da.vertexBufferData[t + 2 * da.dataPerVertex + 4] = I), (da.vertexBufferData[t + 3 * da.dataPerVertex + 4] = I)); if (h) if (null != u) for (I = 0; 4 > I; ) (E = I++), (da.vertexBufferData[t + da.dataPerVertex * E + C] = u.redMultiplier), (da.vertexBufferData[t + da.dataPerVertex * E + C + 1] = u.greenMultiplier), (da.vertexBufferData[t + da.dataPerVertex * E + C + 2] = u.blueMultiplier), (da.vertexBufferData[t + da.dataPerVertex * E + C + 3] = u.alphaMultiplier), (da.vertexBufferData[t + da.dataPerVertex * E + C + 4] = u.redOffset), (da.vertexBufferData[t + da.dataPerVertex * E + C + 5] = u.greenOffset), (da.vertexBufferData[t + da.dataPerVertex * E + C + 6] = u.blueOffset), (da.vertexBufferData[t + da.dataPerVertex * E + C + 7] = u.alphaOffset); else for (I = 0; 4 > I; ) (E = I++), (da.vertexBufferData[t + da.dataPerVertex * E + C] = 1), (da.vertexBufferData[t + da.dataPerVertex * E + C + 1] = 1), (da.vertexBufferData[t + da.dataPerVertex * E + C + 2] = 1), (da.vertexBufferData[t + da.dataPerVertex * E + C + 3] = 1), (da.vertexBufferData[t + da.dataPerVertex * E + C + 4] = 0), (da.vertexBufferData[t + da.dataPerVertex * E + C + 5] = 0), (da.vertexBufferData[t + da.dataPerVertex * E + C + 6] = 0), (da.vertexBufferData[t + da.dataPerVertex * E + C + 7] = 0); da.vertexDataPosition += 4 * da.dataPerVertex; } } b.__dirty = !1; Ia.__pool.release(d); }; da.flush = function (a, b, c) { null == da.currentShader && (da.currentShader = b.__defaultDisplayShader); if ( da.bufferPosition > da.lastFlushedPosition && null != da.currentBitmapData && null != da.currentShader ) { var d = b.__initDisplayShader(da.currentShader); b.setShader(d); b.applyBitmapData(da.currentBitmapData, a.smoothing); b.applyMatrix(b.__getMatrix(a.__renderTransform, 1)); a.tileAlphaEnabled ? b.useAlphaArray() : b.applyAlpha(a.__worldAlpha); a.tileBlendModeEnabled && b.__setBlendMode(c); a.tileColorTransformEnabled ? (b.applyHasColorTransform(!0), b.useColorTransformArray()) : b.applyColorTransform(a.__worldColorTransform); b.updateShader(); c = a.__buffer.vertexBuffer; for ( var f = da.lastFlushedPosition * da.dataPerVertex * 4, g; da.lastFlushedPosition < da.bufferPosition; ) { g = Math.min( da.bufferPosition - da.lastFlushedPosition, da.context.__quadIndexBufferElements ) | 0; if (0 >= g) break; null != d.__position && da.context.setVertexBufferAt(d.__position.index, c, f, 2); null != d.__textureCoord && da.context.setVertexBufferAt(d.__textureCoord.index, c, f + 2, 2); a.tileAlphaEnabled && null != d.__alpha && da.context.setVertexBufferAt(d.__alpha.index, c, f + 4, 1); if (a.tileColorTransformEnabled) { var l = a.tileAlphaEnabled ? 5 : 4; null != d.__colorMultiplier && da.context.setVertexBufferAt(d.__colorMultiplier.index, c, f + l, 4); null != d.__colorOffset && da.context.setVertexBufferAt(d.__colorOffset.index, c, f + l + 4, 4); } da.context.drawTriangles(da.context.__quadIndexBuffer, 0, 2 * g); da.lastFlushedPosition += g; } b.__clearShader(); } da.lastUsedBitmapData = da.currentBitmapData; da.lastUsedShader = da.currentShader; }; da.render = function (a, b) { if ( a.__renderable && !(0 >= a.__worldAlpha) && ((da.context = b.__context3D), da.buildBuffer(a, b), 0 != da.numTiles) ) { da.bufferPosition = 0; da.lastFlushedPosition = 0; da.lastUsedBitmapData = null; da.lastUsedShader = null; da.currentBitmapData = null; da.currentShader = null; da.currentBlendMode = a.__worldBlendMode; a.tileBlendModeEnabled || b.__setBlendMode(da.currentBlendMode); b.__pushMaskObject(a); var c = ea.__pool.get(); c.setTo(0, 0, a.__width, a.__height); b.__pushMaskRect(c, a.__renderTransform); da.renderTileContainer( a, b, a.__group, a.__worldShader, a.__tileset, a.__worldAlpha, a.tileBlendModeEnabled, da.currentBlendMode, null ); da.flush(a, b, da.currentBlendMode); b.__popMaskRect(); b.__popMaskObject(a); ea.__pool.release(c); } }; da.renderDrawable = function (a, b) { b.__updateCacheBitmap(a, !1); if (null == a.__cacheBitmap || a.__isCacheBitmapRender) { if ( !( (null == a.opaqueBackground && null == a.__graphics) || !a.__renderable || 0 >= a.__worldAlpha ) ) { if ( null != a.opaqueBackground && !a.__isCacheBitmapRender && 0 < a.get_width() && 0 < a.get_height() ) { b.__setBlendMode(a.__worldBlendMode); b.__pushMaskObject(a); var c = b.__context3D, e = ea.__pool.get(); e.setTo(0, 0, a.get_width(), a.get_height()); b.__pushMaskRect(e, a.__renderTransform); var f = a.opaqueBackground; c.clear( ((f >>> 16) & 255) / 255, ((f >>> 8) & 255) / 255, (f & 255) / 255, 1, 0, 0, 1 ); b.__popMaskRect(); b.__popMaskObject(a); ea.__pool.release(e); } null != a.__graphics && Zf.render(a, b); } da.render(a, b); } else uf.render(a.__cacheBitmap, b); b.__renderEvent(a); }; da.renderDrawableMask = function (a, b) { if (null != a.opaqueBackground || null != a.__graphics) null != a.opaqueBackground && !a.__isCacheBitmapRender && 0 < a.get_width() && a.get_height(), null != a.__graphics && Zf.renderMask(a, b); da.renderMask(a, b); }; da.renderTileContainer = function (a, b, c, e, f, g, l, h, k) { c = c.__tiles; for (var d, q, p, n, u = null, m, y = 0; y < c.length; ) if ( ((d = c[y]), ++y, (q = null != d.get_tileset() ? d.get_tileset() : f), (p = d.get_alpha() * g), (n = d.get_visible()) && !(0 >= p)) ) if ( ((n = null != d.get_shader() ? d.get_shader() : e), l && (u = null != d.__blendMode ? d.__blendMode : h), 0 < d.__length) ) da.renderTileContainer(a, b, d, n, q, p, l, u, k); else if (null != q && ((m = d.get_id()), (p = q.__bitmapData), null != p)) { if (-1 == m) { if (((d = d.__rect), null == d || 0 >= d.width || 0 >= d.height)) continue; } else if (((d = q.__data[m]), null == d)) continue; (n != da.currentShader || (p != da.currentBitmapData && null != da.currentBitmapData) || da.currentBlendMode != u) && da.flush(a, b, da.currentBlendMode); da.currentBitmapData = p; da.currentShader = n; da.currentBlendMode = u; da.bufferPosition++; } }; da.renderMask = function (a, b) {}; da.resizeBuffer = function (a, b) { da.numTiles = b; null == a.__buffer ? (a.__buffer = new Eh(da.context, bn.QUADS, da.numTiles, da.dataPerVertex)) : a.__buffer.resize(da.numTiles, da.dataPerVertex); da.vertexBufferData = a.__buffer.vertexBufferData; }; var vf = function () {}; k['openfl.display._internal.Context3DVideo'] = vf; vf.__name__ = 'openfl.display._internal.Context3DVideo'; vf.render = function (a, b) { if ( a.__renderable && !(0 >= a.__worldAlpha) && null != a.__stream && null != a.__stream.__video ) { var c = b.__context3D, e = c.gl; if (null != a.__getTexture(c)) { b.__setBlendMode(a.__worldBlendMode); b.__pushMaskObject(a); var f = b.__initDisplayShader(a.__worldShader); b.setShader(f); b.applyBitmapData(null, !0, !1); b.applyMatrix(b.__getMatrix(a.__renderTransform, 1)); b.applyAlpha(a.__worldAlpha); b.applyColorTransform(a.__worldColorTransform); null != f.__textureSize && ((vf.__textureSizeValue[0] = null != a.__stream ? a.__stream.__video.videoWidth : 0), (vf.__textureSizeValue[1] = null != a.__stream ? a.__stream.__video.videoHeight : 0), (f.__textureSize.value = vf.__textureSizeValue)); b.updateShader(); c.setTextureAt(0, a.__getTexture(c)); c.__flushGLTextures(); e.uniform1i(f.__texture.index, 0); a.smoothing ? (e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MAG_FILTER, e.LINEAR), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MIN_FILTER, e.LINEAR)) : (e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MAG_FILTER, e.NEAREST), e.texParameteri(e.TEXTURE_2D, e.TEXTURE_MIN_FILTER, e.NEAREST)); e = a.__getVertexBuffer(c); null != f.__position && c.setVertexBufferAt(f.__position.index, e, 0, 3); null != f.__textureCoord && c.setVertexBufferAt(f.__textureCoord.index, e, 3, 2); f = a.__getIndexBuffer(c); c.drawTriangles(f); b.__clearShader(); b.__popMaskObject(a); } } }; vf.renderDrawable = function (a, b) { vf.render(a, b); b.__renderEvent(a); }; vf.renderDrawableMask = function (a, b) { vf.renderMask(a, b); }; vf.renderMask = function (a, b) { if (null != a.__stream && null != a.__stream.__video) { var c = b.__context3D, e = b.__maskShader; b.setShader(e); b.applyBitmapData(ai.opaqueBitmapData, !0); b.applyMatrix(b.__getMatrix(a.__renderTransform, 1)); b.updateShader(); var f = a.__getVertexBuffer(c); null != e.__position && c.setVertexBufferAt(e.__position.index, f, 0, 3); null != e.__textureCoord && c.setVertexBufferAt(e.__textureCoord.index, f, 3, 2); a = a.__getIndexBuffer(c); c.drawTriangles(a); b.__clearShader(); } }; var Qc = function () {}; k['openfl.display._internal.DOMBitmap'] = Qc; Qc.__name__ = 'openfl.display._internal.DOMBitmap'; Qc.clear = function (a, b) { null != a.__cacheBitmap && Qc.clear(a.__cacheBitmap, b); null != a.__image && (b.element.removeChild(a.__image), (a.__image = null), (a.__style = null)); null != a.__canvas && (b.element.removeChild(a.__canvas), (a.__canvas = null), (a.__style = null)); }; Qc.render = function (a, b) { null != a.stage && a.__worldVisible && a.__renderable && null != a.__bitmapData && a.__bitmapData.__isValid && a.__bitmapData.readable ? (b.__pushMaskObject(a), null != a.__bitmapData.image.buffer.__srcImage ? Qc.renderImage(a, b) : Qc.renderCanvas(a, b), b.__popMaskObject(a)) : Qc.clear(a, b); }; Qc.renderCanvas = function (a, b) { null != a.__image && (b.element.removeChild(a.__image), (a.__image = null)); null == a.__canvas && ((a.__canvas = window.document.createElement('canvas')), (a.__context = a.__canvas.getContext('2d')), (a.__imageVersion = -1), (b.__allowSmoothing && a.smoothing) || (a.__context.imageSmoothingEnabled = !1), b.__initializeElement(a, a.__canvas)); a.__imageVersion != a.__bitmapData.image.version && (za.convertToCanvas(a.__bitmapData.image), (a.__canvas.width = a.__bitmapData.width + 1), (a.__canvas.width = a.__bitmapData.width), (a.__canvas.height = a.__bitmapData.height), a.__context.drawImage(a.__bitmapData.image.buffer.__srcCanvas, 0, 0), (a.__imageVersion = a.__bitmapData.image.version)); b.__updateClip(a); b.__applyStyle(a, !0, !0, !0); }; Qc.renderDrawable = function (a, b) { b.__updateCacheBitmap(a, !1); if (null == a.__cacheBitmap || a.__isCacheBitmapRender) { null != a.opaqueBackground && !a.__isCacheBitmapRender && 0 < a.get_width() && a.get_height(); var c = a.__graphics; if (null != a.stage && a.__worldVisible && a.__renderable && null != c) { D.render(c, b.__canvasRenderer); if (c.__softwareDirty || a.__worldAlphaChanged || a.__canvas != c.__canvas) null != c.__canvas ? a.__canvas != c.__canvas && (null != a.__canvas && b.element.removeChild(a.__canvas), (a.__canvas = c.__canvas), (a.__context = c.__context), b.__initializeElement(a, a.__canvas)) : mf.clear(a, b); if (null != a.__canvas) { b.__pushMaskObject(a); var e = a.__renderTransform; a.__renderTransform = c.__worldTransform; c.__transformDirty && ((c.__transformDirty = !1), (a.__renderTransformChanged = !0)); b.__updateClip(a); b.__applyStyle(a, !0, !0, !0); a.__renderTransform = e; b.__popMaskObject(a); } } else mf.clear(a, b); null != a.stage && a.__worldVisible && a.__renderable && null != a.__bitmapData && a.__bitmapData.__isValid && a.__bitmapData.readable ? (b.__pushMaskObject(a), null != a.__bitmapData.image.buffer.__srcImage ? Qc.renderImage(a, b) : Qc.renderCanvas(a, b), b.__popMaskObject(a)) : Qc.clear(a, b); } else b.__renderDrawableClear(a), (a.__cacheBitmap.stage = a.stage), (c = a.__cacheBitmap), null != c.stage && c.__worldVisible && c.__renderable && null != c.__bitmapData && c.__bitmapData.__isValid && c.__bitmapData.readable ? (b.__pushMaskObject(c), null != c.__bitmapData.image.buffer.__srcImage ? Qc.renderImage(c, b) : Qc.renderCanvas(c, b), b.__popMaskObject(c)) : Qc.clear(c, b); b.__renderEvent(a); }; Qc.renderDrawableClear = function (a, b) { Qc.clear(a, b); }; Qc.renderImage = function (a, b) { null != a.__canvas && (b.element.removeChild(a.__canvas), (a.__canvas = null)); null == a.__image && ((a.__image = window.document.createElement('img')), (a.__image.crossOrigin = 'Anonymous'), (a.__image.src = a.__bitmapData.image.buffer.__srcImage.src), b.__initializeElement(a, a.__image)); b.__updateClip(a); b.__applyStyle(a, !0, !0, !0); }; var Vf = function () {}; k['openfl.display._internal.DOMDisplayObject'] = Vf; Vf.__name__ = 'openfl.display._internal.DOMDisplayObject'; Vf.clear = function (a, b) { null != a.__cacheBitmap && Qc.clear(a.__cacheBitmap, b); mf.clear(a, b); }; Vf.render = function (a, b) { null != a.opaqueBackground && !a.__isCacheBitmapRender && 0 < a.get_width() && a.get_height(); var c = a.__graphics; if (null != a.stage && a.__worldVisible && a.__renderable && null != c) { D.render(c, b.__canvasRenderer); if (c.__softwareDirty || a.__worldAlphaChanged || a.__canvas != c.__canvas) null != c.__canvas ? a.__canvas != c.__canvas && (null != a.__canvas && b.element.removeChild(a.__canvas), (a.__canvas = c.__canvas), (a.__context = c.__context), b.__initializeElement(a, a.__canvas)) : mf.clear(a, b); if (null != a.__canvas) { b.__pushMaskObject(a); var e = a.__renderTransform; a.__renderTransform = c.__worldTransform; c.__transformDirty && ((c.__transformDirty = !1), (a.__renderTransformChanged = !0)); b.__updateClip(a); b.__applyStyle(a, !0, !0, !0); a.__renderTransform = e; b.__popMaskObject(a); } } else mf.clear(a, b); }; Vf.renderDrawable = function (a, b) { b.__updateCacheBitmap(a, !1); if (null == a.__cacheBitmap || a.__isCacheBitmapRender) { null != a.opaqueBackground && !a.__isCacheBitmapRender && 0 < a.get_width() && a.get_height(); var c = a.__graphics; if (null != a.stage && a.__worldVisible && a.__renderable && null != c) { D.render(c, b.__canvasRenderer); if (c.__softwareDirty || a.__worldAlphaChanged || a.__canvas != c.__canvas) null != c.__canvas ? a.__canvas != c.__canvas && (null != a.__canvas && b.element.removeChild(a.__canvas), (a.__canvas = c.__canvas), (a.__context = c.__context), b.__initializeElement(a, a.__canvas)) : mf.clear(a, b); if (null != a.__canvas) { b.__pushMaskObject(a); var e = a.__renderTransform; a.__renderTransform = c.__worldTransform; c.__transformDirty && ((c.__transformDirty = !1), (a.__renderTransformChanged = !0)); b.__updateClip(a); b.__applyStyle(a, !0, !0, !0); a.__renderTransform = e; b.__popMaskObject(a); } } else mf.clear(a, b); } else b.__renderDrawableClear(a), (a.__cacheBitmap.stage = a.stage), (c = a.__cacheBitmap), null != c.stage && c.__worldVisible && c.__renderable && null != c.__bitmapData && c.__bitmapData.__isValid && c.__bitmapData.readable ? (b.__pushMaskObject(c), null != c.__bitmapData.image.buffer.__srcImage ? Qc.renderImage(c, b) : Qc.renderCanvas(c, b), b.__popMaskObject(c)) : Qc.clear(c, b); b.__renderEvent(a); }; Vf.renderDrawableClear = function (a, b) { Vf.clear(a, b); }; var Gm = function () {}; k['openfl.display._internal.DOMDisplayObjectContainer'] = Gm; Gm.__name__ = 'openfl.display._internal.DOMDisplayObjectContainer'; Gm.renderDrawable = function (a, b) { for (var c = a.__removedChildren.iterator(); c.hasNext(); ) { var e = c.next(); null == e.stage && b.__renderDrawable(e); } for (c = a.__removedChildren.iterator(); c.hasNext(); ) (e = c.next()), null == e.stage && e.__cleanup(); a.__removedChildren.set_length(0); Vf.renderDrawable(a, b); if (null == a.__cacheBitmap || a.__isCacheBitmapRender) { b.__pushMaskObject(a); if (null != b.__stage) { c = 0; for (e = a.__children; c < e.length; ) { var f = e[c]; ++c; b.__renderDrawable(f); f.__renderDirty = !1; } a.__renderDirty = !1; } else for (c = 0, e = a.__children; c < e.length; ) (f = e[c]), ++c, b.__renderDrawable(f); b.__popMaskObject(a); } }; Gm.renderDrawableClear = function (a, b) { for (var c = a.__removedChildren.iterator(); c.hasNext(); ) { var e = c.next(); null == e.stage && b.__renderDrawableClear(e); } for (c = a.__removedChildren.iterator(); c.hasNext(); ) (e = c.next()), null == e.stage && e.__cleanup(); a.__removedChildren.set_length(0); c = 0; for (a = a.__children; c < a.length; ) (e = a[c]), ++c, b.__renderDrawableClear(e); }; var mf = function () {}; k['openfl.display._internal.DOMShape'] = mf; mf.__name__ = 'openfl.display._internal.DOMShape'; mf.clear = function (a, b) { null != a.__canvas && (b.element.removeChild(a.__canvas), (a.__canvas = null), (a.__style = null)); }; mf.render = function (a, b) { var c = a.__graphics; if (null != a.stage && a.__worldVisible && a.__renderable && null != c) { D.render(c, b.__canvasRenderer); if (c.__softwareDirty || a.__worldAlphaChanged || a.__canvas != c.__canvas) null != c.__canvas ? a.__canvas != c.__canvas && (null != a.__canvas && b.element.removeChild(a.__canvas), (a.__canvas = c.__canvas), (a.__context = c.__context), b.__initializeElement(a, a.__canvas)) : mf.clear(a, b); if (null != a.__canvas) { b.__pushMaskObject(a); var e = a.__renderTransform; a.__renderTransform = c.__worldTransform; c.__transformDirty && ((c.__transformDirty = !1), (a.__renderTransformChanged = !0)); b.__updateClip(a); b.__applyStyle(a, !0, !0, !0); a.__renderTransform = e; b.__popMaskObject(a); } } else mf.clear(a, b); }; var Hm = function () {}; k['openfl.display._internal.DOMSimpleButton'] = Hm; Hm.__name__ = 'openfl.display._internal.DOMSimpleButton'; Hm.renderDrawable = function (a, b) { b.__pushMaskObject(a); for (var c = a.__previousStates.iterator(); c.hasNext(); ) { var e = c.next(); b.__renderDrawable(e); } a.__previousStates.set_length(0); null != a.__currentState && (a.__currentState.stage != a.stage && a.__currentState.__setStageReference(a.stage), b.__renderDrawable(a.__currentState)); b.__popMaskObject(a); b.__renderEvent(a); }; Hm.renderDrawableClear = function (a, b) { Vf.renderDrawableClear(a, b); }; var ac = function () {}; k['openfl.display._internal.DOMTextField'] = ac; ac.__name__ = 'openfl.display._internal.DOMTextField'; ac.clear = function (a, b) { null != a.__cacheBitmap && Qc.clear(a.__cacheBitmap, b); null != a.__div && (b.element.removeChild(a.__div), (a.__div = null), (a.__style = null)); }; ac.measureText = function (a) { var b = a.__textEngine, c = a.__div; null == c && ((c = window.document.createElement('div')), (c.innerHTML = b.text.replace(/\n/g, '
')), c.style.setProperty('font', Qb.getFont(a.__textFormat), null), c.style.setProperty('pointer-events', 'none', null), (c.style.position = 'absolute'), (c.style.top = '110%'), window.document.body.appendChild(c)); b.__measuredWidth = c.clientWidth; null == a.__div && (c.style.width = z.string(b.width - 4) + 'px'); b.__measuredHeight = c.clientHeight; null == a.__div && window.document.body.removeChild(c); }; ac.render = function (a, b) { var c = a.__textEngine; if (null != a.stage && a.__worldVisible && a.__renderable) { if (a.__dirty || a.__renderTransformChanged || null == a.__div) if ('' != c.text || c.background || c.border || 1 == c.type) { null == a.__div && ((a.__div = window.document.createElement('div')), b.__initializeElement(a, a.__div), a.__style.setProperty('outline', 'none', null), a.__div.addEventListener( 'input', function (b) { b.preventDefault(); a.get_htmlText() != a.__div.innerHTML && (a.set_htmlText(a.__div.innerHTML), (a.__dirty = !1), a.dispatchEvent(new bf('textInput', !1, !1, a.get_htmlText()))); }, !0 )); c.wordWrap ? a.__style.setProperty('word-wrap', 'break-word', null) : a.__style.setProperty('white-space', 'nowrap', null); a.__style.setProperty('overflow', 'hidden', null); c.selectable ? (a.__style.setProperty('cursor', 'text', null), a.__style.setProperty('-webkit-user-select', 'text', null), a.__style.setProperty('-moz-user-select', 'text', null), a.__style.setProperty('-ms-user-select', 'text', null), a.__style.setProperty('-o-user-select', 'text', null)) : a.__style.setProperty('cursor', 'inherit', null); a.__div.contentEditable = 1 == c.type; var e = a.__style; c.background ? e.setProperty( 'background-color', '#' + T.hex(c.backgroundColor & 16777215, 6), null ) : e.removeProperty('background-color'); var f = c.width, g = c.height, l = 1, h = a.__textFormat.size, k = h, r = a.__renderTransform; if (1 != r.a || 1 != r.d) r.a == r.d ? ((l = r.a), (r.a = r.d = 1)) : r.a > r.d ? ((l = r.a), (r.d /= r.a), (r.a = 1)) : ((l = r.d), (r.a /= r.d), (r.d = 1)), (k *= l), (f = Math.ceil(f * l)), (g = Math.ceil(g * l)); a.__textFormat.size = k; r = c.text; var n = 0; if (a.__isHTML) { for (var p = r; ac.__regexFont.match(p); ) { p = ac.__regexFont.matched(0); var u = ''; ac.__regexFace.match(p) && (u += "font-family:'" + ac.__getAttributeMatch(ac.__regexFace) + "';"); ac.__regexColor.match(p) && (u += 'color:#' + ac.__getAttributeMatch(ac.__regexColor) + ';'); if (ac.__regexSize.match(p)) { n = ac.__getAttributeMatch(ac.__regexSize); var m = C.cca(n, 0); n = parseFloat(n) * l; u += 'font-size:' + (43 == m || 45 == m ? k + n : n) + 'px;'; } r = T.replace(r, p, ""); p = ac.__regexFont.matchedRight(); } r = r.replace(ac.__regexCloseFont.r, ''); } else r = T.htmlEscape(r); r = T.replace(r, '

'); a.__div.innerHTML = r; k = /\n/g; r = a.__div.innerHTML.replace(k, '
'); a.__div.innerHTML = r; k = /\r/g; r = a.__div.innerHTML.replace(k, '
'); a.__div.innerHTML = r; e.setProperty('font', Qb.getFont(a.__textFormat), null); a.__textFormat.size = h; a.__textFormat.leading = l; e.setProperty('top', '3px', null); c.border ? (e.setProperty( 'border', 'solid 1px #' + T.hex(c.borderColor & 16777215, 6), null ), a.__renderTransform.translate(-1, -1), (a.__renderTransformChanged = !0), (a.__transformDirty = !0)) : '' != e.border && (e.removeProperty('border'), (a.__renderTransformChanged = !0)); e.setProperty('color', '#' + T.hex(a.__textFormat.color & 16777215, 6), null); e.setProperty('width', f + 'px', null); e.setProperty('height', g + 'px', null); switch (a.__textFormat.align) { case 0: e.setProperty('text-align', 'center', null); break; case 4: e.setProperty('text-align', 'right', null); break; default: e.setProperty('text-align', 'left', null); } a.__dirty = !1; } else null != a.__div && (b.element.removeChild(a.__div), (a.__div = null)); null != a.__div && ((c = b.__roundPixels), (b.__roundPixels = !0), b.__updateClip(a), b.__applyStyle(a, !0, !0, !0), (b.__roundPixels = c)); } else ac.clear(a, b); }; ac.renderDrawable = function (a, b) { a.__domRender = !0; b.__updateCacheBitmap(a, a.__forceCachedBitmapUpdate); a.__forceCachedBitmapUpdate = !1; a.__domRender = !1; if (null == a.__cacheBitmap || a.__isCacheBitmapRender) { a.__renderedOnCanvasWhileOnDOM && ((a.__renderedOnCanvasWhileOnDOM = !1), a.__isHTML && null != a.__rawHtmlText && (a.__updateText(a.__rawHtmlText), (a.__dirty = !0), (a.__layoutDirty = !0), a.__renderDirty || ((a.__renderDirty = !0), a.__setParentRenderDirty()))); var c = a.__textEngine; if (null != a.stage && a.__worldVisible && a.__renderable) { if (a.__dirty || a.__renderTransformChanged || null == a.__div) if ('' != c.text || c.background || c.border || 1 == c.type) { null == a.__div && ((a.__div = window.document.createElement('div')), b.__initializeElement(a, a.__div), a.__style.setProperty('outline', 'none', null), a.__div.addEventListener( 'input', function (b) { b.preventDefault(); a.get_htmlText() != a.__div.innerHTML && (a.set_htmlText(a.__div.innerHTML), (a.__dirty = !1), a.dispatchEvent(new bf('textInput', !1, !1, a.get_htmlText()))); }, !0 )); c.wordWrap ? a.__style.setProperty('word-wrap', 'break-word', null) : a.__style.setProperty('white-space', 'nowrap', null); a.__style.setProperty('overflow', 'hidden', null); c.selectable ? (a.__style.setProperty('cursor', 'text', null), a.__style.setProperty('-webkit-user-select', 'text', null), a.__style.setProperty('-moz-user-select', 'text', null), a.__style.setProperty('-ms-user-select', 'text', null), a.__style.setProperty('-o-user-select', 'text', null)) : a.__style.setProperty('cursor', 'inherit', null); a.__div.contentEditable = 1 == c.type; var e = a.__style; c.background ? e.setProperty( 'background-color', '#' + T.hex(c.backgroundColor & 16777215, 6), null ) : e.removeProperty('background-color'); var f = c.width, g = c.height, l = 1, h = a.__textFormat.size, k = h, r = a.__renderTransform; if (1 != r.a || 1 != r.d) r.a == r.d ? ((l = r.a), (r.a = r.d = 1)) : r.a > r.d ? ((l = r.a), (r.d /= r.a), (r.a = 1)) : ((l = r.d), (r.a /= r.d), (r.d = 1)), (k *= l), (f = Math.ceil(f * l)), (g = Math.ceil(g * l)); a.__textFormat.size = k; r = c.text; var n = 0; if (a.__isHTML) { for (var p = r; ac.__regexFont.match(p); ) { p = ac.__regexFont.matched(0); var u = ''; ac.__regexFace.match(p) && (u += "font-family:'" + ac.__getAttributeMatch(ac.__regexFace) + "';"); ac.__regexColor.match(p) && (u += 'color:#' + ac.__getAttributeMatch(ac.__regexColor) + ';'); if (ac.__regexSize.match(p)) { n = ac.__getAttributeMatch(ac.__regexSize); var m = C.cca(n, 0); n = parseFloat(n) * l; u += 'font-size:' + (43 == m || 45 == m ? k + n : n) + 'px;'; } r = T.replace(r, p, ""); p = ac.__regexFont.matchedRight(); } r = r.replace(ac.__regexCloseFont.r, ''); } else r = T.htmlEscape(r); r = T.replace(r, '

'); a.__div.innerHTML = r; k = /\n/g; r = a.__div.innerHTML.replace(k, '
'); a.__div.innerHTML = r; k = /\r/g; r = a.__div.innerHTML.replace(k, '
'); a.__div.innerHTML = r; e.setProperty('font', Qb.getFont(a.__textFormat), null); a.__textFormat.size = h; a.__textFormat.leading = l; e.setProperty('top', '3px', null); c.border ? (e.setProperty( 'border', 'solid 1px #' + T.hex(c.borderColor & 16777215, 6), null ), a.__renderTransform.translate(-1, -1), (a.__renderTransformChanged = !0), (a.__transformDirty = !0)) : '' != e.border && (e.removeProperty('border'), (a.__renderTransformChanged = !0)); e.setProperty('color', '#' + T.hex(a.__textFormat.color & 16777215, 6), null); e.setProperty('width', f + 'px', null); e.setProperty('height', g + 'px', null); switch (a.__textFormat.align) { case 0: e.setProperty('text-align', 'center', null); break; case 4: e.setProperty('text-align', 'right', null); break; default: e.setProperty('text-align', 'left', null); } a.__dirty = !1; } else null != a.__div && (b.element.removeChild(a.__div), (a.__div = null)); null != a.__div && ((c = b.__roundPixels), (b.__roundPixels = !0), b.__updateClip(a), b.__applyStyle(a, !0, !0, !0), (b.__roundPixels = c)); } else ac.clear(a, b); } else b.__renderDrawableClear(a), (a.__cacheBitmap.stage = a.stage), (c = a.__cacheBitmap), null != c.stage && c.__worldVisible && c.__renderable && null != c.__bitmapData && c.__bitmapData.__isValid && c.__bitmapData.readable ? (b.__pushMaskObject(c), null != c.__bitmapData.image.buffer.__srcImage ? Qc.renderImage(c, b) : Qc.renderCanvas(c, b), b.__popMaskObject(c)) : Qc.clear(c, b); b.__renderEvent(a); }; ac.renderDrawableClear = function (a, b) { ac.clear(a, b); }; ac.__getAttributeMatch = function (a) { return null != a.matched(2) ? a.matched(2) : a.matched(3); }; var Dg = function () {}; k['openfl.display._internal.DOMTilemap'] = Dg; Dg.__name__ = 'openfl.display._internal.DOMTilemap'; Dg.clear = function (a, b) { null != a.__cacheBitmap && Qc.clear(a.__cacheBitmap, b); null != a.__canvas && (b.element.removeChild(a.__canvas), (a.__canvas = null), (a.__style = null)); }; Dg.render = function (a, b) { if (null != a.stage && a.__worldVisible && a.__renderable && 0 < a.__group.__tiles.length) { null == a.__canvas && ((a.__canvas = window.document.createElement('canvas')), (a.__context = a.__canvas.getContext('2d')), b.__initializeElement(a, a.__canvas)); a.__canvas.width = a.__width; a.__canvas.height = a.__height; b.__canvasRenderer.context = a.__context; var c = b.__canvasRenderer; if (a.__renderable && 0 != a.__group.__tiles.length) { var e = c.__getAlpha(a.__worldAlpha); if (!(0 >= e)) { var f = c.context; c.__setBlendMode(a.__worldBlendMode); c.__pushMaskObject(a); var g = ea.__pool.get(); g.setTo(0, 0, a.__width, a.__height); c.__pushMaskRect(g, a.__renderTransform); (c.__allowSmoothing && a.smoothing) || (f.imageSmoothingEnabled = !1); Uf.renderTileContainer( a.__group, c, a.__renderTransform, a.__tileset, c.__allowSmoothing && a.smoothing, a.tileAlphaEnabled, e, a.tileBlendModeEnabled, a.__worldBlendMode, null, null, g ); (c.__allowSmoothing && a.smoothing) || (f.imageSmoothingEnabled = !0); c.__popMaskRect(); c.__popMaskObject(a); ea.__pool.release(g); } } b.__canvasRenderer.context = null; b.__updateClip(a); b.__applyStyle(a, !0, !1, !0); } else Dg.clear(a, b); }; Dg.renderDrawable = function (a, b) { b.__updateCacheBitmap(a, !1); if (null == a.__cacheBitmap || a.__isCacheBitmapRender) { null != a.opaqueBackground && !a.__isCacheBitmapRender && 0 < a.get_width() && a.get_height(); var c = a.__graphics; if (null != a.stage && a.__worldVisible && a.__renderable && null != c) { D.render(c, b.__canvasRenderer); if (c.__softwareDirty || a.__worldAlphaChanged || a.__canvas != c.__canvas) null != c.__canvas ? a.__canvas != c.__canvas && (null != a.__canvas && b.element.removeChild(a.__canvas), (a.__canvas = c.__canvas), (a.__context = c.__context), b.__initializeElement(a, a.__canvas)) : mf.clear(a, b); if (null != a.__canvas) { b.__pushMaskObject(a); var e = a.__renderTransform; a.__renderTransform = c.__worldTransform; c.__transformDirty && ((c.__transformDirty = !1), (a.__renderTransformChanged = !0)); b.__updateClip(a); b.__applyStyle(a, !0, !0, !0); a.__renderTransform = e; b.__popMaskObject(a); } } else mf.clear(a, b); if ( null != a.stage && a.__worldVisible && a.__renderable && 0 < a.__group.__tiles.length ) { null == a.__canvas && ((a.__canvas = window.document.createElement('canvas')), (a.__context = a.__canvas.getContext('2d')), b.__initializeElement(a, a.__canvas)); a.__canvas.width = a.__width; a.__canvas.height = a.__height; b.__canvasRenderer.context = a.__context; c = b.__canvasRenderer; if ( a.__renderable && 0 != a.__group.__tiles.length && ((e = c.__getAlpha(a.__worldAlpha)), !(0 >= e)) ) { var f = c.context; c.__setBlendMode(a.__worldBlendMode); c.__pushMaskObject(a); var g = ea.__pool.get(); g.setTo(0, 0, a.__width, a.__height); c.__pushMaskRect(g, a.__renderTransform); (c.__allowSmoothing && a.smoothing) || (f.imageSmoothingEnabled = !1); Uf.renderTileContainer( a.__group, c, a.__renderTransform, a.__tileset, c.__allowSmoothing && a.smoothing, a.tileAlphaEnabled, e, a.tileBlendModeEnabled, a.__worldBlendMode, null, null, g ); (c.__allowSmoothing && a.smoothing) || (f.imageSmoothingEnabled = !0); c.__popMaskRect(); c.__popMaskObject(a); ea.__pool.release(g); } b.__canvasRenderer.context = null; b.__updateClip(a); b.__applyStyle(a, !0, !1, !0); } else Dg.clear(a, b); } else b.__renderDrawableClear(a), (a.__cacheBitmap.stage = a.stage), (c = a.__cacheBitmap), null != c.stage && c.__worldVisible && c.__renderable && null != c.__bitmapData && c.__bitmapData.__isValid && c.__bitmapData.readable ? (b.__pushMaskObject(c), null != c.__bitmapData.image.buffer.__srcImage ? Qc.renderImage(c, b) : Qc.renderCanvas(c, b), b.__popMaskObject(c)) : Qc.clear(c, b); b.__renderEvent(a); }; Dg.renderDrawableClear = function (a, b) { Dg.clear(a, b); }; var ah = function () {}; k['openfl.display._internal.DOMVideo'] = ah; ah.__name__ = 'openfl.display._internal.DOMVideo'; ah.clear = function (a, b) { a.__active && (b.element.removeChild(a.__stream.__video), (a.__active = !1)); }; ah.render = function (a, b) { null != a.stage && null != a.__stream && a.__worldVisible && a.__renderable ? (a.__active || (b.__initializeElement(a, a.__stream.__video), (a.__active = !0), (a.__dirty = !0)), a.__dirty && ((a.__stream.__video.width = a.__width | 0), (a.__stream.__video.height = a.__height | 0), (a.__dirty = !1)), b.__updateClip(a), b.__applyStyle(a, !0, !0, !0)) : ah.clear(a, b); }; ah.renderDrawable = function (a, b) { ah.render(a, b); b.__renderEvent(a); }; ah.renderDrawableClear = function (a, b) { Vf.renderDrawableClear(a, b); }; var Wf = function (a) { this.buffer = a; this.bPos = this.iPos = this.fPos = this.oPos = this.ffPos = this.iiPos = this.tsPos = 0; this.prev = ca.UNKNOWN; }; k['openfl.display._internal.DrawCommandReader'] = Wf; Wf.__name__ = 'openfl.display._internal.DrawCommandReader'; Wf.prototype = { buffer: null, bPos: null, iiPos: null, iPos: null, ffPos: null, fPos: null, oPos: null, prev: null, tsPos: null, advance: function () { switch (this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; } }, bool: function (a) { return this.buffer.b[this.bPos + a]; }, destroy: function () { this.buffer = null; this.reset(); }, fArr: function (a) { return this.buffer.ff[this.ffPos + a]; }, float: function (a) { return this.buffer.f[this.fPos + a]; }, iArr: function (a) { return this.buffer.ii[this.iiPos + a]; }, int: function (a) { return this.buffer.i[this.iPos + a]; }, obj: function (a) { return this.buffer.o[this.oPos + a]; }, readBeginBitmapFill: function () { switch (this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; } this.prev = ca.BEGIN_BITMAP_FILL; return this; }, readBeginFill: function () { switch (this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; } this.prev = ca.BEGIN_FILL; return this; }, readBeginGradientFill: function () { switch (this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; } this.prev = ca.BEGIN_GRADIENT_FILL; return this; }, readBeginShaderFill: function () { switch (this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; } this.prev = ca.BEGIN_SHADER_FILL; return this; }, readCubicCurveTo: function () { switch (this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; } this.prev = ca.CUBIC_CURVE_TO; return this; }, readCurveTo: function () { switch (this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; } this.prev = ca.CURVE_TO; return this; }, readDrawCircle: function () { switch (this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; } this.prev = ca.DRAW_CIRCLE; return this; }, readDrawEllipse: function () { switch (this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; } this.prev = ca.DRAW_ELLIPSE; return this; }, readDrawQuads: function () { switch (this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; } this.prev = ca.DRAW_QUADS; return this; }, readDrawRect: function () { switch (this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; } this.prev = ca.DRAW_RECT; return this; }, readDrawRoundRect: function () { switch (this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; } this.prev = ca.DRAW_ROUND_RECT; return this; }, readDrawTriangles: function () { switch (this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; } this.prev = ca.DRAW_TRIANGLES; return this; }, readEndFill: function () { switch (this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; } this.prev = ca.END_FILL; return this; }, readLineBitmapStyle: function () { switch (this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; } this.prev = ca.LINE_BITMAP_STYLE; return this; }, readLineGradientStyle: function () { switch (this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; } this.prev = ca.LINE_GRADIENT_STYLE; return this; }, readLineStyle: function () { switch (this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; } this.prev = ca.LINE_STYLE; return this; }, readLineTo: function () { switch (this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; } this.prev = ca.LINE_TO; return this; }, readMoveTo: function () { switch (this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; } this.prev = ca.MOVE_TO; return this; }, readOverrideBlendMode: function () { switch (this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; } this.prev = ca.OVERRIDE_BLEND_MODE; return this; }, readOverrideMatrix: function () { switch (this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; } this.prev = ca.OVERRIDE_MATRIX; return this; }, readWindingEvenOdd: function () { switch (this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; } this.prev = ca.WINDING_EVEN_ODD; return this; }, readWindingNonZero: function () { switch (this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; } this.prev = ca.WINDING_NON_ZERO; return this; }, reset: function () { this.bPos = this.iPos = this.fPos = this.oPos = this.ffPos = this.iiPos = this.tsPos = 0; }, skip: function (a) { switch (this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; } this.prev = a; }, __class__: Wf }; var ca = (N['openfl.display._internal.DrawCommandType'] = { __ename__: 'openfl.display._internal.DrawCommandType', __constructs__: null, BEGIN_BITMAP_FILL: { _hx_name: 'BEGIN_BITMAP_FILL', _hx_index: 0, __enum__: 'openfl.display._internal.DrawCommandType', toString: x }, BEGIN_FILL: { _hx_name: 'BEGIN_FILL', _hx_index: 1, __enum__: 'openfl.display._internal.DrawCommandType', toString: x }, BEGIN_GRADIENT_FILL: { _hx_name: 'BEGIN_GRADIENT_FILL', _hx_index: 2, __enum__: 'openfl.display._internal.DrawCommandType', toString: x }, BEGIN_SHADER_FILL: { _hx_name: 'BEGIN_SHADER_FILL', _hx_index: 3, __enum__: 'openfl.display._internal.DrawCommandType', toString: x }, CUBIC_CURVE_TO: { _hx_name: 'CUBIC_CURVE_TO', _hx_index: 4, __enum__: 'openfl.display._internal.DrawCommandType', toString: x }, CURVE_TO: { _hx_name: 'CURVE_TO', _hx_index: 5, __enum__: 'openfl.display._internal.DrawCommandType', toString: x }, DRAW_CIRCLE: { _hx_name: 'DRAW_CIRCLE', _hx_index: 6, __enum__: 'openfl.display._internal.DrawCommandType', toString: x }, DRAW_ELLIPSE: { _hx_name: 'DRAW_ELLIPSE', _hx_index: 7, __enum__: 'openfl.display._internal.DrawCommandType', toString: x }, DRAW_QUADS: { _hx_name: 'DRAW_QUADS', _hx_index: 8, __enum__: 'openfl.display._internal.DrawCommandType', toString: x }, DRAW_RECT: { _hx_name: 'DRAW_RECT', _hx_index: 9, __enum__: 'openfl.display._internal.DrawCommandType', toString: x }, DRAW_ROUND_RECT: { _hx_name: 'DRAW_ROUND_RECT', _hx_index: 10, __enum__: 'openfl.display._internal.DrawCommandType', toString: x }, DRAW_TILES: { _hx_name: 'DRAW_TILES', _hx_index: 11, __enum__: 'openfl.display._internal.DrawCommandType', toString: x }, DRAW_TRIANGLES: { _hx_name: 'DRAW_TRIANGLES', _hx_index: 12, __enum__: 'openfl.display._internal.DrawCommandType', toString: x }, END_FILL: { _hx_name: 'END_FILL', _hx_index: 13, __enum__: 'openfl.display._internal.DrawCommandType', toString: x }, LINE_BITMAP_STYLE: { _hx_name: 'LINE_BITMAP_STYLE', _hx_index: 14, __enum__: 'openfl.display._internal.DrawCommandType', toString: x }, LINE_GRADIENT_STYLE: { _hx_name: 'LINE_GRADIENT_STYLE', _hx_index: 15, __enum__: 'openfl.display._internal.DrawCommandType', toString: x }, LINE_STYLE: { _hx_name: 'LINE_STYLE', _hx_index: 16, __enum__: 'openfl.display._internal.DrawCommandType', toString: x }, LINE_TO: { _hx_name: 'LINE_TO', _hx_index: 17, __enum__: 'openfl.display._internal.DrawCommandType', toString: x }, MOVE_TO: { _hx_name: 'MOVE_TO', _hx_index: 18, __enum__: 'openfl.display._internal.DrawCommandType', toString: x }, OVERRIDE_BLEND_MODE: { _hx_name: 'OVERRIDE_BLEND_MODE', _hx_index: 19, __enum__: 'openfl.display._internal.DrawCommandType', toString: x }, OVERRIDE_MATRIX: { _hx_name: 'OVERRIDE_MATRIX', _hx_index: 20, __enum__: 'openfl.display._internal.DrawCommandType', toString: x }, WINDING_EVEN_ODD: { _hx_name: 'WINDING_EVEN_ODD', _hx_index: 21, __enum__: 'openfl.display._internal.DrawCommandType', toString: x }, WINDING_NON_ZERO: { _hx_name: 'WINDING_NON_ZERO', _hx_index: 22, __enum__: 'openfl.display._internal.DrawCommandType', toString: x }, UNKNOWN: { _hx_name: 'UNKNOWN', _hx_index: 23, __enum__: 'openfl.display._internal.DrawCommandType', toString: x } }); ca.__constructs__ = [ ca.BEGIN_BITMAP_FILL, ca.BEGIN_FILL, ca.BEGIN_GRADIENT_FILL, ca.BEGIN_SHADER_FILL, ca.CUBIC_CURVE_TO, ca.CURVE_TO, ca.DRAW_CIRCLE, ca.DRAW_ELLIPSE, ca.DRAW_QUADS, ca.DRAW_RECT, ca.DRAW_ROUND_RECT, ca.DRAW_TILES, ca.DRAW_TRIANGLES, ca.END_FILL, ca.LINE_BITMAP_STYLE, ca.LINE_GRADIENT_STYLE, ca.LINE_STYLE, ca.LINE_TO, ca.MOVE_TO, ca.OVERRIDE_BLEND_MODE, ca.OVERRIDE_MATRIX, ca.WINDING_EVEN_ODD, ca.WINDING_NON_ZERO, ca.UNKNOWN ]; var Fh = function () {}; k['openfl.display._internal.FlashRenderer'] = Fh; Fh.__name__ = 'openfl.display._internal.FlashRenderer'; Fh.register = function (a) { null == Fh.instances && ((Fh.instances = Xz.toObjectMap(null, !0)), Oa.get_current().stage.addEventListener('enterFrame', Fh.render, !1, -2147483648)); Fh.instances.set(a, !0); }; Fh.render = function (a) { for (a = Fh.instances.keys(); a.hasNext(); ) a.next().__renderFlash(); }; var $o = function () {}; k['openfl.display._internal.IDisplayObject'] = $o; $o.__name__ = 'openfl.display._internal.IDisplayObject'; $o.__isInterface__ = !0; $o.prototype = { __renderFlash: null, __class__: $o }; var fi = function () {}; k['openfl.display._internal.FlashTilemap'] = fi; fi.__name__ = 'openfl.display._internal.FlashTilemap'; fi.render = function (a) {}; fi.renderTileContainer = function (a, b, c, e, f, g, l, h, k, r, n, p) {}; var Zh = function (a, b, c, e, f, g, l) { null == l && (l = 0.05); null == g && (g = !1); Wi.call(this, a, b, c, e, f, g, l); this.p_perm = []; for (b = 0; 512 > b; ) (c = b++), (this.p_perm[c] = Zh.P[c & 255]); this.base_factor = 0.03125; this.setSeed(a); }; k['openfl.display._internal.PerlinNoise'] = Zh; Zh.__name__ = 'openfl.display._internal.PerlinNoise'; Zh.__super__ = Wi; Zh.prototype = t(Wi.prototype, { p_perm: null, x_offset: null, y_offset: null, z_offset: null, base_factor: null, fill: function (a, b, c, e) { var d = a.width, g = a.height, l = this.octaves, h = this.octaves_frequencies, k = this.octaves_persistences, r = 1 == (1 & this.channels), n = 2 == (2 & this.channels), p = 4 == (4 & this.channels), u = 0; r && ++u; n && ++u; p && ++u; var m = this.grayscale, t = (this.stitch_threshold * d) | 0, x = (this.stitch_threshold * g) | 0, v = b * this.base_factor + this.x_offset; c = c * this.base_factor + this.y_offset; e = e * this.base_factor + this.z_offset; for (var w = 0; w < g; ) { var G = w++; b = v; for (var B = 0, N = d; B < N; ) { for (var H = B++, z = 0, C = 0, D = 0, E = 0, ya = l; E < ya; ) { var I = E++, J = h[I]; I = k[I]; z += this.noise(b * J, c * J, e * J) * I; m || (1 < u && (C += this.noise((b + 1) * J, (c + 1) * J, e * J) * I), 2 < u && (D += this.noise((b + 2) * J, (c + 2) * J, e * J) * I)); } E = 0; m ? (E = this.color(z, z, z)) : r && n && p ? (E = this.color(z, C, D)) : r && n ? (E = this.color(z, C, null)) : r && p ? (E = this.color(z, null, C)) : n && p ? (E = this.color(null, z, C)) : r ? (E = this.color(z, null, null)) : n ? (E = this.color(null, z, null)) : p && (E = this.color(null, null, z)); this.stitch && (E = this.stitching(a, E, H, G, t, x, d, g)); a.setPixel32(H, G, E); b += this.base_factor; } c += this.base_factor; } }, noise: function (a, b, c) { var d = a - (a % 1), f = b - (b % 1), g = c - (c % 1); a -= d; b -= f; c -= g; var l = (d | 0) & 255, h = (f | 0) & 255, k = (g | 0) & 255; g = this.fade(a); f = this.fade(b); d = this.fade(c); var r = this.p_perm[l] + h, n = this.p_perm[r] + k; r = this.p_perm[r + 1] + k; h = this.p_perm[l + 1] + h; l = this.p_perm[h] + k; var p = this.p_perm[h + 1] + k, u = a - 1, m = b - 1, t = c - 1, x = this.p_perm[p + 1] & 15; k = (0 == (x & 1) ? (8 > x ? u : m) : 8 > x ? -u : -m) + (0 == (x & 2) ? (4 > x ? m : 12 == x ? u : t) : 4 > x ? -m : 14 == x ? -u : -t); x = this.p_perm[r + 1] & 15; h = (0 == (x & 1) ? (8 > x ? a : m) : 8 > x ? -a : -m) + (0 == (x & 2) ? (4 > x ? m : 12 == x ? a : t) : 4 > x ? -m : 14 == x ? -a : -t); x = this.p_perm[l + 1] & 15; var v = (0 == (x & 1) ? (8 > x ? u : b) : 8 > x ? -u : -b) + (0 == (x & 2) ? (4 > x ? b : 12 == x ? u : t) : 4 > x ? -b : 14 == x ? -u : -t); x = this.p_perm[n + 1] & 15; t = (0 == (x & 1) ? (8 > x ? a : b) : 8 > x ? -a : -b) + (0 == (x & 2) ? (4 > x ? b : 12 == x ? a : t) : 4 > x ? -b : 14 == x ? -a : -t); x = this.p_perm[p] & 15; p = (0 == (x & 1) ? (8 > x ? u : m) : 8 > x ? -u : -m) + (0 == (x & 2) ? (4 > x ? m : 12 == x ? u : c) : 4 > x ? -m : 14 == x ? -u : -c); x = this.p_perm[r] & 15; r = (0 == (x & 1) ? (8 > x ? a : m) : 8 > x ? -a : -m) + (0 == (x & 2) ? (4 > x ? m : 12 == x ? a : c) : 4 > x ? -m : 14 == x ? -a : -c); x = this.p_perm[l] & 15; l = (0 == (x & 1) ? (8 > x ? u : b) : 8 > x ? -u : -b) + (0 == (x & 2) ? (4 > x ? b : 12 == x ? u : c) : 4 > x ? -b : 14 == x ? -u : -c); x = this.p_perm[n] & 15; a = (0 == (x & 1) ? (8 > x ? a : b) : 8 > x ? -a : -b) + (0 == (x & 2) ? (4 > x ? b : 12 == x ? a : c) : 4 > x ? -b : 14 == x ? -a : -c); t += g * (v - t); a += g * (l - a); a += f * (r + g * (p - r) - a); return a + d * (t + f * (h + g * (k - h) - t) - a); }, setSeed: function (a) { this.x_offset = a = (16807 * a) % 2147483647 | 0; this.y_offset = a = (16807 * a) % 2147483647 | 0; this.z_offset = (16807 * a) % 2147483647 | 0; }, __class__: Zh }); var Tg = function (a, b, c, e, f, g, l) { null == l && (l = !1); null == g && (g = !1); null == f && (f = !1); null == e && (e = 0); null == c && (c = 2); null == b && (b = 5); null == a && (a = 0); this.wrap = a; this.filter = b; this.mipfilter = c; this.lodBias = e; this.ignoreSampler = f; this.centroid = g; this.textureAlpha = l; }; k['openfl.display._internal.SamplerState'] = Tg; Tg.__name__ = 'openfl.display._internal.SamplerState'; Tg.prototype = { centroid: null, filter: null, ignoreSampler: null, lodBias: null, mipfilter: null, mipmapGenerated: null, textureAlpha: null, wrap: null, clone: function () { var a = new Tg( this.wrap, this.filter, this.mipfilter, this.lodBias, this.ignoreSampler, this.centroid, this.textureAlpha ); a.mipmapGenerated = this.mipmapGenerated; return a; }, copyFrom: function (a) { null == a || a.ignoreSampler || ((this.wrap = a.wrap), (this.filter = a.filter), (this.mipfilter = a.mipfilter), (this.lodBias = a.lodBias), (this.centroid = a.centroid), (this.textureAlpha = a.textureAlpha)); }, equals: function (a) { return null == a ? !1 : this.wrap == a.wrap && this.filter == a.filter && this.mipfilter == a.mipfilter && this.lodBias == a.lodBias ? this.textureAlpha == a.textureAlpha : !1; }, __class__: Tg }; var Km = function () { this.inputRefs = []; this.inputFilter = []; this.inputMipFilter = []; this.inputs = []; this.inputWrap = []; this.overrideIntNames = []; this.overrideIntValues = []; this.overrideFloatNames = []; this.overrideFloatValues = []; this.overrideBoolNames = []; this.overrideBoolValues = []; this.paramLengths = []; this.paramPositions = []; this.paramRefs_Bool = []; this.paramRefs_Float = []; this.paramRefs_Int = []; this.paramTypes = []; }; k['openfl.display._internal.ShaderBuffer'] = Km; Km.__name__ = 'openfl.display._internal.ShaderBuffer'; Km.prototype = { inputCount: null, inputRefs: null, inputFilter: null, inputMipFilter: null, inputs: null, inputWrap: null, overrideBoolCount: null, overrideBoolNames: null, overrideBoolValues: null, overrideFloatCount: null, overrideFloatNames: null, overrideFloatValues: null, overrideIntCount: null, overrideIntNames: null, overrideIntValues: null, paramBoolCount: null, paramCount: null, paramData: null, paramDataBuffer: null, paramDataLength: null, paramFloatCount: null, paramIntCount: null, paramLengths: null, paramPositions: null, paramRefs_Bool: null, paramRefs_Float: null, paramRefs_Int: null, paramTypes: null, shader: null, addBoolOverride: function (a, b) { this.overrideBoolNames[this.overrideBoolCount] = a; this.overrideBoolValues[this.overrideBoolCount] = b; this.overrideBoolCount++; }, addFloatOverride: function (a, b) { this.overrideFloatNames[this.overrideFloatCount] = a; this.overrideFloatValues[this.overrideFloatCount] = b; this.overrideFloatCount++; }, addIntOverride: function (a, b) { this.overrideIntNames[this.overrideIntCount] = a; this.overrideIntValues[this.overrideIntCount] = b; this.overrideIntCount++; }, clearOverride: function () { this.overrideBoolCount = this.overrideFloatCount = this.overrideIntCount = 0; }, update: function (a) { this.paramIntCount = this.paramFloatCount = this.paramDataLength = this.paramCount = this.paramBoolCount = this.overrideBoolCount = this.overrideFloatCount = this.overrideIntCount = this.inputCount = 0; this.shader = null; if (null != a) { a.__init(); this.inputCount = a.__inputBitmapData.length; for (var b, c = 0, e = this.inputCount; c < e; ) { var f = c++; b = a.__inputBitmapData[f]; this.inputs[f] = b.input; this.inputFilter[f] = b.filter; this.inputMipFilter[f] = b.mipFilter; this.inputRefs[f] = b; this.inputWrap[f] = b.wrap; } b = a.__paramBool.length; var g = a.__paramFloat.length, l = a.__paramInt.length; this.paramCount = b + g + l; this.paramBoolCount = b; this.paramFloatCount = g; this.paramIntCount = l; var h = 0; c = 0; for (e = b; c < e; ) { f = c++; var k = a.__paramBool[f]; this.paramPositions[h] = this.paramDataLength; var r = null != k.value ? k.value.length : 0; this.paramLengths[h] = r; this.paramDataLength += r; this.paramTypes[h] = 0; this.paramRefs_Bool[f] = k; ++h; } c = 0; for (e = g; c < e; ) (f = c++), (k = a.__paramFloat[f]), (this.paramPositions[h] = this.paramDataLength), (r = null != k.value ? k.value.length : 0), (this.paramLengths[h] = r), (this.paramDataLength += r), (this.paramTypes[h] = 1), (this.paramRefs_Float[f] = k), ++h; c = 0; for (e = l; c < e; ) (f = c++), (k = a.__paramInt[f]), (this.paramPositions[h] = this.paramDataLength), (r = null != k.value ? k.value.length : 0), (this.paramLengths[h] = r), (this.paramDataLength += r), (this.paramTypes[h] = 2), (this.paramRefs_Int[f] = k), ++h; if (0 < this.paramDataLength) if (null == this.paramData) { c = this.paramDataLength; var n = (k = h = l = e = null); this.paramData = c = null != c ? new Float32Array(c) : null != e ? new Float32Array(e) : null != l ? new Float32Array(l.__array) : null != h ? new Float32Array(h) : null != k ? null == n ? new Float32Array(k, 0) : new Float32Array(k, 0, n) : null; } else this.paramDataLength > this.paramData.length && ((c = this.paramDataLength), (n = k = h = l = e = null), (c = null != c ? new Float32Array(c) : null != e ? new Float32Array(e) : null != l ? new Float32Array(l.__array) : null != h ? new Float32Array(h) : null != k ? null == n ? new Float32Array(k, 0) : new Float32Array(k, 0, n) : null), c.set(this.paramData), (this.paramData = c)); c = n = k = h = l = 0; for (e = this.paramCount; c < e; ) if (((f = c++), (r = this.paramLengths[f]), f < b)) { f = this.paramRefs_Bool[l]; ++l; for (var p = 0; p < r; ) { var u = p++; this.paramData[n] = f.value[u] ? 1 : 0; ++n; } } else if (f < b + g) for (f = this.paramRefs_Float[h], ++h, p = 0; p < r; ) (u = p++), (this.paramData[n] = f.value[u]), ++n; else for (f = this.paramRefs_Int[k], ++k, p = 0; p < r; ) (u = p++), (this.paramData[n] = f.value[u]), ++n; this.shader = a; } }, __class__: Km }; var Yb = function (a, b, c) { this.profile = 3; this.driverInfo = 'OpenGL (Direct blitting)'; this.backBufferHeight = this.backBufferWidth = 0; cb.call(this); this.__stage = a; this.__contextState = b; this.__stage3D = c; this.__context = a.window.context; this.gl = this.__context.webgl; null == this.__contextState && (this.__contextState = new Zj()); this.__state = new Zj(); var d; this.__vertexConstants = a = new Float32Array(512); this.__fragmentConstants = a = new Float32Array(512); var f = null; a = [1, 1, 1, 1]; var g = (d = c = b = null); this.__positionScale = a = null != f ? new Float32Array(f) : null != a ? new Float32Array(a) : null != b ? new Float32Array(b.__array) : null != c ? new Float32Array(c) : null != d ? null == g ? new Float32Array(d, 0) : new Float32Array(d, 0, g) : null; this.__programs = new qa(); -1 == Yb.__glMaxViewportDims && (Yb.__glMaxViewportDims = this.gl.getParameter(this.gl.MAX_VIEWPORT_DIMS)); this.maxBackBufferHeight = this.maxBackBufferWidth = Yb.__glMaxViewportDims; -1 == Yb.__glMaxTextureMaxAnisotropy && ((a = this.gl.getExtension('EXT_texture_filter_anisotropic')), (null != a && Object.prototype.hasOwnProperty.call(a, 'MAX_TEXTURE_MAX_ANISOTROPY_EXT')) || (a = this.gl.getExtension('MOZ_EXT_texture_filter_anisotropic')), (null != a && Object.prototype.hasOwnProperty.call(a, 'MAX_TEXTURE_MAX_ANISOTROPY_EXT')) || (a = this.gl.getExtension('WEBKIT_EXT_texture_filter_anisotropic')), null != a ? ((Yb.__glTextureMaxAnisotropy = a.TEXTURE_MAX_ANISOTROPY_EXT), (Yb.__glMaxTextureMaxAnisotropy = this.gl.getParameter( a.MAX_TEXTURE_MAX_ANISOTROPY_EXT ))) : ((Yb.__glTextureMaxAnisotropy = 0), (Yb.__glMaxTextureMaxAnisotropy = 0))); -1 == Yb.__glDepthStencil && (Yb.__glDepthStencil = this.gl.DEPTH_STENCIL); -1 == Yb.__glMemoryTotalAvailable && ((a = this.gl.getExtension('NVX_gpu_memory_info')), null != a && ((Yb.__glMemoryTotalAvailable = a.GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX), (Yb.__glMemoryCurrentAvailable = a.GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX))); null == Yb.__driverInfo && ((a = this.gl.getParameter(this.gl.VENDOR)), (b = this.gl.getParameter(this.gl.VERSION)), (c = this.gl.getParameter(this.gl.RENDERER)), (d = this.gl.getParameter(this.gl.SHADING_LANGUAGE_VERSION)), (Yb.__driverInfo = 'OpenGL Vendor=' + a + ' Version=' + b + ' Renderer=' + c + ' GLSL=' + d)); this.driverInfo = Yb.__driverInfo; this.__quadIndexBufferElements = 16383; f = this.__quadIndexBufferCount = 6 * this.__quadIndexBufferElements; g = d = c = b = a = null; a = null != f ? new Uint16Array(f) : null != a ? new Uint16Array(a) : null != b ? new Uint16Array(b.__array) : null != c ? new Uint16Array(c) : null != d ? null == g ? new Uint16Array(d, 0) : new Uint16Array(d, 0, g) : null; d = c = b = 0; for (g = this.__quadIndexBufferElements; d < g; ) d++, (a[b] = c), (a[b + 1] = c + 1), (a[b + 2] = c + 2), (a[b + 3] = c + 2), (a[b + 4] = c + 1), (a[b + 5] = c + 3), (b += 6), (c += 4); this.__quadIndexBuffer = this.createIndexBuffer(this.__quadIndexBufferCount); this.__quadIndexBuffer.uploadFromTypedArray(a); }; k['openfl.display3D.Context3D'] = Yb; Yb.__name__ = 'openfl.display3D.Context3D'; Yb.__super__ = cb; Yb.prototype = t(cb.prototype, { backBufferHeight: null, backBufferWidth: null, driverInfo: null, maxBackBufferHeight: null, maxBackBufferWidth: null, profile: null, gl: null, __backBufferAntiAlias: null, __backBufferTexture: null, __backBufferWantsBestResolution: null, __backBufferWantsBestResolutionOnBrowserZoom: null, __cleared: null, __context: null, __contextState: null, __renderStage3DProgram: null, __enableErrorChecking: null, __fragmentConstants: null, __frontBufferTexture: null, __positionScale: null, __present: null, __programs: null, __quadIndexBuffer: null, __quadIndexBufferCount: null, __quadIndexBufferElements: null, __stage: null, __stage3D: null, __state: null, __vertexConstants: null, clear: function (a, b, c, e, f, g, l) { null == l && (l = 7); null == g && (g = 0); null == f && (f = 1); null == e && (e = 1); null == c && (c = 0); null == b && (b = 0); null == a && (a = 0); this.__flushGLFramebuffer(); this.__flushGLViewport(); var d = 0; if (0 != (l & 1)) { null == this.__state.renderToTexture && (this.__stage.context3D != this || this.__stage.__renderer.__cleared || (this.__stage.__renderer.__cleared = !0), (this.__cleared = !0)); d |= this.gl.COLOR_BUFFER_BIT; if ( 1 != this.__contextState.colorMaskRed || 1 != this.__contextState.colorMaskGreen || 1 != this.__contextState.colorMaskBlue || 1 != this.__contextState.colorMaskAlpha ) this.gl.colorMask(!0, !0, !0, !0), (this.__contextState.colorMaskRed = !0), (this.__contextState.colorMaskGreen = !0), (this.__contextState.colorMaskBlue = !0), (this.__contextState.colorMaskAlpha = !0); this.gl.clearColor(a, b, c, e); } 0 != (l & 2) && ((d |= this.gl.DEPTH_BUFFER_BIT), 1 != this.__contextState.depthMask && (this.gl.depthMask(!0), (this.__contextState.depthMask = !0)), this.gl.clearDepth(f)); 0 != (l & 4) && ((d |= this.gl.STENCIL_BUFFER_BIT), 255 != this.__contextState.stencilWriteMask && (this.gl.stencilMask(255), (this.__contextState.stencilWriteMask = 255)), this.gl.clearStencil(g), (this.__contextState.stencilWriteMask = 255)); 0 != d && (this.__setGLScissorTest(!1), this.gl.clear(d)); }, configureBackBuffer: function (a, b, c, e, f, g) { null == g && (g = !1); null == f && (f = !1); null == e && (e = !0); if (null == this.__stage3D) (this.backBufferWidth = a), (this.backBufferHeight = b), (this.__backBufferAntiAlias = c), (this.__state.backBufferEnableDepthAndStencil = e), (this.__backBufferWantsBestResolution = f), (this.__backBufferWantsBestResolutionOnBrowserZoom = g); else { if ( null == this.__backBufferTexture || this.backBufferWidth != a || this.backBufferHeight != b ) { null != this.__backBufferTexture && this.__backBufferTexture.dispose(); null != this.__frontBufferTexture && this.__frontBufferTexture.dispose(); this.__backBufferTexture = this.createRectangleTexture(a, b, 1, !0); this.__frontBufferTexture = this.createRectangleTexture(a, b, 1, !0); null == this.__stage3D.__vertexBuffer && (this.__stage3D.__vertexBuffer = this.createVertexBuffer(4, 5)); var d = Ab.toFloatVector(null, null, null, [ a, b, 0, 1, 1, 0, b, 0, 0, 1, a, 0, 0, 1, 0, 0, 0, 0, 0, 0 ]); this.__stage3D.__vertexBuffer.uploadFromVector(d, 0, 20); null == this.__stage3D.__indexBuffer && ((this.__stage3D.__indexBuffer = this.createIndexBuffer(6)), (d = Ab.toIntVector(null, null, null, [0, 1, 2, 2, 1, 3])), this.__stage3D.__indexBuffer.uploadFromVector(d, 0, 6)); } this.backBufferWidth = a; this.backBufferHeight = b; this.__backBufferAntiAlias = c; this.__state.backBufferEnableDepthAndStencil = e; this.__backBufferWantsBestResolution = f; this.__backBufferWantsBestResolutionOnBrowserZoom = g; this.__state.__primaryGLFramebuffer = this.__backBufferTexture.__getGLFramebuffer( e, c, 0 ); this.__frontBufferTexture.__getGLFramebuffer(e, c, 0); } }, createCubeTexture: function (a, b, c, e) { null == e && (e = 0); return new Xi(this, a, b, c, e); }, createIndexBuffer: function (a, b) { null == b && (b = 1); return new ap(this, a, b); }, createProgram: function (a) { null == a && (a = 0); return new bp(this, a); }, createRectangleTexture: function (a, b, c, e) { return new ak(this, a, b, bk.toString(c), e); }, createTexture: function (a, b, c, e, f) { null == f && (f = 0); return new gi(this, a, b, c, e, f); }, createVertexBuffer: function (a, b, c) { null == c && (c = 1); return new cp(this, a, b, rz.toString(c)); }, createVideoTexture: function () { return new cn(this); }, dispose: function (a) { this.gl = null; this.__dispose(); }, drawToBitmapData: function (a, b, c) { if (null != a) if ( ((b = null != b ? b.__toLimeRectangle() : new Qd(0, 0, this.backBufferWidth, this.backBufferHeight)), (c = null != c ? c.__toLimeVector2() : new Xd()), this.__stage.context3D == this) ) { if (null != this.__stage.window) { if (null != this.__stage3D) { var d = -this.__stage3D.get_x() | 0, f = -this.__stage3D.get_y() | 0; c.x = d; c.y = f; } f = this.__stage.window.readPixels(); a.image.copyPixels(f, b, c); } } else if (null != this.__backBufferTexture) { d = this.__state.renderToTexture; this.setRenderToBackBuffer(); this.__flushGLFramebuffer(); this.__flushGLViewport(); f = this.backBufferWidth * this.backBufferHeight * 4; var g = (f = null != f ? new Uint8Array(f) : null); f = this.gl; f.readPixels( 0, 0, this.backBufferWidth, this.backBufferHeight, this.__backBufferTexture.__format, this.gl.UNSIGNED_BYTE, g ); f = new Gb(new Qf(g, this.backBufferWidth, this.backBufferHeight, 32, 2)); a.image.copyPixels(f, b, c); null != d && this.setRenderToTexture( d, this.__state.renderToTextureDepthStencil, this.__state.renderToTextureAntiAlias, this.__state.renderToTextureSurfaceSelector ); } }, drawTriangles: function (a, b, c) { null == c && (c = -1); null == b && (b = 0); null == this.__state.renderToTexture && (this.__stage.context3D != this || this.__stage.__renderer.__cleared ? this.__cleared || this.clear(0, 0, 0, 0, 1, 0, 1) : this.__stage.__renderer.__clear()); this.__flushGL(); null != this.__state.program && this.__state.program.__flush(); c = -1 == c ? a.__numIndices : 3 * c; this.__bindGLElementArrayBuffer(a.__id); this.gl.drawElements(this.gl.TRIANGLES, c, this.gl.UNSIGNED_SHORT, 2 * b); }, present: function () { this.setRenderToBackBuffer(); if (null != this.__stage3D && null != this.__backBufferTexture) { this.__cleared || this.clear(0, 0, 0, 0, 1, 0, 1); var a = this.__backBufferTexture; this.__backBufferTexture = this.__frontBufferTexture; this.__frontBufferTexture = a; this.__state.__primaryGLFramebuffer = this.__backBufferTexture.__getGLFramebuffer( this.__state.backBufferEnableDepthAndStencil, this.__backBufferAntiAlias, 0 ); this.__cleared = !1; } this.__present = !0; }, setBlendFactors: function (a, b) { this.setBlendFactorsSeparate(a, b, a, b); }, setBlendFactorsSeparate: function (a, b, c, e) { this.__state.blendSourceRGBFactor = a; this.__state.blendDestinationRGBFactor = b; this.__state.blendSourceAlphaFactor = c; this.__state.blendDestinationAlphaFactor = e; this.__setGLBlendEquation(this.gl.FUNC_ADD); }, setColorMask: function (a, b, c, e) { this.__state.colorMaskRed = a; this.__state.colorMaskGreen = b; this.__state.colorMaskBlue = c; this.__state.colorMaskAlpha = e; }, setCulling: function (a) { this.__state.culling = a; }, setDepthTest: function (a, b) { this.__state.depthMask = a; this.__state.depthCompareMode = b; }, setProgram: function (a) { this.__state.program = a; this.__state.shader = null; if (null != a) for (var b = 0, c = a.__samplerStates.length; b < c; ) { var e = b++; null == this.__state.samplerStates[e] ? (this.__state.samplerStates[e] = a.__samplerStates[e].clone()) : this.__state.samplerStates[e].copyFrom(a.__samplerStates[e]); } }, setProgramConstantsFromByteArray: function (a, b, c, e, f) { if ( 0 != c && null != this.__state.program && (null == this.__state.program || 1 != this.__state.program.__format) ) { -1 == c && (c = (Bb.get_length(e) >>> 2) - f); var d = (a = 1 == a) ? this.__vertexConstants : this.__fragmentConstants, l = Bb.toBytes(e), h = 0; e = Bb.get_length(e); null == h && (h = 0); e = null == h ? new Float32Array(l.b.bufferValue) : null == e ? new Float32Array(l.b.bufferValue, h) : new Float32Array(l.b.bufferValue, h, e); l = 4 * b; f = (Ba.toFloat(f) / Ba.toFloat(4)) | 0; h = 0; for (var k = 4 * c; h < k; ) { var r = h++; d[l + r] = e[f + r]; } null != this.__state.program && this.__state.program.__markDirty(a, b, c); } }, setProgramConstantsFromMatrix: function (a, b, c, e) { null == e && (e = !1); if (null != this.__state.program && 1 == this.__state.program.__format) this.__flushGLProgram(), (a = new Float32Array(16)), (a[0] = c.rawData.get(0)), (a[1] = c.rawData.get(1)), (a[2] = c.rawData.get(2)), (a[3] = c.rawData.get(3)), (a[4] = c.rawData.get(4)), (a[5] = c.rawData.get(5)), (a[6] = c.rawData.get(6)), (a[7] = c.rawData.get(7)), (a[8] = c.rawData.get(8)), (a[9] = c.rawData.get(9)), (a[10] = c.rawData.get(10)), (a[11] = c.rawData.get(11)), (a[12] = c.rawData.get(12)), (a[13] = c.rawData.get(13)), (a[14] = c.rawData.get(14)), (a[15] = c.rawData.get(15)), $b.uniformMatrix4fv(this.gl, b, e, a); else { var d = (a = 1 == a) ? this.__vertexConstants : this.__fragmentConstants; c = c.rawData; var g = 4 * b; e ? ((d[g++] = c.get(0)), (d[g++] = c.get(4)), (d[g++] = c.get(8)), (d[g++] = c.get(12)), (d[g++] = c.get(1)), (d[g++] = c.get(5)), (d[g++] = c.get(9)), (d[g++] = c.get(13)), (d[g++] = c.get(2)), (d[g++] = c.get(6)), (d[g++] = c.get(10)), (d[g++] = c.get(14)), (d[g++] = c.get(3)), (d[g++] = c.get(7)), (d[g++] = c.get(11))) : ((d[g++] = c.get(0)), (d[g++] = c.get(1)), (d[g++] = c.get(2)), (d[g++] = c.get(3)), (d[g++] = c.get(4)), (d[g++] = c.get(5)), (d[g++] = c.get(6)), (d[g++] = c.get(7)), (d[g++] = c.get(8)), (d[g++] = c.get(9)), (d[g++] = c.get(10)), (d[g++] = c.get(11)), (d[g++] = c.get(12)), (d[g++] = c.get(13)), (d[g++] = c.get(14))); d[g++] = c.get(15); null != this.__state.program && this.__state.program.__markDirty(a, b, 4); } }, setProgramConstantsFromVector: function (a, b, c, e) { null == e && (e = -1); if (0 != e && (null == this.__state.program || 1 != this.__state.program.__format)) { -1 == e && (e = c.get_length() >> 2); for ( var d = (a = 1 == a) ? this.__vertexConstants : this.__fragmentConstants, g = 0, l = 4 * b, h = 0, k = e; h < k; ) h++, (d[l++] = c.get(g++)), (d[l++] = c.get(g++)), (d[l++] = c.get(g++)), (d[l++] = c.get(g++)); null != this.__state.program && this.__state.program.__markDirty(a, b, e); } }, setRenderToBackBuffer: function () { this.__state.renderToTexture = null; }, setRenderToTexture: function (a, b, c, e) { null == e && (e = 0); null == c && (c = 0); null == b && (b = !1); this.__state.renderToTexture = a; this.__state.renderToTextureDepthStencil = b; this.__state.renderToTextureAntiAlias = c; this.__state.renderToTextureSurfaceSelector = e; }, setSamplerStateAt: function (a, b, c, e) { null == this.__state.samplerStates[a] && (this.__state.samplerStates[a] = new Tg()); a = this.__state.samplerStates[a]; a.wrap = b; a.filter = c; a.mipfilter = e; }, setScissorRectangle: function (a) { null != a ? ((this.__state.scissorEnabled = !0), this.__state.scissorRectangle.copyFrom(a)) : (this.__state.scissorEnabled = !1); }, setStencilActions: function (a, b, c, e, f) { null == f && (f = 5); null == e && (e = 5); null == c && (c = 5); null == b && (b = 0); null == a && (a = 2); this.__state.stencilTriangleFace = a; this.__state.stencilCompareMode = b; this.__state.stencilPass = c; this.__state.stencilDepthFail = e; this.__state.stencilFail = f; }, setStencilReferenceValue: function (a, b, c) { null == c && (c = 255); null == b && (b = 255); this.__state.stencilReferenceValue = a; this.__state.stencilReadMask = b; this.__state.stencilWriteMask = c; }, setTextureAt: function (a, b) { this.__state.textures[a] = b; }, setVertexBufferAt: function (a, b, c, e) { null == e && (e = 4); null == c && (c = 0); if (null == b) this.gl.disableVertexAttribArray(a), this.__bindGLArrayBuffer(null); else switch ( (this.__bindGLArrayBuffer(b.__id), this.gl.enableVertexAttribArray(a), (c *= 4), e) ) { case 0: this.gl.vertexAttribPointer(a, 4, this.gl.UNSIGNED_BYTE, !0, b.__stride, c); break; case 1: this.gl.vertexAttribPointer(a, 1, this.gl.FLOAT, !1, b.__stride, c); break; case 2: this.gl.vertexAttribPointer(a, 2, this.gl.FLOAT, !1, b.__stride, c); break; case 3: this.gl.vertexAttribPointer(a, 3, this.gl.FLOAT, !1, b.__stride, c); break; case 4: this.gl.vertexAttribPointer(a, 4, this.gl.FLOAT, !1, b.__stride, c); break; default: throw J.thrown(new jd()); } }, __bindGLArrayBuffer: function (a) { this.__contextState.__currentGLArrayBuffer != a && (this.gl.bindBuffer(this.gl.ARRAY_BUFFER, a), (this.__contextState.__currentGLArrayBuffer = a)); }, __bindGLElementArrayBuffer: function (a) { this.__contextState.__currentGLElementArrayBuffer != a && (this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER, a), (this.__contextState.__currentGLElementArrayBuffer = a)); }, __bindGLFramebuffer: function (a) { this.__contextState.__currentGLFramebuffer != a && (this.gl.bindFramebuffer(this.gl.FRAMEBUFFER, a), (this.__contextState.__currentGLFramebuffer = a)); }, __bindGLTexture2D: function (a) { this.gl.bindTexture(this.gl.TEXTURE_2D, a); this.__contextState.__currentGLTexture2D = a; }, __bindGLTextureCubeMap: function (a) { this.gl.bindTexture(this.gl.TEXTURE_CUBE_MAP, a); this.__contextState.__currentGLTextureCubeMap = a; }, __dispose: function () { this.driverInfo += ' (Disposed)'; null != this.__stage3D && ((this.__stage3D.__indexBuffer = null), (this.__stage3D.__vertexBuffer = null), (this.__stage3D = this.__stage3D.context3D = null)); this.__positionScale = this.__frontBufferTexture = this.__fragmentConstants = this.__renderStage3DProgram = this.__context = this.__backBufferTexture = null; this.__present = !1; this.__vertexConstants = this.__stage = this.__quadIndexBuffer = null; }, __drawTriangles: function (a, b) { null == a && (a = 0); null == this.__state.renderToTexture && (this.__stage.context3D != this || this.__stage.__renderer.__cleared ? this.__cleared || this.clear(0, 0, 0, 0, 1, 0, 1) : this.__stage.__renderer.__clear()); this.__flushGL(); null != this.__state.program && this.__state.program.__flush(); this.gl.drawArrays(this.gl.TRIANGLES, a, b); }, __flushGL: function () { this.__flushGLProgram(); this.__flushGLFramebuffer(); this.__flushGLViewport(); this.__flushGLBlend(); if ( this.__contextState.colorMaskRed != this.__state.colorMaskRed || this.__contextState.colorMaskGreen != this.__state.colorMaskGreen || this.__contextState.colorMaskBlue != this.__state.colorMaskBlue || this.__contextState.colorMaskAlpha != this.__state.colorMaskAlpha ) this.gl.colorMask( this.__state.colorMaskRed, this.__state.colorMaskGreen, this.__state.colorMaskBlue, this.__state.colorMaskAlpha ), (this.__contextState.colorMaskRed = this.__state.colorMaskRed), (this.__contextState.colorMaskGreen = this.__state.colorMaskGreen), (this.__contextState.colorMaskBlue = this.__state.colorMaskBlue), (this.__contextState.colorMaskAlpha = this.__state.colorMaskAlpha); this.__flushGLCulling(); this.__flushGLDepth(); this.__flushGLScissor(); this.__flushGLStencil(); this.__flushGLTextures(); }, __flushGLBlend: function () { if ( this.__contextState.blendDestinationRGBFactor != this.__state.blendDestinationRGBFactor || this.__contextState.blendSourceRGBFactor != this.__state.blendSourceRGBFactor || this.__contextState.blendDestinationAlphaFactor != this.__state.blendDestinationAlphaFactor || this.__contextState.blendSourceAlphaFactor != this.__state.blendSourceAlphaFactor ) this.__setGLBlend(!0), this.__state.blendDestinationRGBFactor == this.__state.blendDestinationAlphaFactor && this.__state.blendSourceRGBFactor == this.__state.blendSourceAlphaFactor ? this.gl.blendFunc( this.__getGLBlend(this.__state.blendSourceRGBFactor), this.__getGLBlend(this.__state.blendDestinationRGBFactor) ) : this.gl.blendFuncSeparate( this.__getGLBlend(this.__state.blendSourceRGBFactor), this.__getGLBlend(this.__state.blendDestinationRGBFactor), this.__getGLBlend(this.__state.blendSourceAlphaFactor), this.__getGLBlend(this.__state.blendDestinationAlphaFactor) ), (this.__contextState.blendDestinationRGBFactor = this.__state.blendDestinationRGBFactor), (this.__contextState.blendSourceRGBFactor = this.__state.blendSourceRGBFactor), (this.__contextState.blendDestinationAlphaFactor = this.__state.blendDestinationAlphaFactor), (this.__contextState.blendSourceAlphaFactor = this.__state.blendSourceAlphaFactor); }, __flushGLColor: function () { if ( this.__contextState.colorMaskRed != this.__state.colorMaskRed || this.__contextState.colorMaskGreen != this.__state.colorMaskGreen || this.__contextState.colorMaskBlue != this.__state.colorMaskBlue || this.__contextState.colorMaskAlpha != this.__state.colorMaskAlpha ) this.gl.colorMask( this.__state.colorMaskRed, this.__state.colorMaskGreen, this.__state.colorMaskBlue, this.__state.colorMaskAlpha ), (this.__contextState.colorMaskRed = this.__state.colorMaskRed), (this.__contextState.colorMaskGreen = this.__state.colorMaskGreen), (this.__contextState.colorMaskBlue = this.__state.colorMaskBlue), (this.__contextState.colorMaskAlpha = this.__state.colorMaskAlpha); }, __flushGLCulling: function () { if (this.__contextState.culling != this.__state.culling) { if (3 == this.__state.culling) this.__setGLCullFace(!1); else switch ((this.__setGLCullFace(!0), this.__state.culling)) { case 0: this.gl.cullFace(this.gl.BACK); break; case 1: this.gl.cullFace(this.gl.FRONT); break; case 2: this.gl.cullFace(this.gl.FRONT_AND_BACK); break; case 3: break; default: throw J.thrown(new jd()); } this.__contextState.culling = this.__state.culling; } }, __flushGLDepth: function () { var a = this.__state.depthMask && (null != this.__state.renderToTexture ? this.__state.renderToTextureDepthStencil : this.__state.backBufferEnableDepthAndStencil); this.__contextState.depthMask != a && (this.gl.depthMask(a), (this.__contextState.depthMask = a)); if (this.__contextState.depthCompareMode != this.__state.depthCompareMode) { switch (this.__state.depthCompareMode) { case 0: this.gl.depthFunc(this.gl.ALWAYS); break; case 1: this.gl.depthFunc(this.gl.EQUAL); break; case 2: this.gl.depthFunc(this.gl.GREATER); break; case 3: this.gl.depthFunc(this.gl.GEQUAL); break; case 4: this.gl.depthFunc(this.gl.LESS); break; case 5: this.gl.depthFunc(this.gl.LEQUAL); break; case 6: this.gl.depthFunc(this.gl.NEVER); break; case 7: this.gl.depthFunc(this.gl.NOTEQUAL); break; default: throw J.thrown(new jd()); } this.__contextState.depthCompareMode = this.__state.depthCompareMode; } }, __flushGLFramebuffer: function () { if (null != this.__state.renderToTexture) { if ( this.__contextState.renderToTexture != this.__state.renderToTexture || this.__contextState.renderToTextureSurfaceSelector != this.__state.renderToTextureSurfaceSelector ) { var a = this.__state.renderToTexture.__getGLFramebuffer( this.__state.renderToTextureDepthStencil, this.__state.renderToTextureAntiAlias, this.__state.renderToTextureSurfaceSelector ); this.__bindGLFramebuffer(a); this.__contextState.renderToTexture = this.__state.renderToTexture; this.__contextState.renderToTextureAntiAlias = this.__state.renderToTextureAntiAlias; this.__contextState.renderToTextureDepthStencil = this.__state.renderToTextureDepthStencil; this.__contextState.renderToTextureSurfaceSelector = this.__state.renderToTextureSurfaceSelector; } this.__setGLDepthTest(this.__state.renderToTextureDepthStencil); this.__setGLStencilTest(this.__state.renderToTextureDepthStencil); this.__setGLFrontFace(!0); } else { if (null == this.__stage && 0 == this.backBufferWidth && 0 == this.backBufferHeight) throw J.thrown(new cd('Context3D backbuffer has not been configured')); if ( null != this.__contextState.renderToTexture || this.__contextState.__currentGLFramebuffer != this.__state.__primaryGLFramebuffer || this.__contextState.backBufferEnableDepthAndStencil != this.__state.backBufferEnableDepthAndStencil ) this.__bindGLFramebuffer(this.__state.__primaryGLFramebuffer), (this.__contextState.renderToTexture = null), (this.__contextState.backBufferEnableDepthAndStencil = this.__state.backBufferEnableDepthAndStencil); this.__setGLDepthTest(this.__state.backBufferEnableDepthAndStencil); this.__setGLStencilTest(this.__state.backBufferEnableDepthAndStencil); this.__setGLFrontFace(this.__stage.context3D != this); } }, __flushGLProgram: function () { var a = this.__state.shader, b = this.__state.program; this.__contextState.shader != a && (null != this.__contextState.shader && this.__contextState.shader.__disable(), null != a && a.__enable(), (this.__contextState.shader = a)); this.__contextState.program != b && (null != this.__contextState.program && this.__contextState.program.__disable(), null != b && b.__enable(), (this.__contextState.program = b)); null != b && 0 == b.__format && ((this.__positionScale[1] = this.__stage.context3D == this && null == this.__state.renderToTexture ? 1 : -1), b.__setPositionScale(this.__positionScale)); }, __flushGLScissor: function () { if (this.__state.scissorEnabled) { this.__setGLScissorTest(!0); this.__contextState.scissorEnabled = !0; var a = this.__state.scissorRectangle.x | 0, b = this.__state.scissorRectangle.y | 0, c = this.__state.scissorRectangle.width | 0, e = this.__state.scissorRectangle.height | 0; null == this.__state.renderToTexture && null == this.__stage3D && (b = ((this.__stage.window.__height * this.__stage.window.__scale) | 0) - (this.__state.scissorRectangle.height | 0) - b); if ( this.__contextState.scissorRectangle.x != a || this.__contextState.scissorRectangle.y != b || this.__contextState.scissorRectangle.width != c || this.__contextState.scissorRectangle.height != e ) this.gl.scissor(a, b, c, e), this.__contextState.scissorRectangle.setTo(a, b, c, e); } else this.__contextState.scissorEnabled != this.__state.scissorEnabled && (this.__setGLScissorTest(!1), (this.__contextState.scissorEnabled = !1)); }, __flushGLStencil: function () { if ( this.__contextState.stencilTriangleFace != this.__state.stencilTriangleFace || this.__contextState.stencilPass != this.__state.stencilPass || this.__contextState.stencilDepthFail != this.__state.stencilDepthFail || this.__contextState.stencilFail != this.__state.stencilFail ) this.gl.stencilOpSeparate( this.__getGLTriangleFace(this.__state.stencilTriangleFace), this.__getGLStencilAction(this.__state.stencilFail), this.__getGLStencilAction(this.__state.stencilDepthFail), this.__getGLStencilAction(this.__state.stencilPass) ), (this.__contextState.stencilTriangleFace = this.__state.stencilTriangleFace), (this.__contextState.stencilPass = this.__state.stencilPass), (this.__contextState.stencilDepthFail = this.__state.stencilDepthFail), (this.__contextState.stencilFail = this.__state.stencilFail); this.__contextState.stencilWriteMask != this.__state.stencilWriteMask && (this.gl.stencilMask(this.__state.stencilWriteMask), (this.__contextState.stencilWriteMask = this.__state.stencilWriteMask)); if ( this.__contextState.stencilCompareMode != this.__state.stencilCompareMode || this.__contextState.stencilReferenceValue != this.__state.stencilReferenceValue || this.__contextState.stencilReadMask != this.__state.stencilReadMask ) this.gl.stencilFunc( this.__getGLCompareMode(this.__state.stencilCompareMode), this.__state.stencilReferenceValue, this.__state.stencilReadMask ), (this.__contextState.stencilCompareMode = this.__state.stencilCompareMode), (this.__contextState.stencilReferenceValue = this.__state.stencilReferenceValue), (this.__contextState.stencilReadMask = this.__state.stencilReadMask); }, __flushGLTextures: function () { for (var a = 0, b, c, e = 0, f = this.__state.textures.length; e < f; ) { var g = e++; b = this.__state.textures[g]; c = this.__state.samplerStates[g]; null == c && ((this.__state.samplerStates[g] = new Tg()), (c = this.__state.samplerStates[g])); this.gl.activeTexture(this.gl.TEXTURE0 + a); null != b ? (b.__textureTarget == this.gl.TEXTURE_2D ? this.__bindGLTexture2D(b.__getTexture()) : this.__bindGLTextureCubeMap(b.__getTexture()), (this.__contextState.textures[g] = b), b.__setSamplerState(c)) : this.__bindGLTexture2D(null); null != this.__state.program && 0 == this.__state.program.__format && c.textureAlpha && (this.gl.activeTexture(this.gl.TEXTURE0 + a + 4), null != b && null != b.__alphaTexture ? (b.__alphaTexture.__textureTarget == this.gl.TEXTURE_2D ? this.__bindGLTexture2D(b.__alphaTexture.__getTexture()) : this.__bindGLTextureCubeMap(b.__alphaTexture.__getTexture()), b.__alphaTexture.__setSamplerState(c), this.gl.uniform1i(this.__state.program.__agalAlphaSamplerEnabled[a].location, 1)) : (this.__bindGLTexture2D(null), null != this.__state.program.__agalAlphaSamplerEnabled[a] && this.gl.uniform1i( this.__state.program.__agalAlphaSamplerEnabled[a].location, 0 ))); ++a; } }, __flushGLViewport: function () { if (null == this.__state.renderToTexture) if (this.__stage.context3D == this) { var a = null == this.__stage3D ? 0 : this.__stage3D.get_x() | 0, b = (this.__stage.window.__height * this.__stage.window.__scale - this.backBufferHeight - (null == this.__stage3D ? 0 : this.__stage3D.get_y())) | 0; this.gl.viewport(a, b, this.backBufferWidth, this.backBufferHeight); } else this.gl.viewport(0, 0, this.backBufferWidth, this.backBufferHeight); else (b = a = 0), this.__state.renderToTexture instanceof gi ? ((b = this.__state.renderToTexture), (a = b.__width), (b = b.__height)) : this.__state.renderToTexture instanceof ak ? ((b = this.__state.renderToTexture), (a = b.__width), (b = b.__height)) : this.__state.renderToTexture instanceof Xi && ((b = this.__state.renderToTexture), (b = a = b.__size)), this.gl.viewport(0, 0, a, b); }, __getGLBlend: function (a) { switch (a) { case 0: return this.gl.DST_ALPHA; case 1: return this.gl.DST_COLOR; case 2: return this.gl.ONE; case 3: return this.gl.ONE_MINUS_DST_ALPHA; case 4: return this.gl.ONE_MINUS_DST_COLOR; case 5: return this.gl.ONE_MINUS_SRC_ALPHA; case 6: return this.gl.ONE_MINUS_SRC_COLOR; case 7: return this.gl.SRC_ALPHA; case 8: return this.gl.SRC_COLOR; case 9: return this.gl.ZERO; default: throw J.thrown(new jd()); } }, __getGLCompareMode: function (a) { switch (a) { case 0: return this.gl.ALWAYS; case 1: return this.gl.EQUAL; case 2: return this.gl.GREATER; case 3: return this.gl.GEQUAL; case 4: return this.gl.LESS; case 5: return this.gl.LEQUAL; case 6: return this.gl.NEVER; case 7: return this.gl.NOTEQUAL; default: return this.gl.EQUAL; } }, __getGLStencilAction: function (a) { switch (a) { case 0: return this.gl.DECR; case 1: return this.gl.DECR_WRAP; case 2: return this.gl.INCR; case 3: return this.gl.INCR_WRAP; case 4: return this.gl.INVERT; case 5: return this.gl.KEEP; case 6: return this.gl.REPLACE; case 7: return this.gl.ZERO; default: return this.gl.KEEP; } }, __getGLTriangleFace: function (a) { switch (a) { case 0: return this.gl.BACK; case 1: return this.gl.FRONT; case 2: return this.gl.FRONT_AND_BACK; case 3: return this.gl.NONE; default: return this.gl.FRONT_AND_BACK; } }, __renderStage3D: function (a) { var b = a.context3D; if ( null != b && b != this && null != b.__frontBufferTexture && a.visible && 0 < this.backBufferHeight && 0 < this.backBufferWidth ) { if (null == this.__renderStage3DProgram) { var c = new X(); c.assemble(sz.toString(1), 'm44 op, va0, vc0\nmov v0, va1'); var e = new X(); e.assemble(sz.toString(0), 'tex ft1, v0, fs0 <2d,nearest,nomip>\nmov oc, ft1'); this.__renderStage3DProgram = this.createProgram(); this.__renderStage3DProgram.upload(c.agalcode, e.agalcode); } this.setProgram(this.__renderStage3DProgram); this.setBlendFactors(2, 9); this.setColorMask(!0, !0, !0, !0); this.setCulling(3); this.setDepthTest(!1, 0); this.setStencilActions(); this.setStencilReferenceValue(0, 0, 0); this.setScissorRectangle(null); this.setTextureAt(0, b.__frontBufferTexture); this.setVertexBufferAt(0, a.__vertexBuffer, 0, 3); this.setVertexBufferAt(1, a.__vertexBuffer, 3, 2); this.setProgramConstantsFromMatrix(1, 0, a.__renderTransform, !0); this.drawTriangles(a.__indexBuffer); this.__present = !0; } }, __setGLBlend: function (a) { this.__contextState.__enableGLBlend != a && (a ? this.gl.enable(this.gl.BLEND) : this.gl.disable(this.gl.BLEND), (this.__contextState.__enableGLBlend = a)); }, __setGLBlendEquation: function (a) { this.__contextState.__glBlendEquation != a && (this.gl.blendEquation(a), (this.__contextState.__glBlendEquation = a)); }, __setGLCullFace: function (a) { this.__contextState.__enableGLCullFace != a && (a ? this.gl.enable(this.gl.CULL_FACE) : this.gl.disable(this.gl.CULL_FACE), (this.__contextState.__enableGLCullFace = a)); }, __setGLDepthTest: function (a) { this.__contextState.__enableGLDepthTest != a && (a ? this.gl.enable(this.gl.DEPTH_TEST) : this.gl.disable(this.gl.DEPTH_TEST), (this.__contextState.__enableGLDepthTest = a)); }, __setGLFrontFace: function (a) { this.__contextState.__frontFaceGLCCW != a && (this.gl.frontFace(a ? this.gl.CCW : this.gl.CW), (this.__contextState.__frontFaceGLCCW = a)); }, __setGLScissorTest: function (a) { this.__contextState.__enableGLScissorTest != a && (a ? this.gl.enable(this.gl.SCISSOR_TEST) : this.gl.disable(this.gl.SCISSOR_TEST), (this.__contextState.__enableGLScissorTest = a)); }, __setGLStencilTest: function (a) { this.__contextState.__enableGLStencilTest != a && (a ? this.gl.enable(this.gl.STENCIL_TEST) : this.gl.disable(this.gl.STENCIL_TEST), (this.__contextState.__enableGLStencilTest = a)); }, get_enableErrorChecking: function () { return this.__enableErrorChecking; }, set_enableErrorChecking: function (a) { return (this.__enableErrorChecking = a); }, get_totalGPUMemory: function () { if (-1 != Yb.__glMemoryCurrentAvailable) { var a = this.gl.getParameter(Yb.__glMemoryCurrentAvailable), b = this.gl.getParameter(Yb.__glMemoryTotalAvailable); if (0 < b) return 1024 * (b - a); } return 0; }, __class__: Yb, __properties__: { get_totalGPUMemory: 'get_totalGPUMemory', set_enableErrorChecking: 'set_enableErrorChecking', get_enableErrorChecking: 'get_enableErrorChecking' } }); var rz = { fromString: function (a) { switch (a) { case 'dynamicDraw': return 0; case 'staticDraw': return 1; default: return null; } }, toString: function (a) { switch (a) { case 0: return 'dynamicDraw'; case 1: return 'staticDraw'; default: return null; } } }, sz = { fromString: function (a) { switch (a) { case 'fragment': return 0; case 'vertex': return 1; default: return null; } }, toString: function (a) { switch (a) { case 0: return 'fragment'; case 1: return 'vertex'; default: return null; } } }, bk = { fromString: function (a) { switch (a) { case 'bgrPacked565': return 0; case 'bgra': return 1; case 'bgraPacked4444': return 2; case 'compressed': return 3; case 'compressedAlpha': return 4; case 'rgbaHalfFloat': return 5; default: return null; } }, toString: function (a) { switch (a) { case 0: return 'bgrPacked565'; case 1: return 'bgra'; case 2: return 'bgraPacked4444'; case 3: return 'compressed'; case 4: return 'compressedAlpha'; case 5: return 'rgbaHalfFloat'; default: return null; } } }, ap = function (a, b, c) { this.__context = a; this.__numIndices = b; a = this.__context.gl; this.__id = a.createBuffer(); this.__usage = 0 == c ? a.DYNAMIC_DRAW : a.STATIC_DRAW; }; k['openfl.display3D.IndexBuffer3D'] = ap; ap.__name__ = 'openfl.display3D.IndexBuffer3D'; ap.prototype = { __context: null, __id: null, __memoryUsage: null, __numIndices: null, __tempUInt16Array: null, __usage: null, dispose: function () { this.__context.gl.deleteBuffer(this.__id); }, uploadFromByteArray: function (a, b, c, e) { b += 2 * c; a = Bb.toArrayBuffer(a); null == b && (b = 0); e = null != a ? (null == e ? new Uint16Array(a, b) : new Uint16Array(a, b, e)) : null; this.uploadFromTypedArray(e); }, uploadFromTypedArray: function (a, b) { null != a && ((b = this.__context.gl), this.__context.__bindGLElementArrayBuffer(this.__id), $b.bufferData(b, b.ELEMENT_ARRAY_BUFFER, a, this.__usage)); }, uploadFromVector: function (a, b, c) { if (null != a) { var d = b + c, f = this.__tempUInt16Array; if (null == this.__tempUInt16Array || this.__tempUInt16Array.length < c) (this.__tempUInt16Array = null != c ? new Uint16Array(c) : null), null != f && this.__tempUInt16Array.set(f); for (c = b; c < d; ) (f = c++), (this.__tempUInt16Array[f - b] = a.get(f)); this.uploadFromTypedArray(this.__tempUInt16Array); } }, __class__: ap }; var bp = function (a, b) { this.__context = a; this.__format = b; 0 == this.__format ? ((this.__agalSamplerUsageMask = 0), (this.__agalUniforms = new F()), (this.__agalSamplerUniforms = new F()), (this.__agalAlphaSamplerUniforms = new F()), (this.__agalAlphaSamplerEnabled = [])) : ((this.__glslAttribNames = []), (this.__glslAttribTypes = []), (this.__glslSamplerNames = []), (this.__glslUniformLocations = []), (this.__glslUniformNames = []), (this.__glslUniformTypes = [])); this.__samplerStates = []; }; k['openfl.display3D.Program3D'] = bp; bp.__name__ = 'openfl.display3D.Program3D'; bp.prototype = { __agalAlphaSamplerEnabled: null, __agalAlphaSamplerUniforms: null, __agalFragmentUniformMap: null, __agalPositionScale: null, __agalSamplerUniforms: null, __agalSamplerUsageMask: null, __agalUniforms: null, __agalVertexUniformMap: null, __context: null, __format: null, __glFragmentShader: null, __glFragmentSource: null, __glProgram: null, __glslAttribNames: null, __glslAttribTypes: null, __glslSamplerNames: null, __glslUniformLocations: null, __glslUniformNames: null, __glslUniformTypes: null, __glVertexShader: null, __glVertexSource: null, __samplerStates: null, dispose: function () { this.__deleteShaders(); }, getAttributeIndex: function (a) { if (0 == this.__format) return T.startsWith(a, 'va') ? z.parseInt(a.substring(2)) : -1; for (var b = 0, c = this.__glslAttribNames.length; b < c; ) { var e = b++; if (this.__glslAttribNames[e] == a) return e; } return -1; }, getConstantIndex: function (a) { if (0 == this.__format) return T.startsWith(a, 'vc') ? z.parseInt(a.substring(2)) : T.startsWith(a, 'fc') ? z.parseInt(a.substring(2)) : -1; for (var b = 0, c = this.__glslUniformNames.length; b < c; ) { var e = b++; if (this.__glslUniformNames[e] == a) return this.__glslUniformLocations[e]; } return -1; }, upload: function (a, b) { if (0 == this.__format) { var c = []; a = Ce.convertToGLSL(a, null); b = Ce.convertToGLSL(b, c); 5 == Va.level && (Va.info(a, { fileName: 'openfl/display3D/Program3D.hx', lineNumber: 399, className: 'openfl.display3D.Program3D', methodName: 'upload' }), Va.info(b, { fileName: 'openfl/display3D/Program3D.hx', lineNumber: 400, className: 'openfl.display3D.Program3D', methodName: 'upload' })); this.__deleteShaders(); this.__uploadFromGLSL(a, b); this.__buildAGALUniformList(); b = 0; for (a = c.length; b < a; ) { var e = b++; this.__samplerStates[e] = c[e]; } } }, uploadSources: function (a, b) { if (1 == this.__format) { var c = '#ifdef GL_ES\n\t\t\t#ifdef GL_FRAGMENT_PRECISION_HIGH\n\t\t\tprecision highp float;\n\t\t\t#else\n\t\t\tprecision mediump float;\n\t\t\t#endif\n\t\t\t#endif\n\t\t\t' + a, e = '#ifdef GL_ES\n\t\t\t#ifdef GL_FRAGMENT_PRECISION_HIGH\n\t\t\tprecision highp float;\n\t\t\t#else\n\t\t\tprecision mediump float;\n\t\t\t#endif\n\t\t\t#endif\n\t\t\t' + b; if (c != this.__glVertexSource || e != this.__glFragmentSource) { this.__processGLSLData(a, 'attribute'); this.__processGLSLData(a, 'uniform'); this.__processGLSLData(b, 'uniform'); this.__deleteShaders(); this.__uploadFromGLSL(c, e); var f = this.__glslSamplerNames; e = this.__glslAttribNames; var g = this.__glslAttribTypes; a = this.__glslUniformNames; this.__glslSamplerNames = []; this.__glslAttribNames = []; this.__glslAttribTypes = []; this.__glslUniformLocations = []; b = this.__context.gl; for (c = 0; c < f.length; ) { var l = f[c]; ++c; var h = b.getUniformLocation(this.__glProgram, l); this.__glslSamplerNames[h] = l; } c = 0; for (f = e.length; c < f; ) (l = c++), (h = b.getAttribLocation(this.__glProgram, e[l])), (this.__glslAttribNames[h] = e[l]), (this.__glslAttribTypes[h] = g[l]); c = 0; for (f = a.length; c < f; ) (l = c++), (e = b.getUniformLocation(this.__glProgram, a[l])), (this.__glslUniformLocations[l] = e); } } }, __buildAGALUniformList: function () { if (1 != this.__format) { var a = this.__context.gl; this.__agalUniforms.clear(); this.__agalSamplerUniforms.clear(); this.__agalAlphaSamplerUniforms.clear(); this.__agalAlphaSamplerEnabled = []; this.__agalSamplerUsageMask = 0; var b = a.getProgramParameter(this.__glProgram, a.ACTIVE_UNIFORMS); for (var c = new F(), e = new F(), f = 0; f < b; ) { var g = f++, l = a.getActiveUniform(this.__glProgram, g), h = l.name, k = l.size, r = l.type; l = new dn(this.__context); l.name = h; l.size = k; l.type = r; l.location = a.getUniformLocation(this.__glProgram, l.name); h = l.name.indexOf('['); 0 <= h && (l.name = l.name.substring(0, h)); switch (l.type) { case 35674: l.regCount = 2; break; case 35675: l.regCount = 3; break; case 35676: l.regCount = 4; break; default: l.regCount = 1; } l.regCount *= l.size; this.__agalUniforms.add(l); if ('vcPositionScale' == l.name) this.__agalPositionScale = l; else if (T.startsWith(l.name, 'vc')) (l.regIndex = z.parseInt(l.name.substring(2))), (l.regData = this.__context.__vertexConstants), c.add(l); else if (T.startsWith(l.name, 'fc')) (l.regIndex = z.parseInt(l.name.substring(2))), (l.regData = this.__context.__fragmentConstants), e.add(l); else if (T.startsWith(l.name, 'sampler') && -1 == l.name.indexOf('alpha')) for ( l.regIndex = z.parseInt(l.name.substring(7)), this.__agalSamplerUniforms.add(l), h = 0, k = l.regCount; h < k; ) (r = h++), (this.__agalSamplerUsageMask |= 1 << (l.regIndex + r)); else T.startsWith(l.name, 'sampler') && T.endsWith(l.name, '_alpha') ? ((h = l.name.indexOf('_') - 7), (l.regIndex = z.parseInt(l.name.substring(7, 7 + h)) + 4), this.__agalAlphaSamplerUniforms.add(l)) : T.startsWith(l.name, 'sampler') && T.endsWith(l.name, '_alphaEnabled') && ((l.regIndex = z.parseInt(l.name.substring(7))), (this.__agalAlphaSamplerEnabled[l.regIndex] = l)); 5 == Va.level && Va.verbose( '' + g + ' name:' + l.name + ' type:' + l.type + ' size:' + l.size + ' location:' + z.string(l.location), { fileName: 'openfl/display3D/Program3D.hx', lineNumber: 577, className: 'openfl.display3D.Program3D', methodName: '__buildAGALUniformList' } ); } this.__agalVertexUniformMap = new ck(kd.array(c)); this.__agalFragmentUniformMap = new ck(kd.array(e)); } }, __deleteShaders: function () { var a = this.__context.gl; null != this.__glProgram && (this.__glProgram = null); null != this.__glVertexShader && (a.deleteShader(this.__glVertexShader), (this.__glVertexShader = null)); null != this.__glFragmentShader && (a.deleteShader(this.__glFragmentShader), (this.__glFragmentShader = null)); }, __disable: function () {}, __enable: function () { var a = this.__context.gl; a.useProgram(this.__glProgram); if (0 == this.__format) { this.__agalVertexUniformMap.markAllDirty(); this.__agalFragmentUniformMap.markAllDirty(); for (var b = this.__agalSamplerUniforms.h; null != b; ) { var c = b.item; b = b.next; if (1 == c.regCount) a.uniform1i(c.location, c.regIndex); else throw J.thrown(new jd('!!! TODO: uniform location on webgl')); } for (b = this.__agalAlphaSamplerUniforms.h; null != b; ) if (((c = b.item), (b = b.next), 1 == c.regCount)) a.uniform1i(c.location, c.regIndex); else throw J.thrown(new jd('!!! TODO: uniform location on webgl')); } }, __flush: function () { 0 == this.__format && (this.__agalVertexUniformMap.flush(), this.__agalFragmentUniformMap.flush()); }, __getSamplerState: function (a) { return this.__samplerStates[a]; }, __markDirty: function (a, b, c) { 1 != this.__format && (a ? this.__agalVertexUniformMap.markDirty(b, c) : this.__agalFragmentUniformMap.markDirty(b, c)); }, __processGLSLData: function (a, b) { var c = 0, e; for ( e = 'uniform' == b ? new Ja('uniform ([A-Za-z0-9]+) ([A-Za-z0-9_]+)', '') : new Ja('attribute ([A-Za-z0-9]+) ([A-Za-z0-9_]+)', ''); e.matchSub(a, c); ) { var f = e.matched(1); var g = e.matched(2); if (!T.startsWith(g, 'gl_')) { if (T.startsWith(f, 'sampler')) this.__glslSamplerNames.push(g); else { switch (f) { case 'bool': c = 0; break; case 'bvec2': c = 1; break; case 'bvec3': c = 2; break; case 'bvec4': c = 3; break; case 'dvec2': case 'vec2': c = 5; break; case 'dvec3': case 'vec3': c = 6; break; case 'double': case 'float': c = 4; break; case 'ivec3': case 'uvec3': c = 10; break; case 'ivec4': case 'uvec4': c = 11; break; case 'mat2': case 'mat2x2': c = 12; break; case 'mat2x3': c = 13; break; case 'mat2x4': c = 14; break; case 'mat3x2': c = 15; break; case 'mat3': case 'mat3x3': c = 16; break; case 'mat3x4': c = 17; break; case 'mat4': case 'mat4x4': c = 20; break; case 'mat4x2': c = 18; break; case 'mat4x3': c = 19; break; case 'int': case 'uint': c = 8; break; case 'ivec2': case 'uvec2': c = 9; break; case 'dvec4': case 'vec4': c = 7; break; default: c = null; } 'uniform' == b ? (this.__glslUniformNames.push(g), this.__glslUniformTypes.push(c)) : (this.__glslAttribNames.push(g), this.__glslAttribTypes.push(c)); } g = e.matchedPos(); c = g.pos + g.len; } } }, __setPositionScale: function (a) { 1 != this.__format && null != this.__agalPositionScale && this.__context.gl.uniform4fv(this.__agalPositionScale.location, a); }, __setSamplerState: function (a, b) { this.__samplerStates[a] = b; }, __uploadFromGLSL: function (a, b) { var c = this.__context.gl; this.__glVertexSource = a; this.__glFragmentSource = b; this.__glVertexShader = c.createShader(c.VERTEX_SHADER); c.shaderSource(this.__glVertexShader, a); c.compileShader(this.__glVertexShader); if (0 == c.getShaderParameter(this.__glVertexShader, c.COMPILE_STATUS)) { var e = 'Error compiling vertex shader\n' + c.getShaderInfoLog(this.__glVertexShader); Va.error(e + ('\n' + a), { fileName: 'openfl/display3D/Program3D.hx', lineNumber: 869, className: 'openfl.display3D.Program3D', methodName: '__uploadFromGLSL' }); } this.__glFragmentShader = c.createShader(c.FRAGMENT_SHADER); c.shaderSource(this.__glFragmentShader, b); c.compileShader(this.__glFragmentShader); 0 == c.getShaderParameter(this.__glFragmentShader, c.COMPILE_STATUS) && ((e = 'Error compiling fragment shader\n' + c.getShaderInfoLog(this.__glFragmentShader)), Va.error(e + ('\n' + b), { fileName: 'openfl/display3D/Program3D.hx', lineNumber: 881, className: 'openfl.display3D.Program3D', methodName: '__uploadFromGLSL' })); this.__glProgram = c.createProgram(); if (0 == this.__format) for (b = 0; 16 > b; ) { var f = b++; e = 'va' + f; -1 != a.indexOf(' ' + e) && c.bindAttribLocation(this.__glProgram, f, e); } else for (b = 0, a = this.__glslAttribNames; b < a.length; ) if (((e = a[b]), ++b, -1 < e.indexOf('Position') && T.startsWith(e, 'openfl_'))) { c.bindAttribLocation(this.__glProgram, 0, e); break; } c.attachShader(this.__glProgram, this.__glVertexShader); c.attachShader(this.__glProgram, this.__glFragmentShader); c.linkProgram(this.__glProgram); 0 == c.getProgramParameter(this.__glProgram, c.LINK_STATUS) && ((e = 'Unable to initialize the shader program\n' + c.getProgramInfoLog(this.__glProgram)), Va.error(e, { fileName: 'openfl/display3D/Program3D.hx', lineNumber: 922, className: 'openfl.display3D.Program3D', methodName: '__uploadFromGLSL' })); }, __class__: bp }; var dn = function (a) { this.context = a; this.isDirty = !0; this.regDataPointer = new Tf(null, 0); }; k['openfl.display3D.Uniform'] = dn; dn.__name__ = 'openfl.display3D.Uniform'; dn.prototype = { name: null, location: null, type: null, size: null, regData: null, regIndex: null, regCount: null, isDirty: null, context: null, regDataPointer: null, flush: function () { var a = this.context.gl, b = 4 * this.regIndex; switch (this.type) { case 35664: Mz.uniform2fv(a, this.location, this.regData.subarray(b, b + 2 * this.regCount)); break; case 35665: var c = this.location; b = this.regData.subarray(b, b + 3 * this.regCount); var e = null; null != e ? a.uniform3fv(c, b, e, null) : a.uniform3fv(c, b); break; case 35666: c = this.location; b = this.regData.subarray(b, b + 4 * this.regCount); e = null; null != e ? a.uniform4fv(c, b, e, null) : a.uniform4fv(c, b); break; case 35674: $b.uniformMatrix2fv( a, this.location, !1, this.regData.subarray(b, b + 4 * this.size) ); break; case 35675: $b.uniformMatrix3fv( a, this.location, !1, this.regData.subarray(b, b + 9 * this.size) ); break; case 35676: $b.uniformMatrix4fv( a, this.location, !1, this.regData.subarray(b, b + 16 * this.size) ); break; default: (c = this.location), (b = this.regData.subarray(b, b + 4 * this.regCount)), (e = null), null != e ? a.uniform4fv(c, b, e, null) : a.uniform4fv(c, b); } }, __getUniformRegisters: function (a, b) { return this.regData.subarray(a, a + b); }, __class__: dn }; var ck = function (a) { this.__uniforms = a; this.__uniforms.sort(function (a, b) { return aa.compare(a.regIndex, b.regIndex); }); var b = 0; a = 0; for (var c = this.__uniforms; a < c.length; ) { var e = c[a]; ++a; e.regIndex + e.regCount > b && (b = e.regIndex + e.regCount); } this.__registerLookup = Ab.toObjectVector(null, b); a = 0; for (c = this.__uniforms; a < c.length; ) { e = c[a]; ++a; b = 0; for (var f = e.regCount; b < f; ) { var g = b++; this.__registerLookup.set(e.regIndex + g, e); } } this.__anyDirty = this.__allDirty = !0; }; k['openfl.display3D.UniformMap'] = ck; ck.__name__ = 'openfl.display3D.UniformMap'; ck.prototype = { __allDirty: null, __anyDirty: null, __registerLookup: null, __uniforms: null, flush: function () { if (this.__anyDirty) { for (var a = 0, b = this.__uniforms; a < b.length; ) { var c = b[a]; ++a; if (this.__allDirty || c.isDirty) c.flush(), (c.isDirty = !1); } this.__anyDirty = this.__allDirty = !1; } }, markAllDirty: function () { this.__anyDirty = this.__allDirty = !0; }, markDirty: function (a, b) { if (!this.__allDirty) for ( b = a + b, b > this.__registerLookup.get_length() && (b = this.__registerLookup.get_length()); a < b; ) { var c = this.__registerLookup.get(a); null != c ? ((this.__anyDirty = c.isDirty = !0), (a = c.regIndex + c.regCount)) : ++a; } }, __class__: ck }; var cp = function (a, b, c, e) { this.__context = a; this.__numVertices = b; this.__vertexSize = c; a = this.__context.gl; this.__id = a.createBuffer(); this.__stride = 4 * this.__vertexSize; this.__usage = 0 == rz.fromString(e) ? a.DYNAMIC_DRAW : a.STATIC_DRAW; }; k['openfl.display3D.VertexBuffer3D'] = cp; cp.__name__ = 'openfl.display3D.VertexBuffer3D'; cp.prototype = { __context: null, __data: null, __id: null, __memoryUsage: null, __numVertices: null, __stride: null, __tempFloat32Array: null, __usage: null, __vertexSize: null, dispose: function () { this.__context.gl.deleteBuffer(this.__id); }, uploadFromByteArray: function (a, b, c, e) { b += c * this.__stride; e *= this.__vertexSize; a = Bb.toArrayBuffer(a); null == b && (b = 0); a = null != a ? (null == e ? new Float32Array(a, b) : new Float32Array(a, b, e)) : null; this.uploadFromTypedArray(Xg.toArrayBufferView(a)); }, uploadFromTypedArray: function (a, b) { null != a && ((b = this.__context.gl), this.__context.__bindGLArrayBuffer(this.__id), $b.bufferData(b, b.ARRAY_BUFFER, a, this.__usage)); }, uploadFromVector: function (a, b, c) { if (null != a) { b *= this.__vertexSize; var d = c * this.__vertexSize; c = b + d; var f = this.__tempFloat32Array; if (null == this.__tempFloat32Array || this.__tempFloat32Array.length < d) (this.__tempFloat32Array = null != d ? new Float32Array(d) : null), null != f && this.__tempFloat32Array.set(f); for (d = b; d < c; ) (f = d++), (this.__tempFloat32Array[f - b] = a.get(f)); this.uploadFromTypedArray(Xg.toArrayBufferView(this.__tempFloat32Array)); } }, __class__: cp }; var Ce = function () {}; k['openfl.display3D._internal.AGALConverter'] = Ce; Ce.__name__ = 'openfl.display3D._internal.AGALConverter'; Ce.prefixFromType = function (a, b) { switch (a) { case 0: return 'va'; case 1: return b == Fg.VERTEX ? 'vc' : 'fc'; case 2: return b == Fg.VERTEX ? 'vt' : 'ft'; case 3: return 'output_'; case 4: return 'v'; case 5: return 'sampler'; default: throw J.thrown(new jd('Invalid data!')); } }; Ce.readUInt64 = function (a) { var b = a.readInt(); a = a.readInt(); return new ab(a, b); }; Ce.convertToGLSL = function (a, b) { a.position = 0; a.__endian = 1; var c = a.readByte() & 255; if (176 == c) return a.readUTF(); if (160 != c) throw J.thrown(new jd('Magic value must be 0xA0, may not be AGAL')); var e = a.readInt(); if (1 != e) throw J.thrown(new jd('Version must be 1')); if (161 != (a.readByte() & 255)) throw J.thrown(new jd('Shader type ID must be 0xA1')); c = 0 == (a.readByte() & 255) ? Fg.VERTEX : Fg.FRAGMENT; for (var f = new en(), g = ''; ; ) { e = a.position; if (!Ba.gt(Bb.get_length(a), e)) break; var l = a.readInt(); e = a.readUnsignedInt(); var h = Ce.readUInt64(a), k = Ce.readUInt64(a); e = Yi.parse(e, c); h = hi.parse(h, c, e.mask); var r = hi.parse(k, c, e.mask); g += '\t'; switch (l) { case 0: g += z.string(e.toGLSL() + ' = ' + h.toGLSL() + '; // mov'); f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); break; case 1: g += z.string(e.toGLSL() + ' = ' + h.toGLSL() + ' + ' + r.toGLSL() + '; // add'); f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); f.addSR(r, wa.VECTOR_4); break; case 2: g += z.string(e.toGLSL() + ' = ' + h.toGLSL() + ' - ' + r.toGLSL() + '; // sub'); f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); f.addSR(r, wa.VECTOR_4); break; case 3: g += z.string(e.toGLSL() + ' = ' + h.toGLSL() + ' * ' + r.toGLSL() + '; // mul'); f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); f.addSR(r, wa.VECTOR_4); break; case 4: g += z.string(e.toGLSL() + ' = ' + h.toGLSL() + ' / ' + r.toGLSL() + '; // div'); f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); f.addSR(r, wa.VECTOR_4); break; case 5: g = -1 < h.toGLSL().indexOf('.') ? g + z.string(e.toGLSL() + ' = 1.0 / ' + h.toGLSL() + '; // rcp') : g + z.string(e.toGLSL() + ' = vec4(1) / ' + h.toGLSL() + '; // rcp'); f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); break; case 6: g += z.string(e.toGLSL() + ' = min(' + h.toGLSL() + ', ' + r.toGLSL() + '); // min'); f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); f.addSR(r, wa.VECTOR_4); break; case 7: g += z.string(e.toGLSL() + ' = max(' + h.toGLSL() + ', ' + r.toGLSL() + '); // max'); f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); f.addSR(r, wa.VECTOR_4); break; case 8: g += z.string(e.toGLSL() + ' = fract(' + h.toGLSL() + '); // frc'); f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); break; case 9: g += z.string(e.toGLSL() + ' = sqrt(' + h.toGLSL() + '); // sqrt'); f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); break; case 10: g += z.string(e.toGLSL() + ' = inversesqrt(' + h.toGLSL() + '); // rsq'); f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); break; case 11: g += z.string(e.toGLSL() + ' = pow(' + h.toGLSL() + ', ' + r.toGLSL() + '); // pow'); f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); f.addSR(r, wa.VECTOR_4); break; case 12: g += z.string(e.toGLSL() + ' = log2(' + h.toGLSL() + '); // log'); f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); break; case 13: g += z.string(e.toGLSL() + ' = exp2(' + h.toGLSL() + '); // exp'); f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); break; case 14: g += z.string(e.toGLSL() + ' = normalize(' + h.toGLSL() + '); // normalize'); f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); break; case 15: g += z.string(e.toGLSL() + ' = sin(' + h.toGLSL() + '); // sin'); f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); break; case 16: g += z.string(e.toGLSL() + ' = cos(' + h.toGLSL() + '); // cos'); f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); break; case 17: h.sourceMask = r.sourceMask = 7; g += z.string( e.toGLSL() + ' = cross(vec3(' + h.toGLSL() + '), vec3(' + r.toGLSL() + ')); // crs' ); f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); f.addSR(r, wa.VECTOR_4); break; case 18: h.sourceMask = r.sourceMask = 7; g += z.string( e.toGLSL() + ' = vec4(dot(vec3(' + h.toGLSL() + '), vec3(' + r.toGLSL() + ')))' + e.getWriteMask() + '; // dp3' ); f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); f.addSR(r, wa.VECTOR_4); break; case 19: h.sourceMask = r.sourceMask = 15; g += z.string( e.toGLSL() + ' = vec4(dot(vec4(' + h.toGLSL() + '), vec4(' + r.toGLSL() + ')))' + e.getWriteMask() + '; // dp4' ); f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); f.addSR(r, wa.VECTOR_4); break; case 20: g += z.string(e.toGLSL() + ' = abs(' + h.toGLSL() + '); // abs'); f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); break; case 21: g += z.string(e.toGLSL() + ' = -' + h.toGLSL() + '; // neg'); f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); break; case 22: g += z.string(e.toGLSL() + ' = clamp(' + h.toGLSL() + ', 0.0, 1.0); // saturate'); f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); break; case 23: l = f.getRegisterUsage(r); l != wa.VECTOR_4 && l != wa.VECTOR_4_ARRAY ? ((g += z.string( e.toGLSL() + ' = ' + h.toGLSL() + ' * mat3(' + r.toGLSL(!1) + '); // m33' )), f.addDR(e, wa.VECTOR_4), f.addSR(h, wa.VECTOR_4), f.addSR(r, wa.MATRIX_4_4)) : ((h.sourceMask = r.sourceMask = 7), (g += z.string( e.toGLSL() + ' = vec3(dot(' + h.toGLSL(!0) + ',' + r.toGLSL(!0, 0) + '), dot(' + h.toGLSL(!0) + ',' + r.toGLSL(!0, 1) + '),dot(' + h.toGLSL(!0) + ',' + r.toGLSL(!0, 2) + ')); // m33' )), f.addDR(e, wa.VECTOR_4), f.addSR(h, wa.VECTOR_4), f.addSR(r, wa.VECTOR_4, 0), f.addSR(r, wa.VECTOR_4, 1), f.addSR(r, wa.VECTOR_4, 2)); break; case 24: l = f.getRegisterUsage(r); l != wa.VECTOR_4 && l != wa.VECTOR_4_ARRAY ? ((g += z.string( e.toGLSL() + ' = ' + h.toGLSL() + ' * ' + r.toGLSL(!1) + '; // m44' )), f.addDR(e, wa.VECTOR_4), f.addSR(h, wa.VECTOR_4), f.addSR(r, wa.MATRIX_4_4)) : ((h.sourceMask = r.sourceMask = 15), (g += z.string( e.toGLSL() + ' = vec4(dot(' + h.toGLSL(!0) + ',' + r.toGLSL(!0, 0) + '), dot(' + h.toGLSL(!0) + ',' + r.toGLSL(!0, 1) + '), dot(' + h.toGLSL(!0) + ',' + r.toGLSL(!0, 2) + '), dot(' + h.toGLSL(!0) + ',' + r.toGLSL(!0, 3) + ')); // m44' )), f.addDR(e, wa.VECTOR_4), f.addSR(h, wa.VECTOR_4), f.addSR(r, wa.VECTOR_4, 0), f.addSR(r, wa.VECTOR_4, 1), f.addSR(r, wa.VECTOR_4, 2), f.addSR(r, wa.VECTOR_4, 3)); break; case 25: e.mask &= 7; l = f.getRegisterUsage(r); l != wa.VECTOR_4 && l != wa.VECTOR_4_ARRAY ? ((g += z.string( e.toGLSL() + ' = ' + h.toGLSL() + ' * ' + r.toGLSL(!1) + '; // m34' )), f.addDR(e, wa.VECTOR_4), f.addSR(h, wa.VECTOR_4), f.addSR(r, wa.MATRIX_4_4)) : ((h.sourceMask = r.sourceMask = 15), (g += z.string( e.toGLSL() + ' = vec3(dot(' + h.toGLSL(!0) + ',' + r.toGLSL(!0, 0) + '), dot(' + h.toGLSL(!0) + ',' + r.toGLSL(!0, 1) + '),dot(' + h.toGLSL(!0) + ',' + r.toGLSL(!0, 2) + ')); // m34' )), f.addDR(e, wa.VECTOR_4), f.addSR(h, wa.VECTOR_4), f.addSR(r, wa.VECTOR_4, 0), f.addSR(r, wa.VECTOR_4, 1), f.addSR(r, wa.VECTOR_4, 2)); break; case 39: h.sourceMask = 15; g += z.string('if (any(lessThan(' + h.toGLSL() + ', vec4(0)))) discard;'); f.addSR(h, wa.VECTOR_4); break; case 40: r = Zi.parse(k, c); switch (r.d) { case 0: 2 == r.t ? ((h.sourceMask = 3), f.addSaR(r, wa.SAMPLER_2D_ALPHA), (g += z.string('if (' + r.toGLSL() + '_alphaEnabled) {\n')), (g += z.string( '\t\t' + e.toGLSL() + ' = vec4(texture2D(' + r.toGLSL() + ', ' + h.toGLSL() + ').xyz, texture2D(' + r.toGLSL() + '_alpha, ' + h.toGLSL() + ').x); // tex + alpha\n' )), (g += '\t} else {\n'), (g += z.string( '\t\t' + e.toGLSL() + ' = texture2D(' + r.toGLSL() + ', ' + h.toGLSL() + '); // tex\n' )), (g += '\t}')) : ((h.sourceMask = 3), f.addSaR(r, wa.SAMPLER_2D), (g += z.string( e.toGLSL() + ' = texture2D(' + r.toGLSL() + ', ' + h.toGLSL() + '); // tex' ))); break; case 1: 2 == r.t ? ((h.sourceMask = 7), f.addSaR(r, wa.SAMPLER_CUBE_ALPHA), (g += z.string('if (' + r.toGLSL() + '_alphaEnabled) {\n')), (g += z.string( '\t\t' + e.toGLSL() + ' = vec4(textureCube(' + r.toGLSL() + ', ' + h.toGLSL() + ').xyz, textureCube(' + r.toGLSL() + '_alpha, ' + h.toGLSL() + ').x); // tex + alpha\n' )), (g += '\t} else {\n'), (g += z.string( '\t\t' + e.toGLSL() + ' = textureCube(' + r.toGLSL() + ', ' + h.toGLSL() + '); // tex' )), (g += '\t}')) : ((h.sourceMask = 7), (g += z.string( e.toGLSL() + ' = textureCube(' + r.toGLSL() + ', ' + h.toGLSL() + '); // tex' )), f.addSaR(r, wa.SAMPLER_CUBE)); } f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); null != b && (b[r.n] = r.toSamplerState()); break; case 41: h.sourceMask = r.sourceMask = 15; g += z.string( e.toGLSL() + ' = vec4(greaterThanEqual(' + h.toGLSL() + ', ' + r.toGLSL() + '))' + e.getWriteMask() + '; // ste' ); f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); f.addSR(r, wa.VECTOR_4); break; case 42: h.sourceMask = r.sourceMask = 15; g += z.string( e.toGLSL() + ' = vec4(lessThan(' + h.toGLSL() + ', ' + r.toGLSL() + '))' + e.getWriteMask() + '; // slt' ); f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); f.addSR(r, wa.VECTOR_4); break; case 44: h.sourceMask = r.sourceMask = 15; g += z.string( e.toGLSL() + ' = vec4(equal(' + h.toGLSL() + ', ' + r.toGLSL() + '))' + e.getWriteMask() + '; // seq' ); f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); f.addSR(r, wa.VECTOR_4); break; case 45: h.sourceMask = r.sourceMask = 15; g += z.string( e.toGLSL() + ' = vec4(notEqual(' + h.toGLSL() + ', ' + r.toGLSL() + '))' + e.getWriteMask() + '; // sne' ); f.addDR(e, wa.VECTOR_4); f.addSR(h, wa.VECTOR_4); f.addSR(r, wa.VECTOR_4); break; default: throw J.thrown(new jd('Opcode ' + l)); } g += '\n'; } null == Ce.limitedProfile && ((e = u.context.getParameter(7938)), (Ce.limitedProfile = -1 < e.indexOf('OpenGL ES') || -1 < e.indexOf('WebGL'))); a = '' + z.string('// AGAL ' + (c == Fg.VERTEX ? 'vertex' : 'fragment') + ' shader\n'); a = Ce.limitedProfile ? a + '#version 100\n#ifdef GL_FRAGMENT_PRECISION_HIGH\nprecision highp float;\n#else\nprecision mediump float;\n#endif\n' : a + '#version 120\n'; a += z.string(f.toGLSL(!1)); c == Fg.VERTEX && (a += 'uniform vec4 vcPositionScale;\n'); a = a + 'void main() {\n' + z.string(f.toGLSL(!0)); a += z.string(g); c == Fg.VERTEX && (a += '\tgl_Position *= vcPositionScale;\n'); return a + '}\n'; }; var Yi = function () {}; k['openfl.display3D._internal._AGALConverter.DestRegister'] = Yi; Yi.__name__ = 'openfl.display3D._internal._AGALConverter.DestRegister'; Yi.parse = function (a, b) { var c = new Yi(); c.programType = b; c.type = (a >>> 24) & 15; c.mask = (a >>> 16) & 15; c.n = a & 65535; return c; }; Yi.prototype = { mask: null, n: null, programType: null, type: null, getWriteMask: function () { var a = '.'; 0 != (this.mask & 1) && (a += 'x'); 0 != (this.mask & 2) && (a += 'y'); 0 != (this.mask & 4) && (a += 'z'); 0 != (this.mask & 8) && (a += 'w'); return a; }, toGLSL: function (a) { null == a && (a = !0); var b = 3 == this.type ? this.programType == Fg.VERTEX ? 'gl_Position' : 'gl_FragColor' : Ce.prefixFromType(this.type, this.programType) + this.n; a && 15 != this.mask && (b += this.getWriteMask()); return b; }, __class__: Yi }; var Fg = (N['openfl.display3D._internal._AGALConverter.ProgramType'] = { __ename__: 'openfl.display3D._internal._AGALConverter.ProgramType', __constructs__: null, VERTEX: { _hx_name: 'VERTEX', _hx_index: 0, __enum__: 'openfl.display3D._internal._AGALConverter.ProgramType', toString: x }, FRAGMENT: { _hx_name: 'FRAGMENT', _hx_index: 1, __enum__: 'openfl.display3D._internal._AGALConverter.ProgramType', toString: x } }); Fg.__constructs__ = [Fg.VERTEX, Fg.FRAGMENT]; var en = function () { this.mEntries = []; }; k['openfl.display3D._internal.RegisterMap'] = en; en.__name__ = 'openfl.display3D._internal.RegisterMap'; en.prototype = { mEntries: null, add: function (a, b, c, e) { for (var d = 0, g = this.mEntries; d < g.length; ) { var l = g[d]; ++d; if (l.type == a && l.name == b && l.number == c) { if (l.usage != e) throw J.thrown(new jd('Cannot use register in multiple ways yet (mat4/vec4)')); return; } } l = new dp(); l.type = a; l.name = b; l.number = c; l.usage = e; this.mEntries.push(l); }, addDR: function (a, b) { this.add(a.type, a.toGLSL(!1), a.n, b); }, addSaR: function (a, b) { this.add(a.type, a.toGLSL(), a.n, b); }, addSR: function (a, b, c) { null == c && (c = 0); 0 != a.d ? (this.add(a.itype, Ce.prefixFromType(a.itype, a.programType) + a.n, a.n, wa.VECTOR_4), this.add( a.type, Ce.prefixFromType(a.type, a.programType) + a.o, a.o, wa.VECTOR_4_ARRAY )) : this.add(a.type, a.toGLSL(!1, c), a.n + c, b); }, getRegisterUsage: function (a) { return 0 != a.d ? wa.VECTOR_4_ARRAY : this.getUsage(a.type, a.toGLSL(!1), a.n); }, getUsage: function (a, b, c) { for (var d = 0, f = this.mEntries; d < f.length; ) { var g = f[d]; ++d; if (g.type == a && g.name == b && g.number == c) return g.usage; } return wa.UNUSED; }, toGLSL: function (a) { this.mEntries.sort(function (a, b) { return a.number - b.number; }); this.mEntries.sort(function (a, b) { return w.__cast(a.type, nb) - w.__cast(b.type, nb); }); for (var b = '', c = 0, e = this.mEntries.length; c < e; ) { var f = c++; f = this.mEntries[f]; if (!((a && 2 != f.type) || (!a && 2 == f.type)) && 3 != f.type) { switch (f.type) { case 0: b += 'attribute '; break; case 1: b += 'uniform '; break; case 2: b += '\t'; break; case 3: break; case 4: b += 'varying '; break; case 5: b += 'uniform '; break; default: throw J.thrown(new jd()); } switch (f.usage._hx_index) { case 0: Va.info('Missing switch patten: RegisterUsage.UNUSED', { fileName: 'openfl/display3D/_internal/AGALConverter.hx', lineNumber: 750, className: 'openfl.display3D._internal.RegisterMap', methodName: 'toGLSL' }); break; case 1: b += 'vec4 '; break; case 2: b += 'mat4 '; break; case 3: b += 'sampler2D '; break; case 5: b += 'samplerCube '; break; case 7: b += 'vec4 '; } f.usage == wa.SAMPLER_2D_ALPHA ? ((b += 'sampler2D '), (b += z.string(f.name)), (b += ';\n'), (b += 'uniform '), (b += 'sampler2D '), (b += z.string(f.name + '_alpha')), (b += ';\n'), (b += 'uniform '), (b += 'bool '), (b += z.string(f.name + '_alphaEnabled'))) : f.usage == wa.SAMPLER_CUBE_ALPHA ? ((b += 'samplerCube '), (b += z.string(f.name)), (b += ';\n'), (b += 'uniform '), (b += 'samplerCube '), (b += z.string(f.name + '_alpha')), (b += ';\n'), (b += 'uniform '), (b += 'bool '), (b += z.string(f.name + '_alphaEnabled'))) : (b = f.usage == wa.VECTOR_4_ARRAY ? b + z.string(f.name + '[128]') : b + z.string(f.name)); b += ';\n'; } } return b; }, __class__: en }; var dp = function () {}; k['openfl.display3D._internal._AGALConverter.RegisterMapEntry'] = dp; dp.__name__ = 'openfl.display3D._internal._AGALConverter.RegisterMapEntry'; dp.prototype = { name: null, number: null, type: null, usage: null, __class__: dp }; var wa = (N['openfl.display3D._internal._AGALConverter.RegisterUsage'] = { __ename__: 'openfl.display3D._internal._AGALConverter.RegisterUsage', __constructs__: null, UNUSED: { _hx_name: 'UNUSED', _hx_index: 0, __enum__: 'openfl.display3D._internal._AGALConverter.RegisterUsage', toString: x }, VECTOR_4: { _hx_name: 'VECTOR_4', _hx_index: 1, __enum__: 'openfl.display3D._internal._AGALConverter.RegisterUsage', toString: x }, MATRIX_4_4: { _hx_name: 'MATRIX_4_4', _hx_index: 2, __enum__: 'openfl.display3D._internal._AGALConverter.RegisterUsage', toString: x }, SAMPLER_2D: { _hx_name: 'SAMPLER_2D', _hx_index: 3, __enum__: 'openfl.display3D._internal._AGALConverter.RegisterUsage', toString: x }, SAMPLER_2D_ALPHA: { _hx_name: 'SAMPLER_2D_ALPHA', _hx_index: 4, __enum__: 'openfl.display3D._internal._AGALConverter.RegisterUsage', toString: x }, SAMPLER_CUBE: { _hx_name: 'SAMPLER_CUBE', _hx_index: 5, __enum__: 'openfl.display3D._internal._AGALConverter.RegisterUsage', toString: x }, SAMPLER_CUBE_ALPHA: { _hx_name: 'SAMPLER_CUBE_ALPHA', _hx_index: 6, __enum__: 'openfl.display3D._internal._AGALConverter.RegisterUsage', toString: x }, VECTOR_4_ARRAY: { _hx_name: 'VECTOR_4_ARRAY', _hx_index: 7, __enum__: 'openfl.display3D._internal._AGALConverter.RegisterUsage', toString: x } }); wa.__constructs__ = [ wa.UNUSED, wa.VECTOR_4, wa.MATRIX_4_4, wa.SAMPLER_2D, wa.SAMPLER_2D_ALPHA, wa.SAMPLER_CUBE, wa.SAMPLER_CUBE_ALPHA, wa.VECTOR_4_ARRAY ]; var Zi = function () {}; k['openfl.display3D._internal._AGALConverter.SamplerRegister'] = Zi; Zi.__name__ = 'openfl.display3D._internal._AGALConverter.SamplerRegister'; Zi.parse = function (a, b) { var c = new Zi(); c.programType = b; b = 60; b = 0 == b ? new ab(a.high, a.low) : 32 > b ? new ab(a.high >> b, (a.high << (32 - b)) | (a.low >>> b)) : new ab(a.high >> 31, a.high >> (b - 32)); b = b.low & 15; c.f = b; b = 56; b = 0 == b ? new ab(a.high, a.low) : 32 > b ? new ab(a.high >> b, (a.high << (32 - b)) | (a.low >>> b)) : new ab(a.high >> 31, a.high >> (b - 32)); b = b.low & 15; c.m = b; b = 52; b = 0 == b ? new ab(a.high, a.low) : 32 > b ? new ab(a.high >> b, (a.high << (32 - b)) | (a.low >>> b)) : new ab(a.high >> 31, a.high >> (b - 32)); b = b.low & 15; c.w = b; b = 48; b = 0 == b ? new ab(a.high, a.low) : 32 > b ? new ab(a.high >> b, (a.high << (32 - b)) | (a.low >>> b)) : new ab(a.high >> 31, a.high >> (b - 32)); b = b.low & 15; c.s = b; b = 44; b = 0 == b ? new ab(a.high, a.low) : 32 > b ? new ab(a.high >> b, (a.high << (32 - b)) | (a.low >>> b)) : new ab(a.high >> 31, a.high >> (b - 32)); b = b.low & 15; c.d = b; b = 40; b = 0 == b ? new ab(a.high, a.low) : 32 > b ? new ab(a.high >> b, (a.high << (32 - b)) | (a.low >>> b)) : new ab(a.high >> 31, a.high >> (b - 32)); b = b.low & 15; c.t = b; b = 32; b = 0 == b ? new ab(a.high, a.low) : 32 > b ? new ab(a.high >> b, (a.high << (32 - b)) | (a.low >>> b)) : new ab(a.high >> 31, a.high >> (b - 32)); b = b.low & 15; c.type = b; b = 16; b = 0 == b ? new ab(a.high, a.low) : 32 > b ? new ab(a.high >> b, (a.high << (32 - b)) | (a.low >>> b)) : new ab(a.high >> 31, a.high >> (b - 32)); b = b.low & 255; c.b = b; b = a.low & 65535; c.n = b; return c; }; Zi.prototype = { b: null, d: null, f: null, m: null, n: null, programType: null, s: null, t: null, type: null, w: null, toGLSL: function () { return Ce.prefixFromType(this.type, this.programType) + this.n; }, toSamplerState: function () { switch (this.f) { case 0: var a = 5; break; case 1: a = 4; break; default: throw J.thrown(new jd()); } switch (this.m) { case 0: var b = 2; break; case 1: b = 1; break; case 2: b = 0; break; default: throw J.thrown(new jd()); } switch (this.w) { case 0: var c = 0; break; case 1: c = 2; break; default: throw J.thrown(new jd()); } return new Tg( c, a, b, ((this.b << 24) >> 24) / 8, 4 == (this.s & 4), 1 == (this.s & 1), 2 == this.t ); }, __class__: Zi }; var hi = function () {}; k['openfl.display3D._internal._AGALConverter.SourceRegister'] = hi; hi.__name__ = 'openfl.display3D._internal._AGALConverter.SourceRegister'; hi.parse = function (a, b, c) { var d = new hi(); d.programType = b; b = 63; b = 0 == b ? new ab(a.high, a.low) : 32 > b ? new ab(a.high >> b, (a.high << (32 - b)) | (a.low >>> b)) : new ab(a.high >> 31, a.high >> (b - 32)); b = b.low & 1; d.d = b; b = 48; b = 0 == b ? new ab(a.high, a.low) : 32 > b ? new ab(a.high >> b, (a.high << (32 - b)) | (a.low >>> b)) : new ab(a.high >> 31, a.high >> (b - 32)); b = b.low & 3; d.q = b; b = 40; b = 0 == b ? new ab(a.high, a.low) : 32 > b ? new ab(a.high >> b, (a.high << (32 - b)) | (a.low >>> b)) : new ab(a.high >> 31, a.high >> (b - 32)); b = b.low & 15; d.itype = b; b = 32; b = 0 == b ? new ab(a.high, a.low) : 32 > b ? new ab(a.high >> b, (a.high << (32 - b)) | (a.low >>> b)) : new ab(a.high >> 31, a.high >> (b - 32)); b = b.low & 15; d.type = b; b = 24; b = 0 == b ? new ab(a.high, a.low) : 32 > b ? new ab(a.high >> b, (a.high << (32 - b)) | (a.low >>> b)) : new ab(a.high >> 31, a.high >> (b - 32)); b = b.low & 255; d.s = b; b = 16; b = 0 == b ? new ab(a.high, a.low) : 32 > b ? new ab(a.high >> b, (a.high << (32 - b)) | (a.low >>> b)) : new ab(a.high >> 31, a.high >> (b - 32)); b = b.low & 255; d.o = b; b = a.low & 65535; d.n = b; d.sourceMask = c; return d; }; hi.prototype = { d: null, itype: null, n: null, o: null, programType: null, q: null, s: null, sourceMask: null, type: null, toGLSL: function (a, b) { null == b && (b = 0); null == a && (a = !0); if (3 == this.type) return this.programType == Fg.VERTEX ? 'gl_Position' : 'gl_FragColor'; var c = 228 == this.s && 15 == this.sourceMask, e = ''; if (5 != this.type && !c) { if (0 != (this.sourceMask & 1)) switch (this.s & 3) { case 0: e += 'x'; break; case 1: e += 'y'; break; case 2: e += 'z'; break; case 3: e += 'w'; } if (0 != (this.sourceMask & 2)) switch ((this.s >> 2) & 3) { case 0: e += 'x'; break; case 1: e += 'y'; break; case 2: e += 'z'; break; case 3: e += 'w'; } if (0 != (this.sourceMask & 4)) switch ((this.s >> 4) & 3) { case 0: e += 'x'; break; case 1: e += 'y'; break; case 2: e += 'z'; break; case 3: e += 'w'; } if (0 != (this.sourceMask & 8)) switch ((this.s >> 6) & 3) { case 0: e += 'x'; break; case 1: e += 'y'; break; case 2: e += 'z'; break; case 3: e += 'w'; } } c = Ce.prefixFromType(this.type, this.programType); if (0 == this.d) c += this.n + b; else { c += this.o; var f = ''; switch (this.q) { case 0: f = 'x'; break; case 1: f = 'y'; break; case 2: f = 'z'; break; case 3: f = 'w'; } f = Ce.prefixFromType(this.itype, this.programType) + this.n + '.' + f; c += '[ int(' + f + ') +' + b + ']'; } a && '' != e && (c += '.' + e); return c; }, __class__: hi }; var dk = function (a, b) { this.version = 0; a.position = b; var c = a.readUTFBytes(3); a.position = b; if ('ATF' != c) throw J.thrown(new jd('ATF signature not found')); 255 == a.b[b + 6] ? ((this.version = a.b[b + 7]), (a.position = b + 8), (c = this.__readUInt32(a))) : ((this.version = 0), (a.position = b + 3), (c = this.__readUInt24(a))); if (Ba.gt(w.__cast(b + c, nb), Bb.get_length(a))) throw J.thrown(new jd('ATF length exceeds byte array length')); this.data = a; }; k['openfl.display3D._internal.ATFReader'] = dk; dk.__name__ = 'openfl.display3D._internal.ATFReader'; dk.prototype = { atfFormat: null, cubeMap: null, data: null, height: null, mipCount: null, version: null, width: null, readHeader: function (a, b, c) { var d = this.data.readUnsignedByte(), f = d >>> 7; if (!c && 0 != f) throw J.thrown(new jd('ATF Cube map not expected')); if (c && 1 != f) throw J.thrown(new jd('ATF Cube map expected')); this.cubeMap = c; this.atfFormat = d & 127; 3 != this.atfFormat && 5 != this.atfFormat && Va.warn('Only ATF block compressed textures without JPEG-XR+LZMA are supported', { fileName: 'openfl/display3D/_internal/ATFReader.hx', lineNumber: 96, className: 'openfl.display3D._internal.ATFReader', methodName: 'readHeader' }); this.width = 1 << this.data.readUnsignedByte(); this.height = 1 << this.data.readUnsignedByte(); if (this.width != a || this.height != b) throw J.thrown(new jd('ATF width and height dont match')); this.mipCount = this.data.readUnsignedByte(); return 5 == this.atfFormat; }, readTextures: function (a) { for (var b = 3 > this.version ? 3 : 4, c = 0, e = this.cubeMap ? 6 : 1; c < e; ) for (var f = c++, g = 0, l = this.mipCount; g < l; ) for (var h = g++, k = 0, r = b; k < r; ) { var n = k++, p = 0 == this.version ? this.__readUInt24(this.data) : this.__readUInt32(this.data); if (Ba.gt(this.data.position + p, Bb.get_length(this.data))) throw J.thrown(new jd('Block length exceeds ATF file length')); if (Ba.gt(p, 0)) { var u = new fb(new ArrayBuffer(p)), m = this.data, t = Bb.fromBytes(u), x = 0, v = p; null == v && (v = 0); null == x && (x = 0); m.readBytes(t, x, v); a(f, h, n, this.width >> h, this.height >> h, p, u); } } }, __readUInt24: function (a) { var b = a.readUnsignedByte() << 16; b |= a.readUnsignedByte() << 8; return (b |= a.readUnsignedByte()); }, __readUInt32: function (a) { var b = a.readUnsignedByte() << 24; b |= a.readUnsignedByte() << 16; b |= a.readUnsignedByte() << 8; return (b |= a.readUnsignedByte()); }, __class__: dk }; var Zj = function () { this.backBufferEnableDepthAndStencil = !1; this.blendDestinationAlphaFactor = 9; this.blendSourceAlphaFactor = 2; this.blendDestinationRGBFactor = 9; this.blendSourceRGBFactor = 2; this.colorMaskAlpha = this.colorMaskBlue = this.colorMaskGreen = this.colorMaskRed = !0; this.culling = 3; this.depthCompareMode = 4; this.depthMask = !0; this.samplerStates = []; this.scissorRectangle = new ea(); this.stencilCompareMode = 0; this.stencilPass = this.stencilFail = this.stencilDepthFail = 5; this.stencilReadMask = 255; this.stencilReferenceValue = 0; this.stencilTriangleFace = 2; this.stencilWriteMask = 255; this.textures = []; this.__frontFaceGLCCW = !0; this.__glBlendEquation = 32774; }; k['openfl.display3D._internal.Context3DState'] = Zj; Zj.__name__ = 'openfl.display3D._internal.Context3DState'; Zj.prototype = { backBufferEnableDepthAndStencil: null, blendDestinationAlphaFactor: null, blendSourceAlphaFactor: null, blendDestinationRGBFactor: null, blendSourceRGBFactor: null, colorMaskRed: null, colorMaskGreen: null, colorMaskBlue: null, colorMaskAlpha: null, culling: null, depthCompareMode: null, depthMask: null, program: null, renderToTexture: null, renderToTextureAntiAlias: null, renderToTextureDepthStencil: null, renderToTextureSurfaceSelector: null, samplerStates: null, scissorEnabled: null, scissorRectangle: null, stencilCompareMode: null, stencilDepthFail: null, stencilFail: null, stencilPass: null, stencilReadMask: null, stencilReferenceValue: null, stencilTriangleFace: null, stencilWriteMask: null, textures: null, shader: null, __currentGLArrayBuffer: null, __currentGLElementArrayBuffer: null, __currentGLFramebuffer: null, __currentGLTexture2D: null, __currentGLTextureCubeMap: null, __enableGLBlend: null, __enableGLCullFace: null, __enableGLDepthTest: null, __enableGLScissorTest: null, __enableGLStencilTest: null, __frontFaceGLCCW: null, __glBlendEquation: null, __primaryGLFramebuffer: null, __rttDepthGLRenderbuffer: null, __rttGLFramebuffer: null, __rttGLRenderbuffer: null, __rttStencilGLRenderbuffer: null, __class__: Zj }; var bc = function (a) { cb.call(this); this.__context = a; var b = this.__context.gl; this.__textureID = b.createTexture(); this.__textureContext = this.__context.__context; if (null == bc.__supportsBGRA) { bc.__textureInternalFormat = b.RGBA; bc.__supportsBGRA = !1; bc.__textureFormat = b.RGBA; bc.__compressedFormats = new Ya(); bc.__compressedFormatsAlpha = new Ya(); a = b.getExtension('WEBGL_compressed_texture_s3tc'); var c = b.getExtension('WEBGL_compressed_texture_etc1'); b = b.getExtension('WEBKIT_WEBGL_compressed_texture_pvrtc'); if (null != a) { var e = a.COMPRESSED_RGBA_S3TC_DXT1_EXT; bc.__compressedFormats.h[0] = e; e = a.COMPRESSED_RGBA_S3TC_DXT5_EXT; bc.__compressedFormatsAlpha.h[0] = e; } null != c && ((e = c.COMPRESSED_RGB_ETC1_WEBGL), (bc.__compressedFormats.h[2] = e), (e = c.COMPRESSED_RGB_ETC1_WEBGL), (bc.__compressedFormatsAlpha.h[2] = e)); null != b && ((e = b.COMPRESSED_RGB_PVRTC_4BPPV1_IMG), (bc.__compressedFormats.h[1] = e), (e = b.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG), (bc.__compressedFormatsAlpha.h[1] = e)); } this.__internalFormat = bc.__textureInternalFormat; this.__format = bc.__textureFormat; }; k['openfl.display3D.textures.TextureBase'] = bc; bc.__name__ = 'openfl.display3D.textures.TextureBase'; bc.__super__ = cb; bc.prototype = t(cb.prototype, { __alphaTexture: null, __context: null, __format: null, __glDepthRenderbuffer: null, __glFramebuffer: null, __glStencilRenderbuffer: null, __height: null, __internalFormat: null, __optimizeForRenderToTexture: null, __samplerState: null, __streamingLevels: null, __textureContext: null, __textureID: null, __textureTarget: null, __width: null, dispose: function () { var a = this.__context.gl; null != this.__alphaTexture && (this.__alphaTexture.dispose(), (this.__alphaTexture = null)); null != this.__textureID && (a.deleteTexture(this.__textureID), (this.__textureID = null)); null != this.__glFramebuffer && (a.deleteFramebuffer(this.__glFramebuffer), (this.__glFramebuffer = null)); null != this.__glDepthRenderbuffer && (a.deleteRenderbuffer(this.__glDepthRenderbuffer), (this.__glDepthRenderbuffer = null)); null != this.__glStencilRenderbuffer && (a.deleteRenderbuffer(this.__glStencilRenderbuffer), (this.__glStencilRenderbuffer = null)); }, __getGLFramebuffer: function (a, b, c) { b = this.__context.gl; null == this.__glFramebuffer && ((this.__glFramebuffer = b.createFramebuffer()), this.__context.__bindGLFramebuffer(this.__glFramebuffer), b.framebufferTexture2D( b.FRAMEBUFFER, b.COLOR_ATTACHMENT0, b.TEXTURE_2D, this.__textureID, 0 ), this.__context.__enableErrorChecking && ((c = b.checkFramebufferStatus(b.FRAMEBUFFER)), c != b.FRAMEBUFFER_COMPLETE && Va.warn( 'Error: Context3D.setRenderToTexture status:' + c + ' width:' + this.__width + ' height:' + this.__height, { fileName: 'openfl/display3D/textures/TextureBase.hx', lineNumber: 201, className: 'openfl.display3D.textures.TextureBase', methodName: '__getGLFramebuffer' } ))); a && null == this.__glDepthRenderbuffer && (this.__context.__bindGLFramebuffer(this.__glFramebuffer), 0 != Yb.__glDepthStencil ? ((this.__glStencilRenderbuffer = this.__glDepthRenderbuffer = b.createRenderbuffer()), b.bindRenderbuffer(b.RENDERBUFFER, this.__glDepthRenderbuffer), b.renderbufferStorage( b.RENDERBUFFER, Yb.__glDepthStencil, this.__width, this.__height ), b.framebufferRenderbuffer( b.FRAMEBUFFER, b.DEPTH_STENCIL_ATTACHMENT, b.RENDERBUFFER, this.__glDepthRenderbuffer )) : ((this.__glDepthRenderbuffer = b.createRenderbuffer()), (this.__glStencilRenderbuffer = b.createRenderbuffer()), b.bindRenderbuffer(b.RENDERBUFFER, this.__glDepthRenderbuffer), b.renderbufferStorage( b.RENDERBUFFER, b.DEPTH_COMPONENT16, this.__width, this.__height ), b.bindRenderbuffer(b.RENDERBUFFER, this.__glStencilRenderbuffer), b.renderbufferStorage( b.RENDERBUFFER, b.STENCIL_INDEX8, this.__width, this.__height ), b.framebufferRenderbuffer( b.FRAMEBUFFER, b.DEPTH_ATTACHMENT, b.RENDERBUFFER, this.__glDepthRenderbuffer ), b.framebufferRenderbuffer( b.FRAMEBUFFER, b.STENCIL_ATTACHMENT, b.RENDERBUFFER, this.__glStencilRenderbuffer )), this.__context.__enableErrorChecking && ((c = b.checkFramebufferStatus(b.FRAMEBUFFER)), c != b.FRAMEBUFFER_COMPLETE && Va.warn( 'Error: Context3D.setRenderToTexture status:' + c + ' width:' + this.__width + ' height:' + this.__height, { fileName: 'openfl/display3D/textures/TextureBase.hx', lineNumber: 239, className: 'openfl.display3D.textures.TextureBase', methodName: '__getGLFramebuffer' } )), b.bindRenderbuffer(b.RENDERBUFFER, null)); return this.__glFramebuffer; }, __getImage: function (a) { var b = a.image; if (!a.__isValid || null == b) return null; za.sync(b, !1); a = this.__context.gl; b.type == ve.DATA || b.get_premultiplied() ? !b.get_premultiplied() && b.get_transparent() && (a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 0), (b = b.clone()), b.set_premultiplied(!0)) : a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 1); 0 != b.get_format() && ((b = b.clone()), b.set_format(0), (b.buffer.premultiplied = !0)); return b; }, __getTexture: function () { return this.__textureID; }, __setSamplerState: function (a) { if (!a.equals(this.__samplerState)) { var b = this.__context.gl; this.__textureTarget == this.__context.gl.TEXTURE_CUBE_MAP ? this.__context.__bindGLTextureCubeMap(this.__textureID) : this.__context.__bindGLTexture2D(this.__textureID); var c; switch (a.wrap) { case 0: var e = (c = b.CLAMP_TO_EDGE); break; case 1: c = b.CLAMP_TO_EDGE; e = b.REPEAT; break; case 2: e = c = b.REPEAT; break; case 3: c = b.REPEAT; e = b.CLAMP_TO_EDGE; break; default: throw J.thrown(new cd('wrap bad enum')); } var f = 5 == a.filter ? b.NEAREST : b.LINEAR; switch (a.mipfilter) { case 0: var g = 5 == a.filter ? b.NEAREST_MIPMAP_LINEAR : b.LINEAR_MIPMAP_LINEAR; break; case 1: g = 5 == a.filter ? b.NEAREST_MIPMAP_NEAREST : b.LINEAR_MIPMAP_NEAREST; break; case 2: g = 5 == a.filter ? b.NEAREST : b.LINEAR; break; default: throw J.thrown(new cd('mipfiter bad enum')); } b.texParameteri(this.__textureTarget, b.TEXTURE_MIN_FILTER, g); b.texParameteri(this.__textureTarget, b.TEXTURE_MAG_FILTER, f); b.texParameteri(this.__textureTarget, b.TEXTURE_WRAP_S, c); b.texParameteri(this.__textureTarget, b.TEXTURE_WRAP_T, e); null == this.__samplerState && (this.__samplerState = a.clone()); this.__samplerState.copyFrom(a); return !0; } return !1; }, __uploadFromImage: function (a) { var b = this.__context.gl, c; if (this.__textureTarget == b.TEXTURE_2D) { if (1 == a.buffer.bitsPerPixel) var e = (c = b.ALPHA); else (c = bc.__textureInternalFormat), (e = bc.__textureFormat); this.__context.__bindGLTexture2D(this.__textureID); a.type == ve.DATA || a.get_premultiplied() ? !a.get_premultiplied() && a.get_transparent() && b.pixelStorei(b.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 1) : b.pixelStorei(b.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 1); a.type == ve.DATA ? $b.texImage2D( b, b.TEXTURE_2D, 0, c, a.buffer.width, a.buffer.height, 0, e, b.UNSIGNED_BYTE, a.get_data() ) : $b.texImage2D(b, b.TEXTURE_2D, 0, c, e, b.UNSIGNED_BYTE, a.get_src()); this.__context.__bindGLTexture2D(null); } }, __class__: bc }); var Xi = function (a, b, c, e, f) { bc.call(this, a); this.__width = this.__height = this.__size = b; this.__optimizeForRenderToTexture = e; this.__streamingLevels = f; this.__textureTarget = this.__context.gl.TEXTURE_CUBE_MAP; this.__uploadedSides = 0; }; k['openfl.display3D.textures.CubeTexture'] = Xi; Xi.__name__ = 'openfl.display3D.textures.CubeTexture'; Xi.__super__ = bc; Xi.prototype = t(bc.prototype, { __framebufferSurface: null, __size: null, __uploadedSides: null, uploadCompressedTextureFromByteArray: function (a, b, c) { null == c && (c = !1); var d = this; c ? Ne.delay(function () { d.__uploadCompressedTextureFromByteArray(a, b); var c = new oa('textureReady'); d.dispatchEvent(c); }, 1) : this.__uploadCompressedTextureFromByteArray(a, b); }, uploadFromBitmapData: function (a, b, c, e) { null == c && (c = 0); if ( null != a && ((e = this.__size >> c), 0 != e && ((a = this.__getImage(a)), null != a)) ) if (0 == c && null != a.buffer && null == a.buffer.data && null != a.buffer.get_src()) { var d = this.__context.gl; e = this.__size >> c; 0 != e && ((e = this.__sideToTarget(b)), this.__context.__bindGLTextureCubeMap(this.__textureID), $b.texImage2D( d, e, c, this.__internalFormat, this.__format, d.UNSIGNED_BYTE, a.buffer.get_src() ), this.__context.__bindGLTextureCubeMap(null), (this.__uploadedSides |= 1 << b)); } else this.uploadFromTypedArray(a.get_data(), b, c); }, uploadFromByteArray: function (a, b, c, e) { null == e && (e = 0); 0 == b ? this.uploadFromTypedArray(a.b, c, e) : ((a = Bb.toArrayBuffer(a)), null == b && (b = 0), (b = null != a ? new Uint8Array(a, b) : null), this.uploadFromTypedArray(b, c, e)); }, uploadFromTypedArray: function (a, b, c) { null == c && (c = 0); if (null != a) { var d = this.__context.gl, f = this.__size >> c; if (0 != f) { var g = this.__sideToTarget(b); this.__context.__bindGLTextureCubeMap(this.__textureID); $b.texImage2D( d, g, c, this.__internalFormat, f, f, 0, this.__format, d.UNSIGNED_BYTE, a ); this.__context.__bindGLTextureCubeMap(null); this.__uploadedSides |= 1 << b; } } }, __getGLFramebuffer: function (a, b, c) { var d = this.__context.gl; null == this.__glFramebuffer && ((this.__glFramebuffer = d.createFramebuffer()), (this.__framebufferSurface = -1)); if ( this.__framebufferSurface != c && ((this.__framebufferSurface = c), this.__context.__bindGLFramebuffer(this.__glFramebuffer), d.framebufferTexture2D( d.FRAMEBUFFER, d.COLOR_ATTACHMENT0, d.TEXTURE_CUBE_MAP_POSITIVE_X + c, this.__textureID, 0 ), this.__context.__enableErrorChecking) ) { var f = d.checkFramebufferStatus(d.FRAMEBUFFER); f != d.FRAMEBUFFER_COMPLETE && Va.error( 'Error: Context3D.setRenderToTexture status:' + f + ' width:' + this.__width + ' height:' + this.__height, { fileName: 'openfl/display3D/textures/CubeTexture.hx', lineNumber: 278, className: 'openfl.display3D.textures.CubeTexture', methodName: '__getGLFramebuffer' } ); } return bc.prototype.__getGLFramebuffer.call(this, a, b, c); }, __setSamplerState: function (a) { if (bc.prototype.__setSamplerState.call(this, a)) { var b = this.__context.gl; 2 == a.mipfilter || this.__samplerState.mipmapGenerated || (b.generateMipmap(b.TEXTURE_CUBE_MAP), (this.__samplerState.mipmapGenerated = !0)); if (0 != Yb.__glMaxTextureMaxAnisotropy) { switch (a.filter) { case 0: a = 16; break; case 1: a = 2; break; case 2: a = 4; break; case 3: a = 8; break; default: a = 1; } a > Yb.__glMaxTextureMaxAnisotropy && (a = Yb.__glMaxTextureMaxAnisotropy); b.texParameterf(b.TEXTURE_CUBE_MAP, Yb.__glTextureMaxAnisotropy, a); } return !0; } return !1; }, __sideToTarget: function (a) { var b = this.__context.gl; switch (a) { case 0: return b.TEXTURE_CUBE_MAP_POSITIVE_X; case 1: return b.TEXTURE_CUBE_MAP_NEGATIVE_X; case 2: return b.TEXTURE_CUBE_MAP_POSITIVE_Y; case 3: return b.TEXTURE_CUBE_MAP_NEGATIVE_Y; case 4: return b.TEXTURE_CUBE_MAP_POSITIVE_Z; case 5: return b.TEXTURE_CUBE_MAP_NEGATIVE_Z; default: throw J.thrown(new jd()); } }, __uploadCompressedTextureFromByteArray: function (a, b) { var c = this; a = new dk(a, b); var e = a.readHeader(this.__size, this.__size, !0), f = this.__context.gl; this.__context.__bindGLTextureCubeMap(this.__textureID); var g = !1; a.readTextures(function (a, b, d, l, h, q, k) { var p = e ? bc.__compressedFormatsAlpha.h[d] : bc.__compressedFormats.h[d]; if (0 != p) if ( ((g = !0), (a = c.__sideToTarget(a)), (c.__format = p), (c.__internalFormat = p), e && 2 == d) ) { q = (q / 2) | 0; var r = (d = null), n = null, u = null, m = k.b.buffer, y = 0; null == y && (y = 0); d = null != d ? new Uint8Array(d) : null != r ? new Uint8Array(r) : null != n ? new Uint8Array(n.__array) : null != u ? new Uint8Array(u) : null != m ? null == q ? new Uint8Array(m, y) : new Uint8Array(m, y, q) : null; $b.compressedTexImage2D(f, a, b, c.__internalFormat, l, h, 0, d); var t = new Xi( c.__context, c.__size, 3, c.__optimizeForRenderToTexture, c.__streamingLevels ); t.__format = p; t.__internalFormat = p; c.__context.__bindGLTextureCubeMap(t.__textureID); u = n = r = d = null; m = k.b.buffer; y = q; null == y && (y = 0); d = null != d ? new Uint8Array(d) : null != r ? new Uint8Array(r) : null != n ? new Uint8Array(n.__array) : null != u ? new Uint8Array(u) : null != m ? null == q ? new Uint8Array(m, y) : new Uint8Array(m, y, q) : null; $b.compressedTexImage2D(f, a, b, t.__internalFormat, l, h, 0, d); c.__alphaTexture = t; } else (u = n = r = d = null), (m = k.b.buffer), (y = 0), null == y && (y = 0), (d = null != d ? new Uint8Array(d) : null != r ? new Uint8Array(r) : null != n ? new Uint8Array(n.__array) : null != u ? new Uint8Array(u) : null != m ? null == q ? new Uint8Array(m, y) : new Uint8Array(m, y, q) : null), $b.compressedTexImage2D(f, a, b, c.__internalFormat, l, h, 0, d); }); if (!g) { a = this.__size * this.__size * 4; var l = (b = null), h = null, k = null, r = null; a = null != a ? new Uint8Array(a) : null != b ? new Uint8Array(b) : null != l ? new Uint8Array(l.__array) : null != h ? new Uint8Array(h) : null != k ? null == r ? new Uint8Array(k, 0) : new Uint8Array(k, 0, r) : null; $b.texImage2D( f, this.__sideToTarget(0), 0, this.__internalFormat, this.__size, this.__size, 0, this.__format, f.UNSIGNED_BYTE, a ); a = this.__size * this.__size * 4; r = k = h = l = b = null; a = null != a ? new Uint8Array(a) : null != b ? new Uint8Array(b) : null != l ? new Uint8Array(l.__array) : null != h ? new Uint8Array(h) : null != k ? null == r ? new Uint8Array(k, 0) : new Uint8Array(k, 0, r) : null; $b.texImage2D( f, this.__sideToTarget(1), 0, this.__internalFormat, this.__size, this.__size, 0, this.__format, f.UNSIGNED_BYTE, a ); a = this.__size * this.__size * 4; r = k = h = l = b = null; a = null != a ? new Uint8Array(a) : null != b ? new Uint8Array(b) : null != l ? new Uint8Array(l.__array) : null != h ? new Uint8Array(h) : null != k ? null == r ? new Uint8Array(k, 0) : new Uint8Array(k, 0, r) : null; $b.texImage2D( f, this.__sideToTarget(2), 0, this.__internalFormat, this.__size, this.__size, 0, this.__format, f.UNSIGNED_BYTE, a ); a = this.__size * this.__size * 4; r = k = h = l = b = null; a = null != a ? new Uint8Array(a) : null != b ? new Uint8Array(b) : null != l ? new Uint8Array(l.__array) : null != h ? new Uint8Array(h) : null != k ? null == r ? new Uint8Array(k, 0) : new Uint8Array(k, 0, r) : null; $b.texImage2D( f, this.__sideToTarget(3), 0, this.__internalFormat, this.__size, this.__size, 0, this.__format, f.UNSIGNED_BYTE, a ); a = this.__size * this.__size * 4; r = k = h = l = b = null; a = null != a ? new Uint8Array(a) : null != b ? new Uint8Array(b) : null != l ? new Uint8Array(l.__array) : null != h ? new Uint8Array(h) : null != k ? null == r ? new Uint8Array(k, 0) : new Uint8Array(k, 0, r) : null; $b.texImage2D( f, this.__sideToTarget(4), 0, this.__internalFormat, this.__size, this.__size, 0, this.__format, f.UNSIGNED_BYTE, a ); a = this.__size * this.__size * 4; r = k = h = l = b = null; a = null != a ? new Uint8Array(a) : null != b ? new Uint8Array(b) : null != l ? new Uint8Array(l.__array) : null != h ? new Uint8Array(h) : null != k ? null == r ? new Uint8Array(k, 0) : new Uint8Array(k, 0, r) : null; $b.texImage2D( f, this.__sideToTarget(5), 0, this.__internalFormat, this.__size, this.__size, 0, this.__format, f.UNSIGNED_BYTE, a ); } this.__context.__bindGLTextureCubeMap(null); }, __class__: Xi }); var ak = function (a, b, c, e, f) { bc.call(this, a); this.__width = b; this.__height = c; this.__optimizeForRenderToTexture = f; this.__textureTarget = this.__context.gl.TEXTURE_2D; this.uploadFromTypedArray(null); f && this.__getGLFramebuffer(!0, 0, 0); }; k['openfl.display3D.textures.RectangleTexture'] = ak; ak.__name__ = 'openfl.display3D.textures.RectangleTexture'; ak.__super__ = bc; ak.prototype = t(bc.prototype, { uploadFromBitmapData: function (a) { if (null != a && ((a = this.__getImage(a)), null != a)) if (null != a.buffer && null == a.buffer.data && null != a.buffer.get_src()) { var b = this.__context.gl; this.__context.__bindGLTexture2D(this.__textureID); $b.texImage2D( b, this.__textureTarget, 0, this.__internalFormat, this.__format, b.UNSIGNED_BYTE, a.buffer.get_src() ); this.__context.__bindGLTexture2D(null); } else this.uploadFromTypedArray(a.get_data()); }, uploadFromByteArray: function (a, b) { 0 == b ? this.uploadFromTypedArray(a.b) : ((a = Bb.toArrayBuffer(a)), null == b && (b = 0), (b = null != a ? new Uint8Array(a, b) : null), this.uploadFromTypedArray(b)); }, uploadFromTypedArray: function (a) { var b = this.__context.gl; this.__context.__bindGLTexture2D(this.__textureID); $b.texImage2D( b, this.__textureTarget, 0, this.__internalFormat, this.__width, this.__height, 0, this.__format, b.UNSIGNED_BYTE, a ); this.__context.__bindGLTexture2D(null); }, __setSamplerState: function (a) { if (bc.prototype.__setSamplerState.call(this, a)) { var b = this.__context.gl; if (0 != Yb.__glMaxTextureMaxAnisotropy) { switch (a.filter) { case 0: a = 16; break; case 1: a = 2; break; case 2: a = 4; break; case 3: a = 8; break; default: a = 1; } a > Yb.__glMaxTextureMaxAnisotropy && (a = Yb.__glMaxTextureMaxAnisotropy); b.texParameterf(b.TEXTURE_2D, Yb.__glTextureMaxAnisotropy, a); } return !0; } return !1; }, __class__: ak }); var gi = function (a, b, c, e, f, g) { bc.call(this, a); this.__width = b; this.__height = c; this.__optimizeForRenderToTexture = f; this.__streamingLevels = g; a = this.__context.gl; this.__textureTarget = a.TEXTURE_2D; this.__context.__bindGLTexture2D(this.__textureID); $b.texImage2D( a, this.__textureTarget, 0, this.__internalFormat, this.__width, this.__height, 0, this.__format, a.UNSIGNED_BYTE, null ); this.__context.__bindGLTexture2D(null); f && this.__getGLFramebuffer(!0, 0, 0); }; k['openfl.display3D.textures.Texture'] = gi; gi.__name__ = 'openfl.display3D.textures.Texture'; gi.__super__ = bc; gi.prototype = t(bc.prototype, { uploadCompressedTextureFromByteArray: function (a, b, c) { null == c && (c = !1); var d = this; c ? Ne.delay(function () { d.__uploadCompressedTextureFromByteArray(a, b); var c = new oa('textureReady'); d.dispatchEvent(c); }, 1) : this.__uploadCompressedTextureFromByteArray(a, b); }, uploadFromBitmapData: function (a, b, c) { null == b && (b = 0); if (null != a) { c = this.__width >> b; var d = this.__height >> b; if (0 != c || 0 != d) { 0 == c && (c = 1); 0 == d && (d = 1); if (a.width != c || a.height != d) (c = new la(c, d, !0, 0)), c.draw(a), (a = c); a = this.__getImage(a); if (null != a) if ( 0 == b && null != a.buffer && null == a.buffer.data && null != a.buffer.get_src() ) { var f = this.__context.gl; c = this.__width >> b; d = this.__height >> b; if (0 != c || 0 != d) this.__context.__bindGLTexture2D(this.__textureID), $b.texImage2D( f, this.__textureTarget, b, this.__internalFormat, this.__format, f.UNSIGNED_BYTE, a.buffer.get_src() ), this.__context.__bindGLTexture2D(null); } else this.uploadFromTypedArray(a.get_data(), b); } } }, uploadFromByteArray: function (a, b, c) { null == c && (c = 0); 0 == b ? this.uploadFromTypedArray(a.b, c) : ((a = Bb.toArrayBuffer(a)), null == b && (b = 0), (b = null != a ? new Uint8Array(a, b) : null), this.uploadFromTypedArray(b, c)); }, uploadFromTypedArray: function (a, b) { null == b && (b = 0); if (null != a) { var c = this.__context.gl, e = this.__width >> b, f = this.__height >> b; if (0 != e || 0 != f) 0 == e && (e = 1), 0 == f && (f = 1), this.__context.__bindGLTexture2D(this.__textureID), $b.texImage2D( c, this.__textureTarget, b, this.__internalFormat, e, f, 0, this.__format, c.UNSIGNED_BYTE, a ), this.__context.__bindGLTexture2D(null); } }, __setSamplerState: function (a) { if (bc.prototype.__setSamplerState.call(this, a)) { var b = this.__context.gl; 2 == a.mipfilter || this.__samplerState.mipmapGenerated || (b.generateMipmap(b.TEXTURE_2D), (this.__samplerState.mipmapGenerated = !0)); if (0 != Yb.__glMaxTextureMaxAnisotropy) { switch (a.filter) { case 0: a = 16; break; case 1: a = 2; break; case 2: a = 4; break; case 3: a = 8; break; default: a = 1; } a > Yb.__glMaxTextureMaxAnisotropy && (a = Yb.__glMaxTextureMaxAnisotropy); b.texParameterf(b.TEXTURE_2D, Yb.__glTextureMaxAnisotropy, a); } return !0; } return !1; }, __uploadCompressedTextureFromByteArray: function (a, b) { var c = this; a = new dk(a, b); var e = a.readHeader(this.__width, this.__height, !1), f = this.__context.gl; this.__context.__bindGLTexture2D(this.__textureID); var g = !1; a.readTextures(function (a, b, d, h, k, p, n) { a = e ? bc.__compressedFormatsAlpha.h[d] : bc.__compressedFormats.h[d]; if (0 != a) if (((g = !0), (c.__format = a), (c.__internalFormat = a), e && 2 == d)) { p = (p / 2) | 0; var l = (d = null), q = null, r = null, u = n.b.buffer, m = 0; null == m && (m = 0); d = null != d ? new Uint8Array(d) : null != l ? new Uint8Array(l) : null != q ? new Uint8Array(q.__array) : null != r ? new Uint8Array(r) : null != u ? null == p ? new Uint8Array(u, m) : new Uint8Array(u, m, p) : null; $b.compressedTexImage2D(f, c.__textureTarget, b, c.__internalFormat, h, k, 0, d); var y = new gi( c.__context, c.__width, c.__height, 3, c.__optimizeForRenderToTexture, c.__streamingLevels ); y.__format = a; y.__internalFormat = a; c.__context.__bindGLTexture2D(y.__textureID); r = q = l = d = null; u = n.b.buffer; m = p; null == m && (m = 0); d = null != d ? new Uint8Array(d) : null != l ? new Uint8Array(l) : null != q ? new Uint8Array(q.__array) : null != r ? new Uint8Array(r) : null != u ? null == p ? new Uint8Array(u, m) : new Uint8Array(u, m, p) : null; $b.compressedTexImage2D(f, y.__textureTarget, b, y.__internalFormat, h, k, 0, d); c.__alphaTexture = y; } else (r = q = l = d = null), (u = n.b.buffer), (m = 0), null == m && (m = 0), (d = null != d ? new Uint8Array(d) : null != l ? new Uint8Array(l) : null != q ? new Uint8Array(q.__array) : null != r ? new Uint8Array(r) : null != u ? null == p ? new Uint8Array(u, m) : new Uint8Array(u, m, p) : null), $b.compressedTexImage2D(f, c.__textureTarget, b, c.__internalFormat, h, k, 0, d); }); g || ((a = this.__width * this.__height * 4), (a = null != a ? new Uint8Array(a) : null), $b.texImage2D( f, this.__textureTarget, 0, this.__internalFormat, this.__width, this.__height, 0, this.__format, f.UNSIGNED_BYTE, a )); this.__context.__bindGLTexture2D(null); }, __class__: gi }); var cn = function (a) { bc.call(this, a); this.__textureTarget = this.__context.gl.TEXTURE_2D; }; k['openfl.display3D.textures.VideoTexture'] = cn; cn.__name__ = 'openfl.display3D.textures.VideoTexture'; cn.__super__ = bc; cn.prototype = t(bc.prototype, { videoHeight: null, videoWidth: null, __cacheTime: null, __netStream: null, attachNetStream: function (a) { var b = this; null != this.__netStream && this.__netStream.__video.removeEventListener('canplay', m(this, this.__onCanPlay), !1); this.__cacheTime = -1; this.__netStream = a; null != this.__netStream && (2 <= this.__netStream.__video.readyState ? Ne.delay(function () { b.__textureReady(); }, 0) : this.__netStream.__video.addEventListener( 'canplay', m(this, this.__onCanPlay), !1 )); }, dispose: function () { null != this.__netStream && null != this.__netStream.__video && this.__netStream.__video.removeEventListener( 'timeupdate', m(this, this.__onTimeUpdate) ); bc.prototype.dispose.call(this); }, __onCanPlay: function (a) { this.__netStream.__video.addEventListener('timeupdate', m(this, this.__onTimeUpdate)); this.__textureReady(); }, __onTimeUpdate: function (a) { null != this.__netStream && this.__netStream.__video.currentTime != this.__cacheTime && 2 <= this.__netStream.__video.readyState && this.__textureReady(); }, __getTexture: function () { if ( this.__netStream.__video.currentTime != this.__cacheTime && 2 <= this.__netStream.__video.readyState ) { var a = this.__context.gl; this.__context.__bindGLTexture2D(this.__textureID); $b.texImage2D( a, a.TEXTURE_2D, 0, a.RGBA, a.RGBA, a.UNSIGNED_BYTE, this.__netStream.__video ); this.__cacheTime = this.__netStream.__video.currentTime; } return this.__textureID; }, __textureReady: function () { this.videoWidth = this.__netStream.__video.videoWidth; this.videoHeight = this.__netStream.__video.videoHeight; var a = new oa('textureReady'); this.dispatchEvent(a); }, __class__: cn }); var cd = function (a, b) { null == b && (b = 0); null == a && (a = ''); this.message = a; this.errorID = b; this.name = 'Error'; }; k['openfl.errors.Error'] = cd; cd.__name__ = 'openfl.errors.Error'; cd.prototype = { errorID: null, message: null, name: null, getStackTrace: function () { return jf.toString(jf.exceptionStack()); }, toString: function () { return null != this.message ? this.message : 'Error'; }, __class__: cd }; var oi = function (a) { null == a && (a = ''); cd.call(this, a); this.name = 'ArgumentError'; }; k['openfl.errors.ArgumentError'] = oi; oi.__name__ = 'openfl.errors.ArgumentError'; oi.__super__ = cd; oi.prototype = t(cd.prototype, { __class__: oi }); var $i = function (a) { null == a && (a = ''); cd.call(this, a); this.name = 'IOError'; }; k['openfl.errors.IOError'] = $i; $i.__name__ = 'openfl.errors.IOError'; $i.__super__ = cd; $i.prototype = t(cd.prototype, { __class__: $i }); var eh = function (a, b) { $i.call(this, 'End of file was encountered'); this.name = 'EOFError'; this.errorID = 2030; }; k['openfl.errors.EOFError'] = eh; eh.__name__ = 'openfl.errors.EOFError'; eh.__super__ = $i; eh.prototype = t($i.prototype, { __class__: eh }); var jd = function (a) { null == a && (a = ''); cd.call(this, a, 0); this.name = 'IllegalOperationError'; }; k['openfl.errors.IllegalOperationError'] = jd; jd.__name__ = 'openfl.errors.IllegalOperationError'; jd.__super__ = cd; jd.prototype = t(cd.prototype, { __class__: jd }); var Hh = function (a) { null == a && (a = ''); cd.call(this, a, 0); this.name = 'RangeError'; }; k['openfl.errors.RangeError'] = Hh; Hh.__name__ = 'openfl.errors.RangeError'; Hh.__super__ = cd; Hh.prototype = t(cd.prototype, { __class__: Hh }); var ep = function (a) { null == a && (a = ''); cd.call(this, a, 0); this.name = 'SecurityError'; }; k['openfl.errors.SecurityError'] = ep; ep.__name__ = 'openfl.errors.SecurityError'; ep.__super__ = cd; ep.prototype = t(cd.prototype, { __class__: ep }); var mj = function (a) { null == a && (a = ''); cd.call(this, a, 0); this.name = 'TypeError'; }; k['openfl.errors.TypeError'] = mj; mj.__name__ = 'openfl.errors.TypeError'; mj.__super__ = cd; mj.prototype = t(cd.prototype, { __class__: mj }); var fh = function (a, b, c, e) { null == e && (e = !1); null == c && (c = !1); null == b && (b = !1); oa.call(this, a, b, c); this.activating = e; }; k['openfl.events.ActivityEvent'] = fh; fh.__name__ = 'openfl.events.ActivityEvent'; fh.__super__ = oa; fh.prototype = t(oa.prototype, { activating: null, clone: function () { var a = new fh(this.type, this.bubbles, this.cancelable, this.activating); a.target = this.target; a.currentTarget = this.currentTarget; a.eventPhase = this.eventPhase; return a; }, toString: function () { return this.__formatToString('ActivityEvent', [ 'type', 'bubbles', 'cancelable', 'activating' ]); }, __init: function () { oa.prototype.__init.call(this); this.activating = !1; }, __class__: fh }); var bf = function (a, b, c, e) { null == e && (e = ''); null == c && (c = !1); null == b && (b = !1); oa.call(this, a, b, c); this.text = e; }; k['openfl.events.TextEvent'] = bf; bf.__name__ = 'openfl.events.TextEvent'; bf.__super__ = oa; bf.prototype = t(oa.prototype, { text: null, clone: function () { var a = new bf(this.type, this.bubbles, this.cancelable, this.text); a.target = this.target; a.currentTarget = this.currentTarget; a.eventPhase = this.eventPhase; return a; }, toString: function () { return this.__formatToString('TextEvent', ['type', 'bubbles', 'cancelable', 'text']); }, __init: function () { oa.prototype.__init.call(this); this.text = ''; }, __class__: bf }); var Re = function (a, b, c, e, f) { null == f && (f = 0); null == e && (e = ''); null == c && (c = !1); null == b && (b = !1); bf.call(this, a, b, c, e); this.errorID = f; }; k['openfl.events.ErrorEvent'] = Re; Re.__name__ = 'openfl.events.ErrorEvent'; Re.__super__ = bf; Re.prototype = t(bf.prototype, { errorID: null, clone: function () { var a = new Re(this.type, this.bubbles, this.cancelable, this.text, this.errorID); a.target = this.target; a.currentTarget = this.currentTarget; a.eventPhase = this.eventPhase; return a; }, toString: function () { return this.__formatToString('ErrorEvent', [ 'type', 'bubbles', 'cancelable', 'text', 'errorID' ]); }, __init: function () { bf.prototype.__init.call(this); this.errorID = 0; }, __class__: Re }); var lj = function (a) { this.active = !1; this.reset(a); }; k['openfl.events._EventDispatcher.DispatchIterator'] = lj; lj.__name__ = 'openfl.events._EventDispatcher.DispatchIterator'; lj.prototype = { active: null, index: null, isCopy: null, list: null, copy: function () { this.isCopy || ((this.list = this.list.slice()), (this.isCopy = !0)); }, hasNext: function () { return this.index < this.list.length; }, next: function () { return this.list[this.index++]; }, remove: function (a, b) { if (this.active) if (this.isCopy) { b = this.index; for (var c = this.list.length; b < c; ) { var e = b++; if (this.list[e] == a) { this.list.splice(e, 1); break; } } } else b < this.index && this.index--; }, reset: function (a) { this.list = a; this.isCopy = !1; this.index = 0; }, start: function () { this.active = !0; }, stop: function () { this.active = !1; }, __class__: lj }; var kj = function (a, b, c) { this.callback = a; this.useCapture = b; this.priority = c; }; k['openfl.events._EventDispatcher.Listener'] = kj; kj.__name__ = 'openfl.events._EventDispatcher.Listener'; kj.prototype = { callback: null, priority: null, useCapture: null, match: function (a, b) { return aa.compareMethods(this.callback, a) ? this.useCapture == b : !1; }, __class__: kj }; var Yf = function (a, b, c, e, f, g) { null == g && (g = 0); null == f && (f = !1); null == c && (c = !1); null == b && (b = !1); oa.call(this, a, b, c); this.keyCode = g; this.shiftKey = f; this.relatedObject = e; }; k['openfl.events.FocusEvent'] = Yf; Yf.__name__ = 'openfl.events.FocusEvent'; Yf.__super__ = oa; Yf.prototype = t(oa.prototype, { keyCode: null, relatedObject: null, shiftKey: null, clone: function () { var a = new Yf( this.type, this.bubbles, this.cancelable, this.relatedObject, this.shiftKey, this.keyCode ); a.target = this.target; a.currentTarget = this.currentTarget; a.eventPhase = this.eventPhase; return a; }, toString: function () { return this.__formatToString( 'FocusEvent', 'type bubbles cancelable relatedObject shiftKey keyCode'.split(' ') ); }, __init: function () { oa.prototype.__init.call(this); this.keyCode = 0; this.shiftKey = !1; this.relatedObject = null; }, __class__: Yf }); var dh = function (a, b, c, e, f) { null == f && (f = !1); null == e && (e = !1); null == c && (c = !1); null == b && (b = !1); fh.call(this, a, b, c); this.fullScreen = e; this.interactive = f; }; k['openfl.events.FullScreenEvent'] = dh; dh.__name__ = 'openfl.events.FullScreenEvent'; dh.__super__ = fh; dh.prototype = t(fh.prototype, { fullScreen: null, interactive: null, clone: function () { var a = new dh( this.type, this.bubbles, this.cancelable, this.fullScreen, this.interactive ); a.target = this.target; a.currentTarget = this.currentTarget; a.eventPhase = this.eventPhase; return a; }, toString: function () { return this.__formatToString('FullscreenEvent', [ 'type', 'bubbles', 'cancelable', 'fullscreen', 'interactive' ]); }, __init: function () { fh.prototype.__init.call(this); this.interactive = this.fullScreen = !1; }, __class__: dh }); var Gg = function (a, b, c, e) { null == c && (c = !1); null == b && (b = !0); oa.call(this, a, b, c); this.device = e; }; k['openfl.events.GameInputEvent'] = Gg; Gg.__name__ = 'openfl.events.GameInputEvent'; Gg.__super__ = oa; Gg.prototype = t(oa.prototype, { device: null, clone: function () { var a = new Gg(this.type, this.bubbles, this.cancelable, this.device); a.target = this.target; a.currentTarget = this.currentTarget; a.eventPhase = this.eventPhase; return a; }, toString: function () { return this.__formatToString('GameInputEvent', [ 'type', 'bubbles', 'cancelable', 'device' ]); }, __init: function () { oa.prototype.__init.call(this); this.device = null; }, __class__: Gg }); var ii = function (a, b, c, e, f) { null == f && (f = !1); null == e && (e = 0); null == c && (c = !1); null == b && (b = !1); this.status = e; this.redirected = f; oa.call(this, a, b, c); }; k['openfl.events.HTTPStatusEvent'] = ii; ii.__name__ = 'openfl.events.HTTPStatusEvent'; ii.__super__ = oa; ii.prototype = t(oa.prototype, { redirected: null, responseHeaders: null, responseURL: null, status: null, clone: function () { var a = new ii(this.type, this.bubbles, this.cancelable, this.status, this.redirected); a.target = this.target; a.currentTarget = this.currentTarget; a.eventPhase = this.eventPhase; return a; }, toString: function () { return this.__formatToString('HTTPStatusEvent', [ 'type', 'bubbles', 'cancelable', 'status', 'redirected' ]); }, __init: function () { oa.prototype.__init.call(this); this.status = 0; this.redirected = !1; }, __class__: ii }); var qg = function (a, b, c, e, f) { null == f && (f = 0); null == e && (e = ''); null == c && (c = !1); null == b && (b = !0); Re.call(this, a, b, c, e, f); }; k['openfl.events.IOErrorEvent'] = qg; qg.__name__ = 'openfl.events.IOErrorEvent'; qg.__super__ = Re; qg.prototype = t(Re.prototype, { clone: function () { var a = new qg(this.type, this.bubbles, this.cancelable, this.text, this.errorID); a.target = this.target; a.currentTarget = this.currentTarget; a.eventPhase = this.eventPhase; return a; }, toString: function () { return this.__formatToString('IOErrorEvent', [ 'type', 'bubbles', 'cancelable', 'text', 'errorID' ]); }, __class__: qg }); var ci = function (a, b, c, e, f, g, l, h, k, r, n) { null == n && (n = !1); null == r && (r = !1); null == k && (k = !1); null == h && (h = !1); null == l && (l = !1); null == f && (f = 0); null == e && (e = 0); null == c && (c = !1); null == b && (b = !1); oa.call(this, a, b, c); this.charCode = e; this.keyCode = f; this.keyLocation = null != g ? g : 0; this.ctrlKey = l; this.altKey = h; this.shiftKey = k; this.controlKey = r; this.commandKey = n; }; k['openfl.events.KeyboardEvent'] = ci; ci.__name__ = 'openfl.events.KeyboardEvent'; ci.__super__ = oa; ci.prototype = t(oa.prototype, { altKey: null, charCode: null, commandKey: null, controlKey: null, ctrlKey: null, keyCode: null, keyLocation: null, shiftKey: null, clone: function () { var a = new ci( this.type, this.bubbles, this.cancelable, this.charCode, this.keyCode, this.keyLocation, this.ctrlKey, this.altKey, this.shiftKey, this.controlKey, this.commandKey ); a.target = this.target; a.currentTarget = this.currentTarget; a.eventPhase = this.eventPhase; return a; }, toString: function () { return this.__formatToString( 'KeyboardEvent', 'type bubbles cancelable charCode keyCode keyLocation ctrlKey altKey shiftKey'.split( ' ' ) ); }, __init: function () { oa.prototype.__init.call(this); this.keyLocation = this.keyCode = this.charCode = 0; this.commandKey = this.controlKey = this.shiftKey = this.altKey = this.ctrlKey = !1; }, __class__: ci }); var Mb = function (a, b, c, e, f, g, l, h, k, r, n, p, u) { null == u && (u = 0); null == p && (p = !1); null == n && (n = 0); null == r && (r = !1); null == k && (k = !1); null == h && (h = !1); null == l && (l = !1); null == f && (f = 0); null == e && (e = 0); null == c && (c = !1); null == b && (b = !0); oa.call(this, a, b, c); this.shiftKey = k; this.altKey = h; this.ctrlKey = l; this.bubbles = b; this.relatedObject = g; this.delta = n; this.localX = e; this.localY = f; this.buttonDown = r; this.commandKey = p; this.clickCount = u; this.isRelatedObjectInaccessible = !1; this.stageY = this.stageX = NaN; }; k['openfl.events.MouseEvent'] = Mb; Mb.__name__ = 'openfl.events.MouseEvent'; Mb.__create = function (a, b, c, e, f, g, l) { null == l && (l = 0); a = new Mb( a, !0, !1, f.x, f.y, null, Mb.__ctrlKey, Mb.__altKey, Mb.__shiftKey, Mb.__buttonDown, l, Mb.__commandKey ); a.stageX = c; a.stageY = e; a.target = g; return a; }; Mb.__super__ = oa; Mb.prototype = t(oa.prototype, { altKey: null, buttonDown: null, commandKey: null, clickCount: null, ctrlKey: null, delta: null, isRelatedObjectInaccessible: null, localX: null, localY: null, relatedObject: null, shiftKey: null, stageX: null, stageY: null, clone: function () { var a = new Mb( this.type, this.bubbles, this.cancelable, this.localX, this.localY, this.relatedObject, this.ctrlKey, this.altKey, this.shiftKey, this.buttonDown, this.delta, this.commandKey, this.clickCount ); a.target = this.target; a.currentTarget = this.currentTarget; a.eventPhase = this.eventPhase; return a; }, toString: function () { return this.__formatToString( 'MouseEvent', 'type bubbles cancelable localX localY relatedObject ctrlKey altKey shiftKey buttonDown delta'.split( ' ' ) ); }, updateAfterEvent: function () {}, __init: function () { oa.prototype.__init.call(this); this.bubbles = this.ctrlKey = this.altKey = this.shiftKey = !1; this.relatedObject = null; this.localY = this.localX = this.delta = 0; this.commandKey = this.buttonDown = !1; this.clickCount = 0; this.isRelatedObjectInaccessible = !1; this.stageY = this.stageX = NaN; }, __class__: Mb }); var ji = function (a, b, c, e) { null == c && (c = !1); null == b && (b = !1); this.info = e; oa.call(this, a, b, c); }; k['openfl.events.NetStatusEvent'] = ji; ji.__name__ = 'openfl.events.NetStatusEvent'; ji.__super__ = oa; ji.prototype = t(oa.prototype, { info: null, clone: function () { var a = new ji(this.type, this.bubbles, this.cancelable, this.info); a.target = this.target; a.currentTarget = this.currentTarget; a.eventPhase = this.eventPhase; return a; }, toString: function () { return this.__formatToString('NetStatusEvent', ['type', 'bubbles', 'cancelable', 'info']); }, __init: function () { oa.prototype.__init.call(this); this.info = null; }, __class__: ji }); var Eg = function (a, b, c, e, f) { null == f && (f = 0); null == e && (e = 0); null == c && (c = !1); null == b && (b = !1); oa.call(this, a, b, c); this.bytesLoaded = e; this.bytesTotal = f; }; k['openfl.events.ProgressEvent'] = Eg; Eg.__name__ = 'openfl.events.ProgressEvent'; Eg.__super__ = oa; Eg.prototype = t(oa.prototype, { bytesLoaded: null, bytesTotal: null, clone: function () { var a = new Eg( this.type, this.bubbles, this.cancelable, this.bytesLoaded, this.bytesTotal ); a.target = this.target; a.currentTarget = this.currentTarget; a.eventPhase = this.eventPhase; return a; }, toString: function () { return this.__formatToString('ProgressEvent', [ 'type', 'bubbles', 'cancelable', 'bytesLoaded', 'bytesTotal' ]); }, __init: function () { oa.prototype.__init.call(this); this.bytesTotal = this.bytesLoaded = 0; }, __class__: Eg }); var ug = function (a, b, c, e, f, g) { null == g && (g = !0); null == c && (c = !1); null == b && (b = !1); oa.call(this, a, b, c); this.objectMatrix = e; this.objectColorTransform = f; this.allowSmoothing = g; }; k['openfl.events.RenderEvent'] = ug; ug.__name__ = 'openfl.events.RenderEvent'; ug.__super__ = oa; ug.prototype = t(oa.prototype, { allowSmoothing: null, objectColorTransform: null, objectMatrix: null, renderer: null, clone: function () { var a = new ug( this.type, this.bubbles, this.cancelable, this.objectMatrix.clone(), this.objectColorTransform.__clone(), this.allowSmoothing ); a.target = this.target; a.currentTarget = this.currentTarget; a.eventPhase = this.eventPhase; return a; }, toString: function () { return this.__formatToString('RenderEvent', ['type', 'bubbles', 'cancelable']); }, __init: function () { oa.prototype.__init.call(this); this.objectColorTransform = this.objectMatrix = null; this.allowSmoothing = !1; this.renderer = null; }, __class__: ug }); var aj = function (a, b, c, e, f) { null == f && (f = 0); null == e && (e = ''); null == c && (c = !1); null == b && (b = !1); Re.call(this, a, b, c, e, f); }; k['openfl.events.SecurityErrorEvent'] = aj; aj.__name__ = 'openfl.events.SecurityErrorEvent'; aj.__super__ = Re; aj.prototype = t(Re.prototype, { clone: function () { var a = new aj(this.type, this.bubbles, this.cancelable, this.text, this.errorID); a.target = this.target; a.currentTarget = this.currentTarget; a.eventPhase = this.eventPhase; return a; }, toString: function () { return this.__formatToString('SecurityErrorEvent', [ 'type', 'bubbles', 'cancelable', 'text', 'errorID' ]); }, __class__: aj }); var Vd = function (a, b, c, e, f, g, l, h, k, r, n, p, u, m, t, x, v, w, G, B) { null == x && (x = !1); null == t && (t = !1); null == m && (m = !1); null == u && (u = !1); null == p && (p = !1); null == r && (r = 0); null == k && (k = 0); null == h && (h = 0); null == l && (l = 0); null == g && (g = 0); null == f && (f = !1); null == e && (e = 0); null == c && (c = !1); null == b && (b = !0); oa.call(this, a, b, c); this.touchPointID = e; this.isPrimaryTouchPoint = f; this.localX = g; this.localY = l; this.sizeX = h; this.sizeY = k; this.pressure = r; this.relatedObject = n; this.ctrlKey = p; this.altKey = u; this.shiftKey = m; this.commandKey = t; this.controlKey = x; this.stageY = this.stageX = NaN; }; k['openfl.events.TouchEvent'] = Vd; Vd.__name__ = 'openfl.events.TouchEvent'; Vd.__create = function (a, b, c, e, f, g) { a = new Vd(a, !0, !1, 0, !0, f.x, f.y, 1, 1, 1); a.stageX = c; a.stageY = e; a.target = g; return a; }; Vd.__super__ = oa; Vd.prototype = t(oa.prototype, { altKey: null, commandKey: null, controlKey: null, ctrlKey: null, delta: null, isPrimaryTouchPoint: null, localX: null, localY: null, pressure: null, relatedObject: null, shiftKey: null, sizeX: null, sizeY: null, stageX: null, stageY: null, touchPointID: null, clone: function () { var a = new Vd( this.type, this.bubbles, this.cancelable, this.touchPointID, this.isPrimaryTouchPoint, this.localX, this.localY, this.sizeX, this.sizeY, this.pressure, this.relatedObject, this.ctrlKey, this.altKey, this.shiftKey, this.commandKey, this.controlKey ); a.target = this.target; a.currentTarget = this.currentTarget; a.eventPhase = this.eventPhase; return a; }, toString: function () { return this.__formatToString( 'TouchEvent', 'type bubbles cancelable touchPointID isPrimaryTouchPoint localX localY sizeX sizeY pressure relatedObject ctrlKey altKey shiftKey commandKey controlKey'.split( ' ' ) ); }, updateAfterEvent: function () {}, __init: function () { oa.prototype.__init.call(this); this.touchPointID = 0; this.isPrimaryTouchPoint = !1; this.pressure = this.sizeY = this.sizeX = this.localY = this.localX = 0; this.relatedObject = null; this.controlKey = this.commandKey = this.shiftKey = this.altKey = this.ctrlKey = !1; this.stageY = this.stageX = NaN; }, __class__: Vd }); var Ui = function (a, b, c, e) { null == c && (c = !0); null == b && (b = !0); Re.call(this, a, b, c); this.error = e; }; k['openfl.events.UncaughtErrorEvent'] = Ui; Ui.__name__ = 'openfl.events.UncaughtErrorEvent'; Ui.__super__ = Re; Ui.prototype = t(Re.prototype, { error: null, clone: function () { var a = new Ui(this.type, this.bubbles, this.cancelable, this.error); a.target = this.target; a.currentTarget = this.currentTarget; a.eventPhase = this.eventPhase; return a; }, toString: function () { return this.__formatToString('UncaughtErrorEvent', [ 'type', 'bubbles', 'cancelable', 'error' ]); }, __init: function () { Re.prototype.__init.call(this); this.error = null; }, __class__: Ui }); var Rm = function () { cb.call(this); }; k['openfl.events.UncaughtErrorEvents'] = Rm; Rm.__name__ = 'openfl.events.UncaughtErrorEvents'; Rm.__super__ = cb; Rm.prototype = t(cb.prototype, { __class__: Rm }); var bj = function () { this.__leftExtension = this.__bottomExtension = 0; this.__needSecondBitmapData = !0; this.__numShaderPasses = 0; this.__preserveObject = !1; this.__rightExtension = 0; this.__shaderBlendMode = 10; this.__topExtension = 0; this.__smooth = !0; }; k['openfl.filters.BitmapFilter'] = bj; bj.__name__ = 'openfl.filters.BitmapFilter'; bj.prototype = { __bottomExtension: null, __leftExtension: null, __needSecondBitmapData: null, __numShaderPasses: null, __preserveObject: null, __renderDirty: null, __rightExtension: null, __shaderBlendMode: null, __smooth: null, __topExtension: null, clone: function () { return new bj(); }, __applyFilter: function (a, b, c, e) { return b; }, __initShader: function (a, b, c) { return null; }, __class__: bj }; var cj = function (a) { null == this.__glFragmentSource && (this.__glFragmentSource = 'varying vec2 openfl_TextureCoordv;\n\n\t\tuniform sampler2D openfl_Texture;\n\t\tuniform vec2 openfl_TextureSize;\n\n\t\tvoid main(void) {\n\n\t\t\tgl_FragColor = texture2D (openfl_Texture, openfl_TextureCoordv);\n\n\t\t}'); null == this.__glVertexSource && (this.__glVertexSource = 'attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform vec2 openfl_TextureSize;\n\n\t\tvoid main(void) {\n\n\t\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\n\t\tgl_Position = openfl_Matrix * openfl_Position;\n\n\t\t}'); af.call(this, a); this.__isGenerated = !0; this.__initGL(); }; k['openfl.filters.BitmapFilterShader'] = cj; cj.__name__ = 'openfl.filters.BitmapFilterShader'; cj.__super__ = af; cj.prototype = t(af.prototype, { openfl_Position: null, openfl_TextureCoord: null, openfl_Matrix: null, openfl_TextureSize: null, openfl_Texture: null, __class__: cj }); var ek = function () { null == this.__glFragmentSource && (this.__glFragmentSource = 'varying vec2 openfl_TextureCoordv;\n\t\tuniform sampler2D openfl_Texture;\n\n\t\tuniform mat4 uMultipliers;\n\t\tuniform vec4 uOffsets;\n\n\t\tvoid main(void) {\n\n\t\t\tvec4 color = texture2D (openfl_Texture, openfl_TextureCoordv);\n\n\t\t\tif (color.a == 0.0) {\n\n\t\t\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\n\n\t\t\t} else {\n\n\t\t\t\tcolor = vec4 (color.rgb / color.a, color.a);\n\t\t\t\tcolor = uOffsets + color * uMultipliers;\n\n\t\t\t\tgl_FragColor = vec4 (color.rgb * color.a, color.a);\n\n\t\t\t}\n\n\t\t}'); null == this.__glVertexSource && (this.__glVertexSource = 'attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform vec2 openfl_TextureSize;\n\n\n\t\tvoid main(void) {\n\n\t\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\n\t\tgl_Position = openfl_Matrix * openfl_Position;\n\n\n\t\t}'); cj.call(this); this.uMultipliers.value = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; this.uOffsets.value = [0, 0, 0, 0]; this.__isGenerated = !0; this.__initGL(); }; k['openfl.filters._ColorMatrixFilter.ColorMatrixShader'] = ek; ek.__name__ = 'openfl.filters._ColorMatrixFilter.ColorMatrixShader'; ek.__super__ = cj; ek.prototype = t(cj.prototype, { init: function (a) { var b = this.uMultipliers.value, c = this.uOffsets.value; b[0] = a[0]; b[1] = a[1]; b[2] = a[2]; b[3] = a[3]; b[4] = a[5]; b[5] = a[6]; b[6] = a[7]; b[7] = a[8]; b[8] = a[10]; b[9] = a[11]; b[10] = a[12]; b[11] = a[13]; b[12] = a[15]; b[13] = a[16]; b[14] = a[17]; b[15] = a[18]; c[0] = a[4] / 255; c[1] = a[9] / 255; c[2] = a[14] / 255; c[3] = a[19] / 255; }, uMultipliers: null, uOffsets: null, __class__: ek }); var hg = function (a) { bj.call(this); this.set_matrix(a); this.__numShaderPasses = 1; this.__needSecondBitmapData = !1; }; k['openfl.filters.ColorMatrixFilter'] = hg; hg.__name__ = 'openfl.filters.ColorMatrixFilter'; hg.__super__ = bj; hg.prototype = t(bj.prototype, { __matrix: null, clone: function () { return new hg(this.__matrix); }, __applyFilter: function (a, b, c, e) { var d = b.image, g = a.image; za.convertToData(d); za.convertToData(g); var l = d.get_data(), h = g.get_data(), k = (e.x - c.x) | 0; e = (e.y - c.y) | 0; b = 4 * b.width; var r = 4 * a.width, n = d.buffer.format, p = g.buffer.format; d = d.buffer.premultiplied; g = g.buffer.premultiplied; for (var u, m = 0, t, x, v = c.y | 0, w = c.height | 0; v < w; ) for (var G = v++, B = c.x | 0, N = c.width | 0; B < N; ) { x = B++; t = G * b + 4 * x; x = (G + k) * r + 4 * (x + e); var H = n, z = d; null == z && (z = !1); null == H && (H = 0); switch (H) { case 0: u = ((l[t] & 255) << 24) | ((l[t + 1] & 255) << 16) | ((l[t + 2] & 255) << 8) | (l[t + 3] & 255); break; case 1: u = ((l[t + 1] & 255) << 24) | ((l[t + 2] & 255) << 16) | ((l[t + 3] & 255) << 8) | (l[t] & 255); break; case 2: u = ((l[t + 2] & 255) << 24) | ((l[t + 1] & 255) << 16) | ((l[t] & 255) << 8) | (l[t + 3] & 255); } z && 0 != (u & 255) && 255 != (u & 255) && ((O.unmult = 255 / (u & 255)), (u = ((O.__clamp[Math.round(((u >>> 24) & 255) * O.unmult)] & 255) << 24) | ((O.__clamp[Math.round(((u >>> 16) & 255) * O.unmult)] & 255) << 16) | ((O.__clamp[Math.round(((u >>> 8) & 255) * O.unmult)] & 255) << 8) | (u & 255))); 0 == (u & 255) ? (m = 0) : ((m = (((Math.max( 0, Math.min( this.__matrix[0] * ((u >>> 24) & 255) + this.__matrix[1] * ((u >>> 16) & 255) + this.__matrix[2] * ((u >>> 8) & 255) + this.__matrix[3] * (u & 255) + this.__matrix[4], 255 ) ) | 0) & 255) << 24) | (((m >>> 16) & 255) << 16) | (((m >>> 8) & 255) << 8) | (m & 255)), (m = (((m >>> 24) & 255) << 24) | (((Math.max( 0, Math.min( this.__matrix[5] * ((u >>> 24) & 255) + this.__matrix[6] * ((u >>> 16) & 255) + this.__matrix[7] * ((u >>> 8) & 255) + this.__matrix[8] * (u & 255) + this.__matrix[9], 255 ) ) | 0) & 255) << 16) | (((m >>> 8) & 255) << 8) | (m & 255)), (m = (((m >>> 24) & 255) << 24) | (((m >>> 16) & 255) << 16) | (((Math.max( 0, Math.min( this.__matrix[10] * ((u >>> 24) & 255) + this.__matrix[11] * ((u >>> 16) & 255) + this.__matrix[12] * ((u >>> 8) & 255) + this.__matrix[13] * (u & 255) + this.__matrix[14], 255 ) ) | 0) & 255) << 8) | (m & 255)), (m = (((m >>> 24) & 255) << 24) | (((m >>> 16) & 255) << 16) | (((m >>> 8) & 255) << 8) | ((Math.max( 0, Math.min( this.__matrix[15] * ((u >>> 24) & 255) + this.__matrix[16] * ((u >>> 16) & 255) + this.__matrix[17] * ((u >>> 8) & 255) + this.__matrix[18] * (u & 255) + this.__matrix[19], 255 ) ) | 0) & 255))); t = p; H = g; null == H && (H = !1); null == t && (t = 0); H && (0 == (m & 255) ? 0 != m && (m = 0) : 255 != (m & 255) && ((O.a16 = O.__alpha16[m & 255]), (m = ((((((m >>> 24) & 255) * O.a16) >> 16) & 255) << 24) | ((((((m >>> 16) & 255) * O.a16) >> 16) & 255) << 16) | ((((((m >>> 8) & 255) * O.a16) >> 16) & 255) << 8) | (m & 255)))); switch (t) { case 0: h[x] = (m >>> 24) & 255; h[x + 1] = (m >>> 16) & 255; h[x + 2] = (m >>> 8) & 255; h[x + 3] = m & 255; break; case 1: h[x] = m & 255; h[x + 1] = (m >>> 24) & 255; h[x + 2] = (m >>> 16) & 255; h[x + 3] = (m >>> 8) & 255; break; case 2: (h[x] = (m >>> 8) & 255), (h[x + 1] = (m >>> 16) & 255), (h[x + 2] = (m >>> 24) & 255), (h[x + 3] = m & 255); } } a.image.dirty = !0; return a; }, __initShader: function (a, b, c) { hg.__colorMatrixShader.init(this.get_matrix()); return hg.__colorMatrixShader; }, get_matrix: function () { return this.__matrix; }, set_matrix: function (a) { null == a && (a = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]); return (this.__matrix = a); }, __class__: hg, __properties__: { set_matrix: 'set_matrix', get_matrix: 'get_matrix' } }); var be = function (a) { null != a && 16 == a.get_length() ? (this.rawData = a.concat(null)) : (this.rawData = Ab.toFloatVector( null, null, null, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1] )); }; k['openfl.geom.Matrix3D'] = be; be.__name__ = 'openfl.geom.Matrix3D'; be.create2D = function (a, b, c, e) { null == e && (e = 0); null == c && (c = 1); var d = (e * Math.PI) / 180; e = Math.cos(d); d = Math.sin(d); return new be( Ab.toFloatVector(null, null, null, [ e * c, -d * c, 0, 0, d * c, e * c, 0, 0, 0, 0, 1, 0, a, b, 0, 1 ]) ); }; be.createABCD = function (a, b, c, e, f, g) { return new be( Ab.toFloatVector(null, null, null, [a, b, 0, 0, c, e, 0, 0, 0, 0, 1, 0, f, g, 0, 1]) ); }; be.createOrtho = function (a, b, c, e, f, g) { var d = 1 / (b - a), h = 1 / (e - c), k = 1 / (g - f); return new be( Ab.toFloatVector(null, null, null, [ 2 * d, 0, 0, 0, 0, 2 * h, 0, 0, 0, 0, -2 * k, 0, -(a + b) * d, -(c + e) * h, -(f + g) * k, 1 ]) ); }; be.interpolate = function (a, b, c) { for (var d = new be(), f = 0; 16 > f; ) { var g = f++; d.rawData.set(g, a.rawData.get(g) + (b.rawData.get(g) - a.rawData.get(g)) * c); } return d; }; be.__getAxisRotation = function (a, b, c, e) { var d = new be(); a = new od(a, b, c); e = (Math.PI / 180) * -e; c = Math.cos(e); e = Math.sin(e); b = 1 - c; d.rawData.set(0, c + a.x * a.x * b); d.rawData.set(5, c + a.y * a.y * b); d.rawData.set(10, c + a.z * a.z * b); c = a.x * a.y * b; var g = a.z * e; d.rawData.set(4, c + g); d.rawData.set(1, c - g); c = a.x * a.z * b; g = a.y * e; d.rawData.set(8, c - g); d.rawData.set(2, c + g); c = a.y * a.z * b; g = a.x * e; d.rawData.set(9, c + g); d.rawData.set(6, c - g); return d; }; be.prototype = { rawData: null, append: function (a) { var b = this.rawData.get(0), c = this.rawData.get(4), e = this.rawData.get(8), f = this.rawData.get(12), g = this.rawData.get(1), l = this.rawData.get(5), h = this.rawData.get(9), k = this.rawData.get(13), r = this.rawData.get(2), n = this.rawData.get(6), p = this.rawData.get(10), u = this.rawData.get(14), m = this.rawData.get(3), t = this.rawData.get(7), x = this.rawData.get(11), v = this.rawData.get(15), w = a.rawData.get(0), G = a.rawData.get(4), B = a.rawData.get(8), N = a.rawData.get(12), H = a.rawData.get(1), z = a.rawData.get(5), E = a.rawData.get(9), C = a.rawData.get(13), D = a.rawData.get(2), ya = a.rawData.get(6), J = a.rawData.get(10), I = a.rawData.get(14), F = a.rawData.get(3), L = a.rawData.get(7), M = a.rawData.get(11); a = a.rawData.get(15); this.rawData.set(0, b * w + g * G + r * B + m * N); this.rawData.set(1, b * H + g * z + r * E + m * C); this.rawData.set(2, b * D + g * ya + r * J + m * I); this.rawData.set(3, b * F + g * L + r * M + m * a); this.rawData.set(4, c * w + l * G + n * B + t * N); this.rawData.set(5, c * H + l * z + n * E + t * C); this.rawData.set(6, c * D + l * ya + n * J + t * I); this.rawData.set(7, c * F + l * L + n * M + t * a); this.rawData.set(8, e * w + h * G + p * B + x * N); this.rawData.set(9, e * H + h * z + p * E + x * C); this.rawData.set(10, e * D + h * ya + p * J + x * I); this.rawData.set(11, e * F + h * L + p * M + x * a); this.rawData.set(12, f * w + k * G + u * B + v * N); this.rawData.set(13, f * H + k * z + u * E + v * C); this.rawData.set(14, f * D + k * ya + u * J + v * I); this.rawData.set(15, f * F + k * L + u * M + v * a); }, appendRotation: function (a, b, c) { var d = 0, f = d, g = f; null != c && ((g = c.x), (f = c.y), (d = c.z)); c = (a * Math.PI) / 180; a = Math.cos(c); c = Math.sin(c); var l = b.x, h = b.y; b = b.z; var k = l * l, r = h * h, n = b * b, p = k + r + n; if (0 != p) { var u = Math.sqrt(p); l /= u; h /= u; b /= u; k /= p; r /= p; n /= p; } p = 1 - a; u = new be(); var m = u.rawData; m.set(0, k + (r + n) * a); m.set(1, l * h * p + b * c); m.set(2, l * b * p - h * c); m.set(4, l * h * p - b * c); m.set(5, r + (k + n) * a); m.set(6, h * b * p + l * c); m.set(8, l * b * p + h * c); m.set(9, h * b * p - l * c); m.set(10, n + (k + r) * a); m.set(12, (g * (r + n) - l * (f * h + d * b)) * p + (f * b - d * h) * c); m.set(13, (f * (k + n) - h * (g * l + d * b)) * p + (d * l - g * b) * c); m.set(14, (d * (k + r) - b * (g * l + f * h)) * p + (g * h - f * l) * c); this.append(u); }, appendScale: function (a, b, c) { this.append( new be( Ab.toFloatVector(null, null, null, [a, 0, 0, 0, 0, b, 0, 0, 0, 0, c, 0, 0, 0, 0, 1]) ) ); }, appendTranslation: function (a, b, c) { var d = this.rawData; d.set(12, d.get(12) + a); d = this.rawData; d.set(13, d.get(13) + b); d = this.rawData; d.set(14, d.get(14) + c); }, clone: function () { return new be(this.rawData.copy()); }, copyColumnFrom: function (a, b) { switch (a) { case 0: this.rawData.set(0, b.x); this.rawData.set(1, b.y); this.rawData.set(2, b.z); this.rawData.set(3, b.w); break; case 1: this.rawData.set(4, b.x); this.rawData.set(5, b.y); this.rawData.set(6, b.z); this.rawData.set(7, b.w); break; case 2: this.rawData.set(8, b.x); this.rawData.set(9, b.y); this.rawData.set(10, b.z); this.rawData.set(11, b.w); break; case 3: this.rawData.set(12, b.x), this.rawData.set(13, b.y), this.rawData.set(14, b.z), this.rawData.set(15, b.w); } }, copyColumnTo: function (a, b) { switch (a) { case 0: b.x = this.rawData.get(0); b.y = this.rawData.get(1); b.z = this.rawData.get(2); b.w = this.rawData.get(3); break; case 1: b.x = this.rawData.get(4); b.y = this.rawData.get(5); b.z = this.rawData.get(6); b.w = this.rawData.get(7); break; case 2: b.x = this.rawData.get(8); b.y = this.rawData.get(9); b.z = this.rawData.get(10); b.w = this.rawData.get(11); break; case 3: (b.x = this.rawData.get(12)), (b.y = this.rawData.get(13)), (b.z = this.rawData.get(14)), (b.w = this.rawData.get(15)); } }, copyFrom: function (a) { this.rawData = a.rawData.copy(); }, copyRawDataFrom: function (a, b, c) { null == c && (c = !1); null == b && (b = 0); c && this.transpose(); for (var d = 0, f = a.get_length() - b; d < f; ) { var g = d++; this.rawData.set(g, a.get(g + b)); } c && this.transpose(); }, copyRawDataTo: function (a, b, c) { null == c && (c = !1); null == b && (b = 0); c && this.transpose(); for (var d = 0, f = this.rawData.get_length(); d < f; ) { var g = d++; a.set(g + b, this.rawData.get(g)); } c && this.transpose(); }, copyRowFrom: function (a, b) { switch (a) { case 0: this.rawData.set(0, b.x); this.rawData.set(4, b.y); this.rawData.set(8, b.z); this.rawData.set(12, b.w); break; case 1: this.rawData.set(1, b.x); this.rawData.set(5, b.y); this.rawData.set(9, b.z); this.rawData.set(13, b.w); break; case 2: this.rawData.set(2, b.x); this.rawData.set(6, b.y); this.rawData.set(10, b.z); this.rawData.set(14, b.w); break; case 3: this.rawData.set(3, b.x), this.rawData.set(7, b.y), this.rawData.set(11, b.z), this.rawData.set(15, b.w); } }, copyRowTo: function (a, b) { switch (a) { case 0: b.x = this.rawData.get(0); b.y = this.rawData.get(4); b.z = this.rawData.get(8); b.w = this.rawData.get(12); break; case 1: b.x = this.rawData.get(1); b.y = this.rawData.get(5); b.z = this.rawData.get(9); b.w = this.rawData.get(13); break; case 2: b.x = this.rawData.get(2); b.y = this.rawData.get(6); b.z = this.rawData.get(10); b.w = this.rawData.get(14); break; case 3: (b.x = this.rawData.get(3)), (b.y = this.rawData.get(7)), (b.z = this.rawData.get(11)), (b.w = this.rawData.get(15)); } }, copyToMatrix3D: function (a) { a.rawData = this.rawData.copy(); }, decompose: function (a) { null == a && (a = 1); var b = Ab.toObjectVector(null), c = this.clone().rawData.copy(), e = new od(c.get(12), c.get(13), c.get(14)); c.set(12, 0); c.set(13, 0); c.set(14, 0); var f = new od(); f.x = Math.sqrt(c.get(0) * c.get(0) + c.get(1) * c.get(1) + c.get(2) * c.get(2)); f.y = Math.sqrt(c.get(4) * c.get(4) + c.get(5) * c.get(5) + c.get(6) * c.get(6)); f.z = Math.sqrt(c.get(8) * c.get(8) + c.get(9) * c.get(9) + c.get(10) * c.get(10)); 0 > c.get(0) * (c.get(5) * c.get(10) - c.get(6) * c.get(9)) - c.get(1) * (c.get(4) * c.get(10) - c.get(6) * c.get(8)) + c.get(2) * (c.get(4) * c.get(9) - c.get(5) * c.get(8)) && (f.z = -f.z); var g = c; g.set(0, g.get(0) / f.x); g = c; g.set(1, g.get(1) / f.x); g = c; g.set(2, g.get(2) / f.x); g = c; g.set(4, g.get(4) / f.y); g = c; g.set(5, g.get(5) / f.y); g = c; g.set(6, g.get(6) / f.y); g = c; g.set(8, g.get(8) / f.z); g = c; g.set(9, g.get(9) / f.z); g = c; g.set(10, g.get(10) / f.z); g = new od(); switch (a) { case 0: g.w = Math.acos((c.get(0) + c.get(5) + c.get(10) - 1) / 2); a = Math.sqrt( (c.get(6) - c.get(9)) * (c.get(6) - c.get(9)) + (c.get(8) - c.get(2)) * (c.get(8) - c.get(2)) + (c.get(1) - c.get(4)) * (c.get(1) - c.get(4)) ); 0 != a ? ((g.x = (c.get(6) - c.get(9)) / a), (g.y = (c.get(8) - c.get(2)) / a), (g.z = (c.get(1) - c.get(4)) / a)) : (g.x = g.y = g.z = 0); break; case 1: g.y = Math.asin(-c.get(2)); 1 != c.get(2) && -1 != c.get(2) ? ((g.x = Math.atan2(c.get(6), c.get(10))), (g.z = Math.atan2(c.get(1), c.get(0)))) : ((g.z = 0), (g.x = Math.atan2(c.get(4), c.get(5)))); break; case 2: (a = c.get(0) + c.get(5) + c.get(10)), 0 < a ? ((g.w = Math.sqrt(1 + a) / 2), (g.x = (c.get(6) - c.get(9)) / (4 * g.w)), (g.y = (c.get(8) - c.get(2)) / (4 * g.w)), (g.z = (c.get(1) - c.get(4)) / (4 * g.w))) : c.get(0) > c.get(5) && c.get(0) > c.get(10) ? ((g.x = Math.sqrt(1 + c.get(0) - c.get(5) - c.get(10)) / 2), (g.w = (c.get(6) - c.get(9)) / (4 * g.x)), (g.y = (c.get(1) + c.get(4)) / (4 * g.x)), (g.z = (c.get(8) + c.get(2)) / (4 * g.x))) : c.get(5) > c.get(10) ? ((g.y = Math.sqrt(1 + c.get(5) - c.get(0) - c.get(10)) / 2), (g.x = (c.get(1) + c.get(4)) / (4 * g.y)), (g.w = (c.get(8) - c.get(2)) / (4 * g.y)), (g.z = (c.get(6) + c.get(9)) / (4 * g.y))) : ((g.z = Math.sqrt(1 + c.get(10) - c.get(0) - c.get(5)) / 2), (g.x = (c.get(8) + c.get(2)) / (4 * g.z)), (g.y = (c.get(6) + c.get(9)) / (4 * g.z)), (g.w = (c.get(1) - c.get(4)) / (4 * g.z))); } b.push(e); b.push(g); b.push(f); return b; }, deltaTransformVector: function (a) { var b = a.x, c = a.y; a = a.z; return new od( b * this.rawData.get(0) + c * this.rawData.get(4) + a * this.rawData.get(8), b * this.rawData.get(1) + c * this.rawData.get(5) + a * this.rawData.get(9), b * this.rawData.get(2) + c * this.rawData.get(6) + a * this.rawData.get(10), b * this.rawData.get(3) + c * this.rawData.get(7) + a * this.rawData.get(11) ); }, identity: function () { this.rawData = Ab.toFloatVector( null, null, null, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1] ); }, interpolateTo: function (a, b) { for (var c = 0; 16 > c; ) { var e = c++; this.rawData.set(e, this.rawData.get(e) + (a.rawData.get(e) - this.rawData.get(e)) * b); } }, invert: function () { var a = this.get_determinant(), b = 1e-11 < Math.abs(a); if (b) { a = 1 / a; var c = this.rawData.get(0), e = this.rawData.get(4), f = this.rawData.get(8), g = this.rawData.get(12), l = this.rawData.get(1), h = this.rawData.get(5), k = this.rawData.get(9), r = this.rawData.get(13), n = this.rawData.get(2), p = this.rawData.get(6), u = this.rawData.get(10), m = this.rawData.get(14), t = this.rawData.get(3), x = this.rawData.get(7), v = this.rawData.get(11), w = this.rawData.get(15); this.rawData.set( 0, a * (h * (u * w - m * v) - k * (p * w - m * x) + r * (p * v - u * x)) ); this.rawData.set( 1, -a * (l * (u * w - m * v) - k * (n * w - m * t) + r * (n * v - u * t)) ); this.rawData.set( 2, a * (l * (p * w - m * x) - h * (n * w - m * t) + r * (n * x - p * t)) ); this.rawData.set( 3, -a * (l * (p * v - u * x) - h * (n * v - u * t) + k * (n * x - p * t)) ); this.rawData.set( 4, -a * (e * (u * w - m * v) - f * (p * w - m * x) + g * (p * v - u * x)) ); this.rawData.set( 5, a * (c * (u * w - m * v) - f * (n * w - m * t) + g * (n * v - u * t)) ); this.rawData.set( 6, -a * (c * (p * w - m * x) - e * (n * w - m * t) + g * (n * x - p * t)) ); this.rawData.set( 7, a * (c * (p * v - u * x) - e * (n * v - u * t) + f * (n * x - p * t)) ); this.rawData.set( 8, a * (e * (k * w - r * v) - f * (h * w - r * x) + g * (h * v - k * x)) ); this.rawData.set( 9, -a * (c * (k * w - r * v) - f * (l * w - r * t) + g * (l * v - k * t)) ); this.rawData.set( 10, a * (c * (h * w - r * x) - e * (l * w - r * t) + g * (l * x - h * t)) ); this.rawData.set( 11, -a * (c * (h * v - k * x) - e * (l * v - k * t) + f * (l * x - h * t)) ); this.rawData.set( 12, -a * (e * (k * m - r * u) - f * (h * m - r * p) + g * (h * u - k * p)) ); this.rawData.set( 13, a * (c * (k * m - r * u) - f * (l * m - r * n) + g * (l * u - k * n)) ); this.rawData.set( 14, -a * (c * (h * m - r * p) - e * (l * m - r * n) + g * (l * p - h * n)) ); this.rawData.set( 15, a * (c * (h * u - k * p) - e * (l * u - k * n) + f * (l * p - h * n)) ); } return b; }, pointAt: function (a, b, c) { null == b && (b = new od(0, 0, -1)); null == c && (c = new od(0, -1, 0)); b = b.subtract(a); c = c.clone(); b.normalize(); c.normalize(); var d = b.clone(); d.scaleBy(c.dotProduct(b)); c = c.subtract(d); 0 < c.get_length() ? c.normalize() : (c = 0 != b.x ? new od(-b.y, b.x, 0) : new od(1, 0, 0)); d = c.crossProduct(b); d.normalize(); this.rawData.set(0, d.x); this.rawData.set(4, d.y); this.rawData.set(8, d.z); this.rawData.set(12, 0); this.rawData.set(1, c.x); this.rawData.set(5, c.y); this.rawData.set(9, c.z); this.rawData.set(13, 0); this.rawData.set(2, b.x); this.rawData.set(6, b.y); this.rawData.set(10, b.z); this.rawData.set(14, 0); this.rawData.set(3, a.x); this.rawData.set(7, a.y); this.rawData.set(11, a.z); this.rawData.set(15, 1); }, prepend: function (a) { var b = a.rawData.get(0), c = a.rawData.get(4), e = a.rawData.get(8), f = a.rawData.get(12), g = a.rawData.get(1), l = a.rawData.get(5), h = a.rawData.get(9), k = a.rawData.get(13), r = a.rawData.get(2), n = a.rawData.get(6), p = a.rawData.get(10), u = a.rawData.get(14), m = a.rawData.get(3), t = a.rawData.get(7), x = a.rawData.get(11); a = a.rawData.get(15); var v = this.rawData.get(0), w = this.rawData.get(4), G = this.rawData.get(8), B = this.rawData.get(12), N = this.rawData.get(1), H = this.rawData.get(5), z = this.rawData.get(9), E = this.rawData.get(13), C = this.rawData.get(2), D = this.rawData.get(6), ya = this.rawData.get(10), J = this.rawData.get(14), I = this.rawData.get(3), F = this.rawData.get(7), L = this.rawData.get(11), M = this.rawData.get(15); this.rawData.set(0, b * v + g * w + r * G + m * B); this.rawData.set(1, b * N + g * H + r * z + m * E); this.rawData.set(2, b * C + g * D + r * ya + m * J); this.rawData.set(3, b * I + g * F + r * L + m * M); this.rawData.set(4, c * v + l * w + n * G + t * B); this.rawData.set(5, c * N + l * H + n * z + t * E); this.rawData.set(6, c * C + l * D + n * ya + t * J); this.rawData.set(7, c * I + l * F + n * L + t * M); this.rawData.set(8, e * v + h * w + p * G + x * B); this.rawData.set(9, e * N + h * H + p * z + x * E); this.rawData.set(10, e * C + h * D + p * ya + x * J); this.rawData.set(11, e * I + h * F + p * L + x * M); this.rawData.set(12, f * v + k * w + u * G + a * B); this.rawData.set(13, f * N + k * H + u * z + a * E); this.rawData.set(14, f * C + k * D + u * ya + a * J); this.rawData.set(15, f * I + k * F + u * L + a * M); }, prependRotation: function (a, b, c) { var d = 0, f = d, g = f; null != c && ((g = c.x), (f = c.y), (d = c.z)); c = (a * Math.PI) / 180; a = Math.cos(c); c = Math.sin(c); var l = b.x, h = b.y; b = b.z; var k = l * l, r = h * h, n = b * b, p = k + r + n; if (0 != p) { var u = Math.sqrt(p); l /= u; h /= u; b /= u; k /= p; r /= p; n /= p; } p = 1 - a; u = new be(); var m = u.rawData; m.set(0, k + (r + n) * a); m.set(1, l * h * p + b * c); m.set(2, l * b * p - h * c); m.set(4, l * h * p - b * c); m.set(5, r + (k + n) * a); m.set(6, h * b * p + l * c); m.set(8, l * b * p + h * c); m.set(9, h * b * p - l * c); m.set(10, n + (k + r) * a); m.set(12, (g * (r + n) - l * (f * h + d * b)) * p + (f * b - d * h) * c); m.set(13, (f * (k + n) - h * (g * l + d * b)) * p + (d * l - g * b) * c); m.set(14, (d * (k + r) - b * (g * l + f * h)) * p + (g * h - f * l) * c); this.prepend(u); }, prependScale: function (a, b, c) { this.prepend( new be( Ab.toFloatVector(null, null, null, [a, 0, 0, 0, 0, b, 0, 0, 0, 0, c, 0, 0, 0, 0, 1]) ) ); }, prependTranslation: function (a, b, c) { var d = new be(); d.set_position(new od(a, b, c)); this.prepend(d); }, recompose: function (a, b) { null == b && (b = 1); if (3 > a.get_length() || 0 == a.get(2).x || 0 == a.get(2).y || 0 == a.get(2).z) return !1; this.identity(); var c = []; c[0] = c[1] = c[2] = a.get(2).x; c[4] = c[5] = c[6] = a.get(2).y; c[8] = c[9] = c[10] = a.get(2).z; if (1 == b) { b = Math.cos(a.get(1).x); var e = Math.cos(a.get(1).y), f = Math.cos(a.get(1).z), g = Math.sin(a.get(1).x), l = Math.sin(a.get(1).y), h = Math.sin(a.get(1).z); this.rawData.set(0, e * f * c[0]); this.rawData.set(1, e * h * c[1]); this.rawData.set(2, -l * c[2]); this.rawData.set(3, 0); this.rawData.set(4, (g * l * f - b * h) * c[4]); this.rawData.set(5, (g * l * h + b * f) * c[5]); this.rawData.set(6, g * e * c[6]); this.rawData.set(7, 0); this.rawData.set(8, (b * l * f + g * h) * c[8]); this.rawData.set(9, (b * l * h - g * f) * c[9]); this.rawData.set(10, b * e * c[10]); } else (e = a.get(1).x), (f = a.get(1).y), (g = a.get(1).z), (l = a.get(1).w), 0 == b && ((e *= Math.sin(l / 2)), (f *= Math.sin(l / 2)), (g *= Math.sin(l / 2)), (l = Math.cos(l / 2))), this.rawData.set(0, (1 - 2 * f * f - 2 * g * g) * c[0]), this.rawData.set(1, (2 * e * f + 2 * l * g) * c[1]), this.rawData.set(2, (2 * e * g - 2 * l * f) * c[2]), this.rawData.set(3, 0), this.rawData.set(4, (2 * e * f - 2 * l * g) * c[4]), this.rawData.set(5, (1 - 2 * e * e - 2 * g * g) * c[5]), this.rawData.set(6, (2 * f * g + 2 * l * e) * c[6]), this.rawData.set(7, 0), this.rawData.set(8, (2 * e * g + 2 * l * f) * c[8]), this.rawData.set(9, (2 * f * g - 2 * l * e) * c[9]), this.rawData.set(10, (1 - 2 * e * e - 2 * f * f) * c[10]); this.rawData.set(11, 0); this.rawData.set(12, a.get(0).x); this.rawData.set(13, a.get(0).y); this.rawData.set(14, a.get(0).z); this.rawData.set(15, 1); 0 == a.get(2).x && this.rawData.set(0, 1e-15); 0 == a.get(2).y && this.rawData.set(5, 1e-15); 0 == a.get(2).z && this.rawData.set(10, 1e-15); return !(0 == a.get(2).x || 0 == a.get(2).y || 0 == a.get(2).y); }, transformVector: function (a) { var b = a.x, c = a.y; a = a.z; return new od( b * this.rawData.get(0) + c * this.rawData.get(4) + a * this.rawData.get(8) + this.rawData.get(12), b * this.rawData.get(1) + c * this.rawData.get(5) + a * this.rawData.get(9) + this.rawData.get(13), b * this.rawData.get(2) + c * this.rawData.get(6) + a * this.rawData.get(10) + this.rawData.get(14), b * this.rawData.get(3) + c * this.rawData.get(7) + a * this.rawData.get(11) + this.rawData.get(15) ); }, transformVectors: function (a, b) { for (var c = 0, e, f, g; c + 3 <= a.get_length(); ) (e = a.get(c)), (f = a.get(c + 1)), (g = a.get(c + 2)), b.set( c, e * this.rawData.get(0) + f * this.rawData.get(4) + g * this.rawData.get(8) + this.rawData.get(12) ), b.set( c + 1, e * this.rawData.get(1) + f * this.rawData.get(5) + g * this.rawData.get(9) + this.rawData.get(13) ), b.set( c + 2, e * this.rawData.get(2) + f * this.rawData.get(6) + g * this.rawData.get(10) + this.rawData.get(14) ), (c += 3); }, transpose: function () { var a = this.rawData.copy(); this.rawData.set(1, a.get(4)); this.rawData.set(2, a.get(8)); this.rawData.set(3, a.get(12)); this.rawData.set(4, a.get(1)); this.rawData.set(6, a.get(9)); this.rawData.set(7, a.get(13)); this.rawData.set(8, a.get(2)); this.rawData.set(9, a.get(6)); this.rawData.set(11, a.get(14)); this.rawData.set(12, a.get(3)); this.rawData.set(13, a.get(7)); this.rawData.set(14, a.get(11)); }, get_determinant: function () { return ( (this.rawData.get(0) * this.rawData.get(5) - this.rawData.get(4) * this.rawData.get(1)) * (this.rawData.get(10) * this.rawData.get(15) - this.rawData.get(14) * this.rawData.get(11)) - (this.rawData.get(0) * this.rawData.get(9) - this.rawData.get(8) * this.rawData.get(1)) * (this.rawData.get(6) * this.rawData.get(15) - this.rawData.get(14) * this.rawData.get(7)) + (this.rawData.get(0) * this.rawData.get(13) - this.rawData.get(12) * this.rawData.get(1)) * (this.rawData.get(6) * this.rawData.get(11) - this.rawData.get(10) * this.rawData.get(7)) + (this.rawData.get(4) * this.rawData.get(9) - this.rawData.get(8) * this.rawData.get(5)) * (this.rawData.get(2) * this.rawData.get(15) - this.rawData.get(14) * this.rawData.get(3)) - (this.rawData.get(4) * this.rawData.get(13) - this.rawData.get(12) * this.rawData.get(5)) * (this.rawData.get(2) * this.rawData.get(11) - this.rawData.get(10) * this.rawData.get(3)) + (this.rawData.get(8) * this.rawData.get(13) - this.rawData.get(12) * this.rawData.get(9)) * (this.rawData.get(2) * this.rawData.get(7) - this.rawData.get(6) * this.rawData.get(3)) ); }, get_position: function () { return new od(this.rawData.get(12), this.rawData.get(13), this.rawData.get(14)); }, set_position: function (a) { this.rawData.set(12, a.x); this.rawData.set(13, a.y); this.rawData.set(14, a.z); return a; }, __class__: be, __properties__: { set_position: 'set_position', get_position: 'get_position', get_determinant: 'get_determinant' } }; var rk = function (a) { this.__colorTransform = new Kc(); this.concatenatedColorTransform = new Kc(); this.pixelBounds = new ea(); this.__displayObject = a; this.__hasMatrix = !0; }; k['openfl.geom.Transform'] = rk; rk.__name__ = 'openfl.geom.Transform'; rk.prototype = { concatenatedColorTransform: null, pixelBounds: null, __colorTransform: null, __displayObject: null, __hasMatrix: null, __hasMatrix3D: null, get_colorTransform: function () { return this.__colorTransform; }, set_colorTransform: function (a) { this.__colorTransform.__equals(a, !1) || (this.__colorTransform.__copyFrom(a), null != a && this.__displayObject.set_alpha(a.alphaMultiplier), (a = this.__displayObject), a.__renderDirty || ((a.__renderDirty = !0), a.__setParentRenderDirty())); return this.__colorTransform; }, get_concatenatedMatrix: function () { return this.__hasMatrix ? this.__displayObject.__getWorldTransform().clone() : null; }, get_matrix: function () { return this.__hasMatrix ? this.__displayObject.__transform.clone() : null; }, set_matrix: function (a) { if (null == a) return (this.__hasMatrix = !1), null; this.__hasMatrix = !0; this.__hasMatrix3D = !1; null != this.__displayObject && this.__setTransform(a.a, a.b, a.c, a.d, a.tx, a.ty); return a; }, get_matrix3D: function () { if (this.__hasMatrix3D) { var a = this.__displayObject.__transform; return new be( Ab.toFloatVector(null, null, null, [ a.a, a.b, 0, 0, a.c, a.d, 0, 0, 0, 0, 1, 0, a.tx, a.ty, 0, 1 ]) ); } return null; }, set_matrix3D: function (a) { if (null == a) return (this.__hasMatrix3D = !1), null; this.__hasMatrix = !1; this.__hasMatrix3D = !0; this.__setTransform( a.rawData.get(0), a.rawData.get(1), a.rawData.get(5), a.rawData.get(6), a.rawData.get(12), a.rawData.get(13) ); return a; }, __setTransform: function (a, b, c, e, f, g) { if (null != this.__displayObject) { var d = this.__displayObject.__transform; if (d.a != a || d.b != b || d.c != c || d.d != e || d.tx != f || d.ty != g) { var h = 0 == b ? a : Math.sqrt(a * a + b * b); var k = 0 == c ? e : Math.sqrt(c * c + e * e); this.__displayObject.__scaleX = h; this.__displayObject.__scaleY = k; h = (180 / Math.PI) * Math.atan2(e, c) - 90; h != this.__displayObject.__rotation && ((this.__displayObject.__rotation = h), (h *= Math.PI / 180), (this.__displayObject.__rotationSine = Math.sin(h)), (this.__displayObject.__rotationCosine = Math.cos(h))); d.a = a; d.b = b; d.c = c; d.d = e; d.tx = f; d.ty = g; this.__displayObject.__setTransformDirty(); } } }, __class__: rk, __properties__: { set_matrix3D: 'set_matrix3D', get_matrix3D: 'get_matrix3D', set_matrix: 'set_matrix', get_matrix: 'get_matrix', get_concatenatedMatrix: 'get_concatenatedMatrix', set_colorTransform: 'set_colorTransform', get_colorTransform: 'get_colorTransform' } }; var od = function (a, b, c, e) { null == e && (e = 0); null == c && (c = 0); null == b && (b = 0); null == a && (a = 0); this.w = e; this.x = a; this.y = b; this.z = c; }; k['openfl.geom.Vector3D'] = od; od.__name__ = 'openfl.geom.Vector3D'; od.__properties__ = { get_Z_AXIS: 'get_Z_AXIS', get_Y_AXIS: 'get_Y_AXIS', get_X_AXIS: 'get_X_AXIS' }; od.angleBetween = function (a, b) { var c = a.get_length(), e = b.get_length(); a = a.dotProduct(b); 0 != c && (a /= c); 0 != e && (a /= e); return Math.acos(a); }; od.distance = function (a, b) { var c = b.x - a.x, e = b.y - a.y; a = b.z - a.z; return Math.sqrt(c * c + e * e + a * a); }; od.get_X_AXIS = function () { return new od(1, 0, 0); }; od.get_Y_AXIS = function () { return new od(0, 1, 0); }; od.get_Z_AXIS = function () { return new od(0, 0, 1); }; od.prototype = { w: null, x: null, y: null, z: null, add: function (a) { return new od(this.x + a.x, this.y + a.y, this.z + a.z); }, clone: function () { return new od(this.x, this.y, this.z, this.w); }, copyFrom: function (a) { this.x = a.x; this.y = a.y; this.z = a.z; }, crossProduct: function (a) { return new od( this.y * a.z - this.z * a.y, this.z * a.x - this.x * a.z, this.x * a.y - this.y * a.x, 1 ); }, decrementBy: function (a) { this.x -= a.x; this.y -= a.y; this.z -= a.z; }, dotProduct: function (a) { return this.x * a.x + this.y * a.y + this.z * a.z; }, equals: function (a, b) { null == b && (b = !1); return this.x == a.x && this.y == a.y && this.z == a.z ? (b ? this.w == a.w : !0) : !1; }, incrementBy: function (a) { this.x += a.x; this.y += a.y; this.z += a.z; }, nearEquals: function (a, b, c) { null == c && (c = !1); return Math.abs(this.x - a.x) < b && Math.abs(this.y - a.y) < b && Math.abs(this.z - a.z) < b ? c ? Math.abs(this.w - a.w) < b : !0 : !1; }, negate: function () { this.x *= -1; this.y *= -1; this.z *= -1; }, normalize: function () { var a = this.get_length(); 0 != a && ((this.x /= a), (this.y /= a), (this.z /= a)); return a; }, project: function () { this.x /= this.w; this.y /= this.w; this.z /= this.w; }, scaleBy: function (a) { this.x *= a; this.y *= a; this.z *= a; }, setTo: function (a, b, c) { this.x = a; this.y = b; this.z = c; }, subtract: function (a) { return new od(this.x - a.x, this.y - a.y, this.z - a.z); }, toString: function () { return 'Vector3D(' + this.x + ', ' + this.y + ', ' + this.z + ')'; }, get_length: function () { return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z); }, get_lengthSquared: function () { return this.x * this.x + this.y * this.y + this.z * this.z; }, __class__: od, __properties__: { get_lengthSquared: 'get_lengthSquared', get_length: 'get_length' } }; var fp = function () {}; k['openfl.media.ID3Info'] = fp; fp.__name__ = 'openfl.media.ID3Info'; fp.prototype = { album: null, artist: null, comment: null, genre: null, songName: null, track: null, year: null, __class__: fp }; var xf = function (a, b) { cb.call(this, this); this.bytesTotal = this.bytesLoaded = 0; this.isBuffering = !1; this.url = null; null != a && this.load(a, b); }; k['openfl.media.Sound'] = xf; xf.__name__ = 'openfl.media.Sound'; xf.fromAudioBuffer = function (a) { var b = new xf(); b.__buffer = a; return b; }; xf.fromFile = function (a) { return xf.fromAudioBuffer(Uc.fromFile(a)); }; xf.loadFromFile = function (a) { return Uc.loadFromFile(a).then(function (a) { return ib.withValue(xf.fromAudioBuffer(a)); }); }; xf.loadFromFiles = function (a) { return Uc.loadFromFiles(a).then(function (a) { return ib.withValue(xf.fromAudioBuffer(a)); }); }; xf.__super__ = cb; xf.prototype = t(cb.prototype, { bytesLoaded: null, bytesTotal: null, isBuffering: null, url: null, __buffer: null, close: function () { null != this.__buffer && (this.__buffer.dispose(), (this.__buffer = null)); }, load: function (a, b) { var c = this; this.url = a.url; a = sa.getLibrary('default'); if (null != a && Object.prototype.hasOwnProperty.call(a.cachedAudioBuffers.h, this.url)) this.AudioBuffer_onURLLoad(a.cachedAudioBuffers.h[this.url]); else Uc.loadFromFile(this.url) .onComplete(m(this, this.AudioBuffer_onURLLoad)) .onError(function (a) { c.AudioBuffer_onURLLoad(null); }); }, loadCompressedDataFromByteArray: function (a, b) { if (null == a || 0 >= b) this.dispatchEvent(new qg('ioError')); else { if (Ba.gt(a.position, 0) || Ba.gt(Bb.get_length(a), b)) { var c = b; null == c && (c = 0); var e = new nc(c), f = a.position; c = b; null == c && (c = 0); null == f && (f = 0); e.writeBytes(a, f, c); a = e; } this.__buffer = Uc.fromBytes(Bb.toBytes(a)); null == this.__buffer ? this.dispatchEvent(new qg('ioError')) : this.dispatchEvent(new oa('complete')); } }, loadPCMFromByteArray: function (a, b, c, e, f) { null == f && (f = 44100); null == e && (e = !0); null == c && (c = 'float'); if (null == a) this.dispatchEvent(new qg('ioError')); else { c = 'float' == c ? 32 : 16; e = e ? 2 : 1; b = ((c / 8) * e * b) | 0; if (Ba.gt(a.position, 0) || Ba.gt(Bb.get_length(a), b)) { var d = b; null == d && (d = 0); var l = (d = new nc(d)), h = a.position; d = b; null == d && (d = 0); null == h && (h = 0); l.writeBytes(a, h, d); a = l; } b = new Uc(); b.bitsPerSample = c; b.channels = e; a = Bb.toArrayBuffer(a); d = null != a ? new Uint8Array(a, 0) : null; b.data = d; b.sampleRate = f | 0; this.__buffer = b; this.dispatchEvent(new oa('complete')); } }, play: function (a, b, c) { null == b && (b = 0); null == a && (a = 0); if (null == this.__buffer || 32 <= sd.__soundChannels.length) return null; c = null == c ? new hf() : c.clone(); var d = sd.__soundTransform.pan + c.pan; 1 < d && (d = 1); -1 > d && (d = -1); var f = sd.__soundTransform.volume * c.volume, g = new Sj(this.__buffer); g.offset = a | 0; 1 < b && g.set_loops(b - 1); g.set_gain(f); 0 != d && g.set_pan(d); return new fn(g, c); }, get_id3: function () { return new fp(); }, get_length: function () { return null != this.__buffer ? (1e3 * this.__buffer.get_src().duration()) | 0 : 0; }, AudioBuffer_onURLLoad: function (a) { null == a ? this.dispatchEvent(new qg('ioError')) : ((this.__buffer = a), this.dispatchEvent(new oa('complete'))); }, __class__: xf, __properties__: { get_length: 'get_length', get_id3: 'get_id3' } }); var fn = function (a, b) { cb.call(this, this); this.rightPeak = this.leftPeak = 1; this.__soundTransform = null != b ? b : new hf(); null != a && ((this.__source = a), this.__source.onComplete.add(m(this, this.source_onComplete)), (this.__isValid = !0), this.__source.play()); sd.__registerSoundChannel(this); }; k['openfl.media.SoundChannel'] = fn; fn.__name__ = 'openfl.media.SoundChannel'; fn.__super__ = cb; fn.prototype = t(cb.prototype, { leftPeak: null, rightPeak: null, __isValid: null, __soundTransform: null, __source: null, stop: function () { sd.__unregisterSoundChannel(this); this.__isValid && (this.__source.stop(), this.__dispose()); }, __dispose: function () { this.__isValid && (this.__source.onComplete.remove(m(this, this.source_onComplete)), this.__source.dispose(), (this.__source = null), (this.__isValid = !1)); }, __updateTransform: function () { this.set_soundTransform(this.get_soundTransform()); }, get_position: function () { return this.__isValid ? this.__source.get_currentTime() + this.__source.offset : 0; }, set_position: function (a) { if (!this.__isValid) return 0; this.__source.set_currentTime((a | 0) - this.__source.offset); return a; }, get_soundTransform: function () { return this.__soundTransform.clone(); }, set_soundTransform: function (a) { if (null != a) { this.__soundTransform.pan = a.pan; this.__soundTransform.volume = a.volume; var b = sd.__soundTransform.pan + this.__soundTransform.pan; -1 > b && (b = -1); 1 < b && (b = 1); var c = sd.__soundTransform.volume * this.__soundTransform.volume; this.__isValid && (this.__source.set_gain(c), (0 == b && null == this.__source.get_pan()) || this.__source.set_pan(b)); } return a; }, source_onComplete: function () { sd.__unregisterSoundChannel(this); this.__dispose(); this.dispatchEvent(new oa('soundComplete')); }, __class__: fn, __properties__: { set_soundTransform: 'set_soundTransform', get_soundTransform: 'get_soundTransform', set_position: 'set_position', get_position: 'get_position' } }); var tz = function (a, b) { null == b && (b = !1); null == a && (a = 1e3); this.bufferTime = a; this.checkPolicyFile = b; }; k['openfl.media.SoundLoaderContext'] = tz; tz.__name__ = 'openfl.media.SoundLoaderContext'; tz.prototype = { bufferTime: null, checkPolicyFile: null, __class__: tz }; var sd = function () {}; k['openfl.media.SoundMixer'] = sd; sd.__name__ = 'openfl.media.SoundMixer'; sd.__properties__ = { set_soundTransform: 'set_soundTransform', get_soundTransform: 'get_soundTransform' }; sd.areSoundsInaccessible = function () { return !1; }; sd.stopAll = function () { for (var a = 0, b = sd.__soundChannels; a < b.length; ) { var c = b[a]; ++a; c.stop(); } }; sd.__registerSoundChannel = function (a) { sd.__soundChannels.push(a); }; sd.__unregisterSoundChannel = function (a) { C.remove(sd.__soundChannels, a); }; sd.get_soundTransform = function () { return sd.__soundTransform; }; sd.set_soundTransform = function (a) { sd.__soundTransform = a.clone(); for (var b = 0, c = sd.__soundChannels; b < c.length; ) { var e = c[b]; ++b; e.__updateTransform(); } return a; }; var gn = function (a, b) { null == b && (b = 240); null == a && (a = 320); Ka.call(this); this.__drawableType = 8; this.__width = a; this.__height = b; this.__textureTime = -1; this.smoothing = !1; this.deblocking = 0; }; k['openfl.media.Video'] = gn; gn.__name__ = 'openfl.media.Video'; gn.__super__ = Ka; gn.prototype = t(Ka.prototype, { deblocking: null, smoothing: null, __active: null, __buffer: null, __bufferAlpha: null, __bufferColorTransform: null, __bufferContext: null, __bufferData: null, __dirty: null, __height: null, __indexBuffer: null, __indexBufferContext: null, __indexBufferData: null, __stream: null, __texture: null, __textureTime: null, __uvRect: null, __vertexBuffer: null, __vertexBufferContext: null, __vertexBufferData: null, __width: null, attachNetStream: function (a) { this.__stream = a; null == this.__stream || null == this.__stream.__video || this.__stream.__closed || this.__stream.__video.play(); }, clear: function () {}, __enterFrame: function (a) { this.__renderable && null != this.__stream && !this.__renderDirty && ((this.__renderDirty = !0), this.__setParentRenderDirty()); }, __getBounds: function (a, b) { var c = ea.__pool.get(); c.setTo(0, 0, this.__width, this.__height); c.__transform(c, b); a.__expand(c.x, c.y, c.width, c.height); ea.__pool.release(c); }, __getIndexBuffer: function (a) { if (null == this.__indexBuffer || this.__indexBufferContext != a.__context) (this.__indexBufferData = new Uint16Array(6)), (this.__indexBufferData[0] = 0), (this.__indexBufferData[1] = 1), (this.__indexBufferData[2] = 2), (this.__indexBufferData[3] = 2), (this.__indexBufferData[4] = 1), (this.__indexBufferData[5] = 3), (this.__indexBufferContext = a.__context), (this.__indexBuffer = a.createIndexBuffer(6)), this.__indexBuffer.uploadFromTypedArray(this.__indexBufferData); return this.__indexBuffer; }, __getTexture: function (a) { if (null == this.__stream || null == this.__stream.__video) return null; var b = a.__context.webgl, c = b.RGBA, e = b.RGBA; this.__stream.__closed || this.__stream.__video.currentTime == this.__textureTime || (null == this.__texture && (this.__texture = a.createRectangleTexture( this.__stream.__video.videoWidth, this.__stream.__video.videoHeight, 1, !1 )), a.__bindGLTexture2D(this.__texture.__textureID), $b.texImage2D(b, b.TEXTURE_2D, 0, c, e, b.UNSIGNED_BYTE, this.__stream.__video), (this.__textureTime = this.__stream.__video.currentTime)); return this.__texture; }, __getVertexBuffer: function (a) { if (null == this.__vertexBuffer || this.__vertexBufferContext != a.__context) (this.__vertexBufferData = new Float32Array(20)), (this.__vertexBufferData[0] = this.get_width()), (this.__vertexBufferData[1] = this.get_height()), (this.__vertexBufferData[3] = 1), (this.__vertexBufferData[4] = 1), (this.__vertexBufferData[6] = this.get_height()), (this.__vertexBufferData[9] = 1), (this.__vertexBufferData[10] = this.get_width()), (this.__vertexBufferData[13] = 1), (this.__vertexBufferContext = a.__context), (this.__vertexBuffer = a.createVertexBuffer(3, 5)), this.__vertexBuffer.uploadFromTypedArray( Xg.toArrayBufferView(this.__vertexBufferData) ); return this.__vertexBuffer; }, __hitTest: function (a, b, c, e, f, g) { if ( !g.get_visible() || this.__isMask || (null != this.get_mask() && !this.get_mask().__hitTestMask(a, b)) ) return !1; this.__getRenderTransform(); var d = this.__renderTransform, h = d.a * d.d - d.b * d.c; c = 0 == h ? -d.tx : (1 / h) * (d.c * (d.ty - b) + d.d * (a - d.tx)); d = this.__renderTransform; h = d.a * d.d - d.b * d.c; a = 0 == h ? -d.ty : (1 / h) * (d.a * (b - d.ty) + d.b * (d.tx - a)); return 0 < c && 0 < a && c <= this.__width && a <= this.__height ? (null == e || f || e.push(g), !0) : !1; }, __hitTestMask: function (a, b) { var c = na.__pool.get(); c.setTo(a, b); this.__globalToLocal(c, c); a = 0 < c.x && 0 < c.y && c.x <= this.__width && c.y <= this.__height; na.__pool.release(c); return a; }, get_height: function () { return this.__height * this.get_scaleY(); }, set_height: function (a) { if (1 != this.get_scaleY() || a != this.__height) this.__setTransformDirty(), (this.__dirty = !0); this.set_scaleY(1); return (this.__height = a); }, get_videoHeight: function () { return null != this.__stream && null != this.__stream.__video ? this.__stream.__video.videoHeight | 0 : 0; }, get_videoWidth: function () { return null != this.__stream && null != this.__stream.__video ? this.__stream.__video.videoWidth | 0 : 0; }, get_width: function () { return this.__width * this.__scaleX; }, set_width: function (a) { if (1 != this.__scaleX || this.__width != a) this.__setTransformDirty(), (this.__dirty = !0); this.set_scaleX(1); return (this.__width = a); }, __class__: gn, __properties__: t(Ka.prototype.__properties__, { get_videoWidth: 'get_videoWidth', get_videoHeight: 'get_videoHeight' }) }); var fk = function () { cb.call(this); }; k['openfl.net.NetConnection'] = fk; fk.__name__ = 'openfl.net.NetConnection'; fk.__super__ = cb; fk.prototype = t(cb.prototype, { connect: function (a, b, c, e, f, g) { if (null != a) throw J.thrown('Error: Can only connect in "HTTP streaming" mode'); this.dispatchEvent( new ji('netStatus', !1, !0, { code: 'NetConnection.Connect.Success' }) ); }, __class__: fk }); var hn = function (a, b) { cb.call(this); this.__connection = a; this.__soundTransform = new hf(); this.__video = window.document.createElement('video'); this.__video.setAttribute('playsinline', ''); this.__video.setAttribute('webkit-playsinline', ''); this.__video.setAttribute('crossorigin', 'anonymous'); this.__video.addEventListener('error', m(this, this.video_onError), !1); this.__video.addEventListener('waiting', m(this, this.video_onWaiting), !1); this.__video.addEventListener('ended', m(this, this.video_onEnd), !1); this.__video.addEventListener('pause', m(this, this.video_onPause), !1); this.__video.addEventListener('seeking', m(this, this.video_onSeeking), !1); this.__video.addEventListener('playing', m(this, this.video_onPlaying), !1); this.__video.addEventListener('timeupdate', m(this, this.video_onTimeUpdate), !1); this.__video.addEventListener('loadstart', m(this, this.video_onLoadStart), !1); this.__video.addEventListener('stalled', m(this, this.video_onStalled), !1); this.__video.addEventListener('durationchanged', m(this, this.video_onDurationChanged), !1); this.__video.addEventListener('canplay', m(this, this.video_onCanPlay), !1); this.__video.addEventListener('canplaythrough', m(this, this.video_onCanPlayThrough), !1); this.__video.addEventListener('loadedmetadata', m(this, this.video_onLoadMetaData), !1); }; k['openfl.net.NetStream'] = hn; hn.__name__ = 'openfl.net.NetStream'; hn.__super__ = cb; hn.prototype = t(cb.prototype, { audioCodec: null, bufferLength: null, bufferTime: null, bytesLoaded: null, bytesTotal: null, checkPolicyFile: null, client: null, currentFPS: null, decodedFrames: null, liveDelay: null, objectEncoding: null, time: null, videoCode: null, __closed: null, __connection: null, __soundTransform: null, __timer: null, __video: null, close: function () { null != this.__video && ((this.__closed = !0), this.__video.pause(), (this.__video.src = ''), (this.time = 0)); }, dispose: function () { this.close(); this.__video = null; }, pause: function () { null != this.__video && this.__video.pause(); }, play: function (a, b, c, e, f, g) { null != this.__video && ((this.__video.volume = sd.__soundTransform.volume * this.__soundTransform.volume), 'string' == typeof a ? (this.__video.src = a) : (this.__video.srcObject = a), this.__video.play()); }, requestVideoStatus: function () { var a = this; null != this.__video && (null == this.__timer && (this.__timer = new Ne(1)), (this.__timer.run = function () { a.__video.paused ? a.__playStatus('NetStream.Play.pause') : a.__playStatus('NetStream.Play.playing'); a.__timer.stop(); })); }, resume: function () { null != this.__video && this.__video.play(); }, seek: function (a) { null != this.__video && (0 > a ? (a = 0) : a > this.__video.duration && (a = this.__video.duration), this.__dispatchStatus('NetStream.SeekStart.Notify'), (this.__video.currentTime = a)); }, togglePause: function () { null != this.__video && (this.__video.paused ? this.__video.play() : this.__video.pause()); }, __dispatchStatus: function (a) { a = new ji('netStatus', !1, !1, { code: a }); this.__connection.dispatchEvent(a); this.dispatchEvent(a); }, __playStatus: function (a) { if (null != this.__video && null != this.client) try { var b = this.client.onPlayStatus; b({ code: a, duration: this.__video.duration, position: this.__video.currentTime, speed: this.__video.playbackRate, start: this.__video.startTime }); } catch (d) { ka.lastError = d; } }, video_onCanPlay: function (a) { this.__playStatus('NetStream.Play.canplay'); }, video_onCanPlayThrough: function (a) { this.__playStatus('NetStream.Play.canplaythrough'); }, video_onDurationChanged: function (a) { this.__playStatus('NetStream.Play.durationchanged'); }, video_onEnd: function (a) { this.__dispatchStatus('NetStream.Play.Stop'); this.__dispatchStatus('NetStream.Play.Complete'); this.__playStatus('NetStream.Play.Complete'); }, video_onError: function (a) { this.__dispatchStatus('NetStream.Play.Stop'); this.__playStatus('NetStream.Play.error'); }, video_onLoadMetaData: function (a) { if (null != this.__video && null != this.client) try { var b = this.client.onMetaData; b({ width: this.__video.videoWidth, height: this.__video.videoHeight, duration: this.__video.duration }); } catch (d) { ka.lastError = d; } }, video_onLoadStart: function (a) { this.__playStatus('NetStream.Play.loadstart'); }, video_onPause: function (a) { this.__playStatus('NetStream.Play.pause'); }, video_onPlaying: function (a) { this.__dispatchStatus('NetStream.Play.Start'); this.__playStatus('NetStream.Play.playing'); }, video_onSeeking: function (a) { this.__playStatus('NetStream.Play.seeking'); this.__dispatchStatus('NetStream.Seek.Complete'); }, video_onStalled: function (a) { this.__playStatus('NetStream.Play.stalled'); }, video_onTimeUpdate: function (a) { null != this.__video && ((this.time = this.__video.currentTime), this.__playStatus('NetStream.Play.timeupdate')); }, video_onWaiting: function (a) { this.__playStatus('NetStream.Play.waiting'); }, get_soundTransform: function () { return this.__soundTransform.clone(); }, set_soundTransform: function (a) { null != a && ((this.__soundTransform.pan = a.pan), (this.__soundTransform.volume = a.volume), null != this.__video && (this.__video.volume = sd.__soundTransform.volume * this.__soundTransform.volume)); return a; }, get_speed: function () { return null != this.__video ? this.__video.playbackRate : 1; }, set_speed: function (a) { return null != this.__video ? (this.__video.playbackRate = a) : a; }, __class__: hn, __properties__: { set_speed: 'set_speed', get_speed: 'get_speed', set_soundTransform: 'set_soundTransform', get_soundTransform: 'get_soundTransform' } }); var ld = function () { cb.call(this); this.client = this; this.objectEncoding = ld.defaultObjectEncoding; }; k['openfl.net.SharedObject'] = ld; ld.__name__ = 'openfl.net.SharedObject'; ld.getLocal = function (a, b, c) { c = ' ~%&\\;:"\',<>?#'.split(''); var d = !0; if (null == a || '' == a) d = !1; else for (var f = 0; f < c.length; ) { var g = c[f]; ++f; if (-1 < a.indexOf(g)) { d = !1; break; } } if (!d) throw J.thrown(new cd('Error #2134: Cannot create SharedObject.')); null == ld.__sharedObjects && ((ld.__sharedObjects = new qa()), null != vd.current && vd.current.onExit.add(ld.application_onExit)); c = b + '/' + a; if (!Object.prototype.hasOwnProperty.call(ld.__sharedObjects.h, c)) { d = null; try { var l = Wg.getLocalStorage(); null == b && (null != l && ((d = l.getItem(window.location.href + ':' + a)), l.removeItem(window.location.href + ':' + a)), (b = window.location.pathname)); null != l && null == d && (d = l.getItem(b + ':' + a)); } catch (y) { ka.lastError = y; } l = new ld(); l.data = {}; l.__localPath = b; l.__name = a; if (null != d && '' != d) try { var h = new Ge(d); h.setResolver({ resolveEnum: ma.resolveEnum, resolveClass: ld.__resolveClass }); l.data = h.unserialize(); } catch (y) { ka.lastError = y; } ld.__sharedObjects.h[c] = l; } return ld.__sharedObjects.h[c]; }; ld.getRemote = function (a, b, c, e) { Dc.notImplemented({ fileName: 'openfl/net/SharedObject.hx', lineNumber: 808, className: 'openfl.net.SharedObject', methodName: 'getRemote' }); return null; }; ld.__getPath = function (a, b) { a = Ua.get_applicationStorageDirectory() + '/' + a + '/'; b = T.replace(b, '//', '/'); b = T.replace(b, '//', '/'); T.startsWith(b, '/') && (b = C.substr(b, 1, null)); T.endsWith(b, '/') && (b = b.substring(0, b.length - 1)); if (-1 < b.indexOf('/')) { var c = b.split('/'); b = ''; for (var e = 0, f = c.length - 1; e < f; ) { var g = e++; b += '#' + c[g] + '/'; } b += c[c.length - 1]; } return a + b + '.sol'; }; ld.__mkdir = function (a) {}; ld.__resolveClass = function (a) { return null != a ? (T.startsWith(a, 'neash.') && (a = T.replace(a, 'neash.', 'openfl.')), T.startsWith(a, 'native.') && (a = T.replace(a, 'native.', 'openfl.')), T.startsWith(a, 'flash.') && (a = T.replace(a, 'flash.', 'openfl.')), T.startsWith(a, 'openfl._v2.') && (a = T.replace(a, 'openfl._v2.', 'openfl.')), T.startsWith(a, 'openfl._legacy.') && (a = T.replace(a, 'openfl._legacy.', 'openfl.')), k[a]) : null; }; ld.application_onExit = function (a) { a = ld.__sharedObjects.h; for (var b = Object.keys(a), c = b.length, e = 0; e < c; ) a[b[e++]].flush(); }; ld.__super__ = cb; ld.prototype = t(cb.prototype, { client: null, data: null, fps: null, objectEncoding: null, __localPath: null, __name: null, clear: function () { this.data = {}; try { var a = Wg.getLocalStorage(); null != a && a.removeItem(this.__localPath + ':' + this.__name); } catch (b) { ka.lastError = b; } }, close: function () {}, connect: function (a, b) { Dc.notImplemented({ fileName: 'openfl/net/SharedObject.hx', lineNumber: 392, className: 'openfl.net.SharedObject', methodName: 'connect' }); }, flush: function (a) { if (0 == aa.fields(this.data).length) return 0; a = ze.run(this.data); try { var b = Wg.getLocalStorage(); null != b && (b.removeItem(this.__localPath + ':' + this.__name), b.setItem(this.__localPath + ':' + this.__name, a)); } catch (d) { return (ka.lastError = d), 1; } return 0; }, send: function (a) { Dc.notImplemented({ fileName: 'openfl/net/SharedObject.hx', lineNumber: 824, className: 'openfl.net.SharedObject', methodName: 'send' }); }, setDirty: function (a) {}, setProperty: function (a, b) { null != this.data && (this.data[a] = b); }, get_size: function () { try { var a = ze.run(this.data); return fb.ofString(a).length; } catch (b) { return (ka.lastError = b), 0; } }, __class__: ld, __properties__: { get_size: 'get_size' } }); var rh = function (a) { cb.call(this); this.bytesTotal = this.bytesLoaded = 0; this.dataFormat = 1; null != a && this.load(a); }; k['openfl.net.URLLoader'] = rh; rh.__name__ = 'openfl.net.URLLoader'; rh.__super__ = cb; rh.prototype = t(cb.prototype, { bytesLoaded: null, bytesTotal: null, data: null, dataFormat: null, __httpRequest: null, close: function () { null != this.__httpRequest && this.__httpRequest.cancel(); }, load: function (a) { var b = this; if (0 == this.dataFormat) { var c = new wm(); this.__prepareRequest(c, a); c.load() .onProgress(m(this, this.httpRequest_onProgress)) .onError(m(this, this.httpRequest_onError)) .onComplete(function (a) { b.__dispatchStatus(); b.data = a; a = new oa('complete'); b.dispatchEvent(a); }); } else (c = new Tj()), this.__prepareRequest(c, a), c .load() .onProgress(m(this, this.httpRequest_onProgress)) .onError(m(this, this.httpRequest_onError)) .onComplete(function (a) { b.__dispatchStatus(); b.data = a; a = new oa('complete'); b.dispatchEvent(a); }); }, __dispatchStatus: function () { var a = new ii('httpStatus', !1, !1, this.__httpRequest.responseStatus); a.responseURL = this.__httpRequest.uri; var b = []; if ( this.__httpRequest.enableResponseHeaders && null != this.__httpRequest.responseHeaders ) for (var c = 0, e = this.__httpRequest.responseHeaders; c < e.length; ) { var f = e[c]; ++c; b.push(new gp(f.name, f.value)); } a.responseHeaders = b; this.dispatchEvent(a); }, __prepareRequest: function (a, b) { this.__httpRequest = a; this.__httpRequest.uri = b.url; this.__httpRequest.method = b.method; if (null != b.data) if (ma.typeof(b.data) == sb.TObject) { var c = aa.fields(b.data); for (a = 0; a < c.length; ) { var e = c[a]; ++a; this.__httpRequest.formData.h[e] = aa.field(b.data, e); } } else this.__httpRequest.data = b.data instanceof fb ? b.data : fb.ofString(z.string(b.data)); this.__httpRequest.contentType = b.contentType; if (null != b.requestHeaders) for (a = 0, c = b.requestHeaders; a < c.length; ) (e = c[a]), ++a, this.__httpRequest.headers.push(new gm(e.name, e.value)); this.__httpRequest.followRedirects = b.followRedirects; this.__httpRequest.timeout = b.idleTimeout | 0; this.__httpRequest.withCredentials = b.manageCookies; this.__httpRequest.userAgent = b.userAgent; this.__httpRequest.enableResponseHeaders = !0; }, httpRequest_onError: function (a) { this.__dispatchStatus(); var b = 403 == a ? new aj('securityError') : new qg('ioError'); b.text = z.string(a); this.dispatchEvent(b); }, httpRequest_onProgress: function (a, b) { var c = new Eg('progress'); c.bytesLoaded = a; c.bytesTotal = b; this.dispatchEvent(c); }, __class__: rh }); var Sg = function (a) { null != a && (this.url = a); this.contentType = null; this.followRedirects = Gh.followRedirects; this.idleTimeout = 0 < Gh.idleTimeout ? Gh.idleTimeout : 3e4; this.manageCookies = Gh.manageCookies; this.method = 'GET'; this.requestHeaders = []; this.userAgent = Gh.userAgent; }; k['openfl.net.URLRequest'] = Sg; Sg.__name__ = 'openfl.net.URLRequest'; Sg.prototype = { contentType: null, data: null, followRedirects: null, idleTimeout: null, manageCookies: null, method: null, requestHeaders: null, url: null, userAgent: null, __class__: Sg }; var Gh = function () {}; k['openfl.net.URLRequestDefaults'] = Gh; Gh.__name__ = 'openfl.net.URLRequestDefaults'; var gp = function (a, b) { null == b && (b = ''); null == a && (a = ''); this.name = a; this.value = b; }; k['openfl.net.URLRequestHeader'] = gp; gp.__name__ = 'openfl.net.URLRequestHeader'; gp.prototype = { name: null, value: null, __class__: gp }; var Dz = { _new: function (a) { var b = {}; null != a && Dz.decode(b, a); return b; }, decode: function (a, b) { for (var c = aa.fields(a), e = 0; e < c.length; ) { var f = c[e]; ++e; aa.deleteField(a, f); } c = b.split(';').join('&').split('&'); for (e = 0; e < c.length; ) if (((f = c[e]), ++e, (b = f.indexOf('=')), 0 < b)) { var g = C.substr(f, 0, b); g = decodeURIComponent(g.split('+').join(' ')); f = C.substr(f, b + 1, null); a[g] = decodeURIComponent(f.split('+').join(' ')); } else 0 != b && (a[decodeURIComponent(f.split('+').join(' '))] = ''); }, toString: function (a) { for (var b = [], c = aa.fields(a), e = 0; e < c.length; ) { var f = c[e]; ++e; var g = aa.field(a, f); if (-1 < f.indexOf('[]') && g instanceof Array) { var l = []; for (g = K(g); g.hasNext(); ) { var h = g.next(); l.push(encodeURIComponent(h)); } l = l.join('&' + f + '='); b.push(encodeURIComponent(f) + '=' + l); } else b.push(encodeURIComponent(f) + '=' + encodeURIComponent(g)); } return b.join('&'); } }, Ri = function (a) { this.parentDomain = null != a ? a : Ri.currentDomain; }; k['openfl.system.ApplicationDomain'] = Ri; Ri.__name__ = 'openfl.system.ApplicationDomain'; Ri.prototype = { parentDomain: null, getDefinition: function (a) { return k[a]; }, hasDefinition: function (a) { return null != k[a]; }, __class__: Ri }; var wc = function () {}; k['openfl.system.Capabilities'] = wc; wc.__name__ = 'openfl.system.Capabilities'; wc.__properties__ = { get_version: 'get_version', get_screenResolutionY: 'get_screenResolutionY', get_screenResolutionX: 'get_screenResolutionX', get_screenDPI: 'get_screenDPI', get_pixelAspectRatio: 'get_pixelAspectRatio', get_os: 'get_os', get_manufacturer: 'get_manufacturer', get_language: 'get_language', get_cpuArchitecture: 'get_cpuArchitecture' }; wc.hasMultiChannelAudio = function (a) { return !1; }; wc.get_cpuArchitecture = function () { return 'x86'; }; wc.get_language = function () { var a = Pe.get_language(Pe.get_currentLocale()); if (null != a) switch (((a = a.toLowerCase()), a)) { case 'cs': case 'da': case 'de': case 'en': case 'es': case 'fi': case 'fr': case 'hu': case 'it': case 'ja': case 'ko': case 'nb': case 'nl': case 'pl': case 'pt': case 'ru': case 'sv': case 'tr': return a; case 'zh': a = Pe.get_region(Pe.get_currentLocale()); if (null != a) switch (a.toUpperCase()) { case 'HANT': case 'TW': return 'zh-TW'; } return 'zh-CN'; default: return 'xu'; } return 'en'; }; wc.get_manufacturer = function () { var a = Ua.get_platformName(); return 'OpenFL' + (null != a ? ' ' + a : ''); }; wc.get_os = function () { var a = Ua.get_platformLabel(); return null != a ? a : ''; }; wc.get_pixelAspectRatio = function () { return 1; }; wc.get_screenDPI = function () { var a = null != Dc.application ? Dc.application.__window : null, b = 72; null != a && (b *= a.__scale); return b; }; wc.get_screenResolutionX = function () { var a = Dc.current.stage, b = 0; if (null == a) return 0; if (null != a.window) { var c = a.window.get_display(); null != c && (b = Math.ceil(c.currentMode.width * a.window.__scale)); } return 0 < b ? b : a.stageWidth; }; wc.get_screenResolutionY = function () { var a = Dc.current.stage, b = 0; if (null == a) return 0; if (null != a.window) { var c = a.window.get_display(); null != c && (b = Math.ceil(c.currentMode.height * a.window.__scale)); } return 0 < b ? b : a.stageHeight; }; wc.get_version = function () { return 'WEB ' + (T.replace('9.1.0', '.', ',') + ',0'); }; var uz = function (a, b, c) { null == a && (a = !1); this.checkPolicyFile = a; this.securityDomain = c; this.applicationDomain = b; this.allowLoadBytesCodeExecution = this.allowCodeImport = !0; }; k['openfl.system.LoaderContext'] = uz; uz.__name__ = 'openfl.system.LoaderContext'; uz.prototype = { allowCodeImport: null, allowLoadBytesCodeExecution: null, applicationDomain: null, checkPolicyFile: null, securityDomain: null, __class__: uz }; var gk = function () {}; k['openfl.system.SecurityDomain'] = gk; gk.__name__ = 'openfl.system.SecurityDomain'; gk.prototype = { __class__: gk }; var bg = function () {}; k['openfl.system.System'] = bg; bg.__name__ = 'openfl.system.System'; bg.__properties__ = { get_vmVersion: 'get_vmVersion', get_totalMemory: 'get_totalMemory' }; bg.disposeXML = function (a) {}; bg.exit = function (a) { Ua.exit(a); }; bg.gc = function () {}; bg.pause = function () { Dc.notImplemented({ fileName: 'openfl/system/System.hx', lineNumber: 213, className: 'openfl.system.System', methodName: 'pause' }); }; bg.resume = function () { Dc.notImplemented({ fileName: 'openfl/system/System.hx', lineNumber: 229, className: 'openfl.system.System', methodName: 'resume' }); }; bg.setClipboard = function (a) { je.set_text(a); }; bg.get_totalMemory = function () { return window.performance && window.performance.memory ? window.performance.memory.usedJSHeapSize : 0; }; bg.get_vmVersion = function () { return '1.0.0'; }; var Rc = function (a) { Md.call(this, a); }; k['openfl.text.Font'] = Rc; Rc.__name__ = 'openfl.text.Font'; Rc.enumerateFonts = function (a) { return Rc.__registeredFonts; }; Rc.fromBytes = function (a) { var b = new Rc(); b.__fromBytes(Bb.toBytes(a)); return b; }; Rc.fromFile = function (a) { var b = new Rc(); b.__fromFile(a); return b; }; Rc.loadFromBytes = function (a) { return Md.loadFromBytes(Bb.toBytes(a)).then(function (a) { var b = new Rc(); b.__fromLimeFont(a); return ib.withValue(b); }); }; Rc.loadFromFile = function (a) { return Md.loadFromFile(a).then(function (a) { var b = new Rc(); b.__fromLimeFont(a); return ib.withValue(b); }); }; Rc.loadFromName = function (a) { return Md.loadFromName(a).then(function (a) { var b = new Rc(); b.__fromLimeFont(a); return ib.withValue(b); }); }; Rc.registerFont = function (a) { a = null == w.getClass(a) ? w.__cast(ma.createInstance(a, []), Rc) : w.__cast(a, Rc); null != a && (Rc.__registeredFonts.push(a), (Rc.__fontByName.h[a.name] = a)); }; Rc.__super__ = Md; Rc.prototype = t(Md.prototype, { fontStyle: null, fontType: null, __initialized: null, __fromLimeFont: function (a) { this.__copyFrom(a); }, __initialize: function () { return this.__initialized; }, get_fontName: function () { return this.name; }, set_fontName: function (a) { return (this.name = a); }, __class__: Rc, __properties__: { set_fontName: 'set_fontName', get_fontName: 'get_fontName' } }); var We = function () { this.__renderedOnCanvasWhileOnDOM = this.__forceCachedBitmapUpdate = !1; xb.call(this); this.__drawableType = 7; this.__caretIndex = -1; this.__displayAsPassword = !1; this.__graphics = new Se(this); this.__textEngine = new Qb(this); this.__layoutDirty = !0; this.__offsetY = this.__offsetX = 0; this.__mouseWheelEnabled = !0; this.__text = ''; this.doubleClickEnabled = !0; null == We.__defaultTextFormat && ((We.__defaultTextFormat = new Pg( 'Times New Roman', 12, 0, !1, !1, !1, '', '', 3, 0, 0, 0, 0 )), (We.__defaultTextFormat.blockIndent = 0), (We.__defaultTextFormat.bullet = !1), (We.__defaultTextFormat.letterSpacing = 0), (We.__defaultTextFormat.kerning = !1)); this.__textFormat = We.__defaultTextFormat.clone(); this.__textEngine.textFormatRanges.push(new cf(this.__textFormat, 0, 0)); this.addEventListener('mouseDown', m(this, this.this_onMouseDown)); this.addEventListener('focusIn', m(this, this.this_onFocusIn)); this.addEventListener('focusOut', m(this, this.this_onFocusOut)); this.addEventListener('keyDown', m(this, this.this_onKeyDown)); this.addEventListener('mouseWheel', m(this, this.this_onMouseWheel)); this.addEventListener('doubleClick', m(this, this.this_onDoubleClick)); }; k['openfl.text.TextField'] = We; We.__name__ = 'openfl.text.TextField'; We.__super__ = xb; We.prototype = t(xb.prototype, { __bounds: null, __caretIndex: null, __cursorTimer: null, __dirty: null, __displayAsPassword: null, __domRender: null, __inputEnabled: null, __isHTML: null, __layoutDirty: null, __mouseWheelEnabled: null, __offsetX: null, __offsetY: null, __selectionIndex: null, __showCursor: null, __text: null, __htmlText: null, __textEngine: null, __textFormat: null, __div: null, __renderedOnCanvasWhileOnDOM: null, __rawHtmlText: null, __forceCachedBitmapUpdate: null, appendText: function (a) { null != a && '' != a && ((this.__layoutDirty = this.__dirty = !0), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()), this.__updateText(this.__text + a), (this.__textEngine.textFormatRanges.get( this.__textEngine.textFormatRanges.get_length() - 1 ).end = this.__text.length), this.setSelection(this.__text.length, this.__text.length)); }, getCharBoundaries: function (a) { if (0 > a || a > this.__text.length - 1) return null; var b = new ea(); return this.__getCharBoundaries(a, b) ? b : null; }, getCharIndexAtPoint: function (a, b) { if (2 >= a || a > this.get_width() + 4 || 0 >= b || b > this.get_height() + 4) return -1; this.__updateLayout(); a += this.get_scrollH(); for (var c = 0, e = this.get_scrollV() - 1; c < e; ) { var f = c++; b += this.__textEngine.lineHeights.get(f); } for (c = this.__textEngine.layoutGroups.iterator(); c.hasNext(); ) { var g = c.next(); if ( b >= g.offsetY && b <= g.offsetY + g.height && a >= g.offsetX && a <= g.offsetX + g.width ) { c = b = 0; for (e = g.positions.length; c < e; ) if (((f = c++), (b += g.positions[f]), a <= g.offsetX + b)) return g.startIndex + f; return g.endIndex; } } return -1; }, getFirstCharInParagraph: function (a) { if (0 > a || a > this.get_text().length) return -1; for (var b = this.__textEngine.getLineBreakIndex(), c = 0; -1 < b; ) { if (b < a) c = b + 1; else if (b >= a) break; b = this.__textEngine.getLineBreakIndex(b + 1); } return c; }, getLineIndexAtPoint: function (a, b) { this.__updateLayout(); if (2 >= a || a > this.get_width() + 4 || 0 >= b || b > this.get_height() + 4) return -1; a = 0; for (var c = this.get_scrollV() - 1; a < c; ) { var e = a++; b += this.__textEngine.lineHeights.get(e); } for (a = this.__textEngine.layoutGroups.iterator(); a.hasNext(); ) if (((c = a.next()), b >= c.offsetY && b <= c.offsetY + c.height)) return c.lineIndex; return -1; }, getLineIndexOfChar: function (a) { if (0 > a || a > this.__text.length) return -1; this.__updateLayout(); for (var b = this.__textEngine.layoutGroups.iterator(); b.hasNext(); ) { var c = b.next(); if (c.startIndex <= a && c.endIndex >= a) return c.lineIndex; } return -1; }, getLineLength: function (a) { this.__updateLayout(); if (0 > a || a > this.__textEngine.numLines - 1) return 0; for (var b = -1, c = -1, e = this.__textEngine.layoutGroups.iterator(); e.hasNext(); ) { var f = e.next(); if (f.lineIndex == a) -1 == b && (b = f.startIndex); else if (f.lineIndex == a + 1) { c = f.startIndex; break; } } -1 == c && (c = this.__text.length); return c - b; }, getLineMetrics: function (a) { this.__updateLayout(); var b = this.__textEngine.lineAscents.get(a), c = this.__textEngine.lineDescents.get(a), e = this.__textEngine.lineLeadings.get(a), f = this.__textEngine.lineHeights.get(a); a = this.__textEngine.lineWidths.get(a); switch (this.__textFormat.align) { case 0: var g = (this.__textEngine.width - a) / 2; break; case 1: case 4: g = this.__textEngine.width - a - 2; break; case 2: case 3: case 5: g = 2; } return new hp(g, a, f, b, c, e); }, getLineOffset: function (a) { this.__updateLayout(); if (0 > a || a > this.__textEngine.numLines - 1) return -1; for (var b = this.__textEngine.layoutGroups.iterator(); b.hasNext(); ) { var c = b.next(); if (c.lineIndex == a) return c.startIndex; } return 0; }, getLineText: function (a) { this.__updateLayout(); if (0 > a || a > this.__textEngine.numLines - 1) return null; for (var b = -1, c = -1, e = this.__textEngine.layoutGroups.iterator(); e.hasNext(); ) { var f = e.next(); if (f.lineIndex == a) -1 == b && (b = f.startIndex); else if (f.lineIndex == a + 1) { c = f.startIndex; break; } } -1 == c && (c = this.__text.length); return this.__textEngine.text.substring(b, c); }, getParagraphLength: function (a) { if (0 > a || a > this.get_text().length) return -1; var b = this.getFirstCharInParagraph(a); if (a >= this.get_text().length) return this.get_text().length - b + 1; a = this.__textEngine.getLineBreakIndex(a) + 1; 0 == a && (a = this.__text.length); return a - b; }, getTextFormat: function (a, b) { null == b && (b = -1); null == a && (a = -1); var c = null; if (a >= this.get_text().length || -1 > a || b > this.get_text().length || -1 > b) throw J.thrown(new Hh('The supplied index is out of bounds')); -1 == a && (a = 0); -1 == b && (b = this.get_text().length); if (a >= b) return new Pg(); for (var e = this.__textEngine.textFormatRanges.iterator(); e.hasNext(); ) { var f = e.next(); if ((f.start <= a && f.end > a) || (f.start < b && f.end >= b)) null == c ? (c = f.format.clone()) : (f.format.font != c.font && (c.font = null), f.format.size != c.size && (c.size = null), f.format.color != c.color && (c.color = null), f.format.bold != c.bold && (c.bold = null), f.format.italic != c.italic && (c.italic = null), f.format.underline != c.underline && (c.underline = null), f.format.url != c.url && (c.url = null), f.format.target != c.target && (c.target = null), f.format.align != c.align && (c.align = null), f.format.leftMargin != c.leftMargin && (c.leftMargin = null), f.format.rightMargin != c.rightMargin && (c.rightMargin = null), f.format.indent != c.indent && (c.indent = null), f.format.leading != c.leading && (c.leading = null), f.format.blockIndent != c.blockIndent && (c.blockIndent = null), f.format.bullet != c.bullet && (c.bullet = null), f.format.kerning != c.kerning && (c.kerning = null), f.format.letterSpacing != c.letterSpacing && (c.letterSpacing = null), f.format.tabStops != c.tabStops && (c.tabStops = null)); } null == c && (c = new Pg()); return c; }, replaceSelectedText: function (a) { this.__replaceSelectedText(a, !1); }, replaceText: function (a, b, c) { this.__replaceText(a, b, c, !1); }, setSelection: function (a, b) { this.__selectionIndex = a; this.__caretIndex = b; this.__updateScrollV(); this.__updateScrollH(); null != this.stage && this.stage.get_focus() == this && (this.__stopCursorTimer(), this.__startCursorTimer()); }, setTextFormat: function (a, b, c) { null == c && (c = -1); null == b && (b = -1); var d = this.get_text().length; -1 == b ? (-1 == c && (c = d), (b = 0)) : -1 == c && (c = b + 1); if (b != c) { if (0 > b || 0 >= c || c < b || b >= d || c > d) throw J.thrown(new Hh()); if (0 == b && c == d) { this.__textEngine.textFormatRanges.set_length(1); var f = this.__textEngine.textFormatRanges.get(0); f.start = 0; f.end = d; f.format.__merge(a); } else { d = 0; for (var g; d < this.__textEngine.textFormatRanges.get_length(); ) if (((f = this.__textEngine.textFormatRanges.get(d)), f.end <= b)) ++d; else if (f.start >= c) break; else if (f.start <= b && f.end >= c) if (f.start == b && f.end == c) { f.format = f.format.clone(); f.format.__merge(a); break; } else if (f.start == b) (g = new cf(f.format.clone(), b, c)), g.format.__merge(a), this.__textEngine.textFormatRanges.insertAt(d, g), (f.start = c), (d += 2); else { f.end == c ? ((g = new cf(f.format.clone(), b, c)), g.format.__merge(a), this.__textEngine.textFormatRanges.insertAt(d + 1, g)) : ((g = new cf(f.format.clone(), b, c)), g.format.__merge(a), this.__textEngine.textFormatRanges.insertAt(d + 1, g), (g = new cf(f.format.clone(), c, f.end)), this.__textEngine.textFormatRanges.insertAt(d + 2, g)); f.end = b; break; } else if (f.start >= b && f.end <= c) f.start == b ? ((f.format = f.format.clone()), f.format.__merge(a), (f.end = c)) : this.__textEngine.textFormatRanges.removeAt(d); else if (f.start > b && f.end > b) { f.start = c; break; } else f.start < b && f.end <= c ? ((g = new cf(f.format.clone(), b, c)), g.format.__merge(a), this.__textEngine.textFormatRanges.insertAt(d + 1, g), (f.end = b), (d += 2)) : (++d, Va.warn( "You found a bug in OpenFL's text code! Please save a copy of your project and contact Joshua Granick (@singmajesty) so we can fix this.", { fileName: 'openfl/text/TextField.hx', lineNumber: 1571, className: 'openfl.text.TextField', methodName: 'setTextFormat' } )); } this.__layoutDirty = this.__dirty = !0; this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()); } }, __allowMouseFocus: function () { return 1 == this.__textEngine.type || this.get_tabEnabled() ? !0 : this.get_selectable(); }, __caretBeginningOfLine: function () { this.__caretIndex = this.getLineOffset(this.getLineIndexOfChar(this.__caretIndex)); }, __caretBeginningOfNextLine: function () { var a = this.getLineIndexOfChar(this.__caretIndex); this.__caretIndex = a < this.__textEngine.numLines - 1 ? this.getLineOffset(a + 1) : this.__text.length; }, __caretBeginningOfPreviousLine: function () { var a = this.getLineIndexOfChar(this.__caretIndex); if (0 < a) { var b = this.getLineOffset(this.getLineIndexOfChar(this.__caretIndex)); this.__caretIndex = this.__caretIndex == b ? this.getLineOffset(a - 1) : b; } }, __caretEndOfLine: function () { var a = this.getLineIndexOfChar(this.__caretIndex); this.__caretIndex = a < this.__textEngine.numLines - 1 ? this.getLineOffset(a + 1) - 1 : this.__text.length; }, __caretNextCharacter: function () { this.__caretIndex < this.__text.length && this.__caretIndex++; }, __caretNextLine: function () { var a = this.getLineIndexOfChar(this.__caretIndex); a < this.__textEngine.numLines - 1 && (this.__caretIndex = this.__getCharIndexOnDifferentLine(this.get_caretIndex(), a + 1)); }, __caretPreviousCharacter: function () { 0 < this.__caretIndex && this.__caretIndex--; }, __caretPreviousLine: function () { var a = this.getLineIndexOfChar(this.__caretIndex); 0 < a && (this.__caretIndex = this.__getCharIndexOnDifferentLine(this.get_caretIndex(), a - 1)); }, __disableInput: function () { this.__inputEnabled && null != this.stage && (this.stage.window.__backend.setTextInputEnabled(!1), this.stage.window.onTextInput.remove(m(this, this.window_onTextInput)), this.stage.window.onKeyDown.remove(m(this, this.window_onKeyDown)), (this.__inputEnabled = !1), this.__stopCursorTimer()); }, __dispatch: function (a) { if (2 == a.eventPhase && 'mouseUp' == a.type) { var b = this.__getGroup(this.get_mouseX(), this.get_mouseY(), !0); null != b && ((b = b.format.url), null != b && '' != b && (T.startsWith(b, 'event:') ? this.dispatchEvent(new bf('link', !1, !1, C.substr(b, 6, null))) : Oa.getURL(new Sg(b)))); } return xb.prototype.__dispatch.call(this, a); }, __enableInput: function () { null != this.stage && (this.stage.window.__backend.setTextInputEnabled(!0), this.__inputEnabled || (this.stage.window.__backend.setTextInputEnabled(!0), this.stage.window.onTextInput.has(m(this, this.window_onTextInput)) || (this.stage.window.onTextInput.add(m(this, this.window_onTextInput)), this.stage.window.onKeyDown.add(m(this, this.window_onKeyDown))), (this.__inputEnabled = !0), this.__startCursorTimer())); }, __getAdvance: function (a) { return a; }, __getBounds: function (a, b) { this.__updateLayout(); var c = ea.__pool.get(); c.copyFrom(this.__textEngine.bounds); b.tx += this.__offsetX; b.ty += this.__offsetY; c.__transform(c, b); a.__expand(c.x, c.y, c.width, c.height); ea.__pool.release(c); }, __getCharBoundaries: function (a, b) { if (0 > a || a > this.__text.length - 1) return !1; this.__updateLayout(); for (var c = this.__textEngine.layoutGroups.iterator(); c.hasNext(); ) { var e = c.next(); if (a >= e.startIndex && a < e.endIndex) try { for (var f = e.offsetX, g = 0, l = a - e.startIndex; g < l; ) { var h = g++; f += e.positions[h]; } b.setTo(f, e.offsetY, e.positions[a - e.startIndex], e.ascent + e.descent); return !0; } catch (y) { ka.lastError = y; } } return !1; }, __getCharIndexOnDifferentLine: function (a, b) { if (0 > a || a > this.__text.length || 0 > b || b > this.__textEngine.numLines - 1) return -1; for ( var c = null, e = null, f = this.__textEngine.layoutGroups.iterator(); f.hasNext(); ) { var g = f.next(); if (a >= g.startIndex && a <= g.endIndex) { c = g.offsetX; for (var l = 0, h = a - g.startIndex; l < h; ) { var k = l++; c += g.positions[k]; } if (null != e) return this.__getPosition(c, e); } if (g.lineIndex == b) { e = g.offsetY + g.height / 2; g = 0; for (l = this.get_scrollV() - 1; g < l; ) (h = g++), (e -= this.__textEngine.lineHeights.get(h)); if (null != c) return this.__getPosition(c, e); } } return -1; }, __getCursor: function () { var a = this.__getGroup(this.get_mouseX(), this.get_mouseY(), !0); return null != a && '' != a.format.url ? 'button' : this.__textEngine.selectable ? 'ibeam' : null; }, __getGroup: function (a, b, c) { null == c && (c = !1); this.__updateLayout(); a += this.get_scrollH(); for (var d = 0, f = this.get_scrollV() - 1; d < f; ) { var g = d++; b += this.__textEngine.lineHeights.get(g); } !c && b > this.__textEngine.textHeight && (b = this.__textEngine.textHeight); var l = !0; d = 0; for (f = this.__textEngine.layoutGroups.get_length(); d < f; ) { g = d++; var h = this.__textEngine.layoutGroups.get(g); g = g < this.__textEngine.layoutGroups.get_length() - 1 ? this.__textEngine.layoutGroups.get(g + 1) : null; l && (b < h.offsetY && (b = h.offsetY), a < h.offsetX && (a = h.offsetX), (l = !1)); if ((b >= h.offsetY && b <= h.offsetY + h.height) || (!c && null == g)) if ( (a >= h.offsetX && a <= h.offsetX + h.width) || (!c && (null == g || g.lineIndex != h.lineIndex)) ) return h; } return null; }, __getPosition: function (a, b) { b = this.__getGroup(a, b); if (null == b) return this.__text.length; for (var c = 0, e = 0, f = b.positions.length; e < f; ) { var g = e++; c += b.positions[g]; if (a <= b.offsetX + c) { if (a <= b.offsetX + (c - b.positions[g]) + b.positions[g] / 2) return b.startIndex + g; if (b.startIndex + g < b.endIndex) return b.startIndex + g + 1; break; } } return b.endIndex; }, __hitTest: function (a, b, c, e, f, g) { if ( !g.get_visible() || this.__isMask || (f && !this.mouseEnabled) || (null != this.get_mask() && !this.get_mask().__hitTestMask(a, b)) ) return !1; this.__getRenderTransform(); this.__updateLayout(); c = this.__renderTransform; f = c.a * c.d - c.b * c.c; var d = 0 == f ? -c.tx : (1 / f) * (c.c * (c.ty - b) + c.d * (a - c.tx)); c = this.__renderTransform; f = c.a * c.d - c.b * c.c; return this.__textEngine.bounds.contains( d, 0 == f ? -c.ty : (1 / f) * (c.a * (b - c.ty) + c.b * (c.tx - a)) ) ? (null != e && e.push(g), !0) : !1; }, __hitTestMask: function (a, b) { this.__getRenderTransform(); this.__updateLayout(); var c = this.__renderTransform, e = c.a * c.d - c.b * c.c, f = 0 == e ? -c.tx : (1 / e) * (c.c * (c.ty - b) + c.d * (a - c.tx)); c = this.__renderTransform; e = c.a * c.d - c.b * c.c; return this.__textEngine.bounds.contains( f, 0 == e ? -c.ty : (1 / e) * (c.a * (b - c.ty) + c.b * (c.tx - a)) ) ? !0 : !1; }, __replaceSelectedText: function (a, b) { null == b && (b = !0); null == a && (a = ''); if ('' != a || this.__selectionIndex != this.__caretIndex) { var c = this.__caretIndex < this.__selectionIndex ? this.__caretIndex : this.__selectionIndex, e = this.__caretIndex > this.__selectionIndex ? this.__caretIndex : this.__selectionIndex; if ( !( c == e && 0 < this.__textEngine.maxChars && this.__text.length == this.__textEngine.maxChars ) ) { c > this.__text.length && (c = this.__text.length); e > this.__text.length && (e = this.__text.length); if (e < c) { var f = e; e = c; c = f; } 0 > c && (c = 0); this.__replaceText(c, e, a, b); } } }, __replaceText: function (a, b, c, e) { if (!(b < a || 0 > a || b > this.__text.length || null == c)) { e && ((c = this.__textEngine.restrictText(c)), 0 < this.__textEngine.maxChars && ((e = this.__textEngine.maxChars - this.__text.length + (b - a)), 0 >= e ? (c = '') : e < c.length && (c = C.substr(c, 0, e)))); this.__updateText(this.__text.substring(0, a) + c + this.__text.substring(b)); e = c.length - (b - a); for (var d = 0, g; d < this.__textEngine.textFormatRanges.get_length(); ) (g = this.__textEngine.textFormatRanges.get(d)), a == b ? g.start == g.end ? 0 != g.start ? Va.warn( "You found a bug in OpenFL's text code! Please save a copy of your project and contact Joshua Granick (@singmajesty) so we can fix this.", { fileName: 'openfl/text/TextField.hx', lineNumber: 2060, className: 'openfl.text.TextField', methodName: '__replaceText' } ) : (g.end += e) : g.end >= a && (g.start >= a ? ((g.start += e), (g.end += e)) : g.start < a && g.end >= b && (g.end += e)) : g.end > a && (g.start > b ? ((g.start += e), (g.end += e)) : g.start <= a && g.end > b ? (g.end += e) : g.start >= a && g.end <= b ? this.__textEngine.textFormatRanges.splice(d--, 1) : g.end > b && g.start > a && g.start <= b ? ((g.start = a), (g.end += e)) : g.start < a && g.end > a && g.end <= b && (g.end = a)), ++d; 0 == this.__textEngine.textFormatRanges.get_length() ? this.__textEngine.textFormatRanges.push( new cf(this.get_defaultTextFormat().clone(), 0, c.length) ) : a == b && 0 < this.__textEngine.textFormatRanges.get(0).start ? this.__textEngine.textFormatRanges.unshift( new cf( this.get_defaultTextFormat().clone(), 0, this.__textEngine.textFormatRanges.get(0).start ) ) : a != b && this.__textEngine.textFormatRanges.get( this.__textEngine.textFormatRanges.get_length() - 1 ).end < this.__text.length && this.__textEngine.textFormatRanges.push( new cf( this.get_defaultTextFormat().clone(), this.__textEngine.textFormatRanges.get( this.__textEngine.textFormatRanges.get_length() - 1 ).end, this.__text.length ) ); this.setSelection(a + c.length, a + c.length); this.__layoutDirty = this.__dirty = !0; this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()); } }, __startCursorTimer: function () { this.__cursorTimer = Ne.delay(m(this, this.__startCursorTimer), 600); this.__showCursor = !this.__showCursor; this.__dirty = !0; this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()); }, __startTextInput: function () { 0 > this.__caretIndex && (this.__selectionIndex = this.__caretIndex = this.__text.length); (Ka.__supportDOM ? this.__renderedOnCanvasWhileOnDOM : 1) && this.__enableInput(); }, __stopCursorTimer: function () { null != this.__cursorTimer && (this.__cursorTimer.stop(), (this.__cursorTimer = null)); this.__showCursor && ((this.__showCursor = !1), (this.__dirty = !0), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty())); }, __stopTextInput: function () { (Ka.__supportDOM ? this.__renderedOnCanvasWhileOnDOM : 1) && this.__disableInput(); }, __updateLayout: function () { if (this.__layoutDirty) { var a = this.__textEngine.width; this.__textEngine.update(); if (2 != this.__textEngine.autoSize) { if (this.__textEngine.width != a) switch (this.__textEngine.autoSize) { case 0: this.set_x(this.get_x() + (a - this.__textEngine.width) / 2); break; case 3: this.set_x(this.get_x() + (a - this.__textEngine.width)); } this.__textEngine.getBounds(); } this.__layoutDirty = !1; } }, __updateScrollH: function () { this.__updateLayout(); if (this.get_textWidth() <= this.get_width() - 4) this.set_scrollH(0); else { var a = this.get_scrollH(); if ( 0 == this.__caretIndex || this.getLineOffset(this.getLineIndexOfChar(this.__caretIndex)) == this.__caretIndex ) a = 0; else { var b = ea.__pool.get(), c = !1; this.__caretIndex < this.__text.length && (c = this.__getCharBoundaries(this.__caretIndex, b)); c || (this.__getCharBoundaries(this.__caretIndex - 1, b), (b.x += b.width)); for (; b.x < a && 0 < a; ) a -= 24; for (; b.x > a + this.get_width() - 4; ) a += 24; ea.__pool.release(b); } 0 < a && 1 != this.get_type() && ((b = this.getLineLength(this.getLineIndexOfChar(this.__caretIndex))), this.get_scrollH() + this.get_width() - 4 > b && this.set_scrollH(Math.ceil(b - this.get_width() + 4))); 0 > a ? this.set_scrollH(0) : a > this.get_maxScrollH() ? this.set_scrollH(this.get_maxScrollH()) : this.set_scrollH(a); } }, __updateScrollV: function () { this.__updateLayout(); if (this.get_textHeight() <= this.get_height() - 4) this.set_scrollV(1); else { var a = this.getLineIndexOfChar(this.__caretIndex); -1 == a && 0 < this.__caretIndex && (a = this.getLineIndexOfChar(this.__caretIndex - 1) + 1); if (a + 1 < this.get_scrollV()) this.set_scrollV(a + 1); else if (a + 1 > this.get_bottomScrollV()) { for (var b = 0; 0 <= a; ) if (b + this.__textEngine.lineHeights.get(a) <= this.get_height() - 4) (b += this.__textEngine.lineHeights.get(a)), --a; else break; this.set_scrollV(a + 2); } else this.set_scrollV(this.get_scrollV()); } }, __updateText: function (a) { Ka.__supportDOM && this.__renderedOnCanvasWhileOnDOM && (this.__forceCachedBitmapUpdate = this.__text != a); this.__textEngine.set_text(a); this.__text = this.__textEngine.text; this.__text.length < this.__caretIndex && (this.__selectionIndex = this.__caretIndex = this.__text.length); if (!this.__displayAsPassword || (Ka.__supportDOM && !this.__renderedOnCanvasWhileOnDOM)) this.__textEngine.set_text(this.__text); else { a = ''; for (var b = 0, c = this.get_text().length; b < c; ) b++, (a += '*'); this.__textEngine.set_text(a); } }, __updateTransforms: function (a) { xb.prototype.__updateTransforms.call(this, a); a = this.__renderTransform; var b = this.__offsetX, c = this.__offsetY; a.tx = b * a.a + c * a.c + a.tx; a.ty = b * a.b + c * a.d + a.ty; }, get_antiAliasType: function () { return this.__textEngine.antiAliasType; }, set_antiAliasType: function (a) { return (this.__textEngine.antiAliasType = a); }, get_autoSize: function () { return this.__textEngine.autoSize; }, set_autoSize: function (a) { a != this.__textEngine.autoSize && ((this.__layoutDirty = this.__dirty = !0), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty())); return (this.__textEngine.autoSize = a); }, get_background: function () { return this.__textEngine.background; }, set_background: function (a) { a != this.__textEngine.background && ((this.__dirty = !0), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty())); return (this.__textEngine.background = a); }, get_backgroundColor: function () { return this.__textEngine.backgroundColor; }, set_backgroundColor: function (a) { a != this.__textEngine.backgroundColor && ((this.__dirty = !0), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty())); return (this.__textEngine.backgroundColor = a); }, get_border: function () { return this.__textEngine.border; }, set_border: function (a) { a != this.__textEngine.border && ((this.__dirty = !0), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty())); return (this.__textEngine.border = a); }, get_borderColor: function () { return this.__textEngine.borderColor; }, set_borderColor: function (a) { a != this.__textEngine.borderColor && ((this.__dirty = !0), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty())); return (this.__textEngine.borderColor = a); }, get_bottomScrollV: function () { this.__updateLayout(); return this.__textEngine.get_bottomScrollV(); }, get_caretIndex: function () { return this.__caretIndex; }, get_defaultTextFormat: function () { return this.__textFormat.clone(); }, set_defaultTextFormat: function (a) { this.__textFormat.__merge(a); this.__dirty = this.__layoutDirty = !0; this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()); return a; }, get_displayAsPassword: function () { return this.__displayAsPassword; }, set_displayAsPassword: function (a) { a != this.__displayAsPassword && ((this.__layoutDirty = this.__dirty = !0), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()), (this.__displayAsPassword = a), this.__updateText(this.__text)); return a; }, get_embedFonts: function () { return this.__textEngine.embedFonts; }, set_embedFonts: function (a) { return (this.__textEngine.embedFonts = a); }, get_gridFitType: function () { return this.__textEngine.gridFitType; }, set_gridFitType: function (a) { return (this.__textEngine.gridFitType = a); }, get_height: function () { this.__updateLayout(); return this.__textEngine.height * Math.abs(this.get_scaleY()); }, set_height: function (a) { a != this.__textEngine.height && (this.__setTransformDirty(), (this.__layoutDirty = this.__dirty = !0), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()), (this.__textEngine.height = a)); return this.__textEngine.height * Math.abs(this.get_scaleY()); }, get_htmlText: function () { return this.__isHTML ? this.__rawHtmlText : this.__text; }, set_htmlText: function (a) { (this.__isHTML && this.__text == a) || ((this.__layoutDirty = this.__dirty = !0), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty())); this.__isHTML = !0; this.__rawHtmlText = a; a = zb.parse(a, this.__textFormat, this.__textEngine.textFormatRanges); if (Ka.__supportDOM) { 1 < this.__textEngine.textFormatRanges.get_length() && this.__textEngine.textFormatRanges.splice( 1, this.__textEngine.textFormatRanges.get_length() - 1 ); var b = this.__textEngine.textFormatRanges.get(0); b.format = this.__textFormat; b.start = 0; this.__renderedOnCanvasWhileOnDOM ? ((b.end = a.length), this.__updateText(a)) : ((b.end = this.__rawHtmlText.length), this.__updateText(this.__rawHtmlText)); } else this.__updateText(a); this.setSelection(this.get_length(), this.get_length()); return a; }, get_length: function () { return null != this.__text ? this.__text.length : 0; }, get_maxChars: function () { return this.__textEngine.maxChars; }, set_maxChars: function (a) { a != this.__textEngine.maxChars && ((this.__textEngine.maxChars = a), (this.__layoutDirty = this.__dirty = !0), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty())); return a; }, get_maxScrollH: function () { this.__updateLayout(); return this.__textEngine.maxScrollH; }, get_maxScrollV: function () { this.__updateLayout(); return this.__textEngine.get_maxScrollV(); }, get_mouseWheelEnabled: function () { return this.__mouseWheelEnabled; }, set_mouseWheelEnabled: function (a) { return (this.__mouseWheelEnabled = a); }, get_multiline: function () { return this.__textEngine.multiline; }, set_multiline: function (a) { a != this.__textEngine.multiline && ((this.__layoutDirty = this.__dirty = !0), this.__updateText(this.__text), this.__updateScrollH(), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty())); return (this.__textEngine.multiline = a); }, get_numLines: function () { this.__updateLayout(); return this.__textEngine.numLines; }, get_restrict: function () { return this.__textEngine.restrict; }, set_restrict: function (a) { this.__textEngine.restrict != a && (this.__textEngine.set_restrict(a), this.__updateText(this.__text)); return a; }, get_scrollH: function () { return this.__textEngine.scrollH; }, set_scrollH: function (a) { this.__updateLayout(); a > this.__textEngine.maxScrollH && (a = this.__textEngine.maxScrollH); 0 > a && (a = 0); a != this.__textEngine.scrollH && ((this.__dirty = !0), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()), (this.__textEngine.scrollH = a), this.dispatchEvent(new oa('scroll'))); return this.__textEngine.scrollH; }, get_scrollV: function () { return this.__textEngine.get_scrollV(); }, set_scrollV: function (a) { this.__updateLayout(); 0 < a && a != this.__textEngine.get_scrollV() && ((this.__dirty = !0), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()), this.__textEngine.set_scrollV(a), this.dispatchEvent(new oa('scroll'))); return this.__textEngine.get_scrollV(); }, get_selectable: function () { return this.__textEngine.selectable; }, set_selectable: function (a) { a != this.__textEngine.selectable && 1 == this.get_type() && (null != this.stage && this.stage.get_focus() == this ? this.__startTextInput() : a || this.__stopTextInput()); return (this.__textEngine.selectable = a); }, get_selectionBeginIndex: function () { return Math.min(this.__caretIndex, this.__selectionIndex) | 0; }, get_selectionEndIndex: function () { return Math.max(this.__caretIndex, this.__selectionIndex) | 0; }, get_sharpness: function () { return this.__textEngine.sharpness; }, set_sharpness: function (a) { a != this.__textEngine.sharpness && ((this.__dirty = !0), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty())); return (this.__textEngine.sharpness = a); }, get_tabEnabled: function () { return null == this.__tabEnabled ? 1 == this.__textEngine.type : this.__tabEnabled; }, get_text: function () { return this.__text; }, set_text: function (a) { if (this.__isHTML || this.__text != a) (this.__layoutDirty = this.__dirty = !0), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()); else return a; 1 < this.__textEngine.textFormatRanges.get_length() && this.__textEngine.textFormatRanges.splice( 1, this.__textEngine.textFormatRanges.get_length() - 1 ); var b = this.__textEngine.textFormatRanges.get(0); b.format = this.__textFormat; b.start = 0; b.end = a.length; this.__isHTML = !1; this.__updateText(a); this.setSelection(0, 0); return a; }, get_textColor: function () { return this.__textFormat.color; }, set_textColor: function (a) { a != this.__textFormat.color && ((this.__dirty = !0), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty())); for (var b = this.__textEngine.textFormatRanges.iterator(); b.hasNext(); ) b.next().format.color = a; return (this.__textFormat.color = a); }, get_textWidth: function () { this.__updateLayout(); return this.__textEngine.textWidth; }, get_textHeight: function () { this.__updateLayout(); return this.__textEngine.textHeight; }, get_type: function () { return this.__textEngine.type; }, set_type: function (a) { a != this.__textEngine.type && (1 == a ? (this.addEventListener('addedToStage', m(this, this.this_onAddedToStage)), this.this_onFocusIn(null), (this.__textEngine.__useIntAdvances = !0)) : (this.removeEventListener('addedToStage', m(this, this.this_onAddedToStage)), this.__stopTextInput(), (this.__textEngine.__useIntAdvances = null)), (this.__layoutDirty = this.__dirty = !0), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty())); return (this.__textEngine.type = a); }, get_width: function () { this.__updateLayout(); return this.__textEngine.width * Math.abs(this.__scaleX); }, set_width: function (a) { a != this.__textEngine.width && (this.__setTransformDirty(), (this.__layoutDirty = this.__dirty = !0), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()), (this.__textEngine.width = a)); return this.__textEngine.width * Math.abs(this.__scaleX); }, get_wordWrap: function () { return this.__textEngine.wordWrap; }, set_wordWrap: function (a) { a != this.__textEngine.wordWrap && ((this.__layoutDirty = this.__dirty = !0), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty())); return (this.__textEngine.wordWrap = a); }, get_x: function () { return this.__transform.tx + this.__offsetX; }, set_x: function (a) { a != this.__transform.tx + this.__offsetX && this.__setTransformDirty(); return (this.__transform.tx = a - this.__offsetX); }, get_y: function () { return this.__transform.ty + this.__offsetY; }, set_y: function (a) { a != this.__transform.ty + this.__offsetY && this.__setTransformDirty(); return (this.__transform.ty = a - this.__offsetY); }, stage_onMouseMove: function (a) { null != this.stage && this.get_selectable() && 0 <= this.__selectionIndex && (this.__updateLayout(), (a = this.__getPosition(this.get_mouseX() + this.get_scrollH(), this.get_mouseY())), a != this.__caretIndex && ((this.__caretIndex = a), (a = !0), Ka.__supportDOM && (this.__renderedOnCanvasWhileOnDOM && (this.__forceCachedBitmapUpdate = !0), (a = !1)), a && ((this.__dirty = !0), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty())))); }, stage_onMouseUp: function (a) { if ( null != this.stage && (this.stage.removeEventListener('mouseMove', m(this, this.stage_onMouseMove)), this.stage.removeEventListener('mouseUp', m(this, this.stage_onMouseUp)), this.stage.get_focus() == this) ) { this.__getWorldTransform(); this.__updateLayout(); a = this.__getPosition(this.get_mouseX() + this.get_scrollH(), this.get_mouseY()); var b = Math.max(this.__selectionIndex, a) | 0; this.__selectionIndex = Math.min(this.__selectionIndex, a) | 0; this.__caretIndex = b; this.__inputEnabled && (this.this_onFocusIn(null), this.__stopCursorTimer(), this.__startCursorTimer(), Ka.__supportDOM && this.__renderedOnCanvasWhileOnDOM && (this.__forceCachedBitmapUpdate = !0)); } }, this_onAddedToStage: function (a) { this.this_onFocusIn(null); }, this_onFocusIn: function (a) { 1 == this.get_type() && null != this.stage && this.stage.get_focus() == this && this.__startTextInput(); }, this_onFocusOut: function (a) { this.__stopCursorTimer(); null != a.relatedObject && a.relatedObject instanceof We ? (null != this.stage && (this.stage.window.onTextInput.remove(m(this, this.window_onTextInput)), this.stage.window.onKeyDown.remove(m(this, this.window_onKeyDown))), (this.__inputEnabled = !1)) : this.__stopTextInput(); this.__selectionIndex != this.__caretIndex && ((this.__selectionIndex = this.__caretIndex), (this.__dirty = !0), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty())); }, this_onKeyDown: function (a) { this.get_selectable() && 1 != this.get_type() && 67 == a.keyCode && (a.commandKey || a.ctrlKey) && this.__caretIndex != this.__selectionIndex && je.set_text(this.__text.substring(this.__caretIndex, this.__selectionIndex)); }, this_onMouseDown: function (a) { if (this.get_selectable() || 1 == this.get_type()) this.__updateLayout(), (this.__selectionIndex = this.__caretIndex = this.__getPosition(this.get_mouseX() + this.get_scrollH(), this.get_mouseY())), Ka.__supportDOM || ((this.__dirty = !0), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty())), this.stage.addEventListener('mouseMove', m(this, this.stage_onMouseMove)), this.stage.addEventListener('mouseUp', m(this, this.stage_onMouseUp)); }, this_onMouseWheel: function (a) { this.get_mouseWheelEnabled() && this.set_scrollV(this.get_scrollV() - a.delta); }, this_onDoubleClick: function (a) { if (this.get_selectable()) { this.__updateLayout(); a = '\n.!?, ;:()-_/'.split(''); var b = this.__text, c = -1, e = b.length, f = Math.max(this.__caretIndex, 1) | 0; if (0 < b.length && 0 <= this.__caretIndex && e >= this.__caretIndex) { for (var g = 0; g < a.length; ) { var l = a[g]; ++g; var h = b.lastIndexOf(l, f - 1); h > c && (c = h + 1); h = b.indexOf(l, f); h < e && -1 != h && (e = h); } c != e && (this.setSelection(c, e), (a = !0), Ka.__supportDOM && (this.__renderedOnCanvasWhileOnDOM && (this.__forceCachedBitmapUpdate = !0), (a = !1)), a && ((this.__dirty = !0), this.__renderDirty || ((this.__renderDirty = !0), this.__setParentRenderDirty()))); } } }, window_onKeyDown: function (a, b) { switch (a) { case 8: this.__selectionIndex == this.__caretIndex && 0 < this.__caretIndex && (this.__selectionIndex = this.__caretIndex - 1); this.__selectionIndex != this.__caretIndex ? (this.replaceSelectedText(''), (this.__selectionIndex = this.__caretIndex), this.dispatchEvent(new oa('change', !0))) : (this.__stopCursorTimer(), this.__startCursorTimer()); break; case 97: this.get_selectable() && (Cb.get_metaKey(b) || Cb.get_ctrlKey(b)) && ((this.__caretIndex = this.__text.length), (this.__selectionIndex = 0)); break; case 99: (Cb.get_metaKey(b) || Cb.get_ctrlKey(b)) && this.__caretIndex != this.__selectionIndex && je.set_text(this.__text.substring(this.__caretIndex, this.__selectionIndex)); break; case 120: (Cb.get_metaKey(b) || Cb.get_ctrlKey(b)) && this.__caretIndex != this.__selectionIndex && (je.set_text(this.__text.substring(this.__caretIndex, this.__selectionIndex)), this.replaceSelectedText(''), this.dispatchEvent(new oa('change', !0))); break; case 127: this.__selectionIndex == this.__caretIndex && this.__caretIndex < this.__text.length && (this.__selectionIndex = this.__caretIndex + 1); this.__selectionIndex != this.__caretIndex ? (this.replaceSelectedText(''), (this.__selectionIndex = this.__caretIndex), this.dispatchEvent(new oa('change', !0))) : (this.__stopCursorTimer(), this.__startCursorTimer()); break; case 1073741898: this.get_selectable() && (Cb.get_metaKey(b) || Cb.get_ctrlKey(b) ? (this.__caretIndex = 0) : this.__caretBeginningOfLine(), Cb.get_shiftKey(b) || (this.__selectionIndex = this.__caretIndex), this.setSelection(this.__selectionIndex, this.__caretIndex)); break; case 1073741901: this.get_selectable() && (Cb.get_metaKey(b) || Cb.get_ctrlKey(b) ? (this.__caretIndex = this.__text.length) : this.__caretEndOfLine(), Cb.get_shiftKey(b) || (this.__selectionIndex = this.__caretIndex), this.setSelection(this.__selectionIndex, this.__caretIndex)); break; case 1073741903: this.get_selectable() && (Cb.get_metaKey(b) || Cb.get_ctrlKey(b) ? this.__caretBeginningOfNextLine() : this.__caretNextCharacter(), Cb.get_shiftKey(b) || (this.__selectionIndex = this.__caretIndex), this.setSelection(this.__selectionIndex, this.__caretIndex)); break; case 1073741904: this.get_selectable() && (Cb.get_metaKey(b) || Cb.get_ctrlKey(b) ? this.__caretBeginningOfPreviousLine() : this.__caretPreviousCharacter(), Cb.get_shiftKey(b) || (this.__selectionIndex = this.__caretIndex), this.setSelection(this.__selectionIndex, this.__caretIndex)); break; case 1073741905: this.get_selectable() && (Cb.get_metaKey(b) || Cb.get_ctrlKey(b) ? (this.__caretIndex = this.__text.length) : this.__caretNextLine(), Cb.get_shiftKey(b) || (this.__selectionIndex = this.__caretIndex), this.setSelection(this.__selectionIndex, this.__caretIndex)); break; case 1073741906: this.get_selectable() && (Cb.get_metaKey(b) || Cb.get_ctrlKey(b) ? (this.__caretIndex = 0) : this.__caretPreviousLine(), Cb.get_shiftKey(b) || (this.__selectionIndex = this.__caretIndex), this.setSelection(this.__selectionIndex, this.__caretIndex)); break; case 13: case 1073741912: this.__textEngine.multiline ? ((a = new bf('textInput', !0, !0, '\n')), this.dispatchEvent(a), a.isDefaultPrevented() || (this.__replaceSelectedText('\n', !0), this.dispatchEvent(new oa('change', !0)))) : (this.__stopCursorTimer(), this.__startCursorTimer()); } }, window_onTextInput: function (a) { this.__replaceSelectedText(a, !0); this.dispatchEvent(new oa('change', !0)); }, __class__: We, __properties__: t(xb.prototype.__properties__, { set_wordWrap: 'set_wordWrap', get_wordWrap: 'get_wordWrap', set_type: 'set_type', get_type: 'get_type', get_textWidth: 'get_textWidth', get_textHeight: 'get_textHeight', set_textColor: 'set_textColor', get_textColor: 'get_textColor', set_text: 'set_text', get_text: 'get_text', set_sharpness: 'set_sharpness', get_sharpness: 'get_sharpness', get_selectionEndIndex: 'get_selectionEndIndex', get_selectionBeginIndex: 'get_selectionBeginIndex', set_selectable: 'set_selectable', get_selectable: 'get_selectable', set_scrollV: 'set_scrollV', get_scrollV: 'get_scrollV', set_scrollH: 'set_scrollH', get_scrollH: 'get_scrollH', set_restrict: 'set_restrict', get_restrict: 'get_restrict', get_numLines: 'get_numLines', set_multiline: 'set_multiline', get_multiline: 'get_multiline', set_mouseWheelEnabled: 'set_mouseWheelEnabled', get_mouseWheelEnabled: 'get_mouseWheelEnabled', get_maxScrollV: 'get_maxScrollV', get_maxScrollH: 'get_maxScrollH', set_maxChars: 'set_maxChars', get_maxChars: 'get_maxChars', get_length: 'get_length', set_htmlText: 'set_htmlText', get_htmlText: 'get_htmlText', set_gridFitType: 'set_gridFitType', get_gridFitType: 'get_gridFitType', set_embedFonts: 'set_embedFonts', get_embedFonts: 'get_embedFonts', set_displayAsPassword: 'set_displayAsPassword', get_displayAsPassword: 'get_displayAsPassword', set_defaultTextFormat: 'set_defaultTextFormat', get_defaultTextFormat: 'get_defaultTextFormat', get_caretIndex: 'get_caretIndex', get_bottomScrollV: 'get_bottomScrollV', set_borderColor: 'set_borderColor', get_borderColor: 'get_borderColor', set_border: 'set_border', get_border: 'get_border', set_backgroundColor: 'set_backgroundColor', get_backgroundColor: 'get_backgroundColor', set_background: 'set_background', get_background: 'get_background', set_autoSize: 'set_autoSize', get_autoSize: 'get_autoSize', set_antiAliasType: 'set_antiAliasType', get_antiAliasType: 'get_antiAliasType' }) }); var Pg = function (a, b, c, e, f, g, l, h, k, r, n, p, u) { this.font = a; this.size = b; this.color = c; this.bold = e; this.italic = f; this.underline = g; this.url = l; this.target = h; this.align = k; this.leftMargin = r; this.rightMargin = n; this.indent = p; this.leading = u; }; k['openfl.text.TextFormat'] = Pg; Pg.__name__ = 'openfl.text.TextFormat'; Pg.prototype = { align: null, blockIndent: null, bold: null, bullet: null, color: null, font: null, indent: null, italic: null, kerning: null, leading: null, leftMargin: null, letterSpacing: null, rightMargin: null, size: null, tabStops: null, target: null, underline: null, url: null, __ascent: null, __descent: null, clone: function () { var a = new Pg( this.font, this.size, this.color, this.bold, this.italic, this.underline, this.url, this.target ); a.align = this.align; a.leftMargin = this.leftMargin; a.rightMargin = this.rightMargin; a.indent = this.indent; a.leading = this.leading; a.blockIndent = this.blockIndent; a.bullet = this.bullet; a.kerning = this.kerning; a.letterSpacing = this.letterSpacing; a.tabStops = this.tabStops; a.__ascent = this.__ascent; a.__descent = this.__descent; return a; }, __merge: function (a) { null != a.font && (this.font = a.font); null != a.size && (this.size = a.size); null != a.color && (this.color = a.color); null != a.bold && (this.bold = a.bold); null != a.italic && (this.italic = a.italic); null != a.underline && (this.underline = a.underline); null != a.url && (this.url = a.url); null != a.target && (this.target = a.target); null != a.align && (this.align = a.align); null != a.leftMargin && (this.leftMargin = a.leftMargin); null != a.rightMargin && (this.rightMargin = a.rightMargin); null != a.indent && (this.indent = a.indent); null != a.leading && (this.leading = a.leading); null != a.blockIndent && (this.blockIndent = a.blockIndent); null != a.bullet && (this.bullet = a.bullet); null != a.kerning && (this.kerning = a.kerning); null != a.letterSpacing && (this.letterSpacing = a.letterSpacing); null != a.tabStops && (this.tabStops = a.tabStops); null != a.__ascent && (this.__ascent = a.__ascent); null != a.__descent && (this.__descent = a.__descent); }, __class__: Pg }; var hk = { fromString: function (a) { switch (a) { case 'center': return 0; case 'end': return 1; case 'justify': return 2; case 'left': return 3; case 'right': return 4; case 'start': return 5; default: return null; } }, toString: function (a) { switch (a) { case 0: return 'center'; case 1: return 'end'; case 2: return 'justify'; case 3: return 'left'; case 4: return 'right'; case 5: return 'start'; default: return null; } } }, hp = function (a, b, c, e, f, g) { this.x = a; this.width = b; this.height = c; this.ascent = e; this.descent = f; this.leading = g; }; k['openfl.text.TextLineMetrics'] = hp; hp.__name__ = 'openfl.text.TextLineMetrics'; hp.prototype = { ascent: null, descent: null, height: null, leading: null, width: null, x: null, __class__: hp }; var ip = function (a, b, c) { this.glyph = a; this.advance = b; this.offset = null != c ? c : new Xd(); }; k['openfl.text._internal.GlyphPosition'] = ip; ip.__name__ = 'openfl.text._internal.GlyphPosition'; ip.prototype = { advance: null, glyph: null, offset: null, __class__: ip }; var zb = function () {}; k['openfl.text._internal.HTMLParser'] = zb; zb.__name__ = 'openfl.text._internal.HTMLParser'; zb.parse = function (a, b, c) { a = a.replace(zb.__regexBreakTag.r, '\n'); a = a.replace(zb.__regexEntities[5].r, ' '); var d = a.split('<'); if (1 == d.length) (a = T.htmlUnescape(a.replace(zb.__regexHTMLTag.r, ''))), 1 < c.get_length() && c.splice(1, c.get_length() - 1), (c = c.get(0)), (c.format = b), (c.start = 0), (c.end = a.length); else { c.splice(0, c.get_length()); a = ''; for (var f, g = [b.clone()], l = [], h = !1, k = 0; k < d.length; ) if (((f = d[k]), ++k, '' != f)) { var r = '/' == C.substr(f, 0, 1), n = f.indexOf('>'), p = n + 1, u = f.indexOf(' '); u = f.substring(r ? 1 : 0, -1 < u && u < n ? u : n); if (r) 0 == l.length || u.toLowerCase() != l[l.length - 1].toLowerCase() ? Va.info('Invalid HTML, unexpected closing tag ignored: ' + u, { fileName: 'openfl/text/_internal/HTMLParser.hx', lineNumber: 82, className: 'openfl.text._internal.HTMLParser', methodName: 'parse' }) : (l.pop(), g.pop(), (r = g[g.length - 1].clone()), 'p' == u.toLowerCase() && 0 < c.get_length() && ((a += '\n'), (h = !0)), p < f.length && ((f = T.htmlUnescape(C.substr(f, p, null))), c.push(new cf(r, a.length, a.length + f.length)), (a += f), (h = !1))); else if (((r = g[g.length - 1].clone()), -1 < n)) { switch (u.toLowerCase()) { case 'a': zb.__regexHref.match(f) && (r.url = zb.__getAttributeMatch(zb.__regexHref)); break; case 'b': r.bold = !0; break; case 'em': case 'i': r.italic = !0; break; case 'font': zb.__regexFace.match(f) && (r.font = zb.__getAttributeMatch(zb.__regexFace)); zb.__regexColor.match(f) && (r.color = z.parseInt('0x' + zb.__getAttributeMatch(zb.__regexColor))); if (zb.__regexSize.match(f)) { n = zb.__getAttributeMatch(zb.__regexSize); var m = C.cca(n, 0); r.size = 43 == m || 45 == m ? (2 <= g.length ? g[g.length - 2] : b).size + z.parseInt(n) : z.parseInt(n); } break; case 'p': 0 < c.get_length() && !h && (a += '\n'); zb.__regexAlign.match(f) && ((n = zb.__getAttributeMatch(zb.__regexAlign).toLowerCase()), (r.align = hk.fromString(n))); break; case 'textformat': zb.__regexBlockIndent.match(f) && (r.blockIndent = z.parseInt(zb.__getAttributeMatch(zb.__regexBlockIndent))); zb.__regexIndent.match(f) && (r.indent = z.parseInt(zb.__getAttributeMatch(zb.__regexIndent))); zb.__regexLeading.match(f) && (r.leading = z.parseInt(zb.__getAttributeMatch(zb.__regexLeading))); zb.__regexLeftMargin.match(f) && (r.leftMargin = z.parseInt(zb.__getAttributeMatch(zb.__regexLeftMargin))); zb.__regexRightMargin.match(f) && (r.rightMargin = z.parseInt(zb.__getAttributeMatch(zb.__regexRightMargin))); if (zb.__regexTabStops.match(f)) { n = zb.__getAttributeMatch(zb.__regexTabStops).split(' '); m = []; for (var t = 0; t < n.length; ) { var x = n[t]; ++t; m.push(z.parseInt(x)); } r.tabStops = m; } break; case 'u': r.underline = !0; } g.push(r); l.push(u); p < f.length && ((f = T.htmlUnescape(f.substring(p))), c.push(new cf(r, a.length, a.length + f.length)), (a += f), (h = !1)); } else (f = T.htmlUnescape(f)), c.push(new cf(r, a.length, a.length + f.length)), (a += f), (h = !1); } 0 == c.get_length() && c.push(new cf(g[0], 0, 0)); } return a; }; zb.__getAttributeMatch = function (a) { return null != a.matched(2) ? a.matched(2) : a.matched(3); }; var Qb = function (a) { this.textField = a; this.height = this.width = 100; this.set_text(''); this.bounds = new ea(0, 0, 0, 0); this.textBounds = new ea(0, 0, 0, 0); this.type = 0; this.autoSize = 2; this.embedFonts = !1; this.selectable = !0; this.borderColor = 0; this.border = !1; this.backgroundColor = 16777215; this.background = !1; this.gridFitType = 1; this.maxChars = 0; this.multiline = !1; this.numLines = 1; this.scrollH = this.sharpness = 0; this.set_scrollV(1); this.wordWrap = !1; this.lineAscents = Ab.toFloatVector(null); this.lineBreaks = Ab.toIntVector(null); this.lineDescents = Ab.toFloatVector(null); this.lineLeadings = Ab.toFloatVector(null); this.lineHeights = Ab.toFloatVector(null); this.lineWidths = Ab.toFloatVector(null); this.layoutGroups = Ab.toObjectVector(null); this.textFormatRanges = Ab.toObjectVector(null); null == Qb.__context && (Qb.__context = window.document.createElement('canvas').getContext('2d')); }; k['openfl.text._internal.TextEngine'] = Qb; Qb.__name__ = 'openfl.text._internal.TextEngine'; Qb.findFont = function (a) { return Rc.__fontByName.h[a]; }; Qb.findFontVariant = function (a) { var b = a.font, c = a.bold; a = a.italic; null == b && (b = '_serif'); var e = T.replace(T.replace(b, ' Normal', ''), ' Regular', ''); return c && a && Object.prototype.hasOwnProperty.call(Rc.__fontByName.h, e + ' Bold Italic') ? Qb.findFont(e + ' Bold Italic') : c && Object.prototype.hasOwnProperty.call(Rc.__fontByName.h, e + ' Bold') ? Qb.findFont(e + ' Bold') : a && Object.prototype.hasOwnProperty.call(Rc.__fontByName.h, e + ' Italic') ? Qb.findFont(e + ' Italic') : Qb.findFont(b); }; Qb.getFormatHeight = function (a) { Qb.__context.font = Qb.getFont(a); var b = Qb.getFontInstance(a); if (null != a.__ascent) { var c = a.size * a.__ascent; b = a.size * a.__descent; } else null != b && 0 != b.unitsPerEM ? ((c = (b.ascender / b.unitsPerEM) * a.size), (b = Math.abs((b.descender / b.unitsPerEM) * a.size))) : ((c = a.size), (b = 0.185 * a.size)); return c + b + a.leading; }; Qb.getFont = function (a) { var b = a.font, c = a.bold, e = a.italic; null == b && (b = '_serif'); var f = T.replace(T.replace(b, ' Normal', ''), ' Regular', ''); c && e && Object.prototype.hasOwnProperty.call(Rc.__fontByName.h, f + ' Bold Italic') ? ((b = f + ' Bold Italic'), (e = c = !1)) : c && Object.prototype.hasOwnProperty.call(Rc.__fontByName.h, f + ' Bold') ? ((b = f + ' Bold'), (c = !1)) : e && Object.prototype.hasOwnProperty.call(Rc.__fontByName.h, f + ' Italic') ? ((b = f + ' Italic'), (e = !1)) : (c && (-1 < b.indexOf(' Bold ') || T.endsWith(b, ' Bold')) && (c = !1), e && (-1 < b.indexOf(' Italic ') || T.endsWith(b, ' Italic')) && (e = !1)); c = (e ? 'italic ' : 'normal ') + 'normal ' + (c ? 'bold ' : 'normal '); c += a.size + 'px'; c += '/' + (a.leading + a.size + 3) + 'px '; switch (b) { case '_sans': a = 'sans-serif'; break; case '_serif': a = 'serif'; break; case '_typewriter': a = 'monospace'; break; default: a = "'" + b.replace(/^[\s'"]+(.*)[\s'"]+$/, '$1') + "'"; } return (c += '' + a); }; Qb.getFontInstance = function (a) { return Qb.findFontVariant(a); }; Qb.prototype = { antiAliasType: null, autoSize: null, background: null, backgroundColor: null, border: null, borderColor: null, bottomScrollV: null, bounds: null, caretIndex: null, embedFonts: null, gridFitType: null, height: null, layoutGroups: null, lineAscents: null, lineBreaks: null, lineDescents: null, lineLeadings: null, lineHeights: null, lineWidths: null, maxChars: null, maxScrollH: null, maxScrollV: null, multiline: null, numLines: null, restrict: null, scrollH: null, scrollV: null, selectable: null, sharpness: null, text: null, textBounds: null, textHeight: null, textFormatRanges: null, textWidth: null, type: null, width: null, wordWrap: null, textField: null, __cursorTimer: null, __hasFocus: null, __isKeyDown: null, __measuredHeight: null, __measuredWidth: null, __restrictRegexp: null, __selectionStart: null, __showCursor: null, __textFormat: null, __textLayout: null, __texture: null, __useIntAdvances: null, __cairoFont: null, __font: null, createRestrictRegexp: function (a) { var b = '', c = []; 0 < new Ja('\\^(.-.|.)', 'gu').map(a, function (a) { b += a.matched(1); return ''; }).length && c.push('[^' + a + ']'); 0 < b.length && c.push('[' + b + ']'); return new Ja('(' + c.join('|') + ')', 'g'); }, getBounds: function () { var a = this.border ? 1 : 0; this.bounds.width = this.width + a; this.bounds.height = this.height + a; for (var b = (a = this.width), c = this.layoutGroups.iterator(); c.hasNext(); ) { var e = c.next(); e.offsetX < a && (a = e.offsetX); e.offsetY < b && (b = e.offsetY); } a >= this.width && (a = 2); b >= this.height && (b = 2); this.textBounds.setTo( Math.max(a - 2, 0), Math.max(b - 2, 0), Math.min(this.textWidth + 4, this.bounds.width + 4), Math.min(1.185 * this.textHeight + 4, this.bounds.height + 4) ); }, getLine: function (a) { return 0 > a || a > this.lineBreaks.get_length() + 1 ? null : 0 == this.lineBreaks.get_length() ? this.text : this.text.substring(0 < a ? this.lineBreaks.get(a - 1) : 0, this.lineBreaks.get(a)); }, getLineBreakIndex: function (a) { null == a && (a = 0); var b = this.text.indexOf('\n', a); a = this.text.indexOf('\r', a); return -1 == b ? a : -1 == a ? b : b < a ? b : a; }, getLineMeasurements: function () { this.lineAscents.set_length(0); this.lineDescents.set_length(0); this.lineLeadings.set_length(0); this.lineHeights.set_length(0); this.lineWidths.set_length(0); var a = 0, b = 0, c = null, e = 0, f = 0, g; this.textHeight = this.textWidth = 0; this.numLines = 1; this.maxScrollH = 0; for (var l = this.layoutGroups.iterator(); l.hasNext(); ) { for (g = l.next(); g.lineIndex > this.numLines - 1; ) this.lineAscents.push(a), this.lineDescents.push(b), this.lineLeadings.push(null != c ? c : 0), this.lineHeights.push(e), this.lineWidths.push(f), (b = a = 0), (c = null), (f = e = 0), this.numLines++; a = Math.max(a, g.ascent); b = Math.max(b, g.descent); c = null == c ? g.leading : Math.max(c, g.leading) | 0; e = Math.max(e, g.height); f = g.offsetX - 2 + g.width; f > this.textWidth && (this.textWidth = f); g = g.offsetY - 2 + g.ascent + g.descent; g > this.textHeight && (this.textHeight = g); } 0 == this.textHeight && null != this.textField && 1 == this.textField.get_type() && ((a = this.textField.__textFormat), (b = Qb.getFontInstance(a)), null != a.__ascent ? ((l = a.size * a.__ascent), (g = a.size * a.__descent)) : null != b && 0 != b.unitsPerEM ? ((l = (b.ascender / b.unitsPerEM) * a.size), (g = Math.abs((b.descender / b.unitsPerEM) * a.size))) : ((l = a.size), (g = 0.185 * a.size)), (c = a.leading), (a = l), (b = g), (this.textHeight = l + g)); this.lineAscents.push(a); this.lineDescents.push(b); this.lineLeadings.push(null != c ? c : 0); this.lineHeights.push(e); this.lineWidths.push(f); 1 == this.numLines && 0 < c && (this.textHeight += c); 0 < this.layoutGroups.get_length() && ((l = this.layoutGroups.get(this.layoutGroups.get_length() - 1)), null != l && l.startIndex == l.endIndex && (this.textHeight -= e)); if (2 != this.autoSize) switch (this.autoSize) { case 0: case 1: case 3: this.wordWrap || (this.width = this.textWidth + 4), (this.height = this.textHeight + 4), (this.bottomScrollV = this.numLines); } this.maxScrollH = this.textWidth > this.width - 4 ? (this.textWidth - this.width + 4) | 0 : 0; this.scrollH > this.maxScrollH && (this.scrollH = this.maxScrollH); }, getLayoutGroups: function () { var a = this; this.layoutGroups.set_length(0); if (null != this.text && '' != this.text) { var b = -1, c = null, e = null, f = We.__defaultTextFormat.clone(), g = 0, l = 0, h = 0, k = 0, n = 3, u = 0, p = 0, m = 0, t = 0, x = !0, v = null, w = null, G = 0, B = 0, N = 0, H = -2, z = -1, E = this.text.indexOf(' '), D = this.getLineBreakIndex(), ya = 0, J = 0, I = 0, F = 0, L = function (b, c, d) { var e = []; if (null == a.__useIntAdvances) { var f = new Ja('Trident/7.0', ''); a.__useIntAdvances = f.match(V.navigator.userAgent); } if (a.__useIntAdvances) { var g = 0; for (f = c; f < d; ) { var l = f++; l = Qb.__context.measureText(b.substring(c, l + 1)).width; e.push(l - g); g = l; } } else for (f = c; f < d; ) (l = f++), l < b.length - 1 ? ((c = Qb.__context.measureText(b.charAt(l + 1)).width), (c = Qb.__context.measureText(C.substr(b, l, 2)).width - c)) : (c = Qb.__context.measureText(b.charAt(l)).width), e.push(c); return e; }, M = function (a) { for (var b = 0, c = 0; c < a.length; ) { var d = a[c]; ++c; b += d; } return b; }, O = function () { return 2 + m + u + (x ? p : 0); }, A = function () { return a.width - 2 - t - O(); }, T = function (b, d) { null == v || v.startIndex != v.endIndex ? ((v = new jn(c.format, b, d)), a.layoutGroups.push(v)) : ((v.format = c.format), (v.startIndex = b), (v.endIndex = d)); }, P = function () { null != f.__ascent ? ((l = f.size * f.__ascent), (k = f.size * f.__descent)) : null != e && 0 != e.unitsPerEM ? ((l = (e.ascender / e.unitsPerEM) * f.size), (k = Math.abs((e.descender / e.unitsPerEM) * f.size))) : ((l = f.size), (k = 0.185 * f.size)); g = f.leading; B = Math.ceil(l + k + g); B > N && (N = B); l > h && (h = l); }, R = function () { x = !0; n = null != f.align ? f.align : 3; u = null != f.blockIndent ? f.blockIndent : 0; p = null != f.indent ? f.indent : 0; m = null != f.leftMargin ? f.leftMargin : 0; t = null != f.rightMargin ? f.rightMargin : 0; }, Aa = function () { return b < a.textFormatRanges.get_length() - 1 ? ((b += 1), (c = a.textFormatRanges.get(b)), f.__merge(c.format), (Qb.__context.font = Qb.getFont(f)), (e = Qb.getFontInstance(f)), !0) : !1; }, S = function (d, e) { if (d >= e) (w = []), (G = 0); else if (e <= c.end) (w = L(a.text, d, e)), (G = M(w)); else { var f = d; d = c.end; var g = 0; w = []; for (G = 0; ; ) if ((f != d && ((f = L(a.text, f, d)), (w = w.concat(f))), d != e)) { if (!Aa()) { Va.warn( "You found a bug in OpenFL's text code! Please save a copy of your project and contact Joshua Granick (@singmajesty) so we can fix this.", { fileName: 'openfl/text/_internal/TextEngine.hx', lineNumber: 1064, className: 'openfl.text._internal.TextEngine', methodName: 'getLayoutGroups' } ); break; } f = d; d = e < c.end ? e : c.end; ++g; } else { G = M(w); break; } b -= g + 1; Aa(); } }, W = function (b) { if (b <= c.end) { w = L(a.text, I, b); G = M(w); T(I, b); v.positions = w; var d = ya, e = O(); v.offsetX = d + e; v.ascent = l; v.descent = k; v.leading = g; v.lineIndex = F; v.offsetY = J + 2; v.width = G; v.height = B; ya += G; b == c.end && ((v = null), Aa(), P()); } else for (;;) { var f = b < c.end ? b : c.end; I != f && ((w = L(a.text, I, f)), (G = M(w)), T(I, f), (v.positions = w), (d = ya), (e = O()), (v.offsetX = d + e), (v.ascent = l), (v.descent = k), (v.leading = g), (v.lineIndex = F), (v.offsetY = J + 2), (v.width = G), (v.height = B), (ya += G), (I = f)); f == c.end && (v = null); if (f == b) break; if (!Aa()) { Va.warn( "You found a bug in OpenFL's text code! Please save a copy of your project and contact Joshua Granick (@singmajesty) so we can fix this.", { fileName: 'openfl/text/_internal/TextEngine.hx', lineNumber: 1152, className: 'openfl.text._internal.TextEngine', methodName: 'getLayoutGroups' } ); break; } P(); } I = b; }, Ga = function () { P(); for (var b = a.layoutGroups.get_length(); -1 < --b; ) { var c = a.layoutGroups.get(b); if (c.lineIndex < F) break; c.lineIndex > F || ((c.ascent = h), (c.height = N)); } J += N; N = h = 0; F += 1; ya = 0; x = !1; }, X = function (b) { if (4 <= a.width && a.wordWrap) { var c = w, d, e, f; for (d = M(c); 0 < c.length && ya + d > A(); ) { for (f = d = e = 0; ya + f < A(); ) { var g = c[d]; 0 == g ? (++d, ++e) : ((f += g), ++d); } if (d == e) d = e + 1; else for (; 1 < d && ya + f > A(); ) --d, 0 < d - e ? (S(I, I + d - e), (f = G)) : ((d = 1), (e = 0), S(I, I + 1), (f = 0)); c = I + d - e; W(c); Ga(); S(c, b); c = w; d = G; } } W(b); }; Aa(); R(); P(); for (var U, aa = this.text.length + 1; I < aa; ) if (-1 < D && (-1 == E || D < E)) I <= D ? (S(I, D), X(D), (v = null)) : null != v && v.startIndex != v.endIndex && (v.endIndex == E && (v.width -= v.positions[v.positions.length - 1]), (v = null)), Ga(), c.end == D && (Aa(), P()), (I = D + 1), (z = D), (D = this.getLineBreakIndex(I)), R(); else if (-1 < E) for ( null != v && v.startIndex != v.endIndex && (v = null), U = !1; I < this.text.length; ) { var K = -1; -1 == E ? (K = D) : ((K = E + 1), -1 < D && D < K && (K = D)); -1 == K && (K = this.text.length); S(I, K); if (2 == n) { if (0 < w.length && I == H) { I += 1; var Q = w.shift(); G -= Q; ya += Q; } 0 < w.length && K == E + 1 && (--K, (Q = w.pop()), (G -= Q)); } this.wordWrap && ya + G > A() && ((U = !0), 0 < w.length && K == E + 1 && ya + G - w[w.length - 1] <= A() && (U = !1)); if (U) { 2 != n && (null != v || 0 < this.layoutGroups.get_length()) && ((U = v), null == U && (U = this.layoutGroups.get(this.layoutGroups.get_length() - 1)), (U.width -= U.positions[U.positions.length - 1]), U.endIndex--); U = this.layoutGroups.get_length() - 1; for (Q = 0; ; ) { v = this.layoutGroups.get(U); if (0 < U && v.startIndex > H) ++Q; else break; --U; } I == H + 1 && Ga(); ya = 0; if (0 < Q) { U = this.layoutGroups.get(this.layoutGroups.get_length() - Q).offsetX; Q = this.layoutGroups.get_length() - Q; for (var Y = this.layoutGroups.get_length(); Q < Y; ) { var Z = Q++; v = this.layoutGroups.get(Z); v.offsetX -= U; v.offsetY = J + 2; v.lineIndex = F; ya += v.width; } } X(K); U = !1; } else null != v && I == E ? (2 != n && ((v.endIndex = E), (v.positions = v.positions.concat(w)), (v.width += G)), (ya += G), (I = K)) : (null == v || 2 == n ? X(K) : ((Q = K < c.end ? K : c.end), Q < K && ((w = L(this.text, I, Q)), (G = M(w))), (v.endIndex = Q), (v.positions = v.positions.concat(w)), (v.width += G), (ya += G), Q == c.end && ((v = null), Aa(), P(), (I = Q), Q != K && W(K)), D == K && ++K, (I = K)), K == this.text.length && Ga()); K = this.text.indexOf(' ', I); D == H && ((v.endIndex = D), 0 > D - v.startIndex - v.positions.length && v.positions.push(0), (I = D + 1)); H = E; E = K; if ((-1 < D && D <= I && (E > D || -1 == E)) || I > this.text.length) break; } else I < this.text.length && (S(I, this.text.length), X(this.text.length), Ga()), (I += 1); z == I - 2 && -1 < z && (T(I - 1, I - 1), (v.positions = []), (v.ascent = l), (v.descent = k), (v.leading = g), (v.lineIndex = F - 1), (v.offsetX = O()), (v.offsetY = J + 2 - B), (v.width = 0), (v.height = B)); } }, restrictText: function (a) { if (null == a) return a; null != this.__restrictRegexp && (a = this.__restrictRegexp.split(a).join('')); return a; }, setTextAlignment: function () { for ( var a = -1, b = 0, c, e, f = !1, g = 0, l = this.layoutGroups.get_length(); g < l; ) { var h = g++; c = this.layoutGroups.get(h); if (c.lineIndex != a) switch ( ((a = c.lineIndex), (b = this.width - 4 - c.format.rightMargin), c.format.align) ) { case 0: b = this.lineWidths.get(a) < b ? Math.round((b - this.lineWidths.get(a)) / 2) : 0; break; case 2: if (this.lineWidths.get(a) < b) { e = 1; for (var k = h + 1, n = this.layoutGroups.get_length(); k < n; ) { var u = k++; if (this.layoutGroups.get(u).lineIndex == a) (0 != u && 32 != C.cca(this.text, this.layoutGroups.get(u).startIndex - 1)) || ++e; else break; } if ( 1 < e && ((c = this.layoutGroups.get(h + e - 1)), (k = C.cca(this.text, c.endIndex)), c.endIndex < this.text.length && 10 != k && 13 != k) ) for ( b = (b - this.lineWidths.get(a)) / (e - 1), f = !0, k = 1; (this.layoutGroups.get(h + k).offsetX += b * k), ++k < e; ); } b = 0; break; case 4: b = this.lineWidths.get(a) < b ? Math.round(b - this.lineWidths.get(a)) : 0; break; default: b = 0; } 0 < b && (c.offsetX += b); } f && this.getLineMeasurements(); }, trimText: function (a) { if (null == a) return a; 0 < this.maxChars && a.length > this.maxChars && (a = C.substr(a, 0, this.maxChars)); return a; }, update: function () { null == this.text || 0 == this.textFormatRanges.get_length() ? (this.lineAscents.set_length(0), this.lineBreaks.set_length(0), this.lineDescents.set_length(0), this.lineLeadings.set_length(0), this.lineHeights.set_length(0), this.lineWidths.set_length(0), this.layoutGroups.set_length(0), (this.textHeight = this.textWidth = 0), (this.numLines = 1), (this.maxScrollH = 0), (this.bottomScrollV = this.maxScrollV = 1)) : (this.getLayoutGroups(), this.getLineMeasurements(), this.setTextAlignment()); this.getBounds(); }, get_bottomScrollV: function () { if (1 == this.numLines || null == this.lineHeights) return 1; for ( var a = this.lineHeights.get_length(), b = this.lineLeadings.get_length() == a ? -this.lineLeadings.get(a - 1) : 0, c = this.get_scrollV() - 1, e = this.lineHeights.get_length(); c < e; ) { var f = c++; if (b + this.lineHeights.get(f) <= this.height - 4) b += this.lineHeights.get(f); else { a = f; break; } } return a < this.get_scrollV() ? this.get_scrollV() : a; }, get_maxScrollV: function () { if (1 == this.numLines || null == this.lineHeights) return 1; for (var a = this.numLines - 1, b = 0, c = a; 0 <= a; ) if (b + this.lineHeights.get(a) <= this.height - 4) (b += this.lineHeights.get(a)), --a; else break; a = a == c ? this.numLines : a + 2; return 1 > a ? 1 : a; }, set_restrict: function (a) { if (this.restrict == a) return this.restrict; this.restrict = a; this.__restrictRegexp = null == this.restrict || 0 == this.restrict.length ? null : this.createRestrictRegexp(a); return this.restrict; }, get_scrollV: function () { if (1 == this.numLines || null == this.lineHeights) return 1; var a = this.get_maxScrollV(); return this.scrollV > a ? a : this.scrollV; }, set_scrollV: function (a) { 1 > a && (a = 1); return (this.scrollV = a); }, set_text: function (a) { return (this.text = a); }, __class__: Qb, __properties__: { set_text: 'set_text', set_scrollV: 'set_scrollV', get_scrollV: 'get_scrollV', set_restrict: 'set_restrict', get_maxScrollV: 'get_maxScrollV', get_bottomScrollV: 'get_bottomScrollV' } }; var cf = function (a, b, c) { this.format = a; this.start = b; this.end = c; }; k['openfl.text._internal.TextFormatRange'] = cf; cf.__name__ = 'openfl.text._internal.TextFormatRange'; cf.prototype = { end: null, format: null, start: null, __class__: cf }; var Td = function (a, b, c, e, f, g) { null == g && (g = 'en'); null == f && (f = 'Zyyy'); null == e && (e = 4); null == c && (c = 12); null == a && (a = ''); this.letterSpacing = 0; this.set_text(a); this.set_font(b); this.set_size(c); this.__direction = e; this.__script = f; this.__language = g; this.positions = []; this.__dirty = !0; this.__create(this.__direction, this.__script, this.__language); }; k['openfl.text._internal.TextLayout'] = Td; Td.__name__ = 'openfl.text._internal.TextLayout'; Td.prototype = { autoHint: null, font: null, glyphs: null, letterSpacing: null, positions: null, size: null, text: null, __buffer: null, __direction: null, __dirty: null, __handle: null, __language: null, __script: null, __font: null, __hbBuffer: null, __hbFont: null, __create: function (a, b, c) { 4 == c.length && ((this.__hbBuffer = Vz._new()), Nz._new(c)); }, __position: function () { this.positions = []; }, get_positions: function () { this.__dirty && ((this.__dirty = !1), this.__position()); return this.positions; }, get_direction: function () { return this.__direction; }, set_direction: function (a) { if (a == this.__direction) return a; this.__direction = a; this.__dirty = !0; return a; }, set_font: function (a) { if (a == this.font) return a; this.font = a; this.__dirty = !0; return a; }, get_glyphs: function () { for (var a = [], b = 0, c = this.get_positions(); b < c.length; ) { var e = c[b]; ++b; a.push(e.glyph); } return a; }, get_language: function () { return this.__language; }, set_language: function (a) { if (a == this.__language) return a; this.__language = a; this.__dirty = !0; return a; }, get_script: function () { return this.__script; }, set_script: function (a) { if (a == this.__script) return a; this.__script = a; this.__dirty = !0; return a; }, set_size: function (a) { if (a == this.size) return a; this.size = a; this.__dirty = !0; return a; }, set_text: function (a) { if (a == this.text) return a; this.text = a; this.__dirty = !0; return a; }, __class__: Td, __properties__: { set_text: 'set_text', set_size: 'set_size', set_script: 'set_script', get_script: 'get_script', get_positions: 'get_positions', set_language: 'set_language', get_language: 'get_language', get_glyphs: 'get_glyphs', set_font: 'set_font', set_direction: 'set_direction', get_direction: 'get_direction' } }; var jn = function (a, b, c) { this.format = a; this.startIndex = b; this.endIndex = c; }; k['openfl.text._internal.TextLayoutGroup'] = jn; jn.__name__ = 'openfl.text._internal.TextLayoutGroup'; jn.prototype = { ascent: null, descent: null, endIndex: null, format: null, height: null, leading: null, lineIndex: null, offsetX: null, offsetY: null, positions: null, startIndex: null, width: null, getAdvance: function (a) { return this.positions[a]; }, __class__: jn }; var Xb = function () { cb.call(this); Xb.__instances.push(this); }; k['openfl.ui.GameInput'] = Xb; Xb.__name__ = 'openfl.ui.GameInput'; Xb.getDeviceAt = function (a) { return 0 <= a && a < Xb.__deviceList.length ? Xb.__deviceList[a] : null; }; Xb.__getDevice = function (a) { if (null == a) return null; if (null == Xb.__devices.h.__keys__[a.__id__]) { var b = zc.__getDeviceData(), c = b[a.id].id; b = zc.__getDeviceData(); b = new kn(c, b[a.id].id); Xb.__deviceList.push(b); Xb.__devices.set(a, b); Xb.numDevices = Xb.__deviceList.length; } return Xb.__devices.h[a.__id__]; }; Xb.__onGamepadAxisMove = function (a, b, c) { a = Xb.__getDevice(a); if (null != a && a.enabled) { if (!a.__axis.h.hasOwnProperty(b)) { if (null == b) var d = 'null'; else switch (b) { case 0: d = 'LEFT_X'; break; case 1: d = 'LEFT_Y'; break; case 2: d = 'RIGHT_X'; break; case 3: d = 'RIGHT_Y'; break; case 4: d = 'TRIGGER_LEFT'; break; case 5: d = 'TRIGGER_RIGHT'; break; default: d = 'UNKNOWN (' + b + ')'; } d = new yf(a, 'AXIS_' + d, -1, 1); a.__axis.h[b] = d; a.__controls.push(d); } d = a.__axis.h[b]; d.value = c; d.dispatchEvent(new oa('change')); } }; Xb.__onGamepadButtonDown = function (a, b) { a = Xb.__getDevice(a); if (null != a && a.enabled) { if (!a.__button.h.hasOwnProperty(b)) { if (null == b) var c = 'null'; else switch (b) { case 0: c = 'A'; break; case 1: c = 'B'; break; case 2: c = 'X'; break; case 3: c = 'Y'; break; case 4: c = 'BACK'; break; case 5: c = 'GUIDE'; break; case 6: c = 'START'; break; case 7: c = 'LEFT_STICK'; break; case 8: c = 'RIGHT_STICK'; break; case 9: c = 'LEFT_SHOULDER'; break; case 10: c = 'RIGHT_SHOULDER'; break; case 11: c = 'DPAD_UP'; break; case 12: c = 'DPAD_DOWN'; break; case 13: c = 'DPAD_LEFT'; break; case 14: c = 'DPAD_RIGHT'; break; default: c = 'UNKNOWN (' + b + ')'; } c = new yf(a, 'BUTTON_' + c, 0, 1); a.__button.h[b] = c; a.__controls.push(c); } c = a.__button.h[b]; c.value = 1; c.dispatchEvent(new oa('change')); } }; Xb.__onGamepadButtonUp = function (a, b) { a = Xb.__getDevice(a); if (null != a && a.enabled) { if (!a.__button.h.hasOwnProperty(b)) { if (null == b) var c = 'null'; else switch (b) { case 0: c = 'A'; break; case 1: c = 'B'; break; case 2: c = 'X'; break; case 3: c = 'Y'; break; case 4: c = 'BACK'; break; case 5: c = 'GUIDE'; break; case 6: c = 'START'; break; case 7: c = 'LEFT_STICK'; break; case 8: c = 'RIGHT_STICK'; break; case 9: c = 'LEFT_SHOULDER'; break; case 10: c = 'RIGHT_SHOULDER'; break; case 11: c = 'DPAD_UP'; break; case 12: c = 'DPAD_DOWN'; break; case 13: c = 'DPAD_LEFT'; break; case 14: c = 'DPAD_RIGHT'; break; default: c = 'UNKNOWN (' + b + ')'; } c = new yf(a, 'BUTTON_' + c, 0, 1); a.__button.h[b] = c; a.__controls.push(c); } c = a.__button.h[b]; c.value = 0; c.dispatchEvent(new oa('change')); } }; Xb.__onGamepadConnect = function (a) { a = Xb.__getDevice(a); if (null != a) for (var b = 0, c = Xb.__instances; b < c.length; ) { var e = c[b]; ++b; e.dispatchEvent(new Gg('deviceAdded', !0, !1, a)); } }; Xb.__onGamepadDisconnect = function (a) { var b = Xb.__devices.h[a.__id__]; if (null != b) { null != Xb.__devices.h.__keys__[a.__id__] && (C.remove(Xb.__deviceList, Xb.__devices.h[a.__id__]), Xb.__devices.remove(a)); Xb.numDevices = Xb.__deviceList.length; a = 0; for (var c = Xb.__instances; a < c.length; ) { var e = c[a]; ++a; e.dispatchEvent(new Gg('deviceRemoved', !0, !1, b)); } } }; Xb.__super__ = cb; Xb.prototype = t(cb.prototype, { addEventListener: function (a, b, c, e, f) { null == f && (f = !1); null == e && (e = 0); null == c && (c = !1); cb.prototype.addEventListener.call(this, a, b, c, e, f); if ('deviceAdded' == a) for (a = 0, b = Xb.__deviceList; a < b.length; ) (c = b[a]), ++a, this.dispatchEvent(new Gg('deviceAdded', !0, !1, c)); }, __class__: Xb }); var yf = function (a, b, c, e, f) { null == f && (f = 0); cb.call(this); this.device = a; this.id = b; this.minValue = c; this.maxValue = e; this.value = f; }; k['openfl.ui.GameInputControl'] = yf; yf.__name__ = 'openfl.ui.GameInputControl'; yf.__super__ = cb; yf.prototype = t(cb.prototype, { device: null, id: null, maxValue: null, minValue: null, value: null, __class__: yf }); var kn = function (a, b) { this.__controls = []; this.__button = new Ya(); this.__axis = new Ya(); this.id = a; this.name = b; a = new yf(this, 'AXIS_0', -1, 1); this.__axis.h[0] = a; this.__controls.push(a); a = new yf(this, 'AXIS_1', -1, 1); this.__axis.h[1] = a; this.__controls.push(a); a = new yf(this, 'AXIS_2', -1, 1); this.__axis.h[2] = a; this.__controls.push(a); a = new yf(this, 'AXIS_3', -1, 1); this.__axis.h[3] = a; this.__controls.push(a); a = new yf(this, 'AXIS_4', -1, 1); this.__axis.h[4] = a; this.__controls.push(a); a = new yf(this, 'AXIS_5', -1, 1); this.__axis.h[5] = a; this.__controls.push(a); for (b = 0; 15 > b; ) { var c = b++; a = new yf(this, 'BUTTON_' + c, 0, 1); this.__button.h[c] = a; this.__controls.push(a); } }; k['openfl.ui.GameInputDevice'] = kn; kn.__name__ = 'openfl.ui.GameInputDevice'; kn.prototype = { enabled: null, id: null, name: null, sampleInterval: null, __axis: null, __button: null, __controls: null, __gamepad: null, getCachedSamples: function (a, b) { return 0; }, getControlAt: function (a) { return 0 <= a && a < this.__controls.length ? this.__controls[a] : null; }, startCachingSamples: function (a, b) {}, stopCachingSamples: function () {}, get_numControls: function () { return this.__controls.length; }, __class__: kn, __properties__: { get_numControls: 'get_numControls' } }; var Fa = function () {}; k['openfl.ui.Keyboard'] = Fa; Fa.__name__ = 'openfl.ui.Keyboard'; Fa.isAccessible = function () { return !1; }; Fa.__convertKeyCode = function (a) { switch (a) { case 8: return 8; case 9: return 9; case 13: return 13; case 27: return 27; case 32: return 32; case 33: return 49; case 34: return 222; case 35: return 51; case 36: return 52; case 37: return 53; case 38: return 55; case 39: return 222; case 40: return 57; case 41: return 48; case 42: return 56; case 44: return 188; case 45: return 189; case 46: return 190; case 47: return 191; case 48: return 48; case 49: return 49; case 50: return 50; case 51: return 51; case 52: return 52; case 53: return 53; case 54: return 54; case 55: return 55; case 56: return 56; case 57: return 57; case 58: return 186; case 59: return 186; case 60: return 60; case 61: return 187; case 62: return 190; case 63: return 191; case 64: return 50; case 91: return 219; case 92: return 220; case 93: return 221; case 94: return 54; case 95: return 189; case 96: return 192; case 97: return 65; case 98: return 66; case 99: return 67; case 100: return 68; case 101: return 69; case 102: return 70; case 103: return 71; case 104: return 72; case 105: return 73; case 106: return 74; case 107: return 75; case 108: return 76; case 109: return 77; case 110: return 78; case 111: return 79; case 112: return 80; case 113: return 81; case 114: return 82; case 115: return 83; case 116: return 84; case 117: return 85; case 118: return 86; case 119: return 87; case 120: return 88; case 121: return 89; case 122: return 90; case 127: return 46; case 1073741881: return 20; case 1073741882: return 112; case 1073741883: return 113; case 1073741884: return 114; case 1073741885: return 115; case 1073741886: return 116; case 1073741887: return 117; case 1073741888: return 118; case 1073741889: return 119; case 1073741890: return 120; case 1073741891: return 121; case 1073741892: return 122; case 1073741893: return 123; case 1073741894: return 301; case 1073741895: return 145; case 1073741896: return 19; case 1073741897: return 45; case 1073741898: return 36; case 1073741899: return 33; case 1073741901: return 35; case 1073741902: return 34; case 1073741903: return 39; case 1073741904: return 37; case 1073741905: return 40; case 1073741906: return 38; case 1073741907: return 144; case 1073741908: return 111; case 1073741909: return 106; case 1073741910: return 109; case 1073741911: return 107; case 1073741912: return 13; case 1073741913: return 97; case 1073741914: return 98; case 1073741915: return 99; case 1073741916: return 100; case 1073741917: return 101; case 1073741918: return 102; case 1073741919: return 103; case 1073741920: return 104; case 1073741921: return 105; case 1073741922: return 96; case 1073741923: return 110; case 1073741925: return 302; case 1073741928: return 124; case 1073741929: return 125; case 1073741930: return 126; case 1073741982: return 13; case 1073742044: return 110; case 1073742048: return 17; case 1073742049: return 16; case 1073742050: return 18; case 1073742051: return 15; case 1073742052: return 17; case 1073742053: return 16; case 1073742054: return 18; case 1073742055: return 15; default: return a; } }; Fa.__getCharCode = function (a, b) { null == b && (b = !1); if (b) { switch (a) { case 48: return 41; case 49: return 33; case 50: return 64; case 51: return 35; case 52: return 36; case 53: return 37; case 54: return 94; case 55: return 38; case 56: return 42; case 57: return 40; case 186: return 58; case 187: return 43; case 188: return 60; case 189: return 95; case 190: return 62; case 191: return 63; case 192: return 126; case 219: return 123; case 220: return 124; case 221: return 125; case 222: return 34; } if (65 <= a && 90 >= a) return a - 65 + 65; } else { switch (a) { case 8: return 8; case 9: return 9; case 13: return 13; case 27: return 27; case 32: return 32; case 186: return 59; case 187: return 61; case 188: return 44; case 189: return 45; case 190: return 46; case 191: return 47; case 192: return 96; case 219: return 91; case 220: return 92; case 221: return 93; case 222: return 39; } if (48 <= a && 57 >= a) return a - 48 + 48; if (65 <= a && 90 >= a) return a - 65 + 97; } if (96 <= a && 105 >= a) return a - 96 + 48; switch (a) { case 8: return 8; case 13: return 13; case 46: return 127; case 106: return 42; case 107: return 43; case 108: return 44; case 110: return 45; case 111: return 46; } return 0; }; Fa.__getKeyLocation = function (a) { switch (a) { case 1073741908: case 1073741909: case 1073741910: case 1073741911: case 1073741912: case 1073741913: case 1073741914: case 1073741915: case 1073741916: case 1073741917: case 1073741918: case 1073741919: case 1073741920: case 1073741921: case 1073741922: case 1073741923: case 1073742044: return 3; case 1073742048: case 1073742049: case 1073742050: case 1073742051: return 1; case 1073742052: case 1073742053: case 1073742054: case 1073742055: return 2; default: return 0; } }; var qe = function () {}; k['openfl.ui.Mouse'] = qe; qe.__name__ = 'openfl.ui.Mouse'; qe.__properties__ = { set_cursor: 'set_cursor', get_cursor: 'get_cursor' }; qe.hide = function () { qe.__hidden = !0; for (var a = 0, b = vd.current.__windows; a < b.length; ) { var c = b[a]; ++a; c.set_cursor(null); } }; qe.show = function () { qe.__hidden = !1; var a = qe.__cursor; qe.__cursor = null; qe.set_cursor(a); }; qe.get_cursor = function () { return qe.__cursor; }; qe.set_cursor = function (a) { null == a && (a = 'auto'); var b = null; switch (a) { case 'arrow': b = lc.ARROW; break; case 'button': b = lc.POINTER; break; case 'crosshair': b = lc.CROSSHAIR; break; case 'custom': b = lc.CUSTOM; break; case 'hand': b = lc.MOVE; break; case 'ibeam': b = lc.TEXT; break; case 'resize_nesw': b = lc.RESIZE_NESW; break; case 'resize_ns': b = lc.RESIZE_NS; break; case 'resize_nwse': b = lc.RESIZE_NWSE; break; case 'resize_we': b = lc.RESIZE_WE; break; case 'wait': b = lc.WAIT; break; case 'waitarrow': b = lc.WAIT_ARROW; } if (null != b && !qe.__hidden) for (var c = 0, e = vd.current.__windows; c < e.length; ) { var f = e[c]; ++c; f.set_cursor(b); } return (qe.__cursor = a); }; var wf = { fromLimeCursor: function (a) { switch (a._hx_index) { case 0: return 'arrow'; case 1: return 'crosshair'; case 2: return 'auto'; case 3: return 'hand'; case 4: return 'button'; case 5: return 'resize_nesw'; case 6: return 'resize_ns'; case 7: return 'resize_nwse'; case 8: return 'resize_we'; case 9: return 'ibeam'; case 10: return 'wait'; case 11: return 'waitarrow'; case 12: return 'custom'; } }, toLimeCursor: function (a) { switch (a) { case 'arrow': return lc.ARROW; case 'auto': return lc.DEFAULT; case 'button': return lc.POINTER; case 'crosshair': return lc.CROSSHAIR; case 'custom': return lc.CUSTOM; case 'hand': return lc.MOVE; case 'ibeam': return lc.TEXT; case 'resize_nesw': return lc.RESIZE_NESW; case 'resize_ns': return lc.RESIZE_NS; case 'resize_nwse': return lc.RESIZE_NWSE; case 'resize_we': return lc.RESIZE_WE; case 'wait': return lc.WAIT; case 'waitarrow': return lc.WAIT_ARROW; default: return lc.DEFAULT; } } }, ue = function () {}; k['openfl.ui.Multitouch'] = ue; ue.__name__ = 'openfl.ui.Multitouch'; ue.__properties__ = { get_supportsTouchEvents: 'get_supportsTouchEvents' }; ue.get_supportsTouchEvents = function () { return 'ontouchstart' in document.documentElement || (window.DocumentTouch && document instanceof DocumentTouch) ? !0 : !1; }; var X = function (a) { null == a && (a = !1); this.debugEnabled = a; X.initialized || X.init(); }; k['openfl.utils.AGALMiniAssembler'] = X; X.__name__ = 'openfl.utils.AGALMiniAssembler'; X.init = function () { X.initialized = !0; var a = X.OPMAP, b = new Zb('mov', 2, 0, 0); a.h.mov = b; a = X.OPMAP; b = new Zb('add', 3, 1, 0); a.h.add = b; a = X.OPMAP; b = new Zb('sub', 3, 2, 0); a.h.sub = b; a = X.OPMAP; b = new Zb('mul', 3, 3, 0); a.h.mul = b; a = X.OPMAP; b = new Zb('div', 3, 4, 0); a.h.div = b; a = X.OPMAP; b = new Zb('rcp', 2, 5, 0); a.h.rcp = b; a = X.OPMAP; b = new Zb('min', 3, 6, 0); a.h.min = b; a = X.OPMAP; b = new Zb('max', 3, 7, 0); a.h.max = b; a = X.OPMAP; b = new Zb('frc', 2, 8, 0); a.h.frc = b; a = X.OPMAP; b = new Zb('sqt', 2, 9, 0); a.h.sqt = b; a = X.OPMAP; b = new Zb('rsq', 2, 10, 0); a.h.rsq = b; a = X.OPMAP; b = new Zb('pow', 3, 11, 0); a.h.pow = b; a = X.OPMAP; b = new Zb('log', 2, 12, 0); a.h.log = b; a = X.OPMAP; b = new Zb('exp', 2, 13, 0); a.h.exp = b; a = X.OPMAP; b = new Zb('nrm', 2, 14, 0); a.h.nrm = b; a = X.OPMAP; b = new Zb('sin', 2, 15, 0); a.h.sin = b; a = X.OPMAP; b = new Zb('cos', 2, 16, 0); a.h.cos = b; a = X.OPMAP; b = new Zb('crs', 3, 17, 0); a.h.crs = b; a = X.OPMAP; b = new Zb('dp3', 3, 18, 0); a.h.dp3 = b; a = X.OPMAP; b = new Zb('dp4', 3, 19, 0); a.h.dp4 = b; a = X.OPMAP; b = new Zb('abs', 2, 20, 0); a.h.abs = b; a = X.OPMAP; b = new Zb('neg', 2, 21, 0); a.h.neg = b; a = X.OPMAP; b = new Zb('sat', 2, 22, 0); a.h.sat = b; a = X.OPMAP; b = new Zb('m33', 3, 23, 16); a.h.m33 = b; a = X.OPMAP; b = new Zb('m44', 3, 24, 16); a.h.m44 = b; a = X.OPMAP; b = new Zb('m34', 3, 25, 16); a.h.m34 = b; a = X.OPMAP; b = new Zb('ddx', 2, 26, 288); a.h.ddx = b; a = X.OPMAP; b = new Zb('ddy', 2, 27, 288); a.h.ddy = b; a = X.OPMAP; b = new Zb('ife', 2, 28, 897); a.h.ife = b; a = X.OPMAP; b = new Zb('ine', 2, 29, 897); a.h.ine = b; a = X.OPMAP; b = new Zb('ifg', 2, 30, 897); a.h.ifg = b; a = X.OPMAP; b = new Zb('ifl', 2, 31, 897); a.h.ifl = b; a = X.OPMAP; b = new Zb('els', 0, 32, 1921); a.h.els = b; a = X.OPMAP; b = new Zb('eif', 0, 33, 1409); a.h.eif = b; a = X.OPMAP; b = new Zb('kil', 1, 39, 160); a.h.kil = b; a = X.OPMAP; b = new Zb('tex', 3, 40, 40); a.h.tex = b; a = X.OPMAP; b = new Zb('sge', 3, 41, 0); a.h.sge = b; a = X.OPMAP; b = new Zb('slt', 3, 42, 0); a.h.slt = b; a = X.OPMAP; b = new Zb('sgn', 2, 43, 0); a.h.sgn = b; a = X.OPMAP; b = new Zb('seq', 3, 44, 0); a.h.seq = b; a = X.OPMAP; b = new Zb('sne', 3, 45, 0); a.h.sne = b; a = X.SAMPLEMAP; b = new Xc('rgba', 8, 0); a.h.rgba = b; a = X.SAMPLEMAP; b = new Xc('compressed', 8, 1); a.h.compressed = b; a = X.SAMPLEMAP; b = new Xc('compressedalpha', 8, 2); a.h.compressedalpha = b; a = X.SAMPLEMAP; b = new Xc('dxt1', 8, 1); a.h.dxt1 = b; a = X.SAMPLEMAP; b = new Xc('dxt5', 8, 2); a.h.dxt5 = b; a = X.SAMPLEMAP; b = new Xc('video', 8, 3); a.h.video = b; a = X.SAMPLEMAP; b = new Xc('2d', 12, 0); a.h['2d'] = b; a = X.SAMPLEMAP; b = new Xc('3d', 12, 2); a.h['3d'] = b; a = X.SAMPLEMAP; b = new Xc('cube', 12, 1); a.h.cube = b; a = X.SAMPLEMAP; b = new Xc('mipnearest', 24, 1); a.h.mipnearest = b; a = X.SAMPLEMAP; b = new Xc('miplinear', 24, 2); a.h.miplinear = b; a = X.SAMPLEMAP; b = new Xc('mipnone', 24, 0); a.h.mipnone = b; a = X.SAMPLEMAP; b = new Xc('nomip', 24, 0); a.h.nomip = b; a = X.SAMPLEMAP; b = new Xc('nearest', 28, 0); a.h.nearest = b; a = X.SAMPLEMAP; b = new Xc('linear', 28, 1); a.h.linear = b; a = X.SAMPLEMAP; b = new Xc('anisotropic2x', 28, 2); a.h.anisotropic2x = b; a = X.SAMPLEMAP; b = new Xc('anisotropic4x', 28, 3); a.h.anisotropic4x = b; a = X.SAMPLEMAP; b = new Xc('anisotropic8x', 28, 4); a.h.anisotropic8x = b; a = X.SAMPLEMAP; b = new Xc('anisotropic16x', 28, 5); a.h.anisotropic16x = b; a = X.SAMPLEMAP; b = new Xc('centroid', 16, 1); a.h.centroid = b; a = X.SAMPLEMAP; b = new Xc('single', 16, 2); a.h.single = b; a = X.SAMPLEMAP; b = new Xc('ignoresampler', 16, 4); a.h.ignoresampler = b; a = X.SAMPLEMAP; b = new Xc('repeat', 20, 1); a.h.repeat = b; a = X.SAMPLEMAP; b = new Xc('wrap', 20, 1); a.h.wrap = b; a = X.SAMPLEMAP; b = new Xc('clamp', 20, 0); a.h.clamp = b; a = X.SAMPLEMAP; b = new Xc('clamp_u_repeat_v', 20, 2); a.h.clamp_u_repeat_v = b; a = X.SAMPLEMAP; b = new Xc('repeat_u_clamp_v', 20, 3); a.h.repeat_u_clamp_v = b; }; X.prototype = { agalcode: null, error: null, verbose: null, debugEnabled: null, assemble2: function (a, b, c, e) { c = this.assemble('vertex', c, b); b = this.assemble('fragment', e, b); a = a.createProgram(); a.upload(c, b); return a; }, assemble: function (a, b, c, e) { null == e && (e = !1); null == c && (c = 1); var d = Oa.getTimer(); this.agalcode = new nc(0); this.error = ''; var g = !1; 'fragment' == a ? (g = !0) : 'vertex' != a && (this.error = 'ERROR: mode needs to be "fragment" or "vertex" but is "' + a + '".'); this.agalcode.__endian = 1; this.agalcode.writeByte(160); this.agalcode.writeUnsignedInt(c); this.agalcode.writeByte(161); this.agalcode.writeByte(g ? 1 : 0); this.initregmap(c, e); a = T.replace(b, '\r', '\n').split('\n'); b = 0; e = a.length; for ( var l = new Ja('<.*>', 'g'), h = new Ja('([\\w\\.\\-\\+]+)', 'gi'), k = new Ja('^\\w{3}', 'ig'), n = new Ja( 'vc\\[([vofi][acostdip]?[d]?)(\\d*)?(\\.[xyzw](\\+\\d{1,3})?)?\\](\\.[xyzw]{1,4})?|([vofi][acostdip]?[d]?)(\\d*)?(\\.[xyzw]{1,4})?', 'gi' ), u = new Ja('\\[.*\\]', 'ig'), p = new Ja('^\\b[A-Za-z]{1,3}', 'ig'), m = new Ja('\\d+', ''), t = new Ja('(\\.[xyzw]{1,4})', ''), x = new Ja('[A-Za-z]{1,3}', 'ig'), v = new Ja('(\\.[xyzw]{1,1})', ''), w = new Ja('\\+\\d{1,3}', 'ig'), G = 0; G < e && '' == this.error; ) { var B = T.trim(a[G]), N = B.indexOf('//'); -1 != N && (B = C.substr(B, 0, N)); var H = l.match(B) ? l.matchedPos().pos : -1; N = null; -1 != H && ((N = this.match(C.substr(B, H, null), h)), (B = C.substr(B, 0, H))); var E = null; k.match(B) && ((H = k.matched(0)), (E = X.OPMAP.h[H])); if (null == E) 3 <= B.length && Va.warn('warning: bad line ' + G + ': ' + a[G], { fileName: 'openfl/utils/AGALMiniAssembler.hx', lineNumber: 262, className: 'openfl.utils.AGALMiniAssembler', methodName: 'assemble' }); else if ( (this.debugEnabled && Va.info(E, { fileName: 'openfl/utils/AGALMiniAssembler.hx', lineNumber: 272, className: 'openfl.utils.AGALMiniAssembler', methodName: 'assemble' }), null == E) ) 3 <= B.length && Va.warn('warning: bad line ' + G + ': ' + a[G], { fileName: 'openfl/utils/AGALMiniAssembler.hx', lineNumber: 279, className: 'openfl.utils.AGALMiniAssembler', methodName: 'assemble' }); else { B = C.substr(B, B.indexOf(E.name) + E.name.length, null); if (0 != (E.flags & 256) && 2 > c) { this.error = 'error: opcode requires version 2.'; break; } if (0 != (E.flags & 64) && g) { this.error = 'error: opcode is only allowed in vertex programs.'; break; } if (0 != (E.flags & 32) && !g) { this.error = 'error: opcode is only allowed in fragment programs.'; break; } this.verbose && Va.info('emit opcode=' + z.string(E), { fileName: 'openfl/utils/AGALMiniAssembler.hx', lineNumber: 308, className: 'openfl.utils.AGALMiniAssembler', methodName: 'assemble' }); this.agalcode.writeUnsignedInt(E.emitCode); ++b; if (4096 < b) { this.error = 'error: too many opcodes. maximum is 4096.'; break; } var D = this.match(B, n); if (D.length != E.numRegister) { this.error = 'error: wrong number of operands. found ' + D.length + ' but expected ' + E.numRegister + '.'; break; } var ya = !1, I = 160; B = 0; for (H = D.length; B < H; ) { var J = B++, F = !1, L = this.match(D[J], u); 0 < L.length && ((D[J] = T.replace(D[J], L[0], '0')), this.verbose && Va.info('IS REL', { fileName: 'openfl/utils/AGALMiniAssembler.hx', lineNumber: 344, className: 'openfl.utils.AGALMiniAssembler', methodName: 'assemble' }), (F = !0)); var M = this.match(D[J], p); if (0 == M.length) { this.error = 'error: could not parse operand ' + J + ' (' + D[J] + ').'; ya = !0; break; } var O = X.REGMAP.h[M[0]]; this.debugEnabled && Va.info(O, { fileName: 'openfl/utils/AGALMiniAssembler.hx', lineNumber: 363, className: 'openfl.utils.AGALMiniAssembler', methodName: 'assemble' }); if (null == O) { this.error = 'error: could not find register name for operand ' + J + ' (' + D[J] + ').'; ya = !0; break; } if (g) { if (0 == (O.flags & 32)) { this.error = 'error: register operand ' + J + ' (' + D[J] + ') only allowed in vertex programs.'; ya = !0; break; } if (F) { this.error = 'error: register operand ' + J + ' (' + D[J] + ') relative adressing not allowed in fragment programs.'; ya = !0; break; } } else if (0 == (O.flags & 64)) { this.error = 'error: register operand ' + J + ' (' + D[J] + ') only allowed in fragment programs.'; ya = !0; break; } D[J] = C.substr(D[J], D[J].indexOf(O.name) + O.name.length, null); var A = F ? this.match(L[0], m) : this.match(D[J], m); M = 0; 0 < A.length && (M = z.parseInt(A[0])); if (Ba.gt(M, O.range)) { B = O.range + 1; this.error = 'error: register operand ' + J + ' (' + D[J] + ') index exceeds limit of ' + (null == B ? 'null' : z.string(Ba.toFloat(B))) + '.'; ya = !0; break; } var P = this.match(D[J], t), R = 0 == J && 0 == (E.flags & 128), Aa = 2 == J && 0 != (E.flags & 8), S = 0, U = 0, K = 0; if (R && F) { this.error = 'error: relative can not be destination'; ya = !0; break; } if (0 < P.length) { for (var Ga = (A = 0), W = P[0].length, Q = 1; Q < W; ) (Ga = C.cca(P[0], Q) - 120), Ba.gt(Ga, 2) && (Ga = 3), (A = R ? A | (1 << Ga) : A | (Ga << ((Q - 1) << 1))), ++Q; if (!R) for (; 4 >= Q; ) (A |= Ga << ((Q - 1) << 1)), ++Q; } else A = R ? 15 : 228; if (F) { P = this.match(L[0], x); S = X.REGMAP.h[P[0]]; if (null == S) { this.error = 'error: bad index register'; ya = !0; break; } S = S.emitCode; Ga = this.match(L[0], v); if (0 == Ga.length) { this.error = 'error: bad index register select'; ya = !0; break; } U = C.cca(Ga[0], 1) - 120; Ba.gt(U, 2) && (U = 3); L = this.match(L[0], w); 0 < L.length && (K = z.parseInt(L[0])); if (0 > K || 255 < K) { this.error = 'error: index offset ' + K + ' out of bounds. [0..255]'; ya = !0; break; } this.verbose && Va.info( 'RELATIVE: type=' + S + '==' + P[0] + ' sel=' + (null == U ? 'null' : z.string(Ba.toFloat(U))) + '==' + Ga[0] + ' idx=' + (null == M ? 'null' : z.string(Ba.toFloat(M))) + ' offset=' + K, { fileName: 'openfl/utils/AGALMiniAssembler.hx', lineNumber: 518, className: 'openfl.utils.AGALMiniAssembler', methodName: 'assemble' } ); } this.verbose && Va.info( ' emit argcode=' + z.string(O) + '[' + (null == M ? 'null' : z.string(Ba.toFloat(M))) + '][' + A + ']', { fileName: 'openfl/utils/AGALMiniAssembler.hx', lineNumber: 525, className: 'openfl.utils.AGALMiniAssembler', methodName: 'assemble' } ); if (R) this.agalcode.writeShort(M), this.agalcode.writeByte(A), this.agalcode.writeByte(O.emitCode), (I -= 32); else { if (Aa) { this.verbose && Va.info(' emit sampler', { fileName: 'openfl/utils/AGALMiniAssembler.hx', lineNumber: 541, className: 'openfl.utils.AGALMiniAssembler', methodName: 'assemble' }); J = 5; L = F = 0; for (O = null == N ? 0 : N.length; L < O; ) (A = L++), this.verbose && Va.info(' opt: ' + N[A], { fileName: 'openfl/utils/AGALMiniAssembler.hx', lineNumber: 552, className: 'openfl.utils.AGALMiniAssembler', methodName: 'assemble' }), (R = X.SAMPLEMAP.h[N[A]]), null == R ? ((F = parseFloat(N[A])), this.verbose && Va.info(' bias: ' + F, { fileName: 'openfl/utils/AGALMiniAssembler.hx', lineNumber: 565, className: 'openfl.utils.AGALMiniAssembler', methodName: 'assemble' })) : (16 != R.flag && (J &= ~(15 << R.flag)), (J |= R.mask << R.flag)); this.agalcode.writeShort(M); this.agalcode.writeByte((8 * F) | 0); this.agalcode.writeByte(0); this.agalcode.writeUnsignedInt(J); this.verbose && Va.info(' bits: ' + (J - 5), { fileName: 'openfl/utils/AGALMiniAssembler.hx', lineNumber: 586, className: 'openfl.utils.AGALMiniAssembler', methodName: 'assemble' }); } else 0 == J && (this.agalcode.writeUnsignedInt(0), (I -= 32)), this.agalcode.writeShort(M), this.agalcode.writeByte(K), this.agalcode.writeByte(A), this.agalcode.writeByte(O.emitCode), this.agalcode.writeByte(S), this.agalcode.writeShort(F ? U | 32768 : 0); I -= 64; } } for (B = 0; B < I; ) this.agalcode.writeByte(0), (B += 8); if (ya) break; } ++G; } '' != this.error && ((this.error += '\n at line ' + G + ' ' + a[G]), Bb.set_length(this.agalcode, 0), Va.info(this.error, { fileName: 'openfl/utils/AGALMiniAssembler.hx', lineNumber: 631, className: 'openfl.utils.AGALMiniAssembler', methodName: 'assemble' })); if (this.debugEnabled) { c = 'generated bytecode:'; g = Bb.get_length(this.agalcode); B = 0; for (H = g; B < H; ) (g = B++), 0 == g % 16 && (c += '\n'), 0 == g % 4 && (c += ' '), (g = T.hex(this.agalcode.b[g], 2)), 2 > g.length && (g = '0' + g), (c += g); Va.info(c, { fileName: 'openfl/utils/AGALMiniAssembler.hx', lineNumber: 662, className: 'openfl.utils.AGALMiniAssembler', methodName: 'assemble' }); } this.verbose && Va.info('AGALMiniAssembler.assemble time: ' + (Oa.getTimer() - d) / 1e3 + 's', { fileName: 'openfl/utils/AGALMiniAssembler.hx', lineNumber: 667, className: 'openfl.utils.AGALMiniAssembler', methodName: 'assemble' }); return this.agalcode; }, initregmap: function (a, b) { var c = X.REGMAP, e = new nf('va', 'vertex attribute', 0, b ? 1024 : 1 == a || 2 == a ? 7 : 15, 66); c.h.va = e; c = X.REGMAP; e = new nf('vc', 'vertex constant', 1, b ? 1024 : 1 == a ? 127 : 249, 66); c.h.vc = e; c = X.REGMAP; e = new nf('vt', 'vertex temporary', 2, b ? 1024 : 1 == a ? 7 : 25, 67); c.h.vt = e; c = X.REGMAP; e = new nf('vo', 'vertex output', 3, b ? 1024 : 0, 65); c.h.vo = e; c = X.REGMAP; e = new nf('vi', 'varying', 4, b ? 1024 : 1 == a ? 7 : 9, 99); c.h.vi = e; c = X.REGMAP; e = new nf('fc', 'fragment constant', 1, b ? 1024 : 1 == a ? 27 : 2 == a ? 63 : 199, 34); c.h.fc = e; c = X.REGMAP; e = new nf('ft', 'fragment temporary', 2, b ? 1024 : 1 == a ? 7 : 25, 35); c.h.ft = e; c = X.REGMAP; e = new nf('fs', 'texture sampler', 5, b ? 1024 : 7, 34); c.h.fs = e; c = X.REGMAP; e = new nf('fo', 'fragment output', 3, b ? 1024 : 1 == a ? 0 : 3, 33); c.h.fo = e; c = X.REGMAP; e = new nf('fd', 'fragment depth output', 6, b ? 1024 : 1 == a ? -1 : 0, 33); c.h.fd = e; c = X.REGMAP; e = new nf('iid', 'instance id', 7, b ? 1024 : 0, 66); c.h.iid = e; e = X.REGMAP.h.vo; X.REGMAP.h.op = e; e = X.REGMAP.h.vi; X.REGMAP.h.i = e; e = X.REGMAP.h.vi; X.REGMAP.h.v = e; e = X.REGMAP.h.fo; X.REGMAP.h.oc = e; e = X.REGMAP.h.fd; X.REGMAP.h.od = e; e = X.REGMAP.h.vi; X.REGMAP.h.fi = e; }, match: function (a, b) { for (var c = [], e = 0; b.matchSub(a, e); ) (e = b.matched(0)), c.push(e), (e = b.matchedPos().pos + e.length); return c; }, __class__: X }; var Zb = function (a, b, c, e) { this.name = a; this.numRegister = b; this.emitCode = c; this.flags = e; }; k['openfl.utils._AGALMiniAssembler.OpCode'] = Zb; Zb.__name__ = 'openfl.utils._AGALMiniAssembler.OpCode'; Zb.prototype = { emitCode: null, flags: null, name: null, numRegister: null, toString: function () { return ( '[OpCode name="' + this.name + '", numRegister=' + this.numRegister + ', emitCode=' + this.emitCode + ', flags=' + this.flags + ']' ); }, __class__: Zb }; var nf = function (a, b, c, e, f) { this.name = a; this.longName = b; this.emitCode = c; this.range = e; this.flags = f; }; k['openfl.utils._AGALMiniAssembler.Register'] = nf; nf.__name__ = 'openfl.utils._AGALMiniAssembler.Register'; nf.prototype = { emitCode: null, name: null, longName: null, flags: null, range: null, toString: function () { return ( '[Register name="' + this.name + '", longName="' + this.longName + '", emitCode=' + (null == this.emitCode ? 'null' : z.string(Ba.toFloat(this.emitCode))) + ', range=' + (null == this.range ? 'null' : z.string(Ba.toFloat(this.range))) + ', flags=' + (null == this.flags ? 'null' : z.string(Ba.toFloat(this.flags))) + ']' ); }, __class__: nf }; var Xc = function (a, b, c) { this.name = a; this.flag = b; this.mask = c; }; k['openfl.utils._AGALMiniAssembler.Sampler'] = Xc; Xc.__name__ = 'openfl.utils._AGALMiniAssembler.Sampler'; Xc.prototype = { flag: null, mask: null, name: null, toString: function () { return ( '[Sampler name="' + this.name + '", flag="' + (null == this.flag ? 'null' : z.string(Ba.toFloat(this.flag))) + '", mask=' + (null == this.mask ? 'null' : z.string(Ba.toFloat(this.mask))) + ']' ); }, __class__: Xc }; var ln = function () {}; k['openfl.utils.IAssetCache'] = ln; ln.__name__ = 'openfl.utils.IAssetCache'; ln.__isInterface__ = !0; ln.prototype = { get_enabled: null, set_enabled: null, clear: null, getBitmapData: null, getFont: null, getSound: null, hasBitmapData: null, hasFont: null, hasSound: null, removeBitmapData: null, removeFont: null, removeSound: null, setBitmapData: null, setFont: null, setSound: null, __class__: ln, __properties__: { set_enabled: 'set_enabled', get_enabled: 'get_enabled' } }; var mn = function () { this.__enabled = !0; this.bitmapData = new qa(); this.font = new qa(); this.sound = new qa(); }; k['openfl.utils.AssetCache'] = mn; mn.__name__ = 'openfl.utils.AssetCache'; mn.__interfaces__ = [ln]; mn.prototype = { bitmapData: null, font: null, sound: null, __enabled: null, clear: function (a) { if (null == a) (this.bitmapData = new qa()), (this.font = new qa()), (this.sound = new qa()); else { var b = this.bitmapData.h; b = Object.keys(b); for (var c = b.length, e = 0; e < c; ) { var f = b[e++]; T.startsWith(f, a) && this.removeBitmapData(f); } b = this.font.h; b = Object.keys(b); c = b.length; for (e = 0; e < c; ) (f = b[e++]), T.startsWith(f, a) && this.removeFont(f); b = this.sound.h; b = Object.keys(b); c = b.length; for (e = 0; e < c; ) (f = b[e++]), T.startsWith(f, a) && this.removeSound(f); } }, getBitmapData: function (a) { return this.bitmapData.h[a]; }, getFont: function (a) { return this.font.h[a]; }, getSound: function (a) { return this.sound.h[a]; }, hasBitmapData: function (a) { return Object.prototype.hasOwnProperty.call(this.bitmapData.h, a); }, hasFont: function (a) { return Object.prototype.hasOwnProperty.call(this.font.h, a); }, hasSound: function (a) { return Object.prototype.hasOwnProperty.call(this.sound.h, a); }, removeBitmapData: function (a) { var b = sa.cache.image; Object.prototype.hasOwnProperty.call(b.h, a) && delete b.h[a]; b = this.bitmapData; return Object.prototype.hasOwnProperty.call(b.h, a) ? (delete b.h[a], !0) : !1; }, removeFont: function (a) { var b = sa.cache.font; Object.prototype.hasOwnProperty.call(b.h, a) && delete b.h[a]; b = this.font; return Object.prototype.hasOwnProperty.call(b.h, a) ? (delete b.h[a], !0) : !1; }, removeSound: function (a) { var b = sa.cache.audio; Object.prototype.hasOwnProperty.call(b.h, a) && delete b.h[a]; b = this.sound; return Object.prototype.hasOwnProperty.call(b.h, a) ? (delete b.h[a], !0) : !1; }, setBitmapData: function (a, b) { this.bitmapData.h[a] = b; }, setFont: function (a, b) { this.font.h[a] = b; }, setSound: function (a, b) { this.sound.h[a] = b; }, get_enabled: function () { return this.__enabled; }, set_enabled: function (a) { return (this.__enabled = a); }, __class__: mn, __properties__: { set_enabled: 'set_enabled', get_enabled: 'get_enabled' } }; var le = function () { wb.call(this); }; k['openfl.utils.AssetLibrary'] = le; le.__name__ = 'openfl.utils.AssetLibrary'; le.fromBytes = function (a, b) { return le.fromManifest(Ic.fromBytes(Bb.toLimeBytes(a), b)); }; le.fromFile = function (a, b) { return le.fromManifest(Ic.fromFile(a, b)); }; le.fromManifest = function (a) { a = wb.fromManifest(a); if (null != a) { if (a instanceof le) return a; var b = new le(); b.__proxy = a; return b; } return null; }; le.loadFromBytes = function (a, b) { return Ic.loadFromBytes(Bb.toLimeBytes(a), b).then(function (a) { return le.loadFromManifest(a); }); }; le.loadFromFile = function (a, b) { return Ic.loadFromFile(a, b).then(function (a) { return le.loadFromManifest(a); }); }; le.loadFromManifest = function (a) { a = le.fromManifest(a); return null != a ? a.load().then(function (a) { return ib.withValue(a); }) : ib.withError('Could not load asset manifest'); }; le.__super__ = wb; le.prototype = t(wb.prototype, { __proxy: null, exists: function (a, b) { return null != this.__proxy ? this.__proxy.exists(a, b) : wb.prototype.exists.call(this, a, b); }, getAsset: function (a, b) { return null != this.__proxy ? this.__proxy.getAsset(a, b) : wb.prototype.getAsset.call(this, a, b); }, getAudioBuffer: function (a) { return null != this.__proxy ? this.__proxy.getAudioBuffer(a) : wb.prototype.getAudioBuffer.call(this, a); }, getBytes: function (a) { return null != this.__proxy ? this.__proxy.getBytes(a) : wb.prototype.getBytes.call(this, a); }, getFont: function (a) { return null != this.__proxy ? this.__proxy.getFont(a) : wb.prototype.getFont.call(this, a); }, getImage: function (a) { return null != this.__proxy ? this.__proxy.getImage(a) : wb.prototype.getImage.call(this, a); }, getMovieClip: function (a) { return null; }, getPath: function (a) { return null != this.__proxy ? this.__proxy.getPath(a) : wb.prototype.getPath.call(this, a); }, getText: function (a) { return null != this.__proxy ? this.__proxy.getText(a) : wb.prototype.getText.call(this, a); }, isLocal: function (a, b) { return null != this.__proxy ? this.__proxy.isLocal(a, b) : wb.prototype.isLocal.call(this, a, b); }, list: function (a) { return null != this.__proxy ? this.__proxy.list(a) : wb.prototype.list.call(this, a); }, loadAsset: function (a, b) { return null != this.__proxy ? this.__proxy.loadAsset(a, b) : wb.prototype.loadAsset.call(this, a, b); }, load: function () { return null != this.__proxy ? this.__proxy.load() : wb.prototype.load.call(this); }, loadAudioBuffer: function (a) { return null != this.__proxy ? this.__proxy.loadAudioBuffer(a) : wb.prototype.loadAudioBuffer.call(this, a); }, loadBytes: function (a) { return null != this.__proxy ? this.__proxy.loadBytes(a) : wb.prototype.loadBytes.call(this, a); }, loadFont: function (a) { return null != this.__proxy ? this.__proxy.loadFont(a) : wb.prototype.loadFont.call(this, a); }, loadImage: function (a) { return null != this.__proxy ? this.__proxy.loadImage(a) : wb.prototype.loadImage.call(this, a); }, loadMovieClip: function (a) { return ib.withValue(this.getMovieClip(a)); }, loadText: function (a) { return null != this.__proxy ? this.__proxy.loadText(a) : wb.prototype.loadText.call(this, a); }, unload: function () { null != this.__proxy ? this.__proxy.unload() : wb.prototype.unload.call(this); }, __class__: le }); var Da = function () {}; k['openfl.utils.Assets'] = Da; Da.__name__ = 'openfl.utils.Assets'; Da.addEventListener = function (a, b, c, e, f) { null == f && (f = !1); null == e && (e = 0); null == c && (c = !1); sa.onChange.has(Da.LimeAssets_onChange) || sa.onChange.add(Da.LimeAssets_onChange); Da.dispatcher.addEventListener(a, b, c, e, f); }; Da.dispatchEvent = function (a) { return Da.dispatcher.dispatchEvent(a); }; Da.exists = function (a, b) { return sa.exists(a, b); }; Da.getBitmapData = function (a, b) { null == b && (b = !0); if (b && Da.cache.get_enabled() && Da.cache.hasBitmapData(a)) { var c = Da.cache.getBitmapData(a); if (Da.isValidBitmapData(c)) return c; } c = sa.getImage(a, !1); return null != c ? ((c = la.fromImage(c)), b && Da.cache.get_enabled() && Da.cache.setBitmapData(a, c), c) : null; }; Da.getBytes = function (a) { return Bb.fromLimeBytes(sa.getBytes(a)); }; Da.getFont = function (a, b) { null == b && (b = !0); if (b && Da.cache.get_enabled() && Da.cache.hasFont(a)) return Da.cache.getFont(a); var c = sa.getFont(a, !1); if (null != c) { var e = new Rc(); e.__fromLimeFont(c); b && Da.cache.get_enabled() && Da.cache.setFont(a, e); return e; } return new Rc(); }; Da.getLibrary = function (a) { return sa.getLibrary(a); }; Da.getMovieClip = function (a) { var b = a.substring(0, a.indexOf(':')), c = C.substr(a, a.indexOf(':') + 1, null), e = Da.getLibrary(b); if (null != e) { if (e instanceof le && e.exists(c, 'MOVIE_CLIP')) { if (e.isLocal(c, 'MOVIE_CLIP')) return e.getMovieClip(c); Va.error('MovieClip asset "' + a + '" exists, but only asynchronously', { fileName: 'openfl/utils/Assets.hx', lineNumber: 207, className: 'openfl.utils.Assets', methodName: 'getMovieClip' }); return null; } Va.error('There is no MovieClip asset with an ID of "' + a + '"', { fileName: 'openfl/utils/Assets.hx', lineNumber: 213, className: 'openfl.utils.Assets', methodName: 'getMovieClip' }); } else Va.error('There is no asset library named "' + b + '"', { fileName: 'openfl/utils/Assets.hx', lineNumber: 217, className: 'openfl.utils.Assets', methodName: 'getMovieClip' }); return null; }; Da.getMusic = function (a, b) { null == b && (b = !0); return Da.getSound(a, b); }; Da.getPath = function (a) { return sa.getPath(a); }; Da.getSound = function (a, b) { null == b && (b = !0); if (b && Da.cache.get_enabled() && Da.cache.hasSound(a)) { var c = Da.cache.getSound(a); if (Da.isValidSound(c)) return c; } c = sa.getAudioBuffer(a, !1); return null != c ? ((c = xf.fromAudioBuffer(c)), b && Da.cache.get_enabled() && Da.cache.setSound(a, c), c) : null; }; Da.getText = function (a) { return sa.getText(a); }; Da.hasEventListener = function (a) { return Da.dispatcher.hasEventListener(a); }; Da.hasLibrary = function (a) { return sa.hasLibrary(a); }; Da.isLocal = function (a, b, c) { null == c && (c = !0); if ( c && Da.cache.get_enabled() && ((('IMAGE' == b || null == b) && Da.cache.hasBitmapData(a)) || (('FONT' == b || null == b) && Da.cache.hasFont(a)) || (('SOUND' == b || 'MUSIC' == b || null == b) && Da.cache.hasSound(a))) ) return !0; c = a.substring(0, a.indexOf(':')); a = C.substr(a, a.indexOf(':') + 1, null); c = Da.getLibrary(c); return null != c ? c.isLocal(a, b) : !1; }; Da.isValidBitmapData = function (a) { return null != a && null != a.image; }; Da.isValidSound = function (a) { return !0; }; Da.list = function (a) { return sa.list(a); }; Da.loadBitmapData = function (a, b) { null == b && (b = !0); null == b && (b = !0); var c = new $d(); if (b && Da.cache.get_enabled() && Da.cache.hasBitmapData(a)) { var e = Da.cache.getBitmapData(a); if (Da.isValidBitmapData(e)) return c.complete(e), c.future; } sa.loadImage(a, !1) .onComplete(function (d) { null != d ? ((d = la.fromImage(d)), b && Da.cache.get_enabled() && Da.cache.setBitmapData(a, d), c.complete(d)) : c.error('[Assets] Could not load Image "' + a + '"'); }) .onError(m(c, c.error)) .onProgress(m(c, c.progress)); return c.future; }; Da.loadBytes = function (a) { var b = new $d(); a = sa.loadBytes(a); a.onComplete(function (a) { b.complete(Bb.fromLimeBytes(a)); }); a.onProgress(function (a, c) { b.progress(a, c); }); a.onError(function (a) { b.error(a); }); return b.future; }; Da.loadFont = function (a, b) { null == b && (b = !0); null == b && (b = !0); var c = new $d(); if (b && Da.cache.get_enabled() && Da.cache.hasFont(a)) return c.complete(Da.cache.getFont(a)), c.future; sa.loadFont(a) .onComplete(function (d) { var e = new Rc(); e.__fromLimeFont(d); b && Da.cache.get_enabled() && Da.cache.setFont(a, e); c.complete(e); }) .onError(m(c, c.error)) .onProgress(m(c, c.progress)); return c.future; }; Da.loadLibrary = function (a) { return sa.loadLibrary(a).then(function (b) { var c = null; null != b && (b instanceof le ? (c = b) : ((c = new le()), (c.__proxy = b), sa.registerLibrary(a, c))); return ib.withValue(c); }); }; Da.loadMusic = function (a, b) { null == b && (b = !0); null == b && (b = !0); return new ib(function () { return Da.getMusic(a, b); }); }; Da.loadMovieClip = function (a) { var b = new $d(), c = a.substring(0, a.indexOf(':')), e = C.substr(a, a.indexOf(':') + 1, null), f = Da.getLibrary(c); if (null != f) { if (f instanceof le && f.exists(e, 'MOVIE_CLIP')) return b.completeWith(f.loadMovieClip(e)), b.future; b.error('[Assets] There is no MovieClip asset with an ID of "' + a + '"'); } else b.error('[Assets] There is no asset library named "' + c + '"'); return b.future; }; Da.loadSound = function (a, b) { null == b && (b = !0); null == b && (b = !0); var c = new $d(); sa.loadAudioBuffer(a, b) .onComplete(function (d) { null != d ? ((d = xf.fromAudioBuffer(d)), b && Da.cache.get_enabled() && Da.cache.setSound(a, d), c.complete(d)) : c.error('[Assets] Could not load Sound "' + a + '"'); }) .onError(m(c, c.error)) .onProgress(m(c, c.progress)); return c.future; }; Da.loadText = function (a) { return sa.loadText(a); }; Da.registerLibrary = function (a, b) { sa.registerLibrary(a, b); }; Da.removeEventListener = function (a, b, c) { null == c && (c = !1); Da.dispatcher.removeEventListener(a, b, c); }; Da.resolveClass = function (a) { return k[a]; }; Da.resolveEnum = function (a) { return N[a]; }; Da.unloadLibrary = function (a) { sa.unloadLibrary(a); }; Da.LimeAssets_onChange = function () { Da.dispatchEvent(new oa('change')); }; var Bb = { __properties__: { set_position: 'set_position', get_position: 'get_position', set_length: 'set_length', get_length: 'get_length', get_bytesAvailable: 'get_bytesAvailable', set_defaultObjectEncoding: 'set_defaultObjectEncoding', get_defaultObjectEncoding: 'get_defaultObjectEncoding', set_defaultEndian: 'set_defaultEndian', get_defaultEndian: 'get_defaultEndian' }, _new: function (a) { null == a && (a = 0); return new nc(a); }, clear: function (a) { a.clear(); }, compress: function (a, b) { a.compress(b); }, deflate: function (a) { a.deflate(); }, fromArrayBuffer: function (a) { return null == a ? null : nc.fromBytes(fb.ofData(a)); }, fromBytes: function (a) { return null == a ? null : a instanceof nc ? a : nc.fromBytes(a); }, fromBytesData: function (a) { return null == a ? null : nc.fromBytes(fb.ofData(a)); }, fromFile: function (a) { return Bb.fromLimeBytes(ic.fromFile(a)); }, fromLimeBytes: function (a) { return Bb.fromBytes(a); }, get: function (a, b) { return a.b[b]; }, inflate: function (a) { a.inflate(); }, loadFromBytes: function (a) { return ic.loadFromBytes(a).then(function (a) { a = Bb.fromLimeBytes(a); return ib.withValue(a); }); }, loadFromFile: function (a) { return ic.loadFromFile(a).then(function (a) { a = Bb.fromLimeBytes(a); return ib.withValue(a); }); }, readBoolean: function (a) { return a.readBoolean(); }, readByte: function (a) { return a.readByte(); }, readBytes: function (a, b, c, e) { null == e && (e = 0); null == c && (c = 0); a.readBytes(b, c, e); }, readDouble: function (a) { return a.readDouble(); }, readFloat: function (a) { return a.readFloat(); }, readInt: function (a) { return a.readInt(); }, readMultiByte: function (a, b, c) { return a.readMultiByte(b, c); }, readObject: function (a) { return a.readObject(); }, readShort: function (a) { return a.readShort(); }, readUTF: function (a) { return a.readUTF(); }, readUTFBytes: function (a, b) { return a.readUTFBytes(b); }, readUnsignedByte: function (a) { return a.readUnsignedByte(); }, readUnsignedInt: function (a) { return a.readUnsignedInt(); }, readUnsignedShort: function (a) { return a.readUnsignedShort(); }, set: function (a, b, c) { a.__resize(b + 1); a.b[b] = c & 255; return c; }, toArrayBuffer: function (a) { return a.b.bufferValue; }, toBytePointer: function (a) { Wz.set(Bb.__bytePointer, a, null, null, a.position); return Bb.__bytePointer; }, toBytes: function (a) { return a; }, toBytesData: function (a) { return a.b.bufferValue; }, toLimeBytes: function (a) { return a; }, toString: function (a) { return a.toString(); }, uncompress: function (a, b) { a.uncompress(b); }, writeBoolean: function (a, b) { a.writeBoolean(b); }, writeByte: function (a, b) { a.writeByte(b); }, writeBytes: function (a, b, c, e) { null == e && (e = 0); null == c && (c = 0); a.writeBytes(b, c, e); }, writeDouble: function (a, b) { a.writeDouble(b); }, writeFloat: function (a, b) { a.writeFloat(b); }, writeInt: function (a, b) { a.writeInt(b); }, writeMultiByte: function (a, b, c) { a.writeMultiByte(b, c); }, writeObject: function (a, b) { a.writeObject(b); }, writeShort: function (a, b) { a.writeShort(b); }, writeUTF: function (a, b) { a.writeUTF(b); }, writeUTFBytes: function (a, b) { a.writeUTFBytes(b); }, writeUnsignedInt: function (a, b) { a.writeUnsignedInt(b); }, get_bytesAvailable: function (a) { return a.length - a.position; }, get_defaultEndian: function () { null == nc.__defaultEndian && (Ua.get_endianness() == Bg.LITTLE_ENDIAN ? (nc.__defaultEndian = 1) : (nc.__defaultEndian = 0)); return nc.__defaultEndian; }, set_defaultEndian: function (a) { return (nc.__defaultEndian = a); }, get_defaultObjectEncoding: function () { return nc.defaultObjectEncoding; }, set_defaultObjectEncoding: function (a) { return (nc.defaultObjectEncoding = a); }, get_endian: function (a) { return a.__endian; }, set_endian: function (a, b) { return (a.__endian = b); }, get_length: function (a) { return null == a ? 0 : a.length; }, set_length: function (a, b) { 0 < b && (a.__resize(b), b < a.position && (a.position = b)); return (a.length = b); }, get_objectEncoding: function (a) { return a.objectEncoding; }, set_objectEncoding: function (a, b) { return (a.objectEncoding = b); }, get_position: function (a) { return a.position; }, set_position: function (a, b) { return (a.position = b); } }, nn = function () {}; k['openfl.utils.IDataOutput'] = nn; nn.__name__ = 'openfl.utils.IDataOutput'; nn.__isInterface__ = !0; nn.prototype = { get_endian: null, set_endian: null, objectEncoding: null, writeBoolean: null, writeByte: null, writeBytes: null, writeDouble: null, writeFloat: null, writeInt: null, writeMultiByte: null, writeObject: null, writeShort: null, writeUnsignedInt: null, writeUTF: null, writeUTFBytes: null, __class__: nn, __properties__: { set_endian: 'set_endian', get_endian: 'get_endian' } }; var on = function () {}; k['openfl.utils.IDataInput'] = on; on.__name__ = 'openfl.utils.IDataInput'; on.__isInterface__ = !0; on.prototype = { get_bytesAvailable: null, get_endian: null, set_endian: null, objectEncoding: null, readBoolean: null, readByte: null, readBytes: null, readDouble: null, readFloat: null, readInt: null, readMultiByte: null, readObject: null, readShort: null, readUnsignedByte: null, readUnsignedInt: null, readUnsignedShort: null, readUTF: null, readUTFBytes: null, __class__: on, __properties__: { set_endian: 'set_endian', get_endian: 'get_endian', get_bytesAvailable: 'get_bytesAvailable' } }; var nc = function (a) { null == a && (a = 0); var b = new fb(new ArrayBuffer(a)); fb.call(this, b.b.buffer); this.__length = a; null == nc.__defaultEndian && (Ua.get_endianness() == Bg.LITTLE_ENDIAN ? (nc.__defaultEndian = 1) : (nc.__defaultEndian = 0)); this.__endian = nc.__defaultEndian; this.objectEncoding = nc.defaultObjectEncoding; this.position = 0; }; k['openfl.utils.ByteArrayData'] = nc; nc.__name__ = 'openfl.utils.ByteArrayData'; nc.__interfaces__ = [nn, on]; nc.__properties__ = { set_defaultEndian: 'set_defaultEndian', get_defaultEndian: 'get_defaultEndian' }; nc.fromBytes = function (a) { var b = new nc(); b.__fromBytes(a); return b; }; nc.get_defaultEndian = function () { null == nc.__defaultEndian && (Ua.get_endianness() == Bg.LITTLE_ENDIAN ? (nc.__defaultEndian = 1) : (nc.__defaultEndian = 0)); return nc.__defaultEndian; }; nc.set_defaultEndian = function (a) { return (nc.__defaultEndian = a); }; nc.__super__ = fb; nc.prototype = t(fb.prototype, { objectEncoding: null, position: null, __endian: null, __length: null, clear: function () { this.position = this.length = 0; }, compress: function (a) { null == a && (a = 2); if (this.__length > this.length) { var b = this.length; this.length = this.__length; var c = new fb(new ArrayBuffer(b)); c.blit(0, this, 0, b); this.b = c.b; this.__length = c.length; this.data = c.data; this.length = b; } switch (a) { case 0: a = ic.compress(this, ae.DEFLATE); break; case 1: a = ic.compress(this, ae.LZMA); break; default: a = ic.compress(this, ae.ZLIB); } null != a && ((this.b = a.b), (this.__length = a.length), (this.data = a.data), (this.position = this.length = this.__length)); }, deflate: function () { this.compress(0); }, inflate: function () { this.uncompress(0); }, readBoolean: function () { if (this.position < this.length) return 0 != this.b[this.position++]; throw J.thrown(new eh()); }, readByte: function () { var a = this.readUnsignedByte(); return 0 != (a & 128) ? a - 256 : a; }, readBytes: function (a, b, c) { null == c && (c = 0); null == b && (b = 0); 0 == c && (c = this.length - this.position); if (this.position + c > this.length) throw J.thrown(new eh()); a.length < b + c && a.__resize(b + c); a.blit(b, this, this.position, c); this.position += c; }, readDouble: function () { if (1 == this.__endian) { if (this.position + 8 > this.length) throw J.thrown(new eh()); this.position += 8; return this.getDouble(this.position - 8); } var a = this.readInt(), b = this.readInt(); return Zd.i64ToDouble(b, a); }, readFloat: function () { if (1 == this.__endian) { if (this.position + 4 > this.length) throw J.thrown(new eh()); this.position += 4; return this.getFloat(this.position - 4); } return Zd.i32ToFloat(this.readInt()); }, readInt: function () { var a = this.readUnsignedByte(), b = this.readUnsignedByte(), c = this.readUnsignedByte(), e = this.readUnsignedByte(); return 1 == this.__endian ? (e << 24) | (c << 16) | (b << 8) | a : (a << 24) | (b << 16) | (c << 8) | e; }, readMultiByte: function (a, b) { return this.readUTFBytes(a); }, readObject: function () { switch (this.objectEncoding) { case 10: var a = this.readUTF(); return Ge.run(a); case 12: return (a = this.readUTF()), JSON.parse(a); default: return null; } }, readShort: function () { var a = this.readUnsignedByte(), b = this.readUnsignedByte(); a = 1 == this.__endian ? (b << 8) | a : (a << 8) | b; return 0 != (a & 32768) ? a - 65536 : a; }, readUnsignedByte: function () { if (this.position < this.length) return this.b[this.position++]; throw J.thrown(new eh()); }, readUnsignedInt: function () { var a = this.readUnsignedByte(), b = this.readUnsignedByte(), c = this.readUnsignedByte(), e = this.readUnsignedByte(); return 1 == this.__endian ? (e << 24) | (c << 16) | (b << 8) | a : (a << 24) | (b << 16) | (c << 8) | e; }, readUnsignedShort: function () { var a = this.readUnsignedByte(), b = this.readUnsignedByte(); return 1 == this.__endian ? (b << 8) + a : (a << 8) | b; }, readUTF: function () { var a = this.readUnsignedShort(); return this.readUTFBytes(a); }, readUTFBytes: function (a) { if (this.position + a > this.length) throw J.thrown(new eh()); this.position += a; return this.getString(this.position - a, a); }, uncompress: function (a) { null == a && (a = 2); if (this.__length > this.length) { var b = this.length; this.length = this.__length; var c = new fb(new ArrayBuffer(b)); c.blit(0, this, 0, b); this.b = c.b; this.__length = c.length; this.data = c.data; this.length = b; } switch (a) { case 0: a = ic.decompress(this, ae.DEFLATE); break; case 1: a = ic.decompress(this, ae.LZMA); break; default: a = ic.decompress(this, ae.ZLIB); } null != a && ((this.b = a.b), (this.__length = a.length), (this.data = a.data), (this.length = this.__length)); this.position = 0; }, writeBoolean: function (a) { this.writeByte(a ? 1 : 0); }, writeByte: function (a) { this.__resize(this.position + 1); this.b[this.position++] = a & 255; }, writeBytes: function (a, b, c) { null == c && (c = 0); null == b && (b = 0); 0 != Bb.get_length(a) && (0 == c && (c = Bb.get_length(a) - b), this.__resize(this.position + c), this.blit(this.position, a, b, c), (this.position += c)); }, writeDouble: function (a) { a = Zd.doubleToI64(a); 1 == this.__endian ? (this.writeInt(a.low), this.writeInt(a.high)) : (this.writeInt(a.high), this.writeInt(a.low)); }, writeFloat: function (a) { 1 == this.__endian ? (this.__resize(this.position + 4), this.setFloat(this.position, a), (this.position += 4)) : ((a = Zd.floatToI32(a)), this.writeInt(a)); }, writeInt: function (a) { this.__resize(this.position + 4); 1 == this.__endian ? ((this.b[this.position++] = a & 255), (this.b[this.position++] = (a >> 8) & 255), (this.b[this.position++] = (a >> 16) & 255), (this.b[this.position++] = (a >> 24) & 255)) : ((this.b[this.position++] = (a >> 24) & 255), (this.b[this.position++] = (a >> 16) & 255), (this.b[this.position++] = (a >> 8) & 255), (this.b[this.position++] = a & 255)); }, writeMultiByte: function (a, b) { this.writeUTFBytes(a); }, writeObject: function (a) { switch (this.objectEncoding) { case 10: a = ze.run(a); this.writeUTF(a); break; case 12: (a = JSON.stringify(a)), this.writeUTF(a); } }, writeShort: function (a) { this.__resize(this.position + 2); 1 == this.__endian ? ((this.b[this.position++] = a & 255), (this.b[this.position++] = (a >> 8) & 255)) : ((this.b[this.position++] = (a >> 8) & 255), (this.b[this.position++] = a & 255)); }, writeUnsignedInt: function (a) { this.writeInt(a); }, writeUTF: function (a) { a = fb.ofString(a); this.writeShort(a.length); this.writeBytes(Bb.fromBytes(a)); }, writeUTFBytes: function (a) { a = fb.ofString(a); this.writeBytes(Bb.fromBytes(a)); }, __fromBytes: function (a) { this.b = a.b; this.__length = a.length; this.data = a.data; this.length = a.length; }, __resize: function (a) { if (a > this.__length) { var b = new fb(new ArrayBuffer((3 * (a + 1)) >> 1)); if (0 < this.__length) { var c = this.length; this.length = this.__length; b.blit(0, this, 0, this.__length); this.length = c; } this.b = b.b; this.__length = b.length; this.data = b.data; } this.length < a && (this.length = a); }, __setData: function (a) { this.b = a.b; this.__length = a.length; this.data = a.data; }, get_bytesAvailable: function () { return this.length - this.position; }, get_endian: function () { return this.__endian; }, set_endian: function (a) { return (this.__endian = a); }, __class__: nc, __properties__: { set_endian: 'set_endian', get_endian: 'get_endian', get_bytesAvailable: 'get_bytesAvailable' } }); var Xz = { exists: function (a, b) { return a.exists(b); }, get: function (a, b) { return a.get(b); }, keyValueIterator: function (a) { return a.keyValueIterator(); }, remove: function (a, b) { return a.remove(b); }, set: function (a, b, c) { a.set(b, c); return c; }, iterator: function (a) { return a.keys(); }, each: function (a) { return a.iterator(); }, toStringMap: function (a, b) { return new qa(); }, toIntMap: function (a, b) { return new Ya(); }, toFloatMap: function (a, b) { return new dj(); }, toEnumValueMapMap: function (a, b) { return new Lj(); }, toObjectMap: function (a, b) { return new Jc(); }, toUtilsObjectMap: function (a, b) { return new ej(); }, toClassMap: function (a, b) { return new fj(); }, fromStringMap: function (a) { return a; }, fromIntMap: function (a) { return a; }, fromFloatMap: function (a) { return a; }, fromObjectMap: function (a) { return a; }, fromUtilsObjectMap: function (a) { return a; }, fromClassMap: function (a) { return a; } }, fj = function () { this.types = new qa(); this.values = new qa(); }; k['openfl.utils._Dictionary.ClassMap'] = fj; fj.__name__ = 'openfl.utils._Dictionary.ClassMap'; fj.__interfaces__ = [dd]; fj.prototype = { types: null, values: null, clear: function () { this.types.h = Object.create(null); this.values.h = Object.create(null); }, copy: function () { for (var a = new fj(), b = this.keys(); b.hasNext(); ) { var c = b.next(); a.set(c, this.get(c)); } return a; }, exists: function (a) { return Object.prototype.hasOwnProperty.call(this.types.h, a.__name__); }, get: function (a) { return this.values.h[a.__name__]; }, keyValueIterator: function () { return new hh(this); }, keys: function () { return new Ai(this.types.h); }, iterator: function () { return new Ai(this.values.h); }, remove: function (a) { a = a.__name__; var b = this.types; Object.prototype.hasOwnProperty.call(b.h, a) ? (delete b.h[a], (b = !0)) : (b = !1); if (b) return !0; b = this.values; return Object.prototype.hasOwnProperty.call(b.h, a) ? (delete b.h[a], !0) : !1; }, set: function (a, b) { var c = a.__name__; this.types.h[c] = a; this.values.h[c] = b; }, toString: function () { return qa.stringify(this.values.h); }, __class__: fj }; var dj = function () { this.floatKeys = []; this.values = []; }; k['openfl.utils._Dictionary.FloatMap'] = dj; dj.__name__ = 'openfl.utils._Dictionary.FloatMap'; dj.__interfaces__ = [dd]; dj.prototype = { floatKeys: null, values: null, clear: function () { this.floatKeys = []; this.values = []; }, copy: function () { for (var a = new dj(), b = this.keys(); b.hasNext(); ) { var c = b.next(); a.set(c, this.get(c)); } return a; }, exists: function (a) { return -1 < this.indexOf(a); }, get: function (a) { a = this.indexOf(a); return -1 < a ? this.values[a] : null; }, keyValueIterator: function () { return new hh(this); }, keys: function () { return new Ie(this.floatKeys.slice()); }, iterator: function () { return new Ie(this.values.slice()); }, remove: function (a) { a = this.indexOf(a); return -1 < a ? (this.floatKeys.splice(a, 1), this.values.splice(a, 1), !0) : !1; }, set: function (a, b) { this.insertSorted(a, b); }, indexOf: function (a) { var b = this.floatKeys.length, c = 0, e = b - 1; if (0 == b) return -1; for (; c < e; ) { b = Math.floor((c + e) / 2); if (this.floatKeys[b] == a) return b; this.floatKeys[b] > a ? (e = b - 1) : (c = b + 1); } return this.floatKeys[c] == a ? c : -1; }, insertSorted: function (a, b) { var c = this.floatKeys.length, e = 0, f = c - 1; if (0 == c) this.floatKeys.push(a), this.values.push(b); else { for (; e < f; ) { c = Math.floor((e + f) / 2); if (this.floatKeys[c] == a) { this.values[c] = b; return; } this.floatKeys[c] > a ? (f = c - 1) : (e = c + 1); } this.floatKeys[e] > a ? (this.floatKeys.splice(e, 0, a), this.values.splice(e, 0, b)) : this.floatKeys[e] < a ? (this.floatKeys.splice(e + 1, 0, a), this.values.splice(e + 1, 0, b)) : (this.values[e] = b); } }, toString: function () { return this.values.toString(); }, __class__: dj }; var ej = function () { this.map = new Jc(); }; k['openfl.utils._Dictionary.UtilsObjectMap'] = ej; ej.__name__ = 'openfl.utils._Dictionary.UtilsObjectMap'; ej.__interfaces__ = [dd]; ej.prototype = { map: null, clear: function () { this.map.h = { __keys__: {} }; }, copy: function () { for (var a = new ej(), b = this.keys(); b.hasNext(); ) { var c = b.next(); a.set(c, this.get(c)); } return a; }, exists: function (a) { return null != this.map.h.__keys__[a.__id__]; }, get: function (a) { return this.map.h[a.__id__]; }, keyValueIterator: function () { return new hh(this); }, keys: function () { return this.map.keys(); }, iterator: function () { return this.map.iterator(); }, remove: function (a) { return this.map.remove(a); }, set: function (a, b) { this.map.set(a, b); }, toString: function () { return this.map.toString(); }, __class__: ej }; var Az = { fromLimeEndian: function (a) { switch (a._hx_index) { case 0: return 1; case 1: return 0; } }, fromString: function (a) { switch (a) { case 'bigEndian': return 0; case 'littleEndian': return 1; default: return null; } }, toLimeEndian: function (a) { switch (a) { case 0: return Bg.BIG_ENDIAN; case 1: return Bg.LITTLE_ENDIAN; default: return null; } }, toString: function (a) { switch (a) { case 0: return 'bigEndian'; case 1: return 'littleEndian'; default: return null; } } }, pn = function () {}; k['haxe.lang.Iterator'] = pn; pn.__name__ = 'haxe.lang.Iterator'; pn.__isInterface__ = !0; pn.prototype = { hasNext: null, next: null, __class__: pn }; var qn = function () {}; k['haxe.lang.Iterable'] = qn; qn.__name__ = 'haxe.lang.Iterable'; qn.__isInterface__ = !0; qn.prototype = { iterator: null, __class__: qn }; var Dc = function () {}; k['openfl.utils._internal.Lib'] = Dc; Dc.__name__ = 'openfl.utils._internal.Lib'; Dc.notImplemented = function (a) { var b = a.className + '.' + a.methodName; Object.prototype.hasOwnProperty.call(Dc.__sentWarnings.h, b) || ((Dc.__sentWarnings.h[b] = !0), Va.warn(a.methodName + ' is not implemented', a)); }; var di = function () { this.rollOutStack = []; }; k['openfl.utils._internal.TouchData'] = di; di.__name__ = 'openfl.utils._internal.TouchData'; di.prototype = { rollOutStack: null, touch: null, touchDownTarget: null, touchOverTarget: null, reset: function () { this.touchOverTarget = this.touchDownTarget = this.touch = null; this.rollOutStack.splice(0, this.rollOutStack.length); }, __class__: di }; var rg = function () {}; k['polygonal.ds.Cloneable'] = rg; rg.__name__ = 'polygonal.ds.Cloneable'; rg.__isInterface__ = !0; rg.prototype = { clone: null, __class__: rg }; var rn = function () {}; k['polygonal.ds.Hashable'] = rn; rn.__name__ = 'polygonal.ds.Hashable'; rn.__isInterface__ = !0; rn.prototype = { key: null, __class__: rn }; var gj = function () {}; k['polygonal.ds.Collection'] = gj; gj.__name__ = 'polygonal.ds.Collection'; gj.__isInterface__ = !0; gj.__interfaces__ = [rn]; gj.prototype = { get_size: null, free: null, contains: null, remove: null, clear: null, iterator: null, isEmpty: null, toArray: null, clone: null, __class__: gj, __properties__: { get_size: 'get_size' } }; var sg = function () {}; k['polygonal.ds.HashKey'] = sg; sg.__name__ = 'polygonal.ds.HashKey'; sg.next = function () { null == sg._counter && (sg._counter = 0); Ea._assert(sg._counter < sg._counter + 1, '_counter < _counter + 1', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/HashKey.hx', lineNumber: 44, className: 'polygonal.ds.HashKey', methodName: 'next' }); return sg._counter++; }; var ki = function () {}; k['polygonal.ds.Map'] = ki; ki.__name__ = 'polygonal.ds.Map'; ki.__isInterface__ = !0; ki.__interfaces__ = [gj]; ki.prototype = { has: null, hasKey: null, get: null, set: null, unset: null, remap: null, toValSet: null, toKeySet: null, keys: null, __class__: ki }; var sn = function (a, b) { null == b && (b = -1); this.mTmpKeyBuffer = []; this.mTmpIntBuffer = []; this.mIterator = null; this.mFree = this.mSize = 0; this.reuseIterator = !1; this.key = sg.next(); Ea._assert(0 < a, 'slotCount > 0', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/HashTable.hx', lineNumber: 158, className: 'polygonal.ds.HashTable', methodName: 'new' }); -1 == b && (b = a); 2 > b && (b = 2); this.mMinCapacity = this.capacity = b; this.mH = new tg(a, this.capacity); this.mKeys = Array(this.capacity); this.mVals = Array(this.capacity); a = this.mNext = Array(this.capacity); b = 0; for (var c = this.capacity - 1; b < c; ) { var e = b++; a[e] = e + 1; } a[this.capacity - 1] = -1; }; k['polygonal.ds.HashTable'] = sn; sn.__name__ = 'polygonal.ds.HashTable'; sn.__interfaces__ = [ki]; sn.prototype = { key: null, capacity: null, get_loadFactor: function () { return this.mH.get_loadFactor(); }, get_slotCount: function () { return this.mH.slotCount; }, reuseIterator: null, get_growthRate: function () { return this.mH.growthRate; }, set_growthRate: function (a) { return (this.mH.growthRate = a); }, mH: null, mKeys: null, mVals: null, mNext: null, mFree: null, mSize: null, mMinCapacity: null, mIterator: null, mTmpIntBuffer: null, mTmpKeyBuffer: null, getCollisionCount: function () { return this.mH.getCollisionCount(); }, getFront: function (a) { var b = this.mH; a = a.key; var c = (73856093 * a) & b.mMask, e = b.mHash[c]; if (-1 == e) b = -2147483648; else { var f = b.mData; if (f[e] == a) b = f[e + 1]; else { var g = -2147483648, l = e, h = l; for (e = f[e + 2]; -1 != e; ) { if (f[e] == a) { g = f[e + 1]; f[h + 2] = f[e + 2]; f[e + 2] = l; b.mHash[c] = e; break; } h = e; e = f[h + 2]; } b = g; } } return -2147483648 == b ? null : this.mVals[b]; }, setIfAbsent: function (a, b) { Ea._assert(null != a, 'key != null', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/HashTable.hx', lineNumber: 210, className: 'polygonal.ds.HashTable', methodName: 'setIfAbsent' }); this.mSize == this.capacity && this.grow(); var c = this.mFree, e = this.mH, f = a.key; Ea._assert(-2147483648 != c, 'val 0x80000000 is reserved(val != KEY_ABSENT)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntIntHashTable.hx', lineNumber: 291, className: 'polygonal.ds.IntIntHashTable', methodName: 'setIfAbsent' }); var g = (73856093 * f) & e.mMask, l = e.mData, h = e.mHash[g]; if (-1 == h) { e.mSize == e.capacity && (e.grow(), (l = e.mData)); var k = 3 * e.mFree; e.mFree = e.mNext[e.mFree]; e.mHash[g] = k; l[k] = f; l[k + 1] = c; e.mSize++; e = !0; } else if (l[h] == f) e = !1; else { for (g = l[h + 2]; -1 != g; ) { if (l[g] == f) { h = -1; break; } h = g; g = l[h + 2]; } -1 == h ? (e = !1) : (e.mSize == e.capacity && (e.grow(), (l = e.mData)), (k = 3 * e.mFree), (e.mFree = e.mNext[e.mFree]), (l[h + 2] = k), (l[k] = f), (l[k + 1] = c), e.mSize++, (e = !0)); } return e ? ((this.mVals[c] = b), (this.mKeys[c] = a), (this.mFree = this.mNext[c]), this.mSize++, !0) : !1; }, rehash: function (a) { this.mH.rehash(a); return this; }, remap: function (a, b) { Ea._assert(null != a, 'key != null', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/HashTable.hx', lineNumber: 244, className: 'polygonal.ds.HashTable', methodName: 'remap' }); var c = this.mH; a = a.key; var e = c.mHash[(73856093 * a) & c.mMask]; if (-1 == e) a = -2147483648; else if (((c = c.mData), c[e] == a)) a = c[e + 1]; else { var f = -2147483648; for (e = c[e + 2]; -1 != e; ) { if (c[e] == a) { f = c[e + 1]; break; } e = c[e + 2]; } a = f; } return -2147483648 != a ? ((this.mVals[a] = b), !0) : !1; }, toKeyArray: function () { if (0 == this.mSize) return []; var a = this.mSize; Ea._assert(0 <= a, 'len >= 0', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 37, className: 'polygonal.ds.tools.ArrayTools', methodName: 'alloc' }); a = Array(a); for (var b = 0, c = this.mKeys, e, f = 0, g = this.capacity; f < g; ) (e = f++), (e = c[e]), null != e && (a[b++] = e); return a; }, pack: function () { this.mH.pack(); if (this.mH.capacity == this.capacity) return this; this.capacity = this.mH.capacity; for (var a = (this.mNext = Array(this.capacity)), b = 0, c = this.capacity - 1; b < c; ) { var e = b++; a[e] = e + 1; } a[this.capacity - 1] = -1; this.mFree = 0; b = this.mKeys; a = Array(this.capacity); c = this.mVals; var f = Array(this.capacity), g = this.mFree; for (e = this.mH.iterator(); e.hasNext(); ) { var l = e.next(); a[g] = b[l]; f[g] = c[l]; g = this.mNext[g]; } this.mFree = g; this.mKeys = a; this.mVals = f; b = 0; for (c = this.mSize; b < c; ) if ( ((e = b++), (g = this.mH), (f = a[e].key), (l = g.mHash[(73856093 * f) & g.mMask]), -1 != l) ) if (((g = g.mData), g[l] == f)) g[l + 1] = e; else for (l = g[l + 2]; -1 != l; ) { if (g[l] == f) { g[l + 1] = e; break; } l = g[l + 2]; } return this; }, iter: function (a) { Ea._assert(null != a, 'f != null', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/HashTable.hx', lineNumber: 322, className: 'polygonal.ds.HashTable', methodName: 'iter' }); for ( var b = this.mH.mData, c = this.mVals, e = this.mKeys, f, g = 0, l = this.mH.capacity; g < l; ) (f = g++), (f = b[3 * f + 1]), -2147483648 != f && a(e[f], c[f]); return this; }, toString: function () { var a = '' + z.string( $a.format( '[ HashTable size=' + this.mSize + ' capacity=' + this.capacity + ' load=%.2f', [this.get_loadFactor()] ) ); if (0 == this.mSize) return a + ' ]'; a += '\n'; for (var b = 0, c = this.keys(); c.hasNext(); ) { var e = c.next(), f = z.string(e).length; b <= f && (b = f); } f = []; b = ' %- ' + b + 's -> %s\n'; var g = []; for (c = this.keys(); c.hasNext(); ) (e = c.next()), g.push(e); g.sort(function (a, b) { return a.key - b.key; }); var l = 1, h = g.length; c = 0; for (e = 1; l < h; ) { if (g[c] == g[l]) ++e; else { c = g[c]; f[0] = c; if (1 < e) (e = []), this.getAll(c, e), (f[1] = e.join(',')); else { Ea._assert(null != c, 'key != null', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/HashTable.hx', lineNumber: 449, className: 'polygonal.ds.HashTable', methodName: 'get' }); var k = this.mH; e = c.key; c = k.mHash[(73856093 * e) & k.mMask]; if (-1 == c) c = -2147483648; else if (((k = k.mData), k[c] == e)) c = k[c + 1]; else { var n = -2147483648; for (c = k[c + 2]; -1 != c; ) { if (k[c] == e) { n = k[c + 1]; break; } c = k[c + 2]; } c = n; } f[1] = z.string(-2147483648 == c ? null : this.mVals[c]); } a += z.string($a.format(b, f)); c = l; e = 1; } ++l; } c = g[c]; f[0] = c; if (1 < e) (e = []), this.getAll(c, e), (f[1] = e.join(',')); else { Ea._assert(null != c, 'key != null', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/HashTable.hx', lineNumber: 449, className: 'polygonal.ds.HashTable', methodName: 'get' }); k = this.mH; e = c.key; l = k.mHash[(73856093 * e) & k.mMask]; if (-1 == l) c = -2147483648; else if (((k = k.mData), k[l] == e)) c = k[l + 1]; else { n = -2147483648; for (l = k[l + 2]; -1 != l; ) { if (k[l] == e) { n = k[l + 1]; break; } l = k[l + 2]; } c = n; } f[1] = z.string(-2147483648 == c ? null : this.mVals[c]); } a += z.string($a.format(b, f)); return a + ']'; }, grow: function () { var a = this.capacity; this.capacity = Hg.compute(this.get_growthRate(), this.capacity); var b = Array(this.capacity); Lb.blit(this.mNext, 0, b, 0, a); b = this.mNext = b; for (var c = a - 1, e = this.capacity - 1; c < e; ) { var f = c++; b[f] = f + 1; } b[this.capacity - 1] = -1; this.mFree = a; b = Array(this.capacity); Lb.blit(this.mVals, 0, b, 0, a); this.mVals = b; b = Array(this.capacity); Lb.blit(this.mKeys, 0, b, 0, a); this.mKeys = b; }, has: function (a) { for (var b = this.mKeys, c = this.mVals, e = 0, f = this.capacity; e < f; ) { var g = e++; if (null != b[g] && c[g] == a) return !0; } return !1; }, hasKey: function (a) { Ea._assert(null != a, 'key != null', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/HashTable.hx', lineNumber: 439, className: 'polygonal.ds.HashTable', methodName: 'hasKey' }); var b = this.mH; a = a.key; var c = b.mHash[(73856093 * a) & b.mMask]; if (-1 == c) return !1; b = b.mData; if (b[c] == a) return !0; var e = !1; for (c = b[c + 2]; -1 != c; ) { if (b[c] == a) { e = !0; break; } c = b[c + 2]; } return e; }, get: function (a) { Ea._assert(null != a, 'key != null', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/HashTable.hx', lineNumber: 449, className: 'polygonal.ds.HashTable', methodName: 'get' }); var b = this.mH; a = a.key; var c = b.mHash[(73856093 * a) & b.mMask]; if (-1 == c) a = -2147483648; else if (((b = b.mData), b[c] == a)) a = b[c + 1]; else { var e = -2147483648; for (c = b[c + 2]; -1 != c; ) { if (b[c] == a) { e = b[c + 1]; break; } c = b[c + 2]; } a = e; } return -2147483648 == a ? null : this.mVals[a]; }, getAll: function (a, b) { var c = this.mH, e = a.key, f = c.mHash[(73856093 * e) & c.mMask]; if (-1 == f) c = -2147483648; else { var g = c.mData; if (g[f] == e) c = g[f + 1]; else for (c = -2147483648, f = g[f + 2]; -1 != f; ) { if (g[f] == e) { c = g[f + 1]; break; } f = g[f + 2]; } } if (-2147483648 == c) return 0; e = this.mTmpIntBuffer; a = this.mH.getAll(a.key, e); c = this.mVals; for (f = 0; f < a; ) (g = f++), (b[g] = c[e[g]]); return a; }, set: function (a, b) { Ea._assert(null != a, 'key != null', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/HashTable.hx', lineNumber: 483, className: 'polygonal.ds.HashTable', methodName: 'set' }); this.mSize == this.capacity && this.grow(); var c = this.mFree, e = this.mH, f = a.key; Ea._assert(-2147483648 != c, 'val 0x80000000 is reserved(val != KEY_ABSENT)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntIntHashTable.hx', lineNumber: 1046, className: 'polygonal.ds.IntIntHashTable', methodName: 'set' }); e.mSize == e.capacity && e.grow(); var g = e.mData, l = e.mHash, h = 3 * e.mFree; e.mFree = e.mNext[e.mFree]; g[h] = f; g[h + 1] = c; var k = (73856093 * f) & e.mMask, n = l[k]; if (-1 == n) (l[k] = h), e.mSize++, (e = !0); else { l = g[n] != f; for (k = g[n + 2]; -1 != k; ) g[k] == f && (l = !1), (n = k), (k = g[k + 2]); g[n + 2] = h; e.mSize++; e = l; } this.mVals[c] = b; this.mKeys[c] = a; this.mFree = this.mNext[c]; this.mSize++; return e; }, unset: function (a) { var b = this.mH, c = a.key, e = b.mHash[(73856093 * c) & b.mMask]; if (-1 == e) e = -2147483648; else { var f = b.mData; if (f[e] == c) e = f[e + 1]; else { b = -2147483648; for (e = f[e + 2]; -1 != e; ) { if (f[e] == c) { b = f[e + 1]; break; } e = f[e + 2]; } e = b; } } if (-2147483648 == e) return !1; this.mKeys[e] = null; this.mNext[e] = this.mFree; this.mFree = e; b = this.mH; c = a.key; a = (73856093 * c) & b.mMask; var g = b.mHash; e = g[a]; if (-1 != e) if (((f = b.mData), c == f[e])) (g[a] = -1 == f[e + 2] ? -1 : f[e + 2]), (c = (e / 3) | 0), (b.mNext[c] = b.mFree), (b.mFree = c), (f[e + 1] = -2147483648), (f[e + 2] = -1), b.mSize--; else { a = !1; g = e; for (e = f[e + 2]; -1 != e; ) { if (f[e] == c) { a = !0; break; } g = e; e = f[g + 2]; } a && ((f[g + 2] = f[e + 2]), (c = (e / 3) | 0), (b.mNext[c] = b.mFree), (b.mFree = c), (f[e + 1] = -2147483648), (f[e + 2] = -1), b.mSize--); } this.mSize--; return !0; }, toValSet: function () { for ( var a = new li(), b = this.mKeys, c = this.mVals, e = 0, f = this.capacity; e < f; ) { var g = e++; null != b[g] && a.set(c[g]); } return a; }, toKeySet: function () { for (var a = new li(), b = this.mKeys, c, e = 0, f = this.capacity; e < f; ) (c = e++), (c = b[c]), null != c && a.set(c); return a; }, keys: function () { return new tn(this); }, get_size: function () { return this.mSize; }, free: function () { Lb.nullify(this.mVals); this.mVals = null; Lb.nullify(this.mKeys); this.mNext = this.mKeys = null; this.mH.free(); this.mH = null; null != this.mIterator && (this.mIterator.free(), (this.mIterator = null)); this.mTmpKeyBuffer = this.mTmpIntBuffer = null; }, contains: function (a) { return this.has(a); }, remove: function (a) { for ( var b = this.mTmpKeyBuffer, c = this.mKeys, e = this.mVals, f, g = 0, l = 0, h = this.capacity; l < h; ) { var k = l++; f = c[k]; null != f && e[k] == a && (b[g++] = f); } l = 0; for (h = g; l < h; ) (k = l++), this.unset(b[k]), (b[k] = null); return 0 < g; }, clear: function (a) { null == a && (a = !1); this.mH.clear(a); Lb.init(this.mKeys, null, 0, this.capacity); Lb.init(this.mVals, null, 0, this.capacity); a = this.mNext; for (var b = 0, c = this.capacity - 1; b < c; ) { var e = b++; a[e] = e + 1; } a[this.capacity - 1] = -1; this.mSize = this.mFree = 0; }, iterator: function () { return this.reuseIterator ? (null == this.mIterator ? (this.mIterator = new ik(this)) : this.mIterator.reset(), this.mIterator) : new ik(this); }, isEmpty: function () { return 0 == this.mSize; }, toArray: function () { if (0 == this.mSize) return []; var a = this.mSize; Ea._assert(0 <= a, 'len >= 0', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 37, className: 'polygonal.ds.tools.ArrayTools', methodName: 'alloc' }); a = Array(a); for (var b = 0, c = this.mKeys, e = this.mVals, f = 0, g = this.capacity; f < g; ) { var l = f++; null != c[l] && (a[b++] = e[l]); } return a; }, clone: function (a, b) { null == a && (a = !0); var c = new sn(this.mH.slotCount, this.mSize); c.mH = this.mH.clone(); c.mSize = this.mSize; c.mFree = this.mFree; var e = this.mVals, f = c.mVals, g = this.mKeys; Lb.blit(g, 0, c.mKeys, 0, this.mSize); if (a) Lb.blit(e, 0, f, 0, this.mSize); else if (null != b) { a = 0; for (var l = this.mSize; a < l; ) { var h = a++; f[h] = null != g[h] ? b(e[h]) : null; } } else for (a = 0, l = this.mSize; a < l; ) (h = a++), null != g[h] ? (Ea._assert( w.__implements(e[h], rg), 'element is not of type Cloneable(Std.isOfType(srcVals.get(i), Cloneable))', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/HashTable.hx', lineNumber: 735, className: 'polygonal.ds.HashTable', methodName: 'clone' } ), (f[h] = w.__cast(e[h], rg).clone())) : (f[h] = null); Lb.blit(this.mNext, 0, c.mNext, 0, this.mSize); return c; }, __class__: sn, __properties__: { get_size: 'get_size', set_growthRate: 'set_growthRate', get_growthRate: 'get_growthRate', get_slotCount: 'get_slotCount', get_loadFactor: 'get_loadFactor' } }; var Ig = function () {}; k['polygonal.ds.Itr'] = Ig; Ig.__name__ = 'polygonal.ds.Itr'; Ig.__isInterface__ = !0; Ig.prototype = { hasNext: null, next: null, remove: null, reset: null, __class__: Ig }; var tn = function (a) { this.mObject = a; this.reset(); }; k['polygonal.ds.HashTableKeyIterator'] = tn; tn.__name__ = 'polygonal.ds.HashTableKeyIterator'; tn.__interfaces__ = [Ig]; tn.prototype = { mObject: null, mKeys: null, mI: null, mS: null, free: function () { this.mKeys = this.mObject = null; }, reset: function () { this.mKeys = this.mObject.mKeys; this.mS = this.mObject.mH.capacity; for (this.mI = 0; this.mI < this.mS && null == this.mKeys[this.mI]; ) this.mI++; return this; }, hasNext: function () { return this.mI < this.mS; }, next: function () { for (var a = this.mKeys[this.mI]; ++this.mI < this.mS && null == this.mKeys[this.mI]; ); return a; }, remove: function () { throw J.thrown('unsupported operation'); }, __class__: tn }; var ik = function (a) { this.mObject = a; this.reset(); }; k['polygonal.ds.HashTableValIterator'] = ik; ik.__name__ = 'polygonal.ds.HashTableValIterator'; ik.__interfaces__ = [Ig]; ik.prototype = { mObject: null, mKeys: null, mVals: null, mI: null, mS: null, free: function () { this.mVals = this.mKeys = this.mObject = null; }, reset: function () { this.mVals = this.mObject.mVals; this.mKeys = this.mObject.mKeys; this.mS = this.mObject.mH.capacity; for (this.mI = 0; this.mI < this.mS && null == this.mKeys[this.mI]; ) this.mI++; return this; }, hasNext: function () { return this.mI < this.mS; }, next: function () { for (var a = this.mVals[this.mI]; ++this.mI < this.mS && null == this.mKeys[this.mI]; ); return a; }, remove: function () { throw J.thrown('unsupported operation'); }, __class__: ik }; var hj = function () {}; k['polygonal.ds.Set'] = hj; hj.__name__ = 'polygonal.ds.html'; hj.__isInterface__ = !0; hj.__interfaces__ = [gj]; hj.prototype = { has: null, set: null, unset: null, __class__: hj }; var Jg = function (a, b) { null == b && (b = -1); this.mFree = this.mSize = 0; this.reuseIterator = !1; this.growthRate = -3; this.key = sg.next(); Ea._assert(0 < a, 'slotCount > 0', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntHashSet.hx', lineNumber: 138, className: 'polygonal.ds.IntHashSet', methodName: 'new' }); Ea._assert( 0 < a && 0 == (a & (a - 1)), 'slotCount is not a power of 2(MathTools.isPow2(slotCount))', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntHashSet.hx', lineNumber: 139, className: 'polygonal.ds.IntHashSet', methodName: 'new' } ); -1 == b && (b = a); 2 > b && (b = 2); this.mMinCapacity = this.capacity = b; this.slotCount = a; this.mMask = a - 1; this.mHash = Lb.init(Array(a), -1); this.mData = Array(this.capacity << 1); this.mNext = Array(this.capacity); var c = 1; a = this.mData; b = 0; for (var e = this.capacity; b < e; ) b++, (a[c - 1] = -2147483648), (a[c] = -1), (c += 2); a = this.mNext; b = 0; for (e = this.capacity - 1; b < e; ) (c = b++), (a[c] = c + 1); a[this.capacity - 1] = -1; }; k['polygonal.ds.IntHashSet'] = Jg; Jg.__name__ = 'polygonal.ds.IntHashSet'; Jg.__interfaces__ = [hj]; Jg.prototype = { key: null, capacity: null, growthRate: null, reuseIterator: null, get_loadFactor: function () { return this.mSize / this.slotCount; }, slotCount: null, mHash: null, mData: null, mNext: null, mMask: null, mFree: null, mSize: null, mMinCapacity: null, mIterator: null, getCollisionCount: function () { for (var a = 0, b, c = this.mData, e = this.mHash, f = 0, g = this.slotCount; f < g; ) if (((b = f++), (b = e[b]), -1 != b)) for (b = c[b + 1]; -1 != b; ) (b = c[b + 1]), ++a; return a; }, hasFront: function (a) { Ea._assert(-2147483648 != a, 'value 0x80000000 is reserved(val != VAL_ABSENT)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntHashSet.hx', lineNumber: 203, className: 'polygonal.ds.IntHashSet', methodName: 'hasFront' }); var b = (73856093 * a) & this.mMask, c = this.mHash[b]; if (-1 == c) return !1; var e = this.mData; if (e[c] == a) return !0; var f = !1, g = c, l = g; for (c = e[c + 1]; -1 != c; ) { if (e[c] == a) { e[l + 1] = e[c + 1]; e[c + 1] = g; e[b] = c; f = !0; break; } l = c; c = e[l + 1]; } return f; }, rehash: function (a) { Ea._assert( 0 < a && 0 == (a & (a - 1)), 'slotCount is not a power of 2(MathTools.isPow2(slotCount))', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntHashSet.hx', lineNumber: 270, className: 'polygonal.ds.IntHashSet', methodName: 'rehash' } ); if (this.slotCount == a) return this; for ( var b = new Jg(a, this.capacity), c = this.mData, e = 0, f = this.capacity; e < f; ) { var g = e++; g = c[g << 1]; if (-2147483648 != g) { Ea._assert(-2147483648 != g, 'value 0x80000000 is reserved(val != VAL_ABSENT)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntHashSet.hx', lineNumber: 521, className: 'polygonal.ds.IntHashSet', methodName: 'set' }); var l = (73856093 * g) & b.mMask, h = b.mData, k = b.mHash[l]; if (-1 == k) b.mSize == b.capacity && (b.grow(), (h = b.mData)), (k = b.mFree << 1), (b.mFree = b.mNext[b.mFree]), (b.mHash[l] = k), (h[k] = g), b.mSize++; else if (h[k] != g) { for (l = h[k + 1]; -1 != l; ) { if (h[l] == g) { k = -1; break; } k = l; l = h[l + 1]; } -1 != k && (b.mSize == b.capacity && (b.grow(), (h = b.mData)), (l = b.mFree << 1), (b.mFree = b.mNext[b.mFree]), (h[l] = g), (h[k + 1] = l), b.mSize++); } } } this.mHash = b.mHash; this.mData = b.mData; this.mNext = b.mNext; this.slotCount = a; this.mMask = b.mMask; this.mFree = b.mFree; return this; }, pack: function () { if (this.capacity == this.mMinCapacity) return this; var a = this.mSize, b = this.mMinCapacity; this.capacity = a > b ? a : b; var c = this.mData, e = 0, f = this.mHash, g = Array(this.capacity << 1); a = 0; for (b = this.slotCount; a < b; ) { var l = a++; var h = f[l]; if (-1 != h) for (f[l] = e, g[e++] = c[h], g[e++] = -1, h = c[h + 1]; -1 != h; ) (g[e - 1] = e), (g[e++] = c[h]), (g[e++] = -1), (h = c[h + 1]); } this.mData = g; c = this.mNext = Array(this.capacity); a = 0; for (b = this.capacity - 1; a < b; ) (l = a++), (c[l] = l + 1); this.mFree = c[this.capacity - 1] = -1; return this; }, iter: function (a) { Ea._assert(null != a, 'f != null', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntHashSet.hx', lineNumber: 384, className: 'polygonal.ds.IntHashSet', methodName: 'iter' }); for (var b = this.mData, c, e, f = 0, g = this.capacity; f < g; ) (c = f++ << 1), (e = b[c]), -2147483648 != e && a(b[c]); return this; }, toString: function () { var a = '' + z.string( $a.format( '[ IntHashSet size=' + this.mSize + ' capacity=' + this.capacity + ' load=%.2f', [this.get_loadFactor()] ) ); if (0 == this.mSize) return a + ' ]'; a += '\n'; for (var b = this.iterator(); b.hasNext(); ) { var c = b.next(); a += z.string(' ' + c + '\n'); } return a + ']'; }, hashCode: function (a) { return (73856093 * a) & this.mMask; }, grow: function () { var a = this.capacity; this.capacity = Hg.compute(this.growthRate, this.capacity); var b = Array(this.capacity); Lb.blit(this.mNext, 0, b, 0, a); this.mNext = b; b = Array(this.capacity << 1); Lb.blit(this.mData, 0, b, 0, a << 1); this.mData = b; b = this.mNext; for (var c = a - 1, e = this.capacity - 1; c < e; ) { var f = c++; b[f] = f + 1; } b[this.capacity - 1] = -1; this.mFree = a; f = a << 1; b = this.mData; c = 0; for (e = this.capacity - a; c < e; ) c++, (b[f] = -2147483648), (b[f + 1] = -1), (f += 2); }, has: function (a) { Ea._assert(-2147483648 != a, 'value 0x80000000 is reserved(val != VAL_ABSENT)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntHashSet.hx', lineNumber: 467, className: 'polygonal.ds.IntHashSet', methodName: 'has' }); var b = this.mHash[(73856093 * a) & this.mMask]; if (-1 == b) return !1; var c = this.mData; if (c[b] == a) return !0; var e = !1; for (b = c[b + 1]; -1 != b; ) { if (c[b] == a) { e = !0; break; } b = c[b + 1]; } return e; }, set: function (a) { Ea._assert(-2147483648 != a, 'value 0x80000000 is reserved(val != VAL_ABSENT)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntHashSet.hx', lineNumber: 521, className: 'polygonal.ds.IntHashSet', methodName: 'set' }); var b = (73856093 * a) & this.mMask, c = this.mData, e = this.mHash[b]; if (-1 == e) return ( this.mSize == this.capacity && (this.grow(), (c = this.mData)), (e = this.mFree << 1), (this.mFree = this.mNext[this.mFree]), (this.mHash[b] = e), (c[e] = a), this.mSize++, !0 ); if (c[e] == a) return !1; for (b = c[e + 1]; -1 != b; ) { if (c[b] == a) { e = -1; break; } e = b; b = c[b + 1]; } if (-1 == e) return !1; this.mSize == this.capacity && (this.grow(), (c = this.mData)); b = this.mFree << 1; this.mFree = this.mNext[this.mFree]; c[b] = a; c[e + 1] = b; this.mSize++; return !0; }, unset: function (a) { var b = (73856093 * a) & this.mMask, c = this.mHash[b]; if (-1 == c) return !1; var e = this.mData; if (a == e[c]) return ( (this.mHash[b] = -1 == e[c + 1] ? -1 : e[c + 1]), (a = c >> 1), (this.mNext[a] = this.mFree), (this.mFree = a), (e[c] = -2147483648), (e[c + 1] = -1), this.mSize--, !0 ); b = !1; var f = c; for (c = e[c + 1]; -1 != c; ) { if (e[c] == a) { b = !0; break; } f = c; c = e[f + 1]; } return b ? ((e[f + 1] = e[c + 1]), (a = c >> 1), (this.mNext[a] = this.mFree), (this.mFree = a), (e[c] = -2147483648), (e[c + 1] = -1), --this.mSize, !0) : !1; }, get_size: function () { return this.mSize; }, free: function () { this.mNext = this.mData = this.mHash = null; null != this.mIterator && (this.mIterator.free(), (this.mIterator = null)); }, contains: function (a) { Ea._assert(-2147483648 != a, 'value 0x80000000 is reserved(val != VAL_ABSENT)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntHashSet.hx', lineNumber: 467, className: 'polygonal.ds.IntHashSet', methodName: 'has' }); var b = this.mHash[(73856093 * a) & this.mMask]; if (-1 == b) return !1; var c = this.mData; if (c[b] == a) return !0; var e = !1; for (b = c[b + 1]; -1 != b; ) { if (c[b] == a) { e = !0; break; } b = c[b + 1]; } return e; }, remove: function (a) { var b = (73856093 * a) & this.mMask, c = this.mHash[b]; if (-1 == c) return !1; var e = this.mData; if (a == e[c]) return ( (this.mHash[b] = -1 == e[c + 1] ? -1 : e[c + 1]), (a = c >> 1), (this.mNext[a] = this.mFree), (this.mFree = a), (e[c] = -2147483648), (e[c + 1] = -1), this.mSize--, !0 ); b = !1; var f = c; for (c = e[c + 1]; -1 != c; ) { if (e[c] == a) { b = !0; break; } f = c; c = e[f + 1]; } return b ? ((e[f + 1] = e[c + 1]), (a = c >> 1), (this.mNext[a] = this.mFree), (this.mFree = a), (e[c] = -2147483648), (e[c + 1] = -1), --this.mSize, !0) : !1; }, clear: function (a) { var b = this.mHash; a = 0; for (var c = this.slotCount; a < c; ) { var e = a++; b[e] = -1; } e = 1; b = this.mData; a = 0; for (c = this.capacity; a < c; ) a++, (b[e - 1] = -2147483648), (b[e] = -1), (e += 2); b = this.mNext; a = 0; for (c = this.capacity - 1; a < c; ) (e = a++), (b[e] = e + 1); b[this.capacity - 1] = -1; this.mSize = this.mFree = 0; }, iterator: function () { return this.reuseIterator ? (null == this.mIterator ? (this.mIterator = new jk(this)) : this.mIterator.reset(), this.mIterator) : new jk(this); }, isEmpty: function () { return 0 == this.mSize; }, toArray: function () { if (0 == this.mSize) return []; var a = this.mSize; Ea._assert(0 <= a, 'len >= 0', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 37, className: 'polygonal.ds.tools.ArrayTools', methodName: 'alloc' }); a = Array(a); for (var b = 0, c, e = this.mData, f = 0, g = this.capacity; f < g; ) (c = f++), (c = e[c << 1]), -2147483648 != c && (a[b++] = c); return a; }, clone: function (a, b) { a = new Jg(this.slotCount, this.mSize); Lb.blit(this.mHash, 0, a.mHash, 0, this.slotCount); Lb.blit(this.mData, 0, a.mData, 0, this.mSize << 1); Lb.blit(this.mNext, 0, a.mNext, 0, this.mSize); a.mMask = this.mMask; a.slotCount = this.slotCount; a.capacity = this.capacity; a.mFree = this.mFree; a.mSize = this.mSize; return a; }, __class__: Jg, __properties__: { get_size: 'get_size', get_loadFactor: 'get_loadFactor' } }; var jk = function (a) { this.mObject = a; this.mData = a.mData; this.mI = 0; this.mS = a.capacity; this.scan(); }; k['polygonal.ds.IntHashSetIterator'] = jk; jk.__name__ = 'polygonal.ds.IntHashSetIterator'; jk.__interfaces__ = [Ig]; jk.prototype = { mObject: null, mI: null, mS: null, mData: null, free: function () { this.mData = this.mObject = null; }, reset: function () { this.mData = this.mObject.mData; this.mI = 0; this.mS = this.mObject.capacity; this.scan(); return this; }, hasNext: function () { return this.mI < this.mS; }, next: function () { var a = this.mData[this.mI++ << 1]; this.scan(); return a; }, remove: function () { throw J.thrown('unsupported operation'); }, scan: function () { for (; this.mI < this.mS && -2147483648 == this.mData[this.mI << 1]; ) this.mI++; }, __class__: jk }; var xe = function (a, b) { null == b && (b = -1); this.mTmpKeyBuffer = []; this.mIterator = null; this.mFree = this.mSize = 0; this.reuseIterator = !1; this.key = sg.next(); Ea._assert(0 < a, 'slotCount > 0', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntHashTable.hx', lineNumber: 158, className: 'polygonal.ds.IntHashTable', methodName: 'new' }); -1 == b && (b = a); 2 > b && (b = 2); this.mMinCapacity = this.capacity = b; this.mH = new tg(a, this.capacity); this.mVals = Array(this.capacity); this.mNext = Array(this.capacity); this.mKeys = Lb.init(Array(this.capacity), -2147483648, 0, this.capacity); a = this.mNext; b = 0; for (var c = this.capacity - 1; b < c; ) { var e = b++; a[e] = e + 1; } a[this.capacity - 1] = -1; }; k['polygonal.ds.IntHashTable'] = xe; xe.__name__ = 'polygonal.ds.IntHashTable'; xe.__interfaces__ = [ki]; xe.prototype = { key: null, capacity: null, get_growthRate: function () { return this.mH.growthRate; }, set_growthRate: function (a) { return (this.mH.growthRate = a); }, reuseIterator: null, get_loadFactor: function () { return this.mH.get_loadFactor(); }, get_slotCount: function () { return this.mH.slotCount; }, mH: null, mVals: null, mNext: null, mKeys: null, mFree: null, mSize: null, mMinCapacity: null, mShrinkSize: null, mIterator: null, mTmpKeyBuffer: null, getCollisionCount: function () { return this.mH.getCollisionCount(); }, getFront: function (a) { var b = this.mH, c = (73856093 * a) & b.mMask, e = b.mHash[c]; if (-1 == e) a = -2147483648; else { var f = b.mData; if (f[e] == a) a = f[e + 1]; else { var g = -2147483648, l = e, h = l; for (e = f[e + 2]; -1 != e; ) { if (f[e] == a) { g = f[e + 1]; f[h + 2] = f[e + 2]; f[e + 2] = l; b.mHash[c] = e; break; } h = e; e = f[h + 2]; } a = g; } } return -2147483648 == a ? null : this.mVals[a]; }, setIfAbsent: function (a, b) { Ea._assert( -2147483648 != a, 'key 0x80000000 is reserved(key != IntIntHashTable.KEY_ABSENT)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntHashTable.hx', lineNumber: 212, className: 'polygonal.ds.IntHashTable', methodName: 'setIfAbsent' } ); this.mSize == this.capacity && this.grow(); var c = this.mFree, e = this.mH; Ea._assert(-2147483648 != c, 'val 0x80000000 is reserved(val != KEY_ABSENT)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntIntHashTable.hx', lineNumber: 291, className: 'polygonal.ds.IntIntHashTable', methodName: 'setIfAbsent' }); var f = (73856093 * a) & e.mMask, g = e.mData, l = e.mHash[f]; if (-1 == l) { e.mSize == e.capacity && (e.grow(), (g = e.mData)); var h = 3 * e.mFree; e.mFree = e.mNext[e.mFree]; e.mHash[f] = h; g[h] = a; g[h + 1] = c; e.mSize++; e = !0; } else if (g[l] == a) e = !1; else { for (f = g[l + 2]; -1 != f; ) { if (g[f] == a) { l = -1; break; } l = f; f = g[l + 2]; } -1 == l ? (e = !1) : (e.mSize == e.capacity && (e.grow(), (g = e.mData)), (h = 3 * e.mFree), (e.mFree = e.mNext[e.mFree]), (g[l + 2] = h), (g[h] = a), (g[h + 1] = c), e.mSize++, (e = !0)); } return e ? ((this.mVals[c] = b), (this.mKeys[c] = a), (this.mFree = this.mNext[c]), this.mSize++, !0) : !1; }, rehash: function (a) { this.mH.rehash(a); return this; }, remap: function (a, b) { var c = this.mH, e = c.mHash[(73856093 * a) & c.mMask]; if (-1 == e) a = -2147483648; else if (((c = c.mData), c[e] == a)) a = c[e + 1]; else { var f = -2147483648; for (e = c[e + 2]; -1 != e; ) { if (c[e] == a) { f = c[e + 1]; break; } e = c[e + 2]; } a = f; } return -2147483648 != a ? ((this.mVals[a] = b), !0) : !1; }, toKeyArray: function () { return this.mH.toKeyArray(); }, toString: function () { var a = this; var b = '' + z.string( $a.format( '[ IntHashTable size=' + this.mSize + ' capacity=' + this.capacity + ' load=%.2f', [this.get_loadFactor()] ) ); if (0 == this.mSize) return b + ' ]'; b += '\n'; for (var c = 0, e = this.keys(); e.hasNext(); ) { var f = e.next(); c = Math.max(c, f); } for (f = 1; 0 != c; ) ++f, (c = (c / 10) | 0); c = []; var g = ' %- ' + f + 'd -> %s\n', l = []; for (e = this.keys(); e.hasNext(); ) (f = e.next()), l.push(f); l.sort(function (a, b) { return a - b; }); f = 1; var h = l.length; e = 0; for (var k = 1; f < h; ) { if (l[e] == l[f]) ++k; else { e = l[e]; c[0] = e; if (1 < k) (k = []), a.getAll(e, k), (c[1] = k.join(',')); else { k = a.mVals; var n = a.mH, u = n.mHash[(73856093 * e) & n.mMask]; if (-1 == u) e = -2147483648; else if (((n = n.mData), n[u] == e)) e = n[u + 1]; else { var p = -2147483648; for (u = n[u + 2]; -1 != u; ) { if (n[u] == e) { p = n[u + 1]; break; } u = n[u + 2]; } e = p; } c[1] = z.string(k[e]); } b += z.string($a.format(g, c)); e = f; k = 1; } ++f; } e = l[e]; c[0] = e; if (1 < k) (k = []), a.getAll(e, k), (c[1] = k.join(',')); else { k = a.mVals; n = a.mH; f = n.mHash[(73856093 * e) & n.mMask]; if (-1 == f) a = -2147483648; else if (((n = n.mData), n[f] == e)) a = n[f + 1]; else { p = -2147483648; for (f = n[f + 2]; -1 != f; ) { if (n[f] == e) { p = n[f + 1]; break; } f = n[f + 2]; } a = p; } c[1] = z.string(k[a]); } b += z.string($a.format(g, c)); return b + ']'; }, has: function (a) { for (var b = this.mKeys, c = this.mVals, e = 0, f = this.capacity; e < f; ) { var g = e++; if (-2147483648 != b[g] && c[g] == a) return !0; } return !1; }, hasKey: function (a) { var b = this.mH, c = b.mHash[(73856093 * a) & b.mMask]; if (-1 == c) return !1; b = b.mData; if (b[c] == a) return !0; var e = !1; for (c = b[c + 2]; -1 != c; ) { if (b[c] == a) { e = !0; break; } c = b[c + 2]; } return e; }, count: function (a) { return this.mH.count(a); }, get: function (a) { var b = this.mH, c = b.mHash[(73856093 * a) & b.mMask]; if (-1 == c) a = -2147483648; else if (((b = b.mData), b[c] == a)) a = b[c + 1]; else { var e = -2147483648; for (c = b[c + 2]; -1 != c; ) { if (b[c] == a) { e = b[c + 1]; break; } c = b[c + 2]; } a = e; } return -2147483648 == a ? null : this.mVals[a]; }, getAll: function (a, b) { var c = this.mH, e = c.mHash[(73856093 * a) & c.mMask]; if (-1 == e) c = -2147483648; else { var f = c.mData; if (f[e] == a) c = f[e + 1]; else for (c = -2147483648, e = f[e + 2]; -1 != e; ) { if (f[e] == a) { c = f[e + 1]; break; } e = f[e + 2]; } } if (-2147483648 == c) return 0; e = this.mTmpKeyBuffer; a = this.mH.getAll(a, e); c = this.mVals; for (f = 0; f < a; ) { var g = f++; b[g] = c[e[g]]; } return a; }, set: function (a, b) { Ea._assert( -2147483648 != a, 'key 0x80000000 is reserved(key != IntIntHashTable.KEY_ABSENT)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntHashTable.hx', lineNumber: 397, className: 'polygonal.ds.IntHashTable', methodName: 'set' } ); this.mSize == this.capacity && this.grow(); var c = this.mFree, e = this.mH; Ea._assert(-2147483648 != c, 'val 0x80000000 is reserved(val != KEY_ABSENT)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntIntHashTable.hx', lineNumber: 1046, className: 'polygonal.ds.IntIntHashTable', methodName: 'set' }); e.mSize == e.capacity && e.grow(); var f = e.mData, g = e.mHash, l = 3 * e.mFree; e.mFree = e.mNext[e.mFree]; f[l] = a; f[l + 1] = c; var h = (73856093 * a) & e.mMask, k = g[h]; if (-1 == k) (g[h] = l), e.mSize++, (e = !0); else { g = f[k] != a; for (h = f[k + 2]; -1 != h; ) f[h] == a && (g = !1), (k = h), (h = f[h + 2]); f[k + 2] = l; e.mSize++; e = g; } this.mVals[c] = b; this.mKeys[c] = a; this.mFree = this.mNext[c]; this.mSize++; return e; }, unset: function (a) { var b = this.mH, c = b.mHash[(73856093 * a) & b.mMask]; if (-1 == c) c = -2147483648; else { var e = b.mData; if (e[c] == a) c = e[c + 1]; else { b = -2147483648; for (c = e[c + 2]; -1 != c; ) { if (e[c] == a) { b = e[c + 1]; break; } c = e[c + 2]; } c = b; } } if (-2147483648 == c) return !1; this.mVals[c] = null; this.mKeys[c] = -2147483648; this.mNext[c] = this.mFree; this.mFree = c; b = this.mH; var f = (73856093 * a) & b.mMask, g = b.mHash; c = g[f]; if (-1 != c) if (((e = b.mData), a == e[c])) (g[f] = -1 == e[c + 2] ? -1 : e[c + 2]), (a = (c / 3) | 0), (b.mNext[a] = b.mFree), (b.mFree = a), (e[c + 1] = -2147483648), (e[c + 2] = -1), b.mSize--; else { f = !1; g = c; for (c = e[c + 2]; -1 != c; ) { if (e[c] == a) { f = !0; break; } g = c; c = e[g + 2]; } f && ((e[g + 2] = e[c + 2]), (a = (c / 3) | 0), (b.mNext[a] = b.mFree), (b.mFree = a), (e[c + 1] = -2147483648), (e[c + 2] = -1), b.mSize--); } this.mSize--; return !0; }, toValSet: function () { for ( var a = new li(), b = this.mKeys, c = this.mVals, e = 0, f = this.capacity; e < f; ) { var g = e++; -2147483648 != b[g] && a.set(c[g]); } return a; }, toKeySet: function () { return this.mH.toKeySet(); }, keys: function () { return this.mH.keys(); }, pack: function () { this.mH.pack(); if (this.mH.capacity == this.capacity) return this; this.capacity = this.mH.capacity; for (var a = (this.mNext = Array(this.capacity)), b = 0, c = this.capacity - 1; b < c; ) { var e = b++; a[e] = e + 1; } a[this.capacity - 1] = -1; this.mFree = 0; b = this.mKeys; a = Array(this.capacity); c = this.mVals; var f = Array(this.capacity), g = this.mFree; for (e = this.mH.iterator(); e.hasNext(); ) { var l = e.next(); a[g] = b[l]; f[g] = c[l]; g = this.mNext[g]; } this.mFree = g; this.mKeys = a; this.mVals = f; b = 0; for (c = this.mSize; b < c; ) if ( ((e = b++), (g = this.mH), (f = a[e]), (l = g.mHash[(73856093 * f) & g.mMask]), -1 != l) ) if (((g = g.mData), g[l] == f)) g[l + 1] = e; else for (l = g[l + 2]; -1 != l; ) { if (g[l] == f) { g[l + 1] = e; break; } l = g[l + 2]; } return this; }, iter: function (a) { Ea._assert(null != a, 'f != null', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntHashTable.hx', lineNumber: 518, className: 'polygonal.ds.IntHashTable', methodName: 'iter' }); var b = this.mVals, c = this.mH; Ea._assert(!0, 'f != null', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntIntHashTable.hx', lineNumber: 1360, className: 'polygonal.ds.IntIntHashTable', methodName: 'iter' }); for (var e = c.mData, f, g = 0, l = c.capacity; g < l; ) (c = 3 * g++), (f = e[c + 1]), -2147483648 != f && a(e[c], b[f]); return this; }, grow: function () { var a = this.capacity; this.capacity = Hg.compute(this.get_growthRate(), this.capacity); var b = Array(this.capacity); Lb.blit(this.mNext, 0, b, 0, a); this.mNext = b; b = Array(this.capacity); Lb.blit(this.mKeys, 0, b, 0, a); b = this.mKeys = b; for (var c = a, e = this.capacity; c < e; ) { var f = c++; b[f] = -2147483648; } b = this.mNext; c = a - 1; for (e = this.capacity - 1; c < e; ) (f = c++), (b[f] = f + 1); b[this.capacity - 1] = -1; this.mFree = a; b = Array(this.capacity); Lb.blit(this.mVals, 0, b, 0, a); this.mVals = b; }, get_size: function () { return this.mSize; }, free: function () { Lb.nullify(this.mVals); this.mNext = this.mKeys = this.mVals = null; this.mH.free(); this.mH = null; null != this.mIterator && (this.mIterator.free(), (this.mIterator = null)); this.mTmpKeyBuffer = null; }, contains: function (a) { return this.has(a); }, remove: function (a) { for ( var b = this.mTmpKeyBuffer, c = 0, e = this.mKeys, f = this.mVals, g, l = 0, h = this.capacity; l < h; ) { var k = l++; g = e[k]; -2147483648 != g && f[k] == a && (b[c++] = g); } l = 0; for (h = c; l < h; ) (k = l++), this.unset(b[k]); return 0 < c; }, clear: function (a) { null == a && (a = !1); this.mH.clear(a); Lb.init(this.mKeys, -2147483648, 0, this.capacity); a = this.mNext; for (var b = 0, c = this.capacity - 1; b < c; ) { var e = b++; a[e] = e + 1; } a[this.capacity - 1] = -1; this.mSize = this.mFree = 0; }, iterator: function () { return this.reuseIterator ? (null == this.mIterator ? (this.mIterator = new kk(this)) : this.mIterator.reset(), this.mIterator) : new kk(this); }, isEmpty: function () { return 0 == this.mSize; }, toArray: function () { if (0 == this.mSize) return []; var a = this.mSize; Ea._assert(0 <= a, 'len >= 0', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 37, className: 'polygonal.ds.tools.ArrayTools', methodName: 'alloc' }); a = Array(a); for (var b = 0, c = this.mKeys, e = this.mVals, f = 0, g = this.capacity; f < g; ) { var l = f++; -2147483648 != c[l] && (a[b++] = e[l]); } return a; }, clone: function (a, b) { null == a && (a = !0); var c = new xe(this.mH.slotCount, this.mSize); c.mH = this.mH.clone(!1); c.mSize = this.mSize; c.mFree = this.mFree; var e = this.mVals, f = c.mVals; if (a) Lb.blit(e, 0, f, 0, this.mSize); else if (((a = this.mKeys), null != b)) for (var g = 0, l = this.mSize; g < l; ) { var h = g++; -2147483648 != a[h] && (f[h] = b(e[h])); } else for (g = 0, l = this.mSize; g < l; ) (h = g++), -2147483648 != a[h] && (Ea._assert( w.__implements(e[h], rg), 'element is not of type Cloneable(Std.isOfType(src.get(i), Cloneable))', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntHashTable.hx', lineNumber: 727, className: 'polygonal.ds.IntHashTable', methodName: 'clone' } ), (f[h] = w.__cast(e[h], rg).clone())); Lb.blit(this.mKeys, 0, c.mKeys, 0, this.mSize); Lb.blit(this.mNext, 0, c.mNext, 0, this.mSize); return c; }, __class__: xe, __properties__: { get_size: 'get_size', get_slotCount: 'get_slotCount', get_loadFactor: 'get_loadFactor', set_growthRate: 'set_growthRate', get_growthRate: 'get_growthRate' } }; var kk = function (a) { this.mObject = a; this.reset(); }; k['polygonal.ds.IntHashTableIterator'] = kk; kk.__name__ = 'polygonal.ds.IntHashTableIterator'; kk.__interfaces__ = [Ig]; kk.prototype = { mObject: null, mVals: null, mKeys: null, mI: null, mS: null, free: function () { this.mKeys = this.mVals = this.mObject = null; }, reset: function () { this.mVals = this.mObject.mVals; this.mKeys = this.mObject.mKeys; this.mS = this.mObject.mH.capacity; for (this.mI = 0; this.mI < this.mS && -2147483648 == this.mKeys[this.mI]; ) this.mI++; return this; }, hasNext: function () { return this.mI < this.mS; }, next: function () { for ( var a = this.mVals[this.mI]; ++this.mI < this.mS && -2147483648 == this.mKeys[this.mI]; ); return a; }, remove: function () { throw J.thrown('unsupported operation'); }, __class__: kk }; var tg = function (a, b) { null == b && (b = -1); this.mTmpBufferSize = 16; this.mFree = this.mSize = 0; this.reuseIterator = !1; this.growthRate = -3; this.key = sg.next(); Ea._assert(0 < a, 'slotCount > 0', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntIntHashTable.hx', lineNumber: 156, className: 'polygonal.ds.IntIntHashTable', methodName: 'new' }); Ea._assert( 0 < a && 0 == (a & (a - 1)), 'slotCount is not a power of 2(MathTools.isPow2(slotCount))', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntIntHashTable.hx', lineNumber: 157, className: 'polygonal.ds.IntIntHashTable', methodName: 'new' } ); -1 == b ? (b = a) : (Ea._assert(2 <= b, 'minimum capacity is 2(initialCapacity >= 2)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntIntHashTable.hx', lineNumber: 163, className: 'polygonal.ds.IntIntHashTable', methodName: 'new' }), Ea._assert( 0 < a && 0 == (a & (a - 1)), 'capacity is not a power of 2(MathTools.isPow2(slotCount))', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntIntHashTable.hx', lineNumber: 164, className: 'polygonal.ds.IntIntHashTable', methodName: 'new' } )); this.mMinCapacity = this.capacity = b; this.slotCount = a; this.mMask = a - 1; this.mHash = Lb.init(Array(a), -1); this.mData = Array(3 * this.capacity); this.mNext = Array(this.capacity); var c = 2; a = this.mData; b = 0; for (var e = this.capacity; b < e; ) b++, (a[c - 1] = -2147483648), (a[c] = -1), (c += 3); a = this.mNext; b = 0; for (e = this.capacity - 1; b < e; ) (c = b++), (a[c] = c + 1); a[this.capacity - 1] = -1; this.mTmpBuffer = Array(this.mTmpBufferSize); }; k['polygonal.ds.IntIntHashTable'] = tg; tg.__name__ = 'polygonal.ds.IntIntHashTable'; tg.__interfaces__ = [ki]; tg.prototype = { key: null, capacity: null, growthRate: null, reuseIterator: null, get_loadFactor: function () { return this.mSize / this.slotCount; }, slotCount: null, mHash: null, mData: null, mNext: null, mMask: null, mFree: null, mSize: null, mMinCapacity: null, mIterator: null, mTmpBuffer: null, mTmpBufferSize: null, getCollisionCount: function () { for (var a = 0, b, c = this.mData, e = this.mHash, f = 0, g = this.slotCount; f < g; ) if (((b = f++), (b = e[b]), -1 != b)) for (b = c[b + 2]; -1 != b; ) (b = c[b + 2]), ++a; return a; }, getFront: function (a) { var b = (73856093 * a) & this.mMask, c = this.mHash[b]; if (-1 == c) return -2147483648; var e = this.mData; if (e[c] == a) return e[c + 1]; var f = -2147483648, g = c, l = g; for (c = e[c + 2]; -1 != c; ) { if (e[c] == a) { f = e[c + 1]; e[l + 2] = e[c + 2]; e[c + 2] = g; this.mHash[b] = c; break; } l = c; c = e[l + 2]; } return f; }, setIfAbsent: function (a, b) { Ea._assert(-2147483648 != b, 'val 0x80000000 is reserved(val != KEY_ABSENT)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntIntHashTable.hx', lineNumber: 291, className: 'polygonal.ds.IntIntHashTable', methodName: 'setIfAbsent' }); var c = (73856093 * a) & this.mMask, e = this.mData, f = this.mHash[c]; if (-1 == f) { this.mSize == this.capacity && (this.grow(), (e = this.mData)); var g = 3 * this.mFree; this.mFree = this.mNext[this.mFree]; this.mHash[c] = g; e[g] = a; e[g + 1] = b; this.mSize++; return !0; } if (e[f] == a) return !1; for (c = e[f + 2]; -1 != c; ) { if (e[c] == a) { f = -1; break; } f = c; c = e[f + 2]; } if (-1 == f) return !1; this.mSize == this.capacity && (this.grow(), (e = this.mData)); g = 3 * this.mFree; this.mFree = this.mNext[this.mFree]; e[f + 2] = g; e[g] = a; e[g + 1] = b; this.mSize++; return !0; }, rehash: function (a) { Ea._assert( 0 < a && 0 == (a & (a - 1)), 'slotCount is not a power of 2(MathTools.isPow2(slotCount))', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntIntHashTable.hx', lineNumber: 403, className: 'polygonal.ds.IntIntHashTable', methodName: 'rehash' } ); if (this.slotCount == a) return this; for ( var b = new tg(a, this.capacity), c = this.mData, e = 0, f = this.capacity; e < f; ) { var g = e++, l = c[3 * g + 1]; if (-2147483648 != l) { var h = c[3 * g]; Ea._assert(-2147483648 != l, 'val 0x80000000 is reserved(val != KEY_ABSENT)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntIntHashTable.hx', lineNumber: 1046, className: 'polygonal.ds.IntIntHashTable', methodName: 'set' }); b.mSize == b.capacity && b.grow(); g = b.mData; var k = b.mHash, n = 3 * b.mFree; b.mFree = b.mNext[b.mFree]; g[n] = h; g[n + 1] = l; h = (73856093 * h) & b.mMask; l = k[h]; if (-1 == l) k[h] = n; else { for (k = g[l + 2]; -1 != k; ) (l = k), (k = g[k + 2]); g[l + 2] = n; } b.mSize++; } } this.mHash = b.mHash; this.mData = b.mData; this.mNext = b.mNext; this.slotCount = a; this.mMask = b.mMask; this.mFree = b.mFree; return this; }, remap: function (a, b) { var c = this.mHash[(73856093 * a) & this.mMask]; if (-1 == c) return !1; var e = this.mData; if (e[c] == a) return (e[c + 1] = b), !0; for (c = e[c + 2]; -1 != c; ) { if (e[c] == a) { e[c + 1] = b; break; } c = e[c + 2]; } return -1 != c; }, extract: function (a) { var b = (73856093 * a) & this.mMask, c = this.mHash, e = c[b]; if (-1 == e) return -2147483648; var f = this.mData; if (a == f[e]) { var g = f[e + 1]; c[b] = -1 == f[e + 2] ? -1 : f[e + 2]; a = (e / 3) | 0; this.mNext[a] = this.mFree; this.mFree = a; f[e + 1] = -2147483648; f[e + 2] = -1; this.mSize--; return g; } b = e; e = f[e + 2]; for (g = -2147483648; -1 != e; ) { if (f[e] == a) { g = f[e + 1]; break; } b = e; e = f[b + 2]; } return -2147483648 != g ? ((f[b + 2] = f[e + 2]), (a = (e / 3) | 0), (this.mNext[a] = this.mFree), (this.mFree = a), (f[e + 1] = -2147483648), (f[e + 2] = -1), this.mSize--, g) : -2147483648; }, toKeyArray: function () { if (0 == this.mSize) return []; var a = this.mSize; Ea._assert(0 <= a, 'len >= 0', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 37, className: 'polygonal.ds.tools.ArrayTools', methodName: 'alloc' }); a = Array(a); for (var b = 0, c = this.mData, e = 0, f = this.capacity; e < f; ) { var g = e++; -2147483648 != c[3 * g + 1] && (a[b++] = c[3 * g]); } return a; }, toString: function () { var a = '' + z.string( $a.format( '[ IntIntHashTable size=' + this.mSize + ' capacity=' + this.capacity + ' load=%.2f', [this.get_loadFactor()] ) ); if (0 == this.mSize) return a + ' ]'; a += '\n'; for (var b = 0, c = this.keys(); c.hasNext(); ) { var e = c.next(); b = Math.max(b, e); } for (e = 1; 0 != b; ) ++e, (b = (b / 10) | 0); b = []; var f = ' %- ' + e + 'd -> %s\n', g = []; for (c = this.keys(); c.hasNext(); ) (e = c.next()), g.push(e); g.sort(function (a, b) { return a - b; }); e = 1; var l = g.length; c = 0; for (var h = 1; e < l; ) { if (g[c] == g[e]) ++h; else { c = g[c]; b[0] = c; if (1 < h) (h = []), this.getAll(c, h), (b[1] = h.join(',')); else { h = this.mHash[(73856093 * c) & this.mMask]; if (-1 == h) c = -2147483648; else { var k = this.mData; if (k[h] == c) c = k[h + 1]; else { var n = -2147483648; for (h = k[h + 2]; -1 != h; ) { if (k[h] == c) { n = k[h + 1]; break; } h = k[h + 2]; } c = n; } } b[1] = c; } a += z.string($a.format(f, b)); c = e; h = 1; } ++e; } c = g[c]; b[0] = c; if (1 < h) (h = []), this.getAll(c, h), (b[1] = h.join(',')); else { e = this.mHash[(73856093 * c) & this.mMask]; if (-1 == e) h = -2147483648; else if (((k = this.mData), k[e] == c)) h = k[e + 1]; else { n = -2147483648; for (e = k[e + 2]; -1 != e; ) { if (k[e] == c) { n = k[e + 1]; break; } e = k[e + 2]; } h = n; } b[1] = h; } a += z.string($a.format(f, b)); return a + ']'; }, has: function (a) { Ea._assert(-2147483648 != a, 'val 0x80000000 is reserved(val != VAL_ABSENT)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntIntHashTable.hx', lineNumber: 697, className: 'polygonal.ds.IntIntHashTable', methodName: 'has' }); for (var b = !1, c = this.mData, e = 0, f = this.capacity; e < f; ) { var g = e++; if (c[3 * g + 1] == a) { b = !0; break; } } return b; }, hasKey: function (a) { var b = this.mHash[(73856093 * a) & this.mMask]; if (-1 == b) return !1; var c = this.mData; if (c[b] == a) return !0; var e = !1; for (b = c[b + 2]; -1 != b; ) { if (c[b] == a) { e = !0; break; } b = c[b + 2]; } return e; }, count: function (a) { var b = 0, c = this.mHash[(73856093 * a) & this.mMask]; if (-1 != c) for (var e = this.mData; -1 != c; ) e[c] == a && ++b, (c = e[c + 2]); return b; }, get: function (a) { var b = this.mHash[(73856093 * a) & this.mMask]; if (-1 == b) return -2147483648; var c = this.mData; if (c[b] == a) return c[b + 1]; var e = -2147483648; for (b = c[b + 2]; -1 != b; ) { if (c[b] == a) { e = c[b + 1]; break; } b = c[b + 2]; } return e; }, getAll: function (a, b) { var c = this.mHash[(73856093 * a) & this.mMask]; if (-1 == c) return 0; var e = 0, f = this.mData; f[c] == a && (b[e++] = f[c + 1]); for (c = f[c + 2]; -1 != c; ) f[c] == a && (b[e++] = f[c + 1]), (c = f[c + 2]); return e; }, hasPair: function (a, b) { Ea._assert(-2147483648 != b, 'val 0x80000000 is reserved(val != KEY_ABSENT)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntIntHashTable.hx', lineNumber: 891, className: 'polygonal.ds.IntIntHashTable', methodName: 'hasPair' }); var c = this.mHash[(73856093 * a) & this.mMask]; if (-1 != c) { var e = this.mData; if (e[c] == a && e[c + 1] == b) return !0; for (c = e[c + 2]; -1 != c; ) { if (e[c] == a && e[c + 1] == b) return !0; c = e[c + 2]; } } return !1; }, unsetPair: function (a, b) { Ea._assert(-2147483648 != b, 'val 0x80000000 is reserved(val != KEY_ABSENT)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntIntHashTable.hx', lineNumber: 939, className: 'polygonal.ds.IntIntHashTable', methodName: 'unsetPair' }); var c = (73856093 * a) & this.mMask, e = this.mHash, f = e[c]; if (-1 == f) return !1; var g = this.mData; if (a == g[f] && b == g[f + 1]) return ( (e[c] = -1 == g[f + 2] ? -1 : g[f + 2]), (a = (f / 3) | 0), (this.mNext[a] = this.mFree), (this.mFree = a), (g[f + 1] = -2147483648), (g[f + 2] = -1), this.mSize--, !0 ); c = !1; e = f; for (f = g[f + 2]; -1 != f; ) { if (g[f] == a && g[f + 1] == b) { c = !0; break; } e = f; f = g[e + 2]; } return c ? ((g[e + 2] = g[f + 2]), (a = (f / 3) | 0), (this.mNext[a] = this.mFree), (this.mFree = a), (g[f + 1] = -2147483648), (g[f + 2] = -1), --this.mSize, !0) : !1; }, set: function (a, b) { Ea._assert(-2147483648 != b, 'val 0x80000000 is reserved(val != KEY_ABSENT)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntIntHashTable.hx', lineNumber: 1046, className: 'polygonal.ds.IntIntHashTable', methodName: 'set' }); this.mSize == this.capacity && this.grow(); var c = this.mData, e = this.mHash, f = 3 * this.mFree; this.mFree = this.mNext[this.mFree]; c[f] = a; c[f + 1] = b; var g = (73856093 * a) & this.mMask; b = e[g]; if (-1 == b) return (e[g] = f), this.mSize++, !0; e = c[b] != a; for (g = c[b + 2]; -1 != g; ) c[g] == a && (e = !1), (b = g), (g = c[g + 2]); c[b + 2] = f; this.mSize++; return e; }, unset: function (a) { var b = (73856093 * a) & this.mMask, c = this.mHash, e = c[b]; if (-1 == e) return !1; var f = this.mData; if (a == f[e]) return ( (c[b] = -1 == f[e + 2] ? -1 : f[e + 2]), (a = (e / 3) | 0), (this.mNext[a] = this.mFree), (this.mFree = a), (f[e + 1] = -2147483648), (f[e + 2] = -1), this.mSize--, !0 ); b = !1; c = e; for (e = f[e + 2]; -1 != e; ) { if (f[e] == a) { b = !0; break; } c = e; e = f[c + 2]; } return b ? ((f[c + 2] = f[e + 2]), (a = (e / 3) | 0), (this.mNext[a] = this.mFree), (this.mFree = a), (f[e + 1] = -2147483648), (f[e + 2] = -1), this.mSize--, !0) : !1; }, toValSet: function () { for (var a = new Jg(this.capacity), b = this.mData, c = 0, e = this.capacity; c < e; ) { var f = c++; f = b[3 * f + 1]; if (-2147483648 != f) { Ea._assert(-2147483648 != f, 'value 0x80000000 is reserved(val != VAL_ABSENT)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntHashSet.hx', lineNumber: 521, className: 'polygonal.ds.IntHashSet', methodName: 'set' }); var g = (73856093 * f) & a.mMask, l = a.mData, h = a.mHash[g]; if (-1 == h) a.mSize == a.capacity && (a.grow(), (l = a.mData)), (h = a.mFree << 1), (a.mFree = a.mNext[a.mFree]), (a.mHash[g] = h), (l[h] = f), a.mSize++; else if (l[h] != f) { for (g = l[h + 1]; -1 != g; ) { if (l[g] == f) { h = -1; break; } h = g; g = l[g + 1]; } -1 != h && (a.mSize == a.capacity && (a.grow(), (l = a.mData)), (g = a.mFree << 1), (a.mFree = a.mNext[a.mFree]), (l[g] = f), (l[h + 1] = g), a.mSize++); } } } return a; }, toKeySet: function () { for (var a = new Jg(this.capacity), b = this.mData, c = 0, e = this.capacity; c < e; ) { var f = c++; if (-2147483648 != b[3 * f + 1]) { f = b[3 * f]; Ea._assert(-2147483648 != f, 'value 0x80000000 is reserved(val != VAL_ABSENT)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntHashSet.hx', lineNumber: 521, className: 'polygonal.ds.IntHashSet', methodName: 'set' }); var g = (73856093 * f) & a.mMask, l = a.mData, h = a.mHash[g]; if (-1 == h) a.mSize == a.capacity && (a.grow(), (l = a.mData)), (h = a.mFree << 1), (a.mFree = a.mNext[a.mFree]), (a.mHash[g] = h), (l[h] = f), a.mSize++; else if (l[h] != f) { for (g = l[h + 1]; -1 != g; ) { if (l[g] == f) { h = -1; break; } h = g; g = l[g + 1]; } -1 != h && (a.mSize == a.capacity && (a.grow(), (l = a.mData)), (g = a.mFree << 1), (a.mFree = a.mNext[a.mFree]), (l[g] = f), (l[h + 1] = g), a.mSize++); } } } return a; }, keys: function () { return new un(this); }, pack: function () { if (this.capacity == this.mMinCapacity) return this; var a = this.mSize, b = this.mMinCapacity; this.capacity = a > b ? a : b; var c = this.mData, e = 0, f = this.mHash, g = Array(3 * this.capacity), l = 2; a = 0; for (b = this.capacity; a < b; ) a++, (g[l - 1] = -2147483648), (g[l] = -1), (l += 3); a = 0; for (b = this.slotCount; a < b; ) { var h = a++; l = f[h]; if (-1 != l) for ( f[h] = e, g[e] = c[l], g[e + 1] = c[l + 1], g[e + 2] = -1, e += 3, l = c[l + 2]; -1 != l; ) (g[e - 1] = e), (g[e] = c[l]), (g[e + 1] = c[l + 1]), (g[e + 2] = -1), (e += 3), (l = c[l + 2]); } this.mData = g; c = this.mNext = Array(this.capacity); a = 0; for (b = this.capacity - 1; a < b; ) (h = a++), (c[h] = h + 1); this.mFree = c[this.capacity - 1] = -1; return this; }, iter: function (a) { Ea._assert(null != a, 'f != null', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntIntHashTable.hx', lineNumber: 1360, className: 'polygonal.ds.IntIntHashTable', methodName: 'iter' }); for (var b = this.mData, c, e, f = 0, g = this.capacity; f < g; ) (c = 3 * f++), (e = b[c + 1]), -2147483648 != e && a(b[c], e); return this; }, hashCode: function (a) { return (73856093 * a) & this.mMask; }, grow: function () { var a = this.capacity; this.capacity = Hg.compute(this.growthRate, this.capacity); var b = Array(this.capacity); Lb.blit(this.mNext, 0, b, 0, a); this.mNext = b; b = Array(3 * this.capacity); Lb.blit(this.mData, 0, b, 0, 3 * a); this.mData = b; b = this.mNext; for (var c = a - 1, e = this.capacity - 1; c < e; ) { var f = c++; b[f] = f + 1; } b[this.capacity - 1] = -1; this.mFree = a; f = 3 * a + 2; b = this.mData; c = 0; for (e = this.capacity - a; c < e; ) c++, (b[f - 1] = -2147483648), (b[f] = -1), (f += 3); }, get_size: function () { return this.mSize; }, free: function () { this.mNext = this.mData = this.mHash = null; null != this.mIterator && (this.mIterator.free(), (this.mIterator = null)); this.mTmpBuffer = null; }, contains: function (a) { return this.has(a); }, remove: function (a) { Ea._assert(-2147483648 != a, 'val 0x80000000 is reserved(val != KEY_ABSENT)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/IntIntHashTable.hx', lineNumber: 1465, className: 'polygonal.ds.IntIntHashTable', methodName: 'remove' }); for ( var b = 0, c = this.mTmpBuffer, e = this.mTmpBufferSize, f = this.mData, g, l = 0, h = this.capacity; l < h; ) (g = l++), (g *= 3), f[g + 1] == a && (b == e && ((this.mTmpBufferSize = e <<= 1), (c = Array(e)), Lb.blit(this.mTmpBuffer, 0, c, 0, b), (this.mTmpBuffer = c)), (c[b++] = f[g])); l = 0; for (h = b; l < h; ) { g = l++; e = c[g]; g = (73856093 * e) & this.mMask; var k = this.mHash; a = k[g]; if (-1 != a) if (((f = this.mData), e == f[a])) (k[g] = -1 == f[a + 2] ? -1 : f[a + 2]), (g = (a / 3) | 0), (this.mNext[g] = this.mFree), (this.mFree = g), (f[a + 1] = -2147483648), (f[a + 2] = -1), this.mSize--; else { g = !1; k = a; for (a = f[a + 2]; -1 != a; ) { if (f[a] == e) { g = !0; break; } k = a; a = f[k + 2]; } g && ((f[k + 2] = f[a + 2]), (e = (a / 3) | 0), (this.mNext[e] = this.mFree), (this.mFree = e), (f[a + 1] = -2147483648), (f[a + 2] = -1), this.mSize--); } } return 0 < b; }, clear: function (a) { var b = this.mHash; a = 0; for (var c = this.slotCount; a < c; ) { var e = a++; b[e] = -1; } e = 2; b = this.mData; a = 0; for (c = this.capacity; a < c; ) a++, (b[e - 1] = -2147483648), (b[e] = -1), (e += 3); b = this.mNext; a = 0; for (c = this.capacity - 1; a < c; ) (e = a++), (b[e] = e + 1); b[this.capacity - 1] = -1; this.mSize = this.mFree = 0; }, iterator: function () { return this.reuseIterator ? (null == this.mIterator ? (this.mIterator = new lk(this)) : this.mIterator.reset(), this.mIterator) : new lk(this); }, isEmpty: function () { return 0 == this.mSize; }, toArray: function () { if (0 == this.mSize) return []; var a = this.mSize; Ea._assert(0 <= a, 'len >= 0', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 37, className: 'polygonal.ds.tools.ArrayTools', methodName: 'alloc' }); a = Array(a); for (var b = 0, c, e = this.mData, f = 0, g = this.capacity; f < g; ) (c = f++), (c = e[3 * c + 1]), -2147483648 != c && (a[b++] = c); return a; }, clone: function (a, b) { a = new tg(this.slotCount, this.capacity); Lb.blit(this.mHash, 0, a.mHash, 0, this.slotCount); Lb.blit(this.mData, 0, a.mData, 0, 3 * this.capacity); Lb.blit(this.mNext, 0, a.mNext, 0, this.capacity); a.mMask = this.mMask; a.slotCount = this.slotCount; a.capacity = this.capacity; a.mFree = this.mFree; a.mSize = this.mSize; return a; }, __class__: tg, __properties__: { get_size: 'get_size', get_loadFactor: 'get_loadFactor' } }; var lk = function (a) { this.mObject = a; this.mData = a.mData; this.mI = 0; this.mS = a.capacity; this.scan(); }; k['polygonal.ds.IntIntHashTableValIterator'] = lk; lk.__name__ = 'polygonal.ds.IntIntHashTableValIterator'; lk.__interfaces__ = [Ig]; lk.prototype = { mObject: null, mI: null, mS: null, mData: null, free: function () { this.mData = this.mObject = null; }, reset: function () { this.mData = this.mObject.mData; this.mI = 0; this.mS = this.mObject.capacity; this.scan(); return this; }, hasNext: function () { return this.mI < this.mS; }, next: function () { var a = this.mData[3 * this.mI++ + 1]; this.scan(); return a; }, remove: function () { throw J.thrown('unsupported operation'); }, scan: function () { for (; this.mI < this.mS && -2147483648 == this.mData[3 * this.mI + 1]; ) this.mI++; }, __class__: lk }; var un = function (a) { this.mObject = a; this.mData = a.mData; this.mI = 0; this.mS = a.capacity; this.scan(); }; k['polygonal.ds.IntIntHashTableKeyIterator'] = un; un.__name__ = 'polygonal.ds.IntIntHashTableKeyIterator'; un.__interfaces__ = [Ig]; un.prototype = { mObject: null, mI: null, mS: null, mData: null, free: function () { this.mData = this.mObject = null; }, reset: function () { this.mData = this.mObject.mData; this.mI = 0; this.mS = this.mObject.capacity; this.scan(); return this; }, hasNext: function () { return this.mI < this.mS; }, next: function () { var a = this.mData[3 * this.mI++]; this.scan(); return a; }, remove: function () { throw J.thrown('unsupported operation'); }, scan: function () { for (; this.mI < this.mS && -2147483648 == this.mData[3 * this.mI + 1]; ) this.mI++; }, __class__: un }; var li = function (a, b) { null == a && (a = 16); this.mIterator = null; this.mSize = 0; this.reuseIterator = !1; this.growthRate = -2; this.key = sg.next(); this.capacity = this.mInitialCapacity = 1 > a ? 1 : a; null != b && (this.capacity = b.length); this.mData = Array(this.capacity); if (null != b) for (a = 0; a < b.length; ) { var c = b[a]; ++a; this.set(c); } }; k['polygonal.ds.ListSet'] = li; li.__name__ = 'polygonal.ds.ListSet'; li.__interfaces__ = [hj]; li.prototype = { key: null, capacity: null, growthRate: null, reuseIterator: null, mData: null, mInitialCapacity: null, mSize: null, mIterator: null, reserve: function (a) { a > this.capacity && ((this.capacity = a), this.resizeContainer(a)); return this; }, pack: function () { if (this.capacity > this.mInitialCapacity) { var a = this.mInitialCapacity, b = this.mSize; this.capacity = a > b ? a : b; this.resizeContainer(this.capacity); } else { a = this.mData; b = this.mSize; for (var c = this.capacity; b < c; ) { var e = b++; a[e] = null; } } return this; }, iter: function (a) { Ea._assert(null != a, 'f != null', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/ListSet.hx', lineNumber: 136, className: 'polygonal.ds.ListSet', methodName: 'iter' }); for (var b = this.mData, c = 0, e = this.mSize; c < e; ) { var f = c++; a(b[f]); } return this; }, toString: function () { var a = '' + z.string('[ ListSet size=' + this.mSize); if (this.isEmpty()) return a + ' ]'; a += '\n'; for (var b = 0, c = this.mSize; b < c; ) { var e = b++; a += ' '; a += z.string(z.string(this.mData[e])); a += '\n'; } return a + ']'; }, has: function (a) { if (this.isEmpty()) return !1; for (var b = this.mData, c = 0, e = this.mSize; c < e; ) { var f = c++; if (b[f] == a) return !0; } return !1; }, set: function (a) { for (var b = this.mData, c = 0, e = this.mSize; c < e; ) { var f = c++; if (b[f] == a) return !1; } this.mSize == this.capacity && (this.grow(), (b = this.mData)); b[this.mSize++] = a; return !0; }, unset: function (a) { return this.remove(a); }, merge: function (a, b, c) { if (b) for (a = a.iterator(); a.hasNext(); ) (b = a.next()), this.set(b); else if (null != c) for (a = a.iterator(); a.hasNext(); ) (b = a.next()), this.set(c(b)); else for (a = a.iterator(); a.hasNext(); ) (b = a.next()), Ea._assert( w.__implements(b, rg), 'element is not of type Cloneable(Std.isOfType(val, Cloneable))', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/ListSet.hx', lineNumber: 230, className: 'polygonal.ds.ListSet', methodName: 'merge' } ), this.set(w.__cast(b, rg).clone()); }, get_size: function () { return this.mSize; }, free: function () { Lb.nullify(this.mData); this.mData = null; null != this.mIterator && (this.mIterator.free(), (this.mIterator = null)); }, contains: function (a) { return this.has(a); }, remove: function (a) { for (var b = this.mData, c = 0, e = this.mSize; c < e; ) { var f = c++; if (b[f] == a) return (b[f] = this.mData[--this.mSize]), !0; } return !1; }, clear: function (a) { null == a && (a = !1); a && Lb.nullify(this.mData); this.mSize = 0; }, iterator: function () { if (this.reuseIterator) { if (null == this.mIterator) this.mIterator = new mk(this); else { var a = this.mIterator; a.mData = a.mObject.mData; a.mS = a.mObject.mSize; a.mI = 0; } return this.mIterator; } return new mk(this); }, isEmpty: function () { return 0 == this.mSize; }, toArray: function () { return Lb.toArray(this.mData, 0, this.mSize, []); }, clone: function (a, b) { null == a && (a = !0); var c = new li(); c.capacity = this.mSize; c.mSize = this.mSize; c.mData = Array(this.mSize); var e = this.mData, f = c.mData; if (a) Lb.blit(e, 0, f, 0, this.mSize); else if (null == b) { a = 0; for (var g = this.mSize; a < g; ) { var l = a++; Ea._assert( w.__implements(e[l], rg), 'element is not of type Cloneable(Std.isOfType(src.get(i), Cloneable))', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/ListSet.hx', lineNumber: 359, className: 'polygonal.ds.ListSet', methodName: 'clone' } ); f[l] = w.__cast(e[l], rg).clone(); } } else for (a = 0, g = this.mSize; a < g; ) (l = a++), (f[l] = b(e[l])); return c; }, grow: function () { this.capacity = Hg.compute(this.growthRate, this.capacity); this.resizeContainer(this.capacity); }, resizeContainer: function (a) { a = Array(a); Lb.blit(this.mData, 0, a, 0, this.mSize); this.mData = a; }, __class__: li, __properties__: { get_size: 'get_size' } }; var mk = function (a) { this.mObject = a; this.mData = this.mObject.mData; this.mS = this.mObject.mSize; this.mI = 0; }; k['polygonal.ds.ListSetIterator'] = mk; mk.__name__ = 'polygonal.ds.ListSetIterator'; mk.__interfaces__ = [Ig]; mk.prototype = { mObject: null, mData: null, mI: null, mS: null, free: function () { this.mData = this.mObject = null; }, reset: function () { this.mData = this.mObject.mData; this.mS = this.mObject.mSize; this.mI = 0; return this; }, hasNext: function () { return this.mI < this.mS; }, next: function () { return this.mData[this.mI++]; }, remove: function () { Ea._assert(0 < this.mI, 'call next() before removing an element(mI > 0)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/ListSet.hx', lineNumber: 430, className: 'polygonal.ds.ListSetIterator', methodName: 'remove' }); this.mData[this.mI] = this.mData[--this.mS]; }, __class__: mk }; var $a = function () {}; k['polygonal.ds.Printf'] = $a; $a.__name__ = 'polygonal.ds.Printf'; $a.init = function () { var a = Array(40); $a._padChars = a; $a._padChars[0] = T.rpad('', '0', 0); $a._padChars[1] = T.rpad('', '0', 1); $a._padChars[2] = T.rpad('', '0', 2); $a._padChars[3] = T.rpad('', '0', 3); $a._padChars[4] = T.rpad('', '0', 4); $a._padChars[5] = T.rpad('', '0', 5); $a._padChars[6] = T.rpad('', '0', 6); $a._padChars[7] = T.rpad('', '0', 7); $a._padChars[8] = T.rpad('', '0', 8); $a._padChars[9] = T.rpad('', '0', 9); $a._padChars[10] = T.rpad('', '0', 10); $a._padChars[11] = T.rpad('', '0', 11); $a._padChars[12] = T.rpad('', '0', 12); $a._padChars[13] = T.rpad('', '0', 13); $a._padChars[14] = T.rpad('', '0', 14); $a._padChars[15] = T.rpad('', '0', 15); $a._padChars[16] = T.rpad('', '0', 16); $a._padChars[17] = T.rpad('', '0', 17); $a._padChars[18] = T.rpad('', '0', 18); $a._padChars[19] = T.rpad('', '0', 19); for (a = 0; 20 > a; ) { var b = a++; $a._padChars[b + 20] = T.rpad('', ' ', b); } a = Array(64); $a._tmp = a; }; $a.format = function (a, b) { $a._initialized || (($a._initialized = !0), $a.init()); var c = new Ga(), e = 0, f = [], g = 0; for (a = $a.tokenize(a, f); g < a; ) { var l = g++, h = f[l]; switch (h._hx_index) { case 0: l = h.string; c.b += null == l ? 'null' : '' + l; break; case 1: l = h.type; h = h.args; if (null == h.width) { if (!w.__instanceof(b[e], nb)) throw J.thrown(new gh("invalid 'width' argument")); h.width = b[e++]; } if (null == h.precision) { if (!w.__instanceof(b[e], nb)) throw J.thrown(new gh("invalid 'precision' argument")); h.precision = b[e++]; } if (-1 < h.pos) { if (h.pos > b.length - 1) throw J.thrown(new gh('argument index out of range')); var k = b[h.pos]; } else k = b[e++]; null == k && (k = 'null'); switch (l._hx_index) { case 0: switch (l.type._hx_index) { case 0: $a.formatCharacter(k, h, c); break; case 1: $a.formatSignedDecimal(k, h, c); break; case 2: $a.formatUnsignedDecimal(k, h, c); break; case 3: $a.formatOctal(k, h, c); break; case 4: $a.formatHexadecimal(k, h, c); break; case 5: $a.formatBinary(k, h, c); } break; case 1: switch (l.floatType._hx_index) { case 0: $a.formatFloat(k, h, c); break; case 1: $a.formatScientific(k, h, c); break; case 2: $a.formatNaturalFloat(k, h, c); } break; case 2: $a.formatString(k, h, c); break; case 3: throw J.thrown(new gh("specifier 'p' is not supported")); case 4: throw J.thrown(new gh("specifier 'n' is not supported")); } break; case 2: l = h.name; if (!Object.prototype.hasOwnProperty.call(b[0], l)) throw J.thrown(new gh('no field named "' + l + '" found')); c.b += z.string(z.string(aa.field(b[0], l))); ++e; break; case 3: throw J.thrown(new gh('Invalid format specifier.')); } } return c.b; }; $a.tokenize = function (a, b) { for (var c = 0, e, f = 0, g = new Ga(), l = a.length; c < l; ) if (((e = a.charCodeAt(c++)), 37 == e)) if (((e = a.charCodeAt(c++)), 37 == e)) g.b += String.fromCodePoint(e); else { 0 < g.b.length && ((b[f++] = Kg.Raw(g.b)), (g = new Ga())); if (40 == e) if (((e = a.indexOf(')', c)), -1 == e)) e = Kg.Unknown('named parameter', c); else { var h = C.substr(a, c, e - c); c = e + 1; e = Kg.Property(h); } else { h = 0; null == h && (h = 0); h = new jp(h, -1, -1, -1); a: for (; 32 <= e && 48 >= e; ) switch (e) { case 32: e = a.charCodeAt(c++); h.flags |= 1 << Ta.Space._hx_index; break; case 35: e = a.charCodeAt(c++); h.flags |= 1 << Ta.Sharp._hx_index; break; case 43: e = a.charCodeAt(c++); h.flags |= 1 << Ta.Plus._hx_index; break; case 45: e = a.charCodeAt(c++); h.flags |= 1 << Ta.Minus._hx_index; break; case 48: e = a.charCodeAt(c++); h.flags |= 1 << Ta.Zero._hx_index; break; default: break a; } 0 != (h.flags & (1 << Ta.Minus._hx_index)) && 0 != (h.flags & (1 << Ta.Zero._hx_index)) && (h.flags &= -1 - (1 << Ta.Zero._hx_index)); 0 != (h.flags & (1 << Ta.Space._hx_index)) && 0 != (h.flags & (1 << Ta.Plus._hx_index)) && (h.flags &= -1 - (1 << Ta.Space._hx_index)); if (42 == e) (h.width = null), (e = a.charCodeAt(c++)); else if (48 <= e && 57 >= e) { for (var k = 0; 48 <= e && 57 >= e; ) (k = e - 48 + 10 * k), (e = a.charCodeAt(c++)); h.width = k; if (36 == e) if (((h.pos = k - 1), (h.width = -1), (e = a.charCodeAt(c++)), 42 == e)) (h.width = null), (e = a.charCodeAt(c++)); else if (48 <= e && 57 >= e) { for (k = 0; 48 <= e && 57 >= e; ) (k = e - 48 + 10 * k), (e = a.charCodeAt(c++)); h.width = k; } } if (46 == e) if (((e = a.charCodeAt(c++)), 42 == e)) (h.precision = null), (e = a.charCodeAt(c++)); else { k = 0; if (48 <= e && 57 >= e) for (; 48 <= e && 57 >= e; ) (k = e - 48 + 10 * k), (e = a.charCodeAt(c++)); h.precision = k; } a: for (; 76 <= e && 108 >= e; ) switch (e) { case 76: e = a.charCodeAt(c++); h.flags |= 1 << Ta.LengthUpperCaseL._hx_index; break; case 104: e = a.charCodeAt(c++); h.flags |= 1 << Ta.LengthH._hx_index; break; case 108: e = a.charCodeAt(c++); h.flags |= 1 << Ta.LengthLowerCaseL._hx_index; break; default: break a; } if (69 <= e && 120 >= e) { switch (e) { case 69: h.flags |= 1 << Ta.UpperCase._hx_index; k = re.FmtFloat(mi.FScientific); break; case 71: h.flags |= 1 << Ta.UpperCase._hx_index; k = re.FmtFloat(mi.FNatural); break; case 88: h.flags |= 1 << Ta.UpperCase._hx_index; k = re.FmtInt(zf.IHex); break; case 98: k = re.FmtInt(zf.IBin); break; case 99: k = re.FmtInt(zf.ICharacter); break; case 100: k = re.FmtInt(zf.ISignedDecimal); break; case 101: k = re.FmtFloat(mi.FScientific); break; case 102: k = re.FmtFloat(mi.FNormal); break; case 103: k = re.FmtFloat(mi.FNatural); break; case 105: k = re.FmtInt(zf.ISignedDecimal); break; case 110: k = re.FmtNothing; break; case 111: k = re.FmtInt(zf.IOctal); break; case 112: k = re.FmtPointer; break; case 115: k = re.FmtString; break; case 117: k = re.FmtInt(zf.IUnsignedDecimal); break; case 120: k = re.FmtInt(zf.IHex); break; default: k = null; } e = null == k ? Kg.Unknown(String.fromCodePoint(e), c) : Kg.Tag(k, h); } else e = Kg.Unknown(String.fromCodePoint(e), c); } b[f++] = e; } else g.b += String.fromCodePoint(e); 0 < g.b.length && (b[f++] = Kg.Raw(g.b)); return f; }; $a.formatBinary = function (a, b, c) { var d = b.flags, f = b.precision; b = b.width; 0 != (d & (1 << Ta.LengthH._hx_index)) && (a &= 65535); if (0 == a) { if (0 == f) return; d &= -1 - (1 << Ta.Sharp._hx_index); } -1 == f && (f = 1); for (var g = $a._tmp, l = 0; (g[l++] = a & 1), (a >>>= 1), 0 < a; ); a = l; if (0 != (d & (1 << Ta.Minus._hx_index))) { 0 != (d & (1 << Ta.Sharp._hx_index)) && (c.b += '0b'); if (f > l) for (var h = 0, k = f - l; h < k; ) h++, (c.b += '0'); for (; -1 < --a; ) c.b += String.fromCodePoint(48 + g[a]); 0 != (d & (1 << Ta.Sharp._hx_index)) && (b -= 2); f > l && (l = f); if (b > l) for (h = 0, k = b - l; h < k; ) h++, (c.b += ' '); } else { k = l; f > k && (k = f); 0 != (d & (1 << Ta.Sharp._hx_index)) && (b -= 2); if (b > k) if (0 != (d & (1 << Ta.Zero._hx_index)) && 1 == f) for (h = 0, k = b - k; h < k; ) h++, (c.b += '0'); else for (h = 0, k = b - k; h < k; ) h++, (c.b += ' '); 0 != (d & (1 << Ta.Sharp._hx_index)) && (c.b += '0b'); if (f > l) for (h = 0, k = f - l; h < k; ) h++, (c.b += '0'); for (; -1 < --a; ) c.b += String.fromCodePoint(48 + g[a]); } }; $a.formatOctal = function (a, b, c) { var d = b.flags, f = b.precision; b = b.width; 0 != (d & (1 << Ta.LengthH._hx_index)) && (a &= 65535); if (0 == a) { if (0 == f) { c.b += z.string(0 != (d & (1 << Ta.Sharp._hx_index)) ? '0' : ''); return; } d &= -1 - (1 << Ta.Sharp._hx_index); } for (var g = $a._tmp, l = 0; (g[l++] = a & 7), (a >>>= 3), 0 < a; ); a = l; -1 != f ? 0 != (d & (1 << Ta.Zero._hx_index)) && ((d &= -1 - (1 << Ta.Zero._hx_index)), (d |= 1 << Ta.Space._hx_index)) : (f = 1); if (0 != (d & (1 << Ta.Minus._hx_index))) { 0 != (d & (1 << Ta.Sharp._hx_index)) && ((c.b += '0'), ++l); if (f > l) for (var h = 0, k = f - l; h < k; ) h++, (c.b += '0'); for (; -1 < --a; ) (d = String.fromCodePoint(48 + g[a])), (c.b += z.string(d)); f > l && (l = f); if (b > l) for (h = 0, k = b - l; h < k; ) h++, (c.b += ' '); } else { 0 != (d & (1 << Ta.Sharp._hx_index)) && ++l; k = l; f > k && (k = f); if (b > k) if (0 != (d & (1 << Ta.Zero._hx_index))) for (h = 0, k = b - k; h < k; ) h++, (c.b += '0'); else for (h = 0, k = b - k; h < k; ) h++, (c.b += ' '); 0 != (d & (1 << Ta.Sharp._hx_index)) && (c.b += '0'); if (f > l) for (h = 0, k = f - l; h < k; ) h++, (c.b += '0'); for (; -1 < --a; ) (d = String.fromCodePoint(48 + g[a])), (c.b += z.string(d)); } }; $a.formatHexadecimal = function (a, b, c) { var d = b.flags, f = b.precision; b = b.width; 0 != (d & (1 << Ta.LengthH._hx_index)) && (a &= 65535); if (0 == a) { if (0 == f) return; d &= -1 - (1 << Ta.Sharp._hx_index); } -1 == f && (f = 1); for (var g = $a._tmp, l = 0; (g[l++] = a & 15), (a >>>= 4), 0 < a; ); a = l; if (0 != (d & (1 << Ta.Minus._hx_index))) { 0 != (d & (1 << Ta.Sharp._hx_index)) && (c.b = 0 != (d & (1 << Ta.UpperCase._hx_index)) ? c.b + '0X' : c.b + '0x'); if (f > l) for (var h = 0, k = f - l; h < k; ) h++, (c.b += '0'); for (h = 0 != (d & (1 << Ta.UpperCase._hx_index)) ? 65 : 97; -1 < --a; ) (k = g[a]), 10 > k ? ((k = String.fromCodePoint(48 + k)), (c.b += z.string(k))) : ((k = String.fromCodePoint(h + (k - 10))), (c.b += z.string(k))); 0 != (d & (1 << Ta.Sharp._hx_index)) && (b -= 2); f > l && (l = f); if (b > l) for (h = 0, k = b - l; h < k; ) h++, (c.b += ' '); } else { k = l; f > k && (k = f); 0 != (d & (1 << Ta.Sharp._hx_index)) && (b -= 2); if (b > k) if (0 != (d & (1 << Ta.Zero._hx_index)) && 1 == f) for (h = 0, k = b - k; h < k; ) h++, (c.b += '0'); else for (h = 0, k = b - k; h < k; ) h++, (c.b += ' '); 0 != (d & (1 << Ta.Sharp._hx_index)) && (c.b = 0 != (d & (1 << Ta.UpperCase._hx_index)) ? c.b + '0X' : c.b + '0x'); if (f > l) for (h = 0, k = f - l; h < k; ) h++, (c.b += '0'); for (h = 0 != (d & (1 << Ta.UpperCase._hx_index)) ? 65 : 97; -1 < --a; ) (k = g[a]), 10 > k ? ((k = String.fromCodePoint(48 + k)), (c.b += z.string(k))) : ((k = String.fromCodePoint(h + (k - 10))), (c.b += z.string(k))); } }; $a.formatSignedDecimal = function (a, b, c) { var d = b.flags, f = b.precision; b = b.width; if (0 != f || 0 != a) { 0 != (d & (1 << Ta.LengthH._hx_index)) && (a &= 65535); var g = z.string(0 > a ? -a : a), l = g.length; a = 0 > a ? '-' : 0 != (d & (1 << Ta.Plus._hx_index)) ? '+' : 0 != (d & (1 << Ta.Space._hx_index)) ? ' ' : null; var h = null != a; if (0 != (d & (1 << Ta.Minus._hx_index))) { h && (c.b += null == a ? 'null' : '' + a); if (f > l) for (var k = 0, n = f - l; k < n; ) k++, (c.b += '0'); c.b += z.string(g); f > l && (l = f); l += h ? 1 : 0; if (b > l) for (k = 0, n = b - l; k < n; ) k++, (c.b += ' '); } else { n = l + (h ? 1 : 0); f > n && (n = f); if (b > n) if (0 != (d & (1 << Ta.Zero._hx_index))) for (h && (c.b += null == a ? 'null' : '' + a), k = 0, n = b - n; k < n; ) k++, (c.b += '0'); else for (k = 0, n = b - n; k < n; ) k++, (c.b += ' '); h && 0 == (d & (1 << Ta.Zero._hx_index)) && (c.b += null == a ? 'null' : '' + a); if (f > l) for (k = 0, n = f - l; k < n; ) k++, (c.b += '0'); c.b += z.string(g); } } }; $a.formatUnsignedDecimal = function (a, b, c) { if (0 <= a) $a.formatSignedDecimal(a, b, c); else { a = new ab(0, a); a = Iz.toString(a); var d = a.length, f = b.flags, g = b.precision; b = b.width; if (0 != (f & (1 << Ta.Minus._hx_index))) { if (g > d) { f = 0; for (var l = g - d; f < l; ) f++, (c.b += '0'); } c.b += null == a ? 'null' : '' + a; g > d && (d = g); if (b > d) for (f = 0, l = b - d; f < l; ) f++, (c.b += ' '); } else { l = d; g > l && (l = g); if (b > l) if (0 != (f & (1 << Ta.Zero._hx_index))) for (f = 0, l = b - l; f < l; ) f++, (c.b += '0'); else for (f = 0, l = b - l; f < l; ) f++, (c.b += ' '); if (g > d) for (f = 0, l = g - d; f < l; ) f++, (c.b += '0'); c.b += null == a ? 'null' : '' + a; } } }; $a.formatNaturalFloat = function (a, b, c) { var d = new Ga(); $a.formatFloat(a, b, d); var f = d.b; d = new Ga(); $a.formatScientific(a, b, d); a = d.b; f = f.length <= a.length ? f : a; c.b += null == f ? 'null' : '' + f; }; $a.formatScientific = function (a, b, c) { var d = b.flags, f = b.precision; -1 == f && (f = $a.DEFAULT_PRECISION); var g, l = ''; if (0 == a) { var h = (g = 0); l += '0'; if (0 < f) { l += '.'; for (var k = 0, n = f; k < n; ) k++, (l += '0'); } } else (k = Math), (g = 0 < a ? 1 : 0 > a ? -1 : 0), (a = k.abs(a)), (h = k.floor(Math.log(a) / 2.302585092994046)), (a /= k.pow(10, h)), (k = k.pow(0.1, f)), (a = Math.round(a / k) * k); 0 != a && (l += C.substr(null == a ? 'null' : '' + a, 0, f + 2)); l += 0 != (d & (1 << Ta.UpperCase._hx_index)) ? 'E' : 'e'; l += 0 <= h ? '+' : '-'; a = z.string(0 > h ? -h : h); n = $a.DEFAULT_NUM_EXP_DIGITS - a.length; if (1 > n) k = a; else { if (30 < n) for (f = h = '0', k = 0, --n; k < n; ) k++, (f += h); else f = $a._padChars[n]; k = f + a; } l += k; (a = -1 == g || 0 != (d & (1 << Ta.Plus._hx_index)) || 0 != (d & (1 << Ta.Space._hx_index))) && 0 == (d & (1 << Ta.Zero._hx_index)) && (l = (-1 == g ? '-' : 0 != (d & (1 << Ta.Plus._hx_index)) ? '+' : ' ') + l); if ( 0 < b.width && ((k = b.width), a && 0 != (d & (1 << Ta.Zero._hx_index)) && --k, (b = 0 != (d & (1 << Ta.Zero._hx_index)) ? 0 : 20), (n = k - l.length), 1 <= n) ) { if (30 < n) for (f = h = 0 == b ? '0' : ' ', k = 0, --n; k < n; ) k++, (f += h); else f = $a._padChars[b + n]; l = f + l; } a && 0 != (d & (1 << Ta.Zero._hx_index)) && (l = (-1 == g ? '-' : 0 != (d & (1 << Ta.Plus._hx_index)) ? '+' : ' ') + l); c.b += null == l ? 'null' : '' + l; }; $a.formatFloat = function (a, b, c) { var d = b.flags, f = b.precision; -1 == f && (f = $a.DEFAULT_PRECISION); b = b.width; var g = 0 > a; 0 == f ? ((a = z.string(Math.round(a))), 0 != (d & (1 << Ta.Sharp._hx_index)) && (a += '.')) : (a = a.toFixed(f)); var l = a.length; g && -1 < a.indexOf('-') && (a = C.substr(a, 1, null)); f = null; 0 == (d & (1 << Ta.Plus._hx_index)) || g ? 0 != (d & (1 << Ta.Space._hx_index)) ? ((f = ' '), ++l) : g && (f = '-') : ((f = '+'), ++l); g = null != f; if (0 != (d & (1 << Ta.Minus._hx_index))) { if ( (g && (c.b += null == f ? 'null' : '' + f), (c.b += null == a ? 'null' : '' + a), b > l) ) for (d = 0, b -= l; d < b; ) d++, (c.b += ' '); } else { if (b > l) if (0 != (d & (1 << Ta.Zero._hx_index))) for (g && ((c.b += null == f ? 'null' : '' + f), (g = !1)), d = 0, b -= l; d < b; ) d++, (c.b += '0'); else for (d = 0, b -= l; d < b; ) d++, (c.b += ' '); g && (c.b += null == f ? 'null' : '' + f); c.b += null == a ? 'null' : '' + a; } }; $a.formatCharacter = function (a, b, c) { if (0 != (b.flags & (1 << Ta.Minus._hx_index))) { a = String.fromCodePoint(a); c.b += z.string(a); var d = 0; for (b = b.width - 1; d < b; ) d++, (c.b += ' '); } else { d = 0; for (b = b.width - 1; d < b; ) d++, (c.b += ' '); a = String.fromCodePoint(a); c.b += z.string(a); } }; $a.formatString = function (a, b, c) { var d = a.length, f = b.precision; if (0 != (b.flags & (1 << Ta.Minus._hx_index))) { -1 != f ? ((c.b += null == f ? C.substr(a, 0, null) : C.substr(a, 0, f)), (d = f)) : (c.b += null == a ? 'null' : '' + a); var g = 0; for (b = b.width - d; g < b; ) g++, (c.b += ' '); } else { -1 != f && (d = f); g = 0; for (b = b.width - d; g < b; ) g++, (c.b += ' '); c.b = -1 != f ? c.b + (null == f ? C.substr(a, 0, null) : C.substr(a, 0, f)) : c.b + (null == a ? 'null' : '' + a); } }; $a.pad = function (a, b, c, e) { b -= a.length; if (1 > b) return a; if (30 < b) { var d = 0 == c ? '0' : ' '; c = d; var g = 0; for (--b; g < b; ) g++, (c += d); } else c = $a._padChars[c + b]; return 0 < e ? a + c : c + a; }; var gh = function (a) { this.message = a; }; k['polygonal.ds.PrintfError'] = gh; gh.__name__ = 'polygonal.ds.PrintfError'; gh.prototype = { message: null, toString: function () { return this.message; }, __class__: gh }; var jp = function (a, b, c, e) { this.flags = a; this.pos = b; this.width = c; this.precision = e; }; k['polygonal.ds._Printf.FormatArgs'] = jp; jp.__name__ = 'polygonal.ds._Printf.FormatArgs'; jp.prototype = { flags: null, pos: null, width: null, precision: null, __class__: jp }; var Ta = (N['polygonal.ds._Printf.FormatFlag'] = { __ename__: 'polygonal.ds._Printf.FormatFlag', __constructs__: null, Minus: { _hx_name: 'Minus', _hx_index: 0, __enum__: 'polygonal.ds._Printf.FormatFlag', toString: x }, Plus: { _hx_name: 'Plus', _hx_index: 1, __enum__: 'polygonal.ds._Printf.FormatFlag', toString: x }, Space: { _hx_name: 'Space', _hx_index: 2, __enum__: 'polygonal.ds._Printf.FormatFlag', toString: x }, Sharp: { _hx_name: 'Sharp', _hx_index: 3, __enum__: 'polygonal.ds._Printf.FormatFlag', toString: x }, Zero: { _hx_name: 'Zero', _hx_index: 4, __enum__: 'polygonal.ds._Printf.FormatFlag', toString: x }, LengthH: { _hx_name: 'LengthH', _hx_index: 5, __enum__: 'polygonal.ds._Printf.FormatFlag', toString: x }, LengthUpperCaseL: { _hx_name: 'LengthUpperCaseL', _hx_index: 6, __enum__: 'polygonal.ds._Printf.FormatFlag', toString: x }, LengthLowerCaseL: { _hx_name: 'LengthLowerCaseL', _hx_index: 7, __enum__: 'polygonal.ds._Printf.FormatFlag', toString: x }, UpperCase: { _hx_name: 'UpperCase', _hx_index: 8, __enum__: 'polygonal.ds._Printf.FormatFlag', toString: x } }); Ta.__constructs__ = [ Ta.Minus, Ta.Plus, Ta.Space, Ta.Sharp, Ta.Zero, Ta.LengthH, Ta.LengthUpperCaseL, Ta.LengthLowerCaseL, Ta.UpperCase ]; var Kg = (N['polygonal.ds._Printf.FormatToken'] = { __ename__: 'polygonal.ds._Printf.FormatToken', __constructs__: null, Raw: ((B = function (a) { return { _hx_index: 0, string: a, __enum__: 'polygonal.ds._Printf.FormatToken', toString: x }; }), (B._hx_name = 'Raw'), (B.__params__ = ['string']), B), Tag: ((B = function (a, b) { return { _hx_index: 1, type: a, args: b, __enum__: 'polygonal.ds._Printf.FormatToken', toString: x }; }), (B._hx_name = 'Tag'), (B.__params__ = ['type', 'args']), B), Property: ((B = function (a) { return { _hx_index: 2, name: a, __enum__: 'polygonal.ds._Printf.FormatToken', toString: x }; }), (B._hx_name = 'Property'), (B.__params__ = ['name']), B), Unknown: ((B = function (a, b) { return { _hx_index: 3, string: a, pos: b, __enum__: 'polygonal.ds._Printf.FormatToken', toString: x }; }), (B._hx_name = 'Unknown'), (B.__params__ = ['string', 'pos']), B) }); Kg.__constructs__ = [Kg.Raw, Kg.Tag, Kg.Property, Kg.Unknown]; var re = (N['polygonal.ds._Printf.FormatDataType'] = { __ename__: 'polygonal.ds._Printf.FormatDataType', __constructs__: null, FmtInt: ((B = function (a) { return { _hx_index: 0, type: a, __enum__: 'polygonal.ds._Printf.FormatDataType', toString: x }; }), (B._hx_name = 'FmtInt'), (B.__params__ = ['type']), B), FmtFloat: ((B = function (a) { return { _hx_index: 1, floatType: a, __enum__: 'polygonal.ds._Printf.FormatDataType', toString: x }; }), (B._hx_name = 'FmtFloat'), (B.__params__ = ['floatType']), B), FmtString: { _hx_name: 'FmtString', _hx_index: 2, __enum__: 'polygonal.ds._Printf.FormatDataType', toString: x }, FmtPointer: { _hx_name: 'FmtPointer', _hx_index: 3, __enum__: 'polygonal.ds._Printf.FormatDataType', toString: x }, FmtNothing: { _hx_name: 'FmtNothing', _hx_index: 4, __enum__: 'polygonal.ds._Printf.FormatDataType', toString: x } }); re.__constructs__ = [re.FmtInt, re.FmtFloat, re.FmtString, re.FmtPointer, re.FmtNothing]; var zf = (N['polygonal.ds._Printf.IntType'] = { __ename__: 'polygonal.ds._Printf.IntType', __constructs__: null, ICharacter: { _hx_name: 'ICharacter', _hx_index: 0, __enum__: 'polygonal.ds._Printf.IntType', toString: x }, ISignedDecimal: { _hx_name: 'ISignedDecimal', _hx_index: 1, __enum__: 'polygonal.ds._Printf.IntType', toString: x }, IUnsignedDecimal: { _hx_name: 'IUnsignedDecimal', _hx_index: 2, __enum__: 'polygonal.ds._Printf.IntType', toString: x }, IOctal: { _hx_name: 'IOctal', _hx_index: 3, __enum__: 'polygonal.ds._Printf.IntType', toString: x }, IHex: { _hx_name: 'IHex', _hx_index: 4, __enum__: 'polygonal.ds._Printf.IntType', toString: x }, IBin: { _hx_name: 'IBin', _hx_index: 5, __enum__: 'polygonal.ds._Printf.IntType', toString: x } }); zf.__constructs__ = [ zf.ICharacter, zf.ISignedDecimal, zf.IUnsignedDecimal, zf.IOctal, zf.IHex, zf.IBin ]; var mi = (N['polygonal.ds._Printf.FloatType'] = { __ename__: 'polygonal.ds._Printf.FloatType', __constructs__: null, FNormal: { _hx_name: 'FNormal', _hx_index: 0, __enum__: 'polygonal.ds._Printf.FloatType', toString: x }, FScientific: { _hx_name: 'FScientific', _hx_index: 1, __enum__: 'polygonal.ds._Printf.FloatType', toString: x }, FNatural: { _hx_name: 'FNatural', _hx_index: 2, __enum__: 'polygonal.ds._Printf.FloatType', toString: x } }); mi.__constructs__ = [mi.FNormal, mi.FScientific, mi.FNatural]; var Ud = function () {}; k['polygonal.ds.tools.ArrayTools'] = Ud; Ud.__name__ = 'polygonal.ds.tools.ArrayTools'; Ud.alloc = function (a) { Ea._assert(0 <= a, 'len >= 0', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 37, className: 'polygonal.ds.tools.ArrayTools', methodName: 'alloc' }); return Array(a); }; Ud.trim = function (a, b) { a.length > b && (a.length = b); return a; }; Ud.swap = function (a, b, c) { Ea._assert(null != a, 'array != null', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 94, className: 'polygonal.ds.tools.ArrayTools', methodName: 'swap' }); Ea._assert(0 <= b && b < a.length, '0 <= a && a < array.length', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 95, className: 'polygonal.ds.tools.ArrayTools', methodName: 'swap' }); Ea._assert(0 <= c && c < a.length, '0 <= b && b < array.length', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 96, className: 'polygonal.ds.tools.ArrayTools', methodName: 'swap' }); if (b != c) { var d = a[b]; a[b] = a[c]; a[c] = d; } }; Ud.getFront = function (a, b) { Ea._assert(null != a, 'array != null', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 113, className: 'polygonal.ds.tools.ArrayTools', methodName: 'getFront' }); Ea._assert(0 <= b && b < a.length, '0 <= index && index < array.length', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 114, className: 'polygonal.ds.tools.ArrayTools', methodName: 'getFront' }); Ea._assert(null != a, 'array != null', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 94, className: 'polygonal.ds.tools.ArrayTools', methodName: 'swap' }); Ea._assert(0 <= b && b < a.length, '0 <= a && a < array.length', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 95, className: 'polygonal.ds.tools.ArrayTools', methodName: 'swap' }); Ea._assert(0 < a.length, '0 <= b && b < array.length', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 96, className: 'polygonal.ds.tools.ArrayTools', methodName: 'swap' }); if (0 != b) { var c = a[b]; a[b] = a[0]; a[0] = c; } return a[0]; }; Ud.init = function (a, b, c, e) { null == e && (e = 0); null == c && (c = 0); e = 0 >= e ? a.length : c + e; Ea._assert(0 <= c && c < a.length, 'min >= 0 && min < a.length', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 129, className: 'polygonal.ds.tools.ArrayTools', methodName: 'init' }); for ( Ea._assert(e <= a.length, 'max <= a.length', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 130, className: 'polygonal.ds.tools.ArrayTools', methodName: 'init' }); c < e; ) a[c++] = b; return a; }; Ud.blit = function (a, b, c, e, f) { if (0 < f) if ( (Ea._assert(b < a.length, 'srcPos out of range(srcPos < src.length)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 145, className: 'polygonal.ds.tools.ArrayTools', methodName: 'blit' }), Ea._assert(e < c.length, 'dstPos out of range(dstPos < dst.length)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 146, className: 'polygonal.ds.tools.ArrayTools', methodName: 'blit' }), Ea._assert( b + f <= a.length && e + f <= c.length, 'n out of range(srcPos + n <= src.length && dstPos + n <= dst.length)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 147, className: 'polygonal.ds.tools.ArrayTools', methodName: 'blit' } ), a == c) ) if (b < e) { var d = b + f; b = e + f; for (var l = 0; l < f; ) l++, --d, --b, (a[b] = a[d]); } else { if (b > e) for (d = b, b = e, l = 0; l < f; ) l++, (a[b] = a[d]), ++d, ++b; } else if (0 == b && 0 == e) for (l = 0; l < f; ) (d = l++), (c[d] = a[d]); else if (0 == b) for (l = 0; l < f; ) (d = l++), (c[e + d] = a[d]); else if (0 == e) for (l = 0; l < f; ) (d = l++), (c[d] = a[b + d]); else for (l = 0; l < f; ) (d = l++), (c[e + d] = a[b + d]); }; Ud.iter = function (a, b, c) { null == c && (c = 0); 0 == c && (c = a.length); for (var d = 0; d < c; ) { var f = d++; b(a[f]); } }; Ud.forEach = function (a, b) { for (var c = 0, e = a.length; c < e; ) { var f = c++; a[f] = b(a[f], f); } }; Ud.binarySearchCmp = function (a, b, c, e, f) { Ea._assert(null != a, 'a != null', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 236, className: 'polygonal.ds.tools.ArrayTools', methodName: 'binarySearchCmp' }); Ea._assert(null != f, 'comparator != null', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 237, className: 'polygonal.ds.tools.ArrayTools', methodName: 'binarySearchCmp' }); Ea._assert(0 <= c && c < a.length, 'min >= 0 && min < a.length', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 238, className: 'polygonal.ds.tools.ArrayTools', methodName: 'binarySearchCmp' }); Ea._assert(e < a.length, 'max < a.length', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 239, className: 'polygonal.ds.tools.ArrayTools', methodName: 'binarySearchCmp' }); for (var d, l = e + 1; c < l; ) (d = c + ((l - c) >> 1)), 0 > f(a[d], b) ? (c = d + 1) : (l = d); return c <= e && 0 == f(a[c], b) ? c : ~c; }; Ud.binarySearchf = function (a, b, c, e) { Ea._assert(null != a, 'a != null', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 265, className: 'polygonal.ds.tools.ArrayTools', methodName: 'binarySearchf' }); Ea._assert(0 <= c && c < a.length, 'min >= 0 && min < a.length', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 266, className: 'polygonal.ds.tools.ArrayTools', methodName: 'binarySearchf' }); Ea._assert(e < a.length, 'max < a.length', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 267, className: 'polygonal.ds.tools.ArrayTools', methodName: 'binarySearchf' }); for (var d, g = e + 1; c < g; ) (d = c + ((g - c) >> 1)), a[d] < b ? (c = d + 1) : (g = d); return c <= e && a[c] == b ? c : ~c; }; Ud.binarySearchi = function (a, b, c, e) { Ea._assert(null != a, 'a != null', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 293, className: 'polygonal.ds.tools.ArrayTools', methodName: 'binarySearchi' }); Ea._assert(0 <= c && c < a.length, 'min >= 0 && min < a.length', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 294, className: 'polygonal.ds.tools.ArrayTools', methodName: 'binarySearchi' }); Ea._assert(e < a.length, 'max < a.length', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 295, className: 'polygonal.ds.tools.ArrayTools', methodName: 'binarySearchi' }); for (var d, g = e + 1; c < g; ) (d = c + ((g - c) >> 1)), a[d] < b ? (c = d + 1) : (g = d); return c <= e && a[c] == b ? c : ~c; }; Ud.shuffle = function (a, b) { Ea._assert(null != a, 'a != null', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 320, className: 'polygonal.ds.tools.ArrayTools', methodName: 'shuffle' }); var c = a.length; if (null == b) for (; 1 < --c; ) { var e = (ni.f() * c) | 0, f = a[c]; a[c] = a[e]; a[e] = f; } else { Ea._assert(b.length >= a.length, 'insufficient random values(rvals.length >= a.length)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 335, className: 'polygonal.ds.tools.ArrayTools', methodName: 'shuffle' }); for (var g = 0; 1 < --c; ) (e = (b[g++] * c) | 0), (f = a[c]), (a[c] = a[e]), (a[e] = f); } }; Ud.random = function (a) { var b = a.length; return 2 > b ? a[0] : a[(ni.f() * b) | 0]; }; Ud.sortRange = function (a, b, c, e, f) { var d = a.length; if (1 < d) if ( (Ea._assert( 0 <= e && e <= d - 1 && e + f <= d, 'first out of range(first >= 0 && first <= k - 1 && first + n <= k)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 370, className: 'polygonal.ds.tools.ArrayTools', methodName: 'sortRange' } ), Ea._assert(0 <= f && f <= d, 'n out of range(n >= 0 && n <= k)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 371, className: 'polygonal.ds.tools.ArrayTools', methodName: 'sortRange' }), c) ) for (c = e + 1, f = e + f; c < f; ) { var l = c++; for (d = a[l]; l > e; ) { var h = a[l - 1]; if (0 < b(h, d)) (a[l] = h), --l; else break; } a[l] = d; } else Ud._quickSort(a, e, f, b); }; Ud.quickPerm = function (a) { for (var b = [], c = [], e = [], f, g, l = 0; l < a; ) (c[l] = l + 1), (e[l] = 0), ++l; b.push(c.slice()); for (l = 1; l < a; ) e[l] < l ? ((f = (l % 2) * e[l]), (g = c[f]), (c[f] = c[l]), (c[l] = g), b.push(c.slice()), e[l]++, (l = 1)) : ((e[l] = 0), ++l); return b; }; Ud.equals = function (a, b, c) { if (a.length != b.length) return !1; for (var d = 0, f = a.length; d < f; ) { if (!c(a[d], b[d])) return !1; ++d; } return !0; }; Ud.split = function (a, b, c) { Ea._assert(0 == b % c, 'n is not a multiple of k(n % k == 0)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 464, className: 'polygonal.ds.tools.ArrayTools', methodName: 'split' }); for (var d = [], f = null, g = 0; g < b; ) { var l = g++; 0 == l % c && ((f = []), (d[(l / c) | 0] = f)); f.push(a[l]); } return d; }; Ud.pairwise = function (a, b, c) { var d = 0; for ( Ea._assert(0 == (c & 1), 'max & 1 == 0', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 489, className: 'polygonal.ds.tools.ArrayTools', methodName: 'pairwise' }); d < c; ) b(d, a[d], a[d + 1]), (d += 2); }; Ud.bruteforce = function (a, b) { for (var c = 0, e, f = a.length, g = f - 1, l; c < g; ) { l = a[c]; for (e = c + 1; e < f; ) b(l, a[e]), ++e; ++c; } }; Ud._quickSort = function (a, b, c, e) { var d = b + c - 1, g = b, l = d; if (1 < c) { var h = b + (c >> 1); c = b + c - 1; var k = a[b], n = a[h], u = a[c], p = e(k, u); h = 0 > p && 0 > e(k, n) ? 0 > e(n, u) ? h : c : 0 > e(n, k) && 0 > e(n, u) ? 0 > p ? b : c : 0 > e(u, k) ? h : b; c = a[h]; for (a[h] = a[b]; g < l; ) { for (; 0 > e(c, a[l]) && g < l; ) --l; l != g && ((a[g] = a[l]), ++g); for (; 0 < e(c, a[g]) && g < l; ) ++g; l != g && ((a[l] = a[g]), --l); } a[g] = c; Ud._quickSort(a, b, g - b, e); Ud._quickSort(a, g + 1, d - g, e); } }; var Ea = function () {}; k['polygonal.ds.tools.Assert'] = Ea; Ea.__name__ = 'polygonal.ds.tools.Assert'; Ea._assert = function (a, b, c) { if (!a) throw ( ((a = 'in file ' + c.fileName + ', line ' + c.lineNumber), Error( 'Assertion failed' + (null != b ? ': ' : ' ') + (null == b ? a : '' + b + ' (' + a + ')') )) ); }; var Hg = function () {}; k['polygonal.ds.tools.GrowthRate'] = Hg; Hg.__name__ = 'polygonal.ds.tools.GrowthRate'; Hg.compute = function (a, b) { Ea._assert(-3 <= a, 'invalid growth rate(rate >= -3)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/GrowthRate.hx', lineNumber: 52, className: 'polygonal.ds.tools.GrowthRate', methodName: 'compute' }); if (0 < a) b += a; else switch (a) { case -3: b <<= 1; break; case -2: b = ((3 * b) >> 1) + 1; break; case -1: a = b + 1; b = (a >> 3) + (9 > a ? 3 : 6) + a; break; case 0: throw J.thrown('out of space'); } return b; }; var Lb = function () {}; k['polygonal.ds.tools.NativeArrayTools'] = Lb; Lb.__name__ = 'polygonal.ds.tools.NativeArrayTools'; Lb.alloc = function (a) { return Array(a); }; Lb.get = function (a, b) { return a[b]; }; Lb.set = function (a, b, c) { a[b] = c; }; Lb.size = function (a) { return a.length; }; Lb.toArray = function (a, b, c, e) { Ea._assert( 0 <= b && b < a.length, 'first index out of range(first >= 0 && first < size(src))', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/NativeArrayTools.hx', lineNumber: 140, className: 'polygonal.ds.tools.NativeArrayTools', methodName: 'toArray' } ); Ea._assert( 0 <= c && b + c <= a.length, 'len out of range(len >= 0 && first + len <= size(src))', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/NativeArrayTools.hx', lineNumber: 141, className: 'polygonal.ds.tools.NativeArrayTools', methodName: 'toArray' } ); if (0 == c) return []; Ea._assert(0 <= c, 'len >= 0', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/ArrayTools.hx', lineNumber: 37, className: 'polygonal.ds.tools.ArrayTools', methodName: 'alloc' }); e = Array(c); if (0 == b) for (var d = 0; d < c; ) { var g = d++; e[g] = a[g]; } else for (d = b, c = b + c; d < c; ) (g = d++), (e[g - b] = a[g]); return e; }; Lb.ofArray = function (a) { return a.slice(0, a.length); }; Lb.blit = function (a, b, c, e, f) { if (0 < f) if ( (Ea._assert(b < a.length, 'srcPos out of range(srcPos < size(src))', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/NativeArrayTools.hx', lineNumber: 197, className: 'polygonal.ds.tools.NativeArrayTools', methodName: 'blit' }), Ea._assert(e < c.length, 'dstPos out of range(dstPos < size(dst))', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/NativeArrayTools.hx', lineNumber: 198, className: 'polygonal.ds.tools.NativeArrayTools', methodName: 'blit' }), Ea._assert( b + f <= a.length && e + f <= c.length, 'n out of range(srcPos + n <= size(src) && dstPos + n <= size(dst))', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/NativeArrayTools.hx', lineNumber: 199, className: 'polygonal.ds.tools.NativeArrayTools', methodName: 'blit' } ), a == c) ) if (b < e) { var d = b + f; b = e + f; for (var l = 0; l < f; ) l++, --d, --b, (a[b] = a[d]); } else { if (b > e) for (d = b, b = e, l = 0; l < f; ) l++, (a[b] = a[d]), ++d, ++b; } else if (0 == b && 0 == e) for (l = 0; l < f; ) (d = l++), (c[d] = a[d]); else if (0 == b) for (l = 0; l < f; ) (d = l++), (c[e + d] = a[d]); else if (0 == e) for (l = 0; l < f; ) (d = l++), (c[d] = a[b + d]); else for (l = 0; l < f; ) (d = l++), (c[e + d] = a[b + d]); }; Lb.copy = function (a) { return a.slice(0); }; Lb.zero = function (a, b, c) { null == c && (c = 0); null == b && (b = 0); c = 0 >= c ? a.length : b + c; Ea._assert(0 <= b && b < a.length, 'min >= 0 && min < size(dst)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/NativeArrayTools.hx', lineNumber: 293, className: 'polygonal.ds.tools.NativeArrayTools', methodName: 'zero' }); for ( Ea._assert(c <= a.length, 'max <= size(dst)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/NativeArrayTools.hx', lineNumber: 294, className: 'polygonal.ds.tools.NativeArrayTools', methodName: 'zero' }); b < c; ) a[b++] = 0; return a; }; Lb.init = function (a, b, c, e) { null == e && (e = 0); null == c && (c = 0); e = 0 >= e ? a.length : c + e; Ea._assert(0 <= c && c < a.length, 'min >= 0 && min < size(a)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/NativeArrayTools.hx', lineNumber: 315, className: 'polygonal.ds.tools.NativeArrayTools', methodName: 'init' }); for ( Ea._assert(e <= a.length, 'max <= size(a)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/NativeArrayTools.hx', lineNumber: 316, className: 'polygonal.ds.tools.NativeArrayTools', methodName: 'init' }); c < e; ) a[c++] = b; return a; }; Lb.nullify = function (a, b, c) { null == c && (c = 0); null == b && (b = 0); c = 0 >= c ? a.length : b + c; Ea._assert(0 <= b && b < a.length, 'min >= 0 && min < size(a)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/NativeArrayTools.hx', lineNumber: 331, className: 'polygonal.ds.tools.NativeArrayTools', methodName: 'nullify' }); for ( Ea._assert(c <= a.length, 'max <= size(a)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/NativeArrayTools.hx', lineNumber: 332, className: 'polygonal.ds.tools.NativeArrayTools', methodName: 'nullify' }); b < c; ) a[b++] = null; return a; }; Lb.binarySearchCmp = function (a, b, c, e, f) { Ea._assert(null != a, 'a != null', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/NativeArrayTools.hx', lineNumber: 351, className: 'polygonal.ds.tools.NativeArrayTools', methodName: 'binarySearchCmp' }); Ea._assert(null != f, 'cmp != null', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/NativeArrayTools.hx', lineNumber: 352, className: 'polygonal.ds.tools.NativeArrayTools', methodName: 'binarySearchCmp' }); Ea._assert(0 <= c && c < a.length, 'min >= 0 && min < size(a)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/NativeArrayTools.hx', lineNumber: 353, className: 'polygonal.ds.tools.NativeArrayTools', methodName: 'binarySearchCmp' }); Ea._assert(e < a.length, 'max < size(a)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/NativeArrayTools.hx', lineNumber: 354, className: 'polygonal.ds.tools.NativeArrayTools', methodName: 'binarySearchCmp' }); for (var d, l = e + 1; c < l; ) (d = c + ((l - c) >> 1)), 0 > f(a[d], b) ? (c = d + 1) : (l = d); return c <= e && 0 == f(a[c], b) ? c : ~c; }; Lb.binarySearchf = function (a, b, c, e) { Ea._assert(null != a, 'a != null', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/NativeArrayTools.hx', lineNumber: 379, className: 'polygonal.ds.tools.NativeArrayTools', methodName: 'binarySearchf' }); Ea._assert(0 <= c && c < a.length, 'min >= 0 && min < size(a)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/NativeArrayTools.hx', lineNumber: 380, className: 'polygonal.ds.tools.NativeArrayTools', methodName: 'binarySearchf' }); Ea._assert(e < a.length, 'max < size(a)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/NativeArrayTools.hx', lineNumber: 381, className: 'polygonal.ds.tools.NativeArrayTools', methodName: 'binarySearchf' }); for (var d, g = e + 1; c < g; ) (d = c + ((g - c) >> 1)), a[d] < b ? (c = d + 1) : (g = d); return c <= e && a[c] == b ? c : ~c; }; Lb.binarySearchi = function (a, b, c, e) { Ea._assert(null != a, 'a != null', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/NativeArrayTools.hx', lineNumber: 406, className: 'polygonal.ds.tools.NativeArrayTools', methodName: 'binarySearchi' }); Ea._assert(0 <= c && c < a.length, 'min >= 0 && min < size(a)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/NativeArrayTools.hx', lineNumber: 407, className: 'polygonal.ds.tools.NativeArrayTools', methodName: 'binarySearchi' }); Ea._assert(e < a.length, 'max < size(a)', { fileName: '/Users/tomyoung/Library/Application Support/Stencyl/libs/haxelib/Stencyl/ds/2.1.1-1d23c8a6f8/src/polygonal/ds/tools/NativeArrayTools.hx', lineNumber: 408, className: 'polygonal.ds.tools.NativeArrayTools', methodName: 'binarySearchi' }); for (var d, g = e + 1; c < g; ) (d = c + ((g - c) >> 1)), a[d] < b ? (c = d + 1) : (g = d); return c <= e && a[c] == b ? c : ~c; }; var ni = function () {}; k['polygonal.ds.tools.Shuffle'] = ni; ni.__name__ = 'polygonal.ds.tools.Shuffle'; ni.f = function () { return Math.random(); }; ni.setRandom = function (a) { ni.f = a; }; ni.frand = function () { return ni.f(); }; var kp = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_10'] = kp; kp.__name__ = 'scripts.ActorEvents_10'; kp.__super__ = n; kp.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: kp }); var lp = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_100'] = lp; lp.__name__ = 'scripts.ActorEvents_100'; lp.__super__ = n; lp.prototype = t(n.prototype, { _event_Updating: function (a) { this.wrapper.enabled && 11 == this.actor.getCurrentFrame() && c.recycleActor(this.actor); }, init: function () { this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: lp }); var mp = function (a, b, c) { n.call(this, b); this.nameMap.h['Floaty Point'] = '_FloatyPoint'; }; k['scripts.ActorEvents_1002'] = mp; mp.__name__ = 'scripts.ActorEvents_1002'; mp.__super__ = n; mp.prototype = t(n.prototype, { _FloatyPoint: null, _event_Updating: function (a) { this.wrapper.enabled && ((a = this._FloatyPoint), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this.actor.setY(this._FloatyPoint.getY())); }, init: function () { this.actor.makeAlwaysSimulate(); c.createRecycledActor(c.getActorType(1004), this.actor.getX(), this.actor.getY(), 0); this._FloatyPoint = c.getLastCreatedActor(); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: mp }); var np = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1004'] = np; np.__name__ = 'scripts.ActorEvents_1004'; np.__super__ = n; np.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: np }); var op = function (a, b, d) { n.call(this, b); this.nameMap.h['Facing Left'] = '_FacingLeft'; this._FacingLeft = !1; this.nameMap.h.Springing = '_Springing'; this._Springing = !1; this.nameMap.h['In Arrow'] = '_InArrow'; this._InArrow = c.getActor(0); this.nameMap.h['Step Played'] = '_StepPlayed'; this._StepPlayed = !1; this.nameMap.h['Hit Ground'] = '_HitGround'; this._HitGround = !1; this.nameMap.h['Screen Diagonal'] = '_ScreenDiagonal'; this._ScreenDiagonal = 0; this.nameMap.h['Distance X'] = '_DistanceX'; this._DistanceX = 0; this.nameMap.h['Distance Y'] = '_DistanceY'; this._DistanceY = 0; this.nameMap.h.Distance = '_Distance'; this._Distance = 0; this.nameMap.h.Direction = '_Direction'; this._Direction = 0; this.nameMap.h['Minimum Easing Speed'] = '_MinimumEasingSpeed'; this._MinimumEasingSpeed = 5; this.nameMap.h.Speed = '_Speed'; this._Speed = 30; this.nameMap.h.Margin = '_Margin'; this._Margin = 0; this.nameMap.h.Easing = '_Easing'; this._Easing = !0; this.nameMap.h['Stop when Colliding'] = '_StopwhenColliding'; this._StopwhenColliding = !0; this.nameMap.h.Collided = '_Collided'; this._Collided = !1; this.nameMap.h['Fly Away List'] = '_FlyAwayList'; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h.Sign = '_Sign'; this.nameMap.h.Possum = '_Possum'; this.nameMap.h.Screeched = '_Screeched'; this._Screeched = !1; this.nameMap.h['Top Letterbox'] = '_TopLetterbox'; this.nameMap.h['Bottom Letterbox'] = '_BottomLetterbox'; }; k['scripts.ActorEvents_1008'] = op; op.__name__ = 'scripts.ActorEvents_1008'; op.__super__ = n; op.prototype = t(n.prototype, { _FacingLeft: null, _Springing: null, _InArrow: null, _StepPlayed: null, _HitGround: null, _ScreenDiagonal: null, _DistanceX: null, _DistanceY: null, _Distance: null, _Direction: null, _MinimumEasingSpeed: null, _Speed: null, _Margin: null, _Easing: null, _StopwhenColliding: null, _Collided: null, _FlyAwayList: null, _GravitySpeed: null, _Sign: null, _Possum: null, _Screeched: null, _TopLetterbox: null, _BottomLetterbox: null, _event_ActorGroup: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorGroup(1); var e = a.otherActor.getType(); a = a.otherActor.getGroup(); d = d == e || d == a; } else d = !1; d && !this._HitGround && ((this._HitGround = !0), this.actor.setXVelocity(0), this.actor.setYVelocity(0), this.actor.setAnimation('Land'), h.engine.getGameAttribute('Sound Disabled') || (c.startShakingScreen(0.02, 0.2), c.playSound(c.getSound(105))), c.runLater( 4300, function (a) { c.createRecycledActorOnLayer( c.getActorType(519), c.getScreenXCenter() - 50, c.getScreenY() - 48, c.engine.getLayerById(19) ); c.getLastCreatedActor().moveToTop(); c.getLastCreatedActor().moveTo( c.getLastCreatedActor().getX(), c.getScreenYCenter() - 48, 1, v.backOut ); c.runLater( 200, function (a) { c.createRecycledActorOnLayer( c.getActorType(519), c.getScreenXCenter() - 50, c.getScreenY() - 48, c.engine.getLayerById(19) ); c.getLastCreatedActor().moveToTop(); c.getLastCreatedActor().setAnimation('N'); c.getLastCreatedActor().moveTo( c.getLastCreatedActor().getX(), c.getScreenYCenter() - 48, 1, v.backOut ); }, b.actor ); c.runLater( 400, function (a) { c.createRecycledActorOnLayer( c.getActorType(519), c.getScreenXCenter() - 50, c.getScreenY() - 48, c.engine.getLayerById(19) ); c.getLastCreatedActor().moveToTop(); c.getLastCreatedActor().setAnimation('D'); c.getLastCreatedActor().moveTo( c.getLastCreatedActor().getX(), c.getScreenYCenter() - 48, 1, v.backOut ); }, b.actor ); c.runLater( 4500, function (a) { c.createRecycledActor( c.getActorType(437), c.getScreenX() - 5, c.getScreenY() - 5 - c.getScreenHeight() / 2, 0 ); b._TopLetterbox = c.getLastCreatedActor(); c.createRecycledActor( c.getActorType(437), c.getScreenX() - 5, c.getScreenY() + c.getScreenHeight() / 2 + c.getScreenHeight() / 2, 0 ); b._BottomLetterbox = c.getLastCreatedActor(); b._TopLetterbox.moveBy(0, c.getScreenHeight() / 2, 0.4, v.quadOut); b._BottomLetterbox.moveBy(0, -(c.getScreenHeight() / 2), 0.4, v.quadOut); }, b.actor ); c.runLater( 6e3, function (a) { a = ra.get().scenes.h[4].getID(); var b = 0, d = 0, e = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); var f = c.createFadeOut(0.2, (b << 16) | (d << 8) | e); e = d = b = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); c.switchScene(a, f, c.createFadeIn(0.2, (b << 16) | (d << 8) | e)); }, b.actor ); }, this.actor )); }, _event_Updating: function (a) { this.wrapper.enabled && ('Land' == this.actor.getAnimation() && 16 == this.actor.getCurrentFrame() && (this.actor.setAnimation('Walk'), this.actor.setXVelocity(30)), 'Walk' == this.actor.getAnimation() && this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, 48)), this._HitGround && (this.actor.setAngularVelocity(0), this.actor.setAngle(0)), (a = this._Sign), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this.actor.getXCenter() > this._Sign.getXCenter() && this._Sign.setAnimation('Spin'), 'Land' == this.actor.getAnimation() && 13 <= this.actor.getCurrentFrame() && !this._Screeched && ((this._Screeched = !0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(119)))); }, init: function () { this._FlyAwayList = []; this.actor.makeAlwaysSimulate(); this.actor.setAngularVelocity(-0.6981317007977111); for (var a = 0, b = c.getActorsOfType(c.getActorType(20)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || (this._Sign = d); } this._ScreenDiagonal = Math.sqrt( Math.pow(c.getScreenWidth(), 2) + Math.pow(c.getScreenHeight(), 2) ); this.addListener(this.actor.whenCollided, m(this, this._event_ActorGroup)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: op }); var pp = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1010'] = pp; pp.__name__ = 'scripts.ActorEvents_1010'; pp.__super__ = n; pp.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); this.actor.setAngularVelocity(0.6981317007977111); }, forwardMessage: function (a) {}, __class__: pp }); var qp = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1012'] = qp; qp.__name__ = 'scripts.ActorEvents_1012'; qp.__super__ = n; qp.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); this.actor.setAngularVelocity(0.6981317007977111); }, forwardMessage: function (a) {}, __class__: qp }); var rp = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1014'] = rp; rp.__name__ = 'scripts.ActorEvents_1014'; rp.__super__ = n; rp.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); this.actor.setAngularVelocity(-0.6981317007977111); }, forwardMessage: function (a) {}, __class__: rp }); var sp = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1016'] = sp; sp.__name__ = 'scripts.ActorEvents_1016'; sp.__super__ = n; sp.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); this.actor.setAngularVelocity(0.34906585039885557); }, forwardMessage: function (a) {}, __class__: sp }); var tp = function (a, b, c) { n.call(this, b); this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['Times Up'] = '_TimesUp'; this._TimesUp = !1; this.nameMap.h.Dead = '_Dead'; this._Dead = !1; }; k['scripts.ActorEvents_1018'] = tp; tp.__name__ = 'scripts.ActorEvents_1018'; tp.__super__ = n; tp.prototype = t(n.prototype, { _GravitySpeed: null, _TimesUp: null, _Dead: null, init: function () { this.actor.makeAlwaysSimulate(); this.actor.setAngularVelocity(-0.34906585039885557); }, forwardMessage: function (a) {}, __class__: tp }); var up = function (a, b, c) { n.call(this, b); this.nameMap.h.Helmet = '_Helmet'; }; k['scripts.ActorEvents_1020'] = up; up.__name__ = 'scripts.ActorEvents_1020'; up.__super__ = n; up.prototype = t(n.prototype, { _Helmet: null, init: function () { this.actor.makeAlwaysSimulate(); this.actor.setAngularVelocity(0.17453292519942779); }, forwardMessage: function (a) {}, __class__: up }); var vp = function (a, b, c) { n.call(this, b); this.nameMap.h.First = '_First'; this._First = !1; this.nameMap.h['Right Scroll Limit'] = '_RightScrollLimit'; this._RightScrollLimit = 0; this.nameMap.h['Total Length'] = '_TotalLength'; this._TotalLength = 0; }; k['scripts.ActorEvents_1022'] = vp; vp.__name__ = 'scripts.ActorEvents_1022'; vp.__super__ = n; vp.prototype = t(n.prototype, { _First: null, _RightScrollLimit: null, _TotalLength: null, init: function () { this.actor.makeAlwaysSimulate(); Q.setScale('width', c.getScreenWidth() + 4, this.actor); Q.setScale('height', c.getScreenHeight() + 4, this.actor); this.actor.setX(-2); this.actor.setY(-2); }, forwardMessage: function (a) {}, __class__: vp }); var wp = function (a, b, c) { n.call(this, b); this.nameMap.h.First = '_First'; this._First = !1; this.nameMap.h['Right Scroll Limit'] = '_RightScrollLimit'; this._RightScrollLimit = 0; this.nameMap.h['Total Length'] = '_TotalLength'; this._TotalLength = 0; }; k['scripts.ActorEvents_1024'] = wp; wp.__name__ = 'scripts.ActorEvents_1024'; wp.__super__ = n; wp.prototype = t(n.prototype, { _First: null, _RightScrollLimit: null, _TotalLength: null, init: function () { this.actor.makeAlwaysSimulate(); Q.setScale('width', c.getScreenWidth() + 4, this.actor); Q.setScale('height', c.getScreenHeight() + 4, this.actor); this.actor.setX(-2); this.actor.setY(-2); }, forwardMessage: function (a) {}, __class__: wp }); var xp = function (a, b, c) { n.call(this, b); this.nameMap.h.First = '_First'; this._First = !1; this.nameMap.h['Right Scroll Limit'] = '_RightScrollLimit'; this._RightScrollLimit = 0; this.nameMap.h['Total Length'] = '_TotalLength'; this._TotalLength = 0; }; k['scripts.ActorEvents_1026'] = xp; xp.__name__ = 'scripts.ActorEvents_1026'; xp.__super__ = n; xp.prototype = t(n.prototype, { _First: null, _RightScrollLimit: null, _TotalLength: null, init: function () { this.actor.makeAlwaysSimulate(); Q.setScale('width', c.getScreenWidth() + 4, this.actor); Q.setScale('height', c.getScreenHeight() + 4, this.actor); this.actor.setX(-2); this.actor.setY(-2); }, forwardMessage: function (a) {}, __class__: xp }); var yp = function (a, b, c) { n.call(this, b); this.nameMap.h.First = '_First'; this._First = !1; this.nameMap.h['Right Scroll Limit'] = '_RightScrollLimit'; this._RightScrollLimit = 0; this.nameMap.h['Total Length'] = '_TotalLength'; this._TotalLength = 0; }; k['scripts.ActorEvents_1028'] = yp; yp.__name__ = 'scripts.ActorEvents_1028'; yp.__super__ = n; yp.prototype = t(n.prototype, { _First: null, _RightScrollLimit: null, _TotalLength: null, init: function () { this.actor.makeAlwaysSimulate(); Q.setScale('width', c.getScreenWidth() + 4, this.actor); Q.setScale('height', c.getScreenHeight() + 4, this.actor); this.actor.setX(-2); this.actor.setY(-2); }, forwardMessage: function (a) {}, __class__: yp }); var zp = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_103'] = zp; zp.__name__ = 'scripts.ActorEvents_103'; zp.__super__ = n; zp.prototype = t(n.prototype, { init: function () { var a = this; this.actor.disableActorDrawing(); this.actor.makeAlwaysSimulate(); c.setValueForScene('Stage Logic', '_RumbleName', 'Dead'); c.sayToScene('Stage Logic', '_customEvent_rumble'); c.engine.pause(); c.runLater( 50, function (b) { c.createRecycledActorOnLayer( c.getActorType(94), a.actor.getX() - 8, a.actor.getY() - 8, c.engine.getLayerById(a.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), a.actor.getX() - 8, a.actor.getY() - 8, c.engine.getLayerById(a.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), a.actor.getX() - 8, a.actor.getY() - 8, c.engine.getLayerById(a.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), a.actor.getX() - 8, a.actor.getY() - 8, c.engine.getLayerById(a.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-32, 0, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), a.actor.getX() - 8, a.actor.getY() - 8, c.engine.getLayerById(a.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(32, 0, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), a.actor.getX() - 8, a.actor.getY() - 8, c.engine.getLayerById(a.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(32, 32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), a.actor.getX() - 8, a.actor.getY() - 8, c.engine.getLayerById(a.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-32, 32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), a.actor.getX() - 8, a.actor.getY() - 8, c.engine.getLayerById(a.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(0, 32, 0.3, v.backOut); }, this.actor ); c.runLater( 500, function (b) { c.engine.unpause(); b = 0; for (var d = c.getActorsOfType(c.getActorType(2)); b < d.length; ) { var e = d[b]; ++b; null == e || e.dead || e.recycled || e.say('Dude Logic', '_customEvent_Die2'); } c.startShakingScreen(0.01, 0.1); c.recycleActor(a.actor); }, this.actor ); }, forwardMessage: function (a) {}, __class__: zp }); var Ap = function (a, b, c) { n.call(this, b); this.nameMap.h.First = '_First'; this._First = !1; this.nameMap.h['Right Scroll Limit'] = '_RightScrollLimit'; this._RightScrollLimit = 0; this.nameMap.h['Total Length'] = '_TotalLength'; this._TotalLength = 0; }; k['scripts.ActorEvents_1030'] = Ap; Ap.__name__ = 'scripts.ActorEvents_1030'; Ap.__super__ = n; Ap.prototype = t(n.prototype, { _First: null, _RightScrollLimit: null, _TotalLength: null, init: function () { this.actor.makeAlwaysSimulate(); Q.setScale('width', c.getScreenWidth() + 4, this.actor); Q.setScale('height', c.getScreenHeight() + 4, this.actor); this.actor.setX(-2); this.actor.setY(-2); }, forwardMessage: function (a) {}, __class__: Ap }); var Bp = function (a, b, c) { n.call(this, b); this.nameMap.h.First = '_First'; this._First = !1; this.nameMap.h['Right Scroll Limit'] = '_RightScrollLimit'; this._RightScrollLimit = 0; this.nameMap.h['Total Length'] = '_TotalLength'; this._TotalLength = 0; }; k['scripts.ActorEvents_1032'] = Bp; Bp.__name__ = 'scripts.ActorEvents_1032'; Bp.__super__ = n; Bp.prototype = t(n.prototype, { _First: null, _RightScrollLimit: null, _TotalLength: null, init: function () { this.actor.makeAlwaysSimulate(); Q.setScale('width', c.getScreenWidth() + 4, this.actor); Q.setScale('height', c.getScreenHeight() + 4, this.actor); this.actor.setX(-2); this.actor.setY(-2); }, forwardMessage: function (a) {}, __class__: Bp }); var Cp = function (a, b, c) { n.call(this, b); this.nameMap.h.First = '_First'; this._First = !1; this.nameMap.h['Right Scroll Limit'] = '_RightScrollLimit'; this._RightScrollLimit = 0; this.nameMap.h['Total Length'] = '_TotalLength'; this._TotalLength = 0; }; k['scripts.ActorEvents_1034'] = Cp; Cp.__name__ = 'scripts.ActorEvents_1034'; Cp.__super__ = n; Cp.prototype = t(n.prototype, { _First: null, _RightScrollLimit: null, _TotalLength: null, init: function () { this.actor.makeAlwaysSimulate(); Q.setScale('width', c.getScreenWidth() + 4, this.actor); Q.setScale('height', c.getScreenHeight() + 4, this.actor); this.actor.setX(-2); this.actor.setY(-2); }, forwardMessage: function (a) {}, __class__: Cp }); var Dp = function (a, b, c) { n.call(this, b); this.nameMap.h.First = '_First'; this._First = !1; this.nameMap.h['Right Scroll Limit'] = '_RightScrollLimit'; this._RightScrollLimit = 0; this.nameMap.h['Total Length'] = '_TotalLength'; this._TotalLength = 0; }; k['scripts.ActorEvents_1036'] = Dp; Dp.__name__ = 'scripts.ActorEvents_1036'; Dp.__super__ = n; Dp.prototype = t(n.prototype, { _First: null, _RightScrollLimit: null, _TotalLength: null, init: function () { this.actor.makeAlwaysSimulate(); Q.setScale('width', c.getScreenWidth() + 4, this.actor); Q.setScale('height', c.getScreenHeight() + 4, this.actor); this.actor.setX(-2); this.actor.setY(-2); }, forwardMessage: function (a) {}, __class__: Dp }); var Ep = function (a, b, d) { n.call(this, b); this.nameMap.h.Dude = '_Dude'; this._Dude = c.getActor(0); this.nameMap.h['Fly Away'] = '_FlyAway'; this._FlyAway = !1; this.nameMap.h['Floaty Point'] = '_FloatyPoint'; }; k['scripts.ActorEvents_1038'] = Ep; Ep.__name__ = 'scripts.ActorEvents_1038'; Ep.__super__ = n; Ep.prototype = t(n.prototype, { _Dude: null, _FlyAway: null, _FloatyPoint: null, _event_Updating: function (a) { this.wrapper.enabled && ((a = this._FloatyPoint), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this.actor.setY(this._FloatyPoint.getY()), -32 > this.actor.getX() && c.recycleActor(this.actor)); }, init: function () { this.actor.setXVelocity(-10); this.actor.makeAlwaysSimulate(); c.createRecycledActor(c.getActorType(1004), this.actor.getX(), this.actor.getY(), 0); this._FloatyPoint = c.getLastCreatedActor(); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Ep }); var Fp = function (a, b, c) { n.call(this, b); this.nameMap.h.First = '_First'; this._First = !1; this.nameMap.h['Right Scroll Limit'] = '_RightScrollLimit'; this._RightScrollLimit = 0; this.nameMap.h['Total Length'] = '_TotalLength'; this._TotalLength = 0; this.nameMap.h.Move = '_Move'; this._Move = !1; }; k['scripts.ActorEvents_1040'] = Fp; Fp.__name__ = 'scripts.ActorEvents_1040'; Fp.__super__ = n; Fp.prototype = t(n.prototype, { _First: null, _RightScrollLimit: null, _TotalLength: null, _Move: null, _event_Updating: function (a) { this.wrapper.enabled && (this.actor.getY() < c.getScreenY() + c.getScreenHeight() && ((this._Move = !0), this.actor.moveToTop()), this._Move && this.actor.setYVelocity(-3)); }, init: function () { this.actor.makeAlwaysSimulate(); this.actor.moveToTop(); this.actor.set_alpha(0.5); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Fp }); var Gp = function (a, b, c) { n.call(this, b); this.nameMap.h.First = '_First'; this._First = !1; this.nameMap.h['Right Scroll Limit'] = '_RightScrollLimit'; this._RightScrollLimit = 0; this.nameMap.h['Total Length'] = '_TotalLength'; this._TotalLength = 0; this.nameMap.h.Move = '_Move'; this._Move = !1; }; k['scripts.ActorEvents_1042'] = Gp; Gp.__name__ = 'scripts.ActorEvents_1042'; Gp.__super__ = n; Gp.prototype = t(n.prototype, { _First: null, _RightScrollLimit: null, _TotalLength: null, _Move: null, init: function () { this.actor.makeAlwaysSimulate(); this.actor.moveToTop(); }, forwardMessage: function (a) {}, __class__: Gp }); var Hp = function (a, b, c) { n.call(this, b); this.nameMap.h.Attach = '_Attach'; this._Attach = !1; }; k['scripts.ActorEvents_1044'] = Hp; Hp.__name__ = 'scripts.ActorEvents_1044'; Hp.__super__ = n; Hp.prototype = t(n.prototype, { _Attach: null, _event_Updating: function (a) { this.wrapper.enabled && (this.actor.setX(c.getScreenX()), !this._Attach && this.actor.getY() <= c.getScreenY() && (this._Attach = !0), this._Attach && this.actor.setY(c.getScreenY())); }, init: function () { this.actor.makeAlwaysSimulate(); Q.setScale('width', c.getScreenWidth(), this.actor); Q.setScale('height', c.getScreenHeight(), this.actor); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Hp }); var Ip = function (a, b, c) { n.call(this, b); this.nameMap.h.Attach = '_Attach'; this._Attach = !1; }; k['scripts.ActorEvents_1046'] = Ip; Ip.__name__ = 'scripts.ActorEvents_1046'; Ip.__super__ = n; Ip.prototype = t(n.prototype, { _Attach: null, _event_Updating: function (a) { this.wrapper.enabled && !this._Attach && this.actor.getY() <= c.getScreenY() + c.getScreenHeight() && ((this._Attach = !0), this.actor.moveBy(0, 96, 2, v.linear)); }, init: function () { this.actor.makeAlwaysSimulate(); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Ip }); var Jp = function (a, b, c) { n.call(this, b); this.nameMap.h['Clouds Width'] = '_CloudsWidth'; this._CloudsWidth = 0; this.nameMap.h.Water = '_Water'; }; k['scripts.ActorEvents_1048'] = Jp; Jp.__name__ = 'scripts.ActorEvents_1048'; Jp.__super__ = n; Jp.prototype = t(n.prototype, { _CloudsWidth: null, _Water: null, _event_Updating: function (a) { this.wrapper.enabled && ((a = this._Water), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this.actor.setY(this._Water.getY() - this.actor.getHeight() + 38)); }, init: function () { this.actor.makeAlwaysSimulate(); for (var a = 0, b = c.getActorsOfType(c.getActorType(1046)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || (this._Water = d); } this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Jp }); var Kp = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1054'] = Kp; Kp.__name__ = 'scripts.ActorEvents_1054'; Kp.__super__ = n; Kp.prototype = t(n.prototype, { init: function () { this.actor.set_alpha(0.6); }, forwardMessage: function (a) {}, __class__: Kp }); var Lp = function (a, b, c) { n.call(this, b); this.nameMap.h.Bounce = '_Bounce'; this._Bounce = !1; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['Back and Forth'] = '_BackandForth'; this._BackandForth = !1; this.nameMap.h['Ground Check'] = '_GroundCheck'; this._GroundCheck = !1; this.nameMap.h['Ground Y'] = '_GroundY'; this._GroundY = 0; this.nameMap.h['On Ground'] = '_OnGround'; this._OnGround = !1; }; k['scripts.ActorEvents_1058'] = Lp; Lp.__name__ = 'scripts.ActorEvents_1058'; Lp.__super__ = n; Lp.prototype = t(n.prototype, { _Bounce: null, _GravitySpeed: null, _BackandForth: null, _GroundCheck: null, _GroundY: null, _OnGround: null, _event_ActorGroup: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(1); var d = a.otherActor.getType(); a = a.otherActor.getGroup(); b = b == d || b == a; } else b = !1; b && (this._GroundCheck = !0); }, _event_Updating: function (a) { var b = this; this.wrapper.enabled && (this._GroundCheck ? this._OnGround || ((this._OnGround = !0), c.runLater( 500, function (a) { b.actor.getX() + b.actor.getWidth() / 2 < c.getScreenXCenter() ? b.actor.setXVelocity(-70) : b.actor.setXVelocity(70); }, this.actor )) : this._OnGround && (this._OnGround = !1), (this._GroundCheck = !1), this._OnGround || this.actor.setY(this.actor.getY() + 1), 0 > this.actor.getX() ? c.recycleActor(this.actor) : this.actor.getX() > c.getSceneWidth() && c.recycleActor(this.actor)); }, init: function () { this.addListener(this.actor.whenCollided, m(this, this._event_ActorGroup)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Lp }); var Mp = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1060'] = Mp; Mp.__name__ = 'scripts.ActorEvents_1060'; Mp.__super__ = n; Mp.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); this.actor.setAngularVelocity(0.01745329251994278 * c.randomInt(-50, 50)); }, forwardMessage: function (a) {}, __class__: Mp }); var Np = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1062'] = Np; Np.__name__ = 'scripts.ActorEvents_1062'; Np.__super__ = n; Np.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); this.actor.setAngularVelocity(0.01745329251994278 * c.randomInt(-50, 50)); }, forwardMessage: function (a) {}, __class__: Np }); var Op = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1064'] = Op; Op.__name__ = 'scripts.ActorEvents_1064'; Op.__super__ = n; Op.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); this.actor.setAngularVelocity(0.01745329251994278 * c.randomInt(-50, 50)); }, forwardMessage: function (a) {}, __class__: Op }); var Pp = function (a, b, d) { n.call(this, b); this.nameMap.h['Ground Check'] = '_GroundCheck'; this._GroundCheck = !1; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['On Ground'] = '_OnGround'; this._OnGround = !1; this.nameMap.h['Can Make Noise'] = '_CanMakeNoise'; this._CanMakeNoise = !1; this.nameMap.h['Platform Check'] = '_PlatformCheck'; this._PlatformCheck = !1; this.nameMap.h['Platform Pos X'] = '_PlatformPosX'; this._PlatformPosX = 0; this.nameMap.h['Platform Release Delay'] = '_PlatformReleaseDelay'; this._PlatformReleaseDelay = 0; this.nameMap.h['Current Platform'] = '_CurrentPlatform'; this._CurrentPlatform = c.getActor(0); this.nameMap.h['On Platform'] = '_OnPlatform'; this._OnPlatform = !1; }; k['scripts.ActorEvents_1066'] = Pp; Pp.__name__ = 'scripts.ActorEvents_1066'; Pp.__super__ = n; Pp.prototype = t(n.prototype, { _GroundCheck: null, _GravitySpeed: null, _OnGround: null, _CanMakeNoise: null, _PlatformCheck: null, _PlatformPosX: null, _PlatformReleaseDelay: null, _CurrentPlatform: null, _OnPlatform: null, init: function () { this.actor.makeAlwaysSimulate(); this.actor.setAngularVelocity(0.01745329251994278 * c.randomInt(-50, 50)); }, forwardMessage: function (a) {}, __class__: Pp }); var Qp = function (a, b, c) { n.call(this, b); this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['Bounce Count'] = '_BounceCount'; this._BounceCount = 0; this.nameMap.h['No Count'] = '_NoCount'; this._NoCount = !1; }; k['scripts.ActorEvents_1068'] = Qp; Qp.__name__ = 'scripts.ActorEvents_1068'; Qp.__super__ = n; Qp.prototype = t(n.prototype, { _GravitySpeed: null, _BounceCount: null, _NoCount: null, init: function () { this.actor.makeAlwaysSimulate(); this.actor.setAngularVelocity(0.01745329251994278 * c.randomInt(-50, 50)); }, forwardMessage: function (a) {}, __class__: Qp }); var Rp = function (a, b, d) { n.call(this, b); this.nameMap.h.Bomb = '_Bomb'; this._Bomb = !1; this.nameMap.h.Highlight = '_Highlight'; this._Highlight = c.getActor(0); this.nameMap.h.Dents = '_Dents'; this._Dents = c.getActor(0); this.nameMap.h['Has entered screen'] = '_Hasenteredscreen'; this._Hasenteredscreen = !1; this.nameMap.h['Bounce Speed'] = '_BounceSpeed'; this._BounceSpeed = 0; this.nameMap.h.Left = '_Left'; this._Left = !0; this.nameMap.h['Ground Check'] = '_GroundCheck'; this._GroundCheck = !1; this.nameMap.h['On Grounnd'] = '_OnGrounnd'; this._OnGrounnd = !1; this.nameMap.h['No Puffs'] = '_NoPuffs'; this._NoPuffs = !1; }; k['scripts.ActorEvents_1072'] = Rp; Rp.__name__ = 'scripts.ActorEvents_1072'; Rp.__super__ = n; Rp.prototype = t(n.prototype, { _Bomb: null, _Highlight: null, _Dents: null, _Hasenteredscreen: null, _BounceSpeed: null, _Left: null, _GroundCheck: null, _OnGrounnd: null, _NoPuffs: null, _event_Updating: function (a) { this.wrapper.enabled && ((a = this._Dents), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a) ? ((a = this._Highlight), (a = c.isPrimitive(a) ? !0 : 'string' == typeof a ? '' != w.__cast(a, String) : null != a)) : (a = !1), a && (this._Highlight.setX(this.actor.getX()), this._Highlight.setY(this.actor.getY()), this._Dents.setX(this.actor.getX()), this._Dents.setY(this.actor.getY()), this._Dents.setAngle(1 * this.actor.getAngle())), 1 < this.actor.getYVelocity() ? (this._BounceSpeed = this.actor.getYVelocity()) : (this._BounceSpeed = 0)); }, init: function () { this.actor.makeAlwaysSimulate(); c.createRecycledActorOnLayer( c.getActorType(880), this.actor.getX(), this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ); this._Highlight = c.getLastCreatedActor(); c.createRecycledActorOnLayer( c.getActorType(882), this.actor.getX(), this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ); this._Dents = c.getLastCreatedActor(); this._Highlight.makeAlwaysSimulate(); this._Dents.makeAlwaysSimulate(); this.actor.makeAlwaysSimulate(); this.actor.setAngularVelocity(0.01745329251994278 * c.randomInt(-50, 50)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Rp }); var Sp = function (a, b, d) { n.call(this, b); this.nameMap.h.Fin = '_Fin'; this._Fin = c.getActor(0); this.nameMap.h.Stopped = '_Stopped'; this._Stopped = !1; this.nameMap.h['Flash On'] = '_FlashOn'; this._FlashOn = !1; this.nameMap.h.Flash = '_Flash'; this._Flash = !1; this.nameMap.h['Debris Speed'] = '_DebrisSpeed'; this._DebrisSpeed = 0; this.nameMap.h.Cannonball = '_Cannonball'; this._Cannonball = !1; this.nameMap.h['Cannonball Timer'] = '_CannonballTimer'; this._CannonballTimer = 0; this.nameMap.h.Gravity = '_Gravity'; this._Gravity = !1; }; k['scripts.ActorEvents_1074'] = Sp; Sp.__name__ = 'scripts.ActorEvents_1074'; Sp.__super__ = n; Sp.prototype = t(n.prototype, { _Fin: null, _Stopped: null, _FlashOn: null, _Flash: null, _DebrisSpeed: null, _Cannonball: null, _CannonballTimer: null, _Gravity: null, init: function () { this.actor.makeAlwaysSimulate(); this.actor.setAngularVelocity(0.01745329251994278 * c.randomInt(-50, 50)); }, forwardMessage: function (a) {}, __class__: Sp }); var Tp = function (a, b, c) { n.call(this, b); this.nameMap.h['Ground Check'] = '_GroundCheck'; this._GroundCheck = !1; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['On Ground'] = '_OnGround'; this._OnGround = !1; this.nameMap.h['Can Make Noise'] = '_CanMakeNoise'; this._CanMakeNoise = !1; this.nameMap.h.Quicksand = '_Quicksand'; this._Quicksand = !1; this.nameMap.h['Quicksand Y'] = '_QuicksandY'; this._QuicksandY = 0; this.nameMap.h.Sink = '_Sink'; this._Sink = !1; }; k['scripts.ActorEvents_1076'] = Tp; Tp.__name__ = 'scripts.ActorEvents_1076'; Tp.__super__ = n; Tp.prototype = t(n.prototype, { _GroundCheck: null, _GravitySpeed: null, _OnGround: null, _CanMakeNoise: null, _Quicksand: null, _QuicksandY: null, _Sink: null, init: function () { this.actor.makeAlwaysSimulate(); this.actor.setAngularVelocity(0.01745329251994278 * c.randomInt(-50, 50)); }, forwardMessage: function (a) {}, __class__: Tp }); var Up = function (a, b, c) { n.call(this, b); this.nameMap.h['Ground Check'] = '_GroundCheck'; this._GroundCheck = !1; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['On Ground'] = '_OnGround'; this._OnGround = !1; this.nameMap.h['Can Make Noise'] = '_CanMakeNoise'; this._CanMakeNoise = !1; this.nameMap.h.Quicksand = '_Quicksand'; this._Quicksand = !1; this.nameMap.h['Quicksand Y'] = '_QuicksandY'; this._QuicksandY = 0; this.nameMap.h.Sink = '_Sink'; this._Sink = !1; }; k['scripts.ActorEvents_1078'] = Up; Up.__name__ = 'scripts.ActorEvents_1078'; Up.__super__ = n; Up.prototype = t(n.prototype, { _GroundCheck: null, _GravitySpeed: null, _OnGround: null, _CanMakeNoise: null, _Quicksand: null, _QuicksandY: null, _Sink: null, init: function () { this.actor.makeAlwaysSimulate(); this.actor.setAngularVelocity(0.01745329251994278 * c.randomInt(-50, 50)); }, forwardMessage: function (a) {}, __class__: Up }); var Vp = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1080'] = Vp; Vp.__name__ = 'scripts.ActorEvents_1080'; Vp.__super__ = n; Vp.prototype = t(n.prototype, { _event_Updating: function (a) { this.wrapper.enabled && (this.actor.setX(c.getScreenX() - 5), this.actor.setY(c.getScreenY() - 5)); }, init: function () { this.actor.makeAlwaysSimulate(); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Vp }); var Wp = function (a, b, d) { n.call(this, b); this.nameMap.h['Stars String'] = '_StarsString'; this._StarsString = ''; this.nameMap.h.Star = '_Star'; this._Star = c.getActor(0); this.nameMap.h['Left End'] = '_LeftEnd'; this._LeftEnd = c.getActor(0); this.nameMap.h['Right End'] = '_RightEnd'; this._RightEnd = c.getActor(0); this.nameMap.h['Font To Use'] = '_FontToUse'; this.nameMap.h['Left Text'] = '_LeftText'; this._LeftText = ''; this.nameMap.h['Right Text'] = '_RightText'; this._RightText = ''; }; k['scripts.ActorEvents_1083'] = Wp; Wp.__name__ = 'scripts.ActorEvents_1083'; Wp.__super__ = n; Wp.prototype = t(n.prototype, { _StarsString: null, _Star: null, _LeftEnd: null, _RightEnd: null, _FontToUse: null, _LeftText: null, _RightText: null, _event_Drawing: function (a, b, d) { if (this.wrapper.enabled) { b = c.getFont(526); null != b && b != a.font && (a.font = b); d = this.actor; a.drawActor = !0; a.actor = d; d.smoothMove ? ((b = d.drawX - Math.floor(d.cacheWidth / 2) - d.currOffset.x), (d = d.drawY - Math.floor(d.cacheHeight / 2) - d.currOffset.y), (a.x = b * a.scaleX), (a.y = d * a.scaleY)) : ((a.x = d.colX * a.scaleX), (a.y = d.colY * a.scaleY)); c.setDrawingLayerToActorLayer(this.actor); var e = this._StarsString; null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)); a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + 12 * a.scaleX), (d = a.y + 12 * a.scaleY)) : ((b = a.x + 12 * a.scaleX - h.cameraX), (d = a.y + 12 * a.scaleY - h.cameraY)) : ((b = a.x + 12 * a.scaleX), (d = a.y + 12 * a.scaleY)); a.mtx.identity(); a.mtx.translate(b, d); var f = null, g = a.font; g = e + ':' + g.ID + ':' + a.alpha + ':' + g.letterSpacing + ':' + h.SCALE; if (Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, g)) (e = ha.drawnStringCache.h[g]), (e.lifetime = 5), (f = e.img); else { var l = a.font.font.getTextWidth(e, a.font.letterSpacing, a.font.fontScale), k = (a.font.font.getFontHeight() * a.font.fontScale) | 0; 0 < l && 0 < k && ((f = new la(l, k, !0, 0)), a.font.font.renderToImg( f, e, 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (e = new sc()), (e.img = f), (e.lifetime = 5), (ha.drawnStringCache.h[g] = e), ha.drawnStringCacheKeys.push(g)); } null != f && (a.graphics.beginBitmapFill(f, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, d, f.width, f.height), a.graphics.endFill()); } }, _event_Updating: function (a) { this.wrapper.enabled && (this.actor.setX(c.getScreenWidth() / 2 - Q.scaledSize('halfwidth', this.actor)), (a = this._LeftEnd), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a) ? ((a = this._RightEnd), (a = c.isPrimitive(a) ? !0 : 'string' == typeof a ? '' != w.__cast(a, String) : null != a)) : (a = !1), a && (this._LeftEnd.setX(this.actor.getX() - 2), this._LeftEnd.setY(this.actor.getY()), this._RightEnd.setX(this.actor.getX() + Q.scaledSize('width', this.actor)), this._RightEnd.setY(this.actor.getY()))); }, init: function () { 'World 1 Select' == c.getCurrentSceneName() ? (this._StarsString = 'ENUIGA CORP.') : 'World 2 Select' == c.getCurrentSceneName() ? (this._StarsString = 'HERBEJO MEADOW') : 'World 3 Select' == c.getCurrentSceneName() ? (this._StarsString = 'KOTO SWAMP') : 'World 4 Select' == c.getCurrentSceneName() ? (this._StarsString = 'FANTOMO TEMPLE') : 'World 5 Select' == c.getCurrentSceneName() && (this._StarsString = 'SOLECA STATION'); Q.setScale( 'width', c.getFont(526).getTextWidth(this._StarsString) / h.SCALE + 24, this.actor ); this.actor.makeAlwaysSimulate(); c.createRecycledActor(c.getActorType(531), this.actor.getX() - 2, this.actor.getY(), 0); this._LeftEnd = c.getLastCreatedActor(); c.createRecycledActor( c.getActorType(531), this.actor.getX() + Q.scaledSize('width', this.actor), this.actor.getY(), 0 ); this._RightEnd = c.getLastCreatedActor(); this.actor.anchorToScreen(); this._LeftEnd.anchorToScreen(); this._RightEnd.anchorToScreen(); this._LeftEnd.makeAlwaysSimulate(); this._RightEnd.makeAlwaysSimulate(); this.addListener(this.actor.whenDrawing, m(this, this._event_Drawing)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Wp }); var Xp = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1085'] = Xp; Xp.__name__ = 'scripts.ActorEvents_1085'; Xp.__super__ = n; Xp.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Xp }); var Yp = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1087'] = Yp; Yp.__name__ = 'scripts.ActorEvents_1087'; Yp.__super__ = n; Yp.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Yp }); var Zp = function (a, b, c) { n.call(this, b); this.nameMap.h['Facing Left'] = '_FacingLeft'; this._FacingLeft = !1; this.nameMap.h.Springing = '_Springing'; this._Springing = !1; this.nameMap.h['In Arrow'] = '_InArrow'; this.nameMap.h['Step Played'] = '_StepPlayed'; this._StepPlayed = !1; this.nameMap.h['Start Y'] = '_StartY'; this._StartY = 0; this.nameMap.h['Level Number'] = '_LevelNumber'; this._LevelNumber = 0; this.nameMap.h['Baby Type Number'] = '_BabyTypeNumber'; this._BabyTypeNumber = 1; this.nameMap.h.Left = '_Left'; this._Left = !0; this.nameMap.h['Dialog Text'] = '_DialogText'; this._DialogText = 'DEFAULT'; this.nameMap.h['Dialog Complete'] = '_DialogComplete'; this._DialogComplete = !1; this.nameMap.h['Talk First'] = '_TalkFirst'; this._TalkFirst = !1; }; k['scripts.ActorEvents_1124'] = Zp; Zp.__name__ = 'scripts.ActorEvents_1124'; Zp.__super__ = n; Zp.prototype = t(n.prototype, { _FacingLeft: null, _Springing: null, _InArrow: null, _StepPlayed: null, _StartY: null, _LevelNumber: null, _BabyTypeNumber: null, _Left: null, _DialogText: null, _DialogComplete: null, _TalkFirst: null, _event_Drawing: function (a, b, d) { this.wrapper.enabled && !h.engine.getGameAttribute('Sound Disabled') && 'Right' == this.actor.getAnimation() && (this._StepPlayed || 0 != this.actor.getCurrentFrame() ? this._StepPlayed || 6 != this.actor.getCurrentFrame() ? !this._StepPlayed || (9 != this.actor.getCurrentFrame() && 3 != this.actor.getCurrentFrame()) || (this._StepPlayed = !1) : ((this._StepPlayed = !0), c.playSound(c.getSound(851)), c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud'), c.sayToScene('Stage Logic', '_customEvent_rumble')) : ((this._StepPlayed = !0), c.playSound(c.getSound(850)), c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud'), c.sayToScene('Stage Logic', '_customEvent_rumble'))); }, _customEvent_Dialog: function () { h.engine.getGameAttribute('Possum Mode') ? this.actor.shout('_customEvent_dialogComplete') : this._DialogComplete || ((this._DialogComplete = !0), c.createRecycledActor(c.getActorType(161), 0, c.getScreenHeight() - 96, 0), c.getLastCreatedActor().setValue('Dialog Box Logic', '_DialogText', this._DialogText), c.getLastCreatedActor().setValue('Dialog Box Logic', '_Character1', 'Dadish'), c.getLastCreatedActor().setValue('Dialog Box Logic', '_Character2', 'Burgurgular'), c.getLastCreatedActor().setValue('Dialog Box Logic', '_Parent', this.actor), c.getLastCreatedActor().say('Dialog Box Logic', '_customEvent_Go')); }, _customEvent_dialogComplete: function () { for (var a = 0, b = c.getActorsOfType(c.getActorType(2)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || d.say('Dude Logic', '_customEvent_ExitBurg'); } }, init: function () { this._DialogText = "Burgurgular!?|DADISH!|You're alive?|YES! ALSO I'M NOT EVIL ANYMORE, FOR SOME REASON!|What's the reason?|THERAPY AND A SENSIBLE BED TIME!|Oh great!|UNFORTUNATELY I HAVE LOST MY HAT!|I've lost my kids again too!|LET'S TEAM UP AND FIND THEM BOTH!|OK!|HOP ON!"; this.actor.makeAlwaysSimulate(); this._StartY = this.actor.getY(); var a = c.getCurrentSceneName().split(' ')[1]; this._LevelNumber = null == a ? 0 : 'number' == typeof a ? w.__cast(a, ob) : 'number' == typeof a && (a | 0) === a ? w.__cast(a, nb) : 'boolean' == typeof a ? w.__cast(a, jb) ? 1 : 0 : 'string' == typeof a ? parseFloat(a) : parseFloat(z.string(a)); a = ('' + this._LevelNumber).charAt(('' + this._LevelNumber).length - 1); this._BabyTypeNumber = null == a ? 0 : 'number' == typeof a ? w.__cast(a, ob) : 'number' == typeof a && (a | 0) === a ? w.__cast(a, nb) : 'boolean' == typeof a ? w.__cast(a, jb) ? 1 : 0 : 'string' == typeof a ? parseFloat(a) : parseFloat(z.string(a)); this.actor.setY(this._StartY); this.addListener(this.actor.whenDrawing, m(this, this._event_Drawing)); }, forwardMessage: function (a) {}, __class__: Zp }); var $p = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1126'] = $p; $p.__name__ = 'scripts.ActorEvents_1126'; $p.__super__ = n; $p.prototype = t(n.prototype, { _customEvent_Go: function () { c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-32, 32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(32, 32, 0.3, v.backOut); c.createRecycledActor(c.getActorType(1130), this.actor.getX(), this.actor.getY(), 0); c.getLastCreatedActor().setAnimation('A'); c.createRecycledActor(c.getActorType(1130), this.actor.getX(), this.actor.getY() + 16, 0); c.getLastCreatedActor().setAnimation('B'); c.createRecycledActor( c.getActorType(1130), this.actor.getX() + 16, this.actor.getY() + 16, 0 ); c.getLastCreatedActor().setAnimation('B'); c.recycleActor(this.actor); }, init: function () { this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: $p }); var aq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1128'] = aq; aq.__name__ = 'scripts.ActorEvents_1128'; aq.__super__ = n; aq.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: aq }); var bq = function (a, b, c) { n.call(this, b); this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; }; k['scripts.ActorEvents_1130'] = bq; bq.__name__ = 'scripts.ActorEvents_1130'; bq.__super__ = n; bq.prototype = t(n.prototype, { _GravitySpeed: null, _event_EveryNsecs: function (a) { this.wrapper.enabled && this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, 48)); }, _event_Updating: function (a) { this.wrapper.enabled && this.actor.getY() > c.getScreenY() + c.getScreenHeight() && c.recycleActor(this.actor); }, init: function () { this.actor.makeAlwaysSimulate(); this.actor.setAngularVelocity(0.01745329251994278 * c.randomInt(-100, 100)); this.actor.setYVelocity(c.randomInt(-40, 40)); this.actor.setXVelocity(38); c.runPeriodically(20, m(this, this._event_EveryNsecs), this.actor); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: bq }); var cq = function (a, b, d) { n.call(this, b); this.nameMap.h['Facing Left'] = '_FacingLeft'; this._FacingLeft = !1; this.nameMap.h.Springing = '_Springing'; this._Springing = !1; this.nameMap.h['In Arrow'] = '_InArrow'; this._InArrow = c.getActor(0); this.nameMap.h['Step Played'] = '_StepPlayed'; this._StepPlayed = !1; this.nameMap.h['Start Y'] = '_StartY'; this._StartY = 0; this.nameMap.h['Level Number'] = '_LevelNumber'; this._LevelNumber = 0; this.nameMap.h['Baby Type Number'] = '_BabyTypeNumber'; this._BabyTypeNumber = 1; this.nameMap.h.Left = '_Left'; this._Left = !0; this.nameMap.h['Dialog Text'] = '_DialogText'; this._DialogText = 'DEFAULT'; this.nameMap.h['Dialog Complete'] = '_DialogComplete'; this._DialogComplete = !1; this.nameMap.h['Talk First'] = '_TalkFirst'; this._TalkFirst = !1; this.nameMap.h['Hat X'] = '_HatX'; }; k['scripts.ActorEvents_1134'] = cq; cq.__name__ = 'scripts.ActorEvents_1134'; cq.__super__ = n; cq.prototype = t(n.prototype, { _FacingLeft: null, _Springing: null, _InArrow: null, _StepPlayed: null, _StartY: null, _LevelNumber: null, _BabyTypeNumber: null, _Left: null, _DialogText: null, _DialogComplete: null, _TalkFirst: null, _HatX: null, _event_Updating: function (a) { this.wrapper.enabled && ((a = this._HatX), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this.actor.setX(this._HatX.getX()), this.actor.getY() < this._HatX.getY() ? this.actor.setYVelocity(this.actor.getYVelocity() + 1) : this.actor.getY() > this._HatX.getY() && (this.actor.setYVelocity(0), this.actor.setY(this._HatX.getY()))); }, _event_ActorCreated: function () { if (this.wrapper.enabled) { var a = this._HatX; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && c.recycleActor(this._HatX); } }, init: function () { c.createRecycledActor(c.getActorType(1140), this.actor.getX(), this.actor.getY(), 0); c.getLastCreatedActor().makeAlwaysSimulate(); this._HatX = c.getLastCreatedActor(); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener(this.actor.whenKilled, m(this, this._event_ActorCreated)); }, forwardMessage: function (a) {}, __class__: cq }); var dq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1136'] = dq; dq.__name__ = 'scripts.ActorEvents_1136'; dq.__super__ = n; dq.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: dq }); var eq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1138'] = eq; eq.__name__ = 'scripts.ActorEvents_1138'; eq.__super__ = n; eq.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: eq }); var fq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1140'] = fq; fq.__name__ = 'scripts.ActorEvents_1140'; fq.__super__ = n; fq.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: fq }); var gq = function (a, b, c) { n.call(this, b); this.nameMap.h.Door = '_Door'; this.nameMap.h.Fire = '_Fire'; this.nameMap.h['Baby X'] = '_BabyX'; this._BabyX = 0; this.nameMap.h['Baby Y'] = '_BabyY'; this._BabyY = 0; this.nameMap.h['Dadish X'] = '_DadishX'; this._DadishX = 0; this.nameMap.h['Dadish Y'] = '_DadishY'; this._DadishY = 0; this.nameMap.h.Baby = '_Baby'; this.nameMap.h.Dadish = '_Dadish'; this.nameMap.h.Shaking = '_Shaking'; this._Shaking = !1; this.nameMap.h['Exit Go'] = '_ExitGo'; this._ExitGo = !1; }; k['scripts.ActorEvents_1142'] = gq; gq.__name__ = 'scripts.ActorEvents_1142'; gq.__super__ = n; gq.prototype = t(n.prototype, { _Door: null, _Fire: null, _BabyX: null, _BabyY: null, _DadishX: null, _DadishY: null, _Baby: null, _Dadish: null, _Shaking: null, _ExitGo: null, _event_EveryNsecs: function (a) { if (this.wrapper.enabled && this._Shaking) { a = 0; for (var b = c.randomInt(1, 3); a < b; ) a++, c.createRecycledActor( c.getActorType(1148), c.randomInt(c.getScreenX() | 0, (c.getScreenX() + c.getScreenWidth() - 16) | 0), c.getScreenY() - 16, 0 ); } }, _event_Updating: function (a) { if (this.wrapper.enabled) { var b = this._Fire; if (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) this._Fire.setX(this.actor.getXCenter() - 66), this._Fire.setY(this.actor.getY() + this.actor.getHeight() - 2); b = this._Baby; if (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) this._Baby.setX(this.actor.getX() + this._BabyX), this._Baby.setY(this.actor.getY() + this._BabyY); b = this._Dadish; if (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) this._Dadish.setX(this.actor.getX() + this._DadishX), this._Dadish.setY(this.actor.getY() + this._DadishY); this.actor.getY() < c.getScreenY() - (this.actor.getHeight() + 64) && (c.stopAllSounds(), c.stopShakingScreen(), this._ExitGo || ((this._ExitGo = !0), h.engine.getGameAttribute('Timer Mode') && c.sayToScene('Stage Logic', '_customEvent_timerHide'), c.stopAllSounds(), (b = c.getCurrentSceneName().split(' ')[1]), (null == b ? 0 : 'number' == typeof b ? w.__cast(b, ob) : 'number' == typeof b && (b | 0) === b ? w.__cast(b, nb) : 'boolean' == typeof b ? w.__cast(b, jb) ? 1 : 0 : 'string' == typeof b ? parseFloat(b) : parseFloat(z.string(b))) > h.engine.getGameAttribute('Highest Level') && ((a = h.engine), (b = c.getCurrentSceneName().split(' ')[1]), (b = null == b ? 0 : 'number' == typeof b ? w.__cast(b, ob) : 'number' == typeof b && (b | 0) === b ? w.__cast(b, nb) : 'boolean' == typeof b ? w.__cast(b, jb) ? 1 : 0 : 'string' == typeof b ? parseFloat(b) : parseFloat(z.string(b))), (a.gameAttributes.h['Highest Level'] = b), c.saveGame('mySave', function (a) {})), c.sayToScene('Transitions', '_customEvent_transitionOut'), c.runLater( 1800, function (a) { h.engine.gameAttributes.h['Checkpoint Passed'] = !1; if (h.engine.getGameAttribute('Possum Mode')) { a = ra.get().scenes.h[114].getID(); var b = 0, d = 0, g = 0; null == g && (g = 0); null == d && (d = 0); null == b && (b = 0); var l = c.createFadeOut(0.3, (b << 16) | (d << 8) | g); } else (a = ra.get().scenes.h[131].getID()), (g = d = b = 0), null == g && (g = 0), null == d && (d = 0), null == b && (b = 0), (l = c.createFadeOut(0.3, (b << 16) | (d << 8) | g)); g = d = b = 0; null == g && (g = 0); null == d && (d = 0); null == b && (b = 0); c.switchScene(a, l, c.createFadeIn(0.3, (b << 16) | (d << 8) | g)); }, this.actor ))); } }, _customEvent_Go: function () { for (var a = this, b = 0, d = c.getActorsOfType(c.getActorType(234)); b < d.length; ) { var e = d[b]; ++b; null == e || e.dead || e.recycled || c.recycleActor(e); } b = 0; for (d = c.getActorsOfType(c.getActorType(1144)); b < d.length; ) (e = d[b]), ++b, null == e || e.dead || e.recycled || (this._Door = e); b = 0; for (d = c.getActorsOfType(c.getActorType(2)); b < d.length; ) (e = d[b]), ++b, null == e || e.dead || e.recycled || ((this._Dadish = e), (this._DadishX = e.getX() - this.actor.getX()), (this._DadishY = e.getY() - this.actor.getY())); b = 0; for (d = c.getActorsOfType(c.getActorType(159)); b < d.length; ) (e = d[b]), ++b, null == e || e.dead || e.recycled || ((this._Baby = e), (this._BabyX = e.getX() - this.actor.getX()), (this._BabyY = e.getY() - this.actor.getY())); this._Door.moveBy(0, this._Door.getHeight(), 0.5, v.quadInOut); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(424)); c.runLater( 1e3, function (b) { c.recycleActor(a._Door); a.actor.setAnimation('Closed'); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(469)); }, this.actor ); c.runLater( 2e3, function (b) { a._Shaking = !0; h.engine.getGameAttribute('Sound Disabled') || c.loopSoundOnChannel(c.getSound(1150), 6); c.startShakingScreen(0.004, 20); c.createRecycledActor( c.getActorType(1146), a.actor.getXCenter() - 66, a.actor.getY() + a.actor.getHeight() - 2, 0 ); a._Fire = c.getLastCreatedActor(); c.runLater( 1e3, function (b) { a.actor.setYVelocity(-10); }, a.actor ); }, this.actor ); }, init: function () { this.actor.makeAlwaysSimulate(); c.runPeriodically(300, m(this, this._event_EveryNsecs), this.actor); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: gq }); var hq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1144'] = hq; hq.__name__ = 'scripts.ActorEvents_1144'; hq.__super__ = n; hq.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: hq }); var iq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1146'] = iq; iq.__name__ = 'scripts.ActorEvents_1146'; iq.__super__ = n; iq.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: iq }); var jq = function (a, b, c) { n.call(this, b); this.nameMap.h.Move = '_Move'; this._Move = !1; this.nameMap.h['Start Y'] = '_StartY'; this._StartY = 0; }; k['scripts.ActorEvents_1148'] = jq; jq.__name__ = 'scripts.ActorEvents_1148'; jq.__super__ = n; jq.prototype = t(n.prototype, { _Move: null, _StartY: null, _event_EveryNsecs: function (a) { this.wrapper.enabled && this.actor.getY() > c.getScreenY() + c.getScreenHeight() && c.recycleActor(this.actor); }, init: function () { this.actor.makeAlwaysSimulate(); this.actor.setAnimation('' + c.randomInt(1, 3)); this.actor.setYVelocity(c.randomInt(5, 20)); c.runPeriodically(100, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: jq }); var kq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1155'] = kq; kq.__name__ = 'scripts.ActorEvents_1155'; kq.__super__ = n; kq.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: kq }); var lq = function (a, b, c) { n.call(this, b); this.nameMap.h['Left Touch Is Down'] = '_LeftTouchIsDown'; this._LeftTouchIsDown = !1; this.nameMap.h['Right Touch Is Down'] = '_RightTouchIsDown'; this._RightTouchIsDown = !1; this.nameMap.h['Up Touch Is Down'] = '_UpTouchIsDown'; this._UpTouchIsDown = !1; this.nameMap.h['Down Touch Is Down'] = '_DownTouchIsDown'; this._DownTouchIsDown = !1; this.nameMap.h.Speed = '_Speed'; this._Speed = 0; this.nameMap.h['Right Scroll Limit'] = '_RightScrollLimit'; this._RightScrollLimit = 0; this.nameMap.h['Left Scroll Limit'] = '_LeftScrollLimit'; this._LeftScrollLimit = 0; this.nameMap.h['0 X'] = '_0X'; this._0X = 0; }; k['scripts.ActorEvents_1157'] = lq; lq.__name__ = 'scripts.ActorEvents_1157'; lq.__super__ = n; lq.prototype = t(n.prototype, { _LeftTouchIsDown: null, _RightTouchIsDown: null, _UpTouchIsDown: null, _DownTouchIsDown: null, _Speed: null, _RightScrollLimit: null, _LeftScrollLimit: null, _0X: null, init: function () {}, forwardMessage: function (a) {}, __class__: lq }); var mq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1159'] = mq; mq.__name__ = 'scripts.ActorEvents_1159'; mq.__super__ = n; mq.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: mq }); var nq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1161'] = nq; nq.__name__ = 'scripts.ActorEvents_1161'; nq.__super__ = n; nq.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: nq }); var oq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1163'] = oq; oq.__name__ = 'scripts.ActorEvents_1163'; oq.__super__ = n; oq.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: oq }); var pq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1165'] = pq; pq.__name__ = 'scripts.ActorEvents_1165'; pq.__super__ = n; pq.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: pq }); var qq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1167'] = qq; qq.__name__ = 'scripts.ActorEvents_1167'; qq.__super__ = n; qq.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: qq }); var rq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1169'] = rq; rq.__name__ = 'scripts.ActorEvents_1169'; rq.__super__ = n; rq.prototype = t(n.prototype, { _event_Updating: function (a) { this.wrapper.enabled && c.engine.moveCamera(this.actor.getX(), this.actor.getY()); }, init: function () { this.actor.disableActorDrawing(); this.actor.makeAlwaysSimulate(); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: rq }); var sq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1171'] = sq; sq.__name__ = 'scripts.ActorEvents_1171'; sq.__super__ = n; sq.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: sq }); var tq = function (a, b, c) { n.call(this, b); this.nameMap.h.Up = '_Up'; this._Up = !1; }; k['scripts.ActorEvents_1173'] = tq; tq.__name__ = 'scripts.ActorEvents_1173'; tq.__super__ = n; tq.prototype = t(n.prototype, { _Up: null, _customEvent_Move: function () { var a = this; this._Up ? (this.actor.moveBy(-16, 0, 0.4, v.quadInOut), (this._Up = !1), c.runLater( 500, function (b) { a.actor.shout('_customEvent_Move'); }, this.actor )) : (this.actor.moveBy(16, 0, 0.4, v.quadInOut), (this._Up = !0), c.runLater( 500, function (b) { a.actor.shout('_customEvent_Move'); }, this.actor )); }, init: function () { this.actor.shout('_customEvent_Move'); }, forwardMessage: function (a) {}, __class__: tq }); var uq = function (a, b, c) { n.call(this, b); this.nameMap.h.Up = '_Up'; this._Up = !1; }; k['scripts.ActorEvents_1175'] = uq; uq.__name__ = 'scripts.ActorEvents_1175'; uq.__super__ = n; uq.prototype = t(n.prototype, { _Up: null, _customEvent_Move: function () { var a = this; this._Up ? (this.actor.moveBy(16, 0, 0.4, v.quadInOut), (this._Up = !1), c.runLater( 500, function (b) { a.actor.shout('_customEvent_Move'); }, this.actor )) : (this.actor.moveBy(-16, 0, 0.4, v.quadInOut), (this._Up = !0), c.runLater( 500, function (b) { a.actor.shout('_customEvent_Move'); }, this.actor )); }, init: function () { this.actor.shout('_customEvent_Move'); }, forwardMessage: function (a) {}, __class__: uq }); var vq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1177'] = vq; vq.__name__ = 'scripts.ActorEvents_1177'; vq.__super__ = n; vq.prototype = t(n.prototype, { init: function () { Q.setScale('width', 970, this.actor); Q.setScale('height', 300, this.actor); }, forwardMessage: function (a) {}, __class__: vq }); var wq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1179'] = wq; wq.__name__ = 'scripts.ActorEvents_1179'; wq.__super__ = n; wq.prototype = t(n.prototype, { init: function () { Q.setScale('width', 970, this.actor); Q.setScale('height', 300, this.actor); }, forwardMessage: function (a) {}, __class__: wq }); var xq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1181'] = xq; xq.__name__ = 'scripts.ActorEvents_1181'; xq.__super__ = n; xq.prototype = t(n.prototype, { init: function () { Q.setScale('width', 970, this.actor); Q.setScale('height', 300, this.actor); }, forwardMessage: function (a) {}, __class__: xq }); var yq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1183'] = yq; yq.__name__ = 'scripts.ActorEvents_1183'; yq.__super__ = n; yq.prototype = t(n.prototype, { init: function () { var a = this; Q.setScale('width', 970, this.actor); Q.setScale('height', 542, this.actor); c.runLater( 100, function (b) { a.actor.moveToBottom(); }, this.actor ); }, forwardMessage: function (a) {}, __class__: yq }); var zq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1185'] = zq; zq.__name__ = 'scripts.ActorEvents_1185'; zq.__super__ = n; zq.prototype = t(n.prototype, { init: function () { var a = this; Q.setScale('width', 970, this.actor); Q.setScale('height', 542, this.actor); c.runLater( 100, function (b) { a.actor.moveToBottom(); }, this.actor ); }, forwardMessage: function (a) {}, __class__: zq }); var Aq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1187'] = Aq; Aq.__name__ = 'scripts.ActorEvents_1187'; Aq.__super__ = n; Aq.prototype = t(n.prototype, { init: function () { var a = this; Q.setScale('width', 970, this.actor); Q.setScale('height', 542, this.actor); c.runLater( 100, function (b) { a.actor.moveToBottom(); }, this.actor ); }, forwardMessage: function (a) {}, __class__: Aq }); var Bq = function (a, b, c) { n.call(this, b); this.nameMap.h.Hide = '_Hide'; this._Hide = !1; }; k['scripts.ActorEvents_1189'] = Bq; Bq.__name__ = 'scripts.ActorEvents_1189'; Bq.__super__ = n; Bq.prototype = t(n.prototype, { _Hide: null, _event_Updating: function (a) { this.wrapper.enabled && ((!h.engine.getGameAttribute('CONTROLLER TIME') && !c.engine.isPaused()) || this._Hide ? c.engine.isPaused() || h.engine.getGameAttribute('CONTROLLER TIME') || !this._Hide || ((this._Hide = !1), this.actor.enableActorDrawing()) : ((this._Hide = !0), this.actor.disableActorDrawing())); }, init: function () { this.actor.anchorToScreen(); this.actor.makeAlwaysSimulate(); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Bq }); var Cq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_1191'] = Cq; Cq.__name__ = 'scripts.ActorEvents_1191'; Cq.__super__ = n; Cq.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Cq }); var Dq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_12'] = Dq; Dq.__name__ = 'scripts.ActorEvents_12'; Dq.__super__ = n; Dq.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Dq }); var Eq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_121'] = Eq; Eq.__name__ = 'scripts.ActorEvents_121'; Eq.__super__ = n; Eq.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Eq }); var Fq = function (a, b, c) { n.call(this, b); this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; }; k['scripts.ActorEvents_125'] = Fq; Fq.__name__ = 'scripts.ActorEvents_125'; Fq.__super__ = n; Fq.prototype = t(n.prototype, { _GravitySpeed: null, _event_Leavesscene: function (a, b, d, e) { this.wrapper.enabled && e && c.recycleActor(this.actor); }, _event_Updating: function (a) { this.wrapper.enabled && (this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed)), 0 < this.actor.getXVelocity() ? this.actor.setXVelocity(Math.max(this.actor.getXVelocity() - 0.3, 0)) : 0 > this.actor.getXVelocity() && this.actor.setXVelocity(Math.min(this.actor.getXVelocity() + 0.3, 0))); }, init: function () { this.actor.makeAlwaysSimulate(); this._GravitySpeed = 48; this.addListener(this.actor.whenPositionStateChanged, m(this, this._event_Leavesscene)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Fq }); var Gq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_127'] = Gq; Gq.__name__ = 'scripts.ActorEvents_127'; Gq.__super__ = n; Gq.prototype = t(n.prototype, { init: function () { var a = this; this.actor.makeAlwaysSimulate(); this.actor.moveBy(0, -24, 2, v.backOut); c.runLater( 900, function (b) { c.recycleActor(a.actor); }, this.actor ); }, forwardMessage: function (a) {}, __class__: Gq }); var Hq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_131'] = Hq; Hq.__name__ = 'scripts.ActorEvents_131'; Hq.__super__ = n; Hq.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Hq }); var Iq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_136'] = Iq; Iq.__name__ = 'scripts.ActorEvents_136'; Iq.__super__ = n; Iq.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Iq }); var Jq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_138'] = Jq; Jq.__name__ = 'scripts.ActorEvents_138'; Jq.__super__ = n; Jq.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Jq }); var Kq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_14'] = Kq; Kq.__name__ = 'scripts.ActorEvents_14'; Kq.__super__ = n; Kq.prototype = t(n.prototype, { init: function () { var a = this; this.actor.makeAlwaysSimulate(); this.actor.anchorToScreen(); this.actor.setX(-5); this.actor.setY(-5); Q.setScale('width', c.getScreenWidth() + 10, this.actor); Q.setScale('height', c.getScreenHeight() + 10, this.actor); this.actor.fadeTo(0, 0.4, v.quadInOut); c.runLater( 300, function (b) { c.recycleActor(a.actor); }, this.actor ); }, forwardMessage: function (a) {}, __class__: Kq }); var Lq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_140'] = Lq; Lq.__name__ = 'scripts.ActorEvents_140'; Lq.__super__ = n; Lq.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Lq }); var Mq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_142'] = Mq; Mq.__name__ = 'scripts.ActorEvents_142'; Mq.__super__ = n; Mq.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Mq }); var Nq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_150'] = Nq; Nq.__name__ = 'scripts.ActorEvents_150'; Nq.__super__ = n; Nq.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Nq }); var Oq = function (a, b, c) { n.call(this, b); this.nameMap.h['Speed Multiplier'] = '_SpeedMultiplier'; this._SpeedMultiplier = 0; }; k['scripts.ActorEvents_155'] = Oq; Oq.__name__ = 'scripts.ActorEvents_155'; Oq.__super__ = n; Oq.prototype = t(n.prototype, { _SpeedMultiplier: null, _event_Leavesscene: function (a, b, d, e) { this.wrapper.enabled && e && c.recycleActor(this.actor); }, _event_EveryNsecs: function (a) { if (this.wrapper.enabled && 'World 3 Select' != c.getCurrentSceneName()) { a = this.actor; var b = c.getValueForScene('Stage Logic', '_SnowSpeed'); a.setXVelocity( (null == b ? 0 : 'number' == typeof b ? w.__cast(b, ob) : 'number' == typeof b && (b | 0) === b ? w.__cast(b, nb) : 'boolean' == typeof b ? w.__cast(b, jb) ? 1 : 0 : 'string' == typeof b ? parseFloat(b) : parseFloat(z.string(b))) * this._SpeedMultiplier ); } }, init: function () { this.actor.makeAlwaysSimulate(); this.actor.setYVelocity(3.2); this._SpeedMultiplier = (c.randomInt(8, 10) / 10) * 0.4; this.actor.setAnimation('' + c.randomInt(1, 2)); this.addListener(this.actor.whenPositionStateChanged, m(this, this._event_Leavesscene)); c.runPeriodically(1e3, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: Oq }); var Pq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_159'] = Pq; Pq.__name__ = 'scripts.ActorEvents_159'; Pq.__super__ = n; Pq.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Pq }); var Qq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_16'] = Qq; Qq.__name__ = 'scripts.ActorEvents_16'; Qq.__super__ = n; Qq.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Qq }); var Rq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_161'] = Rq; Rq.__name__ = 'scripts.ActorEvents_161'; Rq.__super__ = n; Rq.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Rq }); var Sq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_166'] = Sq; Sq.__name__ = 'scripts.ActorEvents_166'; Sq.__super__ = n; Sq.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Sq }); var Tq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_169'] = Tq; Tq.__name__ = 'scripts.ActorEvents_169'; Tq.__super__ = n; Tq.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Tq }); var Uq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_18'] = Uq; Uq.__name__ = 'scripts.ActorEvents_18'; Uq.__super__ = n; Uq.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); this.actor.disableActorDrawing(); }, forwardMessage: function (a) {}, __class__: Uq }); var Vq = function (a, b, c) { n.call(this, b); this.nameMap.h.Spikes = '_Spikes'; this.nameMap.h['Ground Check Left'] = '_GroundCheckLeft'; this._GroundCheckLeft = !1; this.nameMap.h['Ground Check Right'] = '_GroundCheckRight'; this._GroundCheckRight = !1; this.nameMap.h['Ground Check Top'] = '_GroundCheckTop'; this._GroundCheckTop = !1; this.nameMap.h['Ground Check Bottom'] = '_GroundCheckBottom'; this._GroundCheckBottom = !1; this.nameMap.h['On Ground Left'] = '_OnGroundLeft'; this._OnGroundLeft = !1; this.nameMap.h['On Ground Top'] = '_OnGroundTop'; this._OnGroundTop = !1; this.nameMap.h['On Ground Bottom'] = '_OnGroundBottom'; this._OnGroundBottom = !1; this.nameMap.h['On Ground Right'] = '_OnGroundRight'; this._OnGroundRight = !1; }; k['scripts.ActorEvents_197'] = Vq; Vq.__name__ = 'scripts.ActorEvents_197'; Vq.__super__ = n; Vq.prototype = t(n.prototype, { _Spikes: null, _GroundCheckLeft: null, _GroundCheckRight: null, _GroundCheckTop: null, _GroundCheckBottom: null, _OnGroundLeft: null, _OnGroundTop: null, _OnGroundBottom: null, _OnGroundRight: null, _event_Updating: function (a) { this.wrapper.enabled && ((a = this._Spikes), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && (this._Spikes.setX(this.actor.getXCenter() - 44), this._Spikes.setY(this.actor.getYCenter() - 44)); }, init: function () { this.actor.makeAlwaysSimulate(); c.createRecycledActorOnLayer( c.getActorType(199), this.actor.getXCenter() - 44, this.actor.getYCenter() - 44, c.engine.getLayerById(this.actor.getLayerID()) ); this._Spikes = c.getLastCreatedActor(); this._Spikes.makeAlwaysSimulate(); this.actor.moveToTop(); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Vq }); var Wq = function (a, b, c) { n.call(this, b); this.nameMap.h['Ground Check Top'] = '_GroundCheckTop'; this._GroundCheckTop = !1; this.nameMap.h['Ground Check Bottom'] = '_GroundCheckBottom'; this._GroundCheckBottom = !1; this.nameMap.h['Ground Check Left'] = '_GroundCheckLeft'; this._GroundCheckLeft = !1; this.nameMap.h['Ground Check Right'] = '_GroundCheckRight'; this._GroundCheckRight = !1; this.nameMap.h['On Ground Top'] = '_OnGroundTop'; this._OnGroundTop = !1; this.nameMap.h['On Ground Bottom'] = '_OnGroundBottom'; this._OnGroundBottom = !1; this.nameMap.h['On Ground Left'] = '_OnGroundLeft'; this._OnGroundLeft = !1; this.nameMap.h['On Ground Right'] = '_OnGroundRight'; this._OnGroundRight = !1; }; k['scripts.ActorEvents_199'] = Wq; Wq.__name__ = 'scripts.ActorEvents_199'; Wq.__super__ = n; Wq.prototype = t(n.prototype, { _GroundCheckTop: null, _GroundCheckBottom: null, _GroundCheckLeft: null, _GroundCheckRight: null, _OnGroundTop: null, _OnGroundBottom: null, _OnGroundLeft: null, _OnGroundRight: null, init: function () {}, forwardMessage: function (a) {}, __class__: Wq }); var Xq = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_2'] = Xq; Xq.__name__ = 'scripts.ActorEvents_2'; Xq.__super__ = n; Xq.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Xq }); var Yq = function (a, b, c) { n.call(this, b); this.nameMap.h.Spin = '_Spin'; this._Spin = !1; }; k['scripts.ActorEvents_20'] = Yq; Yq.__name__ = 'scripts.ActorEvents_20'; Yq.__super__ = n; Yq.prototype = t(n.prototype, { _Spin: null, _event_ActorType: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(431); var e = a.otherActor.getType(); a = a.otherActor.getGroup(); d = d == e || d == a; } else d = !1; d && (this._Spin || c.runLater( 100, function (a) { b.actor.setAnimation('Spin'); b._Spin = !0; }, this.actor )); }, init: function () { this.addListener(this.actor.whenCollided, m(this, this._event_ActorType)); }, forwardMessage: function (a) {}, __class__: Yq }); var Zq = function (a, b, c) { n.call(this, b); this.nameMap.h.Spikes = '_Spikes'; this.nameMap.h['Ground Check Left'] = '_GroundCheckLeft'; this._GroundCheckLeft = !1; this.nameMap.h['Ground Check Right'] = '_GroundCheckRight'; this._GroundCheckRight = !1; this.nameMap.h['Ground Check Top'] = '_GroundCheckTop'; this._GroundCheckTop = !1; this.nameMap.h['Ground Check Bottom'] = '_GroundCheckBottom'; this._GroundCheckBottom = !1; this.nameMap.h['On Ground Left'] = '_OnGroundLeft'; this._OnGroundLeft = !1; this.nameMap.h['On Ground Top'] = '_OnGroundTop'; this._OnGroundTop = !1; this.nameMap.h['On Ground Bottom'] = '_OnGroundBottom'; this._OnGroundBottom = !1; this.nameMap.h['On Ground Right'] = '_OnGroundRight'; this._OnGroundRight = !1; }; k['scripts.ActorEvents_201'] = Zq; Zq.__name__ = 'scripts.ActorEvents_201'; Zq.__super__ = n; Zq.prototype = t(n.prototype, { _Spikes: null, _GroundCheckLeft: null, _GroundCheckRight: null, _GroundCheckTop: null, _GroundCheckBottom: null, _OnGroundLeft: null, _OnGroundTop: null, _OnGroundBottom: null, _OnGroundRight: null, _event_ActorCreated: function () { if (this.wrapper.enabled) { var a = this._Spikes; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && c.recycleActor(this._Spikes); } }, _event_Updating: function (a) { this.wrapper.enabled && ((a = this._Spikes), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && (this._Spikes.setX(this.actor.getXCenter() - 92), this._Spikes.setY(this.actor.getYCenter() - 44)); }, init: function () { this.actor.makeAlwaysSimulate(); c.createRecycledActorOnLayer( c.getActorType(203), this.actor.getXCenter() - 44, this.actor.getYCenter() - 44, c.engine.getLayerById(this.actor.getLayerID()) ); this._Spikes = c.getLastCreatedActor(); this._Spikes.makeAlwaysSimulate(); this.actor.moveToTop(); this.addListener(this.actor.whenKilled, m(this, this._event_ActorCreated)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Zq }); var $q = function (a, b, c) { n.call(this, b); this.nameMap.h['Ground Check Top'] = '_GroundCheckTop'; this._GroundCheckTop = !1; this.nameMap.h['Ground Check Bottom'] = '_GroundCheckBottom'; this._GroundCheckBottom = !1; this.nameMap.h['Ground Check Left'] = '_GroundCheckLeft'; this._GroundCheckLeft = !1; this.nameMap.h['Ground Check Right'] = '_GroundCheckRight'; this._GroundCheckRight = !1; this.nameMap.h['On Ground Top'] = '_OnGroundTop'; this._OnGroundTop = !1; this.nameMap.h['On Ground Bottom'] = '_OnGroundBottom'; this._OnGroundBottom = !1; this.nameMap.h['On Ground Left'] = '_OnGroundLeft'; this._OnGroundLeft = !1; this.nameMap.h['On Ground Right'] = '_OnGroundRight'; this._OnGroundRight = !1; }; k['scripts.ActorEvents_203'] = $q; $q.__name__ = 'scripts.ActorEvents_203'; $q.__super__ = n; $q.prototype = t(n.prototype, { _GroundCheckTop: null, _GroundCheckBottom: null, _GroundCheckLeft: null, _GroundCheckRight: null, _OnGroundTop: null, _OnGroundBottom: null, _OnGroundLeft: null, _OnGroundRight: null, init: function () { 'Level 39' == c.getCurrentSceneName() && this.actor.setAnimation('Top Only'); }, forwardMessage: function (a) {}, __class__: $q }); var ar = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_205'] = ar; ar.__name__ = 'scripts.ActorEvents_205'; ar.__super__ = n; ar.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: ar }); var br = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_208'] = br; br.__name__ = 'scripts.ActorEvents_208'; br.__super__ = n; br.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: br }); var cr = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_211'] = cr; cr.__name__ = 'scripts.ActorEvents_211'; cr.__super__ = n; cr.prototype = t(n.prototype, { _event_EveryNsecs: function (a) { this.wrapper.enabled && (c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Smoke'), c.getLastCreatedActor().moveToBottom(), (0 > this.actor.getX() || this.actor.getX() > c.getSceneWidth()) && c.recycleActor(this.actor)); }, _event_HitsGround: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(1); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && a.otherActor.getType() != c.getActorType(208) && a.otherActor.getType() != c.getActorType(213) && this.actor.shout('_customEvent_Destroy'); }, _event_HitsPlatform: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(5); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && a.otherActor.getType() != c.getActorType(208) && a.otherActor.getType() != c.getActorType(213) && this.actor.shout('_customEvent_Destroy'); }, _customEvent_Destroy: function () { !h.engine.getGameAttribute('Sound Disabled') && this.actor.isOnScreen() && c.playSound(c.getSound(215)); this.actor.isOnScreen() && ('Left' == this.actor.getAnimation() ? (c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX(), this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Fire'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX(), this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, 16, 0.3, v.backOut)) : (c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 16, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Fire'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 16, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, 16, 0.3, v.backOut)), c.getLastCreatedActor().setAnimation('Fire')); c.recycleActor(this.actor); }, init: function () { this.actor.makeAlwaysSimulate(); c.runPeriodically(400, m(this, this._event_EveryNsecs), this.actor); this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsPlatform)); }, forwardMessage: function (a) {}, __class__: cr }); var dr = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_213'] = dr; dr.__name__ = 'scripts.ActorEvents_213'; dr.__super__ = n; dr.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: dr }); var er = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_216'] = er; er.__name__ = 'scripts.ActorEvents_216'; er.__super__ = n; er.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: er }); var fr = function (a, b, c) { n.call(this, b); this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; }; k['scripts.ActorEvents_218'] = fr; fr.__name__ = 'scripts.ActorEvents_218'; fr.__super__ = n; fr.prototype = t(n.prototype, { _GravitySpeed: null, _event_HitsGround: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(1); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; if (b) if (a.thisFromBottom) h.engine.getGameAttribute('Sound Disabled') || (0 <= this.actor.getYVelocity() && this.actor.isOnScreen() && c.playSound(c.getSound(220))), this.actor.setYVelocity(-60); else { h.engine.getGameAttribute('Sound Disabled') || (this.actor.isOnScreen() && c.playSound(c.getSound(221))); if (this.actor.isOnScreen()) for (a = 0, b = c.getActorsOfType(c.getActorType(2)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || (this.actor.getXCenter() > d.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-16, -16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(16, -16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-16, 16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(16, 16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.recycleActor(this.actor); } }, _event_HitsGroundCopy: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(5); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; if (b) if (a.thisFromBottom) { h.engine.getGameAttribute('Sound Disabled') || (0 <= this.actor.getYVelocity() && this.actor.isOnScreen() && c.playSound(c.getSound(220))); if (this.actor.isOnScreen()) for (a = 0, b = c.getActorsOfType(c.getActorType(2)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || (this.actor.getXCenter() > d.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); this.actor.setYVelocity(-60); } else { h.engine.getGameAttribute('Sound Disabled') || (this.actor.isOnScreen() && c.playSound(c.getSound(221))); if (this.actor.isOnScreen()) for (a = 0, b = c.getActorsOfType(c.getActorType(2)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || (this.actor.getXCenter() > d.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-16, -16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(16, -16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-16, 16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(16, 16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.recycleActor(this.actor); } }, _event_EveryNsecs: function (a) { this.wrapper.enabled && ('Space' == h.engine.getGameAttribute('Stage Type') ? this.actor.setYVelocity( Math.min(this.actor.getYVelocity() + 0.9, this._GravitySpeed / 2) ) : this.actor.setYVelocity( Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed) ), 'Left' == this.actor.getAnimation() ? this.actor.setXVelocity(-16) : 'Right' == this.actor.getAnimation() && this.actor.setXVelocity(16)); }, init: function () { this.actor.makeAlwaysSimulate(); this._GravitySpeed = 48; this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsGroundCopy)); c.runPeriodically(10, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: fr }); var gr = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_22'] = gr; gr.__name__ = 'scripts.ActorEvents_22'; gr.__super__ = n; gr.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: gr }); var hr = function (a, b, c) { n.call(this, b); this.nameMap.h['Direction RN'] = '_DirectionRN'; this._DirectionRN = 0; }; k['scripts.ActorEvents_223'] = hr; hr.__name__ = 'scripts.ActorEvents_223'; hr.__super__ = n; hr.prototype = t(n.prototype, { _DirectionRN: null, _event_AfterNsecs: function (a) { var b = this; this.wrapper.enabled && (this.actor.setAnimation('Fade'), c.runLater( 700, function (a) { c.recycleActor(b.actor); }, this.actor )); }, init: function () { this.actor.anchorToScreen(); c.runLater(700, m(this, this._event_AfterNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: hr }); var ir = function (a, b, c) { n.call(this, b); this.nameMap.h['Hover Distance'] = '_HoverDistance'; this._HoverDistance = 0; this.nameMap.h.Up = '_Up'; this._Up = !1; }; k['scripts.ActorEvents_226'] = ir; ir.__name__ = 'scripts.ActorEvents_226'; ir.__super__ = n; ir.prototype = t(n.prototype, { _HoverDistance: null, _Up: null, _customEvent_Move: function () { var a = this; this._HoverDistance = 4; this._Up ? (this.actor.moveBy(0, -this._HoverDistance, 0.4, v.quadInOut), (this._Up = !1), c.runLater( 500, function (b) { a.actor.shout('_customEvent_Move'); }, this.actor )) : (this.actor.moveBy(0, this._HoverDistance, 0.4, v.quadInOut), (this._Up = !0), c.runLater( 500, function (b) { a.actor.shout('_customEvent_Move'); }, this.actor )); }, init: function () {}, forwardMessage: function (a) {}, __class__: ir }); var jr = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_232'] = jr; jr.__name__ = 'scripts.ActorEvents_232'; jr.__super__ = n; jr.prototype = t(n.prototype, { init: function () { c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8 - 32, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveToBottom(); c.getLastCreatedActor().moveBy(-64, -64, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Big Dirt'); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8 + 32, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveToBottom(); c.getLastCreatedActor().moveBy(64, -64, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Big Dirt'); }, forwardMessage: function (a) {}, __class__: jr }); var kr = function (a, b, c) { n.call(this, b); this.nameMap.h.Pressed = '_Pressed'; this._Pressed = !1; this.nameMap.h.Hide = '_Hide'; this._Hide = !1; this.nameMap.h['Button Input'] = '_ButtonInput'; this._ButtonInput = ''; }; k['scripts.ActorEvents_234'] = kr; kr.__name__ = 'scripts.ActorEvents_234'; kr.__super__ = n; kr.prototype = t(n.prototype, { _Pressed: null, _Hide: null, _ButtonInput: null, _event_OnActor: function (a) { var b = this; !this.wrapper.enabled || 3 != a || !h.engine.getGameAttribute('MOBILE MODE') || this._Pressed || c.engine.isPaused() || h.engine.getGameAttribute('Dead') || ((this._Pressed = !0), c.createRecycledActor(c.getActorType(236), 0, 0, 0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)), c.runLater( 400, function (a) { b._Pressed = !1; }, this.actor )); }, _event_Keyboard: function (a, b) { var d = this; !this.wrapper.enabled || !a || this._Pressed || c.engine.isPaused() || h.engine.getGameAttribute('Dead') || ((this._Pressed = !0), c.createRecycledActor(c.getActorType(236), 0, 0, 0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)), c.runLater( 400, function (a) { d._Pressed = !1; }, this.actor )); }, _event_AnyButton: function (a) { var b = this; this.wrapper.enabled && ((this._ButtonInput = a), ('7' != this._ButtonInput && '15' != this._ButtonInput) || this._Pressed || c.engine.isPaused() || h.engine.getGameAttribute('Dead') || ((this._Pressed = !0), c.createRecycledActor(c.getActorType(236), 0, 0, 0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)), c.runLater( 400, function (a) { b._Pressed = !1; }, this.actor ))); }, init: function () { this.actor.makeAlwaysSimulate(); this.actor.anchorToScreen(); h.engine.getGameAttribute('MOBILE MODE') || this.actor.disableActorDrawing(); this.addListener(this.actor.whenMousedOver, m(this, this._event_OnActor)); this.addListener( c.engine.whenKeyPressedEvents.getOrCreateEvent('escape'), m(this, this._event_Keyboard) ); this.addListener(c.engine.whenAnyGamepadPressed, m(this, this._event_AnyButton)); }, forwardMessage: function (a) {}, __class__: kr }); var lr = function (a, b, c) { n.call(this, b); this.nameMap.h.Inner = '_Inner'; }; k['scripts.ActorEvents_236'] = lr; lr.__name__ = 'scripts.ActorEvents_236'; lr.__super__ = n; lr.prototype = t(n.prototype, { _Inner: null, init: function () { this.actor.makeAlwaysSimulate(); this.actor.set_alpha(0); this.actor.setX(c.getScreenX() - 5); this.actor.setY(c.getScreenY() - 5); Q.setScale('width', 970, this.actor); Q.setScale('height', 550, this.actor); this.actor.fadeTo(0.86, 0.4, v.quadInOut); for (var a = 0, b = c.getActorsOfType(c.getActorType(2)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || d.shout('_customEvent_clearTouches'); } c.createRecycledActor( c.getActorType(250), this.actor.getX() + (c.getScreenWidth() / 2 - 106), c.getScreenY() - 126, 0 ); this._Inner = c.getLastCreatedActor(); this._Inner.moveTo( this._Inner.getX(), c.getScreenY() + (c.getScreenHeight() / 2 - 56), 0.7, v.elasticOut ); c.engine.pause(); }, forwardMessage: function (a) {}, __class__: lr }); var mr = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_238'] = mr; mr.__name__ = 'scripts.ActorEvents_238'; mr.__super__ = n; mr.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: mr }); var nr = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_24'] = nr; nr.__name__ = 'scripts.ActorEvents_24'; nr.__super__ = n; nr.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: nr }); var or = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_240'] = or; or.__name__ = 'scripts.ActorEvents_240'; or.__super__ = n; or.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: or }); var pr = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_242'] = pr; pr.__name__ = 'scripts.ActorEvents_242'; pr.__super__ = n; pr.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: pr }); var qr = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_244'] = qr; qr.__name__ = 'scripts.ActorEvents_244'; qr.__super__ = n; qr.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: qr }); var rr = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_246'] = rr; rr.__name__ = 'scripts.ActorEvents_246'; rr.__super__ = n; rr.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: rr }); var sr = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_248'] = sr; sr.__name__ = 'scripts.ActorEvents_248'; sr.__super__ = n; sr.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: sr }); var tr = function (a, b, c) { n.call(this, b); this.nameMap.h['Home Button'] = '_HomeButton'; this.nameMap.h['Restart Button'] = '_RestartButton'; this.nameMap.h['Resume Button'] = '_ResumeButton'; this.nameMap.h['Ads Button'] = '_AdsButton'; this.nameMap.h['Sound Button'] = '_SoundButton'; this.nameMap.h['Music Button'] = '_MusicButton'; this.nameMap.h['Button Pressed'] = '_ButtonPressed'; this._ButtonPressed = !1; this.nameMap.h['In Position'] = '_InPosition'; this._InPosition = !1; this.nameMap.h['Controls Button'] = '_ControlsButton'; this.nameMap.h.Cursor = '_Cursor'; this.nameMap.h['Possum Button'] = '_PossumButton'; this.nameMap.h['Go Button'] = '_GoButton'; }; k['scripts.ActorEvents_250'] = tr; tr.__name__ = 'scripts.ActorEvents_250'; tr.__super__ = n; tr.prototype = t(n.prototype, { _HomeButton: null, _RestartButton: null, _ResumeButton: null, _AdsButton: null, _SoundButton: null, _MusicButton: null, _ButtonPressed: null, _InPosition: null, _ControlsButton: null, _Cursor: null, _PossumButton: null, _GoButton: null, init: function () {}, forwardMessage: function (a) {}, __class__: tr }); var ur = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_259'] = ur; ur.__name__ = 'scripts.ActorEvents_259'; ur.__super__ = n; ur.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: ur }); var vr = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_26'] = vr; vr.__name__ = 'scripts.ActorEvents_26'; vr.__super__ = n; vr.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: vr }); var wr = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_261'] = wr; wr.__name__ = 'scripts.ActorEvents_261'; wr.__super__ = n; wr.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: wr }); var xr = function (a, b, c) { n.call(this, b); this.nameMap.h['Current Touch ID'] = '_CurrentTouchID'; this._CurrentTouchID = 0; this.nameMap.h['Touch Start X'] = '_TouchStartX'; this._TouchStartX = 0; this.nameMap.h['Self Start X'] = '_SelfStartX'; this._SelfStartX = 0; this.nameMap.h['Mouse Is Down'] = '_MouseIsDown'; this._MouseIsDown = !1; this.nameMap.h['Momentum Movement'] = '_MomentumMovement'; this._MomentumMovement = !1; this.nameMap.h.Tweening = '_Tweening'; this._Tweening = !1; this.nameMap.h.Momentum = '_Momentum'; this.nameMap.h['Right Scroll Limit'] = '_RightScrollLimit'; this._RightScrollLimit = 0; this.nameMap.h['Left Scroll Limit'] = '_LeftScrollLimit'; this._LeftScrollLimit = 0; }; k['scripts.ActorEvents_273'] = xr; xr.__name__ = 'scripts.ActorEvents_273'; xr.__super__ = n; xr.prototype = t(n.prototype, { _CurrentTouchID: null, _TouchStartX: null, _SelfStartX: null, _MouseIsDown: null, _MomentumMovement: null, _Tweening: null, _Momentum: null, _RightScrollLimit: null, _LeftScrollLimit: null, _event_Updating: function (a) { this.wrapper.enabled && c.engine.moveCamera(this.actor.getX(), this.actor.getY()); }, init: function () { this.actor.anchorToScreen(); this.actor.makeAlwaysSimulate(); c.createRecycledActor(c.getActorType(275), this.actor.getX(), this.actor.getY(), 0); this._Momentum = c.getLastCreatedActor(); for (var a = 0, b = c.getActorsOfType(c.getActorType(259)); a < b.length; ) { var d = b[a]; ++a; if (null != d && !d.dead && !d.recycled) { var e = d.getValue('Overworld Frame Logic', '_LeftScrollLimit'); this._LeftScrollLimit = null == e ? 0 : 'number' == typeof e ? w.__cast(e, ob) : 'number' == typeof e && (e | 0) === e ? w.__cast(e, nb) : 'boolean' == typeof e ? w.__cast(e, jb) ? 1 : 0 : 'string' == typeof e ? parseFloat(e) : parseFloat(z.string(e)); d = d.getValue('Overworld Frame Logic', '_RightScrollLimit'); this._RightScrollLimit = null == d ? 0 : 'number' == typeof d ? w.__cast(d, ob) : 'number' == typeof d && (d | 0) === d ? w.__cast(d, nb) : 'boolean' == typeof d ? w.__cast(d, jb) ? 1 : 0 : 'string' == typeof d ? parseFloat(d) : parseFloat(z.string(d)); } } a = 0; for (b = c.getActorsOfType(c.getActorType(261)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || ((e = d.getValue('Overworld Frame Logic', '_LeftScrollLimit')), (this._LeftScrollLimit = null == e ? 0 : 'number' == typeof e ? w.__cast(e, ob) : 'number' == typeof e && (e | 0) === e ? w.__cast(e, nb) : 'boolean' == typeof e ? w.__cast(e, jb) ? 1 : 0 : 'string' == typeof e ? parseFloat(e) : parseFloat(z.string(e))), (d = d.getValue('Overworld Frame Logic', '_RightScrollLimit')), (this._RightScrollLimit = null == d ? 0 : 'number' == typeof d ? w.__cast(d, ob) : 'number' == typeof d && (d | 0) === d ? w.__cast(d, nb) : 'boolean' == typeof d ? w.__cast(d, jb) ? 1 : 0 : 'string' == typeof d ? parseFloat(d) : parseFloat(z.string(d)))); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: xr }); var yr = function (a, b, c) { n.call(this, b); this.nameMap.h['Screen Diagonal'] = '_ScreenDiagonal'; this._ScreenDiagonal = 0; this.nameMap.h['Distance X'] = '_DistanceX'; this._DistanceX = 0; this.nameMap.h['Distance Y'] = '_DistanceY'; this._DistanceY = 0; this.nameMap.h.Distance = '_Distance'; this._Distance = 0; this.nameMap.h.Direction = '_Direction'; this._Direction = 0; this.nameMap.h['Minimum Easing Speed'] = '_MinimumEasingSpeed'; this._MinimumEasingSpeed = 5; this.nameMap.h.Speed = '_Speed'; this._Speed = 30; this.nameMap.h.Margin = '_Margin'; this._Margin = 0; this.nameMap.h.Easing = '_Easing'; this._Easing = !0; this.nameMap.h['Stop when Colliding'] = '_StopwhenColliding'; this._StopwhenColliding = !0; this.nameMap.h.Collided = '_Collided'; this._Collided = !1; this.nameMap.h['Target Actor'] = '_TargetActor'; }; k['scripts.ActorEvents_275'] = yr; yr.__name__ = 'scripts.ActorEvents_275'; yr.__super__ = n; yr.prototype = t(n.prototype, { _ScreenDiagonal: null, _DistanceX: null, _DistanceY: null, _Distance: null, _Direction: null, _MinimumEasingSpeed: null, _Speed: null, _Margin: null, _Easing: null, _StopwhenColliding: null, _Collided: null, _TargetActor: null, _event_Updated: function (a) { this.wrapper.enabled && ((a = this._TargetActor), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._TargetActor.isAlive() && ((this._DistanceX = this._TargetActor.getXCenter() - this.actor.getXCenter()), (this._DistanceY = this._TargetActor.getYCenter() - this.actor.getYCenter()), (this._Distance = Math.sqrt( Math.pow(this._DistanceX, 2) + Math.pow(this._DistanceY, 2) )), (this._Direction = 57.29577951308402 * Math.atan2(this._DistanceY, this._DistanceX)), !(this._Distance > this._Margin) || (this._StopwhenColliding && this._Collided) ? this.actor.setVelocity(0, 0) : this._Easing ? this.actor.setVelocity( this._Direction, this._MinimumEasingSpeed + ((this._Distance - this._Margin) / this._ScreenDiagonal) * this._Speed ) : this.actor.setVelocity(this._Direction, this._Speed), (this._Collided = !1))); }, _event_ActorActor: function (a) { this.wrapper.enabled && this._TargetActor == a.otherActor && (this._Collided = !0); }, init: function () { this.actor.anchorToScreen(); this.actor.makeAlwaysSimulate(); for (var a = 0, b = c.getActorsOfType(c.getActorType(273)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || (this._TargetActor = d); } this._ScreenDiagonal = Math.sqrt( Math.pow(c.getScreenWidth(), 2) + Math.pow(c.getScreenHeight(), 2) ); this._Margin = 8; this._MinimumEasingSpeed = 48; this._Speed = 60; this.addListener(this.actor.whenUpdated, m(this, this._event_Updated)); this.addListener(this.actor.whenCollided, m(this, this._event_ActorActor)); }, forwardMessage: function (a) {}, __class__: yr }); var zr = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_277'] = zr; zr.__name__ = 'scripts.ActorEvents_277'; zr.__super__ = n; zr.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: zr }); var Ar = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_279'] = Ar; Ar.__name__ = 'scripts.ActorEvents_279'; Ar.__super__ = n; Ar.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Ar }); var Br = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_28'] = Br; Br.__name__ = 'scripts.ActorEvents_28'; Br.__super__ = n; Br.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Br }); var Cr = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_281'] = Cr; Cr.__name__ = 'scripts.ActorEvents_281'; Cr.__super__ = n; Cr.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Cr }); var Dr = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_283'] = Dr; Dr.__name__ = 'scripts.ActorEvents_283'; Dr.__super__ = n; Dr.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); this.actor.anchorToScreen(); Q.setScale('width', c.getScreenWidth() + 10, this.actor); Q.setScale('height', c.getScreenHeight() + 10, this.actor); }, forwardMessage: function (a) {}, __class__: Dr }); var Er = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_285'] = Er; Er.__name__ = 'scripts.ActorEvents_285'; Er.__super__ = n; Er.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Er }); var Fr = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_289'] = Fr; Fr.__name__ = 'scripts.ActorEvents_289'; Fr.__super__ = n; Fr.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Fr }); var Gr = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_291'] = Gr; Gr.__name__ = 'scripts.ActorEvents_291'; Gr.__super__ = n; Gr.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Gr }); var Hr = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_297'] = Hr; Hr.__name__ = 'scripts.ActorEvents_297'; Hr.__super__ = n; Hr.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); this.actor.anchorToScreen(); }, forwardMessage: function (a) {}, __class__: Hr }); var Ir = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_30'] = Ir; Ir.__name__ = 'scripts.ActorEvents_30'; Ir.__super__ = n; Ir.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Ir }); var Jr = function (a, b, c) { n.call(this, b); this.nameMap.h['Ground Check'] = '_GroundCheck'; this._GroundCheck = !1; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['On Ground'] = '_OnGround'; this._OnGround = !1; this.nameMap.h['Can Make Noise'] = '_CanMakeNoise'; this._CanMakeNoise = !1; this.nameMap.h['Platform Check'] = '_PlatformCheck'; this._PlatformCheck = !1; this.nameMap.h['Platform Pos X'] = '_PlatformPosX'; this._PlatformPosX = 0; this.nameMap.h['Platform Release Delay'] = '_PlatformReleaseDelay'; this._PlatformReleaseDelay = 0; this.nameMap.h['Current Platform'] = '_CurrentPlatform'; this.nameMap.h['On Platform'] = '_OnPlatform'; this._OnPlatform = !1; }; k['scripts.ActorEvents_32'] = Jr; Jr.__name__ = 'scripts.ActorEvents_32'; Jr.__super__ = n; Jr.prototype = t(n.prototype, { _GroundCheck: null, _GravitySpeed: null, _OnGround: null, _CanMakeNoise: null, _PlatformCheck: null, _PlatformPosX: null, _PlatformReleaseDelay: null, _CurrentPlatform: null, _OnPlatform: null, init: function () {}, forwardMessage: function (a) {}, __class__: Jr }); var Kr = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_34'] = Kr; Kr.__name__ = 'scripts.ActorEvents_34'; Kr.__super__ = n; Kr.prototype = t(n.prototype, { init: function () { 'Meadow' == h.engine.getGameAttribute('Stage Type') && this.actor.setAnimation('Dark'); }, forwardMessage: function (a) {}, __class__: Kr }); var Lr = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_341'] = Lr; Lr.__name__ = 'scripts.ActorEvents_341'; Lr.__super__ = n; Lr.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Lr }); var Mr = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_343'] = Mr; Mr.__name__ = 'scripts.ActorEvents_343'; Mr.__super__ = n; Mr.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Mr }); var Nr = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_345'] = Nr; Nr.__name__ = 'scripts.ActorEvents_345'; Nr.__super__ = n; Nr.prototype = t(n.prototype, { _event_Updating: function (a) { this.wrapper.enabled && (h.engine.getGameAttribute('MOBILE MODE') && 'Normal' == this.actor.getAnimation() ? this.actor.setAnimation('NormalC') : h.engine.getGameAttribute('MOBILE MODE') || 'NormalC' != this.actor.getAnimation() || this.actor.setAnimation('Normal'), h.engine.getGameAttribute('MOBILE MODE') && 'Off' == this.actor.getAnimation() ? this.actor.setAnimation('OffC') : h.engine.getGameAttribute('MOBILE MODE') || 'OffC' != this.actor.getAnimation() || this.actor.setAnimation('Off')); }, init: function () { c.createRecycledActorOnLayer( c.getActorType(550), this.actor.getX(), this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Nr }); var Or = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_347'] = Or; Or.__name__ = 'scripts.ActorEvents_347'; Or.__super__ = n; Or.prototype = t(n.prototype, { _event_Updating: function (a) { this.wrapper.enabled && (h.engine.getGameAttribute('MOBILE MODE') && 'Normal' == this.actor.getAnimation() ? this.actor.setAnimation('NormalC') : h.engine.getGameAttribute('MOBILE MODE') || 'NormalC' != this.actor.getAnimation() || this.actor.setAnimation('Normal'), h.engine.getGameAttribute('MOBILE MODE') && 'Off' == this.actor.getAnimation() ? this.actor.setAnimation('OffC') : h.engine.getGameAttribute('MOBILE MODE') || 'OffC' != this.actor.getAnimation() || this.actor.setAnimation('Off')); }, init: function () { c.createRecycledActorOnLayer( c.getActorType(550), this.actor.getX(), this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Or }); var Pr = function (a, b, c) { n.call(this, b); this.nameMap.h['Direction RN'] = '_DirectionRN'; this._DirectionRN = 0; this.nameMap.h.Got = '_Got'; this._Got = !1; }; k['scripts.ActorEvents_349'] = Pr; Pr.__name__ = 'scripts.ActorEvents_349'; Pr.__super__ = n; Pr.prototype = t(n.prototype, { _DirectionRN: null, _Got: null, _event_HitsDude: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(2); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && !this._Got && ((this._Got = !0), c.createRecycledActor(c.getActorType(14), 0, 0, 0), a.otherActor.setValue('Dude Logic', '_StarCollected', !0), c.setValueForScene('Stage Logic', '_RumbleName', 'Star'), c.sayToScene('Stage Logic', '_customEvent_rumble'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(351)), c.runLater( 100, function (a) { c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Star'); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Star'); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-32, 32, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Star'); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(32, 32, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Star'); c.recycleActor(b.actor); }, this.actor )); }, init: function () { if (!h.engine.getGameAttribute('Timer Mode')) { var a = h.engine.getGameAttribute('Stars List'), b = c.getCurrentSceneName().split(' ')[1]; (W.contains( a, null == b ? 0 : 'number' == typeof b ? w.__cast(b, ob) : 'number' == typeof b && (b | 0) === b ? w.__cast(b, nb) : 'boolean' == typeof b ? w.__cast(b, jb) ? 1 : 0 : 'string' == typeof b ? parseFloat(b) : parseFloat(z.string(b)) ) || h.engine.getGameAttribute('Star Collected')) && c.recycleActor(this.actor); } this.addListener(this.actor.whenCollided, m(this, this._event_HitsDude)); }, forwardMessage: function (a) {}, __class__: Pr }); var Qr = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_353'] = Qr; Qr.__name__ = 'scripts.ActorEvents_353'; Qr.__super__ = n; Qr.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Qr }); var Rr = function (a, b, c) { n.call(this, b); this.nameMap.h.Springing = '_Springing'; this._Springing = !1; this.nameMap.h['Facing Left'] = '_FacingLeft'; this._FacingLeft = !1; }; k['scripts.ActorEvents_359'] = Rr; Rr.__name__ = 'scripts.ActorEvents_359'; Rr.__super__ = n; Rr.prototype = t(n.prototype, { _Springing: null, _FacingLeft: null, _event_HitsDude: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(2); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && a.thisFromTop && !this._Springing && ('Left' == this.actor.getAnimation() && (this._FacingLeft = !0), (this._Springing = !0), a.otherActor.setYVelocity(-72), this._FacingLeft ? this.actor.setAnimation('Springing Left') : this.actor.setAnimation('Springing Right'), a.otherActor.setValue('Dude Logic', '_Springing', !0), a.otherActor.setValue('Dude Logic', '_CanDoubleJump', !0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(220)), c.runLater( 200, function (a) { b._FacingLeft ? b.actor.setAnimation('Left') : b.actor.setAnimation('Right'); b._Springing = !1; }, this.actor )); }, init: function () { var a = this; this.actor.makeAlwaysSimulate(); c.runLater( 310, function (b) { c.startShakingScreen(0.01, 0.2); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(105)); c.createRecycledActorOnLayer( c.getActorType(94), a.actor.getXCenter() - 8, a.actor.getY() + a.actor.getHeight() - 8, c.engine.getLayerById(a.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), a.actor.getX() - 8, a.actor.getY() + a.actor.getHeight() - 8, c.engine.getLayerById(a.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), a.actor.getX() + a.actor.getWidth() - 8, a.actor.getY() + a.actor.getHeight() - 8, c.engine.getLayerById(a.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut); }, this.actor ); this.addListener(this.actor.whenCollided, m(this, this._event_HitsDude)); }, forwardMessage: function (a) {}, __class__: Rr }); var Sr = function (a, b, c) { n.call(this, b); this.nameMap.h['Flash On'] = '_FlashOn'; this._FlashOn = !1; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h.Flash = '_Flash'; this._Flash = !1; }; k['scripts.ActorEvents_361'] = Sr; Sr.__name__ = 'scripts.ActorEvents_361'; Sr.__super__ = n; Sr.prototype = t(n.prototype, { _FlashOn: null, _GravitySpeed: null, _Flash: null, _event_Updating: function (a) { this.wrapper.enabled && this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed)); }, _event_ExitsScene: function (a, b, d, e) { this.wrapper.enabled && e && c.recycleActor(this.actor); }, _event_EveryNsecs: function (a) { this.wrapper.enabled && this._Flash && (this._FlashOn ? ((this._FlashOn = !1), this.actor.enableActorDrawing()) : ((this._FlashOn = !0), this.actor.disableActorDrawing())); }, init: function () { var a = this; this.actor.makeAlwaysSimulate(); this._GravitySpeed = 22; c.runLater( 600, function (b) { a._Flash = !0; }, this.actor ); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener(this.actor.whenPositionStateChanged, m(this, this._event_ExitsScene)); c.runPeriodically(50, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: Sr }); var Tr = function (a, b, c) { n.call(this, b); this.nameMap.h['Flash On'] = '_FlashOn'; this._FlashOn = !1; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h.Flash = '_Flash'; this._Flash = !1; }; k['scripts.ActorEvents_363'] = Tr; Tr.__name__ = 'scripts.ActorEvents_363'; Tr.__super__ = n; Tr.prototype = t(n.prototype, { _FlashOn: null, _GravitySpeed: null, _Flash: null, _event_Updating: function (a) { this.wrapper.enabled && this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed)); }, _event_ExitsScene: function (a, b, d, e) { this.wrapper.enabled && e && c.recycleActor(this.actor); }, _event_EveryNsecs: function (a) { this.wrapper.enabled && this._Flash && (this._FlashOn ? ((this._FlashOn = !1), this.actor.enableActorDrawing()) : ((this._FlashOn = !0), this.actor.disableActorDrawing())); }, init: function () { var a = this; this.actor.makeAlwaysSimulate(); this._GravitySpeed = 22; c.runLater( 600, function (b) { a._Flash = !0; }, this.actor ); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener(this.actor.whenPositionStateChanged, m(this, this._event_ExitsScene)); c.runPeriodically(50, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: Tr }); var Ur = function (a, b, c) { n.call(this, b); this.nameMap.h['Flash On'] = '_FlashOn'; this._FlashOn = !1; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h.Flash = '_Flash'; this._Flash = !1; }; k['scripts.ActorEvents_365'] = Ur; Ur.__name__ = 'scripts.ActorEvents_365'; Ur.__super__ = n; Ur.prototype = t(n.prototype, { _FlashOn: null, _GravitySpeed: null, _Flash: null, _event_Updating: function (a) { this.wrapper.enabled && this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed)); }, _event_ExitsScene: function (a, b, d, e) { this.wrapper.enabled && e && c.recycleActor(this.actor); }, _event_EveryNsecs: function (a) { this.wrapper.enabled && this._Flash && (this._FlashOn ? ((this._FlashOn = !1), this.actor.enableActorDrawing()) : ((this._FlashOn = !0), this.actor.disableActorDrawing())); }, init: function () { var a = this; this.actor.makeAlwaysSimulate(); this._GravitySpeed = 22; c.runLater( 600, function (b) { a._Flash = !0; }, this.actor ); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener(this.actor.whenPositionStateChanged, m(this, this._event_ExitsScene)); c.runPeriodically(50, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: Ur }); var Vr = function (a, b, c) { n.call(this, b); this.nameMap.h['Ground Check'] = '_GroundCheck'; this._GroundCheck = !1; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['On Ground'] = '_OnGround'; this._OnGround = !1; this.nameMap.h['Can Make Noise'] = '_CanMakeNoise'; this._CanMakeNoise = !1; this.nameMap.h.Quicksand = '_Quicksand'; this._Quicksand = !1; this.nameMap.h['Quicksand Y'] = '_QuicksandY'; this._QuicksandY = 0; this.nameMap.h.Sink = '_Sink'; this._Sink = !1; }; k['scripts.ActorEvents_379'] = Vr; Vr.__name__ = 'scripts.ActorEvents_379'; Vr.__super__ = n; Vr.prototype = t(n.prototype, { _GroundCheck: null, _GravitySpeed: null, _OnGround: null, _CanMakeNoise: null, _Quicksand: null, _QuicksandY: null, _Sink: null, _event_Updating: function (a) { this.wrapper.enabled && (this._Quicksand ? (this.actor.setXVelocity(0), this.actor.setYVelocity(3), this.actor.getY() > this._QuicksandY + 8 && c.recycleActor(this.actor), (this._OnGround = !0)) : (this._GroundCheck ? this._OnGround || ((this._OnGround = !0), this._CanMakeNoise ? h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(117)) : (this._CanMakeNoise = !0)) : this._OnGround && (this._OnGround = !1), (this._GroundCheck = !1), 'Space' == h.engine.getGameAttribute('Stage Type') ? this.actor.setYVelocity( Math.min(this.actor.getYVelocity() + 0.9, this._GravitySpeed / 2) ) : this.actor.setYVelocity( Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed) ), 0 < this.actor.getXVelocity() ? this.actor.setXVelocity(Math.max(0, this.actor.getXVelocity() - 1)) : 0 > this.actor.getXVelocity() && this.actor.setXVelocity(Math.min(0, this.actor.getXVelocity() + 1)))); }, _event_HitsGround: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(1); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && a.thisFromBottom && (this._GroundCheck = !0); }, _event_Quicksand: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(810); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && !this._Quicksand && ((this._Quicksand = !0), this.actor.setYVelocity(0), this.actor.moveBy(0, 72, 8, v.quadInOut), (this._QuicksandY = a.otherActor.getY())); }, _event_SinkPuffs: function (a) { this.wrapper.enabled && this._Quicksand && (c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this._QuicksandY - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() - 8, this._QuicksandY - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 8, this._QuicksandY - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt')); }, init: function () { this.actor.makeAlwaysSimulate(); this._GravitySpeed = 48; this._GroundCheck = this._OnGround = !0; this._CanMakeNoise = !1; this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); this.addListener(this.actor.whenCollided, m(this, this._event_Quicksand)); c.runPeriodically(300, m(this, this._event_SinkPuffs), this.actor); }, forwardMessage: function (a) {}, __class__: Vr }); var Wr = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_38'] = Wr; Wr.__name__ = 'scripts.ActorEvents_38'; Wr.__super__ = n; Wr.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Wr }); var Xr = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_381'] = Xr; Xr.__name__ = 'scripts.ActorEvents_381'; Xr.__super__ = n; Xr.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Xr }); var Yr = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_40'] = Yr; Yr.__name__ = 'scripts.ActorEvents_40'; Yr.__super__ = n; Yr.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Yr }); var Zr = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_401'] = Zr; Zr.__name__ = 'scripts.ActorEvents_401'; Zr.__super__ = n; Zr.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Zr }); var $r = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_403'] = $r; $r.__name__ = 'scripts.ActorEvents_403'; $r.__super__ = n; $r.prototype = t(n.prototype, { _event_Updating: function (a) { if (this.wrapper.enabled && 5 == this.actor.getCurrentFrame()) { for (a = 0; 6 > a; ) a++, c.createRecycledActor( c.getActorType(94), c.randomInt( (this.actor.getXCenter() - 32) | 0, (this.actor.getXCenter() + 32) | 0 ) - 8, c.randomInt( (this.actor.getYCenter() - 32) | 0, (this.actor.getYCenter() + 32) | 0 ) - 8, 0 ), c.getLastCreatedActor().setAnimation('Smoke'); c.recycleActor(this.actor); } }, init: function () { this.actor.makeAlwaysSimulate(); c.createRecycledActorOnLayer( c.getActorType(408), this.actor.getXCenter() - 48, this.actor.getYCenter() - 48, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(0, -96, 0.6, v.backOut); c.createRecycledActorOnLayer( c.getActorType(408), this.actor.getXCenter() - 48, this.actor.getYCenter() - 48, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(0, 96, 0.6, v.backOut); c.createRecycledActorOnLayer( c.getActorType(408), this.actor.getXCenter() - 48, this.actor.getYCenter() - 48, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-96, 0, 0.6, v.backOut); c.createRecycledActorOnLayer( c.getActorType(408), this.actor.getXCenter() - 48, this.actor.getYCenter() - 48, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(96, 0, 0.6, v.backOut); for (var a = 0, b = c.getActorsOfType(c.getActorType(2)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || (this.actor.getXCenter() > d.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Cannon Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Cannon Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); } this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: $r }); var as = function (a, b, c) { n.call(this, b); this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['Times Up'] = '_TimesUp'; this._TimesUp = !1; }; k['scripts.ActorEvents_406'] = as; as.__name__ = 'scripts.ActorEvents_406'; as.__super__ = n; as.prototype = t(n.prototype, { _GravitySpeed: null, _TimesUp: null, _event_HitsGround: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(1); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && (this._TimesUp ? (c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, 16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, 16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.recycleActor(this.actor)) : a.thisFromBottom && (h.engine.getGameAttribute('Sound Disabled') || (0 <= this.actor.getYVelocity() && this.actor.isOnScreen() && c.playSound(c.getSound(414))), this.actor.setYVelocity(c.randomInt(-50, -64)))); }, _event_AfterNsecs: function (a) { this.wrapper.enabled && (this._TimesUp = !0); }, _event_EveryNsecs: function (a) { this.wrapper.enabled && this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed)); }, _event_EveryNsecs2: function (a) { this.wrapper.enabled && (c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveToBottom(), c.getLastCreatedActor().setAnimation('Smoke')); }, init: function () { this.actor.makeAlwaysSimulate(); this._GravitySpeed = c.randomInt(28, 48); this.actor.setAnimation('' + c.randomInt(1, 6)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); c.runLater(1e3, m(this, this._event_AfterNsecs), this.actor); c.runPeriodically(10, m(this, this._event_EveryNsecs), this.actor); c.runPeriodically(200, m(this, this._event_EveryNsecs2), this.actor); }, forwardMessage: function (a) {}, __class__: as }); var bs = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_408'] = bs; bs.__name__ = 'scripts.ActorEvents_408'; bs.__super__ = n; bs.prototype = t(n.prototype, { _event_Updating: function (a) { this.wrapper.enabled && 5 == this.actor.getCurrentFrame() && (c.createRecycledActor( c.getActorType(94), c.randomInt((this.actor.getXCenter() - 32) | 0, (this.actor.getXCenter() + 32) | 0) - 8, c.randomInt((this.actor.getYCenter() - 32) | 0, (this.actor.getYCenter() + 32) | 0) - 8, 0 ), c.getLastCreatedActor().setAnimation('Smoke'), c.createRecycledActor( c.getActorType(94), c.randomInt((this.actor.getXCenter() - 32) | 0, (this.actor.getXCenter() + 32) | 0) - 8, c.randomInt((this.actor.getYCenter() - 32) | 0, (this.actor.getYCenter() + 32) | 0) - 8, 0 ), c.getLastCreatedActor().setAnimation('Smoke'), c.createRecycledActor( c.getActorType(94), c.randomInt((this.actor.getXCenter() - 32) | 0, (this.actor.getXCenter() + 32) | 0) - 8, c.randomInt((this.actor.getYCenter() - 32) | 0, (this.actor.getYCenter() + 32) | 0) - 8, 0 ), c.getLastCreatedActor().setAnimation('Smoke'), c.createRecycledActor( c.getActorType(94), c.randomInt((this.actor.getXCenter() - 32) | 0, (this.actor.getXCenter() + 32) | 0) - 8, c.randomInt((this.actor.getYCenter() - 32) | 0, (this.actor.getYCenter() + 32) | 0) - 8, 0 ), c.getLastCreatedActor().setAnimation('Smoke'), c.recycleActor(this.actor)); }, init: function () { this.actor.makeAlwaysSimulate(); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: bs }); var cs = function (a, b, c) { n.call(this, b); this.nameMap.h.Springing = '_Springing'; this._Springing = !1; }; k['scripts.ActorEvents_410'] = cs; cs.__name__ = 'scripts.ActorEvents_410'; cs.__super__ = n; cs.prototype = t(n.prototype, { _Springing: null, _event_HitsDude: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(2); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && (a.otherActor.setYVelocity(-56), this._Springing || ((this._Springing = !0), a.otherActor.setValue('Dude Logic', '_Springing', !0), a.otherActor.setValue('Dude Logic', '_CanDoubleJump', !0), this.actor.setFilter([c.createBrightnessFilter(100)]), c.setValueForScene('Stage Logic', '_RumbleName', 'Balloon'), c.sayToScene('Stage Logic', '_customEvent_rumble'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(412)), c.runLater( 100, function (a) { c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-16, -16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(16, -16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-16, 16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(16, 16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); b.actor.setAnimation('Hidden'); b.actor.clearFilters(); c.runLater( 100, function (a) { b._Springing = !1; c.runLater( 2e3, function (a) { b.actor.setAnimation('Appear'); }, b.actor ); }, b.actor ); }, this.actor ))); }, _event_Updating: function (a) { this.wrapper.enabled && 'Appear' == this.actor.getAnimation() && 5 == this.actor.getCurrentFrame() && this.actor.setAnimation('Normal'); }, init: function () { this.addListener(this.actor.whenCollided, m(this, this._event_HitsDude)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: cs }); var ds = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_417'] = ds; ds.__name__ = 'scripts.ActorEvents_417'; ds.__super__ = n; ds.prototype = t(n.prototype, { init: function () { this.actor.disableActorDrawing(); }, forwardMessage: function (a) {}, __class__: ds }); var es = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_42'] = es; es.__name__ = 'scripts.ActorEvents_42'; es.__super__ = n; es.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: es }); var fs = function (a, b, c) { n.call(this, b); this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['Times Up'] = '_TimesUp'; this._TimesUp = !1; }; k['scripts.ActorEvents_425'] = fs; fs.__name__ = 'scripts.ActorEvents_425'; fs.__super__ = n; fs.prototype = t(n.prototype, { _GravitySpeed: null, _TimesUp: null, _event_HitsGround: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(1); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && (this._TimesUp ? (h.engine.getGameAttribute('Sound Disabled') || (this.actor.isOnScreen() && c.playSound(c.getSound(429))), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, 16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, 16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.recycleActor(this.actor)) : a.thisFromBottom && (h.engine.getGameAttribute('Sound Disabled') || (0 <= this.actor.getYVelocity() && this.actor.isOnScreen() && c.playSound(c.getSound(429))), this.actor.setYVelocity(c.randomInt(-50, -64)))); }, _event_AfterNsecs: function (a) { this.wrapper.enabled && (this._TimesUp = !0); }, _event_EveryNsecs: function (a) { this.wrapper.enabled && this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed)); }, init: function () { this.actor.makeAlwaysSimulate(); this._GravitySpeed = c.randomInt(28, 48); this.actor.setAnimation('' + c.randomInt(1, 4)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); c.runLater( 1e3 * (c.randomInt(100, 300) / 100), m(this, this._event_AfterNsecs), this.actor ); c.runPeriodically(10, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: fs }); var gs = function (a, b, c) { n.call(this, b); this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['Times Up'] = '_TimesUp'; this._TimesUp = !1; this.nameMap.h.Dead = '_Dead'; this._Dead = !1; }; k['scripts.ActorEvents_427'] = gs; gs.__name__ = 'scripts.ActorEvents_427'; gs.__super__ = n; gs.prototype = t(n.prototype, { _GravitySpeed: null, _TimesUp: null, _Dead: null, _event_HitsGround: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorGroup(1); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && !this._Dead && a.thisFromBottom && (this.actor.setXVelocity(0), (this._Dead = !0), h.engine.getGameAttribute('Sound Disabled') || (this.actor.isOnScreen() && c.playSound(c.getSound(221))), this.actor.growTo(0, 0, 0.3, v.quadInOut), c.runLater( 300, function (a) { c.recycleActor(b.actor); }, this.actor )); }, _event_EveryNsecs: function (a) { this.wrapper.enabled && this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed)); }, init: function () { this.actor.makeAlwaysSimulate(); this._GravitySpeed = c.randomInt(28, 48); this.actor.setAnimation('' + c.randomInt(1, 2)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); c.runPeriodically(10, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: gs }); var hs = function (a, b, c) { n.call(this, b); this.nameMap.h.Sweat = '_Sweat'; this._Sweat = !1; this.nameMap.h.Sleep = '_Sleep'; this._Sleep = !1; this.nameMap.h['Snooze Z List'] = '_SnoozeZList'; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h.Exclamation = '_Exclamation'; this.nameMap.h['No Gravity'] = '_NoGravity'; this._NoGravity = !0; this.nameMap.h.Jumping = '_Jumping'; this._Jumping = !1; this.nameMap.h.Snore = '_Snore'; this._Snore = !1; this.nameMap.h.Shadow = '_Shadow'; this.nameMap.h.Ending = '_Ending'; this._Ending = !1; this.nameMap.h['Ending Stopped'] = '_EndingStopped'; this._EndingStopped = !1; this.nameMap.h['Possum Sprite'] = '_PossumSprite'; this.nameMap.h['Baby List'] = '_BabyList'; this.nameMap.h.Dude = '_Dude'; this.nameMap.h['Pile Cap'] = '_PileCap'; this._PileCap = 0; this.nameMap.h['Pile Left'] = '_PileLeft'; this._PileLeft = !1; this.nameMap.h['Pile Count'] = '_PileCount'; this._PileCount = 0; this.nameMap.h['Pile Space Size'] = '_PileSpaceSize'; this._PileSpaceSize = 0; this.nameMap.h.Burgurgular = '_Burgurgular'; }; k['scripts.ActorEvents_431'] = hs; hs.__name__ = 'scripts.ActorEvents_431'; hs.__super__ = n; hs.prototype = t(n.prototype, { _Sweat: null, _Sleep: null, _SnoozeZList: null, _GravitySpeed: null, _Exclamation: null, _NoGravity: null, _Jumping: null, _Snore: null, _Shadow: null, _Ending: null, _EndingStopped: null, _PossumSprite: null, _BabyList: null, _Dude: null, _PileCap: null, _PileLeft: null, _PileCount: null, _PileSpaceSize: null, _Burgurgular: null, _event_Updating: function (a) { if (this.wrapper.enabled) { a = this._Exclamation; if (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) this._Exclamation.setX(this.actor.getXCenter() - 14), this._Exclamation.setY(this.actor.getY() - 28); h.engine.getGameAttribute('Possum Mode') ? ((a = this._PossumSprite), (a = c.isPrimitive(a) ? !0 : 'string' == typeof a ? '' != w.__cast(a, String) : null != a)) : (a = !1); a && (this._PossumSprite.setX(this.actor.getX()), this._PossumSprite.setY(this.actor.getY() - 2), this._PossumSprite.getAnimation() != this.actor.getAnimation() && this._PossumSprite.setAnimation(this.actor.getAnimation())); } }, _event_Sweat: function (a) { this.wrapper.enabled && this._Sweat && (0 < this.actor.getXVelocity() ? (c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 4, this.actor.getY() + 4, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Sweat')) : 0 > this.actor.getXVelocity() && (c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 4, this.actor.getY() + 4, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Sweat'))); }, _event_Sleeping: function (a) { this.wrapper.enabled && 'Sleep' == this.actor.getAnimation() && (c.createRecycledActor( c.getActorType(127), this.actor.getXCenter() - 12, this.actor.getY(), 0 ), this._SnoozeZList.push(c.getLastCreatedActor()), this._Snore ? (this._Snore = !1) : ((this._Snore = !0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(454)))); }, _event_ActorGroup: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(1); var d = a.otherActor.getType(); a = a.otherActor.getGroup(); b = b == d || b == a; } else b = !1; b && 0 < this.actor.getYVelocity() && this._Jumping && ((this._Jumping = !1), this.actor.setAnimation('Walk Right'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(117)), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut)); }, _event_SnoozeZKilled: function (a) { this.wrapper.enabled && W.contains(this._SnoozeZList, a) && C.remove(this._SnoozeZList, a); }, _event_Gravity: function (a) { this.wrapper.enabled && (this._NoGravity || this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed))); }, _customEvent_Emerge: function () { var a = this; this._PileCap = 12; this._BabyList = []; for (var b = 0, d = c.getActorsOfType(c.getActorType(433)); b < d.length; ) { var e = d[b]; ++b; null == e || e.dead || e.recycled || this._BabyList.push(e); } this.actor.setAnimation('Emerge'); this.actor.moveBy(0, -64, 0.3, v.backOut); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(119)); c.runLater( 300, function (b) { a._NoGravity = !1; a.actor.setAnimation('Idle Left'); }, this.actor ); c.runLater( 2500, function (b) { a.actor.setAnimation('Look Up'); c.createRecycledActor( c.getActorType(131), a.actor.getXCenter() - 14, a.actor.getY() - 28, 0 ); c.getLastCreatedActor().setAnimation('Question'); a._Exclamation = c.getLastCreatedActor(); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(181)); c.runLater( 1400, function (b) { c.recycleActor(a._Exclamation); a.actor.setAnimation('Duck'); b = 0; for (var d = a._BabyList.length; b < d; ) { var e = [b++]; c.runLater( 200 * e[0], (function (b) { return function (d) { a._PileSpaceSize = 28; a._BabyList[b[0]].setY(c.getScreenY() - 64); a._BabyList[b[0]].setYVelocity(30); a._PileLeft ? a._BabyList[b[0]].setX( a.actor.getX() + (a._PileCap * a._PileSpaceSize) / 2 - a._PileCount * a._PileSpaceSize ) : a._BabyList[b[0]].setX( a.actor.getX() - (a._PileCap * a._PileSpaceSize) / 2 + a._PileCount * a._PileSpaceSize ); a._PileCount < a._PileCap ? (a._PileCount += 1) : ((a._PileCap = Math.max(2, a._PileCap - 2)), (a._PileCount = 0), (a._PileLeft = a._PileLeft ? !1 : !0)); }; })(e), a.actor ); } c.runLater( 12e3, function (b) { b = 0; for (var d = c.getActorsOfType(c.getActorType(433)); b < d.length; ) { var e = d[b]; ++b; null == e || e.dead || e.recycled || (e.setAngle(0), e.setFriction(0), c.createRecycledActorOnLayer( c.getActorType(1058), e.getX(), e.getY(), c.engine.getLayerById(e.getLayerID()) ), e.getX() + e.getWidth() / 2 < c.getScreenXCenter() ? c .getLastCreatedActor() .setAnimation( '' + z.string(e.getValue('Cutscene Baby Logic', '_Colour')) + ' Left' ) : c .getLastCreatedActor() .setAnimation( '' + z.string(e.getValue('Cutscene Baby Logic', '_Colour')) + ' Right' ), c.recycleActor(e)); } a.actor.setAnimation('Idle Left'); a._NoGravity = !1; c.runLater( 2e3, function (b) { a.actor.setFriction(0); a.actor.setAnimation('Walk Left'); a.actor.setXVelocity(-70); b = 0; for (var d = c.getActorsOfType(c.getActorType(1008)); b < d.length; ) { var e = d[b]; ++b; null == e || e.dead || e.recycled || (a._Burgurgular = e); } a._Burgurgular.setAngularVelocity(0); a._Burgurgular.setAngle(0); a._Burgurgular.setX(c.getScreenXCenter() - 48); a._Burgurgular.setY(c.getScreenY() - 160); a._Burgurgular.setYVelocity(30); }, a.actor ); }, a.actor ); }, a.actor ); }, this.actor ); }, _customEvent_Sleep: function () { this.actor.setAnimation('Sleep'); this._Sleep = !0; }, _customEvent_Wake: function () { for (var a = this, b = 0, d = c.getActorsOfType(c.getActorType(127)); b < d.length; ) { var e = d[b]; ++b; null == e || e.dead || e.recycled || c.recycleActor(e); } this._Sleep = !1; this.actor.setAnimation('Idle Right'); c.createRecycledActor( c.getActorType(131), this.actor.getXCenter() - 14, this.actor.getY() - 28, 0 ); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(181)); this._Exclamation = c.getLastCreatedActor(); c.runLater( 700, function (b) { a.actor.setYVelocity(-20); a._NoGravity = !1; c.runLater( 400, function (b) { c.recycleActor(a._Exclamation); a.actor.setAnimation('Walk Right'); a.actor.setXVelocity(30); }, a.actor ); }, this.actor ); }, _customEvent_Confuse: function () { var a = this; this.actor.setAnimation('Idle Right'); this._NoGravity = !1; c.createRecycledActor( c.getActorType(131), this.actor.getXCenter() - 14, this.actor.getY() - 28, 0 ); c.getLastCreatedActor().setAnimation('Question'); this._Exclamation = c.getLastCreatedActor(); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(181)); this.actor.setYVelocity(-20); c.runLater( 1400, function (b) { c.runLater( 400, function (b) { c.recycleActor(a._Exclamation); a.actor.setAnimation('Walk Left'); a.actor.setXVelocity(-20); }, a.actor ); }, this.actor ); }, init: function () { this.actor.makeAlwaysSimulate(); this._SnoozeZList = []; this._GravitySpeed = 48; h.engine.getGameAttribute('Possum Mode') && (c.createRecycledActorOnLayer( c.getActorType(1085), this.actor.getX(), this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ), (this._PossumSprite = c.getLastCreatedActor()), this.actor.disableActorDrawing()); 'Office Cutscene' == c.getCurrentSceneName() && this.actor.shout('_customEvent_Sleep'); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); c.runPeriodically(500, m(this, this._event_Sweat), this.actor); c.runPeriodically(700, m(this, this._event_Sleeping), this.actor); this.addListener(this.actor.whenCollided, m(this, this._event_ActorGroup)); this.addListenerWithKey( c.engine.whenTypeGroupKilledEvents, c.getActorType(127), m(this, this._event_SnoozeZKilled) ); this.addListener(this.actor.whenUpdated, m(this, this._event_Gravity)); }, forwardMessage: function (a) {}, __class__: hs }); var is = function (a, b, c) { n.call(this, b); this.nameMap.h.Bounce = '_Bounce'; this._Bounce = !1; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['Back and Forth'] = '_BackandForth'; this._BackandForth = !1; }; k['scripts.ActorEvents_433'] = is; is.__name__ = 'scripts.ActorEvents_433'; is.__super__ = n; is.prototype = t(n.prototype, { _Bounce: null, _GravitySpeed: null, _BackandForth: null, init: function () {}, forwardMessage: function (a) {}, __class__: is }); var js = function (a, b, c) { n.call(this, b); this.nameMap.h.Hidden = '_Hidden'; this._Hidden = !1; }; k['scripts.ActorEvents_435'] = js; js.__name__ = 'scripts.ActorEvents_435'; js.__super__ = n; js.prototype = t(n.prototype, { _Hidden: null, init: function () { this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: js }); var ks = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_437'] = ks; ks.__name__ = 'scripts.ActorEvents_437'; ks.__super__ = n; ks.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); Q.setScale('width', c.getScreenWidth() + 10, this.actor); Q.setScale('height', c.getScreenHeight() / 2 + 5, this.actor); }, forwardMessage: function (a) {}, __class__: ks }); var ls = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_439'] = ls; ls.__name__ = 'scripts.ActorEvents_439'; ls.__super__ = n; ls.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: ls }); var ms = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_44'] = ms; ms.__name__ = 'scripts.ActorEvents_44'; ms.__super__ = n; ms.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: ms }); var ns = function (a, b, c) { n.call(this, b); this.nameMap.h.Springing = '_Springing'; this._Springing = !1; }; k['scripts.ActorEvents_452'] = ns; ns.__name__ = 'scripts.ActorEvents_452'; ns.__super__ = n; ns.prototype = t(n.prototype, { _Springing: null, init: function () { this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: ns }); var os = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_455'] = os; os.__name__ = 'scripts.ActorEvents_455'; os.__super__ = n; os.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); this.actor.disableActorDrawing(); }, forwardMessage: function (a) {}, __class__: os }); var ps = function (a, b, c) { n.call(this, b); this.nameMap.h['Snooze Z List'] = '_SnoozeZList'; this.nameMap.h.Snore = '_Snore'; this._Snore = !1; this.nameMap.h.Fall = '_Fall'; this._Fall = !1; this.nameMap.h.Yawned = '_Yawned'; this._Yawned = !1; this.nameMap.h['Blink 1'] = '_Blink1'; this._Blink1 = !1; this.nameMap.h['Blink 2'] = '_Blink2'; this._Blink2 = !1; this.nameMap.h.Stretch = '_Stretch'; this._Stretch = !1; this.nameMap.h['Z Count'] = '_ZCount'; this._ZCount = 0; }; k['scripts.ActorEvents_457'] = ps; ps.__name__ = 'scripts.ActorEvents_457'; ps.__super__ = n; ps.prototype = t(n.prototype, { _SnoozeZList: null, _Snore: null, _Fall: null, _Yawned: null, _Blink1: null, _Blink2: null, _Stretch: null, _ZCount: null, _event_Sleeping: function (a) { !this.wrapper.enabled || ('Sleep' != this.actor.getAnimation() && 'Hidden' != this.actor.getAnimation()) || (c.createRecycledActor( c.getActorType(463), this.actor.getXCenter() - 24, this.actor.getY() + 24, 0 ), this._SnoozeZList.push(c.getLastCreatedActor()), c.getLastCreatedActor().setCurrentFrame(this._ZCount | 0), (this._ZCount = Math.min(this._ZCount + 4, 22)), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(454))); }, _event_Updating: function (a) { var b = this; if ( this.wrapper.enabled && ('Wake Up' == this.actor.getAnimation() && 26 <= this.actor.getCurrentFrame() && !this._Stretch && ((this._Stretch = !0), h.engine.getGameAttribute('Sound Disabled') || c.playSoundOnChannel(c.getSound(472), 15)), 'Wake Up' == this.actor.getAnimation() && 4 <= this.actor.getCurrentFrame() && !this._Blink1 && ((this._Blink1 = !0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(471))), 'Wake Up' == this.actor.getAnimation() && 9 <= this.actor.getCurrentFrame() && !this._Blink2 && ((this._Blink2 = !0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(471))), 'Wake Up' == this.actor.getAnimation() && 15 <= this.actor.getCurrentFrame() && !this._Yawned && ((this._Yawned = !0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(470))), 'Wake Up' == this.actor.getAnimation() && 33 == this.actor.getCurrentFrame()) ) { h.engine.getGameAttribute('Sound Disabled') || c.playSoundOnChannel(c.getSound(109), 15); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8 - 32, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveToBottom(); c.getLastCreatedActor().moveBy(-64, -64, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8 + 32, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveToBottom(); c.getLastCreatedActor().moveBy(64, -64, 0.3, v.backOut); this.actor.setAnimation('Jump'); this.actor.moveBy(0, -96, 0.3, v.quadOut); a = 0; for (var d = c.getActorsOfType(c.getActorType(467)); a < d.length; ) { var e = d[a]; ++a; null == e || e.dead || e.recycled || (e.getX() > this.actor.getXCenter() ? e.moveBy(96, -36, 0.6, v.backOut) : e.moveBy(-96, -36, 0.6, v.backOut)); } a = 0; for (d = c.getActorsOfType(c.getActorType(459)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.moveToBottom(); a = 0; for (d = c.getActorsOfType(c.getActorType(461)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.moveToBottom(); a = 0; for (d = c.getActorsOfType(c.getActorType(465)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.setAnimation('Shrink'); c.runLater( 400, function (a) { b._Fall = !0; c.runLater( 100, function (a) { h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(118)); }, b.actor ); }, this.actor ); } }, _event_EveryNsecs: function (a) { this.wrapper.enabled && this._Fall && this.actor.setYVelocity(Math.min(128, this.actor.getYVelocity() + 6)); }, init: function () { this.actor.makeAlwaysSimulate(); this._SnoozeZList = []; c.createRecycledActor( c.getActorType(463), this.actor.getXCenter() - 24, this.actor.getY() + 24, 0 ); this._SnoozeZList.push(c.getLastCreatedActor()); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(454)); c.runPeriodically(1300, m(this, this._event_Sleeping), this.actor); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); c.runPeriodically(10, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: ps }); var qs = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_459'] = qs; qs.__name__ = 'scripts.ActorEvents_459'; qs.__super__ = n; qs.prototype = t(n.prototype, { _event_Updating: function (a) { if (this.wrapper.enabled) { if ('Open' == this.actor.getAnimation() && 3 == this.actor.getCurrentFrame()) { c.createRecycledActor(c.getActorType(14), 0, 0, 0); this.actor.setAnimation('On'); a = 0; for (var b = c.getActorsOfType(c.getActorType(457)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || (c.createRecycledActor(c.getActorType(467), d.getX() - 36, d.getY() - 18, 0), c.createRecycledActor(c.getActorType(467), d.getX() - 38, d.getY() + 68, 0), c.createRecycledActor(c.getActorType(467), d.getX() - 48, d.getY() + 102, 0), c.createRecycledActor(c.getActorType(467), d.getX() + 8, d.getY() + 34, 0), c.createRecycledActor(c.getActorType(467), d.getX() + 6, d.getY() + 110, 0), c.createRecycledActor(c.getActorType(467), d.getX() + 48, d.getY() + 74, 0), c.createRecycledActor(c.getActorType(467), d.getX() + 82, d.getY() + 38, 0), c.createRecycledActor(c.getActorType(467), d.getX() + 106, d.getY() + 98, 0), c.createRecycledActor(c.getActorType(467), d.getX() + 120, d.getY() + 10, 0), c.createRecycledActor(c.getActorType(467), d.getX() + 166, d.getY() + 6, 0), c.createRecycledActor(c.getActorType(467), d.getX() + 172, d.getY() + 62, 0), c.createRecycledActor(c.getActorType(467), d.getX() + 190, d.getY() + 74, 0)); } } 'Close' == this.actor.getAnimation() && 5 == this.actor.getCurrentFrame() && c.recycleActor(this.actor); } }, init: function () { this.actor.makeAlwaysSimulate(); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(469)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: qs }); var rs = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_46'] = rs; rs.__name__ = 'scripts.ActorEvents_46'; rs.__super__ = n; rs.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: rs }); var ss = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_461'] = ss; ss.__name__ = 'scripts.ActorEvents_461'; ss.__super__ = n; ss.prototype = t(n.prototype, { _event_Updating: function (a) { this.wrapper.enabled && ('Open' == this.actor.getAnimation() && 3 == this.actor.getCurrentFrame() && this.actor.setAnimation('On'), 'Close' == this.actor.getAnimation() && 5 == this.actor.getCurrentFrame() && c.recycleActor(this.actor)); }, init: function () { this.actor.makeAlwaysSimulate(); for (var a = 0, b = c.getActorsOfType(c.getActorType(457)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || (d.setAnimation('Sleep'), c.createRecycledActor(c.getActorType(465), d.getX() + 26, d.getY() + 132, 0), c.getLastCreatedActor().moveToBottom(), this.actor.moveToBottom()); } this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: ss }); var ts = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_463'] = ts; ts.__name__ = 'scripts.ActorEvents_463'; ts.__super__ = n; ts.prototype = t(n.prototype, { init: function () { var a = this; this.actor.makeAlwaysSimulate(); this.actor.moveBy(0, -96, 2.6, v.linear); c.runLater( 2600, function (b) { c.recycleActor(a.actor); }, this.actor ); }, forwardMessage: function (a) {}, __class__: ts }); var us = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_465'] = us; us.__name__ = 'scripts.ActorEvents_465'; us.__super__ = n; us.prototype = t(n.prototype, { _event_Updating: function (a) { this.wrapper.enabled && 'Shrink' == this.actor.getAnimation() && 3 == this.actor.getCurrentFrame() && c.recycleActor(this.actor); }, init: function () { this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: us }); var vs = function (a, b, c) { n.call(this, b); this.nameMap.h['Hover Distance'] = '_HoverDistance'; this._HoverDistance = 0; this.nameMap.h.Up = '_Up'; this._Up = !1; this.nameMap.h['Distance From Center'] = '_DistanceFromCenter'; this._DistanceFromCenter = 0; }; k['scripts.ActorEvents_467'] = vs; vs.__name__ = 'scripts.ActorEvents_467'; vs.__super__ = n; vs.prototype = t(n.prototype, { _HoverDistance: null, _Up: null, _DistanceFromCenter: null, _event_EveryNsecs: function (a) { this.wrapper.enabled && ((this._DistanceFromCenter = Math.max(this.actor.getX(), c.getScreenWidth() / 2) - Math.min(this.actor.getX(), c.getScreenWidth() / 2)), 200 < this._DistanceFromCenter ? '5' != this.actor.getAnimation() && this.actor.setAnimation('5') : 160 < this._DistanceFromCenter ? '4' != this.actor.getAnimation() && this.actor.setAnimation('4') : 120 < this._DistanceFromCenter ? '3' != this.actor.getAnimation() && this.actor.setAnimation('3') : 80 < this._DistanceFromCenter && '2' != this.actor.getAnimation() && this.actor.setAnimation('2')); }, _customEvent_Move: function () { var a = this; this._Up ? (this.actor.moveBy( -this._HoverDistance / 2, -this._HoverDistance / 2, 0.5, v.quadInOut ), c.runLater( 500, function (b) { a.actor.moveBy(-a._HoverDistance / 2, a._HoverDistance / 2, 0.5, v.quadInOut); }, this.actor ), (this._Up = !1), c.runLater( 1e3, function (b) { a.actor.shout('_customEvent_Move'); }, this.actor )) : (this.actor.moveBy( this._HoverDistance / 2, this._HoverDistance / 2, 0.5, v.quadInOut ), c.runLater( 500, function (b) { a.actor.moveBy(a._HoverDistance / 2, -(a._HoverDistance / 2), 0.5, v.quadInOut); }, this.actor ), (this._Up = !0), c.runLater( 1e3, function (b) { a.actor.shout('_customEvent_Move'); }, this.actor )); }, init: function () { this._HoverDistance = 16; for (var a = 0, b = c.getActorsOfType(c.getActorType(467)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || (this._Up = this._Up ? !1 : !0); } this.actor.shout('_customEvent_Move'); c.runPeriodically(100, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: vs }); var ws = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_477'] = ws; ws.__name__ = 'scripts.ActorEvents_477'; ws.__super__ = n; ws.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: ws }); var xs = function (a, b, c) { n.call(this, b); this.nameMap.h['Shake Image'] = '_ShakeImage'; this.nameMap.h['Shake Image Instance'] = '_ShakeImageInstance'; this.nameMap.h.Shake = '_Shake'; this._Shake = !1; this.nameMap.h['Shake Count'] = '_ShakeCount'; this._ShakeCount = 0; this.nameMap.h.Left = '_Left'; this._Left = !1; }; k['scripts.ActorEvents_48'] = xs; xs.__name__ = 'scripts.ActorEvents_48'; xs.__super__ = n; xs.prototype = t(n.prototype, { _ShakeImage: null, _ShakeImageInstance: null, _Shake: null, _ShakeCount: null, _Left: null, _event_EveryNsecs: function (a) { this.wrapper.enabled && this._Shake && (c.attachImageToActor( this._ShakeImageInstance, this.actor, (-2 + this._ShakeCount) | 0, 0, 1 ), 6 != this._ShakeCount || this._Left ? 0 == this._ShakeCount && this._Left && (this._Left = !1) : (this._Left = !0), (this._ShakeCount = this._Left ? this._ShakeCount - 2 : this._ShakeCount + 2)); }, _event_HitsDude: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(2); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && a.thisFromTop && !this._Shake && ((this._Shake = !0), c.setValueForScene('Stage Logic', '_RumbleName', 'Crumble'), c.sayToScene('Stage Logic', '_customEvent_rumble'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(106)), c.runLater( 700, function (a) { b.actor.setFilter([c.createBrightnessFilter(100)]); }, this.actor ), c.runLater( 800, function (a) { h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(108)); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Dirt'); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Dirt'); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-32, 32, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Dirt'); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(32, 32, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Dirt'); c.recycleActor(b.actor); }, this.actor )); }, _event_HitsCrate: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(32); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && a.thisFromTop && !this._Shake && ((this._Shake = !0), c.setValueForScene('Stage Logic', '_RumbleName', 'Crumble'), c.sayToScene('Stage Logic', '_customEvent_rumble'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(106)), c.runLater( 700, function (a) { b.actor.setFilter([c.createBrightnessFilter(100)]); }, this.actor ), c.runLater( 800, function (a) { h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(108)); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Dirt'); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Dirt'); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-32, 32, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Dirt'); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(32, 32, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Dirt'); c.recycleActor(b.actor); }, this.actor )); }, init: function () { this._ShakeImage = c.getImageForActor(this.actor); this._ShakeImageInstance = new rf(new rc(this._ShakeImage)); this.actor.disableActorDrawing(); c.attachImageToActor(this._ShakeImageInstance, this.actor, 0, 0, 1); c.runPeriodically(20, m(this, this._event_EveryNsecs), this.actor); this.addListener(this.actor.whenCollided, m(this, this._event_HitsDude)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsCrate)); }, forwardMessage: function (a) {}, __class__: xs }); var ys = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_50'] = ys; ys.__name__ = 'scripts.ActorEvents_50'; ys.__super__ = n; ys.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: ys }); var zs = function (a, b, c) { n.call(this, b); this.nameMap.h.Dude = '_Dude'; this.nameMap.h['Follow Dude'] = '_FollowDude'; this._FollowDude = !1; this.nameMap.h.Up = '_Up'; this._Up = !1; this.nameMap.h.Possum = '_Possum'; this.nameMap.h['Top Letterbox'] = '_TopLetterbox'; this.nameMap.h['Bottom Letterbox'] = '_BottomLetterbox'; this.nameMap.h['Show Possum Text'] = '_ShowPossumText'; this._ShowPossumText = !1; this.nameMap.h['Birds Go'] = '_BirdsGo'; this._BirdsGo = !1; this.nameMap.h['Birds Go 2'] = '_BirdsGo2'; this._BirdsGo2 = !1; this.nameMap.h['At End'] = '_AtEnd'; this._AtEnd = !1; this.nameMap.h['Dude Hit Ground'] = '_DudeHitGround'; this._DudeHitGround = !1; }; k['scripts.ActorEvents_514'] = zs; zs.__name__ = 'scripts.ActorEvents_514'; zs.__super__ = n; zs.prototype = t(n.prototype, { _Dude: null, _FollowDude: null, _Up: null, _Possum: null, _TopLetterbox: null, _BottomLetterbox: null, _ShowPossumText: null, _BirdsGo: null, _BirdsGo2: null, _AtEnd: null, _DudeHitGround: null, _event_Updating: function (a) { this.wrapper.enabled && c.engine.moveCamera(this.actor.getX(), this.actor.getY()); }, _event_Updating2: function (a) { var b = this; if (this.wrapper.enabled) { a = this._Dude; (!c.isPrimitive(a) && ('string' == typeof a ? '' == w.__cast(a, String) : null == a)) || this._AtEnd || (this._Dude.getXCenter() > this.actor.getXCenter() ? this.actor.setX(this.actor.getX() + 1) : this._Dude.getXCenter() < this.actor.getXCenter() && this.actor.setX(this.actor.getX() - 1)); !this._BirdsGo && 8500 < this.actor.getY() && ((this._BirdsGo = !0), c.runLater( 100, function (a) { c.createRecycledActor( c.getActorType(1038), c.getScreenX() + c.getScreenWidth(), c.getScreenY() + c.getScreenHeight(), 0 ); }, this.actor ), c.runLater( 200, function (a) { c.createRecycledActor( c.getActorType(1038), c.getScreenX() + c.getScreenWidth() + 32, c.getScreenY() + c.getScreenHeight() + 32, 0 ); }, this.actor ), c.runLater( 300, function (a) { c.createRecycledActor( c.getActorType(1038), c.getScreenX() + c.getScreenWidth() + 64, c.getScreenY() + c.getScreenHeight() - 32, 0 ); }, this.actor ), c.runLater( 400, function (a) { c.createRecycledActor( c.getActorType(1038), c.getScreenX() + c.getScreenWidth() + 96, c.getScreenY() + c.getScreenHeight(), 0 ); }, this.actor )); !this._BirdsGo2 && 9200 < this.actor.getY() && ((this._BirdsGo2 = !0), c.runLater( 100, function (a) { c.createRecycledActor( c.getActorType(1038), c.getScreenX() + c.getScreenWidth(), c.getScreenY() + c.getScreenHeight(), 0 ); }, this.actor ), c.runLater( 200, function (a) { c.createRecycledActor( c.getActorType(1038), c.getScreenX() + c.getScreenWidth() + 32, c.getScreenY() + c.getScreenHeight() + 32, 0 ); }, this.actor ), c.runLater( 300, function (a) { c.createRecycledActor( c.getActorType(1038), c.getScreenX() + c.getScreenWidth() + 64, c.getScreenY() + c.getScreenHeight() - 32, 0 ); }, this.actor ), c.runLater( 400, function (a) { c.createRecycledActor( c.getActorType(1038), c.getScreenX() + c.getScreenWidth() + 96, c.getScreenY() + c.getScreenHeight(), 0 ); }, this.actor )); if (9900 < this.actor.getY() && !this._AtEnd) { this._AtEnd = !0; this.actor.setYVelocity(0); a = 0; for (var d = c.getActorsOfType(c.getActorType(1042)); a < d.length; ) { var e = d[a]; ++a; null == e || e.dead || e.recycled || e.setYVelocity(-6); } a = 0; for (d = c.getActorsOfType(c.getActorType(431)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (this._Dude = e); this._Dude.setY(c.getScreenY() - 64); this._Dude.setYVelocity(30); } a = this._Dude; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && 9988 < this._Dude.getY() && !this._DudeHitGround && ((this._DudeHitGround = !0), this._Dude.setAngle(0), this._Dude.setAngularVelocity(0), this._Dude.setY(9988), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(117)), c.startShakingScreen(0.02, 0.1), this._Dude.setAnimation('Under Ground'), c.createRecycledActorOnLayer( c.getActorType(94), this._Dude.getXCenter() - 8, this._Dude.getYCenter() - 8, c.engine.getLayerById(this._Dude.getLayerID()) ), c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt'), c.createRecycledActorOnLayer( c.getActorType(94), this._Dude.getXCenter() - 8, this._Dude.getYCenter() - 8, c.engine.getLayerById(this._Dude.getLayerID()) ), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt'), c.createRecycledActorOnLayer( c.getActorType(94), this._Dude.getXCenter() - 8, this._Dude.getYCenter() - 8, c.engine.getLayerById(this._Dude.getLayerID()) ), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt'), this._Dude.setYVelocity(0), c.runLater( 1e3, function (a) { b._Dude.shout('_customEvent_Emerge'); }, this.actor )); } }, _customEvent_Up: function () { var a = this; this._Up || ((this._Up = !0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(176)), c.createRecycledActorOnLayer( c.getActorType(517), this.actor.getX() - 94 + 8, this.actor.getY() - (c.getScreenHeight() + c.getScreenHeight() / 2 + 136), c.engine.getLayerById(19) ), (this._Possum = c.getLastCreatedActor()), c.runLater( 2900, function (b) { a.actor.moveBy(0, -(c.getScreenHeight() + c.getScreenHeight() / 2), 5, v.quadInOut); c.runLater( 4300, function (b) { c.createRecycledActorOnLayer( c.getActorType(519), a._Possum.getXCenter() - 63, c.getScreenY() - 48, c.engine.getLayerById(19) ); c.getLastCreatedActor().moveToTop(); c.getLastCreatedActor().moveTo( c.getLastCreatedActor().getX(), a._Possum.getY() + (a._Possum.getHeight() + 24), 1, v.backOut ); c.runLater( 200, function (b) { c.createRecycledActorOnLayer( c.getActorType(519), a._Possum.getXCenter() - 63, c.getScreenY() - 48, c.engine.getLayerById(19) ); c.getLastCreatedActor().moveToTop(); c.getLastCreatedActor().setAnimation('N'); c.getLastCreatedActor().moveTo( c.getLastCreatedActor().getX(), a._Possum.getY() + (a._Possum.getHeight() + 24), 1, v.backOut ); }, a.actor ); c.runLater( 400, function (b) { c.createRecycledActorOnLayer( c.getActorType(519), a._Possum.getXCenter() - 63, c.getScreenY() - 48, c.engine.getLayerById(19) ); c.getLastCreatedActor().moveToTop(); c.getLastCreatedActor().setAnimation('D'); c.getLastCreatedActor().moveTo( c.getLastCreatedActor().getX(), a._Possum.getY() + (a._Possum.getHeight() + 24), 1, v.backOut ); }, a.actor ); c.runLater( 4e3, function (b) { a._Possum.setAnimation('Screech'); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(442)); c.runLater( 400, function (b) { a._Possum.setAnimation('Normal'); }, a.actor ); c.runLater( 6e3, function (b) { c.createRecycledActor( c.getActorType(437), c.getScreenX() - 5, c.getScreenY() - 5 - c.getScreenHeight() / 2, 0 ); a._TopLetterbox = c.getLastCreatedActor(); c.createRecycledActor( c.getActorType(437), c.getScreenX() - 5, c.getScreenY() + c.getScreenHeight() / 2 + c.getScreenHeight() / 2, 0 ); a._BottomLetterbox = c.getLastCreatedActor(); a._TopLetterbox.moveBy(0, c.getScreenHeight() / 2, 0.4, v.backOut); a._BottomLetterbox.moveBy( 0, -(c.getScreenHeight() / 2), 0.4, v.backOut ); }, a.actor ); c.runLater( 7e3, function (a) { a = ra.get().scenes.h[58].getID(); var b = 0, d = 0, e = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); var f = c.createFadeOut(0.2, (b << 16) | (d << 8) | e); e = d = b = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); c.switchScene(a, f, c.createFadeIn(0.2, (b << 16) | (d << 8) | e)); }, a.actor ); }, a.actor ); }, a.actor ); }, this.actor )); }, init: function () { for (var a = this, b = 0, d = c.getActorsOfType(c.getActorType(431)); b < d.length; ) { var e = d[b]; ++b; null == e || e.dead || e.recycled || ((this._Dude = e), this.actor.setX(e.getXCenter())); } this.actor.makeAlwaysSimulate(); c.runLater( 320, function (b) { a.actor.setYVelocity(12); }, this.actor ); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating2)); }, forwardMessage: function (a) {}, __class__: zs }); var As = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_519'] = As; As.__name__ = 'scripts.ActorEvents_519'; As.__super__ = n; As.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: As }); var Bs = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_52'] = Bs; Bs.__name__ = 'scripts.ActorEvents_52'; Bs.__super__ = n; Bs.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Bs }); var Cs = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_521'] = Cs; Cs.__name__ = 'scripts.ActorEvents_521'; Cs.__super__ = n; Cs.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Cs }); var Ds = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_523'] = Ds; Ds.__name__ = 'scripts.ActorEvents_523'; Ds.__super__ = n; Ds.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Ds }); var Es = function (a, b, c) { n.call(this, b); this.nameMap.h['Stars String'] = '_StarsString'; this._StarsString = ''; this.nameMap.h.Star = '_Star'; this.nameMap.h['Left End'] = '_LeftEnd'; this.nameMap.h['Right End'] = '_RightEnd'; this.nameMap.h['Stars String Image'] = '_StarsStringImage'; this.nameMap.h['Stars String Inst'] = '_StarsStringInst'; }; k['scripts.ActorEvents_527'] = Es; Es.__name__ = 'scripts.ActorEvents_527'; Es.__super__ = n; Es.prototype = t(n.prototype, { _StarsString: null, _Star: null, _LeftEnd: null, _RightEnd: null, _StarsStringImage: null, _StarsStringInst: null, _event_Drawing: function (a, b, d) { if (this.wrapper.enabled) { b = c.getFont(526); null != b && b != a.font && (a.font = b); d = this.actor; a.drawActor = !0; a.actor = d; d.smoothMove ? ((b = d.drawX - Math.floor(d.cacheWidth / 2) - d.currOffset.x), (d = d.drawY - Math.floor(d.cacheHeight / 2) - d.currOffset.y), (a.x = b * a.scaleX), (a.y = d * a.scaleY)) : ((a.x = d.colX * a.scaleX), (a.y = d.colY * a.scaleY)); c.setDrawingLayerToSceneLayer(); c.setDrawingLayerToActorLayer(this.actor); var e = this._StarsString; null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)); a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + 32 * a.scaleX), (d = a.y + 12 * a.scaleY)) : ((b = a.x + 32 * a.scaleX - h.cameraX), (d = a.y + 12 * a.scaleY - h.cameraY)) : ((b = a.x + 32 * a.scaleX), (d = a.y + 12 * a.scaleY)); a.mtx.identity(); a.mtx.translate(b, d); var f = null, g = a.font; g = e + ':' + g.ID + ':' + a.alpha + ':' + g.letterSpacing + ':' + h.SCALE; if (Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, g)) (e = ha.drawnStringCache.h[g]), (e.lifetime = 5), (f = e.img); else { var l = a.font.font.getTextWidth(e, a.font.letterSpacing, a.font.fontScale), k = (a.font.font.getFontHeight() * a.font.fontScale) | 0; 0 < l && 0 < k && ((f = new la(l, k, !0, 0)), a.font.font.renderToImg( f, e, 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (e = new sc()), (e.img = f), (e.lifetime = 5), (ha.drawnStringCache.h[g] = e), ha.drawnStringCacheKeys.push(g)); } null != f && (a.graphics.beginBitmapFill(f, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, d, f.width, f.height), a.graphics.endFill()); } }, _event_Updating: function (a) { this.wrapper.enabled && ((a = this._Star), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a) ? ((a = this._LeftEnd), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a) ? ((a = this._RightEnd), (a = c.isPrimitive(a) ? !0 : 'string' == typeof a ? '' != w.__cast(a, String) : null != a)) : (a = !1)) : (a = !1), a && (this._Star.setX(this.actor.getX()), this._Star.setY(this.actor.getY()), this._LeftEnd.setX(this.actor.getX() - 2), this._LeftEnd.setY(this.actor.getY()), this._RightEnd.setX(this.actor.getX() + Q.scaledSize('width', this.actor)), this._RightEnd.setY(this.actor.getY()))); }, init: function () { this._StarsString = '' + (h.engine.getGameAttribute('Stars List').length - 1) + '/43'; Q.setScale( 'width', c.getFont(526).getTextWidth(this._StarsString) / h.SCALE + 42, this.actor ); this.actor.makeAlwaysSimulate(); c.createRecycledActor(c.getActorType(529), this.actor.getX(), this.actor.getY(), 0); this._Star = c.getLastCreatedActor(); c.createRecycledActor(c.getActorType(531), this.actor.getX() - 2, this.actor.getY(), 0); this._LeftEnd = c.getLastCreatedActor(); c.createRecycledActor( c.getActorType(531), this.actor.getX() + Q.scaledSize('width', this.actor), this.actor.getY(), 0 ); this._RightEnd = c.getLastCreatedActor(); this.actor.anchorToScreen(); this._Star.anchorToScreen(); this._LeftEnd.anchorToScreen(); this._RightEnd.anchorToScreen(); this._Star.makeAlwaysSimulate(); this._LeftEnd.makeAlwaysSimulate(); this._RightEnd.makeAlwaysSimulate(); this.addListener(this.actor.whenDrawing, m(this, this._event_Drawing)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Es }); var Fs = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_529'] = Fs; Fs.__name__ = 'scripts.ActorEvents_529'; Fs.__super__ = n; Fs.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Fs }); var Gs = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_531'] = Gs; Gs.__name__ = 'scripts.ActorEvents_531'; Gs.__super__ = n; Gs.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Gs }); var Hs = function (a, b, c) { n.call(this, b); this.nameMap.h.Hidden = '_Hidden'; this._Hidden = !1; }; k['scripts.ActorEvents_533'] = Hs; Hs.__name__ = 'scripts.ActorEvents_533'; Hs.__super__ = n; Hs.prototype = t(n.prototype, { _Hidden: null, _event_Updating: function (a) { this.wrapper.enabled && (c.engine.isPaused() && !this._Hidden ? ((this._Hidden = !0), this.actor.disableActorDrawing()) : !c.engine.isPaused() && this._Hidden && ((this._Hidden = !1), this.actor.enableActorDrawing())); }, init: function () { this.actor.makeAlwaysSimulate(); this.actor.anchorToScreen(); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Hs }); var Is = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_537'] = Is; Is.__name__ = 'scripts.ActorEvents_537'; Is.__super__ = n; Is.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Is }); var Js = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_539'] = Js; Js.__name__ = 'scripts.ActorEvents_539'; Js.__super__ = n; Js.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Js }); var Ks = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_54'] = Ks; Ks.__name__ = 'scripts.ActorEvents_54'; Ks.__super__ = n; Ks.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Ks }); var Ls = function (a, b, c) { n.call(this, b); this.nameMap.h.Attach = '_Attach'; this._Attach = !1; }; k['scripts.ActorEvents_541'] = Ls; Ls.__name__ = 'scripts.ActorEvents_541'; Ls.__super__ = n; Ls.prototype = t(n.prototype, { _Attach: null, init: function () { this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: Ls }); var Ms = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_543'] = Ms; Ms.__name__ = 'scripts.ActorEvents_543'; Ms.__super__ = n; Ms.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Ms }); var Ns = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_546'] = Ns; Ns.__name__ = 'scripts.ActorEvents_546'; Ns.__super__ = n; Ns.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Ns }); var Os = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_548'] = Os; Os.__name__ = 'scripts.ActorEvents_548'; Os.__super__ = n; Os.prototype = t(n.prototype, { _event_Updating: function (a) { this.wrapper.enabled && (h.engine.getGameAttribute('MOBILE MODE') && 'Normal' == this.actor.getAnimation() ? this.actor.setAnimation('NormalC') : h.engine.getGameAttribute('MOBILE MODE') || 'NormalC' != this.actor.getAnimation() || this.actor.setAnimation('Normal'), h.engine.getGameAttribute('MOBILE MODE') && 'Off' == this.actor.getAnimation() ? this.actor.setAnimation('OffC') : h.engine.getGameAttribute('MOBILE MODE') || 'OffC' != this.actor.getAnimation() || this.actor.setAnimation('Off')); }, init: function () { c.createRecycledActorOnLayer( c.getActorType(550), this.actor.getX(), this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Os }); var Ps = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_550'] = Ps; Ps.__name__ = 'scripts.ActorEvents_550'; Ps.__super__ = n; Ps.prototype = t(n.prototype, { _event_Updating: function (a) { this.wrapper.enabled && 'Turn On' == this.actor.getAnimation() && 7 == this.actor.getCurrentFrame() && this.actor.setAnimation('On'); }, init: function () { this.actor.makeAlwaysSimulate(); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Ps }); var Qs = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_554'] = Qs; Qs.__name__ = 'scripts.ActorEvents_554'; Qs.__super__ = n; Qs.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Qs }); var Rs = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_557'] = Rs; Rs.__name__ = 'scripts.ActorEvents_557'; Rs.__super__ = n; Rs.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Rs }); var Ss = function (a, b, c) { n.call(this, b); this.nameMap.h.Pressed = '_Pressed'; this._Pressed = !1; this.nameMap.h.Hide = '_Hide'; this._Hide = !1; }; k['scripts.ActorEvents_559'] = Ss; Ss.__name__ = 'scripts.ActorEvents_559'; Ss.__super__ = n; Ss.prototype = t(n.prototype, { _Pressed: null, _Hide: null, _event_OnActor: function (a) { var b = this; !this.wrapper.enabled || 3 != a || this._Pressed || h.engine.getGameAttribute('Settings Open') || h.engine.getGameAttribute('Dead') || ((this._Pressed = h.engine.gameAttributes.h['Settings Open'] = !0), this.actor.setAnimation('Down'), c.createRecycledActor(c.getActorType(561), 0, 0, 0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)), c.runLater( 200, function (a) { b.actor.setAnimation('Normal'); }, this.actor ), c.runLater( 400, function (a) { b._Pressed = !1; }, this.actor )); }, _event_Keyboard: function (a, b) { var d = this; !this.wrapper.enabled || !a || this._Pressed || h.engine.getGameAttribute('Settings Open') || h.engine.getGameAttribute('Dead') || ((h.engine.gameAttributes.h['Settings Open'] = !0), (this._Pressed = h.engine.gameAttributes.h['Controller Mode'] = !0), this.actor.setAnimation('Down'), c.createRecycledActor(c.getActorType(561), 0, 0, 0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)), c.runLater( 200, function (a) { d.actor.setAnimation('Normal'); }, this.actor ), c.runLater( 400, function (a) { d._Pressed = !1; }, this.actor )); }, _event_Updating: function (a) { this.wrapper.enabled && (h.engine.getGameAttribute('Settings Open') && !this._Hide ? ((this._Hide = !0), this.actor.disableActorDrawing()) : !h.engine.getGameAttribute('Settings Open') && this._Hide && ((this._Hide = !1), this.actor.enableActorDrawing())); }, init: function () { this.actor.makeAlwaysSimulate(); this.actor.anchorToScreen(); this.addListener(this.actor.whenMousedOver, m(this, this._event_OnActor)); this.addListener( c.engine.whenKeyPressedEvents.getOrCreateEvent('action2'), m(this, this._event_Keyboard) ); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Ss }); var Ts = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_56'] = Ts; Ts.__name__ = 'scripts.ActorEvents_56'; Ts.__super__ = n; Ts.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Ts }); var Us = function (a, b, c) { n.call(this, b); this.nameMap.h.Inner = '_Inner'; }; k['scripts.ActorEvents_561'] = Us; Us.__name__ = 'scripts.ActorEvents_561'; Us.__super__ = n; Us.prototype = t(n.prototype, { _Inner: null, init: function () { this.actor.makeAlwaysSimulate(); this.actor.set_alpha(0); this.actor.setX(c.getScreenX() - 5); this.actor.setY(c.getScreenY() - 5); Q.setScale('width', c.getScreenWidth() + 10, this.actor); Q.setScale('height', c.getScreenHeight() + 10, this.actor); this.actor.fadeTo(0.5, 0.4, v.quadInOut); c.createRecycledActor( c.getActorType(563), c.getScreenX() + (c.getScreenWidth() / 2 - 149), c.getScreenY() - 284, 0 ); this._Inner = c.getLastCreatedActor(); this._Inner.moveTo( this._Inner.getX(), c.getScreenY() + (c.getScreenHeight() / 2 - 142), 0.7, v.elasticOut ); }, forwardMessage: function (a) {}, __class__: Us }); var Vs = function (a, b, c) { n.call(this, b); this.nameMap.h['Home Button'] = '_HomeButton'; this.nameMap.h['Restart Button'] = '_RestartButton'; this.nameMap.h['Resume Button'] = '_ResumeButton'; this.nameMap.h['Ads Button'] = '_AdsButton'; this.nameMap.h['Sound Button'] = '_SoundButton'; this.nameMap.h['Music Button'] = '_MusicButton'; this.nameMap.h['Button Pressed'] = '_ButtonPressed'; this._ButtonPressed = !1; this.nameMap.h['In Position'] = '_InPosition'; this._InPosition = !1; this.nameMap.h['Restore Button'] = '_RestoreButton'; this.nameMap.h.Cursor = '_Cursor'; this.nameMap.h['Controls Button'] = '_ControlsButton'; this.nameMap.h['Flag US'] = '_FlagUS'; this.nameMap.h['Flag JP'] = '_FlagJP'; this.nameMap.h['Flag KR'] = '_FlagKR'; this.nameMap.h['Flag CN'] = '_FlagCN'; this.nameMap.h.Logo = '_Logo'; this.nameMap.h['Cheat Count'] = '_CheatCount'; this._CheatCount = 0; }; k['scripts.ActorEvents_563'] = Vs; Vs.__name__ = 'scripts.ActorEvents_563'; Vs.__super__ = n; Vs.prototype = t(n.prototype, { _HomeButton: null, _RestartButton: null, _ResumeButton: null, _AdsButton: null, _SoundButton: null, _MusicButton: null, _ButtonPressed: null, _InPosition: null, _RestoreButton: null, _Cursor: null, _ControlsButton: null, _FlagUS: null, _FlagJP: null, _FlagKR: null, _FlagCN: null, _Logo: null, _CheatCount: null, _event_OnActor: function (a) { var b = this; this.wrapper.enabled && 3 == a && c.getMouseX() > this.actor.getScreenX() + 2 && c.getMouseX() < this.actor.getScreenX() + 297 && c.getMouseY() > this.actor.getScreenY() + 30 && c.getMouseY() < this.actor.getScreenY() + 74 && !this._ButtonPressed && 5 > this._CheatCount && ((this._ButtonPressed = !0), (this._CheatCount += 1), 5 == this._CheatCount && ((h.engine.gameAttributes.h['Highest Level'] = 50), c.startShakingScreen(0.01, 0.1), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(351)), c.saveGame('mySave', function (a) {})), c.runLater( 100, function (a) { b._ButtonPressed = !1; }, this.actor )); }, _event_Updating: function (a) { var b = this; if (this.wrapper.enabled) { a = this._Cursor; if ( c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a) ) { a = this._ResumeButton; if ( c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a) ) this._ResumeButton.setX(this.actor.getX() + 270), this._ResumeButton.setY(this.actor.getY() - 8), this._InPosition && !this._ButtonPressed && (this._ResumeButton.isMousePressed() || c.isKeyPressed('action2') || (h.engine.getGameAttribute('Controller Mode') && c.isKeyPressed('action1') && this._Cursor.getScreenX() + 24 >= this._ResumeButton.getScreenX() && this._Cursor.getScreenX() + 24 < this._ResumeButton.getScreenX() + this._ResumeButton.getWidth() && this._Cursor.getScreenY() + 24 >= this._ResumeButton.getScreenY() && this._Cursor.getScreenY() + 24 < this._ResumeButton.getScreenY() + this._ResumeButton.getHeight())) && ((this._ButtonPressed = !0), this._ResumeButton.setAnimation('Down'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)), c.runLater( 300, function (a) { a = 0; for (var b = c.getActorsOfType(c.getActorType(561)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || d.fadeTo(0, 0.2, v.quadInOut); } }, this.actor ), this.actor.moveTo( this.actor.getX(), c.getScreenY() - this.actor.getHeight(), 0.3, v.quadIn ), (a = this._Cursor), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && c.recycleActor(this._Cursor), c.runLater( 700, function (a) { h.engine.gameAttributes.h['Settings Open'] = !1; a = 0; for (var d = c.getActorsOfType(c.getActorType(236)); a < d.length; ) { var f = d[a]; ++a; null == f || f.dead || f.recycled || c.recycleActor(f); } a = b._RestoreButton; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && c.recycleActor(b._RestoreButton); a = b._ResumeButton; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && c.recycleActor(b._ResumeButton); a = b._AdsButton; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && c.recycleActor(b._AdsButton); a = b._SoundButton; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && c.recycleActor(b._SoundButton); a = b._MusicButton; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && c.recycleActor(b._MusicButton); a = b._FlagUS; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && c.recycleActor(b._FlagUS); a = b._FlagJP; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && c.recycleActor(b._FlagJP); a = b._FlagKR; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && c.recycleActor(b._FlagKR); a = b._FlagCN; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && c.recycleActor(b._FlagCN); c.recycleActor(b.actor); }, this.actor )); a = this._AdsButton; if ( c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a) ) this._AdsButton.setX(this.actor.getX() + 26), this._AdsButton.setY(this.actor.getY() + 92), !h.engine.getGameAttribute('Ads Disabled') && this._InPosition && !this._ButtonPressed && (this._AdsButton.isMousePressed() || (h.engine.getGameAttribute('Controller Mode') && c.isKeyPressed('action1') && this._Cursor.getScreenX() + 24 >= this._AdsButton.getScreenX() && this._Cursor.getScreenX() + 24 < this._AdsButton.getScreenX() + this._AdsButton.getWidth() && this._Cursor.getScreenY() + 24 >= this._AdsButton.getScreenY() && this._Cursor.getScreenY() + 24 < this._AdsButton.getScreenY() + this._AdsButton.getHeight())) && ((this._ButtonPressed = !0), this._AdsButton.setAnimation('Loading'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252))); a = this._RestoreButton; if ( c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a) ) this._RestoreButton.setX(this.actor.getX() + 26), this._RestoreButton.setY(this.actor.getY() + 150), !h.engine.getGameAttribute('Ads Disabled') && this._InPosition && !this._ButtonPressed && (this._RestoreButton.isMousePressed() || (h.engine.getGameAttribute('Controller Mode') && c.isKeyPressed('action1') && this._Cursor.getScreenX() + 24 >= this._RestoreButton.getScreenX() && this._Cursor.getScreenX() + 24 < this._RestoreButton.getScreenX() + this._RestoreButton.getWidth() && this._Cursor.getScreenY() + 24 >= this._RestoreButton.getScreenY() && this._Cursor.getScreenY() + 24 < this._RestoreButton.getScreenY() + this._RestoreButton.getHeight())) && (c.purchasesRestore(), this._RestoreButton.setAnimation('Down'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)), c.runLater( 200, function (a) { b._RestoreButton.setAnimation('Normal'); }, this.actor )); a = this._SoundButton; if ( c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a) ) this._SoundButton.setX(this.actor.getX() + 96), this._SoundButton.setY(this.actor.getY() + 210), this._InPosition && !this._ButtonPressed && (this._SoundButton.isMousePressed() || (h.engine.getGameAttribute('Controller Mode') && c.isKeyPressed('action1') && this._Cursor.getScreenX() + 24 >= this._SoundButton.getScreenX() && this._Cursor.getScreenX() + 24 < this._SoundButton.getScreenX() + this._SoundButton.getWidth() && this._Cursor.getScreenY() + 24 >= this._SoundButton.getScreenY() && this._Cursor.getScreenY() + 24 < this._SoundButton.getScreenY() + this._SoundButton.getHeight())) && ((this._ButtonPressed = !0), this._SoundButton.setAnimation('Down'), h.engine.getGameAttribute('Sound Disabled') ? ((h.engine.gameAttributes.h['Sound Disabled'] = !1), c.setVolumeForChannel(1, 15)) : h.engine.getGameAttribute('Sound Disabled') || ((h.engine.gameAttributes.h['Sound Disabled'] = !0), c.setVolumeForChannel(0, 15)), c.saveGame('mySave', function (a) {}), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)), c.runLater( 200, function (a) { b._ButtonPressed = !1; h.engine.getGameAttribute('Sound Disabled') ? b._SoundButton.setAnimation('Off') : b._SoundButton.setAnimation('On'); }, this.actor )); a = this._MusicButton; if ( c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a) ) this._MusicButton.setX(this.actor.getX() + 154), this._MusicButton.setY(this.actor.getY() + 210), this._InPosition && !this._ButtonPressed && (this._MusicButton.isMousePressed() || (h.engine.getGameAttribute('Controller Mode') && c.isKeyPressed('action1') && this._Cursor.getScreenX() + 24 >= this._MusicButton.getScreenX() && this._Cursor.getScreenX() + 24 < this._MusicButton.getScreenX() + this._MusicButton.getWidth() && this._Cursor.getScreenY() + 24 >= this._MusicButton.getScreenY() && this._Cursor.getScreenY() + 24 < this._MusicButton.getScreenY() + this._MusicButton.getHeight())) && ((this._ButtonPressed = !0), this._MusicButton.setAnimation('Down'), h.engine.getGameAttribute('Music Disabled') ? ((h.engine.gameAttributes.h['Music Disabled'] = !1), c.setVolumeForChannel(1, 16)) : h.engine.getGameAttribute('Music Disabled') || ((h.engine.gameAttributes.h['Music Disabled'] = !0), c.setVolumeForChannel(0, 16)), c.saveGame('mySave', function (a) {}), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)), c.runLater( 200, function (a) { b._ButtonPressed = !1; h.engine.getGameAttribute('Music Disabled') ? b._MusicButton.setAnimation('Off') : b._MusicButton.setAnimation('On'); }, this.actor )); } a = this._FlagUS; c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a) ? ((a = this._FlagJP), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a) ? ((a = this._FlagKR), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a) ? ((a = this._FlagCN), (a = c.isPrimitive(a) ? !0 : 'string' == typeof a ? '' != w.__cast(a, String) : null != a)) : (a = !1)) : (a = !1)) : (a = !1); a && (this._FlagUS.setX(this.actor.getX() + 14), this._FlagUS.setY(this.actor.getY() + 92), this._FlagJP.setX(this.actor.getX() + 14), this._FlagJP.setY(this.actor.getY() + 134), this._FlagCN.setX(this.actor.getX() + 14), this._FlagCN.setY(this.actor.getY() + 176), this._FlagKR.setX(this.actor.getX() + 14), this._FlagKR.setY(this.actor.getY() + 218), this._InPosition && !this._ButtonPressed && (this._FlagUS.isMousePressed() || (h.engine.getGameAttribute('Controller Mode') && c.isKeyPressed('action1') && this._Cursor.getScreenX() + 24 >= this._FlagUS.getScreenX() && this._Cursor.getScreenX() + 24 < this._FlagUS.getScreenX() + this._FlagUS.getWidth() && this._Cursor.getScreenY() + 24 >= this._FlagUS.getScreenY() && this._Cursor.getScreenY() + 24 < this._FlagUS.getScreenY() + this._FlagUS.getHeight())) && ((this._ButtonPressed = !0), (h.engine.gameAttributes.h.Language = 'EN'), c.saveGame('mySave', function (a) {}), this.actor.shout('_customEvent_changeLanguage'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)), c.runLater( 200, function (a) { b._ButtonPressed = !1; }, this.actor )), this._InPosition && !this._ButtonPressed && (this._FlagJP.isMousePressed() || (h.engine.getGameAttribute('Controller Mode') && c.isKeyPressed('action1') && this._Cursor.getScreenX() + 24 >= this._FlagJP.getScreenX() && this._Cursor.getScreenX() + 24 < this._FlagJP.getScreenX() + this._FlagJP.getWidth() && this._Cursor.getScreenY() + 24 >= this._FlagJP.getScreenY() && this._Cursor.getScreenY() + 24 < this._FlagJP.getScreenY() + this._FlagJP.getHeight())) && ((this._ButtonPressed = !0), (h.engine.gameAttributes.h.Language = 'JP'), c.saveGame('mySave', function (a) {}), this.actor.shout('_customEvent_changeLanguage'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)), c.runLater( 200, function (a) { b._ButtonPressed = !1; }, this.actor )), this._InPosition && !this._ButtonPressed && (this._FlagCN.isMousePressed() || (h.engine.getGameAttribute('Controller Mode') && c.isKeyPressed('action1') && this._Cursor.getScreenX() + 24 >= this._FlagCN.getScreenX() && this._Cursor.getScreenX() + 24 < this._FlagCN.getScreenX() + this._FlagCN.getWidth() && this._Cursor.getScreenY() + 24 >= this._FlagCN.getScreenY() && this._Cursor.getScreenY() + 24 < this._FlagCN.getScreenY() + this._FlagCN.getHeight())) && ((this._ButtonPressed = !0), (h.engine.gameAttributes.h.Language = 'CN'), c.saveGame('mySave', function (a) {}), this.actor.shout('_customEvent_changeLanguage'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)), c.runLater( 200, function (a) { b._ButtonPressed = !1; }, this.actor )), this._InPosition && !this._ButtonPressed && (this._FlagKR.isMousePressed() || (h.engine.getGameAttribute('Controller Mode') && c.isKeyPressed('action1') && this._Cursor.getScreenX() + 24 >= this._FlagKR.getScreenX() && this._Cursor.getScreenX() + 24 < this._FlagKR.getScreenX() + this._FlagKR.getWidth() && this._Cursor.getScreenY() + 24 >= this._FlagKR.getScreenY() && this._Cursor.getScreenY() + 24 < this._FlagKR.getScreenY() + this._FlagKR.getHeight())) && ((this._ButtonPressed = !0), (h.engine.gameAttributes.h.Language = 'KR'), c.saveGame('mySave', function (a) {}), this.actor.shout('_customEvent_changeLanguage'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)), c.runLater( 200, function (a) { b._ButtonPressed = !1; }, this.actor ))); } }, _customEvent_changeLanguage: function () { this._FlagJP.set_alpha(0.5); this._FlagCN.set_alpha(0.5); this._FlagKR.set_alpha(0.5); this._FlagUS.set_alpha(0.5); 'JP' == h.engine.getGameAttribute('Language') ? (this._FlagJP.set_alpha(1), this._AdsButton.setAnimation('JP Normal'), this._RestoreButton.setAnimation('JP Normal')) : 'CN' == h.engine.getGameAttribute('Language') ? (this._FlagCN.set_alpha(1), this._AdsButton.setAnimation('CN Normal'), this._RestoreButton.setAnimation('CN Normal')) : 'KR' == h.engine.getGameAttribute('Language') ? (this._FlagKR.set_alpha(1), this._AdsButton.setAnimation('KR Normal'), this._RestoreButton.setAnimation('KR Normal')) : (this._FlagUS.set_alpha(1), this._AdsButton.setAnimation('Normal'), this._RestoreButton.setAnimation('Normal')); c.shoutToScene('_customEvent_newLogo'); }, init: function () { var a = this; c.createRecycledActor( c.getActorType(589), c.getScreenWidth() / 2 - 13, c.getScreenHeight() / 2 - 13, 0 ); this._Cursor = c.getLastCreatedActor(); this.actor.makeAlwaysSimulate(); c.createRecycledActor( c.getActorType(567), this.actor.getX() + 270, this.actor.getY() - 8, 0 ); this._ResumeButton = c.getLastCreatedActor(); c.getLastCreatedActor().makeAlwaysSimulate(); c.createRecycledActor( c.getActorType(569), this.actor.getX() + 26, this.actor.getY() + 92, 0 ); this._AdsButton = c.getLastCreatedActor(); c.getLastCreatedActor().makeAlwaysSimulate(); 'JP' == h.engine.getGameAttribute('Language') ? this._AdsButton.setAnimation('JP Normal') : 'CN' == h.engine.getGameAttribute('Language') ? this._AdsButton.setAnimation('CN Normal') : 'KR' == h.engine.getGameAttribute('Language') && this._AdsButton.setAnimation('KR Normal'); c.createRecycledActor( c.getActorType(571), this.actor.getX() + 26, this.actor.getY() + 150, 0 ); this._RestoreButton = c.getLastCreatedActor(); c.getLastCreatedActor().makeAlwaysSimulate(); 'JP' == h.engine.getGameAttribute('Language') ? this._RestoreButton.setAnimation('JP Normal') : 'CN' == h.engine.getGameAttribute('Language') ? this._RestoreButton.setAnimation('CN Normal') : 'KR' == h.engine.getGameAttribute('Language') && this._RestoreButton.setAnimation('KR Normal'); c.createRecycledActor( c.getActorType(246), this.actor.getX() + 96, this.actor.getY() + 210, 0 ); this._SoundButton = c.getLastCreatedActor(); c.getLastCreatedActor().makeAlwaysSimulate(); c.createRecycledActor( c.getActorType(248), this.actor.getX() + 154, this.actor.getY() + 210, 0 ); this._MusicButton = c.getLastCreatedActor(); c.getLastCreatedActor().makeAlwaysSimulate(); h.engine.getGameAttribute('Sound Disabled') && this._SoundButton.setAnimation('Off'); h.engine.getGameAttribute('Music Disabled') && this._MusicButton.setAnimation('Off'); c.runLater( 600, function (b) { a._InPosition = !0; }, this.actor ); h.engine.getGameAttribute('Ads Disabled') && (this._AdsButton.set_alpha(0.5), this._RestoreButton.set_alpha(0.5)); this.addListener(this.actor.whenMousedOver, m(this, this._event_OnActor)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Vs }); var Ws = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_567'] = Ws; Ws.__name__ = 'scripts.ActorEvents_567'; Ws.__super__ = n; Ws.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Ws }); var Xs = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_569'] = Xs; Xs.__name__ = 'scripts.ActorEvents_569'; Xs.__super__ = n; Xs.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Xs }); var Ys = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_571'] = Ys; Ys.__name__ = 'scripts.ActorEvents_571'; Ys.__super__ = n; Ys.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Ys }); var Zs = function (a, b, c) { n.call(this, b); this.nameMap.h.Pressed = '_Pressed'; this._Pressed = !1; }; k['scripts.ActorEvents_576'] = Zs; Zs.__name__ = 'scripts.ActorEvents_576'; Zs.__super__ = n; Zs.prototype = t(n.prototype, { _Pressed: null, _event_MultiTouch: function (a) { var b = this; this.wrapper.enabled && (a.stageX - h.screenOffsetX) / (h.screenScaleX * h.SCALE) > this.actor.getX() && (a.stageX - h.screenOffsetX) / (h.screenScaleX * h.SCALE) < this.actor.getX() + this.actor.getWidth() && (a.stageY - h.screenOffsetY) / (h.screenScaleY * h.SCALE) > this.actor.getY() && (a.stageY - h.screenOffsetY) / (h.screenScaleY * h.SCALE) < this.actor.getY() + this.actor.getHeight() && !this._Pressed && ((this._Pressed = !0), c.engine.isPaused() ? (c.engine.unpause(), this.actor.enableActorDrawing()) : (c.engine.pause(), this.actor.disableActorDrawing()), c.runLater( 200, function (a) { b._Pressed = !1; }, this.actor )); }, init: function () { this.actor.makeAlwaysSimulate(); this.actor.anchorToScreen(); this.addListener(c.engine.whenMTStarted, m(this, this._event_MultiTouch)); }, forwardMessage: function (a) {}, __class__: Zs }); var $s = function (a, b, c) { n.call(this, b); this.nameMap.h.Dude = '_Dude'; this.nameMap.h['Fly Away'] = '_FlyAway'; this._FlyAway = !1; }; k['scripts.ActorEvents_578'] = $s; $s.__name__ = 'scripts.ActorEvents_578'; $s.__super__ = n; $s.prototype = t(n.prototype, { _Dude: null, _FlyAway: null, _event_EveryNsecs: function (a) { if (this.wrapper.enabled) { if (!this._FlyAway && this.actor.isOnScreen()) { a = this._Dude; if ( !c.isPrimitive(a) && ('string' == typeof a ? '' == w.__cast(a, String) : null == a) ) { a = 0; for (var b = c.getActorsOfType(c.getActorType(2)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || (this._Dude = d); } } a = this._Dude; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Dude.getXCenter() > this.actor.getXCenter() - 100 && this._Dude.getXCenter() < this.actor.getXCenter() + 100 && this._Dude.getYCenter() > this.actor.getYCenter() - 100 && this._Dude.getYCenter() < this.actor.getYCenter() + 100 && ((this._FlyAway = !0), this.actor.setYVelocity(-15), this._Dude.getXCenter() > this.actor.getXCenter() ? (this.actor.setXVelocity(-15), this.actor.setAnimation('Fly Left')) : (this.actor.setXVelocity(15), this.actor.setAnimation('Fly Right'))); } this._FlyAway && !this.actor.isOnScreen() && c.recycleActor(this.actor); } }, init: function () { this.actor.makeAlwaysSimulate(); 1 == c.randomInt(1, 2) && this.actor.setAnimation('Peck Right'); this.actor.currAnimation.setFrameDuration(0, c.randomInt(500, 700)); c.runPeriodically(200, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: $s }); var at = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_58'] = at; at.__name__ = 'scripts.ActorEvents_58'; at.__super__ = n; at.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: at }); var bt = function (a, b, c) { n.call(this, b); this.nameMap.h.Dude = '_Dude'; this.nameMap.h['Fly Away'] = '_FlyAway'; this._FlyAway = !1; }; k['scripts.ActorEvents_580'] = bt; bt.__name__ = 'scripts.ActorEvents_580'; bt.__super__ = n; bt.prototype = t(n.prototype, { _Dude: null, _FlyAway: null, _event_EveryNsecs: function (a) { if (this.wrapper.enabled) { if (!this._FlyAway && this.actor.isOnScreen()) { a = this._Dude; if ( !c.isPrimitive(a) && ('string' == typeof a ? '' == w.__cast(a, String) : null == a) ) { a = 0; for (var b = c.getActorsOfType(c.getActorType(2)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || (this._Dude = d); } } a = this._Dude; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Dude.getXCenter() > this.actor.getXCenter() - 100 && this._Dude.getXCenter() < this.actor.getXCenter() + 100 && this._Dude.getYCenter() > this.actor.getYCenter() - 100 && this._Dude.getYCenter() < this.actor.getYCenter() + 100 && ((this._FlyAway = !0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(1153)), this.actor.setYVelocity(-15), this._Dude.getXCenter() > this.actor.getXCenter() ? (this.actor.setXVelocity(-15), this.actor.setAnimation('Fly Left')) : (this.actor.setXVelocity(15), this.actor.setAnimation('Fly Right'))); } this._FlyAway && !this.actor.isOnScreen() && c.recycleActor(this.actor); } }, init: function () { this.actor.makeAlwaysSimulate(); 1 == c.randomInt(1, 2) && this.actor.setAnimation('Peck Right'); this.actor.currAnimation.setFrameDuration(0, c.randomInt(500, 700)); c.runPeriodically(200, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: bt }); var ct = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_582'] = ct; ct.__name__ = 'scripts.ActorEvents_582'; ct.__super__ = n; ct.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: ct }); var dt = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_584'] = dt; dt.__name__ = 'scripts.ActorEvents_584'; dt.__super__ = n; dt.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: dt }); var et = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_586'] = et; et.__name__ = 'scripts.ActorEvents_586'; et.__super__ = n; et.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: et }); var ft = function (a, b, c) { n.call(this, b); this.nameMap.h['Left Touch Is Down'] = '_LeftTouchIsDown'; this._LeftTouchIsDown = !1; this.nameMap.h['Right Touch Is Down'] = '_RightTouchIsDown'; this._RightTouchIsDown = !1; this.nameMap.h['Up Touch Is Down'] = '_UpTouchIsDown'; this._UpTouchIsDown = !1; this.nameMap.h['Down Touch Is Down'] = '_DownTouchIsDown'; this._DownTouchIsDown = !1; this.nameMap.h.Speed = '_Speed'; this._Speed = 0; this.nameMap.h['Right Scroll Limit'] = '_RightScrollLimit'; this._RightScrollLimit = 0; this.nameMap.h['Left Scroll Limit'] = '_LeftScrollLimit'; this._LeftScrollLimit = 0; this.nameMap.h['0 X'] = '_0X'; this._0X = 0; this.nameMap.h.Overlay = '_Overlay'; }; k['scripts.ActorEvents_589'] = ft; ft.__name__ = 'scripts.ActorEvents_589'; ft.__super__ = n; ft.prototype = t(n.prototype, { _LeftTouchIsDown: null, _RightTouchIsDown: null, _UpTouchIsDown: null, _DownTouchIsDown: null, _Speed: null, _RightScrollLimit: null, _LeftScrollLimit: null, _0X: null, _Overlay: null, _event_ActorCreated: function () { if (this.wrapper.enabled) { var a = this._Overlay; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && c.recycleActor(this._Overlay); } }, _event_Updating: function (a) { if (this.wrapper.enabled) { this._Speed = 30; this._UpTouchIsDown ? this.actor.setYVelocity(-this._Speed) : this._DownTouchIsDown ? this.actor.setYVelocity(this._Speed) : this.actor.setYVelocity(0); this._LeftTouchIsDown ? this.actor.setXVelocity(-this._Speed) : this._RightTouchIsDown ? this.actor.setXVelocity(this._Speed) : this.actor.setXVelocity(0); if (h.engine.getGameAttribute('Controller Mode')) { a = 0; for (var b = c.getActorsOfType(c.getActorType(273)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || d.setX( Math.max( Math.min(this.actor.getX(), this._RightScrollLimit), this._LeftScrollLimit ) ); } } a = this._Overlay; if (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) this._Overlay.setX(this.actor.getScreenX()), this._Overlay.setY(this.actor.getScreenY()); } }, _event_MultiTouch: function (a) { this.wrapper.enabled && h.engine.getGameAttribute('Controller Mode') && ((h.engine.gameAttributes.h['Controller Mode'] = !1), this.actor.disableActorDrawing(), (a = this._Overlay), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Overlay.disableActorDrawing()); }, _event_Updated: function (a) { this.wrapper.enabled && (0 > this.actor.getScreenX() && (this.actor.setScreenX(0), this.actor.setXVelocity(0)), 0 > this.actor.getScreenY() && (this.actor.setScreenY(0), this.actor.setYVelocity(0)), this.actor.getScreenX() > c.getScreenWidth() - this.actor.getWidth() && (this.actor.setScreenX(c.getScreenWidth() - this.actor.getWidth()), this.actor.setXVelocity(0)), this.actor.getScreenY() > c.getScreenHeight() - this.actor.getHeight() && (this.actor.setScreenY(c.getScreenHeight() - this.actor.getHeight()), this.actor.setYVelocity(0))); }, _event_Pressed: function (a) { this.wrapper.enabled && (h.engine.getGameAttribute('Controller Mode') || ((h.engine.gameAttributes.h['Controller Mode'] = !0), this.actor.enableActorDrawing(), (a = this._Overlay), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Overlay.enableActorDrawing()), c.isKeyPressed('left') ? ((this._LeftTouchIsDown = !0), (this._RightTouchIsDown = !1)) : c.isKeyPressed('right') && ((this._RightTouchIsDown = !0), (this._LeftTouchIsDown = !1)), c.isKeyPressed('up') ? ((this._UpTouchIsDown = !0), (this._DownTouchIsDown = !1)) : c.isKeyPressed('down') && ((this._DownTouchIsDown = !0), (this._UpTouchIsDown = !1))); }, _event_Released: function (a) { this.wrapper.enabled && (c.isKeyReleased('left') ? (this._LeftTouchIsDown = !1) : c.isKeyReleased('right') && (this._RightTouchIsDown = !1), c.isKeyReleased('up') ? (this._UpTouchIsDown = !1) : c.isKeyReleased('down') && (this._DownTouchIsDown = !1)); }, init: function () { var a = this; c.createRecycledActor(c.getActorType(1157), this.actor.getX(), this.actor.getY(), 0); this._Overlay = c.getLastCreatedActor(); this._Overlay.anchorToScreen(); this._Overlay.makeAlwaysSimulate(); this.actor.makeAlwaysSimulate(); 'World' != c.getCurrentSceneName().split(' ')[0] && this.actor.anchorToScreen(); for (var b = 0, d = c.getActorsOfType(c.getActorType(259)); b < d.length; ) { var e = d[b]; ++b; null == e || e.dead || e.recycled || (this.actor.setX(e.getXCenter()), (this._0X = e.getX() - 98), c.getScreenWidth() > e.getWidth() + 128 ? ((this._RightScrollLimit = this.actor.getX() + 16), (this._LeftScrollLimit = this.actor.getX() - 16)) : ((this._RightScrollLimit = this._0X + Math.max( 696 - c.getScreenWidth() / 2 + 64, c.getScreenWidth() + 64 - c.getScreenWidth() / 2 )), (this._LeftScrollLimit = this._0X + c.getScreenWidth() / 2))); } h.engine.getGameAttribute('Controller Mode') || (this.actor.disableActorDrawing(), (b = this._Overlay), (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && this._Overlay.disableActorDrawing()); c.runLater( 200, function (b) { b = a._Overlay; if ( c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b) ) a._Overlay.moveToTop(), a._Overlay.bringToFront(); }, this.actor ); this.addListener(this.actor.whenKilled, m(this, this._event_ActorCreated)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener(c.engine.whenMTStarted, m(this, this._event_MultiTouch)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updated)); this.addListener(c.engine.whenAnyKeyPressed, m(this, this._event_Pressed)); this.addListener(c.engine.whenAnyKeyReleased, m(this, this._event_Released)); }, forwardMessage: function (a) {}, __class__: ft }); var gt = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_596'] = gt; gt.__name__ = 'scripts.ActorEvents_596'; gt.__super__ = n; gt.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: gt }); var ht = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_598'] = ht; ht.__name__ = 'scripts.ActorEvents_598'; ht.__super__ = n; ht.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: ht }); var it = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_60'] = it; it.__name__ = 'scripts.ActorEvents_60'; it.__super__ = n; it.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: it }); var jt = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_600'] = jt; jt.__name__ = 'scripts.ActorEvents_600'; jt.__super__ = n; jt.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: jt }); var kt = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_602'] = kt; kt.__name__ = 'scripts.ActorEvents_602'; kt.__super__ = n; kt.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: kt }); var lt = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_607'] = lt; lt.__name__ = 'scripts.ActorEvents_607'; lt.__super__ = n; lt.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); this.actor.disableActorDrawing(); }, forwardMessage: function (a) {}, __class__: lt }); var mt = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_609'] = mt; mt.__name__ = 'scripts.ActorEvents_609'; mt.__super__ = n; mt.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); this.actor.disableActorDrawing(); }, forwardMessage: function (a) {}, __class__: mt }); var nt = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_611'] = nt; nt.__name__ = 'scripts.ActorEvents_611'; nt.__super__ = n; nt.prototype = t(n.prototype, { _event_Updating: function (a) { this.wrapper.enabled && (c.engine.moveCamera(this.actor.getXCenter(), this.actor.getYCenter()), c.isMouseDown() ? 64 > c.getMouseY() ? this.actor.setYVelocity(-30) : c.getMouseY() > c.getScreenHeight() - 64 ? this.actor.setYVelocity(30) : c.getMouseX() < c.getScreenWidth() / 2 ? this.actor.setXVelocity(-30) : c.getMouseX() > c.getScreenWidth() / 2 && this.actor.setXVelocity(30) : (this.actor.setXVelocity(0), this.actor.setYVelocity(0))); }, init: function () { this.actor.makeAlwaysSimulate(); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: nt }); var ot = function (a, b, c) { n.call(this, b); this.nameMap.h.Springing = '_Springing'; this._Springing = !1; }; k['scripts.ActorEvents_62'] = ot; ot.__name__ = 'scripts.ActorEvents_62'; ot.__super__ = n; ot.prototype = t(n.prototype, { _Springing: null, _event_HitsDude: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(2); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && (a.otherActor.getValue('Dude Logic', '_Riding') ? a.otherActor.setYVelocity(-90) : a.otherActor.setYVelocity(-72), this._Springing || ((this._Springing = !0), this.actor.setAnimation('Springing'), a.otherActor.setValue('Dude Logic', '_Springing', !0), a.otherActor.setValue('Dude Logic', '_CanDoubleJump', !0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(114)), c.setValueForScene('Stage Logic', '_RumbleName', 'Spring'), c.sayToScene('Stage Logic', '_customEvent_rumble'), c.runLater( 200, function (a) { b.actor.setAnimation('Normal'); b._Springing = !1; }, this.actor ))); }, _event_HitsCrate: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(32); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && 0 == a.otherActor.getValue('Pushable Crate Logic', '_HasSpring') && !this._Springing && ((this._Springing = !0), a.otherActor.setYVelocity(-72), this.actor.setAnimation('Springing'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(114)), c.runLater( 200, function (a) { b.actor.setAnimation('Normal'); b._Springing = !1; }, this.actor )); }, _event_HitsSundae: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(762); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && !this._Springing && ((this._Springing = !0), a.otherActor.setYVelocity(-72), this.actor.setAnimation('Springing'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(114)), c.runLater( 200, function (a) { b.actor.setAnimation('Normal'); b._Springing = !1; }, this.actor )); }, _event_HitsBoulder: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(884); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && !this._Springing && ((this._Springing = !0), a.otherActor.setYVelocity(-72), this.actor.setAnimation('Springing'), !h.engine.getGameAttribute('Sound Disabled') && this.actor.isOnScreen() && c.playSound(c.getSound(114)), c.runLater( 200, function (a) { b.actor.setAnimation('Normal'); b._Springing = !1; }, this.actor )); }, init: function () { this.actor.makeAlwaysSimulate(); this.addListener(this.actor.whenCollided, m(this, this._event_HitsDude)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsCrate)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsSundae)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsBoulder)); }, forwardMessage: function (a) {}, __class__: ot }); var pt = function (a, b, c) { n.call(this, b); this.nameMap.h['Total Time In Hundreths'] = '_TotalTimeInHundreths'; this._TotalTimeInHundreths = 0; this.nameMap.h['Total Time String'] = '_TotalTimeString'; this._TotalTimeString = ''; this.nameMap.h['Hundreths String'] = '_HundrethsString'; this._HundrethsString = ''; this.nameMap.h['Timer Hundreths'] = '_TimerHundreths'; this._TimerHundreths = 0; this.nameMap.h['Seconds String'] = '_SecondsString'; this._SecondsString = ''; this.nameMap.h['Timer Seconds'] = '_TimerSeconds'; this._TimerSeconds = 0; this.nameMap.h['Minutes String'] = '_MinutesString'; this._MinutesString = ''; this.nameMap.h['Timer Minutes'] = '_TimerMinutes'; this._TimerMinutes = 0; this.nameMap.h.Seconds = '_Seconds'; this._Seconds = 0; this.nameMap.h.Minutes = '_Minutes'; this._Minutes = 0; this.nameMap.h.Hours = '_Hours'; this._Hours = 0; this.nameMap.h.Hundreths = '_Hundreths'; this._Hundreths = 0; this.nameMap.h['Hours String'] = '_HoursString'; this._HoursString = ''; this.nameMap.h['Time Box'] = '_TimeBox'; }; k['scripts.ActorEvents_622'] = pt; pt.__name__ = 'scripts.ActorEvents_622'; pt.__super__ = n; pt.prototype = t(n.prototype, { _TotalTimeInHundreths: null, _TotalTimeString: null, _HundrethsString: null, _TimerHundreths: null, _SecondsString: null, _TimerSeconds: null, _MinutesString: null, _TimerMinutes: null, _Seconds: null, _Minutes: null, _Hours: null, _Hundreths: null, _HoursString: null, _TimeBox: null, _event_Updating: function (a) { this.wrapper.enabled && this._TimeBox.setY(this.actor.getY() + (this.actor.getHeight() / 2 - 11)); }, _event_Drawing: function (a, b, d) { if (this.wrapper.enabled && h.engine.getGameAttribute('Timer Mode')) { var e = c.getFont(624); null != e && e != a.font && (a.font = e); e = this._TotalTimeString; b = this.actor.getWidth() + 24; d = this.actor.getHeight() / 2 - a.font.getHeight() / h.SCALE / 2; null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)); a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + b * a.scaleX), (d = a.y + d * a.scaleY)) : ((b = a.x + b * a.scaleX - h.cameraX), (d = a.y + d * a.scaleY - h.cameraY)) : ((b = a.x + b * a.scaleX), (d = a.y + d * a.scaleY)); a.mtx.identity(); a.mtx.translate(b, d); var f = null, g = a.font; g = e + ':' + g.ID + ':' + a.alpha + ':' + g.letterSpacing + ':' + h.SCALE; if (Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, g)) (e = ha.drawnStringCache.h[g]), (e.lifetime = 5), (f = e.img); else { var l = a.font.font.getTextWidth(e, a.font.letterSpacing, a.font.fontScale), k = (a.font.font.getFontHeight() * a.font.fontScale) | 0; 0 < l && 0 < k && ((f = new la(l, k, !0, 0)), a.font.font.renderToImg( f, e, 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (e = new sc()), (e.img = f), (e.lifetime = 5), (ha.drawnStringCache.h[g] = e), ha.drawnStringCacheKeys.push(g)); } null != f && (a.graphics.beginBitmapFill(f, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, d, f.width, f.height), a.graphics.endFill()); } }, init: function () { this._TotalTimeInHundreths = 0; c.createRecycledActor( c.getActorType(627), this.actor.getX() + (this.actor.getWidth() + 4), this.actor.getY() + (this.actor.getHeight() / 2 - 11), 0 ); this._TimeBox = c.getLastCreatedActor(); for ( var a = 0, b = w.__cast(h.engine.getGameAttribute('Best Times'), Array); a < b.length; ) { var d = b[a]; ++a; var e = this._TotalTimeInHundreths, f = ('' + z.string(d)).split(':')[0]; f = null == f ? 0 : 'number' == typeof f ? w.__cast(f, ob) : 'number' == typeof f && (f | 0) === f ? w.__cast(f, nb) : 'boolean' == typeof f ? w.__cast(f, jb) ? 1 : 0 : 'string' == typeof f ? parseFloat(f) : parseFloat(z.string(f)); var g = ('' + z.string(d)).split(':')[1]; g = null == g ? 0 : 'number' == typeof g ? w.__cast(g, ob) : 'number' == typeof g && (g | 0) === g ? w.__cast(g, nb) : 'boolean' == typeof g ? w.__cast(g, jb) ? 1 : 0 : 'string' == typeof g ? parseFloat(g) : parseFloat(z.string(g)); d = ('' + z.string(d)).split(':')[2]; this._TotalTimeInHundreths = e + (6e3 * f + 100 * g + (null == d ? 0 : 'number' == typeof d ? w.__cast(d, ob) : 'number' == typeof d && (d | 0) === d ? w.__cast(d, nb) : 'boolean' == typeof d ? w.__cast(d, jb) ? 1 : 0 : 'string' == typeof d ? parseFloat(d) : parseFloat(z.string(d)))); } this._Hours = Math.floor(this._TotalTimeInHundreths / 100 / 60 / 60); this._Minutes = Math.floor(this._TotalTimeInHundreths / 100 / 60); this._Seconds = Math.floor(this._TotalTimeInHundreths / 100); this._Hundreths = this._TotalTimeInHundreths; this._Hundreths -= 100 * this._Seconds; this._Seconds -= 60 * this._Minutes; this._Minutes -= 60 * this._Hours; this._HoursString = '' + this._Hours; this._MinutesString = '' + this._Minutes; this._SecondsString = '' + this._Seconds; this._HundrethsString = '' + this._Hundreths; 1 == this._HoursString.length && (this._HoursString = '0' + this._HoursString); 1 == this._MinutesString.length && (this._MinutesString = '0' + this._MinutesString); 1 == this._SecondsString.length && (this._SecondsString = '0' + this._SecondsString); 1 == this._HundrethsString.length && (this._HundrethsString = '0' + this._HundrethsString); this._TotalTimeString = this._HoursString + (':' + (this._MinutesString + (':' + (this._SecondsString + (':' + this._HundrethsString))))); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener(this.actor.whenDrawing, m(this, this._event_Drawing)); }, forwardMessage: function (a) {}, __class__: pt }); var qt = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_625'] = qt; qt.__name__ = 'scripts.ActorEvents_625'; qt.__super__ = n; qt.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: qt }); var rt = function (a, b, d) { n.call(this, b); this.nameMap.h['Stars String'] = '_StarsString'; this._StarsString = ''; this.nameMap.h.Star = '_Star'; this._Star = c.getActor(0); this.nameMap.h['Left End'] = '_LeftEnd'; this._LeftEnd = c.getActor(0); this.nameMap.h['Right End'] = '_RightEnd'; this._RightEnd = c.getActor(0); this.nameMap.h.Hidden = '_Hidden'; this._Hidden = !1; }; k['scripts.ActorEvents_627'] = rt; rt.__name__ = 'scripts.ActorEvents_627'; rt.__super__ = n; rt.prototype = t(n.prototype, { _StarsString: null, _Star: null, _LeftEnd: null, _RightEnd: null, _Hidden: null, _event_Updating: function (a) { this.wrapper.enabled && (h.engine.getGameAttribute('Timer Mode') && this._Hidden ? ((this._Hidden = !1), this.actor.enableActorDrawing()) : h.engine.getGameAttribute('Timer Mode') || this._Hidden || ((this._Hidden = !0), this.actor.disableActorDrawing())); }, init: function () { this.actor.makeAlwaysSimulate(); this.actor.anchorToScreen(); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: rt }); var st = function (a, b, c) { n.call(this, b); this.nameMap.h['Ground Check Top'] = '_GroundCheckTop'; this._GroundCheckTop = !1; this.nameMap.h['Ground Check Bottom'] = '_GroundCheckBottom'; this._GroundCheckBottom = !1; this.nameMap.h['Ground Check Left'] = '_GroundCheckLeft'; this._GroundCheckLeft = !1; this.nameMap.h['Ground Check Right'] = '_GroundCheckRight'; this._GroundCheckRight = !1; this.nameMap.h['On Ground Top'] = '_OnGroundTop'; this._OnGroundTop = !1; this.nameMap.h['On Ground Bottom'] = '_OnGroundBottom'; this._OnGroundBottom = !1; this.nameMap.h['On Ground Left'] = '_OnGroundLeft'; this._OnGroundLeft = !1; this.nameMap.h['On Ground Right'] = '_OnGroundRight'; this._OnGroundRight = !1; }; k['scripts.ActorEvents_629'] = st; st.__name__ = 'scripts.ActorEvents_629'; st.__super__ = n; st.prototype = t(n.prototype, { _GroundCheckTop: null, _GroundCheckBottom: null, _GroundCheckLeft: null, _GroundCheckRight: null, _OnGroundTop: null, _OnGroundBottom: null, _OnGroundLeft: null, _OnGroundRight: null, init: function () {}, forwardMessage: function (a) {}, __class__: st }); var tt = function (a, b, c) { n.call(this, b); this.nameMap.h['Ground Check Top'] = '_GroundCheckTop'; this._GroundCheckTop = !1; this.nameMap.h['Ground Check Bottom'] = '_GroundCheckBottom'; this._GroundCheckBottom = !1; this.nameMap.h['Ground Check Left'] = '_GroundCheckLeft'; this._GroundCheckLeft = !1; this.nameMap.h['Ground Check Right'] = '_GroundCheckRight'; this._GroundCheckRight = !1; this.nameMap.h['On Ground Top'] = '_OnGroundTop'; this._OnGroundTop = !1; this.nameMap.h['On Ground Bottom'] = '_OnGroundBottom'; this._OnGroundBottom = !1; this.nameMap.h['On Ground Left'] = '_OnGroundLeft'; this._OnGroundLeft = !1; this.nameMap.h['On Ground Right'] = '_OnGroundRight'; this._OnGroundRight = !1; }; k['scripts.ActorEvents_631'] = tt; tt.__name__ = 'scripts.ActorEvents_631'; tt.__super__ = n; tt.prototype = t(n.prototype, { _GroundCheckTop: null, _GroundCheckBottom: null, _GroundCheckLeft: null, _GroundCheckRight: null, _OnGroundTop: null, _OnGroundBottom: null, _OnGroundLeft: null, _OnGroundRight: null, init: function () {}, forwardMessage: function (a) {}, __class__: tt }); var ut = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_633'] = ut; ut.__name__ = 'scripts.ActorEvents_633'; ut.__super__ = n; ut.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: ut }); var vt = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_635'] = vt; vt.__name__ = 'scripts.ActorEvents_635'; vt.__super__ = n; vt.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: vt }); var wt = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_637'] = wt; wt.__name__ = 'scripts.ActorEvents_637'; wt.__super__ = n; wt.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: wt }); var xt = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_64'] = xt; xt.__name__ = 'scripts.ActorEvents_64'; xt.__super__ = n; xt.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: xt }); var yt = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_66'] = yt; yt.__name__ = 'scripts.ActorEvents_66'; yt.__super__ = n; yt.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: yt }); var zt = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_68'] = zt; zt.__name__ = 'scripts.ActorEvents_68'; zt.__super__ = n; zt.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: zt }); var At = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_685'] = At; At.__name__ = 'scripts.ActorEvents_685'; At.__super__ = n; At.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: At }); var Bt = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_70'] = Bt; Bt.__name__ = 'scripts.ActorEvents_70'; Bt.__super__ = n; Bt.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Bt }); var Ct = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_703'] = Ct; Ct.__name__ = 'scripts.ActorEvents_703'; Ct.__super__ = n; Ct.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: Ct }); var Dt = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_705'] = Dt; Dt.__name__ = 'scripts.ActorEvents_705'; Dt.__super__ = n; Dt.prototype = t(n.prototype, { _event_Updating: function (a) { this.wrapper.enabled && 8 == this.actor.getCurrentFrame() && c.recycleActor(this.actor); }, init: function () { this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Dt }); var Et = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_707'] = Et; Et.__name__ = 'scripts.ActorEvents_707'; Et.__super__ = n; Et.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Et }); var Ft = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_709'] = Ft; Ft.__name__ = 'scripts.ActorEvents_709'; Ft.__super__ = n; Ft.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); this.actor.anchorToScreen(); this.actor.moveToBottom(); }, forwardMessage: function (a) {}, __class__: Ft }); var Gt = function (a, b, c) { n.call(this, b); this.nameMap.h.Down = '_Down'; this._Down = !1; }; k['scripts.ActorEvents_711'] = Gt; Gt.__name__ = 'scripts.ActorEvents_711'; Gt.__super__ = n; Gt.prototype = t(n.prototype, { _Down: null, _event_IncreaseYSpeed: function (a) { this.wrapper.enabled && (this._Down ? 4 > this.actor.getYVelocity() && this.actor.setYVelocity(this.actor.getYVelocity() + 0.1) : -4 < this.actor.getYVelocity() && this.actor.setYVelocity(this.actor.getYVelocity() - 0.1)); }, _event_ChangeDirection: function (a) { this.wrapper.enabled && 1 == c.randomInt(1, 3) && (this._Down = this._Down ? !1 : !0); }, _event_Destroy: function (a) { this.wrapper.enabled && 0 > this.actor.getX() && c.recycleActor(this.actor); }, init: function () { this.actor.makeAlwaysSimulate(); this.actor.setXVelocity(c.randomInt(-20, -10)); 1 == c.randomInt(1, 2) && (this._Down = !0); c.runPeriodically(100, m(this, this._event_IncreaseYSpeed), this.actor); c.runPeriodically(800, m(this, this._event_ChangeDirection), this.actor); c.runPeriodically(200, m(this, this._event_Destroy), this.actor); }, forwardMessage: function (a) {}, __class__: Gt }); var Ht = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_716'] = Ht; Ht.__name__ = 'scripts.ActorEvents_716'; Ht.__super__ = n; Ht.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: Ht }); var It = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_719'] = It; It.__name__ = 'scripts.ActorEvents_719'; It.__super__ = n; It.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: It }); var Jt = function (a, b, c) { n.call(this, b); this.nameMap.h.Flag = '_Flag'; }; k['scripts.ActorEvents_72'] = Jt; Jt.__name__ = 'scripts.ActorEvents_72'; Jt.__super__ = n; Jt.prototype = t(n.prototype, { _Flag: null, _event_HitsDude: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(2); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && !h.engine.getGameAttribute('Checkpoint Passed') && ((h.engine.gameAttributes.h['Checkpoint Passed'] = !0), (b = h.engine), (d = h.engine.getGameAttribute('Camera Boundary Number')), (b.gameAttributes.h['Checkpoint Camera'] = d), a.otherActor.getValue('Dude Logic', '_StarCollected') && (h.engine.gameAttributes.h['Star Collected'] = !0), (b = this._Flag), c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && (this._Flag.setAnimation('Go'), c.setValueForScene('Stage Logic', '_RumbleName', 'Item'), c.sayToScene('Stage Logic', '_customEvent_rumble'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(118)), this._Flag.moveTo(this._Flag.getX(), this.actor.getY() + 20, 0.5, v.elasticOut)); }, init: function () { this.actor.makeAlwaysSimulate(); h.engine.getGameAttribute('Timer Mode') ? c.recycleActor(this.actor) : h.engine.getGameAttribute('Checkpoint Passed') ? (c.createRecycledActorOnLayer( c.getActorType(92), this.actor.getX() + 20, this.actor.getY() + 18, c.engine.getLayerById(this.actor.getLayerID()) ), (this._Flag = c.getLastCreatedActor()), this._Flag.moveToBottom(), this._Flag.setAnimation('Go')) : (c.createRecycledActorOnLayer( c.getActorType(92), this.actor.getX() + 20, this.actor.getY() + 60, c.engine.getLayerById(this.actor.getLayerID()) ), (this._Flag = c.getLastCreatedActor()), this._Flag.moveToBottom()); this.addListener(this.actor.whenCollided, m(this, this._event_HitsDude)); }, forwardMessage: function (a) {}, __class__: Jt }); var Kt = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_724'] = Kt; Kt.__name__ = 'scripts.ActorEvents_724'; Kt.__super__ = n; Kt.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: Kt }); var Lt = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_726'] = Lt; Lt.__name__ = 'scripts.ActorEvents_726'; Lt.__super__ = n; Lt.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: Lt }); var Mt = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_732'] = Mt; Mt.__name__ = 'scripts.ActorEvents_732'; Mt.__super__ = n; Mt.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Mt }); var Nt = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_737'] = Nt; Nt.__name__ = 'scripts.ActorEvents_737'; Nt.__super__ = n; Nt.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: Nt }); var Ot = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_739'] = Ot; Ot.__name__ = 'scripts.ActorEvents_739'; Ot.__super__ = n; Ot.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: Ot }); var Pt = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_74'] = Pt; Pt.__name__ = 'scripts.ActorEvents_74'; Pt.__super__ = n; Pt.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Pt }); var Qt = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_754'] = Qt; Qt.__name__ = 'scripts.ActorEvents_754'; Qt.__super__ = n; Qt.prototype = t(n.prototype, { init: function () { this.actor.setX(c.getScreenWidth() / 2 - this.actor.getWidth() / 2); this.actor.setY(c.getScreenHeight() / 2 - this.actor.getHeight() / 2); }, forwardMessage: function (a) {}, __class__: Qt }); var Rt = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_756'] = Rt; Rt.__name__ = 'scripts.ActorEvents_756'; Rt.__super__ = n; Rt.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Rt }); var St = function (a, b, c) { n.call(this, b); this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['Bounce Count'] = '_BounceCount'; this._BounceCount = 0; this.nameMap.h['No Count'] = '_NoCount'; this._NoCount = !1; }; k['scripts.ActorEvents_758'] = St; St.__name__ = 'scripts.ActorEvents_758'; St.__super__ = n; St.prototype = t(n.prototype, { _GravitySpeed: null, _BounceCount: null, _NoCount: null, _event_HitsGround: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(1); var d = a.otherActor.getType(); a = a.otherActor.getGroup(); b = b == d || b == a; } else b = !1; if (b) { h.engine.getGameAttribute('Sound Disabled') || (this.actor.isOnScreen() && c.playSound(c.getSound(221))); if (this.actor.isOnScreen()) for (b = 0, d = c.getActorsOfType(c.getActorType(2)); b < d.length; ) (a = d[b]), ++b, null == a || a.dead || a.recycled || (this.actor.getXCenter() > a.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-16, -16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(16, -16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-16, 16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(16, 16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.recycleActor(this.actor); } }, _event_HitsPlatform: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(5); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && (a.thisFromBottom && 1 > this._BounceCount ? (h.engine.getGameAttribute('Sound Disabled') || (0 <= this.actor.getYVelocity() && this.actor.isOnScreen() && c.playSound(c.getSound(220))), this.actor.setYVelocity(-60), (this._BounceCount += 1)) : (h.engine.getGameAttribute('Sound Disabled') || (this.actor.isOnScreen() && c.playSound(c.getSound(221))), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, 16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, 16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.recycleActor(this.actor))); }, _event_EveryNsecs: function (a) { this.wrapper.enabled && ('Space' == h.engine.getGameAttribute('Stage Type') ? this.actor.setYVelocity( Math.min(this.actor.getYVelocity() + 0.9, this._GravitySpeed / 2) ) : this.actor.setYVelocity( Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed) ), 'Left' == this.actor.getAnimation() ? this.actor.setXVelocity(-8) : 'Right' == this.actor.getAnimation() && this.actor.setXVelocity(8)); }, init: function () { this.actor.makeAlwaysSimulate(); this._GravitySpeed = 48; this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsPlatform)); c.runPeriodically(10, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: St }); var Tt = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_762'] = Tt; Tt.__name__ = 'scripts.ActorEvents_762'; Tt.__super__ = n; Tt.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Tt }); var Ut = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_764'] = Ut; Ut.__name__ = 'scripts.ActorEvents_764'; Ut.__super__ = n; Ut.prototype = t(n.prototype, { init: function () { var a = this; this.actor.moveBy(0, -42, 0.3, v.quadOut); c.runLater( 600, function (b) { c.recycleActor(a.actor); }, this.actor ); }, forwardMessage: function (a) {}, __class__: Ut }); var Vt = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_766'] = Vt; Vt.__name__ = 'scripts.ActorEvents_766'; Vt.__super__ = n; Vt.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Vt }); var Wt = function (a, b, c) { n.call(this, b); this.nameMap.h.Back = '_Back'; this.nameMap.h.Block = '_Block'; this.nameMap.h.Frequency = '_Frequency'; this._Frequency = 2; }; k['scripts.ActorEvents_768'] = Wt; Wt.__name__ = 'scripts.ActorEvents_768'; Wt.__super__ = n; Wt.prototype = t(n.prototype, { _Back: null, _Block: null, _Frequency: null, init: function () {}, forwardMessage: function (a) {}, __class__: Wt }); var Xt = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_770'] = Xt; Xt.__name__ = 'scripts.ActorEvents_770'; Xt.__super__ = n; Xt.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Xt }); var Yt = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_772'] = Yt; Yt.__name__ = 'scripts.ActorEvents_772'; Yt.__super__ = n; Yt.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Yt }); var Zt = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_774'] = Zt; Zt.__name__ = 'scripts.ActorEvents_774'; Zt.__super__ = n; Zt.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Zt }); var $t = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_776'] = $t; $t.__name__ = 'scripts.ActorEvents_776'; $t.__super__ = n; $t.prototype = t(n.prototype, { _event_EveryNsecs: function (a) { this.wrapper.enabled && (c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Mustard'), c.getLastCreatedActor().moveToBottom()); }, _event_HitsGround: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(1); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && a.otherActor.getType() != c.getActorType(950) && a.otherActor.getType() != c.getActorType(208) && a.otherActor.getType() != c.getActorType(213) && this.actor.shout('_customEvent_Destroy'); }, _event_HitsPlatform: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(5); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && a.otherActor.getType() != c.getActorType(208) && a.otherActor.getType() != c.getActorType(213) && this.actor.shout('_customEvent_Destroy'); }, _event_Updating: function (a) { this.wrapper.enabled && ('Left Start' == this.actor.getAnimation() && 2 == this.actor.getCurrentFrame() && this.actor.setAnimation('Left'), 'Right Start' == this.actor.getAnimation() && 2 == this.actor.getCurrentFrame() && this.actor.setAnimation('Right')); }, _customEvent_Destroy: function () { !h.engine.getGameAttribute('Sound Disabled') && this.actor.isOnScreen() && c.playSound(c.getSound(215)); 'Left' == this.actor.getAnimation() ? (c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX(), this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Mustard'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX(), this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, 16, 0.3, v.backOut)) : (c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 16, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Mustard'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 16, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, 16, 0.3, v.backOut)); c.getLastCreatedActor().setAnimation('Mustard'); c.recycleActor(this.actor); }, init: function () { this.actor.makeAlwaysSimulate(); c.runPeriodically(200, m(this, this._event_EveryNsecs), this.actor); this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsPlatform)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: $t }); var au = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_78'] = au; au.__name__ = 'scripts.ActorEvents_78'; au.__super__ = n; au.prototype = t(n.prototype, { init: function () { this.actor.disableActorDrawing(); }, forwardMessage: function (a) {}, __class__: au }); var bu = function (a, b, c) { n.call(this, b); this.nameMap.h['Shake Image'] = '_ShakeImage'; this.nameMap.h['Shake Image Instance'] = '_ShakeImageInstance'; this.nameMap.h.Shake = '_Shake'; this._Shake = !1; this.nameMap.h['Shake Count'] = '_ShakeCount'; this._ShakeCount = 0; this.nameMap.h.Left = '_Left'; this._Left = !1; }; k['scripts.ActorEvents_783'] = bu; bu.__name__ = 'scripts.ActorEvents_783'; bu.__super__ = n; bu.prototype = t(n.prototype, { _ShakeImage: null, _ShakeImageInstance: null, _Shake: null, _ShakeCount: null, _Left: null, _event_HitsDude: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(2); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && a.thisFromBottom && !this._Shake && ((this._Shake = !0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(106)), this.actor.setFilter([c.createBrightnessFilter(100)]), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(108)), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-32, 32, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(32, 32, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt'), c.recycleActor(this.actor)); }, init: function () { this._ShakeImage = c.getImageForActor(this.actor); this._ShakeImageInstance = new rf(new rc(this._ShakeImage)); this.actor.disableActorDrawing(); c.attachImageToActor(this._ShakeImageInstance, this.actor, 0, 0, 1); this.addListener(this.actor.whenCollided, m(this, this._event_HitsDude)); }, forwardMessage: function (a) {}, __class__: bu }); var cu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_785'] = cu; cu.__name__ = 'scripts.ActorEvents_785'; cu.__super__ = n; cu.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: cu }); var du = function (a, b, c) { n.call(this, b); this.nameMap.h.Clip = '_Clip'; }; k['scripts.ActorEvents_787'] = du; du.__name__ = 'scripts.ActorEvents_787'; du.__super__ = n; du.prototype = t(n.prototype, { _Clip: null, _event_Updating: function (a) { this.wrapper.enabled && ((a = this._Clip), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && (this._Clip.setX(this.actor.getX()), this._Clip.setY(this.actor.getY() - 8)); }, init: function () { c.createRecycledActorOnLayer( c.getActorType(789), this.actor.getX(), this.actor.getY() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); this._Clip = c.getLastCreatedActor(); c.getLastCreatedActor().moveToBottom(); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: du }); var eu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_789'] = eu; eu.__name__ = 'scripts.ActorEvents_789'; eu.__super__ = n; eu.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: eu }); var fu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_791'] = fu; fu.__name__ = 'scripts.ActorEvents_791'; fu.__super__ = n; fu.prototype = t(n.prototype, { _event_AfterNsecs: function (a) { this.wrapper.enabled && this.actor.moveToBottom(); }, init: function () { c.runLater(100, m(this, this._event_AfterNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: fu }); var gu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_794'] = gu; gu.__name__ = 'scripts.ActorEvents_794'; gu.__super__ = n; gu.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: gu }); var hu = function (a, b, c) { n.call(this, b); this.nameMap.h.Springing = '_Springing'; this._Springing = !1; this.nameMap.h['Can Pop'] = '_CanPop'; this._CanPop = !1; }; k['scripts.ActorEvents_796'] = hu; hu.__name__ = 'scripts.ActorEvents_796'; hu.__super__ = n; hu.prototype = t(n.prototype, { _Springing: null, _CanPop: null, _event_HitsDude: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(2); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && (a.otherActor.setYVelocity(-56), this._Springing || ((this._Springing = !0), a.otherActor.setValue('Dude Logic', '_Springing', !0), a.otherActor.setValue('Dude Logic', '_CanDoubleJump', !0), this.actor.setFilter([c.createBrightnessFilter(100)]), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(412)), c.runLater( 100, function (a) { c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-16, -16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(16, -16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-16, 16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(16, 16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.recycleActor(b.actor); }, this.actor ))); }, _event_ActorGroup: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorGroup(1); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && this._CanPop && a.otherActor.getType() != c.getActorType(794) && !this._Springing && ((this._Springing = !0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(412)), c.runLater( 100, function (a) { c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-16, -16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(16, -16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-16, 16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(16, 16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.recycleActor(b.actor); }, this.actor )); }, _event_AfterNsecs: function (a) { this.wrapper.enabled && (this._CanPop = !0); }, init: function () { this.actor.makeAlwaysSimulate(); this.addListener(this.actor.whenCollided, m(this, this._event_HitsDude)); this.addListener(this.actor.whenCollided, m(this, this._event_ActorGroup)); c.runLater(1e3, m(this, this._event_AfterNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: hu }); var iu = function (a, b, c) { n.call(this, b); this.nameMap.h['Has Friend Left'] = '_HasFriendLeft'; this._HasFriendLeft = !1; this.nameMap.h['Has Friend Right'] = '_HasFriendRight'; this._HasFriendRight = !1; }; k['scripts.ActorEvents_798'] = iu; iu.__name__ = 'scripts.ActorEvents_798'; iu.__super__ = n; iu.prototype = t(n.prototype, { _HasFriendLeft: null, _HasFriendRight: null, init: function () { var a = this; 'Space' == h.engine.getGameAttribute('Stage Type') && this.actor.setAnimation('Space'); c.runLater( 100, function (b) { b = 0; for (var d = c.getActorsOfType(c.getActorType(798)); b < d.length; ) { var e = d[b]; ++b; null == e || e.dead || e.recycled || e.getY() != a.actor.getY() || (e.getX() == a.actor.getX() + 32 ? (a._HasFriendRight = !0) : e.getX() == a.actor.getX() - 32 && (a._HasFriendLeft = !0)); } a._HasFriendLeft || ('Space' == h.engine.getGameAttribute('Stage Type') ? a.actor.setAnimation('Space End Left') : a.actor.setAnimation('End Left')); a._HasFriendRight || ('Space' == h.engine.getGameAttribute('Stage Type') ? a.actor.setAnimation('Space End Right') : a.actor.setAnimation('End Right')); h.engine.getGameAttribute('Possum Mode') && a.actor.disableActorDrawing(); }, this.actor ); }, forwardMessage: function (a) {}, __class__: iu }); var ju = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_80'] = ju; ju.__name__ = 'scripts.ActorEvents_80'; ju.__super__ = n; ju.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); this.actor.disableActorDrawing(); }, forwardMessage: function (a) {}, __class__: ju }); var ku = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_800'] = ku; ku.__name__ = 'scripts.ActorEvents_800'; ku.__super__ = n; ku.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: ku }); var lu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_802'] = lu; lu.__name__ = 'scripts.ActorEvents_802'; lu.__super__ = n; lu.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: lu }); var mu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_805'] = mu; mu.__name__ = 'scripts.ActorEvents_805'; mu.__super__ = n; mu.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: mu }); var nu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_807'] = nu; nu.__name__ = 'scripts.ActorEvents_807'; nu.__super__ = n; nu.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: nu }); var ou = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_810'] = ou; ou.__name__ = 'scripts.ActorEvents_810'; ou.__super__ = n; ou.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); this.actor.disableActorDrawing(); }, forwardMessage: function (a) {}, __class__: ou }); var pu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_812'] = pu; pu.__name__ = 'scripts.ActorEvents_812'; pu.__super__ = n; pu.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: pu }); var qu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_814'] = qu; qu.__name__ = 'scripts.ActorEvents_814'; qu.__super__ = n; qu.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: qu }); var ru = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_818'] = ru; ru.__name__ = 'scripts.ActorEvents_818'; ru.__super__ = n; ru.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: ru }); var su = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_82'] = su; su.__name__ = 'scripts.ActorEvents_82'; su.__super__ = n; su.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); this.actor.disableActorDrawing(); }, forwardMessage: function (a) {}, __class__: su }); var tu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_820'] = tu; tu.__name__ = 'scripts.ActorEvents_820'; tu.__super__ = n; tu.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: tu }); var uu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_824'] = uu; uu.__name__ = 'scripts.ActorEvents_824'; uu.__super__ = n; uu.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: uu }); var vu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_829'] = vu; vu.__name__ = 'scripts.ActorEvents_829'; vu.__super__ = n; vu.prototype = t(n.prototype, { init: function () { this.actor.disableActorDrawing(); this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: vu }); var wu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_831'] = wu; wu.__name__ = 'scripts.ActorEvents_831'; wu.__super__ = n; wu.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: wu }); var xu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_833'] = xu; xu.__name__ = 'scripts.ActorEvents_833'; xu.__super__ = n; xu.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: xu }); var yu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_835'] = yu; yu.__name__ = 'scripts.ActorEvents_835'; yu.__super__ = n; yu.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: yu }); var zu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_837'] = zu; zu.__name__ = 'scripts.ActorEvents_837'; zu.__super__ = n; zu.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: zu }); var Au = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_839'] = Au; Au.__name__ = 'scripts.ActorEvents_839'; Au.__super__ = n; Au.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Au }); var Bu = function (a, b, c) { n.call(this, b); this.nameMap.h['Facing Left'] = '_FacingLeft'; this._FacingLeft = !1; this.nameMap.h.Springing = '_Springing'; this._Springing = !1; this.nameMap.h['In Arrow'] = '_InArrow'; this.nameMap.h['Step Played'] = '_StepPlayed'; this._StepPlayed = !1; this.nameMap.h['Dialog Complete'] = '_DialogComplete'; this._DialogComplete = !1; this.nameMap.h['Dialog Text'] = '_DialogText'; this._DialogText = 'DEFAULT'; this.nameMap.h['Exit Time'] = '_ExitTime'; this._ExitTime = !1; }; k['scripts.ActorEvents_841'] = Bu; Bu.__name__ = 'scripts.ActorEvents_841'; Bu.__super__ = n; Bu.prototype = t(n.prototype, { _FacingLeft: null, _Springing: null, _InArrow: null, _StepPlayed: null, _DialogComplete: null, _DialogText: null, _ExitTime: null, _event_HitsDude: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(2); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; if (d) { d = this._InArrow; if (c.isPrimitive(d) || ('string' == typeof d ? '' != w.__cast(d, String) : null != d)) c.recycleActor(this._InArrow), (this._InArrow = c.getDefaultValue(this._InArrow)); a.otherActor.getValue('Dude Logic', '_RideEnded') && a.thisFromTop && !this._Springing && ('Left' == this.actor.getAnimation() && (this._FacingLeft = !0), this.actor.growTo(1.2, 0.8, 0.1, v.quadInOut), c.runLater( 100, function (a) { b.actor.growTo(1, 1, 0.3, v.elasticOut); }, this.actor ), (this._Springing = !0), a.otherActor.setYVelocity(-72), a.otherActor.setValue('Dude Logic', '_Springing', !0), a.otherActor.setValue('Dude Logic', '_CanDoubleJump', !0), c.setValueForScene('Stage Logic', '_RumbleName', 'Spring'), c.sayToScene('Stage Logic', '_customEvent_rumble'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(220)), c.runLater( 200, function (a) { b._Springing = !1; }, this.actor )); } }, _event_Drawing: function (a, b, d) { !this.wrapper.enabled || h.engine.getGameAttribute('Sound Disabled') || !this.actor.isOnScreen() || ('Right' != this.actor.getAnimation() && 'Left Hat' != this.actor.getAnimation()) || (this._StepPlayed || 0 != this.actor.getCurrentFrame() ? this._StepPlayed || 6 != this.actor.getCurrentFrame() ? !this._StepPlayed || (9 != this.actor.getCurrentFrame() && 3 != this.actor.getCurrentFrame()) || (this._StepPlayed = !1) : ((this._StepPlayed = !0), c.playSound(c.getSound(851)), c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud'), c.sayToScene('Stage Logic', '_customEvent_rumble')) : ((this._StepPlayed = !0), c.playSound(c.getSound(850)), c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud'), c.sayToScene('Stage Logic', '_customEvent_rumble'))); }, _event_EveryNsecs: function (a) { if ( this.wrapper.enabled && !this._ExitTime && 'Left Hat' == this.actor.getAnimation() && this.actor.getX() < c.getScreenX() - this.actor.getWidth() ) { this._ExitTime = !0; a = 0; for (var b = c.getActorsOfType(c.getActorType(2)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || d.say('Dude Logic', '_customEvent_Exit'); } } }, _customEvent_Dialog: function () { h.engine.getGameAttribute('Possum Mode') ? this.actor.shout('_customEvent_dialogComplete') : this._DialogComplete || ((this._DialogComplete = !0), c.createRecycledActor(c.getActorType(161), 0, c.getScreenHeight() - 96, 0), c.getLastCreatedActor().setValue('Dialog Box Logic', '_DialogText', this._DialogText), c.getLastCreatedActor().setValue('Dialog Box Logic', '_Character1', 'Boss 1'), c.getLastCreatedActor().setValue('Dialog Box Logic', '_Character2', 'Dadish'), c.getLastCreatedActor().setValue('Dialog Box Logic', '_Parent', this.actor), c.getLastCreatedActor().say('Dialog Box Logic', '_customEvent_Go')); }, _customEvent_dialogComplete: function () { this.actor.setAnimation('Left Hat'); this.actor.setXVelocity(-40); }, init: function () { this.actor.makeAlwaysSimulate(); c.createRecycledActor( c.getActorType(847), this.actor.getXCenter() - 20, this.actor.getY() - 10, 0 ); this._InArrow = c.getLastCreatedActor(); this._DialogText = "My hat! Thanks, Dadish!|No problem!|I've loved this hat ever since I stole it from that rapping dog.|You did what?!|Anyway, I've got to go do more crimes! See you later!"; this.addListener(this.actor.whenCollided, m(this, this._event_HitsDude)); this.addListener(this.actor.whenDrawing, m(this, this._event_Drawing)); c.runPeriodically(100, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: Bu }); var Cu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_843'] = Cu; Cu.__name__ = 'scripts.ActorEvents_843'; Cu.__super__ = n; Cu.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); this.actor.disableActorDrawing(); }, forwardMessage: function (a) {}, __class__: Cu }); var Du = function (a, b, c) { n.call(this, b); this.nameMap.h.Springing = '_Springing'; this._Springing = !1; this.nameMap.h['Facing Left'] = '_FacingLeft'; this._FacingLeft = !1; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h.Flash = '_Flash'; this._Flash = !1; this.nameMap.h['Flash On'] = '_FlashOn'; this._FlashOn = !1; }; k['scripts.ActorEvents_845'] = Du; Du.__name__ = 'scripts.ActorEvents_845'; Du.__super__ = n; Du.prototype = t(n.prototype, { _Springing: null, _FacingLeft: null, _GravitySpeed: null, _Flash: null, _FlashOn: null, _event_Updating: function (a) { this.wrapper.enabled && this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed)); }, _event_EveryNsecs: function (a) { this.wrapper.enabled && this._Flash && (this._FlashOn ? ((this._FlashOn = !1), this.actor.enableActorDrawing()) : ((this._FlashOn = !0), this.actor.disableActorDrawing())); }, init: function () { var a = this; this.actor.makeAlwaysSimulate(); this.actor.bringToFront(); this.actor.moveToTop(); this.actor.setYVelocity(-10); c.createRecycledActorOnLayer( c.getActorType(365), this.actor.getX() + 8, this.actor.getY() + 42, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().setYVelocity(-90); c.createRecycledActorOnLayer( c.getActorType(361), this.actor.getX() + 14, this.actor.getY() + 70, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().setYVelocity(-50); c.getLastCreatedActor().setXVelocity(-10); c.createRecycledActorOnLayer( c.getActorType(361), this.actor.getX() + 48, this.actor.getY() + 70, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().setYVelocity(-50); c.getLastCreatedActor().setXVelocity(10); c.getLastCreatedActor().moveToBottom(); this.actor.makeAlwaysSimulate(); this._GravitySpeed = 22; c.runLater( 600, function (b) { a._Flash = !0; }, this.actor ); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); c.runPeriodically(50, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: Du }); var Eu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_847'] = Eu; Eu.__name__ = 'scripts.ActorEvents_847'; Eu.__super__ = n; Eu.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Eu }); var Fu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_852'] = Fu; Fu.__name__ = 'scripts.ActorEvents_852'; Fu.__super__ = n; Fu.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Fu }); var Gu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_854'] = Gu; Gu.__name__ = 'scripts.ActorEvents_854'; Gu.__super__ = n; Gu.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Gu }); var Hu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_856'] = Hu; Hu.__name__ = 'scripts.ActorEvents_856'; Hu.__super__ = n; Hu.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Hu }); var Iu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_858'] = Iu; Iu.__name__ = 'scripts.ActorEvents_858'; Iu.__super__ = n; Iu.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Iu }); var Ju = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_860'] = Ju; Ju.__name__ = 'scripts.ActorEvents_860'; Ju.__super__ = n; Ju.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Ju }); var Ku = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_862'] = Ku; Ku.__name__ = 'scripts.ActorEvents_862'; Ku.__super__ = n; Ku.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Ku }); var Lu = function (a, b, c) { n.call(this, b); this.nameMap.h.Done = '_Done'; this._Done = !1; }; k['scripts.ActorEvents_864'] = Lu; Lu.__name__ = 'scripts.ActorEvents_864'; Lu.__super__ = n; Lu.prototype = t(n.prototype, { _Done: null, _event_ActorType: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(2); var d = a.otherActor.getType(); a = a.otherActor.getGroup(); b = b == d || b == a; } else b = !1; if (b && !this._Done) { this._Done = !0; b = 0; for (d = c.getActorsOfType(c.getActorType(213)); b < d.length; ) (a = d[b]), ++b, null == a || a.dead || a.recycled || (a.getValue('Cannon Logic', '_Waitfortrigger') && a.shout('_customEvent_Shoot')); b = 0; for (d = c.getActorsOfType(c.getActorType(208)); b < d.length; ) (a = d[b]), ++b, null == a || a.dead || a.recycled || (a.getValue('Cannon Logic', '_Waitfortrigger') && a.shout('_customEvent_Shoot')); } }, init: function () { this.actor.disableActorDrawing(); this.addListener(this.actor.whenCollided, m(this, this._event_ActorType)); }, forwardMessage: function (a) {}, __class__: Lu }); var Mu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_866'] = Mu; Mu.__name__ = 'scripts.ActorEvents_866'; Mu.__super__ = n; Mu.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Mu }); var Nu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_868'] = Nu; Nu.__name__ = 'scripts.ActorEvents_868'; Nu.__super__ = n; Nu.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Nu }); var Ou = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_870'] = Ou; Ou.__name__ = 'scripts.ActorEvents_870'; Ou.__super__ = n; Ou.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Ou }); var Pu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_872'] = Pu; Pu.__name__ = 'scripts.ActorEvents_872'; Pu.__super__ = n; Pu.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Pu }); var Qu = function (a, b, c) { n.call(this, b); this.nameMap.h.Dude = '_Dude'; this.nameMap.h['Fly Away'] = '_FlyAway'; this._FlyAway = !1; this.nameMap.h['Fly List'] = '_FlyList'; this.nameMap.h['Distance X'] = '_DistanceX'; this._DistanceX = 0; this.nameMap.h.Target = '_Target'; this.nameMap.h['Distance Y'] = '_DistanceY'; this._DistanceY = 0; this.nameMap.h.Distance = '_Distance'; this._Distance = 0; this.nameMap.h.Direction = '_Direction'; this._Direction = 0; this.nameMap.h['Minimum Easing Speed'] = '_MinimumEasingSpeed'; this._MinimumEasingSpeed = 5; this.nameMap.h.Speed = '_Speed'; this._Speed = 8; this.nameMap.h.Margin = '_Margin'; this._Margin = 0; this.nameMap.h['Screen Diagonal'] = '_ScreenDiagonal'; this._ScreenDiagonal = 0; this.nameMap.h.Easing = '_Easing'; this._Easing = !0; this.nameMap.h['Stop when Colliding'] = '_StopwhenColliding'; this._StopwhenColliding = !0; this.nameMap.h.Collided = '_Collided'; this._Collided = !1; this.nameMap.h['No Fly'] = '_NoFly'; this._NoFly = !1; }; k['scripts.ActorEvents_874'] = Qu; Qu.__name__ = 'scripts.ActorEvents_874'; Qu.__super__ = n; Qu.prototype = t(n.prototype, { _Dude: null, _FlyAway: null, _FlyList: null, _DistanceX: null, _Target: null, _DistanceY: null, _Distance: null, _Direction: null, _MinimumEasingSpeed: null, _Speed: null, _Margin: null, _ScreenDiagonal: null, _Easing: null, _StopwhenColliding: null, _Collided: null, _NoFly: null, _event_EveryNsecs: function (a) { var b = this; if (this.wrapper.enabled && !this._NoFly) if (!this._FlyAway) { a = this._Dude; if ( !c.isPrimitive(a) && ('string' == typeof a ? '' == w.__cast(a, String) : null == a) ) { a = 0; for (var d = c.getActorsOfType(c.getActorType(431)); a < d.length; ) { var e = d[a]; ++a; null == e || e.dead || e.recycled || (this._Dude = e); } a = 0; for (d = c.getActorsOfType(c.getActorType(2)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (this._Dude = e); } a = this._Dude; if ( (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Dude.getXCenter() > this.actor.getXCenter() - 100 && this._Dude.getXCenter() < this.actor.getXCenter() + 100 && this._Dude.getYCenter() > this.actor.getYCenter() - 100 && this._Dude.getYCenter() < this.actor.getYCenter() + 100 ) for ( this._NoFly = this._FlyAway = !0, c.runLater( 1e3, function (a) { b._NoFly = !1; }, this.actor ), a = 0, d = w.__cast(this._FlyList, Array); a < d.length; ) (e = d[a]), ++a, (this._DistanceX = this.actor.getXCenter() - e.getXCenter()), (this._DistanceY = this.actor.getYCenter() - e.getYCenter()), (this._Distance = Math.sqrt( Math.pow(this._DistanceX, 2) + Math.pow(this._DistanceY, 2) )), (this._Direction = 57.29577951308402 * Math.atan2(this._DistanceY, this._DistanceX)), e.setValue('Fly Logic', '_ScatterDirection', this._Direction), e.shout('_customEvent_FlyAway'); } else if (this._FlyAway) { a = this._Dude; if ( !c.isPrimitive(a) && ('string' == typeof a ? '' == w.__cast(a, String) : null == a) ) for (a = 0, d = c.getActorsOfType(c.getActorType(2)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (this._Dude = e); a = this._Dude; if ( !( (!c.isPrimitive(a) && ('string' == typeof a ? '' == w.__cast(a, String) : null == a)) || (this._Dude.getXCenter() > this.actor.getXCenter() - 100 && this._Dude.getXCenter() < this.actor.getXCenter() + 100 && this._Dude.getYCenter() > this.actor.getYCenter() - 100 && this._Dude.getYCenter() < this.actor.getYCenter() + 100) ) ) for ( this._FlyAway = !1, this._NoFly = !0, c.runLater( 1e3, function (a) { b._NoFly = !1; }, this.actor ), a = 0, d = w.__cast(this._FlyList, Array); a < d.length; ) (e = d[a]), ++a, (this._DistanceX = this.actor.getXCenter() - e.getXCenter()), (this._DistanceY = this.actor.getYCenter() - e.getYCenter()), (this._Distance = Math.sqrt( Math.pow(this._DistanceX, 2) + Math.pow(this._DistanceY, 2) )), (this._Direction = 57.29577951308402 * Math.atan2(this._DistanceY, this._DistanceX)), e.setValue('Fly Logic', '_ScatterDirection', this._Direction), e.shout('_customEvent_FlyBack'); } }, init: function () { this.actor.makeAlwaysSimulate(); this.actor.disableActorDrawing(); this._FlyList = []; c.createRecycledActorOnLayer( c.getActorType(878), this.actor.getXCenter(), this.actor.getYCenter(), c.engine.getLayerById(this.actor.getLayerID()) ); this._FlyList.push(c.getLastCreatedActor()); c.createRecycledActorOnLayer( c.getActorType(878), this.actor.getXCenter(), this.actor.getYCenter(), c.engine.getLayerById(this.actor.getLayerID()) ); this._FlyList.push(c.getLastCreatedActor()); c.createRecycledActorOnLayer( c.getActorType(878), this.actor.getXCenter(), this.actor.getYCenter(), c.engine.getLayerById(this.actor.getLayerID()) ); this._FlyList.push(c.getLastCreatedActor()); c.createRecycledActorOnLayer( c.getActorType(878), this.actor.getXCenter(), this.actor.getYCenter(), c.engine.getLayerById(this.actor.getLayerID()) ); this._FlyList.push(c.getLastCreatedActor()); c.createRecycledActorOnLayer( c.getActorType(878), this.actor.getXCenter(), this.actor.getYCenter(), c.engine.getLayerById(this.actor.getLayerID()) ); this._FlyList.push(c.getLastCreatedActor()); c.createRecycledActorOnLayer( c.getActorType(878), this.actor.getXCenter(), this.actor.getYCenter(), c.engine.getLayerById(this.actor.getLayerID()) ); this._FlyList.push(c.getLastCreatedActor()); c.createRecycledActorOnLayer( c.getActorType(878), this.actor.getXCenter(), this.actor.getYCenter(), c.engine.getLayerById(this.actor.getLayerID()) ); this._FlyList.push(c.getLastCreatedActor()); c.createRecycledActorOnLayer( c.getActorType(878), this.actor.getXCenter(), this.actor.getYCenter(), c.engine.getLayerById(this.actor.getLayerID()) ); this._FlyList.push(c.getLastCreatedActor()); c.runPeriodically(200, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: Qu }); var Ru = function (a, b, c) { n.call(this, b); this.nameMap.h['Start Y'] = '_StartY'; this._StartY = 0; this.nameMap.h['Start X'] = '_StartX'; this._StartX = 0; this.nameMap.h['Direction RN'] = '_DirectionRN'; this._DirectionRN = 0; this.nameMap.h.Distance = '_Distance'; this._Distance = 0; this.nameMap.h['Can Move Left'] = '_CanMoveLeft'; this._CanMoveLeft = !1; this.nameMap.h['Can Move Right'] = '_CanMoveRight'; this._CanMoveRight = !1; this.nameMap.h['Can Move Down'] = '_CanMoveDown'; this._CanMoveDown = !1; this.nameMap.h['Can Move Up'] = '_CanMoveUp'; this._CanMoveUp = !1; this.nameMap.h['Max Distance'] = '_MaxDistance'; this._MaxDistance = 0; this.nameMap.h.Fly = '_Fly'; this.nameMap.h['Screen Diagonal'] = '_ScreenDiagonal'; this._ScreenDiagonal = 0; this.nameMap.h['Distance X'] = '_DistanceX'; this._DistanceX = 0; this.nameMap.h['Distance Y'] = '_DistanceY'; this._DistanceY = 0; this.nameMap.h.Direction = '_Direction'; this._Direction = 0; this.nameMap.h['Minimum Easing Speed'] = '_MinimumEasingSpeed'; this._MinimumEasingSpeed = 5; this.nameMap.h.Speed = '_Speed'; this._Speed = 8; this.nameMap.h.Margin = '_Margin'; this._Margin = 0; this.nameMap.h.Easing = '_Easing'; this._Easing = !0; this.nameMap.h['Stop when Colliding'] = '_StopwhenColliding'; this._StopwhenColliding = !0; this.nameMap.h.Collided = '_Collided'; this._Collided = !1; this.nameMap.h.Move = '_Move'; this._Move = !1; }; k['scripts.ActorEvents_876'] = Ru; Ru.__name__ = 'scripts.ActorEvents_876'; Ru.__super__ = n; Ru.prototype = t(n.prototype, { _StartY: null, _StartX: null, _DirectionRN: null, _Distance: null, _CanMoveLeft: null, _CanMoveRight: null, _CanMoveDown: null, _CanMoveUp: null, _MaxDistance: null, _Fly: null, _ScreenDiagonal: null, _DistanceX: null, _DistanceY: null, _Direction: null, _MinimumEasingSpeed: null, _Speed: null, _Margin: null, _Easing: null, _StopwhenColliding: null, _Collided: null, _Move: null, init: function () {}, forwardMessage: function (a) {}, __class__: Ru }); var Su = function (a, b, c) { n.call(this, b); this.nameMap.h['Screen Diagonal'] = '_ScreenDiagonal'; this._ScreenDiagonal = 0; this.nameMap.h['Distance X'] = '_DistanceX'; this._DistanceX = 0; this.nameMap.h['Distance Y'] = '_DistanceY'; this._DistanceY = 0; this.nameMap.h.Distance = '_Distance'; this._Distance = 0; this.nameMap.h.Direction = '_Direction'; this._Direction = 0; this.nameMap.h['Minimum Easing Speed'] = '_MinimumEasingSpeed'; this._MinimumEasingSpeed = 5; this.nameMap.h.Speed = '_Speed'; this._Speed = 8; this.nameMap.h.Margin = '_Margin'; this._Margin = 0; this.nameMap.h.Easing = '_Easing'; this._Easing = !0; this.nameMap.h['Stop when Colliding'] = '_StopwhenColliding'; this._StopwhenColliding = !0; this.nameMap.h.Collided = '_Collided'; this._Collided = !1; this.nameMap.h.Target = '_Target'; }; k['scripts.ActorEvents_878'] = Su; Su.__name__ = 'scripts.ActorEvents_878'; Su.__super__ = n; Su.prototype = t(n.prototype, { _ScreenDiagonal: null, _DistanceX: null, _DistanceY: null, _Distance: null, _Direction: null, _MinimumEasingSpeed: null, _Speed: null, _Margin: null, _Easing: null, _StopwhenColliding: null, _Collided: null, _Target: null, init: function () {}, forwardMessage: function (a) {}, __class__: Su }); var Tu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_88'] = Tu; Tu.__name__ = 'scripts.ActorEvents_88'; Tu.__super__ = n; Tu.prototype = t(n.prototype, { _event_EveryNsecs: function (a) { this.wrapper.enabled && this.actor.getY() < c.getScreenY() + c.getScreenHeight() / 2 && 1 == c.randomInt(1, 3) && (c.createRecycledActorOnLayer( c.getActorType(90), c.randomInt((this.actor.getX() - 32) | 0, (this.actor.getX() + 32) | 0), this.actor.getY(), c.engine.getLayerById(3) ), c.getLastCreatedActor().setYVelocity(0.4 * c.randomInt(8, 12)), c.getLastCreatedActor().setXVelocity(2.4000000000000004)); }, init: function () { this.actor.disableActorDrawing(); this.actor.makeAlwaysSimulate(); c.runPeriodically(2e3, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: Tu }); var Uu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_880'] = Uu; Uu.__name__ = 'scripts.ActorEvents_880'; Uu.__super__ = n; Uu.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Uu }); var Vu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_882'] = Vu; Vu.__name__ = 'scripts.ActorEvents_882'; Vu.__super__ = n; Vu.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Vu }); var Wu = function (a, b, c) { n.call(this, b); this.nameMap.h.Bomb = '_Bomb'; this._Bomb = !1; this.nameMap.h.Highlight = '_Highlight'; this.nameMap.h.Dents = '_Dents'; this.nameMap.h['Has entered screen'] = '_Hasenteredscreen'; this._Hasenteredscreen = !1; this.nameMap.h['Bounce Speed'] = '_BounceSpeed'; this._BounceSpeed = 0; this.nameMap.h.Left = '_Left'; this._Left = !0; this.nameMap.h['Ground Check'] = '_GroundCheck'; this._GroundCheck = !1; this.nameMap.h['On Grounnd'] = '_OnGrounnd'; this._OnGrounnd = !1; this.nameMap.h['No Puffs'] = '_NoPuffs'; this._NoPuffs = !1; }; k['scripts.ActorEvents_884'] = Wu; Wu.__name__ = 'scripts.ActorEvents_884'; Wu.__super__ = n; Wu.prototype = t(n.prototype, { _Bomb: null, _Highlight: null, _Dents: null, _Hasenteredscreen: null, _BounceSpeed: null, _Left: null, _GroundCheck: null, _OnGrounnd: null, _NoPuffs: null, _event_EveryNsecs: function (a) { this.wrapper.enabled && 'Level 40' == c.getCurrentSceneName() && c.createRecycledActorOnLayer( c.getActorType(974), this.actor.getXCenter() - 20, this.actor.getYCenter() - 22, c.engine.getLayerById(this.actor.getLayerID()) ); }, _event_Updating: function (a) { var b = this; if (this.wrapper.enabled) { this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, 48)); 0 == this.actor.getXVelocity() && 0 == this.actor.getYVelocity() ? this.actor.setAngularVelocity(0) : 0 == this.actor.getXVelocity() ? this.actor.setAngularVelocity(0.34906585039885557 * this.actor.getYVelocity()) : this.actor.setAngularVelocity(0.34906585039885557 * this.actor.getXVelocity()); if (this._GroundCheck) { if (!this._OnGrounnd) { this._OnGrounnd = !0; if (this.actor.isOnScreen()) { a = 0; for (var d = c.getActorsOfType(c.getActorType(2)); a < d.length; ) { var e = d[a]; ++a; null == e || e.dead || e.recycled || (this.actor.getXCenter() > e.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Big Thud Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Big Thud Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); } a = 0; for (d = c.getActorsOfType(c.getActorType(890)); a < d.length; ) (e = d[a]), ++a, null != e && !e.dead && !e.recycled && e.isOnScreen() && e.getY() > this.actor.getY() && e.getY() < this.actor.getY() + (this.actor.getHeight() + 128) && (e.setValue( 'Bounce Stone Logic', '_Distance', Math.max(this.actor.getXCenter(), e.getXCenter()) - Math.min(this.actor.getXCenter(), e.getXCenter()) ), e.shout('_customEvent_Move')); a = 0; for (d = c.getActorsOfType(c.getActorType(892)); a < d.length; ) (e = d[a]), ++a, null != e && !e.dead && !e.recycled && e.isOnScreen() && e.getY() > this.actor.getY() && e.getY() < this.actor.getY() + (this.actor.getHeight() + 128) && (e.setValue( 'Bounce Stone Logic', '_Distance', Math.max(this.actor.getXCenter(), e.getXCenter()) - Math.min(this.actor.getXCenter(), e.getXCenter()) ), e.shout('_customEvent_Move')); a = 0; for (d = c.getActorsOfType(c.getActorType(894)); a < d.length; ) (e = d[a]), ++a, null != e && !e.dead && !e.recycled && e.isOnScreen() && e.getY() > this.actor.getY() && e.getY() < this.actor.getY() + (this.actor.getHeight() + 128) && (e.setValue( 'Bounce Stone Logic', '_Distance', Math.max(this.actor.getXCenter(), e.getXCenter()) - Math.min(this.actor.getXCenter(), e.getXCenter()) ), e.shout('_customEvent_Move')); } !this._NoPuffs && this.actor.isOnScreen() && ((this._NoPuffs = !0), this.actor.isOnScreen() && c.startShakingScreen(0.006, 0.1), !h.engine.getGameAttribute('Sound Disabled') && this.actor.isOnScreen() && c.playSound(c.getSound(105)), c.runLater( 300, function (a) { b._NoPuffs = !1; }, this.actor ), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() - 24, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() - 8, this.actor.getY() + this.actor.getHeight() - 24, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 8, this.actor.getY() + this.actor.getHeight() - 24, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut)); } } else this._OnGrounnd && (this._OnGrounnd = !1); this._GroundCheck = !1; } }, _event_ActorGroup: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(1); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && a.thisFromBottom && ((this._GroundCheck = !0), 5 > Math.abs(this.actor.getXVelocity()) && (this._Left ? this.actor.setXVelocity(-5) : this.actor.setXVelocity(5))); }, _event_ActorCreated: function () { if (this.wrapper.enabled) { var a = this._Dents; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && c.recycleActor(this._Dents); a = this._Highlight; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && c.recycleActor(this._Highlight); } }, _event_Updating2: function (a) { this.wrapper.enabled && ((a = this._Dents), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a) ? ((a = this._Highlight), (a = c.isPrimitive(a) ? !0 : 'string' == typeof a ? '' != w.__cast(a, String) : null != a)) : (a = !1), a && (this._Highlight.setX(this.actor.getX()), this._Highlight.setY(this.actor.getY()), this._Dents.setX(this.actor.getX()), this._Dents.setY(this.actor.getY()), this._Dents.setAngle(1 * this.actor.getAngle())), 1 < this.actor.getYVelocity() ? (this._BounceSpeed = this.actor.getYVelocity()) : (this._BounceSpeed = 0)); }, init: function () { this.actor.makeAlwaysSimulate(); this.actor.moveToTop(); c.createRecycledActorOnLayer( c.getActorType(880), this.actor.getX(), this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ); this._Highlight = c.getLastCreatedActor(); c.createRecycledActorOnLayer( c.getActorType(882), this.actor.getX(), this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ); this._Dents = c.getLastCreatedActor(); this._Highlight.makeAlwaysSimulate(); this._Dents.makeAlwaysSimulate(); 'Level 40' == c.getCurrentSceneName() && (this.actor.setAnimation('Possum'), this._Highlight.disableActorDrawing(), this._Dents.disableActorDrawing()); c.runPeriodically(200, m(this, this._event_EveryNsecs), this.actor); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener(this.actor.whenCollided, m(this, this._event_ActorGroup)); this.addListener(this.actor.whenKilled, m(this, this._event_ActorCreated)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating2)); }, forwardMessage: function (a) {}, __class__: Wu }); var Xu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_886'] = Xu; Xu.__name__ = 'scripts.ActorEvents_886'; Xu.__super__ = n; Xu.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Xu }); var Yu = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_888'] = Yu; Yu.__name__ = 'scripts.ActorEvents_888'; Yu.__super__ = n; Yu.prototype = t(n.prototype, { _event_ActorType: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(884); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && c.recycleActor(a.otherActor); }, init: function () { this.actor.makeAlwaysSimulate(); this.actor.disableActorDrawing(); this.addListener(this.actor.whenCollided, m(this, this._event_ActorType)); }, forwardMessage: function (a) {}, __class__: Yu }); var Zu = function (a, b, c) { n.call(this, b); this.nameMap.h.Move = '_Move'; this._Move = !1; this.nameMap.h['Start Y'] = '_StartY'; this._StartY = 0; }; k['scripts.ActorEvents_890'] = Zu; Zu.__name__ = 'scripts.ActorEvents_890'; Zu.__super__ = n; Zu.prototype = t(n.prototype, { _Move: null, _StartY: null, init: function () {}, forwardMessage: function (a) {}, __class__: Zu }); var $u = function (a, b, c) { n.call(this, b); this.nameMap.h.Move = '_Move'; this._Move = !1; this.nameMap.h['Start Y'] = '_StartY'; this._StartY = 0; }; k['scripts.ActorEvents_892'] = $u; $u.__name__ = 'scripts.ActorEvents_892'; $u.__super__ = n; $u.prototype = t(n.prototype, { _Move: null, _StartY: null, init: function () {}, forwardMessage: function (a) {}, __class__: $u }); var av = function (a, b, c) { n.call(this, b); this.nameMap.h.Move = '_Move'; this._Move = !1; this.nameMap.h['Start Y'] = '_StartY'; this._StartY = 0; }; k['scripts.ActorEvents_894'] = av; av.__name__ = 'scripts.ActorEvents_894'; av.__super__ = n; av.prototype = t(n.prototype, { _Move: null, _StartY: null, init: function () {}, forwardMessage: function (a) {}, __class__: av }); var bv = function (a, b, c) { n.call(this, b); this.nameMap.h['Boulder Check'] = '_BoulderCheck'; this._BoulderCheck = !1; this.nameMap.h['On Boulder'] = '_OnBoulder'; this._OnBoulder = !1; }; k['scripts.ActorEvents_896'] = bv; bv.__name__ = 'scripts.ActorEvents_896'; bv.__super__ = n; bv.prototype = t(n.prototype, { _BoulderCheck: null, _OnBoulder: null, _event_ActorType: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(884); var d = a.otherActor.getType(); a = a.otherActor.getGroup(); b = b == d || b == a; } else b = !1; b && (this._BoulderCheck = !0); }, _event_Updating: function (a) { this.wrapper.enabled && (this._BoulderCheck ? this._OnBoulder || ((this._OnBoulder = !0), this.actor.isOnScreen() && (h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(617)), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Muck'), c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() - 8, this.actor.getY() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Muck'), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 8, this.actor.getY() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Muck'), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut))) : this._OnBoulder && (this._OnBoulder = !1), (this._BoulderCheck = !1)); }, init: function () { this.actor.makeAlwaysSimulate(); this.actor.disableActorDrawing(); this.addListener(this.actor.whenCollided, m(this, this._event_ActorType)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: bv }); var cv = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_898'] = cv; cv.__name__ = 'scripts.ActorEvents_898'; cv.__super__ = n; cv.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: cv }); var dv = function (a, b, c) { n.call(this, b); this.nameMap.h.Down = '_Down'; this._Down = !1; }; k['scripts.ActorEvents_90'] = dv; dv.__name__ = 'scripts.ActorEvents_90'; dv.__super__ = n; dv.prototype = t(n.prototype, { _Down: null, _event_IncreaseYSpeed: function (a) { this.wrapper.enabled && (this._Down ? 4 > this.actor.getYVelocity() && this.actor.setYVelocity(this.actor.getYVelocity() + 0.1) : -4 < this.actor.getYVelocity() && this.actor.setYVelocity(this.actor.getYVelocity() - 0.1)); }, _event_ChangeDirection: function (a) { this.wrapper.enabled && 1 == c.randomInt(1, 3) && (this._Down = this._Down ? !1 : !0); }, _event_Destroy: function (a) { this.wrapper.enabled && 0 > this.actor.getX() && c.recycleActor(this.actor); }, init: function () { this.actor.makeAlwaysSimulate(); this.actor.setXVelocity(c.randomInt(-20, -10)); 1 == c.randomInt(1, 2) && (this._Down = !0); c.runPeriodically(100, m(this, this._event_IncreaseYSpeed), this.actor); c.runPeriodically(800, m(this, this._event_ChangeDirection), this.actor); c.runPeriodically(200, m(this, this._event_Destroy), this.actor); }, forwardMessage: function (a) {}, __class__: dv }); var ev = function (a, b, c) { n.call(this, b); this.nameMap.h.Dude = '_Dude'; this.nameMap.h.Distance = '_Distance'; this._Distance = 0; }; k['scripts.ActorEvents_901'] = ev; ev.__name__ = 'scripts.ActorEvents_901'; ev.__super__ = n; ev.prototype = t(n.prototype, { _Dude: null, _Distance: null, _event_EveryNsecs: function (a) { this.wrapper.enabled && ((a = this._Dude), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && ((this._Distance = Math.max( 0, Math.max(this.actor.getY(), this._Dude.getY()) - Math.min(this.actor.getY(), this._Dude.getY()) )), c.setVolumeForChannel(Math.max(0, 100 - 0.2 * this._Distance) / 100, 10)); }, init: function () { this.actor.makeAlwaysSimulate(); h.engine.getGameAttribute('Sound Disabled') || c.loopSoundOnChannel(c.getSound(1154), 10); for (var a = 0, b = c.getActorsOfType(c.getActorType(2)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || (this._Dude = d); } c.runPeriodically(200, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: ev }); var fv = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_903'] = fv; fv.__name__ = 'scripts.ActorEvents_903'; fv.__super__ = n; fv.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); Q.setScale('width', 480, this.actor); Q.setScale('height', c.getScreenHeight() + 32, this.actor); }, forwardMessage: function (a) {}, __class__: fv }); var gv = function (a, b, c) { n.call(this, b); this.nameMap.h.In = '_In'; this._In = !1; this.nameMap.h.Fire = '_Fire'; }; k['scripts.ActorEvents_905'] = gv; gv.__name__ = 'scripts.ActorEvents_905'; gv.__super__ = n; gv.prototype = t(n.prototype, { _In: null, _Fire: null, _event_EveryNsecs: function (a) { this.wrapper.enabled && (this._In ? ((this._In = !1), this.actor.growTo(1, 0.8, 0.45, v.quadInOut)) : ((this._In = !0), this.actor.growTo(1, 1, 0.45, v.quadInOut))); }, init: function () { this.actor.makeAlwaysSimulate(); this.actor.set_alpha(0.6); this._In = !0; this.actor.growTo(1, 1, 0.45, v.quadInOut); c.runPeriodically(500, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: gv }); var hv = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_907'] = hv; hv.__name__ = 'scripts.ActorEvents_907'; hv.__super__ = n; hv.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: hv }); var iv = function (a, b, c) { n.call(this, b); this.nameMap.h.Fin = '_Fin'; this.nameMap.h.Stopped = '_Stopped'; this._Stopped = !1; this.nameMap.h['Flash On'] = '_FlashOn'; this._FlashOn = !1; this.nameMap.h.Flash = '_Flash'; this._Flash = !1; this.nameMap.h['Debris Speed'] = '_DebrisSpeed'; this._DebrisSpeed = 0; this.nameMap.h.Cannonball = '_Cannonball'; this._Cannonball = !1; this.nameMap.h['Cannonball Timer'] = '_CannonballTimer'; this._CannonballTimer = 0; this.nameMap.h.Gravity = '_Gravity'; this._Gravity = !1; }; k['scripts.ActorEvents_909'] = iv; iv.__name__ = 'scripts.ActorEvents_909'; iv.__super__ = n; iv.prototype = t(n.prototype, { _Fin: null, _Stopped: null, _FlashOn: null, _Flash: null, _DebrisSpeed: null, _Cannonball: null, _CannonballTimer: null, _Gravity: null, _event_Updating: function (a) { this.wrapper.enabled && ((a = this._Fin), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && (this._Fin.setX(this.actor.getX() + 14), this._Fin.setY(this.actor.getY() - 6)); }, _event_ActorAny: function (a) { var b = this; this.wrapper.enabled && a.otherActor.getType() == c.getActorType(915) && !this._Stopped && (c.recycleActor(a.otherActor), this.actor.setXVelocity(0), (this._Flash = this._Stopped = !0), c.runLater( 600, function (a) { b.actor.isOnScreen() && (h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(405)), c.startShakingScreen(0.01, 0.1)); c.createRecycledActorOnLayer( c.getActorType(403), b.actor.getXCenter() - 80, b.actor.getYCenter() - 80, c.engine.getLayerById(b.actor.getLayerID()) ); c.recycleActor(b._Fin); c.recycleActor(b.actor); }, this.actor )); }, _event_Flash: function (a) { this.wrapper.enabled && this._Flash && (this._FlashOn ? ((this._FlashOn = !1), this.actor.clearFilters(), this._Fin.clearFilters()) : ((this._FlashOn = !0), this.actor.setFilter([c.createBrightnessFilter(100)]), this._Fin.setFilter([c.createBrightnessFilter(100)]))); }, _event_Smoke: function (a) { this.wrapper.enabled && (c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + 16, this.actor.getY() + 12 - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setXVelocity(-10), c.getLastCreatedActor().setAnimation('Smoke2'), c.getLastCreatedActor().moveToBottom()); }, init: function () { this.actor.makeAlwaysSimulate(); this.actor.setXVelocity(8); c.createRecycledActorOnLayer( c.getActorType(913), this.actor.getX() + 14, this.actor.getY() - 6, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveToBottom(); this._Fin = c.getLastCreatedActor(); c.getLastCreatedActor().makeAlwaysSimulate(); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener(this.actor.whenCollided, m(this, this._event_ActorAny)); c.runPeriodically(50, m(this, this._event_Flash), this.actor); c.runPeriodically(100, m(this, this._event_Smoke), this.actor); }, forwardMessage: function (a) {}, __class__: iv }); var jv = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_911'] = jv; jv.__name__ = 'scripts.ActorEvents_911'; jv.__super__ = n; jv.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: jv }); var kv = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_913'] = kv; kv.__name__ = 'scripts.ActorEvents_913'; kv.__super__ = n; kv.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: kv }); var lv = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_915'] = lv; lv.__name__ = 'scripts.ActorEvents_915'; lv.__super__ = n; lv.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); this.actor.disableActorDrawing(); }, forwardMessage: function (a) {}, __class__: lv }); var mv = function (a, b, c) { n.call(this, b); this.nameMap.h['Ground Check'] = '_GroundCheck'; this._GroundCheck = !1; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['On Ground'] = '_OnGround'; this._OnGround = !1; this.nameMap.h['Can Make Noise'] = '_CanMakeNoise'; this._CanMakeNoise = !1; this.nameMap.h.Quicksand = '_Quicksand'; this._Quicksand = !1; this.nameMap.h['Quicksand Y'] = '_QuicksandY'; this._QuicksandY = 0; this.nameMap.h.Sink = '_Sink'; this._Sink = !1; }; k['scripts.ActorEvents_917'] = mv; mv.__name__ = 'scripts.ActorEvents_917'; mv.__super__ = n; mv.prototype = t(n.prototype, { _GroundCheck: null, _GravitySpeed: null, _OnGround: null, _CanMakeNoise: null, _Quicksand: null, _QuicksandY: null, _Sink: null, init: function () {}, forwardMessage: function (a) {}, __class__: mv }); var nv = function (a, b, c) { n.call(this, b); this.nameMap.h.Springing = '_Springing'; this._Springing = !1; }; k['scripts.ActorEvents_919'] = nv; nv.__name__ = 'scripts.ActorEvents_919'; nv.__super__ = n; nv.prototype = t(n.prototype, { _Springing: null, _event_HitsDude: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(2); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && (a.otherActor.getValue('Dude Logic', '_Riding') ? a.otherActor.setYVelocity(-90) : a.otherActor.setYVelocity(-92), this._Springing || ((this._Springing = !0), this.actor.setAnimation('Springing'), a.otherActor.setValue('Dude Logic', '_Springing', !0), a.otherActor.setValue('Dude Logic', '_CanDoubleJump', !0), c.setValueForScene('Stage Logic', '_RumbleName', 'Spring'), c.sayToScene('Stage Logic', '_customEvent_rumble'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(114)), c.runLater( 200, function (a) { b.actor.setAnimation('Normal'); b._Springing = !1; }, this.actor ))); }, _event_HitsCrate: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(32); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && 0 == a.otherActor.getValue('Pushable Crate Logic', '_HasSpring') && !this._Springing && ((this._Springing = !0), a.otherActor.setYVelocity(-148), this.actor.setAnimation('Springing'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(114)), c.runLater( 200, function (a) { b.actor.setAnimation('Normal'); b._Springing = !1; }, this.actor )); }, _event_HitsSundae: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(762); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && !this._Springing && ((this._Springing = !0), a.otherActor.setYVelocity(-148), this.actor.setAnimation('Springing'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(114)), c.runLater( 200, function (a) { b.actor.setAnimation('Normal'); b._Springing = !1; }, this.actor )); }, _event_HitsBoulder: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(884); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && !this._Springing && ((this._Springing = !0), a.otherActor.setYVelocity(-148), this.actor.setAnimation('Springing'), !h.engine.getGameAttribute('Sound Disabled') && this.actor.isOnScreen() && c.playSound(c.getSound(114)), c.runLater( 200, function (a) { b.actor.setAnimation('Normal'); b._Springing = !1; }, this.actor )); }, init: function () { this.actor.makeAlwaysSimulate(); this.addListener(this.actor.whenCollided, m(this, this._event_HitsDude)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsCrate)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsSundae)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsBoulder)); }, forwardMessage: function (a) {}, __class__: nv }); var ov = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_92'] = ov; ov.__name__ = 'scripts.ActorEvents_92'; ov.__super__ = n; ov.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: ov }); var pv = function (a, b, c) { n.call(this, b); this.nameMap.h.Dude = '_Dude'; this.nameMap.h.Distance = '_Distance'; this._Distance = 0; }; k['scripts.ActorEvents_921'] = pv; pv.__name__ = 'scripts.ActorEvents_921'; pv.__super__ = n; pv.prototype = t(n.prototype, { _Dude: null, _Distance: null, _event_EveryNsecs: function (a) { this.wrapper.enabled && ((a = this._Dude), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && ((this._Distance = Math.max( 0, Math.max(this.actor.getX() + this.actor.getWidth(), this._Dude.getX()) - Math.min(this.actor.getX() + this.actor.getWidth(), this._Dude.getX()) )), c.setVolumeForChannel(Math.max(0, 100 - 0.2 * this._Distance) / 100, 10)); }, init: function () { this.actor.makeAlwaysSimulate(); h.engine.getGameAttribute('Sound Disabled') || c.loopSoundOnChannel(c.getSound(1154), 10); for (var a = 0, b = c.getActorsOfType(c.getActorType(2)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || (this._Dude = d); } c.runPeriodically(200, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: pv }); var qv = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_923'] = qv; qv.__name__ = 'scripts.ActorEvents_923'; qv.__super__ = n; qv.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); Q.setScale('width', c.getScreenWidth() + 32, this.actor); Q.setScale('height', 640, this.actor); }, forwardMessage: function (a) {}, __class__: qv }); var rv = function (a, b, c) { n.call(this, b); this.nameMap.h.In = '_In'; this._In = !1; this.nameMap.h.Fire = '_Fire'; }; k['scripts.ActorEvents_925'] = rv; rv.__name__ = 'scripts.ActorEvents_925'; rv.__super__ = n; rv.prototype = t(n.prototype, { _In: null, _Fire: null, _event_EveryNsecs: function (a) { this.wrapper.enabled && (this._In ? ((this._In = !1), this.actor.growTo(0.8, 1, 0.45, v.quadInOut)) : ((this._In = !0), this.actor.growTo(1, 1, 0.45, v.quadInOut))); }, init: function () { this.actor.makeAlwaysSimulate(); this.actor.set_alpha(0.6); this._In = !0; this.actor.growTo(1, 1, 0.45, v.quadInOut); c.runPeriodically(500, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: rv }); var sv = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_931'] = sv; sv.__name__ = 'scripts.ActorEvents_931'; sv.__super__ = n; sv.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: sv }); var tv = function (a, b, c) { n.call(this, b); this.nameMap.h.Stopped = '_Stopped'; this._Stopped = !1; }; k['scripts.ActorEvents_935'] = tv; tv.__name__ = 'scripts.ActorEvents_935'; tv.__super__ = n; tv.prototype = t(n.prototype, { _Stopped: null, init: function () {}, forwardMessage: function (a) {}, __class__: tv }); var uv = function (a, b, c) { n.call(this, b); this.nameMap.h['Can Fall'] = '_CanFall'; this._CanFall = !1; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; }; k['scripts.ActorEvents_937'] = uv; uv.__name__ = 'scripts.ActorEvents_937'; uv.__super__ = n; uv.prototype = t(n.prototype, { _CanFall: null, _GravitySpeed: null, _event_ActorAny: function (a) { var b = this; this.wrapper.enabled && this._CanFall && ((this._CanFall = !1), this.actor.setYVelocity(0), this.actor.setFilter([c.createBrightnessFilter(100)]), c.runLater( 100, function (a) { b.actor.isOnScreen() && (h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(405)), c.startShakingScreen(0.01, 0.1)); c.createRecycledActorOnLayer( c.getActorType(403), b.actor.getXCenter() - 80, b.actor.getYCenter() - 80, c.engine.getLayerById(b.actor.getLayerID()) ); c.recycleActor(b.actor); }, this.actor )); }, _event_Updating: function (a) { this.wrapper.enabled && this._CanFall && this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed)); }, _customEvent_Fall: function () { this._CanFall = !0; }, init: function () { this.actor.makeAlwaysSimulate(); this._GravitySpeed = 48; this.addListener(this.actor.whenCollided, m(this, this._event_ActorAny)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: uv }); var vv = function (a, b, c) { n.call(this, b); this.nameMap.h.Springing = '_Springing'; this._Springing = !1; this.nameMap.h['Facing Left'] = '_FacingLeft'; this._FacingLeft = !1; }; k['scripts.ActorEvents_939'] = vv; vv.__name__ = 'scripts.ActorEvents_939'; vv.__super__ = n; vv.prototype = t(n.prototype, { _Springing: null, _FacingLeft: null, init: function () { var a = this; this.actor.makeAlwaysSimulate(); this.actor.setFilter([c.createBrightnessFilter(100)]); c.runLater( 100, function (b) { a.actor.clearFilters(); }, this.actor ); c.runLater( 1e3, function (b) { a.actor.setFilter([c.createBrightnessFilter(100)]); c.runLater( 100, function (b) { c.startShakingScreen(0.01, 0.2); b = 0; for (var d = c.getActorsOfType(c.getActorType(2)); b < d.length; ) { var f = d[b]; ++b; null == f || f.dead || f.recycled || (a.actor.getXCenter() > f.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Cannon Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Cannon Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); } c.createRecycledActorOnLayer( c.getActorType(28), a.actor.getXCenter() - 16, a.actor.getYCenter() - 16, c.engine.getLayerById(a.actor.getLayerID()) ); !h.engine.getGameAttribute('Sound Disabled') && a.actor.isOnScreen() && c.playSound(c.getSound(405)); for (b = 0; 10 > b; ) b++, c.createRecycledActorOnLayer( c.getActorType(941), c.randomInt(a.actor.getX() | 0, (a.actor.getX() + 64) | 0), a.actor.getY(), c.engine.getLayerById(a.actor.getLayerID()) ), c .getLastCreatedActor() .setAngularVelocity(0.01745329251994278 * c.randomInt(-50, 50)), c.getLastCreatedActor().setYVelocity(c.randomInt(-50, -64)), c.getLastCreatedActor().setXVelocity(c.randomInt(-24, 24)); c.recycleActor(a.actor); }, a.actor ); }, this.actor ); }, forwardMessage: function (a) {}, __class__: vv }); var wv = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_94'] = wv; wv.__name__ = 'scripts.ActorEvents_94'; wv.__super__ = n; wv.prototype = t(n.prototype, { _event_AfterNsecs: function (a) { this.wrapper.enabled && c.recycleActor(this.actor); }, init: function () { this.actor.makeAlwaysSimulate(); c.runLater(400, m(this, this._event_AfterNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: wv }); var xv = function (a, b, c) { n.call(this, b); this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['Times Up'] = '_TimesUp'; this._TimesUp = !1; }; k['scripts.ActorEvents_941'] = xv; xv.__name__ = 'scripts.ActorEvents_941'; xv.__super__ = n; xv.prototype = t(n.prototype, { _GravitySpeed: null, _TimesUp: null, _event_HitsGround: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(1); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && (this._TimesUp ? (h.engine.getGameAttribute('Sound Disabled') || (this.actor.isOnScreen() && c.playSound(c.getSound(221))), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, 16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, 16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.recycleActor(this.actor)) : a.thisFromBottom && (h.engine.getGameAttribute('Sound Disabled') || (0 <= this.actor.getYVelocity() && this.actor.isOnScreen() && c.playSound(c.getSound(220))), this.actor.setYVelocity(c.randomInt(-50, -64)))); }, _event_AfterNsecs: function (a) { this.wrapper.enabled && (this._TimesUp = !0); }, _event_EveryNsecs: function (a) { this.wrapper.enabled && this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed)); }, init: function () { this.actor.makeAlwaysSimulate(); this._GravitySpeed = c.randomInt(28, 48); this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); c.runLater( 1e3 * (c.randomInt(50, 150) / 100), m(this, this._event_AfterNsecs), this.actor ); c.runPeriodically(10, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: xv }); var yv = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_944'] = yv; yv.__name__ = 'scripts.ActorEvents_944'; yv.__super__ = n; yv.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: yv }); var zv = function (a, b, c) { n.call(this, b); this.nameMap.h['Start Y'] = '_StartY'; this._StartY = 0; this.nameMap.h.Dropped = '_Dropped'; this._Dropped = !1; this.nameMap.h.Hit = '_Hit'; this._Hit = !1; this.nameMap.h.Center = '_Center'; this._Center = 0; }; k['scripts.ActorEvents_946'] = zv; zv.__name__ = 'scripts.ActorEvents_946'; zv.__super__ = n; zv.prototype = t(n.prototype, { _StartY: null, _Dropped: null, _Hit: null, _Center: null, _customEvent_Drop: function () { var a = this; this._Dropped || ((this._Dropped = !0), this.actor.moveTo(this.actor.getX(), this._StartY + 96, 0.3, v.elasticOut), c.runLater( 2e3, function (b) { a.actor.moveTo(a.actor.getX(), a._StartY, 0.3, v.quadInOut); c.runLater( 300, function (b) { a._Dropped = !1; }, a.actor ); }, this.actor )); }, init: function () {}, forwardMessage: function (a) {}, __class__: zv }); var Av = function (a, b, c) { n.call(this, b); this.nameMap.h['Screen Diagonal'] = '_ScreenDiagonal'; this._ScreenDiagonal = 0; this.nameMap.h['Distance X'] = '_DistanceX'; this._DistanceX = 0; this.nameMap.h['Distance Y'] = '_DistanceY'; this._DistanceY = 0; this.nameMap.h.Distance = '_Distance'; this._Distance = 0; this.nameMap.h.Direction = '_Direction'; this._Direction = 0; this.nameMap.h['Minimum Easing Speed'] = '_MinimumEasingSpeed'; this._MinimumEasingSpeed = 5; this.nameMap.h.Speed = '_Speed'; this._Speed = 30; this.nameMap.h.Margin = '_Margin'; this._Margin = 0; this.nameMap.h.Easing = '_Easing'; this._Easing = !1; this.nameMap.h['Stop when Colliding'] = '_StopwhenColliding'; this._StopwhenColliding = !0; this.nameMap.h.Collided = '_Collided'; this._Collided = !1; this.nameMap.h.Target = '_Target'; }; k['scripts.ActorEvents_948'] = Av; Av.__name__ = 'scripts.ActorEvents_948'; Av.__super__ = n; Av.prototype = t(n.prototype, { _ScreenDiagonal: null, _DistanceX: null, _DistanceY: null, _Distance: null, _Direction: null, _MinimumEasingSpeed: null, _Speed: null, _Margin: null, _Easing: null, _StopwhenColliding: null, _Collided: null, _Target: null, _event_Updating: function (a) { this.wrapper.enabled && (0 < this.actor.getXVelocity() && 'Right' != this.actor.getAnimation() && this.actor.setAnimation('Right'), 0 > this.actor.getXVelocity() && 'Left' != this.actor.getAnimation() && this.actor.setAnimation('Left')); }, _event_Updated: function (a) { this.wrapper.enabled && ((a = this._Target), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Target.isAlive() && ((this._DistanceX = this._Target.getXCenter() - this.actor.getXCenter()), (this._DistanceY = this._Target.getYCenter() - this.actor.getYCenter()), (this._Distance = Math.sqrt( Math.pow(this._DistanceX, 2) + Math.pow(this._DistanceY, 2) )), (this._Direction = 57.29577951308402 * Math.atan2(this._DistanceY, this._DistanceX)), !(this._Distance > this._Margin) || (this._StopwhenColliding && this._Collided) ? this.actor.setVelocity(0, 0) : this.actor.setVelocity(this._Direction, this._Speed), (this._Collided = !1))); }, init: function () { var a = this; this.actor.makeAlwaysSimulate(); c.runLater( 600, function (b) { b = 0; for (var d = c.getActorsOfType(c.getActorType(944)); b < d.length; ) { var e = d[b]; ++b; null == e || e.dead || e.recycled || (a._Target = e); } }, this.actor ); this._ScreenDiagonal = Math.sqrt( Math.pow(c.getScreenWidth(), 2) + Math.pow(c.getScreenHeight(), 2) ); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updated)); }, forwardMessage: function (a) {}, __class__: Av }); var Bv = function (a, b, c) { n.call(this, b); this.nameMap.h.Springing = '_Springing'; this._Springing = !1; this.nameMap.h['Facing Left'] = '_FacingLeft'; this._FacingLeft = !1; this.nameMap.h.Foreman = '_Foreman'; }; k['scripts.ActorEvents_950'] = Bv; Bv.__name__ = 'scripts.ActorEvents_950'; Bv.__super__ = n; Bv.prototype = t(n.prototype, { _Springing: null, _FacingLeft: null, _Foreman: null, _event_HitsDude: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(2); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && a.thisFromTop && !this._Springing && ('Left' == this.actor.getAnimation() && (this._FacingLeft = !0), this.actor.growTo(1.2, 0.8, 0.1, v.quadInOut), c.runLater( 100, function (a) { b.actor.growTo(1, 1, 0.3, v.elasticOut); }, this.actor ), (this._Springing = !0), a.otherActor.setYVelocity(-72), a.otherActor.setValue('Dude Logic', '_Springing', !0), a.otherActor.setValue('Dude Logic', '_CanDoubleJump', !0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(782)), 'Left' == this.actor.getAnimation() ? (c.createRecycledActorOnLayer( c.getActorType(776), this.actor.getX() + 6, this.actor.getY() + 76, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveToBottom(), c.getLastCreatedActor().setAnimation('Left Start'), c.getLastCreatedActor().setXVelocity(-20)) : (c.createRecycledActorOnLayer( c.getActorType(776), this.actor.getX() + 90, this.actor.getY() + 76, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveToBottom(), c.getLastCreatedActor().setAnimation('Right Start'), c.getLastCreatedActor().setXVelocity(20)), this._Foreman.shout('_customEvent_Bounce'), c.runLater( 200, function (a) { b._Springing = !1; }, this.actor )); }, init: function () { this.actor.makeAlwaysSimulate(); c.createRecycledActorOnLayer( c.getActorType(952), this.actor.getX() + 48, this.actor.getY() + 10, c.engine.getLayerById(this.actor.getLayerID()) ); this._Foreman = c.getLastCreatedActor(); c.getLastCreatedActor().moveToBottom(); c.getLastCreatedActor().setAngularVelocity(5.235987755982833); c.getLastCreatedActor().setYVelocity(-70); c.startShakingScreen(0.01, 0.2); for (var a = 0, b = c.getActorsOfType(c.getActorType(2)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || (this.actor.getXCenter() > d.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Big Thud Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Big Thud Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); } h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(105)); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut); this.addListener(this.actor.whenCollided, m(this, this._event_HitsDude)); }, forwardMessage: function (a) {}, __class__: Bv }); var Cv = function (a, b, c) { n.call(this, b); this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['Times Up'] = '_TimesUp'; this._TimesUp = !1; this.nameMap.h.Dead = '_Dead'; this._Dead = !1; }; k['scripts.ActorEvents_952'] = Cv; Cv.__name__ = 'scripts.ActorEvents_952'; Cv.__super__ = n; Cv.prototype = t(n.prototype, { _GravitySpeed: null, _TimesUp: null, _Dead: null, _event_HitsGround: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(1); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && !this._Dead && (this._TimesUp ? 0 <= this.actor.getYVelocity() && (h.engine.getGameAttribute('Sound Disabled') || (this.actor.isOnScreen() && c.playSound(c.getSound(112))), c.startShakingScreen(0.006999999999999999, 0.15), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Small'), c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Small'), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Small'), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut), this.actor.setAngularVelocity(0), this.actor.setAngle(0), (this._Dead = !0), this.actor.setAnimation('Dead'), this.actor.setXVelocity(0), this.actor.setYVelocity(0)) : a.thisFromBottom && (h.engine.getGameAttribute('Sound Disabled') || (0 <= this.actor.getYVelocity() && this.actor.isOnScreen() && c.playSound(c.getSound(220))), this.actor.setYVelocity(c.randomInt(-50, -64)))); }, _event_AfterNsecs: function (a) { this.wrapper.enabled && (this._TimesUp = !0); }, _event_Updating: function (a) { this.wrapper.enabled && (this._Dead || this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, 48))); }, _customEvent_Bounce: function () { this._Dead && ((this._Dead = !1), this.actor.setAnimation('Bounce'), this.actor.setYVelocity(-20)); }, init: function () { this.actor.makeAlwaysSimulate(); this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); c.runLater(1500, m(this, this._event_AfterNsecs), this.actor); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Cv }); var Dv = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_956'] = Dv; Dv.__name__ = 'scripts.ActorEvents_956'; Dv.__super__ = n; Dv.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Dv }); var Ev = function (a, b, c) { n.call(this, b); this.nameMap.h.Springing = '_Springing'; this._Springing = !1; this.nameMap.h['Can Pop'] = '_CanPop'; this._CanPop = !1; }; k['scripts.ActorEvents_958'] = Ev; Ev.__name__ = 'scripts.ActorEvents_958'; Ev.__super__ = n; Ev.prototype = t(n.prototype, { _Springing: null, _CanPop: null, _event_HitsDude: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(2); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && (a.otherActor.setYVelocity(-56), this._Springing || ((this._Springing = !0), a.otherActor.setValue('Dude Logic', '_Springing', !0), a.otherActor.setValue('Dude Logic', '_CanDoubleJump', !0), this.actor.setFilter([c.createBrightnessFilter(100)]), c.setValueForScene('Stage Logic', '_RumbleName', 'Balloon'), c.sayToScene('Stage Logic', '_customEvent_rumble'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(412)), c.runLater( 100, function (a) { c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-16, -16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(16, -16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-16, 16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(16, 16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.recycleActor(b.actor); }, this.actor ))); }, _event_Updating: function (a) { this.wrapper.enabled && 'Appear' == this.actor.getAnimation() && 5 == this.actor.getCurrentFrame() && this.actor.setAnimation('Normal'); }, _event_ActorGroup: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorGroup(1); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && this._CanPop && a.otherActor.getType() != c.getActorType(794) && !this._Springing && ((this._Springing = !0), this.actor.isOnScreen() && !h.engine.getGameAttribute('Sound Disabled') && c.playSound(c.getSound(412)), c.runLater( 100, function (a) { c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-16, -16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(16, -16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-16, 16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(16, 16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.recycleActor(b.actor); }, this.actor )); }, _event_AfterNsecs: function (a) { this.wrapper.enabled && (this._CanPop = !0); }, _customEvent_Pop: function () { c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-16, -16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(16, -16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-16, 16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(16, 16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.recycleActor(this.actor); }, init: function () { this.actor.makeAlwaysSimulate(); this.addListener(this.actor.whenCollided, m(this, this._event_HitsDude)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener(this.actor.whenCollided, m(this, this._event_ActorGroup)); c.runLater(1e3, m(this, this._event_AfterNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: Ev }); var Fv = function (a, b, c) { n.call(this, b); this.nameMap.h.Up = '_Up'; this._Up = !1; }; k['scripts.ActorEvents_96'] = Fv; Fv.__name__ = 'scripts.ActorEvents_96'; Fv.__super__ = n; Fv.prototype = t(n.prototype, { _Up: null, init: function () {}, forwardMessage: function (a) {}, __class__: Fv }); var Gv = function (a, b, c) { n.call(this, b); this.nameMap.h.Springing = '_Springing'; this._Springing = !1; this.nameMap.h['Can Pop'] = '_CanPop'; this._CanPop = !1; }; k['scripts.ActorEvents_960'] = Gv; Gv.__name__ = 'scripts.ActorEvents_960'; Gv.__super__ = n; Gv.prototype = t(n.prototype, { _Springing: null, _CanPop: null, _event_ActorGroup: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(1); var d = a.otherActor.getType(); a = a.otherActor.getGroup(); b = b == d || b == a; } else b = !1; b && c.recycleActor(this.actor); }, init: function () { this.actor.makeAlwaysSimulate(); this.addListener(this.actor.whenCollided, m(this, this._event_ActorGroup)); }, forwardMessage: function (a) {}, __class__: Gv }); var Hv = function (a, b, c) { n.call(this, b); this.nameMap.h.Springing = '_Springing'; this._Springing = !1; this.nameMap.h['Facing Left'] = '_FacingLeft'; this._FacingLeft = !1; }; k['scripts.ActorEvents_962'] = Hv; Hv.__name__ = 'scripts.ActorEvents_962'; Hv.__super__ = n; Hv.prototype = t(n.prototype, { _Springing: null, _FacingLeft: null, _customEvent_Explode: function () { var a = this; this.actor.setFilter([c.createBrightnessFilter(100)]); c.runLater( 100, function (b) { c.startShakingScreen(0.01, 0.2); c.createRecycledActorOnLayer( c.getActorType(28), a.actor.getXCenter() - 16, a.actor.getYCenter() - 16, c.engine.getLayerById(a.actor.getLayerID()) ); !h.engine.getGameAttribute('Sound Disabled') && a.actor.isOnScreen() && c.playSound(c.getSound(405)); b = 0; for (var d = c.getActorsOfType(c.getActorType(2)); b < d.length; ) { var e = d[b]; ++b; null == e || e.dead || e.recycled || (a.actor.getXCenter() > e.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Cannon Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Cannon Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); } 'Left' == a.actor.getAnimation() ? (c.createRecycledActorOnLayer( c.getActorType(966), a.actor.getX() + 50, a.actor.getY() + 26, c.engine.getLayerById(a.actor.getLayerID()) ), c.getLastCreatedActor().setAngularVelocity(0.8726646259971389)) : (c.createRecycledActorOnLayer( c.getActorType(966), a.actor.getX() + 6, a.actor.getY() + 26, c.engine.getLayerById(a.actor.getLayerID()) ), c.getLastCreatedActor().setAngularVelocity(-0.8726646259971389)); for (b = 0; 10 > b; ) b++, c.createRecycledActorOnLayer( c.getActorType(964), c.randomInt(a.actor.getX() | 0, (a.actor.getX() + 64) | 0), a.actor.getY(), c.engine.getLayerById(a.actor.getLayerID()) ), c.getLastCreatedActor().setYVelocity(c.randomInt(-50, -64)), c.getLastCreatedActor().setXVelocity(c.randomInt(-24, 24)); c.recycleActor(a.actor); }, this.actor ); }, init: function () { var a = this; this.actor.makeAlwaysSimulate(); this.actor.setFilter([c.createBrightnessFilter(100)]); c.runLater( 100, function (b) { a.actor.clearFilters(); }, this.actor ); c.runLater( 1e3, function (b) { a.actor.shout('_customEvent_Explode'); }, this.actor ); }, forwardMessage: function (a) {}, __class__: Hv }); var Iv = function (a, b, c) { n.call(this, b); this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['Times Up'] = '_TimesUp'; this._TimesUp = !1; }; k['scripts.ActorEvents_964'] = Iv; Iv.__name__ = 'scripts.ActorEvents_964'; Iv.__super__ = n; Iv.prototype = t(n.prototype, { _GravitySpeed: null, _TimesUp: null, _event_HitsGround: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(1); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && (this._TimesUp ? (h.engine.getGameAttribute('Sound Disabled') || (this.actor.isOnScreen() && c.playSound(c.getSound(221))), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, 16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, 16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.recycleActor(this.actor)) : a.thisFromBottom && (h.engine.getGameAttribute('Sound Disabled') || (0 <= this.actor.getYVelocity() && this.actor.isOnScreen() && c.playSound(c.getSound(220))), this.actor.setYVelocity(c.randomInt(-50, -64)))); }, _event_AfterNsecs: function (a) { this.wrapper.enabled && (this._TimesUp = !0); }, _event_Updating: function (a) { this.wrapper.enabled && ('Left' != this.actor.getAnimation() && 0 > this.actor.getXVelocity() ? this.actor.setAnimation('Left') : 'Right' != this.actor.getAnimation() && 0 < this.actor.getXVelocity() && this.actor.setAnimation('Right')); }, _event_EveryNsecs: function (a) { this.wrapper.enabled && this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed)); }, init: function () { this.actor.makeAlwaysSimulate(); this._GravitySpeed = c.randomInt(28, 48); this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); c.runLater( 1e3 * (c.randomInt(50, 150) / 100), m(this, this._event_AfterNsecs), this.actor ); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); c.runPeriodically(10, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: Iv }); var Jv = function (a, b, c) { n.call(this, b); this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['Times Up'] = '_TimesUp'; this._TimesUp = !1; }; k['scripts.ActorEvents_966'] = Jv; Jv.__name__ = 'scripts.ActorEvents_966'; Jv.__super__ = n; Jv.prototype = t(n.prototype, { _GravitySpeed: null, _TimesUp: null, _event_HitsGround: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(1); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && (this._TimesUp ? (h.engine.getGameAttribute('Sound Disabled') || (this.actor.isOnScreen() && c.playSound(c.getSound(221))), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, 16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, 16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.recycleActor(this.actor)) : a.thisFromBottom && (h.engine.getGameAttribute('Sound Disabled') || (0 <= this.actor.getYVelocity() && this.actor.isOnScreen() && c.playSound(c.getSound(220))), this.actor.setYVelocity(c.randomInt(-50, -64)))); }, _event_AfterNsecs: function (a) { this.wrapper.enabled && (this._TimesUp = !0); }, _event_Updating: function (a) { this.wrapper.enabled && ('Left' != this.actor.getAnimation() && 0 > this.actor.getXVelocity() ? this.actor.setAnimation('Left') : 'Right' != this.actor.getAnimation() && 0 < this.actor.getXVelocity() && this.actor.setAnimation('Right')); }, _event_EveryNsecs: function (a) { this.wrapper.enabled && this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed)); }, init: function () { this.actor.makeAlwaysSimulate(); this._GravitySpeed = c.randomInt(28, 48); this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); c.runLater( 1e3 * (c.randomInt(50, 150) / 100), m(this, this._event_AfterNsecs), this.actor ); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); c.runPeriodically(10, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: Jv }); var Kv = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_968'] = Kv; Kv.__name__ = 'scripts.ActorEvents_968'; Kv.__super__ = n; Kv.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Kv }); var Lv = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_970'] = Lv; Lv.__name__ = 'scripts.ActorEvents_970'; Lv.__super__ = n; Lv.prototype = t(n.prototype, { init: function () { this.actor.disableActorDrawing(); this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: Lv }); var Mv = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_972'] = Mv; Mv.__name__ = 'scripts.ActorEvents_972'; Mv.__super__ = n; Mv.prototype = t(n.prototype, { init: function () { this.actor.disableActorDrawing(); this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: Mv }); var Nv = function (a, b, c) { n.call(this, b); this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['Times Up'] = '_TimesUp'; this._TimesUp = !1; this.nameMap.h.Dead = '_Dead'; this._Dead = !1; }; k['scripts.ActorEvents_974'] = Nv; Nv.__name__ = 'scripts.ActorEvents_974'; Nv.__super__ = n; Nv.prototype = t(n.prototype, { _GravitySpeed: null, _TimesUp: null, _Dead: null, _event_Updating: function (a) { this.wrapper.enabled && (this._Dead || this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, 48)), this.actor.getY() > c.getSceneHeight() && c.recycleActor(this.actor)); }, init: function () { this.actor.makeAlwaysSimulate(); this.actor.applyImpulseInDirection(c.randomInt(0, 360), c.randomInt(10, 60)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Nv }); var Ov = function (a, b, c) { n.call(this, b); this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['Bounce Count'] = '_BounceCount'; this._BounceCount = 0; this.nameMap.h['No Count'] = '_NoCount'; this._NoCount = !1; }; k['scripts.ActorEvents_976'] = Ov; Ov.__name__ = 'scripts.ActorEvents_976'; Ov.__super__ = n; Ov.prototype = t(n.prototype, { _GravitySpeed: null, _BounceCount: null, _NoCount: null, _event_HitsGround: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(1); var d = a.otherActor.getType(); a = a.otherActor.getGroup(); b = b == d || b == a; } else b = !1; if (b) { h.engine.getGameAttribute('Sound Disabled') || (this.actor.isOnScreen() && c.playSound(c.getSound(221))); if (this.actor.isOnScreen()) for (b = 0, d = c.getActorsOfType(c.getActorType(2)); b < d.length; ) (a = d[b]), ++b, null == a || a.dead || a.recycled || (this.actor.getXCenter() > a.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-16, -16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(16, -16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-16, 16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(16, 16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.recycleActor(this.actor); } }, _event_HitsPlatform: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(5); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && (a.thisFromBottom && 1 > this._BounceCount ? (h.engine.getGameAttribute('Sound Disabled') || (0 <= this.actor.getYVelocity() && this.actor.isOnScreen() && c.playSound(c.getSound(220))), this.actor.setYVelocity(-60), (this._BounceCount += 1)) : (h.engine.getGameAttribute('Sound Disabled') || (this.actor.isOnScreen() && c.playSound(c.getSound(221))), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, 16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, 16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.recycleActor(this.actor))); }, _event_EveryNsecs: function (a) { this.wrapper.enabled && ('Space' == h.engine.getGameAttribute('Stage Type') ? this.actor.setYVelocity( Math.min(this.actor.getYVelocity() + 0.9, this._GravitySpeed / 2) ) : this.actor.setYVelocity( Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed) ), 'Left' == this.actor.getAnimation() ? this.actor.setXVelocity(-8) : 'Right' == this.actor.getAnimation() && this.actor.setXVelocity(8)); }, init: function () { this.actor.makeAlwaysSimulate(); this._GravitySpeed = 48; this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsPlatform)); c.runPeriodically(10, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: Ov }); var Pv = function (a, b, c) { n.call(this, b); this.nameMap.h.Springing = '_Springing'; this._Springing = !1; this.nameMap.h['Facing Left'] = '_FacingLeft'; this._FacingLeft = !1; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['X Target'] = '_XTarget'; this._XTarget = 0; this.nameMap.h.Distance = '_Distance'; this._Distance = 0; }; k['scripts.ActorEvents_978'] = Pv; Pv.__name__ = 'scripts.ActorEvents_978'; Pv.__super__ = n; Pv.prototype = t(n.prototype, { _Springing: null, _FacingLeft: null, _GravitySpeed: null, _XTarget: null, _Distance: null, _event_Updating: function (a) { this.wrapper.enabled && (this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed)), this.actor.setAngularVelocity(5.235987755982833), this.actor.getXCenter() > this._XTarget ? this.actor.setXVelocity(-10) : this.actor.getXCenter() < this._XTarget ? this.actor.setXVelocity(10) : this.actor.setXVelocity(0)); }, _event_ActorType: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(888); var d = a.otherActor.getType(); a = a.otherActor.getGroup(); b = b == d || b == a; } else b = !1; b && (c.createRecycledActorOnLayer( c.getActorType(28), this.actor.getXCenter() - 16, this.actor.getYCenter() - 16, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveTo(c.getLastCreatedActor().getX(), 832, 0.3, v.quadInOut), c.startShakingScreen(0.01, 0.2), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(405)), c.recycleActor(this.actor)); }, init: function () { for (var a = this, b = 0, d = c.getActorsOfType(c.getActorType(888)); b < d.length; ) { var e = d[b]; ++b; null == e || e.dead || e.recycled || !( 0 == this._Distance || Math.max(e.getXCenter(), this.actor.getXCenter()) - Math.min(e.getXCenter(), this.actor.getXCenter()) < this._Distance ) || ((this._Distance = Math.max(e.getXCenter(), this.actor.getXCenter()) - Math.min(e.getXCenter(), this.actor.getXCenter())), (this._XTarget = e.getXCenter())); } this.actor.makeAlwaysSimulate(); this.actor.setFilter([c.createBrightnessFilter(100)]); this._GravitySpeed = 48; c.runLater( 100, function (b) { a.actor.clearFilters(); }, this.actor ); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener(this.actor.whenCollided, m(this, this._event_ActorType)); }, forwardMessage: function (a) {}, __class__: Pv }); var Qv = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_98'] = Qv; Qv.__name__ = 'scripts.ActorEvents_98'; Qv.__super__ = n; Qv.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Qv }); var Rv = function (a, b, c) { n.call(this, b); this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['Times Up'] = '_TimesUp'; this._TimesUp = !1; }; k['scripts.ActorEvents_982'] = Rv; Rv.__name__ = 'scripts.ActorEvents_982'; Rv.__super__ = n; Rv.prototype = t(n.prototype, { _GravitySpeed: null, _TimesUp: null, _event_HitsGround: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(1); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && (this._TimesUp ? (h.engine.getGameAttribute('Sound Disabled') || (this.actor.isOnScreen() && c.playSound(c.getSound(221))), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, 16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, 16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.recycleActor(this.actor)) : a.thisFromBottom && (h.engine.getGameAttribute('Sound Disabled') || (0 <= this.actor.getYVelocity() && this.actor.isOnScreen() && c.playSound(c.getSound(220))), this.actor.setYVelocity(c.randomInt(-50, -64)))); }, _event_AfterNsecs: function (a) { this.wrapper.enabled && (this._TimesUp = !0); }, _event_EveryNsecs: function (a) { this.wrapper.enabled && this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed)); }, init: function () { this.actor.makeAlwaysSimulate(); this._GravitySpeed = c.randomInt(28, 48); this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); c.runLater( 1e3 * (c.randomInt(50, 150) / 100), m(this, this._event_AfterNsecs), this.actor ); c.runPeriodically(10, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: Rv }); var Sv = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_984'] = Sv; Sv.__name__ = 'scripts.ActorEvents_984'; Sv.__super__ = n; Sv.prototype = t(n.prototype, { init: function () { this.actor.disableActorDrawing(); this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: Sv }); var Tv = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_986'] = Tv; Tv.__name__ = 'scripts.ActorEvents_986'; Tv.__super__ = n; Tv.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Tv }); var Uv = function (a, b, c) { n.call(this, b); this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['Fly List'] = '_FlyList'; this.nameMap.h.Dude = '_Dude'; this.nameMap.h['Fly Away'] = '_FlyAway'; this._FlyAway = !1; this.nameMap.h['No Fly'] = '_NoFly'; this._NoFly = !1; this.nameMap.h['Distance X'] = '_DistanceX'; this._DistanceX = 0; this.nameMap.h['Distance Y'] = '_DistanceY'; this._DistanceY = 0; this.nameMap.h.Distance = '_Distance'; this._Distance = 0; this.nameMap.h.Direction = '_Direction'; this._Direction = 0; }; k['scripts.ActorEvents_988'] = Uv; Uv.__name__ = 'scripts.ActorEvents_988'; Uv.__super__ = n; Uv.prototype = t(n.prototype, { _GravitySpeed: null, _FlyList: null, _Dude: null, _FlyAway: null, _NoFly: null, _DistanceX: null, _DistanceY: null, _Distance: null, _Direction: null, _event_HitsGround: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(1); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; if (b) if (a.thisFromBottom) h.engine.getGameAttribute('Sound Disabled') || (0 <= this.actor.getYVelocity() && this.actor.isOnScreen() && c.playSound(c.getSound(220))), this.actor.setYVelocity(-76); else { h.engine.getGameAttribute('Sound Disabled') || (this.actor.isOnScreen() && c.playSound(c.getSound(221))); if (this.actor.isOnScreen()) for (a = 0, b = c.getActorsOfType(c.getActorType(2)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || (this.actor.getXCenter() > d.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-16, -16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(16, -16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-16, 16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(16, 16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.recycleActor(this.actor); } }, _event_Updating: function (a) { this.wrapper.enabled && ('Right' == this.actor.getAnimation() ? this.actor.setAngularVelocity(-2.443460952791989) : this.actor.setAngularVelocity(2.443460952791989)); }, _event_HitsGroundCopy: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(5); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && (a.thisFromBottom ? (h.engine.getGameAttribute('Sound Disabled') || (0 <= this.actor.getYVelocity() && this.actor.isOnScreen() && c.playSound(c.getSound(220))), this.actor.setYVelocity(-60)) : (h.engine.getGameAttribute('Sound Disabled') || (this.actor.isOnScreen() && c.playSound(c.getSound(221))), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, 16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, 16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.recycleActor(this.actor))); }, _event_EveryNsecs: function (a) { this.wrapper.enabled && (h.engine.getGameAttribute('Stage Type'), this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed)), 'Left' == this.actor.getAnimation() ? this.actor.setXVelocity(-16) : 'Right' == this.actor.getAnimation() && this.actor.setXVelocity(16)); }, init: function () { this.actor.growTo(0.6, 0.6, 0, v.linear); this.actor.growTo(1, 1, 0.3, v.quadInOut); this.actor.makeAlwaysSimulate(); this._GravitySpeed = 48; this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsGroundCopy)); c.runPeriodically(10, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: Uv }); var Vv = function (a, b, d) { n.call(this, b); this.nameMap.h.Fin = '_Fin'; this._Fin = c.getActor(0); this.nameMap.h.Stopped = '_Stopped'; this._Stopped = !1; this.nameMap.h['Flash On'] = '_FlashOn'; this._FlashOn = !1; this.nameMap.h.Flash = '_Flash'; this._Flash = !1; this.nameMap.h['Debris Speed'] = '_DebrisSpeed'; this._DebrisSpeed = 0; this.nameMap.h.Cannonball = '_Cannonball'; this._Cannonball = !1; this.nameMap.h['Cannonball Timer'] = '_CannonballTimer'; this._CannonballTimer = 0; this.nameMap.h.Gravity = '_Gravity'; this._Gravity = !1; }; k['scripts.ActorEvents_990'] = Vv; Vv.__name__ = 'scripts.ActorEvents_990'; Vv.__super__ = n; Vv.prototype = t(n.prototype, { _Fin: null, _Stopped: null, _FlashOn: null, _Flash: null, _DebrisSpeed: null, _Cannonball: null, _CannonballTimer: null, _Gravity: null, _event_ActorAny: function (a) { !this.wrapper.enabled || (a.otherActor.getType() != c.getActorType(915) && a.otherActor.getType() != c.getActorType(986) && a.otherActor.getType() != c.getActorType(2)) || this._Stopped || (this.actor.setYVelocity(0), (this._Stopped = !0), this.actor.isOnScreen() && (h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(405)), c.startShakingScreen(0.01, 0.1)), c.createRecycledActorOnLayer( c.getActorType(403), this.actor.getXCenter() - 80, this.actor.getYCenter() - 80, c.engine.getLayerById(this.actor.getLayerID()) ), c.recycleActor(this.actor)); }, _event_Smoke: function (a) { this.wrapper.enabled && (c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + (this.actor.getHeight() - 8), c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setYVelocity(10), c.getLastCreatedActor().setAnimation('Smoke2'), c.getLastCreatedActor().moveToBottom()); }, init: function () { this.actor.makeAlwaysSimulate(); this.actor.setYVelocity(-20); this.addListener(this.actor.whenCollided, m(this, this._event_ActorAny)); c.runPeriodically(100, m(this, this._event_Smoke), this.actor); }, forwardMessage: function (a) {}, __class__: Vv }); var Wv = function (a, b, c) { n.call(this, b); this.nameMap.h.Go = '_Go'; this._Go = !1; }; k['scripts.ActorEvents_992'] = Wv; Wv.__name__ = 'scripts.ActorEvents_992'; Wv.__super__ = n; Wv.prototype = t(n.prototype, { _Go: null, _customEvent_Go: function () { var a = this; this._Go || ((this._Go = !0), this.actor.setAnimation('Shoot'), c.runLater( 500, function (b) { a._Go = !1; a.actor.setAnimation('Normal'); }, this.actor ), h.engine.getGameAttribute('Sound Disabled') || (c.playSound(c.getSound(1152)), c.runLater( 100, function (a) { c.playSound(c.getSound(423)); }, this.actor )), c.createRecycledActorOnLayer( c.getActorType(990), this.actor.getXCenter() - 39, this.actor.getY(), c.engine.getLayerById(3) ), c.getLastCreatedActor().moveToBottom()); }, init: function () { this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: Wv }); var Xv = function (a, b, c) { n.call(this, b); this.nameMap.h['Facing Left'] = '_FacingLeft'; this._FacingLeft = !1; this.nameMap.h.Springing = '_Springing'; this._Springing = !1; this.nameMap.h['In Arrow'] = '_InArrow'; this.nameMap.h['Step Played'] = '_StepPlayed'; this._StepPlayed = !1; }; k['scripts.ActorEvents_994'] = Xv; Xv.__name__ = 'scripts.ActorEvents_994'; Xv.__super__ = n; Xv.prototype = t(n.prototype, { _FacingLeft: null, _Springing: null, _InArrow: null, _StepPlayed: null, _event_Drawing: function (a, b, d) { this.wrapper.enabled && !h.engine.getGameAttribute('Sound Disabled') && this.actor.isOnScreen() && 'Right' == this.actor.getAnimation() && (this._StepPlayed || 0 != this.actor.getCurrentFrame() ? this._StepPlayed || 6 != this.actor.getCurrentFrame() ? !this._StepPlayed || (9 != this.actor.getCurrentFrame() && 3 != this.actor.getCurrentFrame()) || (this._StepPlayed = !1) : ((this._StepPlayed = !0), c.playSound(c.getSound(851))) : ((this._StepPlayed = !0), c.playSound(c.getSound(850)))); }, init: function () { this.actor.makeAlwaysSimulate(); this.addListener(this.actor.whenDrawing, m(this, this._event_Drawing)); }, forwardMessage: function (a) {}, __class__: Xv }); var Yv = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_996'] = Yv; Yv.__name__ = 'scripts.ActorEvents_996'; Yv.__super__ = n; Yv.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: Yv }); var Zv = function (a, b, c) { n.call(this, b); }; k['scripts.ActorEvents_998'] = Zv; Zv.__name__ = 'scripts.ActorEvents_998'; Zv.__super__ = n; Zv.prototype = t(n.prototype, { init: function () { this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: Zv }); var $v = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h.Frequency = '_Frequency'; this._Frequency = 4; this.nameMap.h.Left = '_Left'; this._Left = !0; }; k['scripts.Design_101_101_HotdogLogic'] = $v; $v.__name__ = 'scripts.Design_101_101_HotdogLogic'; $v.__super__ = n; $v.prototype = t(n.prototype, { _Frequency: null, _Left: null, _event_EveryNsecs: function (a) { this.wrapper.enabled && 'Normal' == this.actor.getAnimation() && (h.engine.getGameAttribute('Sound Disabled') || (this.actor.isOnScreen() && c.runLater( 100, function (a) { c.playSound(c.getSound(222)); }, this.actor )), this._Left ? this.actor.setAnimation('Jump Left') : this.actor.setAnimation('Jump Right')); }, _event_Updating: function (a) { this.wrapper.enabled && ('Jump Left' == this.actor.getAnimation() ? 5 == this.actor.getCurrentFrame() && (this.actor.setAnimation('Shoot Left'), c.createRecycledActor( c.getActorType(218), this.actor.getX() + 2, this.actor.getY() + 2, 0 ), c.getLastCreatedActor().setXVelocity(-16), c.getLastCreatedActor().setYVelocity(-30), c.getLastCreatedActor().setAnimation('Left')) : 'Jump Right' == this.actor.getAnimation() && 5 == this.actor.getCurrentFrame() && (this.actor.setAnimation('Shoot Right'), c.createRecycledActor( c.getActorType(218), this.actor.getX() + (this.actor.getWidth() - 52), this.actor.getY() + 2, 0 ), c.getLastCreatedActor().setXVelocity(16), c.getLastCreatedActor().setYVelocity(-30), c.getLastCreatedActor().setAnimation('Right')), 'Shoot Left' == this.actor.getAnimation() ? 12 == this.actor.getCurrentFrame() && this.actor.setAnimation('Normal') : 'Shoot Right' == this.actor.getAnimation() && 12 == this.actor.getCurrentFrame() && this.actor.setAnimation('Normal')); }, init: function () { this.actor.makeAlwaysSimulate(); c.runPeriodically(1e3 * this._Frequency, m(this, this._event_EveryNsecs), this.actor); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: $v }); var aw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Dialog Text'] = '_DialogText'; this._DialogText = 'DEFAULT'; this.nameMap.h['Dialog Complete'] = '_DialogComplete'; this._DialogComplete = !1; this.nameMap.h.Left = '_Left'; this._Left = !0; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['Origin Y'] = '_OriginY'; this._OriginY = 0; this.nameMap.h['Baby Type Number'] = '_BabyTypeNumber'; this._BabyTypeNumber = 1; this.nameMap.h['Talk First'] = '_TalkFirst'; this._TalkFirst = !0; this.nameMap.h['Level Number'] = '_LevelNumber'; this._LevelNumber = 0; this.nameMap.h['Start Y'] = '_StartY'; this._StartY = 0; this.nameMap.h.Helmet = '_Helmet'; }; k['scripts.Design_102_102_BabyLogic'] = aw; aw.__name__ = 'scripts.Design_102_102_BabyLogic'; aw.__super__ = n; aw.prototype = t(n.prototype, { _DialogText: null, _DialogComplete: null, _Left: null, _GravitySpeed: null, _OriginY: null, _BabyTypeNumber: null, _TalkFirst: null, _LevelNumber: null, _StartY: null, _Helmet: null, _event_Updating: function (a) { this.wrapper.enabled && ((a = this._Helmet), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && (this._Helmet.setX(this.actor.getX() + 12), this._Helmet.setY(this.actor.getY() - 10)); }, _customEvent_Dialog: function () { 'DEFAULT' == this._DialogText || h.engine.getGameAttribute('Possum Mode') ? this.actor.say('Baby Logic', '_customEvent_dialogComplete') : this._DialogComplete || ((this._DialogComplete = !0), c.createRecycledActor(c.getActorType(161), 0, c.getScreenHeight() - 96, 0), c.getLastCreatedActor().setValue('Dialog Box Logic', '_DialogText', this._DialogText), this._TalkFirst ? (c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby' + this._BabyTypeNumber), h.engine.getGameAttribute('Possum Mode') ? c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character2', 'Baby' + this._BabyTypeNumber) : c.getLastCreatedActor().setValue('Dialog Box Logic', '_Character2', 'Dadish')) : (h.engine.getGameAttribute('Possum Mode') ? c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby' + this._BabyTypeNumber) : c.getLastCreatedActor().setValue('Dialog Box Logic', '_Character1', 'Dadish'), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character2', 'Baby' + this._BabyTypeNumber)), c.getLastCreatedActor().setValue('Dialog Box Logic', '_Parent', this.actor), c.getLastCreatedActor().say('Dialog Box Logic', '_customEvent_Go')); }, _customEvent_dialogComplete: function () { if ('Level 40' == c.getCurrentSceneName()) for (var a = 0, b = c.getActorsOfType(c.getActorType(1142)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || d.shout('_customEvent_Go'); } else for (a = 0, b = c.getActorsOfType(c.getActorType(2)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.say('Dude Logic', '_customEvent_Exit'); }, init: function () { this.actor.makeAlwaysSimulate(); this._StartY = this.actor.getY(); var a = c.getCurrentSceneName().split(' ')[1]; this._LevelNumber = null == a ? 0 : 'number' == typeof a ? w.__cast(a, ob) : 'number' == typeof a && (a | 0) === a ? w.__cast(a, nb) : 'boolean' == typeof a ? w.__cast(a, jb) ? 1 : 0 : 'string' == typeof a ? parseFloat(a) : parseFloat(z.string(a)); a = ('' + this._LevelNumber).charAt(('' + this._LevelNumber).length - 1); this._BabyTypeNumber = null == a ? 0 : 'number' == typeof a ? w.__cast(a, ob) : 'number' == typeof a && (a | 0) === a ? w.__cast(a, nb) : 'boolean' == typeof a ? w.__cast(a, jb) ? 1 : 0 : 'string' == typeof a ? parseFloat(a) : parseFloat(z.string(a)); 5 < this._BabyTypeNumber ? (this._BabyTypeNumber -= 5) : 0 == this._BabyTypeNumber && (this._BabyTypeNumber = 5); 13 != this._LevelNumber || h.engine.getGameAttribute('Possum Mode') ? 35 != this._LevelNumber || h.engine.getGameAttribute('Possum Mode') ? (11 != this._LevelNumber && 42 != this._LevelNumber) || h.engine.getGameAttribute('Possum Mode') ? 28 != this._LevelNumber || h.engine.getGameAttribute('Possum Mode') ? h.engine.getGameAttribute('Possum Mode') && (this._BabyTypeNumber += 6) : ((this._BabyTypeNumber = 14), (this._StartY -= 32)) : ((this._BabyTypeNumber = 6), 42 == this._LevelNumber && (c.createRecycledActor( c.getActorType(1155), this.actor.getX() + 12, this.actor.getY() - 10, 0 ), (this._Helmet = c.getLastCreatedActor()))) : (this._BabyTypeNumber = 12) : ((this._BabyTypeNumber = 13), (this._StartY -= 32)); this._Left ? this.actor.setAnimation('' + this._BabyTypeNumber + ' Left') : this.actor.setAnimation('' + this._BabyTypeNumber + ' Right'); this.actor.setY(this._StartY); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: aw }); var bw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h.Dude = '_Dude'; this.nameMap.h.Solid = '_Solid'; this._Solid = !1; this.nameMap.h['Collision Width'] = '_CollisionWidth'; this._CollisionWidth = 0; this.nameMap.h['Start Y'] = '_StartY'; this._StartY = 0; this.nameMap.h['Dude Check'] = '_DudeCheck'; this._DudeCheck = !1; this.nameMap.h.Active = '_Active'; this._Active = !1; this.nameMap.h['Collision Y'] = '_CollisionY'; this._CollisionY = 0; }; k['scripts.Design_10_10_PassThroughPlatform'] = bw; bw.__name__ = 'scripts.Design_10_10_PassThroughPlatform'; bw.__super__ = n; bw.prototype = t(n.prototype, { _Dude: null, _Solid: null, _CollisionWidth: null, _StartY: null, _DudeCheck: null, _Active: null, _CollisionY: null, _event_Updating: function (a) { if (this.wrapper.enabled) { if (this.actor.isOnScreen()) if ( ((a = this._Dude), !c.isPrimitive(a) && ('string' == typeof a ? '' == w.__cast(a, String) : null == a)) ) { a = 0; for (var b = c.getActorsOfType(c.getActorType(2)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || (this._Dude = d); } } else if ( 0 <= this._Dude.getYVelocity() && this._Dude.getY() <= this.actor.getY() - (this._Dude.getHeight() - 2) && !this._Solid ) (this._Solid = !0), this.actor.addRectangularShape(0, 0, this._CollisionWidth, 8), this.actor.getLastCreatedFixture().setSensor(!1); else if ( (0 > this._Dude.getYVelocity() || !(this._Dude.getY() <= this.actor.getY() - (this._Dude.getHeight() - 2))) && this._Solid ) { this._Solid = !1; a = this.actor; if (0 == a.physicsMode) for (a = a.getBody().getFixtureList(); null != a; ) a.getBody().DestroyFixture(a), (a = a.getNext()); this.actor.addRectangularShape(0, 0, this._CollisionWidth, 8); this.actor.getLastCreatedFixture().setSensor(!1); this.actor.getLastCreatedFixture().groupID = c.getActorGroup(8).ID; } this._DudeCheck ? this._Active || (this._Active = !0) : !this._DudeCheck && this._Active && (this._Active = !1); this._DudeCheck = !1; } }, _event_HitsDude: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(2); var d = a.otherActor.getType(); a = a.otherActor.getGroup(); b = b == d || b == a; } else b = !1; b && (this._DudeCheck = !0); }, init: function () { this._CollisionWidth = this.actor.getWidth(); this.actor.getType() == c.getActorType(909) ? (this._CollisionY = 8) : (this._CollisionY = 0); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsDude)); }, forwardMessage: function (a) {}, __class__: bw }); var cw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Total Length'] = '_TotalLength'; this._TotalLength = 0; this.nameMap.h.First = '_First'; this._First = !1; this.nameMap.h['Right Scroll Limit'] = '_RightScrollLimit'; this._RightScrollLimit = 0; }; k['scripts.Design_119_119_OverworldBorderRepeater'] = cw; cw.__name__ = 'scripts.Design_119_119_OverworldBorderRepeater'; cw.__super__ = n; cw.prototype = t(n.prototype, { _TotalLength: null, _First: null, _RightScrollLimit: null, init: function () { this.actor.makeAlwaysSimulate(); this.actor.moveToBottom(); this._First = !0; for (var a = 0, b = c.getActorsOfType(this.actor.getType()); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || d == this.actor || (this._First = !1); } if ( this._First && ((this._RightScrollLimit = Math.max(760, c.getScreenWidth() + 64)), this.actor.getWidth() < this._RightScrollLimit) ) for ( this._TotalLength = this.actor.getWidth(); !(this._TotalLength > this._RightScrollLimit); ) c.createRecycledActor( this.actor.getType(), this.actor.getX() + this._TotalLength, this.actor.getY(), 1 ), c.getLastCreatedActor().moveToBottom(), (this._TotalLength += this.actor.getWidth()); }, forwardMessage: function (a) {}, __class__: cw }); var dw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Origin X'] = '_OriginX'; this._OriginX = 0; this.nameMap.h['Origin Y'] = '_OriginY'; this._OriginY = 0; this.nameMap.h['Distance X'] = '_DistanceX'; this._DistanceX = 0; this.nameMap.h['Distance Y'] = '_DistanceY'; this._DistanceY = 0; this.nameMap.h['Starting Level'] = '_StartingLevel'; this._StartingLevel = 0; this.nameMap.h['Button Pressed'] = '_ButtonPressed'; this._ButtonPressed = !1; this.nameMap.h['Next Button'] = '_NextButton'; this.nameMap.h['Previous Button'] = '_PreviousButton'; this.nameMap.h['Current World'] = '_CurrentWorld'; this._CurrentWorld = !1; this.nameMap.h['Current Level Button'] = '_CurrentLevelButton'; this.nameMap.h['Right Scroll Limit'] = '_RightScrollLimit'; this._RightScrollLimit = 0; this.nameMap.h.Cursor = '_Cursor'; this.nameMap.h['Left Scroll Limit'] = '_LeftScrollLimit'; this._LeftScrollLimit = 0; this.nameMap.h['0 X'] = '_0X'; this._0X = 0; this.nameMap.h['Can Go'] = '_CanGo'; this._CanGo = !1; this.nameMap.h['Button List'] = '_ButtonList'; this.nameMap.h['Selected Level Button'] = '_SelectedLevelButton'; this.nameMap.h['Hide Text'] = '_HideText'; this._HideText = !1; this.nameMap.h['At Start Pos'] = '_AtStartPos'; this._AtStartPos = !1; this.nameMap.h['Current Node'] = '_CurrentNode'; this.nameMap.h['On Level Node'] = '_OnLevelNode'; this._OnLevelNode = !1; this.nameMap.h['Moving Backward'] = '_MovingBackward'; this._MovingBackward = !1; this.nameMap.h['Moving Forward'] = '_MovingForward'; this._MovingForward = !1; this.nameMap.h['Start X'] = '_StartX'; this._StartX = 0; this.nameMap.h['Start Y'] = '_StartY'; this._StartY = 0; this.nameMap.h.Speed = '_Speed'; this._Speed = 0; this.nameMap.h['Completed Badge'] = '_CompletedBadge'; this.nameMap.h['Star Badge'] = '_StarBadge'; this.nameMap.h.Sprite = '_Sprite'; this.nameMap.h['Can Enter'] = '_CanEnter'; this._CanEnter = !1; this.nameMap.h['Can Move'] = '_CanMove'; this._CanMove = !1; this.nameMap.h['Total Time In Hundreths'] = '_TotalTimeInHundreths'; this._TotalTimeInHundreths = 0; this.nameMap.h.Hours = '_Hours'; this._Hours = 0; this.nameMap.h.Minutes = '_Minutes'; this._Minutes = 0; this.nameMap.h.Seconds = '_Seconds'; this._Seconds = 0; this.nameMap.h.Hundreths = '_Hundreths'; this._Hundreths = 0; this.nameMap.h['Hours String'] = '_HoursString'; this._HoursString = ''; this.nameMap.h['Minutes String'] = '_MinutesString'; this._MinutesString = ''; this.nameMap.h['Seconds String'] = '_SecondsString'; this._SecondsString = ''; this.nameMap.h['Hundreths String'] = '_HundrethsString'; this._HundrethsString = ''; this.nameMap.h['Total Time String'] = '_TotalTimeString'; this._TotalTimeString = ''; this.nameMap.h['Level Number'] = '_LevelNumber'; this._LevelNumber = 0; this.nameMap.h['Level Text'] = '_LevelText'; this._LevelText = ''; this.nameMap.h['Timer Position'] = '_TimerPosition'; this._TimerPosition = 0; this.nameMap.h.Time = '_Time'; this._Time = ''; this.nameMap.h['Time Width'] = '_TimeWidth'; this._TimeWidth = 0; this.nameMap.h['On Node'] = '_OnNode'; this._OnNode = !1; this.nameMap.h['Button Input'] = '_ButtonInput'; this._ButtonInput = ''; this.nameMap.h['Left Is Down'] = '_LeftIsDown'; this._LeftIsDown = !1; this.nameMap.h['Right Is Down'] = '_RightIsDown'; this._RightIsDown = !1; this.nameMap.h['Up Is Down'] = '_UpIsDown'; this._UpIsDown = !1; this.nameMap.h['Down is Down'] = '_DownisDown'; this._DownisDown = !1; this.nameMap.h['Press Timer'] = '_PressTimer'; this._PressTimer = 0; this.nameMap.h['Button Is Down'] = '_ButtonIsDown'; this._ButtonIsDown = !1; this.nameMap.h['Can Press Buttons'] = '_CanPressButtons'; this._CanPressButtons = !1; this.nameMap.h['Home Button'] = '_HomeButton'; this.nameMap.h['Restart Button'] = '_RestartButton'; this.nameMap.h['Resume Button'] = '_ResumeButton'; this.nameMap.h['Ads Button'] = '_AdsButton'; this.nameMap.h['Sound Button'] = '_SoundButton'; this.nameMap.h['Music Button'] = '_MusicButton'; this.nameMap.h['Controls Button'] = '_ControlsButton'; this.nameMap.h['List Buttons'] = '_ListButtons'; this.nameMap.h['List Selected'] = '_ListSelected'; this._ListSelected = 0; this.nameMap.h.Moving = '_Moving'; this._Moving = !1; this.nameMap.h['Can Move Left'] = '_CanMoveLeft'; this._CanMoveLeft = !1; this.nameMap.h['Can Move Right'] = '_CanMoveRight'; this._CanMoveRight = !1; this.nameMap.h['Can Move Up'] = '_CanMoveUp'; this._CanMoveUp = !1; this.nameMap.h['Can Move Down'] = '_CanMoveDown'; this._CanMoveDown = !1; this.nameMap.h['Moving 2'] = '_Moving2'; this._Moving2 = !1; this.nameMap.h.Camera = '_Camera'; }; k['scripts.Design_127_127_OverworldFrameLogic'] = dw; dw.__name__ = 'scripts.Design_127_127_OverworldFrameLogic'; dw.__super__ = n; dw.prototype = t(n.prototype, { _OriginX: null, _OriginY: null, _DistanceX: null, _DistanceY: null, _StartingLevel: null, _ButtonPressed: null, _NextButton: null, _PreviousButton: null, _CurrentWorld: null, _CurrentLevelButton: null, _RightScrollLimit: null, _Cursor: null, _LeftScrollLimit: null, _0X: null, _CanGo: null, _ButtonList: null, _SelectedLevelButton: null, _HideText: null, _AtStartPos: null, _CurrentNode: null, _OnLevelNode: null, _MovingBackward: null, _MovingForward: null, _StartX: null, _StartY: null, _Speed: null, _CompletedBadge: null, _StarBadge: null, _Sprite: null, _CanEnter: null, _CanMove: null, _TotalTimeInHundreths: null, _Hours: null, _Minutes: null, _Seconds: null, _Hundreths: null, _HoursString: null, _MinutesString: null, _SecondsString: null, _HundrethsString: null, _TotalTimeString: null, _LevelNumber: null, _LevelText: null, _TimerPosition: null, _Time: null, _TimeWidth: null, _OnNode: null, _ButtonInput: null, _LeftIsDown: null, _RightIsDown: null, _UpIsDown: null, _DownisDown: null, _PressTimer: null, _ButtonIsDown: null, _CanPressButtons: null, _HomeButton: null, _RestartButton: null, _ResumeButton: null, _AdsButton: null, _SoundButton: null, _MusicButton: null, _ControlsButton: null, _ListButtons: null, _ListSelected: null, _Moving: null, _CanMoveLeft: null, _CanMoveRight: null, _CanMoveUp: null, _CanMoveDown: null, _Moving2: null, _Camera: null, _event_Updating: function (a) { if ( this.wrapper.enabled && this._CanGo && !this._ButtonPressed && !c.getValueForScene('Overworld Logic', '_ButtonPressed') ) { a = this._NextButton; if ( (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._NextButton.isMousePressed() ) { this._ButtonPressed = !0; this._NextButton.setAnimation('Down'); a = 0; for (var b = c.getActorsOfType(c.getActorType(244)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); } a = 0; for (b = c.getActorsOfType(c.getActorType(248)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(246)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(291)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(527)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(1083)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(539)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, 70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(622)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, 70, 0.2, v.quadOut); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)); h.engine.gameAttributes.h['Wipe In Right'] = !0; h.engine.gameAttributes.h['Overworld Entered Left'] = !0; c.sayToScene('Transitions', '_customEvent_wipeOutRight'); c.runLater( 500, function (a) { if ('World 1 Select' == c.getCurrentSceneName()) { a = ra.get().scenes.h[133].getID(); var b = 0, d = 0, e = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); var h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e); e = d = b = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)); } else 'World 2 Select' == c.getCurrentSceneName() ? ((a = ra.get().scenes.h[134].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e))) : 'World 3 Select' == c.getCurrentSceneName() ? ((a = ra.get().scenes.h[135].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e))) : 'World 4 Select' == c.getCurrentSceneName() && ((a = ra.get().scenes.h[136].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e))); }, this.actor ); } a = this._PreviousButton; if ( (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._PreviousButton.isMousePressed() ) { this._ButtonPressed = !0; this._PreviousButton.setAnimation('Down'); a = 0; for (b = c.getActorsOfType(c.getActorType(244)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(248)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(246)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(291)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(527)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(1083)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(539)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, 70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(622)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, 70, 0.2, v.quadOut); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)); h.engine.gameAttributes.h['Wipe In Left'] = !0; h.engine.gameAttributes.h['Overworld Entered Right'] = !0; c.sayToScene('Transitions', '_customEvent_wipeOutLeft'); c.runLater( 500, function (a) { if ('World 2 Select' == c.getCurrentSceneName()) { a = ra.get().scenes.h[5].getID(); var b = 0, d = 0, e = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); var h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e); e = d = b = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)); } else 'World 3 Select' == c.getCurrentSceneName() ? ((a = ra.get().scenes.h[133].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e))) : 'World 4 Select' == c.getCurrentSceneName() ? ((a = ra.get().scenes.h[134].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e))) : 'World 5 Select' == c.getCurrentSceneName() && ((a = ra.get().scenes.h[135].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e))); }, this.actor ); } } }, _event_Updating2: function (a) { if ( this.wrapper.enabled && (c.isKeyPressed('action1') || c.isKeyPressed('enter')) && h.engine.getGameAttribute('Controller Mode') ) { a = 0; for (var b = c.getActorsOfType(c.getActorType(589)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || (this._Cursor = d); } a = this._Cursor; if ( (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && !this._ButtonPressed && !c.getValueForScene('Overworld Logic', '_ButtonPressed') ) { a = this._NextButton; if ( (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Cursor.getScreenX() + 24 >= this._NextButton.getScreenX() && this._Cursor.getScreenX() + 24 < this._NextButton.getScreenX() + this._NextButton.getWidth() && this._Cursor.getScreenY() + 24 >= this._NextButton.getScreenY() && this._Cursor.getScreenY() + 24 < this._NextButton.getScreenY() + this._NextButton.getHeight() ) { this._ButtonPressed = !0; this._NextButton.setAnimation('Down'); a = 0; for (b = c.getActorsOfType(c.getActorType(244)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(248)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(246)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(291)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(527)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(1083)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(539)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, 70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(622)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, 70, 0.2, v.quadOut); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)); h.engine.gameAttributes.h['Wipe In Right'] = !0; h.engine.gameAttributes.h['Overworld Entered Left'] = !0; c.sayToScene('Transitions', '_customEvent_wipeOutRight'); c.runLater( 500, function (a) { if ('World 1 Select' == c.getCurrentSceneName()) { a = ra.get().scenes.h[133].getID(); var b = 0, d = 0, e = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); var h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e); e = d = b = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)); } else 'World 2 Select' == c.getCurrentSceneName() ? ((a = ra.get().scenes.h[134].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e))) : 'World 3 Select' == c.getCurrentSceneName() ? ((a = ra.get().scenes.h[135].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e))) : 'World 4 Select' == c.getCurrentSceneName() && ((a = ra.get().scenes.h[136].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e))); }, this.actor ); } a = this._PreviousButton; if ( (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Cursor.getScreenX() + 24 >= this._PreviousButton.getScreenX() && this._Cursor.getScreenX() + 24 < this._PreviousButton.getScreenX() + this._PreviousButton.getWidth() && this._Cursor.getScreenY() + 24 >= this._PreviousButton.getScreenY() && this._Cursor.getScreenY() + 24 < this._PreviousButton.getScreenY() + this._PreviousButton.getHeight() ) { this._ButtonPressed = !0; this._PreviousButton.setAnimation('Down'); a = 0; for (b = c.getActorsOfType(c.getActorType(244)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(248)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(246)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(291)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(527)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(1083)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(539)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, 70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(622)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, 70, 0.2, v.quadOut); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)); h.engine.gameAttributes.h['Wipe In Left'] = !0; h.engine.gameAttributes.h['Overworld Entered Right'] = !0; c.sayToScene('Transitions', '_customEvent_wipeOutLeft'); c.runLater( 500, function (a) { if ('World 2 Select' == c.getCurrentSceneName()) { a = ra.get().scenes.h[5].getID(); var b = 0, d = 0, e = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); var h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e); e = d = b = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)); } else 'World 3 Select' == c.getCurrentSceneName() ? ((a = ra.get().scenes.h[133].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e))) : 'World 4 Select' == c.getCurrentSceneName() ? ((a = ra.get().scenes.h[134].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e))) : 'World 5 Select' == c.getCurrentSceneName() && ((a = ra.get().scenes.h[135].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e))); }, this.actor ); } } } }, init: function () { var a = this; c.runLater( 600, function (b) { a._CanGo = !0; }, this.actor ); this.actor.makeAlwaysSimulate(); this.actor.setAnimation('Normal'); 1 < this._StartingLevel && (c.createRecycledActor( c.getActorType(289), this.actor.getX() - 64, this.actor.getY() - 2, 0 ), (this._PreviousButton = c.getLastCreatedActor())); 40 > this._StartingLevel && h.engine.getGameAttribute('Highest Level') >= this._StartingLevel + 9 && (c.createRecycledActor( c.getActorType(285), this.actor.getX() + (this.actor.getWidth() + 32), this.actor.getY() - 2, 0 ), (this._NextButton = c.getLastCreatedActor())); c.createRecycledActor(c.getActorType(277), this.actor.getX(), this.actor.getY(), 0); c.getLastCreatedActor().setValue( 'Level Button Logic', '_LevelNumber', this._StartingLevel ); this._StartingLevel += 1; c.createRecycledActor(c.getActorType(277), this.actor.getX() + 84, this.actor.getY(), 0); c.getLastCreatedActor().setValue( 'Level Button Logic', '_LevelNumber', this._StartingLevel ); this._StartingLevel += 1; c.createRecycledActor( c.getActorType(277), this.actor.getX() + 84, this.actor.getY() + 84, 0 ); c.getLastCreatedActor().setValue( 'Level Button Logic', '_LevelNumber', this._StartingLevel ); this._StartingLevel += 1; c.createRecycledActor( c.getActorType(277), this.actor.getX() + 168, this.actor.getY() + 84, 0 ); c.getLastCreatedActor().setValue( 'Level Button Logic', '_LevelNumber', this._StartingLevel ); this._StartingLevel += 1; c.createRecycledActor( c.getActorType(277), this.actor.getX() + 252, this.actor.getY() + 84, 0 ); c.getLastCreatedActor().setValue( 'Level Button Logic', '_LevelNumber', this._StartingLevel ); this._StartingLevel += 1; c.createRecycledActor(c.getActorType(277), this.actor.getX() + 252, this.actor.getY(), 0); c.getLastCreatedActor().setValue( 'Level Button Logic', '_LevelNumber', this._StartingLevel ); this._StartingLevel += 1; c.createRecycledActor(c.getActorType(277), this.actor.getX() + 336, this.actor.getY(), 0); c.getLastCreatedActor().setValue( 'Level Button Logic', '_LevelNumber', this._StartingLevel ); this._StartingLevel += 1; c.createRecycledActor(c.getActorType(277), this.actor.getX() + 420, this.actor.getY(), 0); c.getLastCreatedActor().setValue( 'Level Button Logic', '_LevelNumber', this._StartingLevel ); this._StartingLevel += 1; c.createRecycledActor( c.getActorType(277), this.actor.getX() + 420, this.actor.getY() + 84, 0 ); c.getLastCreatedActor().setValue( 'Level Button Logic', '_LevelNumber', this._StartingLevel ); this._StartingLevel += 1; c.createRecycledActor( c.getActorType(277), this.actor.getX() + 504, this.actor.getY() + 84, 0 ); c.getLastCreatedActor().setValue( 'Level Button Logic', '_LevelNumber', this._StartingLevel ); for (var b = 0, d = c.getActorsOfType(c.getActorType(277)); b < d.length; ) { var e = d[b]; ++b; null == e || e.dead || e.recycled || (e.moveToBottom(), this.actor.getType() == c.getActorType(261) && e.setValue('Level Button Logic', '_Dark', !0), e.say('Level Button Logic', '_customEvent_Go')); } c.engine.moveCamera(0, this.actor.getYCenter()); b = 0; for (d = c.getActorsOfType(c.getActorType(277)); b < d.length; ) (e = d[b]), ++b, null == e || e.dead || e.recycled || e.getValue('Level Button Logic', '_LevelNumber') != h.engine.getGameAttribute('Last Played Level') || ((this._CurrentWorld = !0), (this._CurrentLevelButton = e)); this._0X = this.actor.getX() - 98; c.getScreenWidth() > this.actor.getWidth() + 128 ? ((this._RightScrollLimit = this.actor.getXCenter() + 16), (this._LeftScrollLimit = this.actor.getXCenter() - 16)) : ((this._RightScrollLimit = this._0X + Math.max( 696 - c.getScreenWidth() / 2 + 64, c.getScreenWidth() + 64 - c.getScreenWidth() / 2 )), (this._LeftScrollLimit = this._0X + c.getScreenWidth() / 2)); this._CurrentWorld && !h.engine.getGameAttribute('Overworld Entered Left') ? c.createRecycledActor( c.getActorType(273), Math.min( this._RightScrollLimit, Math.max(this._LeftScrollLimit, this._CurrentLevelButton.getXCenter()) ), this.actor.getYCenter(), 0 ) : h.engine.getGameAttribute('Overworld Entered Right') ? ((h.engine.gameAttributes.h['Overworld Entered Right'] = !1), c.createRecycledActor( c.getActorType(273), Math.min(this._RightScrollLimit, this.actor.getX() + this.actor.getWidth()), this.actor.getYCenter(), 0 )) : ((h.engine.gameAttributes.h['Overworld Entered Left'] = !1), c.createRecycledActor( c.getActorType(273), Math.max(this._LeftScrollLimit, this.actor.getX()), this.actor.getYCenter(), 0 )); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating2)); }, forwardMessage: function (a) {}, __class__: dw }); var ew = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Level Number'] = '_LevelNumber'; this._LevelNumber = 0; this.nameMap.h.Frame = '_Frame'; this.nameMap.h.Dark = '_Dark'; this._Dark = !1; this.nameMap.h['Boss Level'] = '_BossLevel'; this._BossLevel = !1; this.nameMap.h.Cursor = '_Cursor'; this.nameMap.h.Time = '_Time'; this._Time = ''; this.nameMap.h['Timer Wrap'] = '_TimerWrap'; this.nameMap.h['Timer Hidden'] = '_TimerHidden'; this._TimerHidden = !1; this.nameMap.h.Selected = '_Selected'; this._Selected = !1; }; k['scripts.Design_131_131_LevelButtonLogic'] = ew; ew.__name__ = 'scripts.Design_131_131_LevelButtonLogic'; ew.__super__ = n; ew.prototype = t(n.prototype, { _LevelNumber: null, _Frame: null, _Dark: null, _BossLevel: null, _Cursor: null, _Time: null, _TimerWrap: null, _TimerHidden: null, _Selected: null, _event_OnActor: function (a) { var b = this; if ( this.wrapper.enabled && 3 == a && ((a = this._Frame), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && ('Normal' == this.actor.getAnimation() || 'Normal Boss' == this.actor.getAnimation()) && 0 == this._Frame.getValue('POverworld Frame Logic', '_ButtonPressed') && 0 == c.getValueForScene('Overworld Logic', '_ButtonPressed')) ) { this._Frame.setValue('POverworld Frame Logic', '_ButtonPressed', !0); c.stopAllSounds(); a = 0; for (var d = c.getActorsOfType(c.getActorType(244)); a < d.length; ) { var e = d[a]; ++a; null == e || e.dead || e.recycled || e.moveBy(0, -70, 0.2, v.quadOut); } a = 0; for (d = c.getActorsOfType(c.getActorType(248)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (d = c.getActorsOfType(c.getActorType(246)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (d = c.getActorsOfType(c.getActorType(291)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (d = c.getActorsOfType(c.getActorType(527)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (d = c.getActorsOfType(c.getActorType(1083)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (d = c.getActorsOfType(c.getActorType(539)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.moveBy(0, 70, 0.2, v.quadOut); a = 0; for (d = c.getActorsOfType(c.getActorType(622)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.moveBy(0, 70, 0.2, v.quadOut); a = this._TimerWrap; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._TimerWrap.setY(this.actor.getY() + 48); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)); this._BossLevel ? this.actor.setAnimation('Down Boss') : this.actor.setAnimation('Down'); c.runLater( 200, function (a) { c.setValueForScene('Transitions', '_TransitionType', 2); c.sayToScene('Transitions', '_customEvent_transitionOut'); c.runLater( 1e3, function (a) { a = ra.get().scenes; var d = c.getIDForScene('Level ' + b._LevelNumber); a = a.h[d].getID(); var e = (d = 0), f = 0; null == f && (f = 0); null == e && (e = 0); null == d && (d = 0); var g = c.createFadeOut(0.1, (d << 16) | (e << 8) | f); f = e = d = 0; null == f && (f = 0); null == e && (e = 0); null == d && (d = 0); c.switchScene(a, g, c.createFadeIn(0.1, (d << 16) | (e << 8) | f)); }, b.actor ); }, this.actor ); } }, _event_Drawing: function (a, b, d) { if (this.wrapper.enabled) { this._TimerHidden && h.engine.getGameAttribute('Timer Mode') ? ((this._TimerHidden = !1), this._TimerWrap.enableActorDrawing()) : this._TimerHidden || h.engine.getGameAttribute('Timer Mode') || ((this._TimerHidden = !0), this._TimerWrap.disableActorDrawing()); if (!this._BossLevel) if ( ((d = c.getFont(168)), null != d && d != a.font && (a.font = d), 'Down' == this.actor.getAnimation()) ) { d = '' + this._LevelNumber; b = this.actor.getWidth() / 2 - a.font.getTextWidth('' + this._LevelNumber) / h.SCALE / 2; null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)); if (a.drawActor) if (null != a.actor && a.actor.isHUD) { b = a.x + b * a.scaleX; var e = a.y + 28 * a.scaleY; } else (b = a.x + b * a.scaleX - h.cameraX), (e = a.y + 28 * a.scaleY - h.cameraY); else (b = a.x + b * a.scaleX), (e = a.y + 28 * a.scaleY); a.mtx.identity(); a.mtx.translate(b, e); var f = null, g = a.font; g = d + ':' + g.ID + ':' + a.alpha + ':' + g.letterSpacing + ':' + h.SCALE; if (Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, g)) (d = ha.drawnStringCache.h[g]), (d.lifetime = 5), (f = d.img); else { var l = a.font.font.getTextWidth(d, a.font.letterSpacing, a.font.fontScale), k = (a.font.font.getFontHeight() * a.font.fontScale) | 0; 0 < l && 0 < k && ((f = new la(l, k, !0, 0)), a.font.font.renderToImg( f, d, 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (d = new sc()), (d.img = f), (d.lifetime = 5), (ha.drawnStringCache.h[g] = d), ha.drawnStringCacheKeys.push(g)); } null != f && (a.graphics.beginBitmapFill(f, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, e, f.width, f.height), a.graphics.endFill()); } else 'Normal' == this.actor.getAnimation() && ((d = '' + this._LevelNumber), (b = this.actor.getWidth() / 2 - a.font.getTextWidth('' + this._LevelNumber) / h.SCALE / 2), null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)), a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + b * a.scaleX), (e = a.y + 20 * a.scaleY)) : ((b = a.x + b * a.scaleX - h.cameraX), (e = a.y + 20 * a.scaleY - h.cameraY)) : ((b = a.x + b * a.scaleX), (e = a.y + 20 * a.scaleY)), a.mtx.identity(), a.mtx.translate(b, e), (f = null), (g = a.font), (g = d + ':' + g.ID + ':' + a.alpha + ':' + g.letterSpacing + ':' + h.SCALE), Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, g) ? ((d = ha.drawnStringCache.h[g]), (d.lifetime = 5), (f = d.img)) : ((l = a.font.font.getTextWidth(d, a.font.letterSpacing, a.font.fontScale)), (k = (a.font.font.getFontHeight() * a.font.fontScale) | 0), 0 < l && 0 < k && ((f = new la(l, k, !0, 0)), a.font.font.renderToImg( f, d, 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (d = new sc()), (d.img = f), (d.lifetime = 5), (ha.drawnStringCache.h[g] = d), ha.drawnStringCacheKeys.push(g))), null != f && (a.graphics.beginBitmapFill(f, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, e, f.width, f.height), a.graphics.endFill())); h.engine.getGameAttribute('Timer Mode') && ((d = this._Time), c.isPrimitive(d) || ('string' == typeof d ? '' != w.__cast(d, String) : null != d) ? ((d = c.getFont(624)), null != d && d != a.font && (a.font = d), 'Down' == this.actor.getAnimation() || 'Down Boss' == this.actor.getAnimation() ? ((d = this._Time), (b = this.actor.getWidth() / 2 - a.font.getTextWidth(this._Time) / h.SCALE / 2), null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)), a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + b * a.scaleX), (e = a.y + 54 * a.scaleY)) : ((b = a.x + b * a.scaleX - h.cameraX), (e = a.y + 54 * a.scaleY - h.cameraY)) : ((b = a.x + b * a.scaleX), (e = a.y + 54 * a.scaleY))) : ((d = this._Time), (b = this.actor.getWidth() / 2 - a.font.getTextWidth(this._Time) / h.SCALE / 2), null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)), a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + b * a.scaleX), (e = a.y + 46 * a.scaleY)) : ((b = a.x + b * a.scaleX - h.cameraX), (e = a.y + 46 * a.scaleY - h.cameraY)) : ((b = a.x + b * a.scaleX), (e = a.y + 46 * a.scaleY))), a.mtx.identity(), a.mtx.translate(b, e), (f = null), (g = a.font), (g = d + ':' + g.ID + ':' + a.alpha + ':' + g.letterSpacing + ':' + h.SCALE), Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, g) ? ((d = ha.drawnStringCache.h[g]), (d.lifetime = 5), (f = d.img)) : ((l = a.font.font.getTextWidth(d, a.font.letterSpacing, a.font.fontScale)), (k = (a.font.font.getFontHeight() * a.font.fontScale) | 0), 0 < l && 0 < k && ((f = new la(l, k, !0, 0)), a.font.font.renderToImg( f, d, 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (d = new sc()), (d.img = f), (d.lifetime = 5), (ha.drawnStringCache.h[g] = d), ha.drawnStringCacheKeys.push(g))), null != f && (a.graphics.beginBitmapFill(f, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, e, f.width, f.height), a.graphics.endFill())) : (this._Time = '' + z.string( h.engine.getGameAttribute('Best Times')[(this._LevelNumber - 1) | 0] ))); } }, _event_Updating: function (a) { var b = this; if ( this.wrapper.enabled && (c.isKeyPressed('action1') || c.isKeyPressed('enter')) && h.engine.getGameAttribute('Controller Mode') ) { a = 0; for (var d = c.getActorsOfType(c.getActorType(589)); a < d.length; ) { var e = d[a]; ++a; null == e || e.dead || e.recycled || (this._Cursor = e); } a = this._Cursor; if ( (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Cursor.getScreenX() + 24 >= this.actor.getScreenX() && this._Cursor.getScreenX() + 24 < this.actor.getScreenX() + this.actor.getWidth() && this._Cursor.getScreenY() + 24 >= this.actor.getScreenY() && this._Cursor.getScreenY() + 24 < this.actor.getScreenY() + this.actor.getHeight() && ((a = this._Frame), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && ('Normal' == this.actor.getAnimation() || 'Normal Boss' == this.actor.getAnimation()) && 0 == this._Frame.getValue('POverworld Frame Logic', '_ButtonPressed') && 0 == c.getValueForScene('Overworld Logic', '_ButtonPressed')) ) { this._Frame.setValue('POverworld Frame Logic', '_ButtonPressed', !0); c.stopAllSounds(); a = 0; for (d = c.getActorsOfType(c.getActorType(244)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (d = c.getActorsOfType(c.getActorType(248)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (d = c.getActorsOfType(c.getActorType(246)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (d = c.getActorsOfType(c.getActorType(291)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (d = c.getActorsOfType(c.getActorType(527)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.moveBy(0, -70, 0.2, v.quadOut); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)); this._BossLevel ? this.actor.setAnimation('Down Boss') : this.actor.setAnimation('Down'); c.setValueForScene('Transitions', '_TransitionType', 2); c.sayToScene('Transitions', '_customEvent_transitionOut'); c.runLater( 1e3, function (a) { hb.commercialBreak(function () { var a = ra.get().scenes, d = c.getIDForScene('Level ' + b._LevelNumber); a = a.h[d].getID(); var e = (d = 0), f = 0; null == f && (f = 0); null == e && (e = 0); null == d && (d = 0); var h = c.createFadeOut(0.1, (d << 16) | (e << 8) | f); f = e = d = 0; null == f && (f = 0); null == e && (e = 0); null == d && (d = 0); c.switchScene(a, h, c.createFadeIn(0.1, (d << 16) | (e << 8) | f)); }); }, this.actor ); } } }, _customEvent_Go: function () { if ( 10 == this._LevelNumber || 20 == this._LevelNumber || 30 == this._LevelNumber || 40 == this._LevelNumber || 50 == this._LevelNumber ) this._BossLevel = !0; this._LevelNumber <= h.engine.getGameAttribute('Highest Level') + 1 ? (this._BossLevel ? this.actor.setAnimation('Normal Boss') : this.actor.setAnimation('Normal'), this._LevelNumber <= h.engine.getGameAttribute('Highest Level') && c.createRecycledActor( c.getActorType(279), this.actor.getX() + 46, this.actor.getY() - 10, 0 ), W.contains(h.engine.getGameAttribute('Stars List'), this._LevelNumber) ? c.createRecycledActor( c.getActorType(281), this.actor.getX() + 22, this.actor.getY() - 10, 0 ) : W.contains(h.engine.getGameAttribute('No Stars List'), this._LevelNumber) || (c.createRecycledActor( c.getActorType(281), this.actor.getX() + 22, this.actor.getY() - 10, 0 ), c.getLastCreatedActor().setAnimation('Empty'))) : this._Dark ? this.actor.setAnimation('Locked Dark') : this.actor.setAnimation('Locked Light'); }, init: function () { this.actor.makeAlwaysSimulate(); for (var a = 0, b = c.getActorsOfType(c.getActorType(259)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || (this._Frame = d); } a = 0; for (b = c.getActorsOfType(c.getActorType(261)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || (this._Frame = d); c.createRecycledActor( c.getActorType(625), this.actor.getX() - 12, this.actor.getY() + 40, 0 ); this._TimerWrap = c.getLastCreatedActor(); this.actor.setX(this.actor.getX() - 2); this.actor.setY(this.actor.getY() - 2); this.addListener(this.actor.whenMousedOver, m(this, this._event_OnActor)); this.addListener(this.actor.whenDrawing, m(this, this._event_Drawing)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: ew }); var fw = function (a, b) { c.call(this); this.nameMap.h.Dude = '_Dude'; this.nameMap.h['Transition Col Count'] = '_TransitionColCount'; this._TransitionColCount = 0; this.nameMap.h['Transition X Center'] = '_TransitionXCenter'; this._TransitionXCenter = 0; this.nameMap.h['Transition Y Center'] = '_TransitionYCenter'; this._TransitionYCenter = 0; this.nameMap.h['Transition Type'] = '_TransitionType'; this._TransitionType = 0; this.nameMap.h['Actors to slide'] = '_Actorstoslide'; this.nameMap.h.Go = '_Go'; this._Go = !1; this.nameMap.h['Transition Actor'] = '_TransitionActor'; this._TransitionActor = 0; }; k['scripts.Design_134_134_Transitions'] = fw; fw.__name__ = 'scripts.Design_134_134_Transitions'; fw.__super__ = fa; fw.prototype = t(fa.prototype, { _Dude: null, _TransitionColCount: null, _TransitionXCenter: null, _TransitionYCenter: null, _TransitionType: null, _Actorstoslide: null, _Go: null, _TransitionActor: null, _customEvent_transitionIn: function () { for (var a = 0, b = c.getActorsOfType(c.getActorType(2)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || (this._Dude = d); } a = 0; for (b = Math.ceil(c.getScreenWidth() / 48) + 4; a < b; ) { d = a++; for (var e = 0, f = Math.ceil(c.getScreenHeight() / 48) + 4; e < f; ) { var g = e++; 1 == this._TransitionActor ? c.createRecycledActor( c.getActorType(100), -64 + 48 * this._TransitionColCount, -64 + 48 * g, 0 ) : c.createRecycledActor( c.getActorType(705), -64 + 48 * this._TransitionColCount, -64 + 48 * g, 0 ); if (0 == this._TransitionType) { if ( ((g = this._Dude), c.isPrimitive(g) || ('string' == typeof g ? '' != w.__cast(g, String) : null != g)) ) (this._TransitionXCenter = this._Dude.getScreenX() + this._Dude.getWidth() / 2), (this._TransitionYCenter = this._Dude.getScreenY() + this._Dude.getHeight() / 2), c .getLastCreatedActor() .setValue( 'Transition Block Logic', '_Delay', 0.3 + 5e-4 * (Math.max( c.getLastCreatedActor().getScreenX() + c.getLastCreatedActor().getWidth() / 2, this._Dude.getScreenX() + this._Dude.getWidth() / 2 ) - Math.min( c.getLastCreatedActor().getScreenX() + c.getLastCreatedActor().getWidth() / 2, this._Dude.getScreenX() + this._Dude.getWidth() / 2 ) + (Math.max( c.getLastCreatedActor().getScreenY() + c.getLastCreatedActor().getHeight() / 2, this._Dude.getScreenY() + this._Dude.getHeight() / 2 ) - Math.min( c.getLastCreatedActor().getScreenY() + c.getLastCreatedActor().getHeight() / 2, this._Dude.getScreenY() + this._Dude.getHeight() / 2 ))) ); } else 1 == this._TransitionType && ((this._TransitionXCenter = c.getScreenWidth() / 2), (this._TransitionYCenter = c.getScreenHeight() / 2), c .getLastCreatedActor() .setValue( 'Transition Block Logic', '_Delay', 0.001 * (Math.max(c.getLastCreatedActor().getScreenX(), c.getScreenWidth() / 2) - Math.min(c.getLastCreatedActor().getScreenX(), c.getScreenWidth() / 2) + (Math.max(c.getLastCreatedActor().getScreenY(), c.getScreenHeight() / 2) - Math.min( c.getLastCreatedActor().getScreenY(), c.getScreenHeight() / 2 ))) )); c.getLastCreatedActor().getX() < this._TransitionXCenter && c.getLastCreatedActor().getY() < this._TransitionYCenter ? c .getLastCreatedActor() .setValue('Transition Block Logic', '_Position', 'Top Left') : c.getLastCreatedActor().getX() >= this._TransitionXCenter && c.getLastCreatedActor().getY() < this._TransitionYCenter ? c .getLastCreatedActor() .setValue('Transition Block Logic', '_Position', 'Top Right') : c.getLastCreatedActor().getX() < this._TransitionXCenter && c.getLastCreatedActor().getY() >= this._TransitionYCenter ? c .getLastCreatedActor() .setValue('Transition Block Logic', '_Position', 'Bottom Left') : c .getLastCreatedActor() .setValue('Transition Block Logic', '_Position', 'Bottom Right'); c.getLastCreatedActor().say('Transition Block Logic', '_customEvent_Go'); } this._TransitionColCount = d; } h.engine.getGameAttribute('Sound Disabled') || 'Title Screen' == c.getCurrentSceneName() || c.playSound(c.getSound(253)); }, _customEvent_transitionOut: function () { if (!this._Go) { this._Go = !0; c.stopAllSounds(); for (var a = 0, b = c.getActorsOfType(c.getActorType(2)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || (this._Dude = d); } a = 0; for (b = Math.ceil(c.getScreenWidth() / 48) + 4; a < b; ) { for (var e = a++, f = 0, g = Math.ceil(c.getScreenHeight() / 48) + 4; f < g; ) { d = f++; 1 == this._TransitionActor ? c.createRecycledActor( c.getActorType(98), -64 + 48 * this._TransitionColCount, -64 + 48 * d, 0 ) : c.createRecycledActor( c.getActorType(707), -64 + 48 * this._TransitionColCount, -64 + 48 * d, 0 ); if (0 == this._TransitionType) { if ( ((d = this._Dude), c.isPrimitive(d) || ('string' == typeof d ? '' != w.__cast(d, String) : null != d)) ) { this._TransitionXCenter = this._Dude.getScreenX() + this._Dude.getWidth() / 2; this._TransitionYCenter = this._Dude.getScreenY() + this._Dude.getHeight() / 2; c.getLastCreatedActor().setValue( 'Transition Block Logic', '_Delay', 5e-4 * ((c.getScreenWidth() + c.getScreenHeight()) / 2 - (Math.max( c.getLastCreatedActor().getScreenX() + c.getLastCreatedActor().getWidth() / 2, this._Dude.getScreenX() + this._Dude.getWidth() / 2 ) - Math.min( c.getLastCreatedActor().getScreenX() + c.getLastCreatedActor().getWidth() / 2, this._Dude.getScreenX() + this._Dude.getWidth() / 2 ) + (Math.max( c.getLastCreatedActor().getScreenY() + c.getLastCreatedActor().getHeight() / 2, this._Dude.getScreenY() + this._Dude.getHeight() / 2 ) - Math.min( c.getLastCreatedActor().getScreenY() + c.getLastCreatedActor().getHeight() / 2, this._Dude.getScreenY() + this._Dude.getHeight() / 2 )))) ); this._Dude.bringToFront(); this._Dude.moveToTop(); for (var l = 0, k = c.getActorsOfType(c.getActorType(1085)); l < k.length; ) (d = k[l]), ++l, null == d || d.dead || d.recycled || (d.bringToFront(), d.moveToTop()); d = 0; for (l = c.getActorsOfType(c.getActorType(159)); d < l.length; ) (k = l[d]), ++d, null == k || k.dead || k.recycled || (k.bringToFront(), k.moveToTop()); d = 0; for (l = c.getActorsOfType(c.getActorType(1155)); d < l.length; ) (k = l[d]), ++d, null == k || k.dead || k.recycled || (k.bringToFront(), k.moveToTop()); } } else 1 == this._TransitionType ? ((this._TransitionXCenter = c.getScreenWidth() / 2), (this._TransitionYCenter = c.getScreenHeight() / 2), c .getLastCreatedActor() .setValue( 'Transition Block Logic', '_Delay', 0.001 * (Math.max( c.getLastCreatedActor().getScreenX(), c.getScreenWidth() / 2 ) - Math.min( c.getLastCreatedActor().getScreenX(), c.getScreenWidth() / 2 ) + (Math.max( c.getLastCreatedActor().getScreenY(), c.getScreenHeight() / 2 ) - Math.min( c.getLastCreatedActor().getScreenY(), c.getScreenHeight() / 2 ))) )) : 2 == this._TransitionType && ((this._TransitionXCenter = c.getScreenWidth() / 2), (this._TransitionYCenter = c.getScreenHeight() / 2), c .getLastCreatedActor() .setValue( 'Transition Block Logic', '_Delay', 0.001 * ((c.getScreenWidth() + c.getScreenHeight()) / 2 - (Math.max( c.getLastCreatedActor().getScreenX(), c.getScreenWidth() / 2 ) - Math.min( c.getLastCreatedActor().getScreenX(), c.getScreenWidth() / 2 ) + (Math.max( c.getLastCreatedActor().getScreenY(), c.getScreenHeight() / 2 ) - Math.min( c.getLastCreatedActor().getScreenY(), c.getScreenHeight() / 2 )))) )); c.getLastCreatedActor().getX() < this._TransitionXCenter && c.getLastCreatedActor().getY() < this._TransitionYCenter ? c .getLastCreatedActor() .setValue('Transition Block Logic', '_Position', 'Top Left') : c.getLastCreatedActor().getX() >= this._TransitionXCenter && c.getLastCreatedActor().getY() < this._TransitionYCenter ? c .getLastCreatedActor() .setValue('Transition Block Logic', '_Position', 'Top Right') : c.getLastCreatedActor().getX() < this._TransitionXCenter && c.getLastCreatedActor().getY() >= this._TransitionYCenter ? c .getLastCreatedActor() .setValue('Transition Block Logic', '_Position', 'Bottom Left') : c .getLastCreatedActor() .setValue('Transition Block Logic', '_Position', 'Bottom Right'); c.getLastCreatedActor().say('Transition Block Logic', '_customEvent_Go'); } this._TransitionColCount = e; } h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(254)); } }, _customEvent_wipeOutRight: function () { var a = this; this._Actorstoslide = []; for (var b = 0, d = Math.ceil((c.getScreenHeight() + 10) / 128); b < d; ) { var e = b++; c.createRecycledActor(c.getActorType(297), c.getScreenWidth(), 128 * e, 0); this._Actorstoslide.push(c.getLastCreatedActor()); } c.createRecycledActor(c.getActorType(283), c.getScreenWidth() + 30, -5, 0); this._Actorstoslide.push(c.getLastCreatedActor()); c.runLater( 100, function (b) { b = 0; for (var d = w.__cast(a._Actorstoslide, Array); b < d.length; ) { var e = d[b]; ++b; e.moveBy(-(c.getScreenWidth() + 32), 0, 0.4, v.quadInOut); } }, null ); }, _customEvent_wipeInRight: function () { var a = this; this._Actorstoslide = []; for (var b = 0, d = Math.ceil((c.getScreenHeight() + 10) / 128); b < d; ) { var e = b++; c.createRecycledActor(c.getActorType(297), c.getScreenWidth(), 128 * e, 0); c.getLastCreatedActor().setAnimation('Left'); this._Actorstoslide.push(c.getLastCreatedActor()); } c.createRecycledActor(c.getActorType(283), -8, -5, 0); this._Actorstoslide.push(c.getLastCreatedActor()); c.runLater( 100, function (b) { b = 0; for (var d = w.__cast(a._Actorstoslide, Array); b < d.length; ) { var e = d[b]; ++b; e.moveBy(-(c.getScreenWidth() + 32), 0, 0.4, v.quadInOut); } c.runLater( 500, function (a) { a = 0; for (var b = c.getActorsOfType(c.getActorType(283)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || c.recycleActor(d); } a = 0; for (b = c.getActorsOfType(c.getActorType(297)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || c.recycleActor(d); }, null ); }, null ); }, _customEvent_wipeOutLeft: function () { var a = this; this._Actorstoslide = []; for (var b = 0, d = Math.ceil((c.getScreenHeight() + 10) / 128); b < d; ) { var e = b++; c.createRecycledActor(c.getActorType(297), -32, 128 * e, 0); c.getLastCreatedActor().setAnimation('Left'); this._Actorstoslide.push(c.getLastCreatedActor()); } c.createRecycledActor(c.getActorType(283), -(c.getScreenWidth() + 30) - 8, -5, 0); this._Actorstoslide.push(c.getLastCreatedActor()); c.runLater( 100, function (b) { b = 0; for (var d = w.__cast(a._Actorstoslide, Array); b < d.length; ) { var e = d[b]; ++b; e.moveBy(c.getScreenWidth() + 32, 0, 0.4, v.quadInOut); } }, null ); }, _customEvent_wipeInLeft: function () { var a = this; this._Actorstoslide = []; for (var b = 0, d = Math.ceil((c.getScreenHeight() + 10) / 128); b < d; ) { var e = b++; c.createRecycledActor(c.getActorType(297), -32, 128 * e, 0); this._Actorstoslide.push(c.getLastCreatedActor()); } c.createRecycledActor(c.getActorType(283), -2, -5, 0); this._Actorstoslide.push(c.getLastCreatedActor()); c.runLater( 100, function (b) { b = 0; for (var d = w.__cast(a._Actorstoslide, Array); b < d.length; ) { var e = d[b]; ++b; e.moveBy(c.getScreenWidth() + 32, 0, 0.4, v.quadInOut); } c.runLater( 500, function (a) { a = 0; for (var b = c.getActorsOfType(c.getActorType(283)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || c.recycleActor(d); } a = 0; for (b = c.getActorsOfType(c.getActorType(297)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || c.recycleActor(d); }, null ); }, null ); }, init: function () {}, forwardMessage: function (a) {}, __class__: fw }); var gw = function (a, b) { c.call(this); this.nameMap.h['Home Button'] = '_HomeButton'; this.nameMap.h['Music Button'] = '_MusicButton'; this.nameMap.h['Sound Button'] = '_SoundButton'; this.nameMap.h['Ads Button'] = '_AdsButton'; this.nameMap.h['Button Pressed'] = '_ButtonPressed'; this._ButtonPressed = !1; this.nameMap.h['In Position'] = '_InPosition'; this._InPosition = !1; this.nameMap.h.Overlay = '_Overlay'; this.nameMap.h.Ready = '_Ready'; this._Ready = !1; this.nameMap.h['Star Count'] = '_StarCount'; this.nameMap.h['Possum Button'] = '_PossumButton'; this.nameMap.h['Show Possum Text'] = '_ShowPossumText'; this._ShowPossumText = !1; this.nameMap.h.Cursor = '_Cursor'; this.nameMap.h['Timer Button'] = '_TimerButton'; this.nameMap.h['Clouds Width'] = '_CloudsWidth'; this._CloudsWidth = 0; this.nameMap.h['Beach BG Width'] = '_BeachBGWidth'; this._BeachBGWidth = 0; this.nameMap.h['Beach BG Created'] = '_BeachBGCreated'; this._BeachBGCreated = !1; this.nameMap.h['Clouds Pacer'] = '_CloudsPacer'; this._CloudsPacer = 0; this.nameMap.h['World Title'] = '_WorldTitle'; this.nameMap.h['Font To Use'] = '_FontToUse'; this.nameMap.h['Right Text'] = '_RightText'; this._RightText = ''; this.nameMap.h['Left Text'] = '_LeftText'; this._LeftText = ''; this.nameMap.h['Top Border'] = '_TopBorder'; this.nameMap.h['Bottom Border'] = '_BottomBorder'; this.nameMap.h['Stars String'] = '_StarsString'; this._StarsString = ''; this.nameMap.h['Star Count Star'] = '_StarCountStar'; this.nameMap.h['Star Is Hidden'] = '_StarIsHidden'; this._StarIsHidden = !1; this.nameMap.h['Hide Text'] = '_HideText'; this._HideText = !1; }; k['scripts.Design_138_138_OverworldLogic'] = gw; gw.__name__ = 'scripts.Design_138_138_OverworldLogic'; gw.__super__ = fa; gw.prototype = t(fa.prototype, { _HomeButton: null, _MusicButton: null, _SoundButton: null, _AdsButton: null, _ButtonPressed: null, _InPosition: null, _Overlay: null, _Ready: null, _StarCount: null, _PossumButton: null, _ShowPossumText: null, _Cursor: null, _TimerButton: null, _CloudsWidth: null, _BeachBGWidth: null, _BeachBGCreated: null, _CloudsPacer: null, _WorldTitle: null, _FontToUse: null, _RightText: null, _LeftText: null, _TopBorder: null, _BottomBorder: null, _StarsString: null, _StarCountStar: null, _StarIsHidden: null, _HideText: null, _event_Updating: function (a) { this.wrapper.enabled && (this._HideText ? this._StarIsHidden || ((this._StarIsHidden = !0), this._StarCountStar.disableActorDrawing()) : this._StarIsHidden && ((this._StarIsHidden = !1), this._StarCountStar.enableActorDrawing())); }, _event_Drawing: function (a, b, d) { if (this.wrapper.enabled && !this._HideText) { d = c.getFont(526); null != d && d != a.font && (a.font = d); d = this._StarsString; b = c.getScreenWidth() - (30 + c.getFont(526).getTextWidth(this._StarsString) / h.SCALE); null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)); if (a.drawActor) if (null != a.actor && a.actor.isHUD) { b = a.x + b * a.scaleX; var e = a.y + 18 * a.scaleY; } else (b = a.x + b * a.scaleX - h.cameraX), (e = a.y + 18 * a.scaleY - h.cameraY); else (b = a.x + b * a.scaleX), (e = a.y + 18 * a.scaleY); a.mtx.identity(); a.mtx.translate(b, e); var f = null, g = a.font; g = d + ':' + g.ID + ':' + a.alpha + ':' + g.letterSpacing + ':' + h.SCALE; if (Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, g)) (d = ha.drawnStringCache.h[g]), (d.lifetime = 5), (f = d.img); else { var l = a.font.font.getTextWidth(d, a.font.letterSpacing, a.font.fontScale), k = (a.font.font.getFontHeight() * a.font.fontScale) | 0; 0 < l && 0 < k && ((f = new la(l, k, !0, 0)), a.font.font.renderToImg( f, d, 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (d = new sc()), (d.img = f), (d.lifetime = 5), (ha.drawnStringCache.h[g] = d), ha.drawnStringCacheKeys.push(g)); } null != f && (a.graphics.beginBitmapFill(f, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, e, f.width, f.height), a.graphics.endFill()); h.engine.getGameAttribute('Timer Mode') || ((d = this._RightText), (b = c.getScreenWidth() / 2 - a.font.getTextWidth(this._RightText) / h.SCALE / 2), null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)), a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + b * a.scaleX), (e = a.y + 18 * a.scaleY)) : ((b = a.x + b * a.scaleX - h.cameraX), (e = a.y + 18 * a.scaleY - h.cameraY)) : ((b = a.x + b * a.scaleX), (e = a.y + 18 * a.scaleY)), a.mtx.identity(), a.mtx.translate(b, e), (f = null), (g = a.font), (g = d + ':' + g.ID + ':' + a.alpha + ':' + g.letterSpacing + ':' + h.SCALE), Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, g) ? ((d = ha.drawnStringCache.h[g]), (d.lifetime = 5), (f = d.img)) : ((l = a.font.font.getTextWidth(d, a.font.letterSpacing, a.font.fontScale)), (k = (a.font.font.getFontHeight() * a.font.fontScale) | 0), 0 < l && 0 < k && ((f = new la(l, k, !0, 0)), a.font.font.renderToImg( f, d, 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (d = new sc()), (d.img = f), (d.lifetime = 5), (ha.drawnStringCache.h[g] = d), ha.drawnStringCacheKeys.push(g))), null != f && (a.graphics.beginBitmapFill(f, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, e, f.width, f.height), a.graphics.endFill())); } }, _event_Clouds: function (a, b, d) { if (this.wrapper.enabled) { if ('World 1 Select' == c.getCurrentSceneName()) if (8 > this._CloudsPacer) this._CloudsPacer += 1; else for ( a = this._CloudsPacer = 0, b = c.getActorsOfType(c.getActorType(716)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || (d.setX(d.getX() - 1), d.getX() <= -this._CloudsWidth && d.setX( this._CloudsWidth * Math.ceil(c.getScreenWidth() / this._CloudsWidth) )); if ('World 2 Select' == c.getCurrentSceneName()) if (2 > this._CloudsPacer) this._CloudsPacer += 1; else for ( a = this._CloudsPacer = 0, b = c.getActorsOfType(c.getActorType(724)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || (d.setX(d.getX() - 1), d.getX() <= -this._CloudsWidth && d.setX( this._CloudsWidth * Math.ceil(c.getScreenWidth() / this._CloudsWidth) )); if ('World 3 Select' == c.getCurrentSceneName()) if (3 > this._CloudsPacer) this._CloudsPacer += 1; else for ( a = this._CloudsPacer = 0, b = c.getActorsOfType(c.getActorType(739)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || (d.setX(d.getX() - 1), d.getX() <= -this._CloudsWidth && d.setX( this._CloudsWidth * Math.ceil(c.getScreenWidth() / this._CloudsWidth) )); } }, _event_Leaves: function (a) { if (this.wrapper.enabled && 'World 2 Select' == c.getCurrentSceneName()) { a = 0; for (var b = c.randomInt(0, 2); a < b; ) a++, c.createRecycledActorOnLayer( c.getActorType(90), c.getScreenX() + c.getScreenWidth() + c.randomInt(0, 64), c.randomInt(c.getScreenY() | 0, (c.getScreenY() + c.getScreenHeight() - 96) | 0), c.engine.getLayerById(0) ); } }, _customEvent_AdjustSize: function () { var a = this._TopBorder; c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a) ? ((a = this._BottomBorder), (a = c.isPrimitive(a) ? !0 : 'string' == typeof a ? '' != w.__cast(a, String) : null != a)) : (a = !1); a && (Q.setScale('width', c.getScreenWidth(), this._TopBorder), this._BottomBorder.setY(c.getScreenHeight() - 48), Q.setScale('width', c.getScreenWidth(), this._BottomBorder)); }, init: function () { var a = this; c.engine.unpause(); 'JP' == h.engine.getGameAttribute('Language') ? (this._FontToUse = c.getFont(606)) : 'CN' == h.engine.getGameAttribute('Language') ? (this._FontToUse = c.getFont(604)) : 'KR' == h.engine.getGameAttribute('Language') ? (this._FontToUse = c.getFont(605)) : ((this._FontToUse = c.getFont(441)), 'World 1 Select' == c.getCurrentSceneName() ? (this._RightText = 'ENUIGA CORP.') : 'World 2 Select' == c.getCurrentSceneName() ? (this._RightText = 'HERBEJO MEADOW') : 'World 3 Select' == c.getCurrentSceneName() ? (this._RightText = 'KOTO SWAMP') : 'World 4 Select' == c.getCurrentSceneName() ? (this._RightText = 'FANTOMO TEMPLE') : 'World 5 Select' == c.getCurrentSceneName() && (this._RightText = 'SOLECA STATION')); h.engine.getGameAttribute('Start Overworld Music') && ((h.engine.gameAttributes.h['Start Overworld Music'] = !1), c.runLater( 300, function (a) { h.engine.getGameAttribute('Music Disabled') || c.loopSoundOnChannel(c.getSound(450), 16); }, null )); 43 <= h.engine.getGameAttribute('Stars List').length - 1 && !h.engine.getGameAttribute('Possum Mode Unlocked') && ((h.engine.gameAttributes.h['Possum Mode Unlocked'] = !0), c.saveGame('mySave', function (a) {})); h.engine.getGameAttribute('Start Overworld Music') && ((h.engine.gameAttributes.h['Start Overworld Music'] = !1), c.runLater( 300, function (a) { c.loopSoundOnChannel(c.getSound(744), 16); h.engine.getGameAttribute('Music Disabled') && c.setVolumeForChannel(0, 16); }, null )); c.createRecycledActor(c.getActorType(1165), 0, -2, 0); this._TopBorder = c.getLastCreatedActor(); c.getLastCreatedActor().anchorToScreen(); c.createRecycledActor(c.getActorType(1167), 0, c.getScreenHeight() - 48, 0); this._BottomBorder = c.getLastCreatedActor(); c.getLastCreatedActor().anchorToScreen(); Q.setScale('width', c.getScreenWidth(), this._TopBorder); this._BottomBorder.setY(c.getScreenHeight() - 48); Q.setScale('width', c.getScreenWidth(), this._BottomBorder); this._StarsString = '' + (h.engine.getGameAttribute('Stars List').length - 1) + '/43'; c.createRecycledActor( c.getActorType(529), c.getScreenWidth() - (66 + c.getFont(526).getTextWidth(this._StarsString) / h.SCALE), 6, 0 ); this._StarCountStar = c.getLastCreatedActor(); this._StarCountStar.makeAlwaysSimulate(); this._StarCountStar.anchorToScreen(); this._HideText && ((this._StarIsHidden = !0), this._StarCountStar.disableActorDrawing()); h.engine.getGameAttribute('Wipe In Right') ? ((h.engine.gameAttributes.h['Wipe In Right'] = !1), c.createRecycledActor(c.getActorType(283), -5, -5, 0), (this._Overlay = c.getLastCreatedActor()), c.runLater( 100, function (b) { c.sayToScene('Transitions', '_customEvent_wipeInRight'); c.recycleActor(a._Overlay); }, null )) : h.engine.getGameAttribute('Wipe In Left') ? ((h.engine.gameAttributes.h['Wipe In Left'] = !1), c.createRecycledActor(c.getActorType(283), -5, -5, 0), (this._Overlay = c.getLastCreatedActor()), c.runLater( 100, function (b) { c.sayToScene('Transitions', '_customEvent_wipeInLeft'); c.recycleActor(a._Overlay); }, null )) : (c.createRecycledActor(c.getActorType(283), -5, -5, 0), (this._Overlay = c.getLastCreatedActor()), c.runLater( 300, function (b) { c.setValueForScene('Transitions', '_TransitionType', 1); c.sayToScene('Transitions', '_customEvent_transitionIn'); c.recycleActor(a._Overlay); }, null )); h.engine.gameAttributes.h.Dead = !1; h.engine.gameAttributes.h['Settings Open'] = !1; h.engine.gameAttributes.h['Boss 1 Dialog Read'] = !1; h.engine.gameAttributes.h['Boss 2 Dialog Read'] = !1; h.engine.gameAttributes.h['Boss 3 Dialog Read'] = !1; h.engine.gameAttributes.h['Boss 4 Dialog Read'] = !1; h.engine.gameAttributes.h['Boss 5 Dialog Read'] = !1; h.engine.gameAttributes.h['Right Button Down'] = !1; h.engine.gameAttributes.h['Checkpoint Passed'] = !1; h.engine.gameAttributes.h['Star Collected'] = !1; h.engine.gameAttributes.h['Dialog Box Open'] = !1; if ('World 1 Select' == c.getCurrentSceneName()) { c.createRecycledActorOnLayer(c.getActorType(1187), 0, 0, c.engine.getLayerById(6)); this._CloudsWidth = 480; for (var b = 0, d = Math.ceil(c.getScreenWidth() / this._CloudsWidth) + 1; b < d; ) { var e = b++; c.createRecycledActorOnLayer( c.getActorType(716), this._CloudsWidth * e, c.getScreenHeight() - 320, c.engine.getLayerById(2) ); c.getLastCreatedActor().moveToBottom(); } c.createRecycledActorOnLayer(c.getActorType(719), 0, 0, c.engine.getLayerById(2)); c.getLastCreatedActor().setY(c.getScreenHeight() - c.getLastCreatedActor().getHeight()); for (this._BeachBGWidth = c.getLastCreatedActor().getWidth(); !this._BeachBGCreated; ) this._BeachBGWidth < c.getScreenWidth() + 200 ? (c.createRecycledActorOnLayer( c.getActorType(719), c.getLastCreatedActor().getX() + c.getLastCreatedActor().getWidth(), 0, c.engine.getLayerById(2) ), c .getLastCreatedActor() .setY(c.getScreenHeight() - c.getLastCreatedActor().getHeight()), (this._BeachBGWidth += c.getLastCreatedActor().getWidth())) : (this._BeachBGCreated = !0); c.createRecycledActorOnLayer( c.getActorType(1177), 0, c.getLastCreatedActor().getY() + c.getLastCreatedActor().getHeight(), c.engine.getLayerById(2) ); } else if ('World 2 Select' == c.getCurrentSceneName()) { c.createRecycledActorOnLayer(c.getActorType(1185), 0, 0, c.engine.getLayerById(2)); this._CloudsWidth = 480; b = 0; for (d = Math.ceil(c.getScreenWidth() / this._CloudsWidth) + 1; b < d; ) (e = b++), c.createRecycledActorOnLayer( c.getActorType(724), this._CloudsWidth * e, c.getScreenHeight() - 400, c.engine.getLayerById(2) ), c.getLastCreatedActor().moveToBottom(); c.createRecycledActorOnLayer(c.getActorType(726), 0, 0, c.engine.getLayerById(2)); c.getLastCreatedActor().setY(c.getScreenHeight() - c.getLastCreatedActor().getHeight()); for (this._BeachBGWidth = c.getLastCreatedActor().getWidth(); !this._BeachBGCreated; ) this._BeachBGWidth < c.getScreenWidth() ? (c.createRecycledActorOnLayer( c.getActorType(726), c.getLastCreatedActor().getX() + c.getLastCreatedActor().getWidth(), 0, c.engine.getLayerById(2) ), c .getLastCreatedActor() .setY(c.getScreenHeight() - c.getLastCreatedActor().getHeight()), (this._BeachBGWidth += c.getLastCreatedActor().getWidth())) : (this._BeachBGCreated = !0); } else if ('World 3 Select' == c.getCurrentSceneName()) { c.createRecycledActorOnLayer(c.getActorType(1183), 0, 0, c.engine.getLayerById(2)); this._CloudsWidth = 480; b = 0; for (d = Math.ceil(c.getScreenWidth() / this._CloudsWidth) + 1; b < d; ) (e = b++), c.createRecycledActorOnLayer( c.getActorType(739), this._CloudsWidth * e, c.getScreenHeight() - 400, c.engine.getLayerById(2) ), c.getLastCreatedActor().moveToBottom(); c.createRecycledActorOnLayer(c.getActorType(737), 0, 0, c.engine.getLayerById(2)); c.getLastCreatedActor().setY(c.getScreenHeight() - c.getLastCreatedActor().getHeight()); for (this._BeachBGWidth = c.getLastCreatedActor().getWidth(); !this._BeachBGCreated; ) this._BeachBGWidth < c.getScreenWidth() ? (c.createRecycledActorOnLayer( c.getActorType(737), c.getLastCreatedActor().getX() + c.getLastCreatedActor().getWidth(), 0, c.engine.getLayerById(2) ), c .getLastCreatedActor() .setY(c.getScreenHeight() - c.getLastCreatedActor().getHeight()), (this._BeachBGWidth += c.getLastCreatedActor().getWidth())) : (this._BeachBGCreated = !0); } else 'World 5 Select' == c.getCurrentSceneName() && c.createRecycledActorOnLayer(c.getActorType(754), 0, 0, c.engine.getLayerById(2)); this.addListener(c.engine.whenUpdated, m(this, this._event_Updating)); this.addListener(c.engine.whenDrawing, m(this, this._event_Drawing)); this.addListener(c.engine.whenDrawing, m(this, this._event_Clouds)); c.runPeriodically(600, m(this, this._event_Leaves), null); }, forwardMessage: function (a) {}, __class__: gw }); var hw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Object To Rotate'] = '_ObjectToRotate'; this.nameMap.h['Chain Length'] = '_ChainLength'; this._ChainLength = 2; this.nameMap.h.Speed = '_Speed'; this._Speed = 6; this.nameMap.h['Object Width'] = '_ObjectWidth'; this._ObjectWidth = 0; this.nameMap.h['Object Height'] = '_ObjectHeight'; this._ObjectHeight = 0; this.nameMap.h['Object List'] = '_ObjectList'; this.nameMap.h['Alternate Spikes'] = '_AlternateSpikes'; this._AlternateSpikes = !1; this.nameMap.h.Even = '_Even'; this._Even = !1; }; k['scripts.Design_14_14_RotatorLogic'] = hw; hw.__name__ = 'scripts.Design_14_14_RotatorLogic'; hw.__super__ = n; hw.prototype = t(n.prototype, { _ObjectToRotate: null, _ChainLength: null, _Speed: null, _ObjectWidth: null, _ObjectHeight: null, _ObjectList: null, _AlternateSpikes: null, _Even: null, init: function () { this.actor.makeAlwaysSimulate(); var a = this._ObjectToRotate; if (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) { this._ObjectList = []; c.createRecycledActor(this._ObjectToRotate, -500, -500, 0); c.getLastCreatedActor().makeAlwaysSimulate(); this._ObjectWidth = c.getLastCreatedActor().getWidth(); this._ObjectHeight = c.getLastCreatedActor().getHeight(); c.recycleActor(c.getLastCreatedActor()); a = 0; for (var b = this._ChainLength | 0; a < b; ) { var d = a++; this._Even ? ((this._Even = !1), c.createRecycledActorOnLayer( c.getActorType(26), this.actor.getXCenter() - 6, this.actor.getYCenter() - 16 * (d + 1) - 6, c.engine.getLayerById(this.actor.getLayerID()) ), this._ObjectList.push(c.getLastCreatedActor()), c.createRecycledActorOnLayer( c.getActorType(26), this.actor.getXCenter() - 6, this.actor.getYCenter() + 16 * (d + 1) - 6, c.engine.getLayerById(this.actor.getLayerID()) ), this._ObjectList.push(c.getLastCreatedActor()), c.createRecycledActorOnLayer( c.getActorType(26), this.actor.getXCenter() - 16 * (d + 1) - 6, this.actor.getYCenter() - 6, c.engine.getLayerById(this.actor.getLayerID()) ), this._ObjectList.push(c.getLastCreatedActor()), c.createRecycledActorOnLayer( c.getActorType(26), this.actor.getXCenter() + 16 * (d + 1) - 6, this.actor.getYCenter() - 6, c.engine.getLayerById(this.actor.getLayerID()) ), this._ObjectList.push(c.getLastCreatedActor())) : (this._Even = !0); } c.createRecycledActorOnLayer( this._ObjectToRotate, this.actor.getXCenter() - this._ObjectWidth / 2, this.actor.getYCenter() - 16 * (this._ChainLength + 1) - this._ObjectHeight / 2, c.engine.getLayerById(this.actor.getLayerID()) ); this._ObjectList.push(c.getLastCreatedActor()); c.createRecycledActorOnLayer( this._ObjectToRotate, this.actor.getXCenter() - this._ObjectWidth / 2, this.actor.getYCenter() + 16 * (this._ChainLength + 1) - this._ObjectHeight / 2, c.engine.getLayerById(this.actor.getLayerID()) ); this._ObjectList.push(c.getLastCreatedActor()); this._AlternateSpikes ? c.createRecycledActorOnLayer( c.getActorType(42), this.actor.getXCenter() - 16 * (this._ChainLength + 1) - 17, this.actor.getYCenter() - 17, c.engine.getLayerById(this.actor.getLayerID()) ) : c.createRecycledActorOnLayer( this._ObjectToRotate, this.actor.getXCenter() - 16 * (this._ChainLength + 1) - this._ObjectWidth / 2, this.actor.getYCenter() - this._ObjectHeight / 2, c.engine.getLayerById(this.actor.getLayerID()) ); this._ObjectList.push(c.getLastCreatedActor()); this._AlternateSpikes ? c.createRecycledActorOnLayer( c.getActorType(42), this.actor.getXCenter() + 16 * (this._ChainLength + 1) - 17, this.actor.getYCenter() - 17, c.engine.getLayerById(this.actor.getLayerID()) ) : c.createRecycledActorOnLayer( this._ObjectToRotate, this.actor.getXCenter() + 16 * (this._ChainLength + 1) - this._ObjectWidth / 2, this.actor.getYCenter() - this._ObjectHeight / 2, c.engine.getLayerById(this.actor.getLayerID()) ); this._ObjectList.push(c.getLastCreatedActor()); a = 0; for (b = w.__cast(this._ObjectList, Array); a < b.length; ) (d = b[a]), ++a, d.setValue('Rotator Object', '_OriginActor', this.actor), d.setValue('Rotator Object', '_Speed', this._Speed), d.say('Rotator Object', '_customEvent_Initialize'); } }, forwardMessage: function (a) {}, __class__: hw }); var iw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Distance X'] = '_DistanceX'; this._DistanceX = 0; this.nameMap.h['Distance Y'] = '_DistanceY'; this._DistanceY = 0; this.nameMap.h.Direction = '_Direction'; this._Direction = 0; this.nameMap.h.Distance = '_Distance'; this._Distance = 0; this.nameMap.h.Speed = '_Speed'; this._Speed = 10; this.nameMap.h.Facing = '_Facing'; this._Facing = 0; this.nameMap.h['Point Away'] = '_PointAway'; this._PointAway = !0; this.nameMap.h['Origin Actor'] = '_OriginActor'; this.nameMap.h['Step Seconds'] = '_StepSeconds'; this._StepSeconds = 0; this.nameMap.h['New Distance'] = '_NewDistance'; this._NewDistance = 0; this.nameMap.h['Distance Threshold'] = '_DistanceThreshold'; this._DistanceThreshold = 10; this.nameMap.h['Fixed Radius'] = '_FixedRadius'; this._FixedRadius = !0; }; k['scripts.Design_16_16_RotateAroundActor'] = iw; iw.__name__ = 'scripts.Design_16_16_RotateAroundActor'; iw.__super__ = n; iw.prototype = t(n.prototype, { _DistanceX: null, _DistanceY: null, _Direction: null, _Distance: null, _Speed: null, _Facing: null, _PointAway: null, _OriginActor: null, _StepSeconds: null, _NewDistance: null, _DistanceThreshold: null, _FixedRadius: null, _event_Updated: function (a) { this.wrapper.enabled && ((a = this._OriginActor), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._OriginActor.isAlive() && (this._FixedRadius || ((this._DistanceX = this.actor.getXCenter() - this._OriginActor.getXCenter()), (this._DistanceY = this.actor.getYCenter() - this._OriginActor.getYCenter()), (this._NewDistance = Math.sqrt( Math.pow(this._DistanceX, 2) + Math.pow(this._DistanceY, 2) )), Math.abs(this._NewDistance - this._Distance) > this._DistanceThreshold && ((this._Distance = this._NewDistance), (this._Direction = Math.atan2(this._DistanceY, this._DistanceX)))), (this._Direction = (this._Direction += 0.01745329251994278 * this._Speed * this._StepSeconds) - 2 * Math.PI * Math.floor(this._Direction / (2 * Math.PI))), this.actor.setX( this._OriginActor.getXCenter() + this._Distance * Math.cos(this._Direction) - this.actor.getWidth() / 2 ), this.actor.setY( this._OriginActor.getYCenter() + this._Distance * Math.sin(this._Direction) - this.actor.getHeight() / 2 ), this._PointAway && this.actor.setAngle( 0.01745329251994278 * (57.29577951308402 * this._Direction - this._Facing) ))); }, _event_ActorAny: function (a) { this.wrapper.enabled && (this._Speed = -this._Speed); }, _event_Drawing: function (a, b, d) { if ( this.wrapper.enabled && (c.sceneHasBehavior('Game Debugger') ? ((b = c.getValueForScene('Game Debugger', '_Enabled')), (b = 1 == b ? !0 : 'true' == b)) : (b = !1), b && ((b = this._OriginActor), (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && this._OriginActor.isAlive())) ) { a.strokeColor = c.getValueForScene('Game Debugger', '_CustomColor'); b = c.getValueForScene('Game Debugger', '_StrokeThickness'); a.strokeSize = (null == b ? 0 : 'number' == typeof b ? w.__cast(b, ob) : 'number' == typeof b && (b | 0) === b ? w.__cast(b, nb) : 'boolean' == typeof b ? w.__cast(b, jb) ? 1 : 0 : 'string' == typeof b ? parseFloat(b) : parseFloat(z.string(b))) | 0; a.drawActor = !1; a.actor = null; a.x = 0; a.y = 0; b = this._OriginActor.getXCenter(); d = this._OriginActor.getYCenter(); var e = this._Distance; b *= a.scaleX; d *= a.scaleY; e *= a.scaleX; !a.drawActor || (null != a.actor && a.actor.isHUD) || ((a.x -= h.cameraX), (a.y -= h.cameraY)); 0 == a.strokeSize ? a.graphics.lineStyle() : a.graphics.lineStyle(a.strokeSize * h.SCALE, a.strokeColor, a.alpha); a.graphics.drawCircle(a.x + b, a.y + d, e); a.drawActor && !a.actor.isHUD && ((a.x += h.cameraX), (a.y += h.cameraY)); a.graphics.lineStyle(); b = this._OriginActor.getXCenter(); d = this._OriginActor.getYCenter(); e = this.actor.getXCenter(); var f = this.actor.getYCenter(); b *= a.scaleX; d *= a.scaleY; e *= a.scaleX; f *= a.scaleY; !a.drawActor || (null != a.actor && a.actor.isHUD) || ((a.x -= h.cameraX), (a.y -= h.cameraY)); 0 == a.strokeSize ? a.graphics.lineStyle() : a.graphics.lineStyle(a.strokeSize * h.SCALE, a.strokeColor, a.alpha); a.graphics.moveTo(a.x + b, a.y + d); a.graphics.lineTo(a.x + e, a.y + f); a.drawActor && !a.actor.isHUD && ((a.x += h.cameraX), (a.y += h.cameraY)); a.graphics.lineStyle(); } }, _customEvent_Initialize: function () { var a = this._OriginActor; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._OriginActor.isAlive() && ((this._DistanceX = this.actor.getXCenter() - this._OriginActor.getXCenter()), (this._DistanceY = this.actor.getYCenter() - this._OriginActor.getYCenter()), (this._Distance = Math.sqrt( Math.pow(this._DistanceX, 2) + Math.pow(this._DistanceY, 2) )), (this._Direction = Math.atan2(this._DistanceY, this._DistanceX))); }, init: function () { this._StepSeconds = c.getStepSize() / 1e3; this._customEvent_Initialize(); this.addListener(this.actor.whenUpdated, m(this, this._event_Updated)); this.addListener(this.actor.whenCollided, m(this, this._event_ActorAny)); this.addListener(this.actor.whenDrawing, m(this, this._event_Drawing)); }, forwardMessage: function (a) {}, __class__: iw }); var jw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['On Ground'] = '_OnGround'; this._OnGround = !1; this.nameMap.h['Ground Check'] = '_GroundCheck'; this._GroundCheck = !1; this.nameMap.h['Can Make Noise'] = '_CanMakeNoise'; this._CanMakeNoise = !1; this.nameMap.h['Face Left'] = '_FaceLeft'; this._FaceLeft = !0; this.nameMap.h.Speed = '_Speed'; this._Speed = 12; this.nameMap.h.Fall = '_Fall'; this._Fall = !1; this.nameMap.h['No Gravity'] = '_NoGravity'; this._NoGravity = !1; this.nameMap.h.Health = '_Health'; this._Health = 3; this.nameMap.h.Hurt = '_Hurt'; this._Hurt = !1; this.nameMap.h.Dead = '_Dead'; this._Dead = !1; this.nameMap.h['Starting Y'] = '_StartingY'; this._StartingY = 0; this.nameMap.h['Ground Amnesty'] = '_GroundAmnesty'; this._GroundAmnesty = 0; this.nameMap.h.Go = '_Go'; this._Go = !1; this.nameMap.h.Dude = '_Dude'; this.nameMap.h['Ready To Talk'] = '_ReadyToTalk'; this._ReadyToTalk = !1; this.nameMap.h['Has Entered'] = '_HasEntered'; this._HasEntered = !1; this.nameMap.h['Dialog Complete'] = '_DialogComplete'; this._DialogComplete = !1; this.nameMap.h['Dialog Text'] = '_DialogText'; this._DialogText = 'DEFAULT'; }; k['scripts.Design_188_188_Boss1Logic'] = jw; jw.__name__ = 'scripts.Design_188_188_Boss1Logic'; jw.__super__ = n; jw.prototype = t(n.prototype, { _GravitySpeed: null, _OnGround: null, _GroundCheck: null, _CanMakeNoise: null, _FaceLeft: null, _Speed: null, _Fall: null, _NoGravity: null, _Health: null, _Hurt: null, _Dead: null, _StartingY: null, _GroundAmnesty: null, _Go: null, _Dude: null, _ReadyToTalk: null, _HasEntered: null, _DialogComplete: null, _DialogText: null, _event_HitsGround: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(1); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && a.thisFromBottom && ((this._GroundCheck = !0), (this._GroundAmnesty = 4)); }, _event_EveryNsecs: function (a) { this.wrapper.enabled && (this._OnGround || --this._GroundAmnesty); }, _event_HitsHazard: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorGroup(4); var e = a.otherActor.getType(); a = a.otherActor.getGroup(); d = d == e || d == a; } else d = !1; if (d) if (this._Hurt) this.actor.setYVelocity(-100); else if ( ((this._Hurt = !0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(378)), this.actor.setFilter([c.createBrightnessFilter(100)]), c.runLater( 200, function (a) { b.actor.clearFilters(); }, this.actor ), --this._Health, 0 == this._Health) ) { this._Dead = !0; c.stopSoundOnChannel(16); d = 0; for (e = c.getActorsOfType(c.getActorType(353)); d < e.length; ) (a = e[d]), ++d, null == a || a.dead || a.recycled || (a.moveBy(0, 32, 0.3, v.quadInOut), a.setValue('Button Logic', '_Hide', !0)); this._GravitySpeed = 24; this.actor.setYVelocity(-120); } }, _event_GroundandGravity: function (a) { if (this.wrapper.enabled) { if (this._GroundCheck) { if (this._Hurt) { this._Hurt = this._Fall = !1; a = 0; for (var b = c.getActorsOfType(c.getActorType(353)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || d.setValue('Button Logic', '_Disable', !1); } this._FaceLeft ? this.actor.setAnimation('Left') : this.actor.setAnimation('Right'); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(105)); c.startShakingScreen(0.006999999999999999, 0.15); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut); this._Dead && (c.createRecycledActorOnLayer( c.getActorType(28), this.actor.getXCenter() - 16, this.actor.getYCenter() - 16, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(0, -128, 0.6, v.backOut), c.createRecycledActorOnLayer( c.getActorType(359), this.actor.getX(), this.actor.getY() - 12, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(0, 12, 0.3, v.quadIn), this._FaceLeft ? (c.getLastCreatedActor().setAnimation('Left'), c.createRecycledActorOnLayer( c.getActorType(365), this.actor.getX() + 10, this.actor.getY() + 42, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Left'), c.getLastCreatedActor().setYVelocity(-80), c.createRecycledActorOnLayer( c.getActorType(363), this.actor.getX() + 38, this.actor.getY() + 16, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Left'), c.getLastCreatedActor().setYVelocity(-90), c.createRecycledActorOnLayer( c.getActorType(361), this.actor.getX() + 12, this.actor.getY() + 70, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Left'), c.getLastCreatedActor().setYVelocity(-70), c.getLastCreatedActor().moveToBottom(), c.createRecycledActorOnLayer( c.getActorType(361), this.actor.getX() + 46, this.actor.getY() + 70, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Left'), c.getLastCreatedActor().setYVelocity(-70)) : (c.createRecycledActorOnLayer( c.getActorType(365), this.actor.getX() + 8, this.actor.getY() + 42, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setYVelocity(-80), c.createRecycledActorOnLayer( c.getActorType(363), this.actor.getX() + 38, this.actor.getY() + 16, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setYVelocity(-90), c.createRecycledActorOnLayer( c.getActorType(361), this.actor.getX() + 14, this.actor.getY() + 70, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setYVelocity(-70), c.createRecycledActorOnLayer( c.getActorType(361), this.actor.getX() + 48, this.actor.getY() + 70, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setYVelocity(-70), c.getLastCreatedActor().moveToBottom()), c.recycleActor(this.actor)); } this._OnGround || ((this._OnGround = !0), this.actor.setYVelocity(0), this._CanMakeNoise ? h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(117)) : (this._CanMakeNoise = !0)); } else this._OnGround && 0 == this._GroundAmnesty && (this._OnGround = !1); this._GroundCheck = !1; this._Fall && !this._NoGravity && this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed)); this._Fall || this._Hurt || this._Dead || (this.actor.getY() < this._StartingY && this.actor.setY(this._StartingY)); } }, _event_Movement: function (a) { var b = this; if (this.wrapper.enabled) { a = this._Dude; if ( !c.isPrimitive(a) && ('string' == typeof a ? '' == w.__cast(a, String) : null == a) ) { a = 0; for (var d = c.getActorsOfType(c.getActorType(2)); a < d.length; ) { var e = d[a]; ++a; null == e || e.dead || e.recycled || (this._Dude = e); } } if (this._Go) { this._Fall || this._Hurt || this._Dead ? this.actor.setXVelocity(0) : (this._FaceLeft && c.tileExistsAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 32)) / 32), Math.floor(this.actor.getX() / 32), c.engine.getLayerById(0) ) && 7 < c.getTileIDAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 32)) / 32), Math.floor(this.actor.getX() / 32), c.engine.getLayerById(0) ) ? ((this._FaceLeft = !1), this.actor.setAnimation('Turn'), c.runLater( 80, function (a) { b.actor.setAnimation('Right'); }, this.actor )) : !this._FaceLeft && c.tileExistsAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 32)) / 32), Math.ceil((this.actor.getX() + this.actor.getWidth()) / 32) - 1, c.engine.getLayerById(0) ) && 7 < c.getTileIDAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 32)) / 32), Math.ceil((this.actor.getX() + this.actor.getWidth()) / 32) - 1, c.engine.getLayerById(0) ) && ((this._FaceLeft = !0), this.actor.setAnimation('Turn'), c.runLater( 80, function (a) { b.actor.setAnimation('Left'); }, this.actor )), this._FaceLeft ? this.actor.setXVelocity(-this._Speed) : this.actor.setXVelocity(this._Speed)); a = 0; for (d = c.getActorsOfType(c.getActorType(40)); a < d.length; ) if ( ((e = d[a]), ++a, null != e && !e.dead && !e.recycled && e.getValue('Button Block Logic', '_BossHoleSensor') && this.actor.getX() >= e.getX() - 1 && this.actor.getX() <= e.getX() + 1 && 'Open' == e.getAnimation()) ) { this.actor.setX(e.getX()); this.actor.setXVelocity(0); e = 0; for (var f = c.getActorsOfType(c.getActorType(353)); e < f.length; ) { var g = f[e]; ++e; null == g || g.dead || g.recycled || g.setValue('Button Logic', '_Disable', !0); } this._Fall || (this.actor.setYVelocity(0), this._FaceLeft ? this.actor.setAnimation('Left Fall') : this.actor.setAnimation('Right Fall'), (this._NoGravity = this._Fall = !0), c.runLater( 400, function (a) { b._FaceLeft ? b.actor.setAnimation('Left Fall 2') : b.actor.setAnimation('Right Fall 2'); }, this.actor ), c.runLater( 500, function (a) { b._NoGravity = !1; b.actor.setYVelocity(100); }, this.actor ), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(373))); } if (this._Hurt && this.actor.getY() < this._StartingY) for (a = 0, d = c.getActorsOfType(c.getActorType(40)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.say('Button Block Logic', '_customEvent_Reset'); } this._ReadyToTalk && (h.engine.getGameAttribute('Boss 1 Dialog Read') ? ((this._ReadyToTalk = !1), this.actor.shout('_customEvent_dialogComplete')) : ((a = this._Dude), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Dude.getValue('Dude Logic', '_OnGround') && ((this._ReadyToTalk = !1), this._DialogComplete || ((this._DialogComplete = !0), c.stopSoundOnChannel(16), c.createRecycledActor(c.getActorType(161), 0, c.getScreenHeight() - 96, 0), 'JP' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*\u30ae\u30e3\u30fc*|\u3042\u3042\u3001\u306a\u3093\u3066\u3053\u3063\u305f\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\u3042\u3001\u3053\u3093\u306b\u3061\u306f\uff01\u3042\u306a\u305f\u306e\u540d\u524d\u306f\u4f55\u3067\u3059\u304b\uff1f|\u79c1\u306f\u30d0\u30fc\u30ac\u30fc\u30b0\u30e9\u30fc\u3001\u30c0\u30fc\u30ca\u30c3\u30af\u537f\u306e\u7b2c3\u306e\u5b50\u5206\u3067\u3059\uff01|\u306a\u3093\u3066\u7d20\u6575\u306a\u540d\u524d\u3067\u3059\uff01\u3053\u3093\u306b\u3061\u306f\u30d0\u30fc\u30ac\u30fc\u30b0\u30e9\u30fc\u3001\u79c1\u306f\u30c0\u30c7\u30a3\u30c3\u30b7\u30e5\u3067\u3059\uff01\u79c1\u306f\u5b9f\u306f\u79c1\u306e\u5b50\u4f9b\u305f\u3061\u3092\u63a2\u3057\u3066\u3044\u307e\u3059\u3001\u3042\u306a\u305f\u306f\u305f\u307e\u305f\u307e\u3053\u3053\u3067\u5c0f\u3055\u306a\u30e9\u30c7\u30c3\u30b7\u30e5\u3092\u898b\u305f\u3053\u3068\u304c\u3042\u308a\u307e\u305b\u3093\u304b\uff1f|\u3042\u306a\u305f\u306f\u30c0\u30fc\u30ca\u30c3\u30af\u537f\u306b\u6c7a\u3057\u3066\u5c4a\u304b\u306a\u3044\u3067\u3057\u3087\u3046\uff01\u6b7b\u306c\u6e96\u5099\u3092\u3057\u306a\u3055\u3044\uff01|\u305d\u308c\u3067\u3001\u3048\u3048\u3068\u3001\u305d\u308c\u306f\u3044\u3044\u3048\u3067\u3059\u304b\uff1f' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : 'CN' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*SCREECH*|\u54e6\u5929\u54ea\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\u54e6\uff0c\u4f60\u597d\uff01\u4f60\u53eb\u4ec0\u4e48\u540d\u5b57\uff1f|\u6211\u662fBURGURGULAR\uff0c\u675c\u7eb3\u514b\u52cb\u7235\u7684\u7b2c\u4e09\u4e2a\u968f\u4ece\uff01|\u591a\u597d\u7684\u540d\u5b57\u554a\uff01\u55e8\uff0cBurgurgular\uff0c\u6211\u662f\u7238\u7238\u841d\u535c\uff01\u6211\u5b9e\u9645\u4e0a\u662f\u5728\u5bfb\u627e\u6211\u7684\u5b69\u5b50\uff0c\u4f60\u6ca1\u6709\u5728\u8fd9\u91cc\u78b0\u5230\u4efb\u4f55\u5c0f\u841d\u535c\u5417\uff1f|\u4f60\u6c38\u8fdc\u4e0d\u4f1a\u8d76\u4e0a\u675c\u7eb3\u514b\u52cb\u7235\uff01\u51c6\u5907\u53bb\u6b7b\uff01|\u90a3\u4e48\uff0c\u5443\uff0c\u53ef\u4ee5\u8bf4\u4e0d\u5417\uff1f' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : 'KR' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*\uaf64\uc561*|\uc5b4 \uc774\ub7f0.' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\uc548\ub155\ud558\uc138\uc694! \uc774\ub984\uc774 \uc5b4\ub5bb\uac8c \ub418\uc138\uc694?|\ub09c \uc704\ub300\ud558\uc2e0 \ub354\ub098\ud06c\ub2d8\uc758 \uc138 \ubc88\uc9f8 \uc218\ud558, \ubc84\uac70\uae00\ub7ec\ub2e4!|\uba4b\uc9c4 \uc774\ub984\uc774\ub124\uc694! \uc548\ub155\ud558\uc138\uc694 \ubc84\uac70\uae00\ub7ec\uc528, \uc804 \ub300\ub514\uc26c\uc5d0\uc694! \uc804 \uc0ac\uc2e4 \uc81c \uc544\uc774\ub4e4\uc744 \ucc3e\uace0 \uc788\uc5b4\uc694. \uc8fc\ubcc0\uc5d0\uc11c \ub354 \uc791\uc740 \ubb34\ub97c \ubcf8 \uc801 \uc5c6\uc73c\uc2dc\uaca0\uc8e0?|\ub10c \uc808\ub300 \ub354\ub098\ud06c\ub2d8\uaed8 \uac08 \uc218 \uc5c6\ub2e4! \uc8fd\uc744 \uc900\ube44\ub97c \ud574\ub77c!|\uc5b4, \ubabb \ubcf4\uc168\ub2e4\ub294 \uac70\uc8e0?' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue('Dialog Box Logic', '_DialogText', '*SCREECH*|Oh my gosh'), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', "Oh, hello! What's your name?|I AM BURGURGULAR, THIRD HENCHMAN TO LORD DURNAK!|What a nice name! Hi Burgurgular, I'm Dadish! I'm actually looking for my kids, you haven't happened to have seen any smaller radishes around here have you?|YOU WILL NEVER REACH LORD DURNAK! PREPARE TO DIE!|So, uh, is that a no?" ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')), c.getLastCreatedActor().setValue('Dialog Box Logic', '_Character2', 'Boss 1'), c.getLastCreatedActor().setValue('Dialog Box Logic', '_Parent', this.actor), c.getLastCreatedActor().say('Dialog Box Logic', '_customEvent_Go'))))); } }, _event_EntersScreen: function (a, b, d, e) { var f = this; this.wrapper.enabled && a && !this._HasEntered && !this._Go && ((this._HasEntered = !0), c.runLater( 700, function (a) { f._ReadyToTalk = !0; }, this.actor )); }, _event_HitsBlock: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(40); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && a.thisFromBottom && (this._GroundCheck = !0); }, _customEvent_dialogComplete: function () { this._Go = !0; h.engine.gameAttributes.h['Boss 1 Dialog Read'] = !0; this.actor.setAnimation('Left'); c.loopSoundOnChannel(c.getSound(377), 16); h.engine.getGameAttribute('Music Disabled') ? c.setVolumeForChannel(0, 16) : h.engine.getGameAttribute('Music Disabled') || c.setVolumeForChannel(1, 16); }, init: function () { this.actor.makeAlwaysSimulate(); this._GravitySpeed = 48; this._GroundCheck = this._OnGround = !0; this._StartingY = this.actor.getY(); this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); c.runPeriodically(10, m(this, this._event_EveryNsecs), this.actor); this.addListener(this.actor.whenCollided, m(this, this._event_HitsHazard)); this.addListener(this.actor.whenUpdated, m(this, this._event_GroundandGravity)); this.addListener(this.actor.whenUpdated, m(this, this._event_Movement)); this.addListener(this.actor.whenPositionStateChanged, m(this, this._event_EntersScreen)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsBlock)); }, forwardMessage: function (a) {}, __class__: jw }); var kw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Step Seconds'] = '_StepSeconds'; this._StepSeconds = 0; this.nameMap.h['Distance X'] = '_DistanceX'; this._DistanceX = 0; this.nameMap.h['Distance Y'] = '_DistanceY'; this._DistanceY = 0; this.nameMap.h.Distance = '_Distance'; this._Distance = 0; this.nameMap.h.Direction = '_Direction'; this._Direction = 0; this.nameMap.h['Origin Actor'] = '_OriginActor'; this.nameMap.h['New Distance'] = '_NewDistance'; this._NewDistance = 0; this.nameMap.h['Distance Threshold'] = '_DistanceThreshold'; this._DistanceThreshold = 10; this.nameMap.h['Fixed Radius'] = '_FixedRadius'; this._FixedRadius = !0; this.nameMap.h.Speed = '_Speed'; this._Speed = 10; this.nameMap.h.Facing = '_Facing'; this._Facing = 0; this.nameMap.h['Point Away'] = '_PointAway'; this._PointAway = !0; this.nameMap.h.ActualX = '_ActualX'; this._ActualX = 0; this.nameMap.h.ActualY = '_ActualY'; this._ActualY = 0; this.nameMap.h['Speed Tracker'] = '_SpeedTracker'; this.nameMap.h['Tracker X Speed'] = '_TrackerXSpeed'; this._TrackerXSpeed = 0; }; k['scripts.Design_18_18_RotatorObject'] = kw; kw.__name__ = 'scripts.Design_18_18_RotatorObject'; kw.__super__ = n; kw.prototype = t(n.prototype, { _StepSeconds: null, _DistanceX: null, _DistanceY: null, _Distance: null, _Direction: null, _OriginActor: null, _NewDistance: null, _DistanceThreshold: null, _FixedRadius: null, _Speed: null, _Facing: null, _PointAway: null, _ActualX: null, _ActualY: null, _SpeedTracker: null, _TrackerXSpeed: null, _event_Updated: function (a) { this.wrapper.enabled && ((a = this._OriginActor), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._OriginActor.isAlive() && (this._FixedRadius || ((this._DistanceX = this.actor.getXCenter() - this._OriginActor.getXCenter()), (this._DistanceY = this.actor.getYCenter() - this._OriginActor.getYCenter()), (this._NewDistance = Math.sqrt( Math.pow(this._DistanceX, 2) + Math.pow(this._DistanceY, 2) )), Math.abs(this._NewDistance - this._Distance) > this._DistanceThreshold && ((this._Distance = this._NewDistance), (this._Direction = Math.atan2(this._DistanceY, this._DistanceX)))), (this._Direction = (this._Direction += 0.01745329251994278 * this._Speed * this._StepSeconds) - 2 * Math.PI * Math.floor(this._Direction / (2 * Math.PI))), (this._ActualX = this._OriginActor.getXCenter() + this._Distance * Math.cos(this._Direction) - this.actor.getWidth() / 2), (this._ActualY = this._OriginActor.getYCenter() + this._Distance * Math.sin(this._Direction) - this.actor.getHeight() / 2), this.actor.setX(this._ActualX), this.actor.setY(this._ActualY))); }, _event_EveryNsecs: function (a) { this.wrapper.enabled && ((a = this._SpeedTracker), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && (this._TrackerXSpeed = this._SpeedTracker.getXVelocity()); }, _customEvent_Initialize: function () { this.actor.makeAlwaysSimulate(); var a = this._OriginActor; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._OriginActor.isAlive() && ((this._DistanceX = this.actor.getXCenter() - this._OriginActor.getXCenter()), (this._DistanceY = this.actor.getYCenter() - this._OriginActor.getYCenter()), (this._Distance = Math.sqrt( Math.pow(this._DistanceX, 2) + Math.pow(this._DistanceY, 2) )), (this._Direction = Math.atan2(this._DistanceY, this._DistanceX))); this.actor.hasBehavior('Set Path') && this.actor.disableBehavior('Set Path'); }, init: function () { this._StepSeconds = c.getStepSize() / 1e3; this.actor.getGroup() == c.getActorGroup(5) && (c.createRecycledActor( c.getActorType(64), this.actor.getXCenter(), this.actor.getYCenter(), 0 ), (this._SpeedTracker = c.getLastCreatedActor()), this._SpeedTracker.disableActorDrawing(), this._SpeedTracker.setValue('Follow Target', '_TargetActor', this.actor)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updated)); c.runPeriodically(100, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: kw }); var lw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['On Ground'] = '_OnGround'; this._OnGround = !1; this.nameMap.h['Ground Check'] = '_GroundCheck'; this._GroundCheck = !1; this.nameMap.h['Can Make Noise'] = '_CanMakeNoise'; this._CanMakeNoise = !1; this.nameMap.h['Face Left'] = '_FaceLeft'; this._FaceLeft = !0; this.nameMap.h.Speed = '_Speed'; this._Speed = 12; this.nameMap.h.Fall = '_Fall'; this._Fall = !1; this.nameMap.h['No Gravity'] = '_NoGravity'; this._NoGravity = !1; this.nameMap.h.Health = '_Health'; this._Health = 4; this.nameMap.h.Hurt = '_Hurt'; this._Hurt = !1; this.nameMap.h.Dead = '_Dead'; this._Dead = !1; this.nameMap.h['Starting Y'] = '_StartingY'; this._StartingY = 0; this.nameMap.h['Ground Amnesty'] = '_GroundAmnesty'; this._GroundAmnesty = 0; this.nameMap.h.Go = '_Go'; this._Go = !1; this.nameMap.h.Dude = '_Dude'; this.nameMap.h['Ready To Talk'] = '_ReadyToTalk'; this._ReadyToTalk = !1; this.nameMap.h['Has Entered'] = '_HasEntered'; this._HasEntered = !1; this.nameMap.h['Dialog Complete'] = '_DialogComplete'; this._DialogComplete = !1; this.nameMap.h['Dialog Text'] = '_DialogText'; this._DialogText = 'DEFAULT'; this.nameMap.h['Can Bounce'] = '_CanBounce'; this._CanBounce = !1; }; k['scripts.Design_205_205_Boss2Logic'] = lw; lw.__name__ = 'scripts.Design_205_205_Boss2Logic'; lw.__super__ = n; lw.prototype = t(n.prototype, { _GravitySpeed: null, _OnGround: null, _GroundCheck: null, _CanMakeNoise: null, _FaceLeft: null, _Speed: null, _Fall: null, _NoGravity: null, _Health: null, _Hurt: null, _Dead: null, _StartingY: null, _GroundAmnesty: null, _Go: null, _Dude: null, _ReadyToTalk: null, _HasEntered: null, _DialogComplete: null, _DialogText: null, _CanBounce: null, _event_HitsGround: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorGroup(1); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && this._Go && (this._Dead ? (c.createRecycledActorOnLayer( c.getActorType(385), this.actor.getX(), this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(105)), c.startShakingScreen(0.006999999999999999, 0.15), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() / 2 - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Dirt'), c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() - 8, this.actor.getY() + this.actor.getHeight() / 2 - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Dirt'), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 8, this.actor.getY() + this.actor.getHeight() / 2 - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Dirt'), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut), c.recycleActor(this.actor)) : (a.thisFromBottom && ((this._GroundCheck = !0), (this._GroundAmnesty = 4)), a.thisFromLeft && ((this._FaceLeft = !1), this.actor.setAnimation('Turn'), this.actor.setXVelocity(this._Speed), c.runLater( 200, function (a) { b.actor.setAnimation('Right'); }, this.actor )), a.thisFromRight && ((this._FaceLeft = !0), this.actor.setAnimation('Turn'), this.actor.setXVelocity(-this._Speed), c.runLater( 200, function (a) { b.actor.setAnimation('Left'); }, this.actor )))); }, _event_EveryNsecs: function (a) { this.wrapper.enabled && (this._OnGround || --this._GroundAmnesty); }, _event_HitsHazard: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorGroup(4); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; if ( d && !this._Hurt && ((this._Hurt = !0), (this._Speed *= 1.3), a.otherActor.getType() == c.getActorType(211) && a.otherActor.shout('_customEvent_Destroy'), this.actor.setXVelocity(0), this.actor.setYVelocity(0), (this._NoGravity = !0), --this._Health, this.actor.setFilter([c.createBrightnessFilter(100)]), c.runLater( 200, function (a) { b.actor.clearFilters(); }, this.actor ), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(378)), 0 < this._Health && (c.runLater( 400, function (a) { b._NoGravity = !1; }, this.actor ), this._FaceLeft ? this.actor.setAnimation('Left Hurt') : this.actor.setAnimation('Right Hurt')), 0 == this._Health) ) { c.runLater( 200, function (a) { b.actor.setAnimation('Dead Spin'); }, this.actor ); c.runLater( 600, function (a) { b._NoGravity = !1; }, this.actor ); this._Dead = !0; c.stopSoundOnChannel(16); a = 0; for (d = c.getActorsOfType(c.getActorType(353)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (e.moveBy(0, 32, 0.3, v.quadInOut), e.setValue('Button Logic', '_Hide', !0)); a = 0; for (d = c.getActorsOfType(c.getActorType(208)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (e.moveBy(-32, 0, 0.3, v.quadInOut), e.setValue('Button Logic', '_Hide', !0)); a = 0; for (d = c.getActorsOfType(c.getActorType(213)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (e.moveBy(32, 0, 0.3, v.quadInOut), e.setValue('Button Logic', '_Hide', !0)); } }, _event_GroundandGravity: function (a) { var b = this; this.wrapper.enabled && (this._Go && (this._GroundCheck ? this._OnGround || ((this._OnGround = !0), (this._Hurt = !1), this.actor.setXVelocity(0), this.actor.setYVelocity(0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(105)), c.startShakingScreen(0.006999999999999999, 0.15), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut), this._FaceLeft ? this.actor.setAnimation('Left Bounce') : this.actor.setAnimation('Right Bounce'), this.actor.setCurrentFrame(0), c.runLater( 100, function (a) { b._FaceLeft ? b.actor.setXVelocity(-b._Speed) : b.actor.setXVelocity(b._Speed); b.actor.setYVelocity(-90); }, this.actor )) : (this._OnGround = !1)), (this._GroundCheck = !1), this._Go && !this._NoGravity && this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed))); }, _event_Movement: function (a) { if (this.wrapper.enabled) { a = this._Dude; if ( !c.isPrimitive(a) && ('string' == typeof a ? '' == w.__cast(a, String) : null == a) ) { a = 0; for (var b = c.getActorsOfType(c.getActorType(2)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || (this._Dude = d); } } this._ReadyToTalk && (h.engine.getGameAttribute('Boss 2 Dialog Read') ? ((this._ReadyToTalk = !1), this.actor.shout('_customEvent_dialogComplete')) : ((a = this._Dude), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Dude.getValue('Dude Logic', '_OnGround') && ((this._ReadyToTalk = !1), this._DialogComplete || ((this._DialogComplete = !0), c.stopSoundOnChannel(16), c.createRecycledActor(c.getActorType(161), 0, c.getScreenHeight() - 96, 0), 'JP' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*\u30ae\u30e3\u30fc*|\u3042\u3042\u3001\u306a\u3093\u3066\u3053\u3063\u305f\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\u3053\u3093\u306b\u3061\u306f\u3001\u30c0\u30c7\u30a3\u30c3\u30b7\u30e5\u3067\u3059\uff01\u79c1\u306e\u611a\u304b\u306a\u5b50\u4f9b\u305f\u3061\u3092\u898b\u305f\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u304b\uff1f|\u79c1\u306f\u30db\u30c3\u30c8\u30c9\u30c3\u30b0\u3001\u30c0\u30fc\u30ca\u30c3\u30af\u537f\u306e2 \u756a\u76ee\u306e\u5b50\u5206\u3067\u3059\uff01|\u3042\u306a\u305f\u306e\u540d\u524d\u306f... \u30db\u30c3\u30c8\u30c9\u30c3\u30b0..\uff1f\u672c\u5f53\u3067\u3059\u304b\uff1f|\u79c1\u306f\u30db\u30c3\u30c8\u30c9\u30c3\u30af\u3067\u3059\uff01\u6b7b\u306c\u6e96\u5099\u3092\u3057\u306a\u3055\u3044\uff01|\u4e86\u89e3\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : 'CN' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*SCREECH*|\u54e6\u5929\u54ea\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\u55e8\uff0c\u6211\u662f\u7238\u7238\u841d\u535c\uff01\u4f60\u770b\u5230\u6211\u90a3\u4e9b\u8822\u5b69\u5b50\u4e86\u5417\uff1f|\u6211\u662f\u70ed\u72d7\uff0c\u675c\u7eb3\u514b\u52cb\u7235\u7684\u7b2c\u4e8c\u4e2a\u968f\u4ece\uff01|\u70ed\u72d7\u2026\u2026\uff1f\u4f60\u5b8c\u5168\u786e\u5b9a\u5417\uff1f|\u6211\u662f\u70ed\u72d7\uff01\u51c6\u5907\u53bb\u6b7b\uff01|\u597d\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : 'KR' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*\uaf64\uc561*|\uc5b4 \uc774\ub7f0.' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\uc548\ub155\ud558\uc138\uc694, \uc804 \ub300\ub514\uc26c\uc5d0\uc694! \uc81c \uba4d\uccad\ud55c \uc544\uc774\ub4e4\uc744 \ubcf8 \uc801 \uc788\uc73c\uc138\uc694?|\ub09c \ud56b\ub3c4\uadf8\ub2e4. \ub354\ub098\ud06c\ub2d8\uc758 \ub450 \ubc88\uc9f8 \uc218\ud558\uc9c0!|\uadf8\ub7ec\ub2c8\uae4c \uc774\ub984\uc774... \ud56b\ub3c4\uadf8\uc2dc\ub77c\uad6c\uc694..? \uc9c4\uc9dc\ub85c\uc694?|\ub098\ub294 \ud56b\ub3c4\uadf8\ub2e4! \uc8fd\uc744 \uc900\ube44\ub97c \ud574\ub77c!|\uc54c\uc558\uc5b4\uc694.' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue('Dialog Box Logic', '_DialogText', '*SCREECH*|Oh my gosh'), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', "Hi there, I'm Dadish! Have you seen my stupid children?|I AM HOTDOG, SECOND HENCHMAN TO LORD DURNAK!|Your name is... Hotdog..? Are you absolutely sure?|I AM HOTDOG! PREPARE TO DIE!|Righto." ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')), c.getLastCreatedActor().setValue('Dialog Box Logic', '_Character2', 'Boss 2'), c.getLastCreatedActor().setValue('Dialog Box Logic', '_Parent', this.actor), c.getLastCreatedActor().say('Dialog Box Logic', '_customEvent_Go'))))); } }, _event_EntersScreen: function (a, b, d, e) { var f = this; this.wrapper.enabled && a && !this._HasEntered && !this._Go && ((this._HasEntered = !0), c.runLater( 700, function (a) { f._ReadyToTalk = !0; }, this.actor )); }, _customEvent_dialogComplete: function () { this._Go = !0; h.engine.gameAttributes.h['Boss 2 Dialog Read'] = !0; this.actor.setAnimation('Left'); c.loopSoundOnChannel(c.getSound(377), 16); h.engine.getGameAttribute('Music Disabled') ? c.setVolumeForChannel(0, 16) : h.engine.getGameAttribute('Music Disabled') || c.setVolumeForChannel(1, 16); }, init: function () { this.actor.makeAlwaysSimulate(); this._GravitySpeed = 48; this._StartingY = this.actor.getY(); this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); c.runPeriodically(10, m(this, this._event_EveryNsecs), this.actor); this.addListener(this.actor.whenCollided, m(this, this._event_HitsHazard)); this.addListener(this.actor.whenUpdated, m(this, this._event_GroundandGravity)); this.addListener(this.actor.whenUpdated, m(this, this._event_Movement)); this.addListener(this.actor.whenPositionStateChanged, m(this, this._event_EntersScreen)); }, forwardMessage: function (a) {}, __class__: lw }); var mw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['On Ground'] = '_OnGround'; this._OnGround = !1; this.nameMap.h['Ground Check'] = '_GroundCheck'; this._GroundCheck = !1; this.nameMap.h['Can Make Noise'] = '_CanMakeNoise'; this._CanMakeNoise = !1; this.nameMap.h['On Platform'] = '_OnPlatform'; this._OnPlatform = !1; this.nameMap.h['Platform Check'] = '_PlatformCheck'; this._PlatformCheck = !1; this.nameMap.h['Platform Release Delay'] = '_PlatformReleaseDelay'; this._PlatformReleaseDelay = 0; this.nameMap.h['Current Platform'] = '_CurrentPlatform'; this.nameMap.h['Platform Pos X'] = '_PlatformPosX'; this._PlatformPosX = 0; this.nameMap.h['Non Stick'] = '_NonStick'; this._NonStick = !1; this.nameMap.h.Spring = '_Spring'; this.nameMap.h['Has Spring'] = '_HasSpring'; this._HasSpring = !1; }; k['scripts.Design_209_209_PushableCrateLogic'] = mw; mw.__name__ = 'scripts.Design_209_209_PushableCrateLogic'; mw.__super__ = n; mw.prototype = t(n.prototype, { _GravitySpeed: null, _OnGround: null, _GroundCheck: null, _CanMakeNoise: null, _OnPlatform: null, _PlatformCheck: null, _PlatformReleaseDelay: null, _CurrentPlatform: null, _PlatformPosX: null, _NonStick: null, _Spring: null, _HasSpring: null, _event_HitsGround: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(1); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && a.thisFromBottom && (this._GroundCheck = !0); }, _event_HitsPlatform: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(5); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; if (b && a.thisFromBottom) { this._PlatformCheck = this._GroundCheck = !0; if (0 == this._PlatformReleaseDelay || 0 != this.actor.getXVelocity()) this._PlatformPosX = this.actor.getX() - a.otherActor.getX(); this._PlatformReleaseDelay = 6; this._CurrentPlatform = a.otherActor; } }, _event_Updating: function (a) { if (this.wrapper.enabled) { this._GroundCheck ? this._OnGround || ((this._OnGround = !0), this._CanMakeNoise && !this._OnPlatform ? h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(117)) : (this._CanMakeNoise = !0)) : this._OnGround && (this._OnGround = !1); this._GroundCheck = !1; this._PlatformCheck ? (this.actor.setYVelocity(40), this._OnPlatform || (this._OnPlatform = !0)) : this._OnPlatform && 0 == this._PlatformReleaseDelay && (this._OnPlatform = !1); this._PlatformCheck = !1; 0 < this._PlatformReleaseDelay && --this._PlatformReleaseDelay; if (this._OnPlatform) { var b = this._CurrentPlatform; a = c.isPrimitive(b) ? !0 : 'string' == typeof b ? '' != w.__cast(b, String) : null != b; } else a = !1; a && !this._NonStick && (this._CurrentPlatform.hasBehavior('Rotator Object') && 0 != this._CurrentPlatform.getValue('Rotator Object', '_Speed') ? (0 == this.actor.getXVelocity() && ((a = this.actor), (b = this._CurrentPlatform.getValue('Rotator Object', '_ActualX')), a.setX( (null == b ? 0 : 'number' == typeof b ? w.__cast(b, ob) : 'number' == typeof b && (b | 0) === b ? w.__cast(b, nb) : 'boolean' == typeof b ? w.__cast(b, jb) ? 1 : 0 : 'string' == typeof b ? parseFloat(b) : parseFloat(z.string(b))) + this._PlatformPosX )), (a = this.actor), (b = this._CurrentPlatform.getValue('Rotator Object', '_ActualY')), a.setY( (null == b ? 0 : 'number' == typeof b ? w.__cast(b, ob) : 'number' == typeof b && (b | 0) === b ? w.__cast(b, nb) : 'boolean' == typeof b ? w.__cast(b, jb) ? 1 : 0 : 'string' == typeof b ? parseFloat(b) : parseFloat(z.string(b))) - this.actor.getHeight() )) : (0 == this.actor.getXVelocity() && this.actor.setX(this._CurrentPlatform.getX() + this._PlatformPosX), this.actor.setY(this._CurrentPlatform.getY() - this.actor.getHeight()))); 'Space' == h.engine.getGameAttribute('Stage Type') ? this.actor.setYVelocity( Math.min(this.actor.getYVelocity() + 0.9, this._GravitySpeed / 2) ) : this.actor.setYVelocity( Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed) ); 0 < this.actor.getXVelocity() ? this.actor.setXVelocity(Math.max(0, this.actor.getXVelocity() - 1)) : 0 > this.actor.getXVelocity() && this.actor.setXVelocity(Math.min(0, this.actor.getXVelocity() + 1)); b = this._Spring; if (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) this._Spring.setX(this.actor.getXCenter() - this._Spring.getWidth() / 2), this._Spring.setY(this.actor.getY() - this._Spring.getHeight()); } }, init: function () { this.actor.makeAlwaysSimulate(); this._GravitySpeed = 48; this._GroundCheck = this._OnGround = !0; this._CanMakeNoise = !1; this._HasSpring && (this.actor.getType() == c.getActorType(917) ? c.createRecycledActorOnLayer( c.getActorType(919), this.actor.getX(), this.actor.getY() - 32, c.engine.getLayerById(this.actor.getLayerID()) ) : c.createRecycledActorOnLayer( c.getActorType(62), this.actor.getX(), this.actor.getY() - 32, c.engine.getLayerById(this.actor.getLayerID()) ), (this._Spring = c.getLastCreatedActor()), this._Spring.moveToBottom(), this.actor.moveToBottom()); this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsPlatform)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: mw }); var nw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Key Number'] = '_KeyNumber'; this._KeyNumber = 0; this.nameMap.h.Unlocked = '_Unlocked'; this._Unlocked = !1; this.nameMap.h['Lock list'] = '_Locklist'; }; k['scripts.Design_20_20_KeyLogic'] = nw; nw.__name__ = 'scripts.Design_20_20_KeyLogic'; nw.__super__ = n; nw.prototype = t(n.prototype, { _KeyNumber: null, _Unlocked: null, _Locklist: null, _customEvent_unlock: function () { this._Locklist = []; if (!this._Unlocked) { this._Unlocked = !0; c.setValueForScene('Stage Logic', '_RumbleName', 'Item'); c.sayToScene('Stage Logic', '_customEvent_rumble'); if ('Level 3' == c.getCurrentSceneName()) for (var a = 0, b = c.getActorsOfType(c.getActorType(607)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || c.recycleActor(d); } if ('Level 30' == c.getCurrentSceneName()) for (a = 0, b = c.getActorsOfType(c.getActorType(956)); a < b.length; ) if (((d = b[a]), ++a, null != d && !d.dead && !d.recycled)) { d.setValue('Boss 8 Logic', '_NoShoot', !0); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(412)); d = 0; for (var e = c.getActorsOfType(c.getActorType(958)); d < e.length; ) { var f = e[d]; ++d; null == f || f.dead || f.recycled || f.shout('_customEvent_Pop'); } } h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(110)); this.actor.disableActorDrawing(); a = 0; for (b = c.getActorsOfType(c.getActorType(30)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || (d.getValue('Locked Block Logic', '_LockNumber') == this._KeyNumber && this._Locklist.push(d)); a = 0; for (b = this._Locklist.length; a < b; ) (d = a++), this._Locklist[d].setValue('Locked Block Logic', '_GoDelay', 0.2 * d + 0.4), this._Locklist[d].shout('_customEvent_Go'), d == this._Locklist.length - 1 && c.recycleActor(this.actor); } }, init: function () {}, forwardMessage: function (a) {}, __class__: nw }); var ow = function (a, b, d) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['On Ground'] = '_OnGround'; this._OnGround = !1; this.nameMap.h['Ground Check'] = '_GroundCheck'; this._GroundCheck = !1; this.nameMap.h['Can Make Noise'] = '_CanMakeNoise'; this._CanMakeNoise = !1; this.nameMap.h['Face Left'] = '_FaceLeft'; this._FaceLeft = !0; this.nameMap.h.Speed = '_Speed'; this._Speed = 6; this.nameMap.h.Fall = '_Fall'; this._Fall = !1; this.nameMap.h['No Gravity'] = '_NoGravity'; this._NoGravity = !1; this.nameMap.h.Health = '_Health'; this._Health = 5; this.nameMap.h.Hurt = '_Hurt'; this._Hurt = !1; this.nameMap.h.Dead = '_Dead'; this._Dead = !1; this.nameMap.h['Starting Y'] = '_StartingY'; this._StartingY = 0; this.nameMap.h['Ground Amnesty'] = '_GroundAmnesty'; this._GroundAmnesty = 0; this.nameMap.h.Go = '_Go'; this._Go = !1; this.nameMap.h.Dude = '_Dude'; this._Dude = c.getActor(0); this.nameMap.h['Ready To Talk'] = '_ReadyToTalk'; this._ReadyToTalk = !1; this.nameMap.h['Has Entered'] = '_HasEntered'; this._HasEntered = !1; this.nameMap.h['Dialog Complete'] = '_DialogComplete'; this._DialogComplete = !1; this.nameMap.h['Dialog Text'] = '_DialogText'; this._DialogText = ''; this.nameMap.h['Can Bounce'] = '_CanBounce'; this._CanBounce = !1; }; k['scripts.Design_220_220_Boss3Logic'] = ow; ow.__name__ = 'scripts.Design_220_220_Boss3Logic'; ow.__super__ = n; ow.prototype = t(n.prototype, { _GravitySpeed: null, _OnGround: null, _GroundCheck: null, _CanMakeNoise: null, _FaceLeft: null, _Speed: null, _Fall: null, _NoGravity: null, _Health: null, _Hurt: null, _Dead: null, _StartingY: null, _GroundAmnesty: null, _Go: null, _Dude: null, _ReadyToTalk: null, _HasEntered: null, _DialogComplete: null, _DialogText: null, _CanBounce: null, _event_HitsGround: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorGroup(1); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && !this._Hurt && this._Go && (a.thisFromBottom && ((this._GroundCheck = !0), (this._GroundAmnesty = 4)), a.thisFromLeft && ((this._FaceLeft = !1), this.actor.setAnimation('Turn'), this.actor.setXVelocity(this._Speed), c.runLater( 200, function (a) { b.actor.setAnimation('Right'); }, this.actor )), a.thisFromRight && ((this._FaceLeft = !0), this.actor.setAnimation('Turn'), this.actor.setXVelocity(-this._Speed), c.runLater( 200, function (a) { b.actor.setAnimation('Left'); }, this.actor ))); }, _event_EveryNsecs: function (a) { this.wrapper.enabled && (this._OnGround || --this._GroundAmnesty); }, _event_FollowDude: function (a) { var b = this; this.wrapper.enabled && ((a = this._Dude), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && (this._FaceLeft && this._Dude.getXCenter() > this.actor.getXCenter() + 64 ? (this.actor.setXVelocity(0), (this._FaceLeft = !1), this.actor.setAnimation('Turn'), c.runLater( 100, function (a) { b.actor.setAnimation('Right'); b.actor.setXVelocity(b._Speed); }, this.actor )) : !this._FaceLeft && this._Dude.getXCenter() < this.actor.getXCenter() - 64 && (this.actor.setXVelocity(0), (this._FaceLeft = !0), this.actor.setAnimation('Turn'), c.runLater( 100, function (a) { b.actor.setXVelocity(-b._Speed); b.actor.setAnimation('Left'); }, this.actor ))); }, _event_HitsHazard: function (a) { var b = this; if ( this.wrapper.enabled && this.internalGetGroup(a.otherActor, a.otherShape, a) == c.getActorGroup(4) && !this._Hurt && ((this._Hurt = !0), (this._Speed *= 1.1), a.otherActor.getType() == c.getActorType(211) && a.otherActor.shout('_customEvent_Destroy'), this.actor.setXVelocity(0), this.actor.setYVelocity(0), --this._Health, this.actor.setFilter([c.createBrightnessFilter(100)]), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(378)), c.createRecycledActorOnLayer( c.getActorType(395), c.randomInt(this.actor.getX() | 0, (this.actor.getX() + 64) | 0), this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setYVelocity(c.randomInt(-50, -64)), c.getLastCreatedActor().setXVelocity(c.randomInt(-24, 24)), c.createRecycledActorOnLayer( c.getActorType(395), c.randomInt(this.actor.getX() | 0, (this.actor.getX() + 64) | 0), this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setYVelocity(c.randomInt(-50, -64)), c.getLastCreatedActor().setXVelocity(c.randomInt(-24, 24)), this._FaceLeft ? this.actor.setAnimation('Left Hurt') : this.actor.setAnimation('Right Hurt'), c.runLater( 200, function (a) { b.actor.clearFilters(); b._Hurt = !1; c.runLater( 800, function (a) { h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(119)); c.startShakingScreen(0.006999999999999999, 0.15); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getY() + b.actor.getHeight() / 2 - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().setAnimation('Dirt'); c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getX() - 8, b.actor.getY() + b.actor.getHeight() / 2 - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().setAnimation('Dirt'); c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getX() + b.actor.getWidth() - 8, b.actor.getY() + b.actor.getHeight() / 2 - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().setAnimation('Dirt'); c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut); b._FaceLeft ? (b.actor.setAnimation('Left'), b.actor.setXVelocity(-b._Speed)) : (b.actor.setAnimation('Right'), b.actor.setXVelocity(b._Speed)); }, b.actor ); }, this.actor ), 0 < this._Health && c.runLater( 400, function (a) { b._NoGravity = !1; }, this.actor ), 0 == this._Health) ) { c.runLater( 600, function (a) { b._NoGravity = !1; }, this.actor ); this._Dead = !0; for (a = 0; 10 > a; ) a++, c.createRecycledActorOnLayer( c.getActorType(395), c.randomInt(this.actor.getX() | 0, (this.actor.getX() + 64) | 0), this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setYVelocity(c.randomInt(-50, -64)), c.getLastCreatedActor().setXVelocity(c.randomInt(-24, 24)); c.runLater( 200, function (a) { c.createRecycledActorOnLayer( c.getActorType(397), b.actor.getX(), b.actor.getY(), c.engine.getLayerById(b.actor.getLayerID()) ); c.recycleActor(b.actor); }, this.actor ); c.stopSoundOnChannel(16); a = 0; for (var d = c.getActorsOfType(c.getActorType(391)); a < d.length; ) { var e = d[a]; ++a; if (null != e && !e.dead && !e.recycled) { var f = e.getValue('Crusher Logic', '_OriginY'); e.setValue( 'Crusher Logic', '_OriginY', (null == f ? 0 : 'number' == typeof f ? w.__cast(f, ob) : 'number' == typeof f && (f | 0) === f ? w.__cast(f, nb) : 'boolean' == typeof f ? w.__cast(f, jb) ? 1 : 0 : 'string' == typeof f ? parseFloat(f) : parseFloat(z.string(f))) - 96 ); } } a = 0; for (d = c.getActorsOfType(c.getActorType(353)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (e.moveBy(0, 32, 0.3, v.quadInOut), e.setValue('Button Logic', '_Hide', !0)); a = 0; for (d = c.getActorsOfType(c.getActorType(208)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (e.moveBy(-32, 0, 0.3, v.quadInOut), e.setValue('Button Logic', '_Hide', !0)); a = 0; for (d = c.getActorsOfType(c.getActorType(213)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (e.moveBy(32, 0, 0.3, v.quadInOut), e.setValue('Button Logic', '_Hide', !0)); } }, _event_GroundandGravity: function (a) { this.wrapper.enabled && (this._Go && (this._GroundCheck ? this._OnGround || (this._OnGround = !0) : (this._OnGround = !1)), (this._GroundCheck = !1), this._Go && !this._NoGravity && this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed))); }, _event_Movement: function (a) { if (this.wrapper.enabled) { this._Hurt && this.actor.setXVelocity(0); a = this._Dude; if ( !c.isPrimitive(a) && ('string' == typeof a ? '' == w.__cast(a, String) : null == a) ) { a = 0; for (var b = c.getActorsOfType(c.getActorType(2)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || (this._Dude = d); } } this._ReadyToTalk && (h.engine.getGameAttribute('Boss 3 Dialog Read') ? ((this._ReadyToTalk = !1), this.actor.shout('_customEvent_dialogComplete')) : ((a = this._Dude), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Dude.getValue('Dude Logic', '_OnGround') && ((this._ReadyToTalk = !1), this._DialogComplete || ((this._DialogComplete = !0), c.stopSoundOnChannel(16), c.createRecycledActor(c.getActorType(161), 0, c.getScreenHeight() - 96, 0), 'JP' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*\u30ae\u30e3\u30fc*|\u3042\u3042\u3001\u306a\u3093\u3066\u3053\u3063\u305f\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\u3053\u3093\u306b\u3061\u306f\uff01\u79c1\u306e\u99ac\u9e7f\u306a\u5b50\u4f9b\u305f\u3061\u3092\u898b\u305f\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u304b\uff1f|\u79c1\u306f\u30b7\u30e3\u30ed\u30f3\u3001\u30c0\u30fc\u30ca\u30c3\u30af\u537f\u306e\u6700\u521d\u306e\u5b50\u5206\u3067\u3059\uff01|\u307e\u305f\u304b......|\u3042\u306a\u305f\u306f\u611a\u304b\u306b\u3082\u3053\u3053\u306b\u6765\u305f\u3001\u6226\u58eb\u3088\uff01|\u3042\u3042\u3001\u79c1\u306f\u6226\u58eb\u3067\u306f\u306a\u304f\u3066\u3001\u30c0\u30c7\u30a3\u30c3\u30b7\u30e5\u3067\u3059\u3002\u3054\u5b58\u77e5\u306e\u3088\u3046\u306b\u3001\u79c1\u306f\u304a\u7236\u3055\u3093\u3067\u3059\u304c\u3001\u30e9\u30c7\u30c3\u30b7\u30e5\u3067\u3082\u3042\u308a\u307e\u3059\u3002|\u6b7b\u306c\u6e96\u5099\u3092\u3057\u306a\u3055\u3044\uff01' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : 'CN' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*SCREECH*|\u54e6\u5929\u54ea\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\u4f60\u597d\uff01\u4f60\u770b\u5230\u6211\u7684\u50bb\u5b69\u5b50\u4e86\u5417\uff1f|\u6211\u662f\u6c99\u9f99\uff0c\u675c\u7eb3\u514b\u52cb\u7235\u7684\u7b2c\u4e00\u4e2a\u968f\u4ece\uff01|\u4e0d\u8981\u518d\u8fd9\u6837\u2026\u2026|\u4f60\u6765\u8fd9\u513f\u771f\u662f\u592a\u8822\u4e86\uff0c\u52c7\u58eb\uff01|\u5662\uff0c\u6211\u4e0d\u662f\u52c7\u58eb\uff0c\u6211\u662f\u7238\u7238\u841d\u535c\u3002\u4f60\u770b\uff0c\u6211\u662f\u7238\u7238\uff0c\u4e5f\u662f\u841d\u535c\u3002|\u51c6\u5907\u53bb\u6b7b\uff01' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : 'KR' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*\uaf64\uc561*|\uc5b4 \uc774\ub7f0.' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\uc548\ub155\ud558\uc138\uc694! \uc81c \ubc14\ubcf4\uac19\uc740 \uc544\uc774\ub4e4\uc744 \ubcf8 \uc801 \uc788\uc73c\uc138\uc694?|\ub09c \uc0e4\ub860\uc774\ub2e4. \ub354\ub098\ud06c\ub2d8\uc758 \uccab \ubc88\uc9f8 \uc218\ud558\uc9c0!|\ub610\uc57c...|\uc5ec\uae30\uc5d0 \uc624\ub2e4\ub2c8 \uc815\ub9d0 \uba4d\uccad\ud558\uad70, \uc804\uc0ac\uc5ec!|\uc804 \uc804\uc0ac\uac00 \uc544\ub2c8\ub77c \ub300\ub514\uc26c\uc5d0\uc694. \ubcf4\uc2dc\ub2e4\uc2dc\ud53c, \uc804 \uc544\ube60(\ub300\ub514)\uc608\uc694. \uadf8\ub9ac\uace0 \ubb34(\ub798\ub514\uc26c)\uc8e0. \ub9d0\uc7a5\ub09c\uc774\uc5d0\uc694.|\uc7a5\ub09c\uc774\ub77c\uace0?|\ub124, \ub9d0\uc7a5\ub09c\uc774\uc694.|\uc8fd\uc744 \uc900\ube44\ub97c \ud574\ub77c!' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue('Dialog Box Logic', '_DialogText', '*SCREECH*|Oh my gosh'), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', "Hello! Have you seen my idiot children?|I AM SHARON, FIRST HENCHMAN TO LORD DURNAK!|Not this again...|YOU WERE FOOLISH TO COME HERE, WARRIOR!|Oh I'm not a warrior, I'm Dadish. You see, I'm a Dad, but also a radish. It's a portmanteau.|A POOR MAN TOE?|Uh, yeah, sure.|PREPARE TO DIE!" ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')), c.getLastCreatedActor().setValue('Dialog Box Logic', '_Character2', 'Boss 3'), c.getLastCreatedActor().setValue('Dialog Box Logic', '_Parent', this.actor), c.getLastCreatedActor().say('Dialog Box Logic', '_customEvent_Go'))))); } }, _event_EntersScreen: function (a, b, d, e) { var f = this; this.wrapper.enabled && a && !this._HasEntered && !this._Go && ((this._HasEntered = !0), c.runLater( 700, function (a) { f._ReadyToTalk = !0; }, this.actor )); }, _customEvent_dialogComplete: function () { this._Go = !0; h.engine.gameAttributes.h['Boss 3 Dialog Read'] = !0; this.actor.setAnimation('Left'); this.actor.setXVelocity(-this._Speed); c.loopSoundOnChannel(c.getSound(377), 16); h.engine.getGameAttribute('Music Disabled') ? c.setVolumeForChannel(0, 16) : h.engine.getGameAttribute('Music Disabled') || c.setVolumeForChannel(1, 16); }, init: function () { this.actor.makeAlwaysSimulate(); this._GravitySpeed = 48; this._StartingY = this.actor.getY(); this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); c.runPeriodically(10, m(this, this._event_EveryNsecs), this.actor); c.runPeriodically(1400, m(this, this._event_FollowDude), this.actor); this.addListener(this.actor.whenCollided, m(this, this._event_HitsHazard)); this.addListener(this.actor.whenUpdated, m(this, this._event_GroundandGravity)); this.addListener(this.actor.whenUpdated, m(this, this._event_Movement)); this.addListener(this.actor.whenPositionStateChanged, m(this, this._event_EntersScreen)); }, forwardMessage: function (a) {}, __class__: ow }); var pw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Button Number'] = '_ButtonNumber'; this._ButtonNumber = 0; this.nameMap.h.Go = '_Go'; this._Go = !1; this.nameMap.h['Target Y'] = '_TargetY'; this._TargetY = 0; this.nameMap.h.Fall = '_Fall'; this._Fall = !1; this.nameMap.h['Origin Y'] = '_OriginY'; this._OriginY = 0; this.nameMap.h.Pole = '_Pole'; }; k['scripts.Design_222_222_CrusherLogic'] = pw; pw.__name__ = 'scripts.Design_222_222_CrusherLogic'; pw.__super__ = n; pw.prototype = t(n.prototype, { _ButtonNumber: null, _Go: null, _TargetY: null, _Fall: null, _OriginY: null, _Pole: null, _event_Updating: function (a) { var b = this; this.wrapper.enabled && (this._Fall && (this.actor.setYVelocity(Math.min(48, this.actor.getYVelocity() + 2)), this.actor.getY() >= this._TargetY && ((this._Fall = !1), this.actor.setYVelocity(0), this.actor.setY(this._TargetY), c.startShakingScreen(0.02, 0.05), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(105)), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut), c.runLater( 2e3, function (a) { b.actor.moveTo(b.actor.getX(), b._OriginY, 0.3, v.quadInOut); c.runLater( 320, function (a) { b._Go = !1; }, b.actor ); }, this.actor ))), (a = this._Pole), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Pole.setY(this.actor.getY() - 254)); }, _event_ActorType: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(389); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && this._Fall && ((this._Fall = !1), this.actor.setYVelocity(0), this.actor.setY(a.otherActor.getY() - 128), c.startShakingScreen(0.02, 0.05), this.actor.moveTo(this.actor.getX(), this._OriginY, 0.3, v.quadInOut), c.runLater( 320, function (a) { b._Go = !1; }, this.actor )); }, _customEvent_Go: function () { this._Go || ((this._Fall = this._Go = !0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(106))); }, init: function () { this.actor.makeAlwaysSimulate(); this._OriginY = this.actor.getY(); this._TargetY = this.actor.getY() + 224; c.createRecycledActorOnLayer( c.getActorType(393), this.actor.getXCenter() - 29, this.actor.getY() - 254, c.engine.getLayerById(this.actor.getLayerID()) ); this._Pole = c.getLastCreatedActor(); this._Pole.moveToBottom(); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener(this.actor.whenCollided, m(this, this._event_ActorType)); }, forwardMessage: function (a) {}, __class__: pw }); var qw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Lock Number'] = '_LockNumber'; this._LockNumber = 0; this.nameMap.h.Go = '_Go'; this._Go = !1; this.nameMap.h['Go Delay'] = '_GoDelay'; this._GoDelay = 0; this.nameMap.h['Turn Block'] = '_TurnBlock'; this.nameMap.h.Reset = '_Reset'; this._Reset = !1; this.nameMap.h['Boss Hole Sensor'] = '_BossHoleSensor'; this._BossHoleSensor = !1; }; k['scripts.Design_22_22_LockedBlockLogic'] = qw; qw.__name__ = 'scripts.Design_22_22_LockedBlockLogic'; qw.__super__ = n; qw.prototype = t(n.prototype, { _LockNumber: null, _Go: null, _GoDelay: null, _TurnBlock: null, _Reset: null, _BossHoleSensor: null, _customEvent_Go: function () { var a = this; this._Go || ((this._Go = !0), c.runLater( 1e3 * this._GoDelay, function (b) { a.actor.setAnimation('Turn'); b = 0; for (var d = c.getActorsOfType(c.getActorType(607)); b < d.length; ) { var e = d[b]; ++b; null == e || e.dead || e.recycled || c.recycleActor(e); } h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(111)); b = 0; for (d = c.getActorsOfType(c.getActorType(2)); b < d.length; ) (e = d[b]), ++b, null == e || e.dead || e.recycled || (a.actor.getXCenter() > e.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Block Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Block Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); c.createRecycledActorOnLayer( c.getActorType(381), a.actor.getX(), a.actor.getY(), c.engine.getLayerById(a.actor.getLayerID()) ); a._TurnBlock = c.getLastCreatedActor(); a._TurnBlock.spinBy(180, 0.2, v.quadInOut); c.runLater( 100, function (a) { c.startShakingScreen(0.005, 0.05); }, a.actor ); c.runLater( 200, function (b) { c.recycleActor(a._TurnBlock); a.actor.setAnimation('Open'); }, a.actor ); }, this.actor )); }, _customEvent_Reset: function () { var a = this; this._Go && !this._Reset && ((this._Reset = !0), (this._Go = !1), this.actor.setAnimation('Turn'), this.actor.setFilter([c.createBrightnessFilter(100)]), this.actor.spinTo(0, 0.2, v.quadInOut), c.runLater( 210, function (b) { a.actor.clearFilters(); a.actor.setAnimation('Closed'); a._Reset = !1; }, this.actor )); }, init: function () { this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: qw }); var rw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['On Ground'] = '_OnGround'; this._OnGround = !1; this.nameMap.h['Ground Check'] = '_GroundCheck'; this._GroundCheck = !1; this.nameMap.h['Can Make Noise'] = '_CanMakeNoise'; this._CanMakeNoise = !1; this.nameMap.h['Face Left'] = '_FaceLeft'; this._FaceLeft = !0; this.nameMap.h.Speed = '_Speed'; this._Speed = 10; this.nameMap.h.Fall = '_Fall'; this._Fall = !1; this.nameMap.h['No Gravity'] = '_NoGravity'; this._NoGravity = !1; this.nameMap.h.Health = '_Health'; this._Health = 4; this.nameMap.h.Hurt = '_Hurt'; this._Hurt = !1; this.nameMap.h.Dead = '_Dead'; this._Dead = !1; this.nameMap.h['Starting Y'] = '_StartingY'; this._StartingY = 0; this.nameMap.h['Ground Amnesty'] = '_GroundAmnesty'; this._GroundAmnesty = 0; this.nameMap.h.Go = '_Go'; this._Go = !1; this.nameMap.h.Dude = '_Dude'; this.nameMap.h['Ready To Talk'] = '_ReadyToTalk'; this._ReadyToTalk = !1; this.nameMap.h['Has Entered'] = '_HasEntered'; this._HasEntered = !1; this.nameMap.h['Dialog Complete'] = '_DialogComplete'; this._DialogComplete = !1; this.nameMap.h['Dialog Text'] = '_DialogText'; this._DialogText = 'DEFAULT'; this.nameMap.h['Can Bounce'] = '_CanBounce'; this._CanBounce = !1; this.nameMap.h['Dead On Ground'] = '_DeadOnGround'; this._DeadOnGround = !1; }; k['scripts.Design_246_246_Boss4Logic'] = rw; rw.__name__ = 'scripts.Design_246_246_Boss4Logic'; rw.__super__ = n; rw.prototype = t(n.prototype, { _GravitySpeed: null, _OnGround: null, _GroundCheck: null, _CanMakeNoise: null, _FaceLeft: null, _Speed: null, _Fall: null, _NoGravity: null, _Health: null, _Hurt: null, _Dead: null, _StartingY: null, _GroundAmnesty: null, _Go: null, _Dude: null, _ReadyToTalk: null, _HasEntered: null, _DialogComplete: null, _DialogText: null, _CanBounce: null, _DeadOnGround: null, _event_HitsGround: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorGroup(1); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && this._Go && (this._Dead && a.thisFromBottom ? this._DeadOnGround || ((this._DeadOnGround = !0), this.actor.setFilter([c.createBrightnessFilter(100)]), c.runLater( 100, function (a) { c.createRecycledActorOnLayer( c.getActorType(28), b.actor.getXCenter() - 16, b.actor.getYCenter() - 16, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveToBottom(); for (a = 0; 20 > a; ) a++, c.createRecycledActorOnLayer( c.getActorType(427), c.randomInt( b.actor.getX() | 0, (b.actor.getX() + (b.actor.getWidth() - 16)) | 0 ), c.randomInt( b.actor.getY() | 0, (b.actor.getY() + (b.actor.getHeight() - 16)) | 0 ), c.engine.getLayerById(b.actor.getLayerID()) ), c.getLastCreatedActor().setYVelocity(1.6 * c.randomInt(-50, -64)), c.getLastCreatedActor().setXVelocity(1.6 * c.randomInt(-24, 24)); for (a = 0; 20 > a; ) a++, c.createRecycledActorOnLayer( c.getActorType(425), c.randomInt( b.actor.getX() | 0, (b.actor.getX() + (b.actor.getWidth() - 16)) | 0 ), c.randomInt( b.actor.getY() | 0, (b.actor.getY() + (b.actor.getHeight() - 16)) | 0 ), c.engine.getLayerById(b.actor.getLayerID()) ), c.getLastCreatedActor().setYVelocity(c.randomInt(-50, -64)), c.getLastCreatedActor().setXVelocity(c.randomInt(-24, 24)); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(430)); c.startShakingScreen(0.006999999999999999, 0.15); c.recycleActor(b.actor); }, this.actor )) : (a.thisFromBottom && ((this._GroundCheck = !0), (this._GroundAmnesty = 4)), a.thisFromLeft && ((this._FaceLeft = !1), this.actor.setAnimation('Turn'), this.actor.setXVelocity(this._Speed), c.runLater( 200, function (a) { b.actor.setAnimation('Right'); }, this.actor )), a.thisFromRight && ((this._FaceLeft = !0), this.actor.setAnimation('Turn'), this.actor.setXVelocity(-this._Speed), c.runLater( 200, function (a) { b.actor.setAnimation('Left'); }, this.actor )))); }, _event_EveryNsecs: function (a) { this.wrapper.enabled && (this._OnGround || --this._GroundAmnesty); }, _event_HitsHazard: function (a) { var b = this; if ( this.wrapper.enabled && this.internalGetGroup(a.otherActor, a.otherShape, a) == c.getActorGroup(4) && !this._Hurt && ((this._Hurt = !0), (this._Speed *= 1.15), this.actor.setXVelocity(0), this.actor.setYVelocity(-60), --this._Health, this.actor.setFilter([c.createBrightnessFilter(100)]), c.runLater( 200, function (a) { b.actor.clearFilters(); }, this.actor ), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(378)), 0 < this._Health && (c.runLater( 400, function (a) { b._NoGravity = !1; }, this.actor ), this._FaceLeft ? this.actor.setAnimation('Left Hurt') : this.actor.setAnimation('Right Hurt')), 0 == this._Health) ) { this._FaceLeft ? this.actor.setAnimation('Left Hurt') : this.actor.setAnimation('Right Hurt'); this._Dead = !0; c.stopSoundOnChannel(16); a = 0; for (var d = c.getActorsOfType(c.getActorType(353)); a < d.length; ) { var e = d[a]; ++a; null == e || e.dead || e.recycled || (e.moveBy(0, 32, 0.3, v.quadInOut), e.setValue('Button Logic', '_Hide', !0)); } } }, _event_GroundandGravity: function (a) { var b = this; this.wrapper.enabled && (this._Go && !this._Dead && (this._GroundCheck ? this._OnGround || ((this._OnGround = !0), (this._Hurt = !1), this.actor.setXVelocity(0), this.actor.setYVelocity(0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(105)), c.startShakingScreen(0.006999999999999999, 0.15), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut), this._FaceLeft ? this.actor.setAnimation('Left Bounce') : this.actor.setAnimation('Right Bounce'), this.actor.setCurrentFrame(0), c.runLater( 100, function (a) { b._FaceLeft ? b.actor.setXVelocity(-b._Speed) : b.actor.setXVelocity(b._Speed); b.actor.setYVelocity(-90); }, this.actor )) : (this._OnGround = !1)), (this._GroundCheck = !1), this._Go && !this._NoGravity && this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed))); }, _event_Movement: function (a) { if (this.wrapper.enabled) { a = this._Dude; if ( !c.isPrimitive(a) && ('string' == typeof a ? '' == w.__cast(a, String) : null == a) ) { a = 0; for (var b = c.getActorsOfType(c.getActorType(2)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || (this._Dude = d); } } this._ReadyToTalk && (h.engine.getGameAttribute('Boss 4 Dialog Read') ? ((this._ReadyToTalk = !1), this.actor.shout('_customEvent_dialogComplete')) : ((a = this._Dude), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Dude.getValue('Dude Logic', '_OnGround') && ((this._ReadyToTalk = !1), this._DialogComplete || ((this._DialogComplete = !0), c.stopSoundOnChannel(16), c.createRecycledActor(c.getActorType(161), 0, c.getScreenHeight() - 96, 0), 'JP' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*\u30ae\u30e3\u30fc*|\u3042\u3042\u3001\u306a\u3093\u3066\u3053\u3063\u305f\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\u3053\u3093\u306b\u3061\u306f\uff01\u79c1\u306f\u30c0\u30c7\u30a3\u30c3\u30b7\u30e5\u3067\u3059\uff01|\u79c1\u306e\u8981\u585e\u3001\u30c0\u30c7\u30a3\u30c3\u30b7\u30e5\u3078\u3088\u3046\u3053\u305d\uff01\u79c1\u306f\u30c0\u30fc\u30ca\u30c3\u30af\u537f\u3067\u3059\uff01\u3088\u3046\u3084\u304f\u304a\u4f1a\u3044\u3067\u304d\u3066\u3046\u308c\u3057\u3044\u3067\u3059\u3002\u79c1\u306f\u7d20\u6674\u3089\u3057\u3044\u3053\u3068\u3092\u805e\u3044\u305f\u3002|\u672c\u5f53\u306b\uff1f|\u3044\u3044\u3048\u3002|\u3042\u3042\u3002|\u79c1\u306e\u5b50\u5206\u305f\u3061\u304c\u3042\u306a\u305f\u306b\u53d7\u3051\u3055\u305b\u305f\u3059\u3079\u3066\u306e\u9762\u5012\u306b\u3064\u3044\u3066\u8b1d\u308a\u305f\u3044\u3002\u3053\u306e\u3088\u3046\u306a\u4e0d\u5e78\u306a\u8aa4\u89e3\u3002|\u5927\u4e08\u592b\u3001\u5fc3\u914d\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u6700\u5f8c\u306e\u884c\u65b9\u4e0d\u660e\u306b\u306a\u3063\u305f\u5b50\u4f9b\u3092\u898b\u3064\u3051\u3066\u5bb6\u306b\u5e30\u308a\u305f\u3044\u3060\u3051\u3067\u3059\u3002|\u7406\u89e3\u3067\u304d\u307e\u3059\u3002\u3057\u304b\u3057\u3001\u6700\u521d\u306b\u3001\u305d\u308c\u304c\u3042\u307e\u308a\u9762\u5012\u3067\u306a\u3044\u306a\u3089...|\u4f55\u3067\u3059\u304b\uff1f|\u6b7b\u306c\u6e96\u5099\u3092\u3057\u306a\u3055\u3044\uff01|\u3042\u3042\u3001\u52d8\u5f01\u3057\u3066\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : 'CN' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*SCREECH*|\u54e6\u5929\u54ea\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\u4f60\u597d\uff01\u6211\u662f\u7238\u7238\u841d\u535c\uff01|\u6b22\u8fce\u6765\u5230\u6211\u7684\u57ce\u5821\uff0c\u7238\u7238\u841d\u535c\uff01\u6211\u662f\u675c\u7eb3\u514b\u52cb\u7235\uff01\u5f88\u9ad8\u5174\u7ec8\u4e8e\u89c1\u5230\u4f60\u3002\u6211\u542c\u8bf4\u4e86\u5f88\u68d2\u7684\u4e8b\u60c5\u3002|\u771f\u7684\u5417?|\u4e0d\u3002|\u54e6\u3002|\u4e0d\u8fc7\u6211\u8fd8\u662f\u8981\u4e3a\u6211\u7684\u968f\u4ece\u7ed9\u4f60\u5e26\u6765\u7684\u9ebb\u70e6\u9053\u6b49\u3002\u8fd9\u662f\u4e2a\u4ee4\u4eba\u9057\u61be\u7684\u8bef\u4f1a\u3002|\u563f\uff0c\u5f88\u597d\uff0c\u4e0d\u7528\u62c5\u5fc3\u3002\u6211\u53ea\u60f3\u627e\u5230\u6211\u6700\u540e\u4e00\u4e2a\u5931\u8e2a\u7684\u5b69\u5b50\uff0c\u7136\u540e\u56de\u5bb6\u3002|\u53ef\u4ee5\u7406\u89e3\u3002\u4f46\u662f\u9996\u5148\uff0c\u5982\u679c\u4e0d\u662f\u5f88\u9ebb\u70e6\u2026\u2026|\u662f\u4ec0\u4e48\uff1f|\u51c6\u5907\u53bb\u6b7b\uff01|\u54e6\uff0c\u6765\u5427\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : 'KR' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*\uaf64\uc561*|\uc5b4 \uc774\ub7f0.' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\uc548\ub155\ud558\uc138\uc694! \uc804 \ub300\ub514\uc26c\uc5d0\uc694|\ub0b4 \uc694\uc0c8\uc5d0 \uc628 \uac78 \ud658\uc601\ud55c\ub2e4, \ub300\ub514\uc26c! \ub09c \ub85c\ub4dc \ub354\ub098\ud06c\ub2e4! \ub4dc\ub514\uc5b4 \ub9cc\ub098\uac8c \ub418\uc11c \ubc18\uac00\uc6cc\uc694. \uc9c0\uae08\uae4c\uc9c0 \uad49\uc7a5\ud55c \uc774\uc57c\uae30\ub97c \ub4e4\uc5c8\uc9c0.|\uc815\ub9d0\uc694?|\uc544\ub2c8.|\uc5b4..|\uadf8\ub807\uc9c0\ub9cc \ub0b4 \uc218\ud558\ub4e4\uc774 \ub110 \ubc29\ud574\ud55c \uac78 \ubaa8\ub450 \uc0ac\uacfc\ud558\uace0 \uc2f6\uad70. \ubd88\ud589\ud788\ub3c4 \uc624\ud574\uac00 \uc788\uc5c8\uc5b4.|\uad1c\ucc2e\uc544\uc694. \uac71\uc815\ud558\uc9c0 \ub9c8\uc138\uc694. \uc804 \uadf8\ub0e5 \uc2e4\uc885\ub41c \ub9c8\uc9c0\ub9c9 \uc544\uc774\ub97c \ucc3e\uc544 \uc9d1\uc5d0 \uac00\uace0 \uc2f6\uc5b4\uc694.|\uadf8\ub807\uad70. \ud558\uc9c0\ub9cc \uba3c\uc800 \ub108\ubb34 \ud3d0\uac00 \ub418\uc9c0 \uc54a\ub294\ub2e4\uba74...|\ubb34\uc2a8 \uc77c\uc774\uc138\uc694?|\uc8fd\uc744 \uc900\ube44\ub97c \ud574\ub77c!|\uc544 \uc81c\ubc1c.' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue('Dialog Box Logic', '_DialogText', '*SCREECH*|Oh my gosh'), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', "Hello! I'm Dadish!|Welcome to my fortress, Dadish! I am Lord Durnak! It's nice to finally meet you. I've heard great things.|Really?|No.|Oh.|Though I do wish to apologize for all the bother my henchmen put you through. Such an unfortunate misunderstanding.|Hey that's all good, no worries. I just want to find my last missing kid and go home.|Understandable. But first, if it's not too much trouble...|What is it?|PREPARE TO DIE!|Oh come on." ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')), c.getLastCreatedActor().setValue('Dialog Box Logic', '_Character2', 'Boss 4'), c.getLastCreatedActor().setValue('Dialog Box Logic', '_Parent', this.actor), c.getLastCreatedActor().say('Dialog Box Logic', '_customEvent_Go'))))); } }, _event_EntersScreen: function (a, b, d, e) { var f = this; this.wrapper.enabled && a && !this._HasEntered && !this._Go && ((this._HasEntered = !0), c.runLater( 700, function (a) { f._ReadyToTalk = !0; }, this.actor )); }, _event_FollowDude: function (a) { var b = this; this.wrapper.enabled && !this._Dead && ((a = this._Dude), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && (this._FaceLeft && this._Dude.getXCenter() > this.actor.getXCenter() + 64 ? (this.actor.setXVelocity(0), (this._FaceLeft = !1), this.actor.setAnimation('Turn'), c.runLater( 100, function (a) { b.actor.setAnimation('Right'); b.actor.setXVelocity(b._Speed); }, this.actor )) : !this._FaceLeft && this._Dude.getXCenter() < this.actor.getXCenter() - 64 && (this.actor.setXVelocity(0), (this._FaceLeft = !0), this.actor.setAnimation('Turn'), c.runLater( 100, function (a) { b.actor.setXVelocity(-b._Speed); b.actor.setAnimation('Left'); }, this.actor ))); }, _customEvent_dialogComplete: function () { this._Go = !0; h.engine.gameAttributes.h['Boss 4 Dialog Read'] = !0; this.actor.setAnimation('Left'); c.loopSoundOnChannel(c.getSound(377), 16); h.engine.getGameAttribute('Music Disabled') ? c.setVolumeForChannel(0, 16) : h.engine.getGameAttribute('Music Disabled') || c.setVolumeForChannel(1, 16); }, init: function () { this.actor.makeAlwaysSimulate(); this._GravitySpeed = 48; this._StartingY = this.actor.getY(); this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); c.runPeriodically(10, m(this, this._event_EveryNsecs), this.actor); this.addListener(this.actor.whenCollided, m(this, this._event_HitsHazard)); this.addListener(this.actor.whenUpdated, m(this, this._event_GroundandGravity)); this.addListener(this.actor.whenUpdated, m(this, this._event_Movement)); this.addListener(this.actor.whenPositionStateChanged, m(this, this._event_EntersScreen)); c.runPeriodically(1800, m(this, this._event_FollowDude), this.actor); }, forwardMessage: function (a) {}, __class__: rw }); var sw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Button Number'] = '_ButtonNumber'; this._ButtonNumber = 0; this.nameMap.h.Go = '_Go'; this._Go = !1; this.nameMap.h['Target Y'] = '_TargetY'; this._TargetY = 0; this.nameMap.h.Fall = '_Fall'; this._Fall = !1; this.nameMap.h['Origin Y'] = '_OriginY'; this._OriginY = 0; this.nameMap.h.Pole = '_Pole'; this.nameMap.h['Origin X'] = '_OriginX'; this._OriginX = 0; this.nameMap.h.Delay = '_Delay'; this._Delay = 0; }; k['scripts.Design_248_248_BossSpikesLogic'] = sw; sw.__name__ = 'scripts.Design_248_248_BossSpikesLogic'; sw.__super__ = n; sw.prototype = t(n.prototype, { _ButtonNumber: null, _Go: null, _TargetY: null, _Fall: null, _OriginY: null, _Pole: null, _OriginX: null, _Delay: null, _event_Updating: function (a) { var b = this; this.wrapper.enabled && this._Fall && (this.actor.setYVelocity(Math.max(-48, this.actor.getYVelocity() - 2)), this.actor.getY() <= this._TargetY && ((this._Fall = !1), this.actor.setYVelocity(0), this.actor.setY(this._TargetY), c.startShakingScreen(0.02, 0.05), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(105)), c.runLater( 500, function (a) { b.actor.moveTo(b.actor.getX(), b._OriginY, 0.3, v.quadInOut); c.runLater( 320, function (a) { b._Go = !1; }, b.actor ); }, this.actor ))); }, _event_ActorType: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(389); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && this._Fall && ((this._Fall = !1), this.actor.setYVelocity(0), this.actor.setY(a.otherActor.getY() - 128), c.startShakingScreen(0.02, 0.05), this.actor.moveTo(this.actor.getX(), this._OriginY, 0.3, v.quadInOut), c.runLater( 320, function (a) { b._Go = !1; }, this.actor )); }, _customEvent_Go: function () { var a = this; this._Go || ((this._Go = !0), this.actor.setAnimation('Shake'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(423)), this.actor.getType() == c.getActorType(694) ? (c.createRecycledActor( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 68, this.actor.getYCenter() - 8, 0 ), c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut), c.createRecycledActor( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 68, this.actor.getYCenter() - 8, 0 ), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.createRecycledActor( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 68, this.actor.getYCenter() - 8, 0 )) : this.actor.getType() == c.getActorType(696) ? (c.createRecycledActor( c.getActorType(94), this.actor.getX() + 64 - 8, this.actor.getYCenter() - 8, 0 ), c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut), c.createRecycledActor( c.getActorType(94), this.actor.getX() + 64 - 8, this.actor.getYCenter() - 8, 0 ), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.createRecycledActor( c.getActorType(94), this.actor.getX() + 64 - 8, this.actor.getYCenter() - 8, 0 )) : (c.createRecycledActor( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + 64 - 8, 0 ), c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut), c.createRecycledActor( c.getActorType(94), this.actor.getX() - 8, this.actor.getY() + 64 - 8, 0 ), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.createRecycledActor( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 8, this.actor.getY() + 64 - 8, 0 )), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut), c.runLater( 1e3 * this._Delay, function (b) { a.actor.setAnimation('Normal'); a.actor.getType() == c.getActorType(694) || a.actor.getType() == c.getActorType(696) ? (h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(424)), a.actor.setX(a._OriginX), a.actor.setY(a._OriginY), a.actor.getType() == c.getActorType(694) ? (a.actor.moveTo(a._OriginX + 48, a._OriginY, 0.2, v.elasticOut), c.runLater( 1e3, function (b) { a.actor.say('Boss Spikes Logic', '_customEvent_return'); }, a.actor )) : (a.actor.moveTo(a._OriginX - 48, a._OriginY, 0.2, v.elasticOut), c.runLater( 1e3, function (b) { a.actor.say('Boss Spikes Logic', '_customEvent_return'); }, a.actor ))) : ((a._Fall = !0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(424))); }, this.actor )); }, _customEvent_return: function () { var a = this; this.actor.moveTo(this._OriginX, this._OriginY, 0.1, v.linear); c.runLater( 400, function (b) { a._Go = !1; }, this.actor ); }, init: function () { this.actor.makeAlwaysSimulate(); this._OriginY = this.actor.getY(); this._OriginX = this.actor.getX(); this._TargetY = this.actor.getY() - 64; this.actor.getType() == c.getActorType(694) || this.actor.getType() == c.getActorType(696) ? (this._Delay = 0.6) : (this._Delay = 0.3); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener(this.actor.whenCollided, m(this, this._event_ActorType)); }, forwardMessage: function (a) {}, __class__: sw }); var tw = function (a, b) { c.call(this); this.nameMap.h['Left Text'] = '_LeftText'; this._LeftText = ''; this.nameMap.h['Right Text'] = '_RightText'; this._RightText = ''; this.nameMap.h['Bottom Letterbox'] = '_BottomLetterbox'; this.nameMap.h['Top Letterbox'] = '_TopLetterbox'; this.nameMap.h['Title Left'] = '_TitleLeft'; this.nameMap.h['Title Right'] = '_TitleRight'; this.nameMap.h['Font To Use'] = '_FontToUse'; this.nameMap.h['Clouds Pacer'] = '_CloudsPacer'; this._CloudsPacer = 0; this.nameMap.h['Clouds Width'] = '_CloudsWidth'; this._CloudsWidth = 0; this.nameMap.h['Show Skip Text'] = '_ShowSkipText'; this._ShowSkipText = !1; this.nameMap.h['Can Skip'] = '_CanSkip'; this._CanSkip = !1; this.nameMap.h['Button Pressed'] = '_ButtonPressed'; this._ButtonPressed = !1; this.nameMap.h['No Skip'] = '_NoSkip'; this._NoSkip = !1; this.nameMap.h['Button Input'] = '_ButtonInput'; this._ButtonInput = ''; this.nameMap.h['Skip Text Mid Y'] = '_SkipTextMidY'; this._SkipTextMidY = 0; }; k['scripts.Design_255_255_CutsceneLogic'] = tw; tw.__name__ = 'scripts.Design_255_255_CutsceneLogic'; tw.__super__ = fa; tw.prototype = t(fa.prototype, { _LeftText: null, _RightText: null, _BottomLetterbox: null, _TopLetterbox: null, _TitleLeft: null, _TitleRight: null, _FontToUse: null, _CloudsPacer: null, _CloudsWidth: null, _ShowSkipText: null, _CanSkip: null, _ButtonPressed: null, _NoSkip: null, _ButtonInput: null, _SkipTextMidY: null, _event_Clouds: function (a, b, d) { if (this.wrapper.enabled) { if ('Office Cutscene' == c.getCurrentSceneName()) if (((this._CloudsWidth = 480), 8 > this._CloudsPacer)) this._CloudsPacer += 1; else for ( a = this._CloudsPacer = 0, b = c.getActorsOfType(c.getActorType(716)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || (d.setX(d.getX() - 1), d.getX() <= -this._CloudsWidth && d.setX( this._CloudsWidth * Math.ceil(c.getScreenWidth() / this._CloudsWidth) )); if ('Meadow Cutscene' == c.getCurrentSceneName()) if (((this._CloudsWidth = 480), 2 > this._CloudsPacer)) this._CloudsPacer += 1; else for ( a = this._CloudsPacer = 0, b = c.getActorsOfType(c.getActorType(724)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || (d.setX(d.getX() - 1), d.getX() <= -this._CloudsWidth && d.setX( this._CloudsWidth * Math.ceil(c.getScreenWidth() / this._CloudsWidth) )); if ('Swamp Cutscene' == c.getCurrentSceneName()) if (3 > this._CloudsPacer) this._CloudsPacer += 1; else for ( a = this._CloudsPacer = 0, b = c.getActorsOfType(c.getActorType(739)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || (d.setX(d.getX() - 1), d.getX() <= -this._CloudsWidth && d.setX( this._CloudsWidth * Math.ceil(c.getScreenWidth() / this._CloudsWidth) )); } }, _event_Click: function () { var a = this; !this.wrapper.enabled || this._NoSkip || this._ButtonPressed || (this._CanSkip ? this._CanSkip && ((this._ButtonPressed = !0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(119)), c.sayToScene('Cutscene Logic', '_customEvent_Finished')) : ((this._ShowSkipText = this._ButtonPressed = !0), c.runLater( 100, function (b) { a._ButtonPressed = !1; a._CanSkip = !0; }, null ))); }, _event_Keyboard: function (a, b) { var d = this; this.wrapper.enabled && a && !this._NoSkip && !this._ButtonPressed && (this._CanSkip ? this._CanSkip && ((this._ButtonPressed = !0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(119)), c.sayToScene('Cutscene Logic', '_customEvent_Finished')) : ((this._ShowSkipText = this._ButtonPressed = !0), c.runLater( 100, function (a) { d._ButtonPressed = !1; d._CanSkip = !0; }, null ))); }, _event_Drawing: function (a, b, d) { if ( this.wrapper.enabled && ((b = this._BottomLetterbox), (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && this._CanSkip && !this._ButtonPressed) ) { b = c.getFont(526); null != b && b != a.font && (a.font = b); if (h.engine.getGameAttribute('MOBILE MODE')) { d = this._SkipTextMidY - 12; null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)); a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + 42 * a.scaleX), (d = a.y + d * a.scaleY)) : ((b = a.x + 42 * a.scaleX - h.cameraX), (d = a.y + d * a.scaleY - h.cameraY)) : ((b = a.x + 42 * a.scaleX), (d = a.y + d * a.scaleY)); a.mtx.identity(); a.mtx.translate(b, d); var e = null, f = a.font; f = 'TAP TO SKIP:' + f.ID + ':' + a.alpha + ':' + f.letterSpacing + ':' + h.SCALE; if (Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, f)) { var g = ha.drawnStringCache.h[f]; g.lifetime = 5; e = g.img; } else { g = a.font.font.getTextWidth('TAP TO SKIP', a.font.letterSpacing, a.font.fontScale); var l = (a.font.font.getFontHeight() * a.font.fontScale) | 0; 0 < g && 0 < l && ((e = new la(g, l, !0, 0)), a.font.font.renderToImg( e, 'TAP TO SKIP', 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (g = new sc()), (g.img = e), (g.lifetime = 5), (ha.drawnStringCache.h[f] = g), ha.drawnStringCacheKeys.push(f)); } } else (d = this._SkipTextMidY - 12), null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)), a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + 42 * a.scaleX), (d = a.y + d * a.scaleY)) : ((b = a.x + 42 * a.scaleX - h.cameraX), (d = a.y + d * a.scaleY - h.cameraY)) : ((b = a.x + 42 * a.scaleX), (d = a.y + d * a.scaleY)), a.mtx.identity(), a.mtx.translate(b, d), (e = null), (f = a.font), (f = '-:' + f.ID + ':' + a.alpha + ':' + f.letterSpacing + ':' + h.SCALE), Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, f) ? ((g = ha.drawnStringCache.h[f]), (g.lifetime = 5), (e = g.img)) : ((g = a.font.font.getTextWidth('-', a.font.letterSpacing, a.font.fontScale)), (l = (a.font.font.getFontHeight() * a.font.fontScale) | 0), 0 < g && 0 < l && ((e = new la(g, l, !0, 0)), a.font.font.renderToImg( e, '-', 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (g = new sc()), (g.img = e), (g.lifetime = 5), (ha.drawnStringCache.h[f] = g), ha.drawnStringCacheKeys.push(f))), null != e && (a.graphics.beginBitmapFill(e, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, d, e.width, e.height), a.graphics.endFill()), (b = 42 + a.font.getTextWidth('- ') / h.SCALE), (d = this._SkipTextMidY - c.getFont(441).getHeight() / h.SCALE / 2), null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)), a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + b * a.scaleX), (d = a.y + d * a.scaleY)) : ((b = a.x + b * a.scaleX - h.cameraX), (d = a.y + d * a.scaleY - h.cameraY)) : ((b = a.x + b * a.scaleX), (d = a.y + d * a.scaleY)), a.mtx.identity(), a.mtx.translate(b, d), (e = null), (f = a.font), (f = 'SKIP:' + f.ID + ':' + a.alpha + ':' + f.letterSpacing + ':' + h.SCALE), Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, f) ? ((g = ha.drawnStringCache.h[f]), (g.lifetime = 5), (e = g.img)) : ((g = a.font.font.getTextWidth('SKIP', a.font.letterSpacing, a.font.fontScale)), (l = (a.font.font.getFontHeight() * a.font.fontScale) | 0), 0 < g && 0 < l && ((e = new la(g, l, !0, 0)), a.font.font.renderToImg( e, 'SKIP', 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (g = new sc()), (g.img = e), (g.lifetime = 5), (ha.drawnStringCache.h[f] = g), ha.drawnStringCacheKeys.push(f))); null != e && (a.graphics.beginBitmapFill(e, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, d, e.width, e.height), a.graphics.endFill()); } }, _customEvent_AdjustSize: function () { var a = this, b = this._TopLetterbox; (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && c.recycleActor(this._TopLetterbox); b = this._BottomLetterbox; (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && c.recycleActor(this._BottomLetterbox); b = this._TitleLeft; (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && c.recycleActor(this._TitleLeft); b = this._TitleRight; (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && c.recycleActor(this._TitleRight); c.engine.moveCamera(c.getSceneWidth() / 2, c.getSceneHeight() / 2); c.createRecycledActor(c.getActorType(437), c.getScreenX() - 5, c.getScreenY() - 5, 0); this._TopLetterbox = c.getLastCreatedActor(); c.createRecycledActor( c.getActorType(437), c.getScreenX() - 5, c.getScreenY() + c.getScreenHeight() / 2, 0 ); this._BottomLetterbox = c.getLastCreatedActor(); this._SkipTextMidY = c.getScreenHeight() - 48; this._TopLetterbox.moveBy(0, -(0.309 * c.getScreenHeight()), 0.1, v.backOut); this._BottomLetterbox.moveBy(0, 0.309 * c.getScreenHeight(), 0.1, v.backOut); c.runLater( 100, function (b) { 'NONE' != a._LeftText && (c.createRecycledActor( c.getActorType(435), c.getScreenX() - 398, c.getScreenY() + ((0.191 * c.getScreenHeight()) / 2 - 11), 0 ), (a._TitleLeft = c.getLastCreatedActor()), a._TitleLeft.setValue('Cutscene Title Logic', '_Text', a._LeftText), a._TitleLeft.moveBy( a._FontToUse.getTextWidth(a._LeftText) / h.SCALE + 42, 0, 0.1, v.quadOut ), 'Meadow Cutscene' == c.getCurrentSceneName() ? a._TitleLeft.setAnimation('Green') : 'Swamp Cutscene' == c.getCurrentSceneName() ? a._TitleLeft.setAnimation('Purple') : 'Temple Cutscene' == c.getCurrentSceneName() ? a._TitleLeft.setAnimation('Red') : 'Space Cutscene' == c.getCurrentSceneName() && a._TitleLeft.setAnimation('Grey'), c.createRecycledActor( c.getActorType(439), c.getScreenX() + c.getScreenWidth(), a._BottomLetterbox.getY() + (0.191 * c.getScreenHeight()) / 2 - 11, 0 ), (a._TitleRight = c.getLastCreatedActor()), a._TitleRight.setValue('Cutscene Title Logic', '_Text', a._RightText), a._TitleRight.moveBy( -(a._FontToUse.getTextWidth(a._RightText) / h.SCALE + 42), 0, 0.1, v.quadOut ), 'Meadow Cutscene' == c.getCurrentSceneName() ? a._TitleRight.setAnimation('Green') : 'Swamp Cutscene' == c.getCurrentSceneName() ? a._TitleRight.setAnimation('Purple') : 'Temple Cutscene' == c.getCurrentSceneName() ? a._TitleRight.setAnimation('Red') : 'Space Cutscene' == c.getCurrentSceneName() && a._TitleRight.setAnimation('Grey')); }, null ); }, _customEvent_Finished: function () { var a = this; c.runLater( 200, function (b) { a._TopLetterbox.moveBy(0, 0.309 * c.getScreenHeight(), 0.4, v.quadIn); a._BottomLetterbox.moveBy(0, -(0.309 * c.getScreenHeight()), 0.4, v.quadIn); b = a._TitleLeft; if ( c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b) ) a._TitleLeft.moveBy( -(a._FontToUse.getTextWidth(a._LeftText) / h.SCALE + 28), 0, 0.4, v.quadIn ), a._TitleRight.moveBy( a._FontToUse.getTextWidth(a._RightText) / h.SCALE + 28, 0, 0.4, v.quadIn ); c.runLater( 450, function (a) { if ('Office Cutscene' == c.getCurrentSceneName()) hb.commercialBreak(function () { var a = ra.get().scenes.h[81].getID(), b = 0, d = 0, e = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); var f = c.createFadeOut(0.1, (b << 16) | (d << 8) | e); e = d = b = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); c.switchScene(a, f, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)); }); else if ('Meadow Cutscene' == c.getCurrentSceneName()) { a = ra.get().scenes.h[66].getID(); var b = 0, d = 0, g = 0; null == g && (g = 0); null == d && (d = 0); null == b && (b = 0); var h = c.createFadeOut(0.1, (b << 16) | (d << 8) | g); g = d = b = 0; null == g && (g = 0); null == d && (d = 0); null == b && (b = 0); c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | g)); } else 'Swamp Cutscene' == c.getCurrentSceneName() ? ((a = ra.get().scenes.h[92].getID()), (g = d = b = 0), null == g && (g = 0), null == d && (d = 0), null == b && (b = 0), (h = c.createFadeOut(0.1, (b << 16) | (d << 8) | g)), (g = d = b = 0), null == g && (g = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | g))) : 'Temple Cutscene' == c.getCurrentSceneName() ? ((a = ra.get().scenes.h[104].getID()), (g = d = b = 0), null == g && (g = 0), null == d && (d = 0), null == b && (b = 0), (h = c.createFadeOut(0.1, (b << 16) | (d << 8) | g)), (g = d = b = 0), null == g && (g = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | g))) : 'Space Cutscene' == c.getCurrentSceneName() && ((a = ra.get().scenes.h[114].getID()), (g = d = b = 0), null == g && (g = 0), null == d && (d = 0), null == b && (b = 0), (h = c.createFadeOut(0.1, (b << 16) | (d << 8) | g)), (g = d = b = 0), null == g && (g = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | g))); }, null ); }, null ); }, init: function () { var a = this; 'JP' == h.engine.getGameAttribute('Language') ? ((this._FontToUse = c.getFont(606)), 'Forest Cutscene' == c.getCurrentSceneName() ? ((this._LeftText = '\u30a8\u30ea\u30a2 1'), (this._RightText = '\u30a2\u30d0\u30ed\u306e\u68ee')) : 'Beach Cutscene' == c.getCurrentSceneName() ? ((this._LeftText = '\u30a8\u30ea\u30a2 2'), (this._RightText = '\u30b9\u30c8\u30e9\u30f3\u30c9\u30d3\u30fc\u30c1')) : 'Snow Cutscene' == c.getCurrentSceneName() ? ((this._LeftText = '\u30a8\u30ea\u30a2 3'), (this._RightText = '\u30e2\u30f3\u30c8\u5c71')) : 'Castle Cutscene' == c.getCurrentSceneName() && ((this._LeftText = '\u30a8\u30ea\u30a2 4'), (this._RightText = '\u30ab\u30b9\u30c6\u30ed\u57ce'))) : 'CN' == h.engine.getGameAttribute('Language') ? ((this._FontToUse = c.getFont(604)), 'Forest Cutscene' == c.getCurrentSceneName() ? ((this._LeftText = '\u533a\u57df 1'), (this._RightText = '\u963f\u5df4\u7f57\u68ee\u6797')) : 'Beach Cutscene' == c.getCurrentSceneName() ? ((this._LeftText = '\u533a\u57df 2'), (this._RightText = '\u65af\u7279\u5170\u591a\u6d77\u6ee9')) : 'Snow Cutscene' == c.getCurrentSceneName() ? ((this._LeftText = '\u533a\u57df 3'), (this._RightText = '\u8499\u6258\u5c71')) : 'Castle Cutscene' == c.getCurrentSceneName() && ((this._LeftText = '\u533a\u57df 4'), (this._RightText = '\u5361\u65af\u7279\u6d1b\u57ce\u5821'))) : 'KR' == h.engine.getGameAttribute('Language') ? ((this._FontToUse = c.getFont(605)), 'Forest Cutscene' == c.getCurrentSceneName() ? ((this._LeftText = '\uc9c0\uc5ed 1'), (this._RightText = '\uc544\ubc14\ub85c \uc232')) : 'Beach Cutscene' == c.getCurrentSceneName() ? ((this._LeftText = '\uc9c0\uc5ed 2'), (this._RightText = '\uc2a4\ud2b8 \ub780\ub3c4 \ube44\uce58')) : 'Snow Cutscene' == c.getCurrentSceneName() ? ((this._LeftText = '\uc9c0\uc5ed 3'), (this._RightText = '\ubaac\ud1a0 \ub9c8\uc6b4\ud2f4')) : 'Castle Cutscene' == c.getCurrentSceneName() && ((this._LeftText = '\uc9c0\uc5ed 4'), (this._RightText = '\uce74\uc2a4\ud154\ub85c \uc131'))) : ((this._FontToUse = c.getFont(441)), 'Office Cutscene' == c.getCurrentSceneName() ? ((this._LeftText = 'WORLD 1'), (this._RightText = 'ENUIGA CORP.')) : 'Meadow Cutscene' == c.getCurrentSceneName() ? ((this._LeftText = 'WORLD 2'), (this._RightText = 'HERBEJO MEADOW')) : 'Swamp Cutscene' == c.getCurrentSceneName() ? ((this._LeftText = 'WORLD 3'), (this._RightText = 'KOTO SWAMP')) : 'Temple Cutscene' == c.getCurrentSceneName() ? ((this._LeftText = 'WORLD 4'), (this._RightText = 'FANTOMO TEMPLE')) : 'Space Cutscene' == c.getCurrentSceneName() && ((this._LeftText = 'WORLD 5'), (this._RightText = 'SOLECA STATION'))); c.engine.moveCamera(c.getSceneWidth() / 2, c.getSceneHeight() / 2); c.createRecycledActor(c.getActorType(437), c.getScreenX() - 5, c.getScreenY() - 5, 0); this._TopLetterbox = c.getLastCreatedActor(); c.createRecycledActor( c.getActorType(437), c.getScreenX() - 5, c.getScreenY() + c.getScreenHeight() / 2, 0 ); this._BottomLetterbox = c.getLastCreatedActor(); this._SkipTextMidY = c.getScreenHeight() - 48; c.runLater( 300, function (b) { a._TopLetterbox.moveBy(0, -(0.309 * c.getScreenHeight()), 0.4, v.backOut); a._BottomLetterbox.moveBy(0, 0.309 * c.getScreenHeight(), 0.4, v.backOut); }, null ); c.runLater( 900, function (b) { 'NONE' != a._LeftText && (c.createRecycledActor( c.getActorType(435), c.getScreenX() - 199, c.getScreenY() + ((0.191 * c.getScreenHeight()) / 2 - 11), 0 ), (a._TitleLeft = c.getLastCreatedActor()), a._TitleLeft.setValue('Cutscene Title Logic', '_Text', a._LeftText), a._TitleLeft.moveBy( a._FontToUse.getTextWidth(a._LeftText) / h.SCALE + 28, 0, 0.4, v.quadOut ), 'Meadow Cutscene' == c.getCurrentSceneName() ? a._TitleLeft.setAnimation('Green') : 'Swamp Cutscene' == c.getCurrentSceneName() ? a._TitleLeft.setAnimation('Purple') : 'Temple Cutscene' == c.getCurrentSceneName() ? a._TitleLeft.setAnimation('Red') : 'Space Cutscene' == c.getCurrentSceneName() && a._TitleLeft.setAnimation('Grey'), c.createRecycledActor( c.getActorType(439), c.getScreenX() + c.getScreenWidth(), a._BottomLetterbox.getY() + (0.191 * c.getScreenHeight()) / 2 - 11, 0 ), (a._TitleRight = c.getLastCreatedActor()), a._TitleRight.setValue('Cutscene Title Logic', '_Text', a._RightText), a._TitleRight.moveBy( -(a._FontToUse.getTextWidth(a._RightText) / h.SCALE + 28), 0, 0.4, v.quadOut ), 'Meadow Cutscene' == c.getCurrentSceneName() ? a._TitleRight.setAnimation('Green') : 'Swamp Cutscene' == c.getCurrentSceneName() ? a._TitleRight.setAnimation('Purple') : 'Temple Cutscene' == c.getCurrentSceneName() ? a._TitleRight.setAnimation('Red') : 'Space Cutscene' == c.getCurrentSceneName() && a._TitleRight.setAnimation('Grey')); }, null ); this.addListener(c.engine.whenDrawing, m(this, this._event_Clouds)); this.addListener(c.engine.whenMousePressed, m(this, this._event_Click)); this.addListener( c.engine.whenKeyPressedEvents.getOrCreateEvent('enter'), m(this, this._event_Keyboard) ); this.addListener(c.engine.whenDrawing, m(this, this._event_Drawing)); }, forwardMessage: function (a) {}, __class__: tw }); var uw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h.Text = '_Text'; this._Text = ''; }; k['scripts.Design_258_258_CutsceneTitleLogic'] = uw; uw.__name__ = 'scripts.Design_258_258_CutsceneTitleLogic'; uw.__super__ = n; uw.prototype = t(n.prototype, { _Text: null, _event_Drawing: function (a, b, d) { if (this.wrapper.enabled) { var e = 'JP' == h.engine.getGameAttribute('Language') ? c.getFont(606) : 'CN' == h.engine.getGameAttribute('Language') ? c.getFont(604) : 'KR' == h.engine.getGameAttribute('Language') ? c.getFont(605) : c.getFont(441); null != e && e != a.font && (a.font = e); if (this.actor.getType() == c.getActorType(435)) { e = this._Text; b = this.actor.getWidth() - (a.font.getTextWidth(this._Text) / h.SCALE + 14); d = this.actor.getHeight() / 2 - a.font.getHeight() / h.SCALE / 2; null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)); a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + b * a.scaleX), (d = a.y + d * a.scaleY)) : ((b = a.x + b * a.scaleX - h.cameraX), (d = a.y + d * a.scaleY - h.cameraY)) : ((b = a.x + b * a.scaleX), (d = a.y + d * a.scaleY)); a.mtx.identity(); a.mtx.translate(b, d); var f = null, g = a.font; g = e + ':' + g.ID + ':' + a.alpha + ':' + g.letterSpacing + ':' + h.SCALE; if (Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, g)) (e = ha.drawnStringCache.h[g]), (e.lifetime = 5), (f = e.img); else { var l = a.font.font.getTextWidth(e, a.font.letterSpacing, a.font.fontScale), k = (a.font.font.getFontHeight() * a.font.fontScale) | 0; 0 < l && 0 < k && ((f = new la(l, k, !0, 0)), a.font.font.renderToImg( f, e, 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (e = new sc()), (e.img = f), (e.lifetime = 5), (ha.drawnStringCache.h[g] = e), ha.drawnStringCacheKeys.push(g)); } } else (e = this._Text), (d = this.actor.getHeight() / 2 - a.font.getHeight() / h.SCALE / 2), null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)), a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + 14 * a.scaleX), (d = a.y + d * a.scaleY)) : ((b = a.x + 14 * a.scaleX - h.cameraX), (d = a.y + d * a.scaleY - h.cameraY)) : ((b = a.x + 14 * a.scaleX), (d = a.y + d * a.scaleY)), a.mtx.identity(), a.mtx.translate(b, d), (f = null), (g = a.font), (g = e + ':' + g.ID + ':' + a.alpha + ':' + g.letterSpacing + ':' + h.SCALE), Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, g) ? ((e = ha.drawnStringCache.h[g]), (e.lifetime = 5), (f = e.img)) : ((l = a.font.font.getTextWidth(e, a.font.letterSpacing, a.font.fontScale)), (k = (a.font.font.getFontHeight() * a.font.fontScale) | 0), 0 < l && 0 < k && ((f = new la(l, k, !0, 0)), a.font.font.renderToImg( f, e, 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (e = new sc()), (e.img = f), (e.lifetime = 5), (ha.drawnStringCache.h[g] = e), ha.drawnStringCacheKeys.push(g))); null != f && (a.graphics.beginBitmapFill(f, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, d, f.width, f.height), a.graphics.endFill()); } }, init: function () { this.actor.makeAlwaysSimulate(); this.addListener(this.actor.whenDrawing, m(this, this._event_Drawing)); }, forwardMessage: function (a) {}, __class__: uw }); var vw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h.Speed = '_Speed'; this._Speed = 0; this.nameMap.h['Path String'] = '_PathString'; this._PathString = ''; this.nameMap.h['Move Count'] = '_MoveCount'; this._MoveCount = 0; this.nameMap.h['Current Move'] = '_CurrentMove'; this._CurrentMove = ''; this.nameMap.h['Current Direction'] = '_CurrentDirection'; this._CurrentDirection = ''; this.nameMap.h['Current Distance'] = '_CurrentDistance'; this._CurrentDistance = 0; this.nameMap.h.Ease = '_Ease'; this._Ease = !1; this.nameMap.h['Target X'] = '_TargetX'; this._TargetX = 0; this.nameMap.h['Target Y'] = '_TargetY'; this._TargetY = 0; this.nameMap.h['Current Distance String'] = '_CurrentDistanceString'; this._CurrentDistanceString = ''; this.nameMap.h['Speed Tracker'] = '_SpeedTracker'; this.nameMap.h['Tracker X Speed'] = '_TrackerXSpeed'; this._TrackerXSpeed = 0; this.nameMap.h['Previous Direction'] = '_PreviousDirection'; this._PreviousDirection = ''; this.nameMap.h.Delay = '_Delay'; this._Delay = 0; this.nameMap.h['Touch To Start'] = '_TouchToStart'; this._TouchToStart = !1; this.nameMap.h['Touch To Start Reset'] = '_TouchToStartReset'; this._TouchToStartReset = !1; this.nameMap.h['Not In Fowlst Mode'] = '_NotInFowlstMode'; this._NotInFowlstMode = !1; }; k['scripts.Design_25_25_SetPath'] = vw; vw.__name__ = 'scripts.Design_25_25_SetPath'; vw.__super__ = n; vw.prototype = t(n.prototype, { _Speed: null, _PathString: null, _MoveCount: null, _CurrentMove: null, _CurrentDirection: null, _CurrentDistance: null, _Ease: null, _TargetX: null, _TargetY: null, _CurrentDistanceString: null, _SpeedTracker: null, _TrackerXSpeed: null, _PreviousDirection: null, _Delay: null, _TouchToStart: null, _TouchToStartReset: null, _NotInFowlstMode: null, _event_Updating: function (a) { this.wrapper.enabled && '' != this._PathString && ((a = this._SpeedTracker), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && (this._TrackerXSpeed = this._SpeedTracker.getXVelocity()); }, _event_TouchToStart: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(2); var e = a.otherActor.getType(); a = a.otherActor.getGroup(); d = d == e || d == a; } else d = !1; d && this._TouchToStart && ((this._TouchToStart = !1), c.runLater( 1e3 * this._Delay, function (a) { b.actor.say('Set Path', '_customEvent_Move'); }, this.actor )); }, _event_TouchToStartTrigger: function (a) { var b = this; if (this.wrapper.enabled && this._TouchToStart) { this._TouchToStart = !1; if ( this.actor.getType() == c.getActorType(901) || this.actor.getType() == c.getActorType(921) ) h.engine.getGameAttribute('Sound Disabled') || c.loopSoundOnChannel(c.getSound(1154), 10); c.runLater( 1e3 * this._Delay, function (a) { b.actor.say('Set Path', '_customEvent_Move'); }, this.actor ); } }, _event_TouchToStartCannon: function (a) { var b = this; this.wrapper.enabled && this._TouchToStart && this.actor.getType() == c.getActorType(800) && a.otherActor == this.actor.getValue('Barrel Cannon Logic', '_Sensor') && ((this._TouchToStart = !1), c.runLater( 1e3 * this._Delay, function (a) { b.actor.say('Set Path', '_customEvent_Move'); }, this.actor )); }, _customEvent_Move: function () { var a = this; if ('' != this._PathString) { this._CurrentMove = '' + this._PathString.split('|')[this._MoveCount | 0]; var b = this._CurrentDirection; if (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) this._PreviousDirection = this._CurrentDirection; this._CurrentDirection = this._CurrentMove.charAt(0); b = this._CurrentDistanceString = 3 < this._CurrentMove.length ? this._CurrentMove.charAt(1) + (this._CurrentMove.charAt(2) + this._CurrentMove.charAt(3)) : 2 < this._CurrentMove.length ? this._CurrentMove.charAt(1) + this._CurrentMove.charAt(2) : this._CurrentMove.charAt(1); this._CurrentDistance = null == b ? 0 : 'number' == typeof b ? w.__cast(b, ob) : 'number' == typeof b && (b | 0) === b ? w.__cast(b, nb) : 'boolean' == typeof b ? w.__cast(b, jb) ? 1 : 0 : 'string' == typeof b ? parseFloat(b) : parseFloat(z.string(b)); 'U' == this._CurrentDirection ? ((this._TargetX = 0), (this._TargetY = -32 * this._CurrentDistance)) : 'D' == this._CurrentDirection ? ((this._TargetX = 0), (this._TargetY = 32 * this._CurrentDistance)) : 'L' == this._CurrentDirection ? ((this._TargetX = -32 * this._CurrentDistance), (this._TargetY = 0)) : 'R' == this._CurrentDirection && ((this._TargetX = 32 * this._CurrentDistance), (this._TargetY = 0)); 'P' != this._CurrentDirection && 'T' != this._CurrentDirection && (this._Ease ? this.actor.moveBy( this._TargetX, this._TargetY, this._Speed * this._CurrentDistance, v.quadInOut ) : this.actor.moveBy( this._TargetX, this._TargetY, this._Speed * this._CurrentDistance, v.linear )); 'T' == this._CurrentDirection && ('U' == this._PreviousDirection ? this.actor.isOnScreen() && (c.startShakingScreen(0.005, 0.05), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(105)), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(0, 32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() - 8, this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-32, 32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 8, this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(32, 32, 0.3, v.backOut)) : 'D' == this._PreviousDirection ? this.actor.isOnScreen() && (c.startShakingScreen(0.005, 0.05), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(105)), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut)) : 'L' == this._PreviousDirection ? this.actor.isOnScreen() && (c.startShakingScreen(0.005, 0.05), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(105)), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX(), this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(32, 0, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX(), this.actor.getY() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX(), this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(32, 32, 0.3, v.backOut)) : 'R' == this._PreviousDirection && this.actor.isOnScreen() && (c.startShakingScreen(0.005, 0.05), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(105)), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-32, 0, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 8, this.actor.getY() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-32, 32, 0.3, v.backOut))); c.runLater( 1e3 * (this._Speed * Math.max(1, this._CurrentDistance) + 0.04), function (b) { a.actor.say('Set Path', '_customEvent_Move'); }, this.actor ); this._MoveCount == this._PathString.split('|').length - 1 ? (this._MoveCount = 0) : (this._MoveCount += 1); } }, init: function () { var a = this; h.engine.getGameAttribute('Possum Mode') && this._NotInFowlstMode && c.recycleActor(this.actor); c.runLater( 100, function (b) { '' != a._PathString && 0 < a._Speed && (c.createRecycledActor( c.getActorType(64), a.actor.getXCenter(), a.actor.getYCenter(), 0 ), (a._SpeedTracker = c.getLastCreatedActor()), a._SpeedTracker.disableActorDrawing(), a._SpeedTracker.setValue('Follow Target', '_TargetActor', a.actor), a._TouchToStart || c.runLater( 1e3 * a._Delay, function (b) { a.actor.say('Set Path', '_customEvent_Move'); }, a.actor )); }, this.actor ); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener(this.actor.whenCollided, m(this, this._event_TouchToStart)); this.addListenerWithKey2( c.engine.whenCollidedEvents, c.getActorType(2).ID, c.getActorType(417).ID, m(this, this._event_TouchToStartTrigger) ); this.addListenerWithKey2( c.engine.whenCollidedEvents, c.getActorType(2).ID, c.getActorType(802).ID, m(this, this._event_TouchToStartCannon) ); }, forwardMessage: function (a) {}, __class__: vw }); var ww = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h.Bounce = '_Bounce'; this._Bounce = !1; this.nameMap.h['Back and Forth'] = '_BackandForth'; this._BackandForth = !1; this.nameMap.h.Left = '_Left'; this._Left = !1; this.nameMap.h['Set Colour'] = '_SetColour'; this._SetColour = !1; this.nameMap.h.Colour = '_Colour'; this._Colour = 0; this.nameMap.h['High Jump'] = '_HighJump'; this._HighJump = !1; this.nameMap.h.Surprised = '_Surprised'; this._Surprised = !1; this.nameMap.h.Balloon = '_Balloon'; this.nameMap.h.Exclamation = '_Exclamation'; this.nameMap.h['Exclamation Created'] = '_ExclamationCreated'; this._ExclamationCreated = !1; this.nameMap.h['Off Screen'] = '_OffScreen'; this._OffScreen = !1; this.nameMap.h.Stop = '_Stop'; this._Stop = !1; this.nameMap.h.Stopped = '_Stopped'; this._Stopped = !1; this.nameMap.h['Delay Bounce'] = '_DelayBounce'; this._DelayBounce = !1; this.nameMap.h['Go Right'] = '_GoRight'; this._GoRight = !1; this.nameMap.h['Go Left'] = '_GoLeft'; this._GoLeft = !1; this.nameMap.h['Hit Ground'] = '_HitGround'; this._HitGround = !1; this.nameMap.h['Stopped On Ground'] = '_StoppedOnGround'; this._StoppedOnGround = !1; this.nameMap.h['Set X'] = '_SetX'; this._SetX = 0; this.nameMap.h['Set Y'] = '_SetY'; this._SetY = 0; this.nameMap.h['No Gravity'] = '_NoGravity'; this._NoGravity = !1; this.nameMap.h.Helmet = '_Helmet'; }; k['scripts.Design_266_266_CutsceneBabyLogic'] = ww; ww.__name__ = 'scripts.Design_266_266_CutsceneBabyLogic'; ww.__super__ = n; ww.prototype = t(n.prototype, { _GravitySpeed: null, _Bounce: null, _BackandForth: null, _Left: null, _SetColour: null, _Colour: null, _HighJump: null, _Surprised: null, _Balloon: null, _Exclamation: null, _ExclamationCreated: null, _OffScreen: null, _Stop: null, _Stopped: null, _DelayBounce: null, _GoRight: null, _GoLeft: null, _HitGround: null, _StoppedOnGround: null, _SetX: null, _SetY: null, _NoGravity: null, _Helmet: null, _event_Updating: function (a) { var b = this; this.wrapper.enabled && (this._GoLeft && (this._Left = !0), !this._OffScreen && this.actor.getX() > c.getScreenX() + c.getScreenWidth() && 'Ending' != c.getCurrentSceneName() && ((this._OffScreen = !0), c.runLater( 500, function (a) { c.recycleActor(b.actor); }, this.actor )), this._Stop && this.actor.setXVelocity(0), this._HitGround && (0 > this.actor.getXVelocity() ? this.actor.setXVelocity(Math.min(this.actor.getXVelocity() + 1, 0)) : 0 < this.actor.getXVelocity() && this.actor.setXVelocity(Math.max(this.actor.getXVelocity() - 1, 0))), this._StoppedOnGround && (this.actor.setX(this._SetX), this.actor.setY(this._SetY), this.actor.setYVelocity(0))); }, _event_HitsGround: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorGroup(1); var e = a.otherActor.getType(); a = a.otherActor.getGroup(); d = d == e || d == a; } else d = !1; d && 'Ending' != c.getCurrentSceneName() && (this._DelayBounce || (this._Surprised ? (this.actor.setXVelocity(0), this._ExclamationCreated || (this.actor.setXVelocity(0), this.actor.setYVelocity(0), this.actor.setAnimation( '' + this.actor.getAnimation().split(' ')[0] + ' Right' ), (this._ExclamationCreated = !0), c.createRecycledActor( c.getActorType(131), this.actor.getXCenter() - 14, this.actor.getY() - 28, 0 ), (this._Exclamation = c.getLastCreatedActor()), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(183)), c.runLater( 500, function (a) { c.recycleActor(b._Exclamation); }, this.actor ))) : this._Stop ? this._Stopped || ((this._Stopped = !0), this.actor.setXVelocity(0), this.actor.setYVelocity(0)) : this._Bounce || ((this._Bounce = !0), this.actor.isOnScreen() && (h.engine.getGameAttribute('Sound Disabled') || this._BackandForth || 'Ending' == c.getCurrentSceneName() || c.playSound(c.getSound(220))), this.actor.setXVelocity(0), this.actor.setYVelocity(0), this._Left ? this.actor.setAnimation( '' + this.actor.getAnimation().split(' ')[0] + ' Left Crouch' ) : this.actor.setAnimation( '' + this.actor.getAnimation().split(' ')[0] + ' Right Crouch' ), c.runLater( 100, function (a) { 'Castle Cutscene' == c.getCurrentSceneName() ? b.actor.setXVelocity(40) : 'Meadow Cutscene' == c.getCurrentSceneName() ? b.actor.setXVelocity(50) : b._GoLeft ? b.actor.setXVelocity(-50) : b._BackandForth ? b._Left ? (b.actor.setXVelocity(10), (b._Left = !1)) : ((b._Left = !0), b.actor.setXVelocity(-10)) : (b.actor.setXVelocity(30), 'Intro Cutscene' == c.getCurrentSceneName() && (b._GoRight = !0)); 'Meadow Cutscene' == c.getCurrentSceneName() ? b.actor.setYVelocity(-50) : b._HighJump ? b.actor.setYVelocity(-40) : b.actor.setYVelocity(-30); b._Left ? b.actor.setAnimation( '' + b.actor.getAnimation().split(' ')[0] + ' Left Jump' ) : b.actor.setAnimation( '' + b.actor.getAnimation().split(' ')[0] + ' Right Jump' ); c.runLater( 100, function (a) { b._Bounce = !1; }, b.actor ); }, this.actor ))), this._GoRight && ('Meadow Cutscene' == c.getCurrentSceneName() ? this.actor.setXVelocity(60) : this.actor.setXVelocity(30))); }, _event_ActorAny: function (a) { this.wrapper.enabled && 'Ending' == c.getCurrentSceneName() && this.actor.getType() != c.getActorType(1058) && !this._HitGround && ((this._StoppedOnGround = this._HitGround = !0), this.actor.setAngularVelocity(0), this._Left ? this.actor.setAnimation('' + this._Colour + ' Left Blink') : this.actor.setAnimation('' + this._Colour + ' Right Blink'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(117)), c.startShakingScreen(0.004, 0.07), this.actor.setXVelocity(0), this.actor.setYVelocity(0), (this._SetX = this.actor.getX()), (this._SetY = this.actor.getY())); }, _event_Balloon: function (a) { this.wrapper.enabled && (this._Surprised ? (a = !1) : ((a = this._Balloon), (a = c.isPrimitive(a) ? !0 : 'string' == typeof a ? '' != w.__cast(a, String) : null != a)), a && this._Balloon.getX() > this.actor.getXCenter() && ((this._Balloon = c.getDefaultValue(this._Balloon)), (this._Surprised = !0), this.actor.setXVelocity(0))); }, _event_Gravity: function (a) { this.wrapper.enabled && 'Ending' != c.getCurrentSceneName() && ('Meadow Cutscene' == c.getCurrentSceneName() || this._GoLeft ? this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 3, this._GravitySpeed)) : 'Space Cutscene' == c.getCurrentSceneName() ? this.actor.setYVelocity( Math.min(this.actor.getYVelocity() + 0.7, this._GravitySpeed / 2) ) : this.actor.setYVelocity( Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed) )); }, _event_Updating2: function (a) { this.wrapper.enabled && ((a = this._Helmet), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && (this._Helmet.setX(this.actor.getX() + 12), this._Helmet.setY(this.actor.getY() - 10)); }, init: function () { var a = this; this.actor.makeAlwaysSimulate(); this._GravitySpeed = 48; h.engine.getGameAttribute('Possum Mode') && ((this._SetColour = !0), (this._Colour = 6)); this._SetColour && (this._Left ? this.actor.setAnimation('' + this._Colour + ' Left Jump') : this.actor.setAnimation('' + this._Colour + ' Right Jump')); this._DelayBounce && (this.actor.setXVelocity(15.5), c.runLater( 300, function (b) { a._DelayBounce = !1; }, this.actor )); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); this.addListener(this.actor.whenCollided, m(this, this._event_ActorAny)); c.runPeriodically(50, m(this, this._event_Balloon), this.actor); this.addListener(this.actor.whenUpdated, m(this, this._event_Gravity)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating2)); }, forwardMessage: function (a) {}, __class__: ww }); var xw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Button Number'] = '_ButtonNumber'; this._ButtonNumber = 0; this.nameMap.h.Go = '_Go'; this._Go = !1; this.nameMap.h['Go Delay'] = '_GoDelay'; this._GoDelay = 0; this.nameMap.h['Lock list'] = '_Locklist'; this.nameMap.h['Boss Hole Sensor'] = '_BossHoleSensor'; this._BossHoleSensor = !1; this.nameMap.h.Reset = '_Reset'; this._Reset = !1; this.nameMap.h['Turn Block'] = '_TurnBlock'; }; k['scripts.Design_28_28_ButtonBlockLogic'] = xw; xw.__name__ = 'scripts.Design_28_28_ButtonBlockLogic'; xw.__super__ = n; xw.prototype = t(n.prototype, { _ButtonNumber: null, _Go: null, _GoDelay: null, _Locklist: null, _BossHoleSensor: null, _Reset: null, _TurnBlock: null, _customEvent_Go: function () { var a = this; this._Go || ((this._Go = !0), c.runLater( 1e3 * this._GoDelay, function (b) { a.actor.setAnimation('Turn'); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(111)); b = 0; for (var d = c.getActorsOfType(c.getActorType(2)); b < d.length; ) { var e = d[b]; ++b; null == e || e.dead || e.recycled || (a.actor.getXCenter() > e.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Block Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Block Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); } c.createRecycledActorOnLayer( c.getActorType(381), a.actor.getX(), a.actor.getY(), c.engine.getLayerById(a.actor.getLayerID()) ); a._TurnBlock = c.getLastCreatedActor(); a._TurnBlock.spinBy(180, 0.2, v.quadInOut); if ('Level 12' == c.getCurrentSceneName()) for (b = 0, d = c.getActorsOfType(c.getActorType(609)); b < d.length; ) (e = d[b]), ++b, null == e || e.dead || e.recycled || c.recycleActor(e); c.runLater( 100, function (a) { c.startShakingScreen(0.005, 0.05); }, a.actor ); c.runLater( 200, function (b) { c.recycleActor(a._TurnBlock); a.actor.setAnimation('Open'); }, a.actor ); }, this.actor )); }, _customEvent_Reset: function () { var a = this; this._Go && !this._Reset && ((this._Reset = !0), (this._Go = !1), this.actor.setAnimation('Turn'), this.actor.setFilter([c.createBrightnessFilter(100)]), this.actor.spinTo(0, 0.2, v.quadInOut), c.runLater( 210, function (b) { a.actor.clearFilters(); a.actor.setAnimation('Closed'); a._Reset = !1; }, this.actor )); }, init: function () { this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: xw }); var yw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Button Number'] = '_ButtonNumber'; this._ButtonNumber = 0; this.nameMap.h.Unlocked = '_Unlocked'; this._Unlocked = !1; this.nameMap.h['Lock list'] = '_Locklist'; this.nameMap.h['Dude Check'] = '_DudeCheck'; this._DudeCheck = !1; this.nameMap.h['Button Is Pressed'] = '_ButtonIsPressed'; this._ButtonIsPressed = !1; this.nameMap.h['Button List'] = '_ButtonList'; this.nameMap.h['All Buttons Are Down'] = '_AllButtonsAreDown'; this._AllButtonsAreDown = !1; this.nameMap.h.Hide = '_Hide'; this._Hide = !1; this.nameMap.h.Disable = '_Disable'; this._Disable = !1; this.nameMap.h['Boss 5 Left'] = '_Boss5Left'; this._Boss5Left = !1; this.nameMap.h['Timer Block'] = '_TimerBlock'; this.nameMap.h['Cannon Start'] = '_CannonStart'; this._CannonStart = !1; this.nameMap.h.Done = '_Done'; this._Done = !1; this.nameMap.h['Balloon Hatch'] = '_BalloonHatch'; this._BalloonHatch = !1; }; k['scripts.Design_29_29_ButtonLogic'] = yw; yw.__name__ = 'scripts.Design_29_29_ButtonLogic'; yw.__super__ = n; yw.prototype = t(n.prototype, { _ButtonNumber: null, _Unlocked: null, _Locklist: null, _DudeCheck: null, _ButtonIsPressed: null, _ButtonList: null, _AllButtonsAreDown: null, _Hide: null, _Disable: null, _Boss5Left: null, _TimerBlock: null, _CannonStart: null, _Done: null, _BalloonHatch: null, _event_HitsDude: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(2); var d = a.otherActor.getType(); a = a.otherActor.getGroup(); b = b == d || b == a; } else b = !1; !b || this._Hide || this._Disable || (this._DudeCheck = !0); }, _event_HitsCrate: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(32); var d = a.otherActor.getType(); a = a.otherActor.getGroup(); b = b == d || b == a; } else b = !1; b && !this._Hide && (this._DudeCheck = !0); }, _event_HitsBigCrate: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(379); var d = a.otherActor.getType(); a = a.otherActor.getGroup(); b = b == d || b == a; } else b = !1; b && !this._Hide && (this._DudeCheck = !0); }, _event_HitsHugeCrate: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(917); var d = a.otherActor.getType(); a = a.otherActor.getGroup(); b = b == d || b == a; } else b = !1; b && !this._Hide && (this._DudeCheck = !0); }, _event_Updating: function (a) { var b = this; if (this.wrapper.enabled && !this._Hide && !this._Unlocked) { if (this._DudeCheck) { if (!this._ButtonIsPressed) { this._ButtonIsPressed = !0; h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(107)); c.setValueForScene('Stage Logic', '_RumbleName', 'Item'); c.sayToScene('Stage Logic', '_customEvent_rumble'); if (this._CannonStart && !this._Done) { this._Done = !0; a = 0; for (var d = c.getActorsOfType(c.getActorType(213)); a < d.length; ) { var e = d[a]; ++a; null == e || e.dead || e.recycled || (e.getValue('Cannon Logic', '_Waitfortrigger') && e.shout('_customEvent_Shoot')); } a = 0; for (d = c.getActorsOfType(c.getActorType(208)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (e.getValue('Cannon Logic', '_Waitfortrigger') && e.shout('_customEvent_Shoot')); } a = 0; for (d = c.getActorsOfType(c.getActorType(38)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (e.getValue('Button Logic', '_ButtonNumber') == this._ButtonNumber && this._ButtonList.push(e)); a = 0; for (d = c.getActorsOfType(c.getActorType(40)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (e.getValue('Button Block Logic', '_ButtonNumber') == this._ButtonNumber && this._Locklist.push(e)); a = 0; for (d = c.getActorsOfType(c.getActorType(794)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (e.getValue('Balloon Hatch Logic', '_ButtonNumber') == this._ButtonNumber && this._Locklist.push(e)); a = 0; for (d = c.getActorsOfType(c.getActorType(911)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (e.getValue('Rocket Hatch Logic', '_ButtonNumber') == this._ButtonNumber && this._Locklist.push(e)); a = 0; for (d = c.getActorsOfType(c.getActorType(818)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (e.getValue('Timer Block Logic', '_ButtonNumber') == this._ButtonNumber && this._Locklist.push(e)); a = 0; for (d = c.getActorsOfType(c.getActorType(824)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (e.getValue('Danger Door Logic', '_ButtonNumber') == this._ButtonNumber && this._Locklist.push(e)); a = 0; for (d = c.getActorsOfType(c.getActorType(862)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (e.getValue('Danger Door Logic', '_ButtonNumber') == this._ButtonNumber && this._Locklist.push(e)); this.actor.setAnimation('Down'); this._AllButtonsAreDown = !0; a = 0; for (d = w.__cast(this._ButtonList, Array); a < d.length; ) (e = d[a]), ++a, 0 == e.getValue('Button Logic', '_ButtonIsPressed') && (this._AllButtonsAreDown = !1); if (this._AllButtonsAreDown) { this._Unlocked = !0; a = 0; for (d = w.__cast(this._ButtonList, Array); a < d.length; ) (e = d[a]), ++a, e.setAnimation('Down'), e.setValue('Button Logic', '_Unlocked', !0); c.startShakingScreen(0.005, 0.05); a = 0; for (d = this._Locklist.length; a < d; ) (e = a++), this._Locklist[e].getType() == c.getActorType(794) && (this._BalloonHatch = !0); a = 0; for (d = this._Locklist.length; a < d; ) (e = a++), this._Locklist[e].setValue('Button Block Logic', '_GoDelay', 0.2 * e + 0.4), this._Locklist[e].shout('_customEvent_Go'), this._Locklist[e].getType() == c.getActorType(794) && c.runLater( 5e3, function (a) { b._Unlocked = !1; b.actor.setAnimation('Normal'); a = 0; for (var c = w.__cast(b._ButtonList, Array); a < c.length; ) { var d = c[a]; ++a; d.setAnimation('Normal'); d.setValue('Button Logic', '_Unlocked', !1); } }, this.actor ), this._Locklist[e].getType() != c.getActorType(824) || this._BalloonHatch || c.runLater( 300, function (a) { b._Unlocked = !1; b.actor.setAnimation('Normal'); a = 0; for (var c = w.__cast(b._ButtonList, Array); a < c.length; ) { var d = c[a]; ++a; d.setAnimation('Normal'); d.setValue('Button Logic', '_Unlocked', !1); } }, this.actor ), this._Locklist[e].getType() != c.getActorType(818) || this._BalloonHatch || c.runLater( 6e3, function (a) { b._Unlocked = !1; b.actor.setAnimation('Normal'); a = 0; for (var c = w.__cast(b._ButtonList, Array); a < c.length; ) { var d = c[a]; ++a; d.setAnimation('Normal'); d.setValue('Button Logic', '_Unlocked', !1); } }, this.actor ), this._Locklist[e].getType() == c.getActorType(862) && c.runLater( 300, function (a) { b._Unlocked = !1; b.actor.setAnimation('Normal'); a = 0; for (var c = w.__cast(b._ButtonList, Array); a < c.length; ) { var d = c[a]; ++a; d.setAnimation('Normal'); d.setValue('Button Logic', '_Unlocked', !1); } }, this.actor ); if (this.actor.getType() == c.getActorType(353)) { this._Hide = !0; this.actor.moveBy(0, 32, 0.4, v.quadInOut); a = 0; for (d = c.getActorsOfType(c.getActorType(992)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.shout('_customEvent_Go'); a = 0; for (d = c.getActorsOfType(c.getActorType(886)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (e.shout('_customEvent_Go'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(442))); a = 0; for (d = c.getActorsOfType(c.getActorType(946)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.shout('_customEvent_Drop'); a = 0; for (d = c.getActorsOfType(c.getActorType(935)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.say('Boss 6 Crane Logic', '_customEvent_Drop'); a = 0; for (d = c.getActorsOfType(c.getActorType(208)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (e.getValue('Cannon Logic', '_BossCannonNumber') == this._ButtonNumber && e.say('Cannon Logic', '_customEvent_Shoot')); a = 0; for (d = c.getActorsOfType(c.getActorType(213)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (e.getValue('Cannon Logic', '_BossCannonNumber') == this._ButtonNumber && e.say('Cannon Logic', '_customEvent_Shoot')); a = 0; for (d = c.getActorsOfType(c.getActorType(391)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (e.getValue('Crusher Logic', '_ButtonNumber') == this._ButtonNumber && e.say('Crusher Logic', '_customEvent_Go')); a = 0; for (d = c.getActorsOfType(c.getActorType(421)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (e.getValue('Boss Spikes Logic', '_ButtonNumber') == this._ButtonNumber && e.say('Boss Spikes Logic', '_customEvent_Go')); a = 0; for (d = c.getActorsOfType(c.getActorType(696)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (e.getValue('Boss Spikes Logic', '_ButtonNumber') == this._ButtonNumber && e.say('Boss Spikes Logic', '_customEvent_Go')); a = 0; for (d = c.getActorsOfType(c.getActorType(694)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (e.getValue('Boss Spikes Logic', '_ButtonNumber') == this._ButtonNumber && e.say('Boss Spikes Logic', '_customEvent_Go')); a = 0; for (d = c.getActorsOfType(c.getActorType(353)); a < d.length; ) if ( ((e = [d[a]]), ++a, null != e[0] && !e[0].dead && !e[0].recycled && e[0] != this.actor && e[0].getValue('Button Logic', '_Hide')) ) { e[0].moveBy(0, -32, 0.4, v.quadInOut); e[0].setAnimation('Normal'); if (e[0].getValue('Button Logic', '_ButtonIsPressed')) for ( var f = 0, g = c.getActorsOfType(c.getActorType(40)); f < g.length; ) { var l = g[f]; ++f; null == l || l.dead || l.recycled || W.contains(this._Locklist, l) || l.shout('_customEvent_Reset'); } c.runLater( 400, (function (a) { return function (b) { a[0].setValue('Button Logic', '_Hide', !1); a[0].setValue('Button Logic', '_Unlocked', !1); a[0].setValue('Button Logic', '_ButtonIsPressed', !1); }; })(e), this.actor ); } } } } } else this._ButtonIsPressed && ((this._ButtonIsPressed = !1), this._Unlocked || this.actor.setAnimation('Normal')); this._DudeCheck = !1; } }, init: function () { this.actor.makeAlwaysSimulate(); this._ButtonList = []; this._Locklist = []; this._Hide && this.actor.setY(this.actor.getY() + 32); this.addListener(this.actor.whenCollided, m(this, this._event_HitsDude)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsCrate)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsBigCrate)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsHugeCrate)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: yw }); var zw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Left Touch Is Down'] = '_LeftTouchIsDown'; this._LeftTouchIsDown = !1; this.nameMap.h['Right Touch Is Down'] = '_RightTouchIsDown'; this._RightTouchIsDown = !1; this.nameMap.h['Ground Check'] = '_GroundCheck'; this._GroundCheck = !1; this.nameMap.h['On Ground'] = '_OnGround'; this._OnGround = !1; this.nameMap.h['Jump Touch ID'] = '_JumpTouchID'; this._JumpTouchID = ''; this.nameMap.h['Jump Speed'] = '_JumpSpeed'; this._JumpSpeed = 0; this.nameMap.h['Left Touch ID'] = '_LeftTouchID'; this._LeftTouchID = ''; this.nameMap.h['Right Touch ID'] = '_RightTouchID'; this._RightTouchID = ''; this.nameMap.h['Run Speed'] = '_RunSpeed'; this._RunSpeed = 0; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['Left Button'] = '_LeftButton'; this.nameMap.h['Right Button'] = '_RightButton'; this.nameMap.h['Jump Button'] = '_JumpButton'; this.nameMap.h['Distance X'] = '_DistanceX'; this._DistanceX = 0; this.nameMap.h['Camera Target'] = '_CameraTarget'; this.nameMap.h['Distance Y'] = '_DistanceY'; this._DistanceY = 0; this.nameMap.h.Distance = '_Distance'; this._Distance = 0; this.nameMap.h['Camera X'] = '_CameraX'; this._CameraX = 0; this.nameMap.h['Camera Y'] = '_CameraY'; this._CameraY = 0; this.nameMap.h.Dead = '_Dead'; this._Dead = !1; this.nameMap.h.Hurt = '_Hurt'; this._Hurt = !1; this.nameMap.h['Jump Hang'] = '_JumpHang'; this._JumpHang = 0; this.nameMap.h['Jump Amnesty'] = '_JumpAmnesty'; this._JumpAmnesty = 0; this.nameMap.h['Camera Boundaries Found'] = '_CameraBoundariesFound'; this._CameraBoundariesFound = !1; this.nameMap.h['Left Boundary'] = '_LeftBoundary'; this.nameMap.h['Right Boundary'] = '_RightBoundary'; this.nameMap.h['Top Boundary'] = '_TopBoundary'; this.nameMap.h['Bottom Boundary'] = '_BottomBoundary'; this.nameMap.h['Boundary X Distance'] = '_BoundaryXDistance'; this._BoundaryXDistance = 0; this.nameMap.h['Boundary Y Distance'] = '_BoundaryYDistance'; this._BoundaryYDistance = 0; this.nameMap.h['Left Boundary X'] = '_LeftBoundaryX'; this._LeftBoundaryX = 0; this.nameMap.h['Right Boundary X'] = '_RightBoundaryX'; this._RightBoundaryX = 0; this.nameMap.h['Top Boundary Y'] = '_TopBoundaryY'; this._TopBoundaryY = 0; this.nameMap.h['Bottom Boundary Y'] = '_BottomBoundaryY'; this._BottomBoundaryY = 0; this.nameMap.h.Exiting = '_Exiting'; this._Exiting = !1; this.nameMap.h['Platform Check'] = '_PlatformCheck'; this._PlatformCheck = !1; this.nameMap.h['Current Platform'] = '_CurrentPlatform'; this.nameMap.h['Platform Pos X'] = '_PlatformPosX'; this._PlatformPosX = 0; this.nameMap.h['On Platform'] = '_OnPlatform'; this._OnPlatform = !1; this.nameMap.h.Jumping = '_Jumping'; this._Jumping = !1; this.nameMap.h['Platform Release Delay'] = '_PlatformReleaseDelay'; this._PlatformReleaseDelay = 0; this.nameMap.h['Camera Target X'] = '_CameraTargetX'; this._CameraTargetX = 0; this.nameMap.h['Camera Target Y'] = '_CameraTargetY'; this._CameraTargetY = 0; this.nameMap.h['Jump Touch Timer'] = '_JumpTouchTimer'; this._JumpTouchTimer = 0; this.nameMap.h['Crate Check'] = '_CrateCheck'; this._CrateCheck = !1; this.nameMap.h['Pushing Crate'] = '_PushingCrate'; this._PushingCrate = !1; this.nameMap.h['Crate Release Delay'] = '_CrateReleaseDelay'; this._CrateReleaseDelay = 0; this.nameMap.h['Bottom Was Hit'] = '_BottomWasHit'; this._BottomWasHit = !1; this.nameMap.h['Top Was Hit'] = '_TopWasHit'; this._TopWasHit = !1; this.nameMap.h['Left Was Hit'] = '_LeftWasHit'; this._LeftWasHit = !1; this.nameMap.h['Right Was Hit'] = '_RightWasHit'; this._RightWasHit = !1; this.nameMap.h['Platform X Speed Offset'] = '_PlatformXSpeedOffset'; this._PlatformXSpeedOffset = 0; this.nameMap.h['Camera Boundary Type'] = '_CameraBoundaryType'; this.nameMap.h['Camera Transition'] = '_CameraTransition'; this._CameraTransition = !1; this.nameMap.h['Camera Transition Finished'] = '_CameraTransitionFinished'; this._CameraTransitionFinished = !1; this.nameMap.h['Camera Transition Top'] = '_CameraTransitionTop'; this._CameraTransitionTop = !1; this.nameMap.h['Camera Transition Bottom'] = '_CameraTransitionBottom'; this._CameraTransitionBottom = !1; this.nameMap.h['Camera Transition Left'] = '_CameraTransitionLeft'; this._CameraTransitionLeft = !1; this.nameMap.h['Camera Transition Right'] = '_CameraTransitionRight'; this._CameraTransitionRight = !1; this.nameMap.h['Right Boundary Offset'] = '_RightBoundaryOffset'; this._RightBoundaryOffset = 0; this.nameMap.h['Left Boundary Offset'] = '_LeftBoundaryOffset'; this._LeftBoundaryOffset = 0; this.nameMap.h['Bottom Boundary Offset'] = '_BottomBoundaryOffset'; this._BottomBoundaryOffset = 0; this.nameMap.h['Top Boundary Offset'] = '_TopBoundaryOffset'; this._TopBoundaryOffset = 0; this.nameMap.h['Bottom Transition Speed'] = '_BottomTransitionSpeed'; this._BottomTransitionSpeed = 0; this.nameMap.h['Top Transition Speed'] = '_TopTransitionSpeed'; this._TopTransitionSpeed = 0; this.nameMap.h['Left Transition Speed'] = '_LeftTransitionSpeed'; this._LeftTransitionSpeed = 0; this.nameMap.h['Right Transition Speed'] = '_RightTransitionSpeed'; this._RightTransitionSpeed = 0; this.nameMap.h['Left Trans Mid'] = '_LeftTransMid'; this._LeftTransMid = 0; this.nameMap.h['Right Trans Mid'] = '_RightTransMid'; this._RightTransMid = 0; this.nameMap.h['Top Trans Mid'] = '_TopTransMid'; this._TopTransMid = 0; this.nameMap.h['Bottom Trans Mid'] = '_BottomTransMid'; this._BottomTransMid = 0; this.nameMap.h['Sensor Row Count'] = '_SensorRowCount'; this._SensorRowCount = 0; this.nameMap.h['Sensor Column Count'] = '_SensorColumnCount'; this._SensorColumnCount = 0; this.nameMap.h['Facing Right'] = '_FacingRight'; this._FacingRight = !1; this.nameMap.h['Fall Timer'] = '_FallTimer'; this._FallTimer = 0; this.nameMap.h['Has Entered'] = '_HasEntered'; this._HasEntered = !1; this.nameMap.h['Entrance Tween'] = '_EntranceTween'; this._EntranceTween = !1; this.nameMap.h['Can Start'] = '_CanStart'; this._CanStart = !1; this.nameMap.h.Arrow = '_Arrow'; this.nameMap.h['Transitioned In'] = '_TransitionedIn'; this._TransitionedIn = !1; this.nameMap.h['Step 1'] = '_Step1'; this._Step1 = !1; this.nameMap.h['Can Double Jump'] = '_CanDoubleJump'; this._CanDoubleJump = !1; this.nameMap.h['Touch X'] = '_TouchX'; this._TouchX = 0; this.nameMap.h['Previous Direction'] = '_PreviousDirection'; this._PreviousDirection = ''; this.nameMap.h['Touch X Sensor'] = '_TouchXSensor'; this.nameMap.h['Changed Direction'] = '_ChangedDirection'; this._ChangedDirection = !1; this.nameMap.h['Last Touch ID'] = '_LastTouchID'; this._LastTouchID = ''; this.nameMap.h['Has Hit Baby'] = '_HasHitBaby'; this._HasHitBaby = !1; this.nameMap.h['Move To Baby Position'] = '_MoveToBabyPosition'; this._MoveToBabyPosition = !1; this.nameMap.h['Baby X Pos'] = '_BabyXPos'; this._BabyXPos = 0; this.nameMap.h.Baby = '_Baby'; this.nameMap.h['Exit Animation'] = '_ExitAnimation'; this._ExitAnimation = !1; this.nameMap.h['Screen X'] = '_ScreenX'; this._ScreenX = 0; this.nameMap.h['Screen Y'] = '_ScreenY'; this._ScreenY = 0; this.nameMap.h['Exit Camera X'] = '_ExitCameraX'; this._ExitCameraX = 0; this.nameMap.h['Exit Camera Y'] = '_ExitCameraY'; this._ExitCameraY = 0; this.nameMap.h['Exit Origin Y'] = '_ExitOriginY'; this._ExitOriginY = 0; this.nameMap.h['Origin Y'] = '_OriginY'; this._OriginY = 0; this.nameMap.h.Anchored = '_Anchored'; this._Anchored = !1; this.nameMap.h['Baby Exit Origin Y'] = '_BabyExitOriginY'; this._BabyExitOriginY = 0; this.nameMap.h['Fly Off Screen'] = '_FlyOffScreen'; this._FlyOffScreen = !1; this.nameMap.h['Baby Type'] = '_BabyType'; this._BabyType = ''; this.nameMap.h['Direction RN'] = '_DirectionRN'; this._DirectionRN = 1; this.nameMap.h['Star Collected'] = '_StarCollected'; this._StarCollected = !1; this.nameMap.h['Exit Go'] = '_ExitGo'; this._ExitGo = !1; this.nameMap.h.Springing = '_Springing'; this._Springing = !1; this.nameMap.h['Baby Type Number'] = '_BabyTypeNumber'; this._BabyTypeNumber = 0; this.nameMap.h['Left Touch Margin'] = '_LeftTouchMargin'; this._LeftTouchMargin = 0; this.nameMap.h['First Touch'] = '_FirstTouch'; this._FirstTouch = !1; this.nameMap.h['First Touch X'] = '_FirstTouchX'; this._FirstTouchX = 0; this.nameMap.h['Go Button'] = '_GoButton'; this.nameMap.h['Possum Sprite'] = '_PossumSprite'; this.nameMap.h.DELETEME = '_DELETEME'; this._DELETEME = 'FART'; this.nameMap.h['Direction Hint'] = '_DirectionHint'; this.nameMap.h["Touch Wasn't Jump"] = '_TouchWasntJump'; this._TouchWasntJump = !1; this.nameMap.h['Touch Drag Threshold'] = '_TouchDragThreshold'; this._TouchDragThreshold = 0; this.nameMap.h['Touch Tap Threshold'] = '_TouchTapThreshold'; this._TouchTapThreshold = 0; this.nameMap.h['Up Touch Is Down'] = '_UpTouchIsDown'; this._UpTouchIsDown = !1; this.nameMap.h['Down Touch Is Down'] = '_DownTouchIsDown'; this._DownTouchIsDown = !1; this.nameMap.h['Ground Sensor'] = '_GroundSensor'; this.nameMap.h['Sensor Check'] = '_SensorCheck'; this._SensorCheck = !1; this.nameMap.h['Sensor On Ground'] = '_SensorOnGround'; this._SensorOnGround = !1; this.nameMap.h['Mushroom Timer'] = '_MushroomTimer'; this._MushroomTimer = 0; this.nameMap.h['Big Spring'] = '_BigSpring'; this._BigSpring = !1; this.nameMap.h['Climbing Check'] = '_ClimbingCheck'; this._ClimbingCheck = !1; this.nameMap.h.Climbing = '_Climbing'; this._Climbing = !1; this.nameMap.h['Climbing Actor'] = '_ClimbingActor'; this.nameMap.h['Climb Drop'] = '_ClimbDrop'; this._ClimbDrop = !1; this.nameMap.h['Climbing Y'] = '_ClimbingY'; this._ClimbingY = 0; this.nameMap.h.Cannonball = '_Cannonball'; this._Cannonball = !1; this.nameMap.h['Cannonball Timer'] = '_CannonballTimer'; this._CannonballTimer = 0; this.nameMap.h['In Cannon'] = '_InCannon'; this._InCannon = !1; this.nameMap.h['Current Cannon Sensor'] = '_CurrentCannonSensor'; this.nameMap.h['Sound Prefix'] = '_SoundPrefix'; this._SoundPrefix = ''; this.nameMap.h.Gravity = '_Gravity'; this._Gravity = !1; this.nameMap.h['Current Cannon'] = '_CurrentCannon'; this.nameMap.h['Cannon About To Shoot'] = '_CannonAboutToShoot'; this._CannonAboutToShoot = !1; this.nameMap.h['Leaving Cannon'] = '_LeavingCannon'; this._LeavingCannon = !1; this.nameMap.h['Cannon Sensor Check'] = '_CannonSensorCheck'; this._CannonSensorCheck = !1; this.nameMap.h['No Shoot'] = '_NoShoot'; this._NoShoot = !1; this.nameMap.h['Follow Cannon'] = '_FollowCannon'; this._FollowCannon = !1; this.nameMap.h['Quicksand Check'] = '_QuicksandCheck'; this._QuicksandCheck = !1; this.nameMap.h['In Quicksand'] = '_InQuicksand'; this._InQuicksand = !1; this.nameMap.h['Quicksand Immune'] = '_QuicksandImmune'; this._QuicksandImmune = !1; this.nameMap.h['Quicksand Y'] = '_QuicksandY'; this._QuicksandY = 0; this.nameMap.h.Flipper = '_Flipper'; this._Flipper = !1; this.nameMap.h.Riding = '_Riding'; this._Riding = !1; this.nameMap.h.Burgurgular = '_Burgurgular'; this.nameMap.h['Hide Direction Hint'] = '_HideDirectionHint'; this._HideDirectionHint = !1; this.nameMap.h['Ride Ended'] = '_RideEnded'; this._RideEnded = !1; this.nameMap.h['Ride Eject'] = '_RideEject'; this._RideEject = !1; this.nameMap.h.Tween = '_Tween'; this._Tween = !1; this.nameMap.h['Can Release Climb'] = '_CanReleaseClimb'; this._CanReleaseClimb = !1; this.nameMap.h['Left Touch List'] = '_LeftTouchList'; this.nameMap.h['Left Touch Directions'] = '_LeftTouchDirections'; this.nameMap.h['Fall Camera Offset'] = '_FallCameraOffset'; this._FallCameraOffset = 0; this.nameMap.h['Fall Camera Timer'] = '_FallCameraTimer'; this._FallCameraTimer = 0; this.nameMap.h['Fowlst Jump X Speed'] = '_FowlstJumpXSpeed'; this._FowlstJumpXSpeed = 0; this.nameMap.h['Fowlst Jump Y Speed'] = '_FowlstJumpYSpeed'; this._FowlstJumpYSpeed = 0; this.nameMap.h['Folwst Can Hop'] = '_FolwstCanHop'; this._FolwstCanHop = !1; this.nameMap.h['Boss Talk'] = '_BossTalk'; this._BossTalk = !1; this.nameMap.h['Exit Burg'] = '_ExitBurg'; this._ExitBurg = !1; this.nameMap.h['Exitburg Wall X'] = '_ExitburgWallX'; this._ExitburgWallX = 0; this.nameMap.h['Exitburg Smashed'] = '_ExitburgSmashed'; this._ExitburgSmashed = !1; this.nameMap.h.Hat = '_Hat'; this.nameMap.h["Don't Slow Jump Release"] = '_DontSlowJumpRelease'; this._DontSlowJumpRelease = !1; this.nameMap.h['Button Input'] = '_ButtonInput'; this._ButtonInput = ''; this.nameMap.h['Z Button Indicator'] = '_ZButtonIndicator'; }; k['scripts.Design_2_2_DudeLogic'] = zw; zw.__name__ = 'scripts.Design_2_2_DudeLogic'; zw.__super__ = n; zw.prototype = t(n.prototype, { _LeftTouchIsDown: null, _RightTouchIsDown: null, _GroundCheck: null, _OnGround: null, _JumpTouchID: null, _JumpSpeed: null, _LeftTouchID: null, _RightTouchID: null, _RunSpeed: null, _GravitySpeed: null, _LeftButton: null, _RightButton: null, _JumpButton: null, _DistanceX: null, _CameraTarget: null, _DistanceY: null, _Distance: null, _CameraX: null, _CameraY: null, _Dead: null, _Hurt: null, _JumpHang: null, _JumpAmnesty: null, _CameraBoundariesFound: null, _LeftBoundary: null, _RightBoundary: null, _TopBoundary: null, _BottomBoundary: null, _BoundaryXDistance: null, _BoundaryYDistance: null, _LeftBoundaryX: null, _RightBoundaryX: null, _TopBoundaryY: null, _BottomBoundaryY: null, _Exiting: null, _PlatformCheck: null, _CurrentPlatform: null, _PlatformPosX: null, _OnPlatform: null, _Jumping: null, _PlatformReleaseDelay: null, _CameraTargetX: null, _CameraTargetY: null, _JumpTouchTimer: null, _CrateCheck: null, _PushingCrate: null, _CrateReleaseDelay: null, _BottomWasHit: null, _TopWasHit: null, _LeftWasHit: null, _RightWasHit: null, _PlatformXSpeedOffset: null, _CameraBoundaryType: null, _CameraTransition: null, _CameraTransitionFinished: null, _CameraTransitionTop: null, _CameraTransitionBottom: null, _CameraTransitionLeft: null, _CameraTransitionRight: null, _RightBoundaryOffset: null, _LeftBoundaryOffset: null, _BottomBoundaryOffset: null, _TopBoundaryOffset: null, _BottomTransitionSpeed: null, _TopTransitionSpeed: null, _LeftTransitionSpeed: null, _RightTransitionSpeed: null, _LeftTransMid: null, _RightTransMid: null, _TopTransMid: null, _BottomTransMid: null, _SensorRowCount: null, _SensorColumnCount: null, _FacingRight: null, _FallTimer: null, _HasEntered: null, _EntranceTween: null, _CanStart: null, _Arrow: null, _TransitionedIn: null, _Step1: null, _CanDoubleJump: null, _TouchX: null, _PreviousDirection: null, _TouchXSensor: null, _ChangedDirection: null, _LastTouchID: null, _HasHitBaby: null, _MoveToBabyPosition: null, _BabyXPos: null, _Baby: null, _ExitAnimation: null, _ScreenX: null, _ScreenY: null, _ExitCameraX: null, _ExitCameraY: null, _ExitOriginY: null, _OriginY: null, _Anchored: null, _BabyExitOriginY: null, _FlyOffScreen: null, _BabyType: null, _DirectionRN: null, _StarCollected: null, _ExitGo: null, _Springing: null, _BabyTypeNumber: null, _LeftTouchMargin: null, _FirstTouch: null, _FirstTouchX: null, _GoButton: null, _PossumSprite: null, _DELETEME: null, _DirectionHint: null, _TouchWasntJump: null, _TouchDragThreshold: null, _TouchTapThreshold: null, _UpTouchIsDown: null, _DownTouchIsDown: null, _GroundSensor: null, _SensorCheck: null, _SensorOnGround: null, _MushroomTimer: null, _BigSpring: null, _ClimbingCheck: null, _Climbing: null, _ClimbingActor: null, _ClimbDrop: null, _ClimbingY: null, _Cannonball: null, _CannonballTimer: null, _InCannon: null, _CurrentCannonSensor: null, _SoundPrefix: null, _Gravity: null, _CurrentCannon: null, _CannonAboutToShoot: null, _LeavingCannon: null, _CannonSensorCheck: null, _NoShoot: null, _FollowCannon: null, _QuicksandCheck: null, _InQuicksand: null, _QuicksandImmune: null, _QuicksandY: null, _Flipper: null, _Riding: null, _Burgurgular: null, _HideDirectionHint: null, _RideEnded: null, _RideEject: null, _Tween: null, _CanReleaseClimb: null, _LeftTouchList: null, _LeftTouchDirections: null, _FallCameraOffset: null, _FallCameraTimer: null, _FowlstJumpXSpeed: null, _FowlstJumpYSpeed: null, _FolwstCanHop: null, _BossTalk: null, _ExitBurg: null, _ExitburgWallX: null, _ExitburgSmashed: null, _Hat: null, _DontSlowJumpRelease: null, _ButtonInput: null, _ZButtonIndicator: null, _event_Updating: function (a) { this.wrapper.enabled && (h.engine.getGameAttribute('Possum Mode') && (c.isKeyPressed('left') || c.isKeyPressed('right')) && (this._FolwstCanHop = !0), h.engine.getGameAttribute('MOBILE MODE') || (h.engine.getGameAttribute('Left Button Down') ? ((this._LeftTouchIsDown = !0), (this._RightTouchIsDown = !1)) : (this._LeftTouchIsDown = !1), h.engine.getGameAttribute('Right Button Down') ? ((this._RightTouchIsDown = !0), (this._LeftTouchIsDown = !1)) : (this._RightTouchIsDown = !1))); }, _event_KeyboardPressed: function (a, b) { var d = this; if ( this.wrapper.enabled && a && (this._HasEntered || this._EntranceTween || c.engine.isPaused() || (this._CanStart && this.actor.say('Dude Logic', '_customEvent_Enter')), !( this._Dead || this._Exiting || this._RideEject || (this._FirstTouch && (this._FirstTouch = !1), (!this._HasEntered && !this._EntranceTween) || c.engine.isPaused()) )) ) if (this._InCannon) this._NoShoot || this.actor.say('Dude Logic', '_customEvent_shootCannon'); else if (!h.engine.getGameAttribute('Possum Mode') || this._Riding) 0 < this._JumpAmnesty || this._OnPlatform || this._OnGround || this._InQuicksand || this._Climbing ? (this.actor.setYVelocity(Math.min(this.actor.getYVelocity(), -this._JumpSpeed)), (this._JumpAmnesty = 0), (this._JumpHang = 6), (this._Jumping = !0), (this._OnPlatform = !1), (this._JumpTouchTimer = 0), this._InQuicksand && (c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this._QuicksandY - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Dirt'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this._QuicksandY - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, 0, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this._QuicksandY - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, 0, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt'), (this._QuicksandImmune = !0), c.runLater( 30, function (a) { d._QuicksandImmune = !1; }, this.actor )), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(109)), this._Climbing && this._CanReleaseClimb && ((this._Climbing = !1), (this._ClimbDrop = !0), c.runLater( 300, function (a) { d._ClimbDrop = !1; }, this.actor ))) : !this._CanDoubleJump || this._SensorOnGround || this._InQuicksand ? (this._JumpTouchTimer = 16) : ((this._ClimbDrop = this._CanDoubleJump = !1), this.actor.getYVelocity() < -this._JumpSpeed && (this._DontSlowJumpRelease = !0), this.actor.setYVelocity(Math.min(this.actor.getYVelocity(), -this._JumpSpeed)), (this._JumpAmnesty = 0), (this._JumpHang = 6), (this._Jumping = !0), (this._ClimbDrop = !1), (this._JumpTouchTimer = 0), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, 0, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, 0, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(120))); }, _event_KeyboardReleased: function (a, b) { this.wrapper.enabled && b && !this._Springing && !this._InCannon && !this._Cannonball && -20 > this.actor.getYVelocity() && (!this._DontSlowJumpRelease && -20 > this.actor.getYVelocity() && this.actor.getYVelocity() >= -this._JumpSpeed && this.actor.setYVelocity(-20), (this._DontSlowJumpRelease = !1)); }, _event_HitsGround: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(1); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && ((this._CannonballTimer = 0), a.thisFromBottom && (this._GroundCheck = !0)); }, _event_HitsPlatform: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(5); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; if (b && a.thisFromBottom) { this._PlatformCheck = this._GroundCheck = !0; if (0 == this._PlatformReleaseDelay || 0 != this.actor.getXVelocity()) this._PlatformPosX = this.actor.getX() - a.otherActor.getX(); this._PlatformReleaseDelay = 6; this._CurrentPlatform = a.otherActor; } }, _event_HitsQuicksand: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(810); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && !this._QuicksandImmune && ((this._QuicksandCheck = !0), (this._QuicksandY = a.otherActor.getY()), (this._RightTouchIsDown = this._LeftTouchIsDown = !0)); }, _event_HitsClimbing: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(798); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; !b || this._ClimbDrop || this._Dead || this._Hurt || h.engine.getGameAttribute('Possum Mode') || ((this._ClimbingActor = a.otherActor), (this._ClimbingCheck = !0)); }, _event_HitsHazard: function (a) { this.wrapper.enabled && this.internalGetGroup(a.otherActor, a.otherShape, a) == c.getActorGroup(4) && (a.thisFromBottom ? (this._BottomWasHit = !0) : a.thisFromTop ? (this._TopWasHit = !0) : a.thisFromLeft ? (this._LeftWasHit = !0) : a.thisFromRight && (this._RightWasHit = !0), this.actor.say('Dude Logic', '_customEvent_Die')); }, _event_HitsBaby: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(159); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; !b || this._HasHitBaby || this._Exiting || (hb.gameplayStop(), hb.happyTime(0.2), h.engine.getGameAttribute('Timer Mode') && c.sayToScene('Stage Logic', '_customEvent_timerStop'), (b = this._DirectionHint), (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && this._DirectionHint.disableActorDrawing(), (this._Exiting = this._HasHitBaby = !0), (this._RightTouchIsDown = this._LeftTouchIsDown = !1), (this._Baby = a.otherActor), this.actor.setXVelocity(0), this.actor.setYVelocity(0), (this._MoveToBabyPosition = !0), (this._ExitCameraY = a.otherActor.getYCenter()), a.otherActor.getValue('Baby Logic', '_Left') ? ((this._BabyXPos = a.otherActor.getXCenter() - 64), (this._ExitCameraX = a.otherActor.getXCenter() - 32)) : ('6 Right' == a.otherActor.getAnimation() ? (this._BabyXPos = a.otherActor.getXCenter() + 96) : (this._BabyXPos = a.otherActor.getXCenter() + 64), (this._ExitCameraX = a.otherActor.getXCenter() + 32)), this.actor.setYVelocity(-this._JumpSpeed), (this._JumpAmnesty = 0), (this._JumpHang = 6), (this._Jumping = !0), (this._OnPlatform = !1), (this._JumpTouchTimer = 0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(109))); }, _event_HitsExitBurg: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(1124); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; if (b && !this._HasHitBaby && !this._Exiting) { h.engine.getGameAttribute('Timer Mode') && c.sayToScene('Stage Logic', '_customEvent_timerStop'); b = this._DirectionHint; (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && this._DirectionHint.disableActorDrawing(); b = 0; for (d = c.getActorsOfType(c.getActorType(234)); b < d.length; ) (e = d[b]), ++b, null == e || e.dead || e.recycled || c.recycleActor(e); this._Exiting = this._HasHitBaby = !0; this._RightTouchIsDown = this._LeftTouchIsDown = !1; this._Baby = a.otherActor; this.actor.setXVelocity(0); this.actor.setYVelocity(0); this._MoveToBabyPosition = !0; this._ExitCameraY = a.otherActor.getYCenter(); this._BabyXPos = a.otherActor.getXCenter() - 96; this._ExitCameraX = a.otherActor.getXCenter() - 64; this.actor.setYVelocity(-this._JumpSpeed); this._JumpAmnesty = 0; this._JumpHang = 6; this._Jumping = !0; this._OnPlatform = !1; this._JumpTouchTimer = 0; h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(109)); } }, _event_HitsHat: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(1134); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; if (d && !this._HasHitBaby && !this._Exiting) { this._Hat = a.otherActor; h.engine.getGameAttribute('Timer Mode') && c.sayToScene('Stage Logic', '_customEvent_timerStop'); d = this._DirectionHint; (c.isPrimitive(d) || ('string' == typeof d ? '' != w.__cast(d, String) : null != d)) && this._DirectionHint.disableActorDrawing(); this._Exiting = this._HasHitBaby = !0; this._RightTouchIsDown = this._LeftTouchIsDown = !1; d = 0; for (e = c.getActorsOfType(c.getActorType(841)); d < e.length; ) (f = e[d]), ++d, null == f || f.dead || f.recycled || (this._Baby = f); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(220)); d = 0; for (e = c.getActorsOfType(c.getActorType(1140)); d < e.length; ) (f = e[d]), ++d, null == f || f.dead || f.recycled || f.moveTo(this._Baby.getXCenter() - 10, this._Baby.getY() + 18, 1.2, v.quadInOut); a.otherActor.setYVelocity(-50); a.otherActor.spinBy(720, 0.5, v.quadInOut); c.runLater( 1200, function (a) { c.createRecycledActor(c.getActorType(14), 0, 0, 0); c.createRecycledActorOnLayer( c.getActorType(94), b._Hat.getXCenter() - 8, b._Hat.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Star'); c.createRecycledActorOnLayer( c.getActorType(94), b._Hat.getXCenter() - 8, b._Hat.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Star'); c.createRecycledActorOnLayer( c.getActorType(94), b._Hat.getXCenter() - 8, b._Hat.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-32, 32, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Star'); c.createRecycledActorOnLayer( c.getActorType(94), b._Hat.getXCenter() - 8, b._Hat.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(32, 32, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Star'); c.recycleActor(b._Hat); b._Baby.setAnimation('Idle Hat'); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(351)); c.runLater( 500, function (a) { b._Baby.shout('_customEvent_Dialog'); }, b.actor ); }, this.actor ); this.actor.setXVelocity(0); this.actor.setYVelocity(0); this._MoveToBabyPosition = !0; this._ExitCameraY = this._Baby.getYCenter(); this._BabyXPos = this.actor.getXCenter() - 96; this._ExitCameraX = this._Baby.getXCenter() - 64; this.actor.setYVelocity(-this._JumpSpeed); this._JumpAmnesty = 0; this._JumpHang = 6; this._Jumping = !0; this._OnPlatform = !1; this._JumpTouchTimer = 0; h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(109)); } }, _event_MoveToBabyPos: function (a) { var b = this; this.wrapper.enabled && !this._ExitGo && (this._MoveToBabyPosition ? ((a = this._Baby), (a = c.isPrimitive(a) ? !0 : 'string' == typeof a ? '' != w.__cast(a, String) : null != a)) : (a = !1), a && (this._BabyXPos > this.actor.getXCenter() + 4 ? this._OnGround || this._OnPlatform ? this.actor.setXVelocity(this._RunSpeed) : this.actor.setXVelocity(this._RunSpeed + 2) : this._BabyXPos < this.actor.getXCenter() - 4 ? this._OnGround || this._OnPlatform ? this.actor.setXVelocity(-this._RunSpeed) : this.actor.setXVelocity(-(this._RunSpeed + 2)) : (this.actor.setXVelocity(0), this._OnGround && !this._ExitAnimation && ((this._MoveToBabyPosition = !1), (this._ExitAnimation = !0), this._Baby.getType() != c.getActorType(841) && c.runLater( 600, function (a) { b._Baby.shout('_customEvent_Dialog'); }, this.actor ), this._Baby.getX() > this.actor.getX() ? this.actor.setAnimation('Idle Right') : this.actor.setAnimation('Idle Left'))))); }, _event_HitsKey: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(28); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && a.otherActor.say('Key Logic', '_customEvent_unlock'); }, _event_HitsCrate: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(32); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && ((a.thisFromLeft && this._LeftTouchIsDown) || (a.thisFromRight && this._RightTouchIsDown)) && ((this._CrateCheck = !0), (this._CrateReleaseDelay = 6)); }, _event_HitsBigCrate: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(379); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && ((a.thisFromLeft && this._LeftTouchIsDown) || (a.thisFromRight && this._RightTouchIsDown)) && ((this._CrateCheck = !0), (this._CrateReleaseDelay = 6)); }, _event_HitsHugeCrate: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(917); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && ((a.thisFromLeft && this._LeftTouchIsDown) || (a.thisFromRight && this._RightTouchIsDown)) && ((this._CrateCheck = !0), (this._CrateReleaseDelay = 6)); }, _event_HitsCameraSensor: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(78); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && (1 == a.otherActor.getValue('Camera Sensor Logic', '_CameraNumber') && this._CameraBoundaryType != c.getActorType(18) ? ((h.engine.gameAttributes.h['Camera Boundary Number'] = 1), this.actor.say('Dude Logic', '_customEvent_setCameraBounds')) : 2 == a.otherActor.getValue('Camera Sensor Logic', '_CameraNumber') && this._CameraBoundaryType != c.getActorType(80) ? ((h.engine.gameAttributes.h['Camera Boundary Number'] = 2), this.actor.say('Dude Logic', '_customEvent_setCameraBounds')) : 3 == a.otherActor.getValue('Camera Sensor Logic', '_CameraNumber') && this._CameraBoundaryType != c.getActorType(82) && ((h.engine.gameAttributes.h['Camera Boundary Number'] = 3), this.actor.say('Dude Logic', '_customEvent_setCameraBounds'))); }, _event_HitsCannonSensor: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(802); var e = a.otherActor.getType(); var f = a.otherActor.getGroup(); e = d == e || d == f; } else e = !1; e && ((this._CannonSensorCheck = !0), this._InCannon || this._LeavingCannon || 0 != a.otherActor.getValue('Cannon Sensor Logic', '_Occupied') || ((this._NoShoot = this._InCannon = !0), (this._CurrentCannon = a.otherActor.getValue('Cannon Sensor Logic', '_Cannon')), this._CurrentCannon.getValue('Barrel Cannon Logic', '_FlipOnEnter') ? c.runLater( 210, function (a) { b._NoShoot = !1; }, this.actor ) : c.runLater( 200, function (a) { b._NoShoot = !1; }, this.actor ), (this._Cannonball = !1), a.otherActor.setValue('Cannon Sensor Logic', '_Occupied', !0), (this._CurrentCannonSensor = a.otherActor), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(804)), (this._Gravity = !1), this.actor.setXVelocity(0), this.actor.setYVelocity(0), this.actor.moveTo( a.otherActor.getXCenter() - this.actor.getWidth() / 2, a.otherActor.getYCenter() - this.actor.getHeight() / 2, 0.15, v.quadInOut ), c.runLater( 150, function (a) { b._FollowCannon = !0; }, this.actor ), this._CurrentCannon.getValue('Barrel Cannon Logic', '_FlipOnEnter') && ((e = this._CurrentCannon), (d = this._CurrentCannon.getValue('Barrel Cannon Logic', '_FlipDistance')), e.spinBy( null == d ? 0 : 'number' == typeof d ? w.__cast(d, ob) : 'number' == typeof d && (d | 0) === d ? w.__cast(d, nb) : 'boolean' == typeof d ? w.__cast(d, jb) ? 1 : 0 : 'string' == typeof d ? parseFloat(d) : parseFloat(z.string(d)), 0.2, v.quadInOut )), this._CurrentCannon.growTo(1.3, 0.7, 0.1, v.quadInOut), c.runLater( 100, function (a) { b._CurrentCannon.growTo(1, 1, 0.1, v.quadInOut); }, this.actor ))); }, _event_Camera: function (a) { if (this.wrapper.enabled) { if (this._CameraBoundariesFound) !this._Hurt && ((e = this._CameraTarget), c.isPrimitive(e) || ('string' == typeof e ? '' != w.__cast(e, String) : null != e)) && (this._Exiting || this._BossTalk ? ((this._DistanceX = Math.ceil(this._ExitCameraX - this._CameraX)), (this._DistanceY = Math.ceil(this._ExitCameraY - this._CameraY)), (this._Distance = Math.sqrt( Math.pow(this._DistanceX, 2) + Math.pow(this._DistanceY, 2) )), this._ExitCameraX > this._CameraX ? (this._CameraX = Math.min( this._ExitCameraX, this._CameraX + Math.abs(this._DistanceX) / 32 )) : this._ExitCameraX < this._CameraX && (this._CameraX = Math.max( this._ExitCameraX, this._CameraX - Math.abs(this._DistanceX) / 32 )), this._CameraY > this._ExitCameraY ? (this._CameraY = Math.max( this._CameraY - Math.abs(this._DistanceY) / 16, this._ExitCameraY )) : this._CameraY < this._ExitCameraY && (this._CameraY = Math.min( this._CameraY + Math.abs(this._DistanceY) / 16, this._ExitCameraY ))) : (this._Riding ? ((this._DistanceX = Math.ceil( this.actor.getXCenter() + c.getScreenWidth() / 4 - this._CameraX )), (this._DistanceY = Math.ceil(this.actor.getYCenter() - this._CameraY)), (this._Distance = Math.sqrt( Math.pow(this._DistanceX, 2) + Math.pow(this._DistanceY, 2) )), this.actor.getXCenter() + c.getScreenWidth() / 4 > this._CameraX ? (this._CameraX = Math.min( this.actor.getXCenter() + c.getScreenWidth() / 4, this._CameraX + Math.abs(this._DistanceX) / 32 )) : this.actor.getXCenter() + c.getScreenWidth() / 4 < this._CameraX && (this._CameraX = Math.max( this.actor.getXCenter() + c.getScreenWidth() / 4, this._CameraX - Math.abs(this._DistanceX) / 32 ))) : ((this._DistanceX = Math.ceil( this.actor.getXCenter() + 4 * this.actor.getXVelocity() - this._CameraX )), (this._DistanceY = Math.ceil( this.actor.getYCenter() + this._FallCameraOffset - this._CameraY )), (this._Distance = Math.sqrt( Math.pow(this._DistanceX, 2) + Math.pow(this._DistanceY, 2) )), this.actor.getXCenter() + 4 * this.actor.getXVelocity() > this._CameraX ? (this._CameraX = Math.min( this.actor.getXCenter() + 4 * this.actor.getXVelocity(), this._CameraX + Math.abs(this._DistanceX) / 32 )) : this.actor.getXCenter() + 4 * this.actor.getXVelocity() < this._CameraX && (this._CameraX = Math.max( this.actor.getXCenter() + 4 * this.actor.getXVelocity(), this._CameraX - Math.abs(this._DistanceX) / 32 ))), this.actor.getYCenter() + this._FallCameraOffset > this._CameraY ? (this._CameraY = Math.min( this.actor.getYCenter() + this._FallCameraOffset, this._CameraY + Math.abs(this._DistanceY) / 8 )) : this.actor.getYCenter() + this._FallCameraOffset < this._CameraY && (this._CameraY = Math.max( this.actor.getYCenter() + this._FallCameraOffset, this._CameraY - Math.abs(this._DistanceY) / 8 ))), this._CameraX < this._LeftBoundaryX && !this._Exiting && !this._BossTalk ? this._CameraTransitionLeft ? ((this._CameraX = this._LeftBoundaryX - this._LeftBoundaryOffset), (this._LeftTransitionSpeed = this._LeftBoundaryOffset < this._LeftTransMid ? Math.max(1, Math.min(32, this._LeftBoundaryOffset / 8)) : Math.max( 1, Math.min(32, (2 * this._LeftTransMid - this._LeftBoundaryOffset) / 8) )), (this._LeftBoundaryOffset = Math.max( 0, this._LeftBoundaryOffset - this._LeftTransitionSpeed ))) : (this._CameraX = this._LeftBoundaryX) : this._CameraTransitionLeft && (this._CameraTransitionLeft = !1), this._CameraX > this._RightBoundaryX && !this._Exiting && !this._BossTalk ? this._CameraTransitionRight ? ((this._CameraX = this._RightBoundaryX + this._RightBoundaryOffset), (this._RightTransitionSpeed = this._RightBoundaryOffset < this._RightTransMid ? Math.max(1, Math.min(32, this._RightBoundaryOffset / 8)) : Math.max( 1, Math.min( 32, (2 * this._RightTransMid - this._RightBoundaryOffset) / 8 ) )), (this._RightBoundaryOffset = Math.max( 0, this._RightBoundaryOffset - this._RightTransitionSpeed ))) : (this._CameraX = this._RightBoundaryX) : this._CameraTransitionRight && (this._CameraTransitionRight = !1), this._CameraY < this._TopBoundaryY && !this._Exiting && !this._BossTalk ? this._CameraTransitionTop ? ((this._CameraY = this._TopBoundaryY - this._TopBoundaryOffset), (this._TopTransitionSpeed = this._TopBoundaryOffset < this._TopTransMid ? Math.max(1, Math.min(32, this._TopBoundaryOffset / 8)) : Math.max( 1, Math.min(32, (2 * this._TopTransMid - this._TopBoundaryOffset) / 8) )), (this._TopBoundaryOffset = Math.max( 0, this._TopBoundaryOffset - this._TopTransitionSpeed ))) : (this._CameraY = this._TopBoundaryY) : this._CameraTransitionTop && (this._CameraTransitionTop = !1), this._CameraY > this._BottomBoundaryY && !this._Exiting && !this._BossTalk ? this._CameraTransitionBottom ? ((this._CameraY = this._BottomBoundaryY + this._BottomBoundaryOffset), (this._BottomTransitionSpeed = this._BottomBoundaryOffset < this._BottomTransMid ? Math.max(1, Math.min(32, this._BottomBoundaryOffset / 8)) : Math.max( 1, Math.min( 32, (2 * this._BottomTransMid - this._BottomBoundaryOffset) / 8 ) )), (this._BottomBoundaryOffset = Math.max( 0, this._BottomBoundaryOffset - this._BottomTransitionSpeed ))) : (this._CameraY = this._BottomBoundaryY) : this._CameraTransitionBottom && (this._CameraTransitionBottom = !1), (this._CameraTargetX = this._CameraX), (this._CameraTargetY = this._CameraY), c.engine.moveCamera(this._CameraTargetX, this._CameraTargetY), this._TransitionedIn || ((this._TransitionedIn = !0), c.sayToScene('Transitions', '_customEvent_transitionIn'), c.recycleActor(c.getValueForScene('Stage Logic', '_Overlay')))); else { this._CameraBoundariesFound = !0; a = 0; for (var b = c.getActorsOfType(this._CameraBoundaryType); a < b.length; ) { var d = b[a]; ++a; if (null != d && !d.dead && !d.recycled) { var e = this._TopBoundary; c.isPrimitive(e) || ('string' == typeof e ? '' != w.__cast(e, String) : null != e) ? d.getY() < this._TopBoundary.getY() && (this._TopBoundary = d) : (this._TopBoundary = d); e = this._BottomBoundary; c.isPrimitive(e) || ('string' == typeof e ? '' != w.__cast(e, String) : null != e) ? d.getY() > this._BottomBoundary.getY() && (this._BottomBoundary = d) : (this._BottomBoundary = d); e = this._LeftBoundary; c.isPrimitive(e) || ('string' == typeof e ? '' != w.__cast(e, String) : null != e) ? d.getX() < this._LeftBoundary.getX() && (this._LeftBoundary = d) : (this._LeftBoundary = d); e = this._RightBoundary; c.isPrimitive(e) || ('string' == typeof e ? '' != w.__cast(e, String) : null != e) ? d.getX() > this._RightBoundary.getX() && (this._RightBoundary = d) : (this._RightBoundary = d); } } this._BoundaryXDistance = this._RightBoundary.getXCenter() - this._LeftBoundary.getXCenter(); this._BoundaryYDistance = this._BottomBoundary.getYCenter() - this._TopBoundary.getYCenter(); this._BoundaryXDistance < c.getScreenWidth() && (this._LeftBoundary.setX( this._LeftBoundary.getX() - (c.getScreenWidth() - this._BoundaryXDistance) / 2 ), this._RightBoundary.setX( this._RightBoundary.getX() + (c.getScreenWidth() - this._BoundaryXDistance) / 2 )); this._BoundaryYDistance < c.getScreenHeight() && (this._TopBoundary.setY( this._TopBoundary.getY() - (c.getScreenHeight() - this._BoundaryYDistance) / 2 ), this._BottomBoundary.setY( this._BottomBoundary.getY() + (c.getScreenHeight() - this._BoundaryYDistance) / 2 )); this._TopBoundaryY = this._TopBoundary.getYCenter() + c.getScreenHeight() / 2; this._BottomBoundaryY = this._BottomBoundary.getYCenter() - c.getScreenHeight() / 2; this._LeftBoundaryX = this._LeftBoundary.getXCenter() + c.getScreenWidth() / 2; this._RightBoundaryX = this._RightBoundary.getXCenter() - c.getScreenWidth() / 2; this._CameraTransitionTop && ((this._TopBoundaryOffset = Math.max(this._CameraY, this._TopBoundaryY) - Math.min(this._CameraY, this._TopBoundaryY)), (this._TopTransMid = this._TopBoundaryOffset / 2)); this._CameraTransitionBottom && ((this._BottomBoundaryOffset = Math.max(this._CameraY, this._BottomBoundaryY) - Math.min(this._CameraY, this._BottomBoundaryY)), (this._BottomTransMid = this._BottomBoundaryOffset / 2)); this._CameraTransitionLeft && ((this._LeftBoundaryOffset = Math.max(this._CameraX, this._LeftBoundaryX) - Math.min(this._CameraX, this._LeftBoundaryX)), (this._LeftTransMid = this._LeftBoundaryOffset / 2)); this._CameraTransitionRight && ((this._RightBoundaryOffset = Math.max(this._CameraX, this._RightBoundaryX) - Math.min(this._CameraX, this._RightBoundaryX)), (this._RightTransMid = this._RightBoundaryOffset / 2)); } this.actor.getYVelocity() >= this._GravitySpeed / 2 && !this._OnGround && !this._OnPlatform ? (this._FallCameraTimer += 1) : (this._FallCameraTimer = 0); 100 < this._FallCameraTimer ? (this._FallCameraOffset = Math.min( this._FallCameraOffset + 0.5, c.getScreenHeight() / 4 )) : 0 < this._FallCameraOffset && (this._FallCameraOffset = Math.max(this._FallCameraOffset - 2, 0)); } }, _event_Movement: function (a) { var b = this; if (this.wrapper.enabled) { this._TouchXSensor.setX(this._TouchX); this._TouchXSensor.setY(c.getScreenHeight() / 2); if (!this._Tween) { this._Riding ? ((this._JumpSpeed = 69), (this._CanDoubleJump = !1)) : (this._JumpSpeed = 46); if (!this._ExitAnimation) { h.engine.getGameAttribute('MOBILE MODE') && !this._HasEntered && !this._EntranceTween && this._CanStart && ((a = this._GoButton), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._GoButton.isMousePressed() && (c.stopAllSounds(), 'JP' == h.engine.getGameAttribute('Language') || 'CN' == h.engine.getGameAttribute('Language') || 'KR' == h.engine.getGameAttribute('Language') ? this._GoButton.setAnimation('WW Down') : this._GoButton.setAnimation('Down'), c.runLater( 200, function (a) { h.engine.getGameAttribute('Timer Mode') && c.sayToScene('Stage Logic', '_customEvent_timerStart'); c.recycleActor(b._GoButton); b._GoButton = c.getDefaultValue(b._GoButton); c.createRecycledActor( c.getActorType(582), 24, c.getScreenHeight() - 116, 0 ); b._DirectionHint = c.getLastCreatedActor(); b._DirectionHint.anchorToScreen(); c.createRecycledActor( c.getActorType(1191), c.getScreenWidth() - 110, c.getScreenHeight() - 100, 0 ); b._JumpButton = c.getLastCreatedActor(); b._JumpButton.anchorToScreen(); h.engine.getGameAttribute('Direction Hint') || (b._DirectionHint.disableActorDrawing(), b._JumpButton.disableActorDrawing()); }, this.actor ), h.engine.getGameAttribute('Direction Hint') ? (this._TouchX = 2 * Math.round((0.1428 * c.getScreenWidth()) / 2) - 16) : (this._TouchX = c.getMouseX()), (this._EntranceTween = this._FirstTouch = !0), this.actor.setAnimation('Emerge'), this.actor.moveBy(0, -64, 0.3, v.backOut), (a = this._Arrow), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && c.recycleActor(this._Arrow), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(119)), h.engine.getGameAttribute('Music Disabled') && c.setVolumeForChannel(0, 16), h.engine.getGameAttribute('Sound Disabled') && c.setVolumeForChannel(0, 15), c.runLater( 310, function (a) { b._CanDoubleJump = !0; 'Office' == h.engine.getGameAttribute('Stage Type') ? (c.loopSoundOnChannel(c.getSound(721), 15), c.loopSoundOnChannel(c.getSound(718), 16)) : 'Meadow' == h.engine.getGameAttribute('Stage Type') ? (c.loopSoundOnChannel(c.getSound(730), 16), c.loopSoundOnChannel(c.getSound(731), 15)) : 'Swamp' == h.engine.getGameAttribute('Stage Type') ? (c.loopSoundOnChannel(c.getSound(735), 16), c.loopSoundOnChannel(c.getSound(736), 15)) : 'Temple' == h.engine.getGameAttribute('Stage Type') ? (c.loopSoundOnChannel(c.getSound(746), 16), c.loopSoundOnChannel(c.getSound(745), 15)) : 'Space' == h.engine.getGameAttribute('Stage Type') && (c.loopSoundOnChannel(c.getSound(747), 16), c.loopSoundOnChannel(c.getSound(748), 15)); h.engine.getGameAttribute('Sound Disabled') ? c.setVolumeForChannel(0, 15) : h.engine.getGameAttribute('Sound Disabled') || c.setVolumeForChannel(1, 15); h.engine.getGameAttribute('Music Disabled') ? c.setVolumeForChannel(0, 16) : h.engine.getGameAttribute('Music Disabled') || c.setVolumeForChannel(1, 16); b._HasEntered = !0; if (!h.engine.getGameAttribute('Possum Mode')) { a = 0; for (var d = c.getActorsOfType(c.getActorType(550)); a < d.length; ) { var e = d[a]; ++a; null == e || e.dead || e.recycled || e.setAnimation('Turn On'); } c.runLater( 200, function (a) { a = 0; for (var b = c.getActorsOfType(c.getActorType(345)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || d.setAnimation('Normal'); } a = 0; for (b = c.getActorsOfType(c.getActorType(548)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.setAnimation('Normal'); a = 0; for (b = c.getActorsOfType(c.getActorType(347)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.setAnimation('Normal'); }, b.actor ); } }, this.actor ))); if (this._HasEntered && !this._Hurt) { this._OnGround && this._RideEject && this.actor.shout('_customEvent_rideEject'); this._GroundCheck ? this._OnGround || this._Climbing || ((this._OnGround = !0), (this._Springing = this._BigSpring = !1), (this._CanDoubleJump = !0), (this._JumpHang = 0), (this._JumpAmnesty = 12), h.engine.getGameAttribute('Possum Mode') && ((this._LeftTouchIsDown = h.engine.gameAttributes.h['Left Button Down'] = !1), (this._RightTouchIsDown = h.engine.gameAttributes.h['Right Button Down'] = !1)), 30 < this._FallTimer ? (c.setValueForScene('Stage Logic', '_RumbleName', 'Thud'), c.sayToScene('Stage Logic', '_customEvent_rumble'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(117)), c.startShakingScreen(0.005, 0.05), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut), 'Fall Left' == this.actor.getAnimation() ? this.actor.setAnimation('Ground Left') : 'Fall Right' == this.actor.getAnimation() && this.actor.setAnimation('Ground Right')) : 12 < this._FallTimer && (c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud'), c.sayToScene('Stage Logic', '_customEvent_rumble'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(112))), (this._FallTimer = 0)) : (this._OnGround && (this._OnGround = !1), 0 < this.actor.getYVelocity() ? (this._FallTimer += 1) : (this._FallTimer = 0)); this._GroundCheck = !1; !this._OnGround && !this._Climbing && !this._OnPlatform && 0 < this._JumpAmnesty && (14 > Math.abs(this.actor.getXVelocity()) ? (this._JumpAmnesty = 0) : --this._JumpAmnesty); this._InQuicksand && this.actor.setXVelocity(0); this._QuicksandCheck ? this._InQuicksand || ((this._InQuicksand = !0), this.actor.setYVelocity(0), this.actor.setXVelocity(0)) : this._InQuicksand && ((this._InQuicksand = !1), (this._CanDoubleJump = !0)); this._QuicksandCheck = !1; 0 < this.actor.getYVelocity() && (this._QuicksandImmune = !1); this._ClimbingCheck ? this._Climbing || this._ClimbDrop || ((this._CanDoubleJump = this._Climbing = !0), (this._CanReleaseClimb = !1), (this._JumpAmnesty = 12), c.runLater( 100, function (a) { b._CanReleaseClimb = !0; }, this.actor ), this.actor.setYVelocity(0), this.actor.setXVelocity(0), (a = this._ClimbingActor), !c.isPrimitive(a) && ('string' == typeof a ? '' == w.__cast(a, String) : null == a)) || ((this._ClimbingY = this._ClimbingActor.getY() + 6), (this._ClimbingActor = c.getDefaultValue(this._ClimbingActor))) : (this._Climbing = !1); this._ClimbingCheck = !1; this._Climbing && (this.actor.getY() > this._ClimbingY ? this.actor.setY(Math.max(this.actor.getY() - 1, this._ClimbingY)) : this.actor.getY() < this._ClimbingY && this.actor.setY(Math.min(this.actor.getY() + 1, this._ClimbingY))); this._PlatformCheck ? (this.actor.setYVelocity(40), this._OnPlatform || ((this._OnPlatform = !0), (this._JumpHang = 0), (this._JumpAmnesty = 12))) : this._OnPlatform && 0 == this._PlatformReleaseDelay && (this._OnPlatform = !1); this._PlatformCheck = !1; 0 < this._PlatformReleaseDelay && --this._PlatformReleaseDelay; if (this._CrateCheck && !h.engine.getGameAttribute('Possum Mode')) { if (!this._PushingCrate) { this._PushingCrate = !0; this._RunSpeed = 9; var d = 0 < this.actor.getXVelocity(); } } else this._PushingCrate && 0 == this._CrateReleaseDelay && ((this._PushingCrate = !1), (this._RunSpeed = 16)); this._CrateCheck = !1; 0 < this._CrateReleaseDelay && --this._CrateReleaseDelay; this._ExitAnimation || this._InCannon || (this._OnPlatform ? ((a = this._CurrentPlatform), (d = c.isPrimitive(a) ? !0 : 'string' == typeof a ? '' != w.__cast(a, String) : null != a)) : (d = !1), d ? this._CurrentPlatform.hasBehavior('Set Path') ? ((a = this._CurrentPlatform.getValue('Set Path', '_TrackerXSpeed')), (this._PlatformXSpeedOffset = null == a ? 0 : 'number' == typeof a ? w.__cast(a, ob) : 'number' == typeof a && (a | 0) === a ? w.__cast(a, nb) : 'boolean' == typeof a ? w.__cast(a, jb) ? 1 : 0 : 'string' == typeof a ? parseFloat(a) : parseFloat(z.string(a)))) : this._CurrentPlatform.hasBehavior('Rotator Object') ? ((a = this._CurrentPlatform.getValue('Rotator Object', '_TrackerXSpeed')), (this._PlatformXSpeedOffset = null == a ? 0 : 'number' == typeof a ? w.__cast(a, ob) : 'number' == typeof a && (a | 0) === a ? w.__cast(a, nb) : 'boolean' == typeof a ? w.__cast(a, jb) ? 1 : 0 : 'string' == typeof a ? parseFloat(a) : parseFloat(z.string(a)))) : (this._PlatformXSpeedOffset = 0) : (this._PlatformXSpeedOffset = 0), this._Riding && !this._RideEject && ((this._RightTouchIsDown = !0), (this._LeftTouchIsDown = !1)), this._HasHitBaby || (this._LeftTouchIsDown ? h.engine.getGameAttribute('Possum Mode') && !this._Riding ? this._Dead || this._Exiting || !this._FolwstCanHop || ((this._FolwstCanHop = !1), this.actor.setXVelocity(-this._FowlstJumpXSpeed), this.actor.setYVelocity(this._FowlstJumpYSpeed), (this._QuicksandImmune = !0), (this._InQuicksand = !1), c.runLater( 30, function (a) { b._QuicksandImmune = !1; }, this.actor ), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(1089))) : this._BigSpring && Math.abs(this.actor.getXVelocity()) > this._PlatformXSpeedOffset + (this._RunSpeed + 2) && !this._OnPlatform ? (this.actor.getXVelocity() > -this._RunSpeed && this.actor.setXVelocity( Math.max(-this._RunSpeed, this.actor.getXVelocity() - 0.8) ), this.actor.getXVelocity() < this._RunSpeed && this.actor.setXVelocity( Math.min(this._RunSpeed, this.actor.getXVelocity() + 0.3) )) : ((this._BigSpring = !1), this._OnGround || this._OnPlatform ? this.actor.setXVelocity( this._PlatformXSpeedOffset + -this._RunSpeed ) : this._InQuicksand ? this.actor.setXVelocity(-(0.05 * this._RunSpeed)) : this._Climbing ? this.actor.setXVelocity(-(0.5 * this._RunSpeed)) : h.engine.getGameAttribute('Possum Mode') || this.actor.setXVelocity( this._PlatformXSpeedOffset + -(this._RunSpeed + 2) )) : this._RightTouchIsDown ? h.engine.getGameAttribute('Possum Mode') && !this._Riding ? this._Dead || this._Exiting || !this._FolwstCanHop || ((this._FolwstCanHop = !1), this.actor.setYVelocity(this._FowlstJumpYSpeed), this.actor.setXVelocity(this._FowlstJumpXSpeed), (this._QuicksandImmune = !0), (this._InQuicksand = !1), c.runLater( 30, function (a) { b._QuicksandImmune = !1; }, this.actor ), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(1089))) : this._BigSpring && Math.abs(this.actor.getXVelocity()) > this._PlatformXSpeedOffset + (this._RunSpeed + 2) && !this._OnPlatform ? (this.actor.getXVelocity() < this._RunSpeed && this.actor.setXVelocity( Math.min(this._RunSpeed, this.actor.getXVelocity() + 0.8) ), this.actor.getXVelocity() > -this._RunSpeed && this.actor.setXVelocity( Math.max(-this._RunSpeed, this.actor.getXVelocity() - 0.3) )) : ((this._BigSpring = !1), (!this._OnGround && !this._OnPlatform) || this._Riding ? this._InQuicksand ? this.actor.setXVelocity(0.05 * this._RunSpeed) : this._Climbing ? this.actor.setXVelocity(0.5 * this._RunSpeed) : this._Riding ? this.actor.setXVelocity(1.5 * this._RunSpeed) : this.actor.setXVelocity( this._PlatformXSpeedOffset + (this._RunSpeed + 2) ) : this.actor.setXVelocity( this._PlatformXSpeedOffset + this._RunSpeed )) : h.engine.getGameAttribute('Possum Mode') ? this._Tween || (0 < this.actor.getXVelocity() ? this.actor.setXVelocity(Math.max(0, this.actor.getXVelocity() - 0.3)) : 0 > this.actor.getXVelocity() && this.actor.setXVelocity(Math.min(0, this.actor.getXVelocity() + 0.3))) : this._BigSpring ? 0 < this.actor.getXVelocity() ? this.actor.setXVelocity(Math.max(0, this.actor.getXVelocity() - 0.3)) : 0 > this.actor.getXVelocity() && this.actor.setXVelocity(Math.min(0, this.actor.getXVelocity() + 0.3)) : 0 < this.actor.getXVelocity() ? this.actor.setXVelocity(Math.max(0, this.actor.getXVelocity() - 2)) : 0 > this.actor.getXVelocity() ? this.actor.setXVelocity(Math.min(0, this.actor.getXVelocity() + 2)) : (this._BigSpring = !1))); this._InQuicksand ? this.actor.setYVelocity(3) : !this._Climbing && this._Gravity && (0 < this._JumpHang && 0 == Math.round(this.actor.getYVelocity()) ? (this.actor.setYVelocity(0), --this._JumpHang) : this._Dead ? this.actor.setYVelocity( Math.min(this.actor.getYVelocity() + 0.5, this._GravitySpeed) ) : 'Space' == h.engine.getGameAttribute('Stage Type') ? this.actor.setYVelocity( Math.min(this.actor.getYVelocity() + 0.9, this._GravitySpeed / 2) ) : this._Riding ? this.actor.setYVelocity( Math.min(this.actor.getYVelocity() + 1.7, this._GravitySpeed) ) : this.actor.setYVelocity( Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed) ), 0 < this.actor.getYVelocity() && (this._Jumping = !1)); this._ExitAnimation || (this._Jumping ? (d = !1) : this._OnPlatform ? ((a = this._CurrentPlatform), (d = c.isPrimitive(a) ? !0 : 'string' == typeof a ? '' != w.__cast(a, String) : null != a)) : (d = !1), d && (this._CurrentPlatform.hasBehavior('Rotator Object') && 0 != this._CurrentPlatform.getValue('Rotator Object', '_Speed') ? (0 != this.actor.getXVelocity() || this._LeftTouchIsDown || this._RightTouchIsDown || ((d = this.actor), (a = this._CurrentPlatform.getValue('Rotator Object', '_ActualX')), d.setX( (null == a ? 0 : 'number' == typeof a ? w.__cast(a, ob) : 'number' == typeof a && (a | 0) === a ? w.__cast(a, nb) : 'boolean' == typeof a ? w.__cast(a, jb) ? 1 : 0 : 'string' == typeof a ? parseFloat(a) : parseFloat(z.string(a))) + this._PlatformPosX )), this._Jumping || ((d = this.actor), (a = this._CurrentPlatform.getValue('Rotator Object', '_ActualY')), d.setY( (null == a ? 0 : 'number' == typeof a ? w.__cast(a, ob) : 'number' == typeof a && (a | 0) === a ? w.__cast(a, nb) : 'boolean' == typeof a ? w.__cast(a, jb) ? 1 : 0 : 'string' == typeof a ? parseFloat(a) : parseFloat(z.string(a))) - this.actor.getHeight() ))) : (0 == this.actor.getXVelocity() && this.actor.setX(this._CurrentPlatform.getX() + this._PlatformPosX), this._Jumping || this.actor.setY( this._CurrentPlatform.getY() - this.actor.getHeight() )))); !this._ExitAnimation && 0 < this._JumpTouchTimer && (0 < this._JumpAmnesty || this._OnPlatform ? (this.actor.setYVelocity( Math.min(this.actor.getYVelocity(), -this._JumpSpeed) ), (this._JumpAmnesty = 0), (this._JumpHang = 6), (this._Jumping = !0), (this._OnPlatform = !1), (this._JumpTouchTimer = 0)) : --this._JumpTouchTimer); } this._Dead && this.actor.setYVelocity( Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed) ); a = this._GroundSensor; if ( c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a) ) this._GroundSensor.setX(this.actor.getXCenter() - 32), this._GroundSensor.setY(this.actor.getY() + this.actor.getHeight()), this._SensorCheck ? (this._SensorOnGround || (this._SensorOnGround = !0), (this._SensorCheck = !1)) : !this._SensorCheck && this._SensorOnGround && (this._SensorOnGround = !1); } 0 != this._ExitOriginY && !this._FlyOffScreen && this._ExitAnimation && (this.actor.getY() < this._ExitOriginY ? this.actor.setYVelocity( Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed) ) : this.actor.getY() > this._ExitOriginY && 0 < this.actor.getYVelocity() && (this.actor.setYVelocity(0), this.actor.setXVelocity(0), this.actor.setY(this._ExitOriginY)), (a = this._Baby), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && (this._Baby.getY() < this._BabyExitOriginY ? this._Baby.setYVelocity( Math.min(this._Baby.getYVelocity() + 2, this._GravitySpeed) ) : this._Baby.getY() > this._BabyExitOriginY && 0 < this._Baby.getYVelocity() && (this._Baby.setYVelocity(0), this._Baby.setXVelocity(0), this._Baby.setY(this._BabyExitOriginY))); !this._CannonSensorCheck && this._LeavingCannon && (this._LeavingCannon = !1); this._CannonSensorCheck = !1; this._FollowCannon ? ((a = this._CurrentCannon), (d = c.isPrimitive(a) ? !0 : 'string' == typeof a ? '' != w.__cast(a, String) : null != a)) : (d = !1); d && (this.actor.setXCenter(this._CurrentCannon.getXCenter()), this.actor.setYCenter(this._CurrentCannon.getYCenter())); } !h.engine.getGameAttribute('Possum Mode') || this._Exiting || this._Riding || this._Dead || (0 > this.actor.getScreenX() && (this.actor.setX(c.getScreenX()), this.actor.setXVelocity(0)), 0 > this.actor.getScreenY() && (this.actor.setY(c.getScreenY()), this.actor.setYVelocity(0)), this.actor.getScreenX() + this.actor.getWidth() > c.getScreenWidth() && (this.actor.setX(c.getScreenX() + (c.getScreenWidth() - this.actor.getWidth())), this.actor.setXVelocity(0)), this.actor.getScreenY() + this.actor.getHeight() > c.getScreenHeight() && (this.actor.setY(c.getScreenY() + (c.getScreenHeight() - this.actor.getHeight())), this.actor.setYVelocity(0))); this._ExitBurg && this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed)); } }, _event_Sweat: function (a) { this.wrapper.enabled && this._PushingCrate && (0 < this.actor.getXVelocity() ? (c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 4, this.actor.getY() + 4, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Sweat')) : 0 > this.actor.getXVelocity() && (c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 4, this.actor.getY() + 4, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Sweat'))); }, _event_ExitStars: function (a) { this.wrapper.enabled && this._FlyOffScreen && (c.createRecycledActorOnLayer( c.getActorType(223), this.actor.getXCenter() - 16, this.actor.getYCenter() - 16, c.engine.getLayerById(0) ), (this._DirectionRN = 3 > this._DirectionRN ? this._DirectionRN + 1 : 1), 1 == this._DirectionRN ? c.getLastCreatedActor().moveBy(-32, 32, 0.6, v.backOut) : 2 == this._DirectionRN ? c.getLastCreatedActor().moveBy(32, 32, 0.6, v.backOut) : 3 == this._DirectionRN && c.getLastCreatedActor().moveBy(0, 32, 0.6, v.backOut)); }, _event_Steps: function (a) { this.wrapper.enabled && this._PushingCrate && this._OnGround && (this._LeftTouchIsDown || this._RightTouchIsDown) && !h.engine.getGameAttribute('Sound Disabled') && (this._Step1 ? ((this._Step1 = !1), c.playSound(c.getSound(116))) : ((this._Step1 = !0), c.playSound(c.getSound(115)))); }, _event_CannonSmoke: function (a) { if (this.wrapper.enabled && this._Cannonball) if (0 >= this._CannonballTimer) (this._Cannonball = !1), (this._CannonballTimer = 0), (this._Gravity = !0); else { --this._CannonballTimer; a = 0; for (var b = c.randomInt(1, 3); a < b; ) a++, c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8 + c.randomInt(-8, 8), this.actor.getYCenter() - 8 + c.randomInt(-8, 8), c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Smoke'), c.getLastCreatedActor().moveToBottom(); } }, _event_Animations: function (a) { var b = this; if ( this.wrapper.enabled && (h.engine.getGameAttribute('Possum Mode') ? ((a = this._PossumSprite), (a = c.isPrimitive(a) ? !0 : 'string' == typeof a ? '' != w.__cast(a, String) : null != a)) : (a = !1), a && (this._PossumSprite.setX(this.actor.getX()), this._PossumSprite.setY(this.actor.getY()), this._ExitAnimation || this._Tween ? this._PossumSprite.setAngle(0) : 0 < this.actor.getXVelocity() && !this._Riding && !this._OnGround ? this._PossumSprite.setAngle( 0.01745329251994278 * (this.actor.getYVelocity() / 1.5) ) : !( 0 > this.actor.getXVelocity() || ('Spin' == this._PossumSprite.getAnimation() && 0 == this.actor.getXVelocity()) ) || this._Riding || this._OnGround ? this._OnGround && this._PossumSprite.setAngle(0) : this._PossumSprite.setAngle( 0.01745329251994278 * (360 - this.actor.getYVelocity() / 1.5) ), this._PossumSprite.getAnimation() != this.actor.getAnimation() && this._PossumSprite.setAnimation(this.actor.getAnimation())), !this._Tween) ) { this._ExitBurg ? ((a = this._Baby), (a = c.isPrimitive(a) ? !0 : 'string' == typeof a ? '' != w.__cast(a, String) : null != a)) : (a = !1); if ( a && (this._Baby.setX(this.actor.getX()), this._Baby.setY(this.actor.getY() + 6), 4 < this.actor.getYVelocity() ? 'Right' == this._Baby.getAnimation() && this._Baby.setAnimation('Jump') : 0 < this.actor.getXVelocity() && 'Right' != this._Baby.getAnimation() ? this._Baby.setAnimation('Right') : 0 == this.actor.getXVelocity() && 'Idle Right' != this._Baby.getAnimation() && this._Baby.setAnimation('Idle Right'), !this._ExitburgSmashed && 0 < this._ExitburgWallX && this.actor.getX() + this.actor.getWidth() > this._ExitburgWallX) ) { this._ExitburgSmashed = !0; h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(405)); c.startShakingScreen(0.006, 0.2); a = 0; for (var d = c.getActorsOfType(c.getActorType(1128)); a < d.length; ) { var e = d[a]; ++a; null == e || e.dead || e.recycled || c.recycleActor(e); } a = 0; for (d = c.getActorsOfType(c.getActorType(1126)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.shout('_customEvent_Go'); c.runLater( 2e3, function (a) { if (!b._ExitGo) { b._ExitGo = !0; h.engine.getGameAttribute('Timer Mode') && c.sayToScene('Stage Logic', '_customEvent_timerHide'); c.stopAllSounds(); if (h.engine.getGameAttribute('Star Collected') || b._StarCollected) (h.engine.gameAttributes.h['Star Collected'] = !1), c.sayToScene('Stage Logic', '_customEvent_starGet'); var d = c.getCurrentSceneName().split(' ')[1]; (null == d ? 0 : 'number' == typeof d ? w.__cast(d, ob) : 'number' == typeof d && (d | 0) === d ? w.__cast(d, nb) : 'boolean' == typeof d ? w.__cast(d, jb) ? 1 : 0 : 'string' == typeof d ? parseFloat(d) : parseFloat(z.string(d))) > h.engine.getGameAttribute('Highest Level') && ((a = h.engine), (d = c.getCurrentSceneName().split(' ')[1]), (d = null == d ? 0 : 'number' == typeof d ? w.__cast(d, ob) : 'number' == typeof d && (d | 0) === d ? w.__cast(d, nb) : 'boolean' == typeof d ? w.__cast(d, jb) ? 1 : 0 : 'string' == typeof d ? parseFloat(d) : parseFloat(z.string(d))), (a.gameAttributes.h['Highest Level'] = d), c.saveGame('mySave', function (a) {})); c.sayToScene('Transitions', '_customEvent_transitionOut'); c.runLater( 2800, function (a) { h.engine.gameAttributes.h['Checkpoint Passed'] = !1; if (h.engine.getGameAttribute('Possum Mode')) { a = ra.get().scenes.h[66].getID(); var b = 0, d = 0, e = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); var f = c.createFadeOut(0.3, (b << 16) | (d << 8) | e); } else (a = ra.get().scenes.h[127].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (f = c.createFadeOut(0.3, (b << 16) | (d << 8) | e)); e = d = b = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); c.switchScene(a, f, c.createFadeIn(0.3, (b << 16) | (d << 8) | e)); }, b.actor ); } }, this.actor ); } this._Riding ? ((a = this._Burgurgular), (a = c.isPrimitive(a) ? !0 : 'string' == typeof a ? '' != w.__cast(a, String) : null != a)) : (a = !1); a && !this._Hurt && (this._Burgurgular.setX(this.actor.getX()), this._Burgurgular.setY(this.actor.getY() + 6), this._RideEject || (this._OnGround ? 'Right' != this._Burgurgular.getAnimation() && this._Burgurgular.setAnimation('Right') : 'Jump' != this._Burgurgular.getAnimation() && this._Burgurgular.setAnimation('Jump'))); if (!this._Riding) if (!this._Cannonball || this._Dead || this._Hurt) if ( this._InQuicksand && this.actor.getYCenter() > this._QuicksandY - 12 && !this._Dead && !this._Hurt ) 'Struggle' != this.actor.getAnimation() && this.actor.setAnimation('Struggle'); else { if ( (!this._Climbing || this._Dead || this._Hurt || (0 > this.actor.getXVelocity() ? ((this._FacingRight = !1), 'Climb Left' != this.actor.getAnimation() && this.actor.setAnimation('Climb Left')) : 0 < this.actor.getXVelocity() ? ((this._FacingRight = !0), 'Climb Right' != this.actor.getAnimation() && this.actor.setAnimation('Climb Right')) : this._FacingRight && 'Climb Idle Right' != this.actor.getAnimation() ? this.actor.setAnimation('Climb Idle Right') : this._FacingRight || 'Climb Idle Left' == this.actor.getAnimation() || this.actor.setAnimation('Climb Idle Left')), !this._HasEntered || this._Dead || this._Hurt || this._ExitAnimation || this._Climbing || ('Ground Left' != this.actor.getAnimation() && 'Ground Right' != this.actor.getAnimation() ? (0 < this.actor.getXVelocity() ? (this._FacingRight = !0) : 0 > this.actor.getXVelocity() && (this._FacingRight = !1), this._OnGround || 0 < this._JumpAmnesty || this._OnPlatform ? this._LeftTouchIsDown || (this._MoveToBabyPosition && 0 > this.actor.getXVelocity()) ? 'Walk Left' != this.actor.getAnimation() && this.actor.setAnimation('Walk Left') : this._RightTouchIsDown || (this._MoveToBabyPosition && 0 < this.actor.getXVelocity()) ? 'Walk Right' != this.actor.getAnimation() && this.actor.setAnimation('Walk Right') : this._RightTouchIsDown || this._LeftTouchIsDown || (this._FacingRight && 'Idle Right' != this.actor.getAnimation() ? this.actor.setAnimation('Idle Right') : this._FacingRight || 'Idle Left' == this.actor.getAnimation() || this.actor.setAnimation('Idle Left')) : 0 > this.actor.getYVelocity() ? 'Flip Left' != this.actor.getAnimation() && 'Flip Right' != this.actor.getAnimation() ? this._FacingRight && 'Jump Right' != this.actor.getAnimation() ? this.actor.setAnimation('Jump Right') : this._FacingRight || 'Jump Left' == this.actor.getAnimation() || this.actor.setAnimation('Jump Left') : this._FacingRight && 9 == this.actor.getCurrentFrame() ? this.actor.setAnimation('Jump Right') : this._FacingRight || 9 != this.actor.getCurrentFrame() || this.actor.setAnimation('Jump Left') : 0 < this.actor.getYVelocity() ? 'Flip Left' != this.actor.getAnimation() && 'Flip Right' != this.actor.getAnimation() && (this._FacingRight && 'Fall Right' != this.actor.getAnimation() ? this.actor.setAnimation('Fall Right') : this._FacingRight || 'Fall Left' == this.actor.getAnimation() || this.actor.setAnimation('Fall Left')) : this._FacingRight && 9 == this.actor.getCurrentFrame() ? this.actor.setAnimation('Fall Right') : this._FacingRight || 9 != this.actor.getCurrentFrame() || this.actor.setAnimation('Fall Left')) : 'Ground Left' == this.actor.getAnimation() ? 4 == this.actor.getCurrentFrame() && this.actor.setAnimation('Idle Left') : 'Ground Right' == this.actor.getAnimation() && 4 == this.actor.getCurrentFrame() && this.actor.setAnimation('Idle Right')), this._ExitAnimation) ) if ( 0 < this.actor.getYVelocity() && 'Jump Right' == this.actor.getAnimation() ) { if ( (this.actor.setAnimation('Fall Right'), (a = this.actor), 0 == a.physicsMode) ) for (a = a.getBody().getFixtureList(); null != a; ) a.setSensor(!0), (a = a.getNext()); } else if ( 0 < this.actor.getYVelocity() && 'Jump Left' == this.actor.getAnimation() ) { if ( (this.actor.setAnimation('Fall Left'), (a = this.actor), 0 == a.physicsMode) ) for (a = a.getBody().getFixtureList(); null != a; ) a.setSensor(!0), (a = a.getNext()); } else if ( 0 == this.actor.getYVelocity() && 'Fall Right' == this.actor.getAnimation() ) { if ( (this.actor.setAnimation('Idle Right'), (a = this.actor), 0 == a.physicsMode) ) for (a = a.getBody().getFixtureList(); null != a; ) a.setSensor(!0), (a = a.getNext()); } else if ( 0 == this.actor.getYVelocity() && 'Fall Left' == this.actor.getAnimation() ) { if ( (this.actor.setAnimation('Idle Left'), (a = this.actor), 0 == a.physicsMode) ) for (a = a.getBody().getFixtureList(); null != a; ) a.setSensor(!0), (a = a.getNext()); } else if ( 0 == this.actor.getYVelocity() && 'Flip Right' == this.actor.getAnimation() ) { if ( (this.actor.setAnimation('Idle Right'), (a = this.actor), 0 == a.physicsMode) ) for (a = a.getBody().getFixtureList(); null != a; ) a.setSensor(!0), (a = a.getNext()); } else if ( 0 == this.actor.getYVelocity() && 'Flip Left' == this.actor.getAnimation() && (this.actor.setAnimation('Idle Left'), (a = this.actor), 0 == a.physicsMode) ) for (a = a.getBody().getFixtureList(); null != a; ) a.setSensor(!0), (a = a.getNext()); } else 'Spin' != this.actor.getAnimation() && this.actor.setAnimation('Spin'); } }, _event_HitsBurgurgular: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(841); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; !d || this._Riding || this._RideEnded || ((this._Tween = this._Riding = !0), this.actor.setXVelocity(0), this.actor.setYVelocity(0), (this._Burgurgular = a.otherActor), this._Burgurgular.moveToTop(), this.actor.moveTo( this._Burgurgular.getXCenter() - this.actor.getWidth() / 2, this._Burgurgular.getY() - 6, 0.2, v.quadInOut ), c.runLater( 200, function (a) { b._Tween = !1; b._Burgurgular.setAnimation('Right'); b.actor.setAnimation('Ride'); a = b._PossumSprite; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && b._PossumSprite.setAnimation('Ride'); b.actor.setXCenter(b._Burgurgular.getXCenter()); b.actor.setY(b._Burgurgular.getY() - 6); }, this.actor )); }, _event_HitsRideEnd: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(843); var d = a.otherActor.getType(); a = a.otherActor.getGroup(); b = b == d || b == a; } else b = !1; b && this._Riding && !this._RideEject && !this._RideEnded && ((this._RideEject = !0), this._Burgurgular.setAnimation('Idle'), (this._RightTouchIsDown = !1)); }, _event_SensorHitsTiles: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(1); var d = a.otherActor.getType(); a = a.otherActor.getGroup(); b = b == d || b == a; } else b = !1; b && ((b = this._GroundSensor), (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && 0 < this.actor.getYVelocity() && (this._SensorCheck = !0)); }, _event_SensorHitsPlatform: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(5); var d = a.otherActor.getType(); a = a.otherActor.getGroup(); b = b == d || b == a; } else b = !1; b && ((b = this._GroundSensor), (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && 0 < this.actor.getYVelocity() && (this._SensorCheck = !0)); }, _event_DirectionHint: function (a) { if (this.wrapper.enabled) { h.engine.getGameAttribute('Direction Hint') ? ((a = this._DirectionHint), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a) ? (this._TouchX = this._DirectionHint.getX() + this._DirectionHint.getWidth() / 2) : (this._TouchX = Math.max( 90, 2 * Math.round((0.1428 * c.getScreenWidth()) / 2) - 16 )), (this._TouchTapThreshold = this._TouchDragThreshold = 0)) : ((this._TouchDragThreshold = 12), (this._TouchTapThreshold = 24)); a = this._JumpButton; if (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) (a = this._JumpTouchID), (!c.isPrimitive(a) && ('string' == typeof a ? '' == w.__cast(a, String) : null == a)) || 'Down' == this._JumpButton.getAnimation() ? ((a = this._JumpTouchID), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a) || 'Down' != this._JumpButton.getAnimation() || this._JumpButton.setAnimation('Normal')) : this._JumpButton.setAnimation('Down'); a = this._DirectionHint; if (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) 'Snow' == h.engine.getGameAttribute('Stage Type') ? this._LeftTouchIsDown ? 'SnowLeft' != this._DirectionHint.getAnimation() && this._DirectionHint.setAnimation('SnowLeft') : this._RightTouchIsDown ? 'SnowRight' != this._DirectionHint.getAnimation() && this._DirectionHint.setAnimation('SnowRight') : 'SnowNormal' != this._DirectionHint.getAnimation() && this._DirectionHint.setAnimation('SnowNormal') : this._LeftTouchIsDown ? 'Left' != this._DirectionHint.getAnimation() && this._DirectionHint.setAnimation('Left') : this._RightTouchIsDown ? 'Right' != this._DirectionHint.getAnimation() && this._DirectionHint.setAnimation('Right') : 'Normal' != this._DirectionHint.getAnimation() && this._DirectionHint.setAnimation('Normal'); } }, _event_TouchStartedCopy: function (a) { !this.wrapper.enabled || this._Dead || this._Exiting || ((this._LastTouchID = '' + a.touchPointID), this._FirstTouch && (this._FirstTouch = !1), (this._HasEntered || this._EntranceTween) && (a.stageX - h.screenOffsetX) / (h.screenScaleX * h.SCALE) < c.getScreenWidth() / 2 - 16 && '' + a.touchPointID != this._LeftTouchID && ((this._FolwstCanHop = !0), 'Right' == this._PreviousDirection ? (a.stageX - h.screenOffsetX) / (h.screenScaleX * h.SCALE) < this._TouchX - this._TouchTapThreshold ? ((this._LeftTouchIsDown = !0), (this._RightTouchIsDown = !1), (this._PreviousDirection = 'Left')) : (a.stageX - h.screenOffsetX) / (h.screenScaleX * h.SCALE) >= this._TouchX - this._TouchTapThreshold && ((this._RightTouchIsDown = !0), (this._LeftTouchIsDown = !1)) : 'Left' == this._PreviousDirection ? (a.stageX - h.screenOffsetX) / (h.screenScaleX * h.SCALE) <= this._TouchX + this._TouchTapThreshold ? ((this._LeftTouchIsDown = !0), (this._RightTouchIsDown = !1)) : (a.stageX - h.screenOffsetX) / (h.screenScaleX * h.SCALE) > this._TouchX + this._TouchTapThreshold && ((this._RightTouchIsDown = !0), (this._LeftTouchIsDown = !1), (this._PreviousDirection = 'Right')) : (a.stageX - h.screenOffsetX) / (h.screenScaleX * h.SCALE) <= this._TouchX - 1 ? ((this._LeftTouchIsDown = !0), (this._RightTouchIsDown = !1), (this._PreviousDirection = 'Left')) : (a.stageX - h.screenOffsetX) / (h.screenScaleX * h.SCALE) >= this._TouchX + 1 && ((this._RightTouchIsDown = !0), (this._LeftTouchIsDown = !1), (this._PreviousDirection = 'Right')), (this._LeftTouchID = '' + a.touchPointID), this._LeftTouchList.push(a.touchPointID), this._LeftTouchDirections.push(this._PreviousDirection), h.engine.getGameAttribute('Direction Hint') || (this._TouchX = Math.max( this._LeftTouchMargin, (a.stageX - h.screenOffsetX) / (h.screenScaleX * h.SCALE) )))); }, _event_Jump: function (a) { var b = this; if ( this.wrapper.enabled && !this._Dead && !this._Exiting && !this._RideEject && ((this._LastTouchID = '' + a.touchPointID), this._FirstTouch && (this._FirstTouch = !1), (this._HasEntered || this._EntranceTween) && !c.engine.isPaused() && (a.stageX - h.screenOffsetX) / (h.screenScaleX * h.SCALE) >= c.getScreenWidth() / 2 && (56 < (a.stageY - h.screenOffsetY) / (h.screenScaleY * h.SCALE) || (a.stageX - h.screenOffsetX) / (h.screenScaleX * h.SCALE) < c.getScreenWidth() - 56)) ) if (((this._JumpTouchID = '' + a.touchPointID), this._InCannon)) this._NoShoot || this.actor.say('Dude Logic', '_customEvent_shootCannon'); else if (!h.engine.getGameAttribute('Possum Mode') || this._Riding) 0 < this._JumpAmnesty || this._OnPlatform || this._OnGround || this._InQuicksand || this._Climbing ? (this.actor.setYVelocity(Math.min(this.actor.getYVelocity(), -this._JumpSpeed)), (this._JumpAmnesty = 0), (this._JumpHang = 6), (this._Jumping = !0), (this._OnPlatform = !1), (this._JumpTouchTimer = 0), this._InQuicksand && (c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this._QuicksandY - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Dirt'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this._QuicksandY - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, 0, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this._QuicksandY - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, 0, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt'), (this._QuicksandImmune = !0), c.runLater( 30, function (a) { b._QuicksandImmune = !1; }, this.actor )), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(109)), this._Climbing && this._CanReleaseClimb && ((this._Climbing = !1), (this._ClimbDrop = !0))) : !this._CanDoubleJump || this._SensorOnGround || this._InQuicksand ? (this._JumpTouchTimer = 16) : ((this._ClimbDrop = this._CanDoubleJump = !1), this.actor.getYVelocity() < -this._JumpSpeed && (this._DontSlowJumpRelease = !0), this.actor.setYVelocity(Math.min(this.actor.getYVelocity(), -this._JumpSpeed)), (this._JumpAmnesty = 0), (this._JumpHang = 6), (this._Jumping = !0), (this._ClimbDrop = !1), (this._JumpTouchTimer = 0), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, 0, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, 0, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(120))); }, _event_TouchDragged: function (a) { if (this.wrapper.enabled) { if (W.contains(this._LeftTouchList, a.touchPointID)) if ( (a.stageX - h.screenOffsetX) / (h.screenScaleX * h.SCALE) < this._TouchX - this._TouchDragThreshold ) for (var b = 0, d = this._LeftTouchList.length; b < d; ) { var e = b++; this._LeftTouchList[e] == a.touchPointID && (this._LeftTouchDirections[e] = 'Left'); } else if ( (a.stageX - h.screenOffsetX) / (h.screenScaleX * h.SCALE) > this._TouchX + this._TouchDragThreshold ) for (b = 0, d = this._LeftTouchList.length; b < d; ) (e = b++), this._LeftTouchList[e] == a.touchPointID && (this._LeftTouchDirections[e] = 'Right'); !( a.touchPointID == this._LeftTouchList[this._LeftTouchList.length - 1] || ('' + a.touchPointID == this._LastTouchID && (a.stageX - h.screenOffsetX) / (h.screenScaleX * h.SCALE) < c.getScreenWidth() / 2 - 16) ) || this._Dead || this._Exiting || c.engine.isPaused() || (W.contains(this._LeftTouchList, a.touchPointID) || this._LeftTouchList.push(a.touchPointID), this._HasEntered && (a.stageX - h.screenOffsetX) / (h.screenScaleX * h.SCALE) < c.getScreenWidth() / 2 && (h.engine.getGameAttribute('Direction Hint') || ((a.stageX - h.screenOffsetX) / (h.screenScaleX * h.SCALE) > this._TouchX + 32 ? (this._TouchX = Math.max( this._LeftTouchMargin, (a.stageX - h.screenOffsetX) / (h.screenScaleX * h.SCALE) )) : (a.stageX - h.screenOffsetX) / (h.screenScaleX * h.SCALE) < this._TouchX - 32 && (this._TouchX = Math.max( this._LeftTouchMargin, (a.stageX - h.screenOffsetX) / (h.screenScaleX * h.SCALE) ))), !this._LeftTouchIsDown && (a.stageX - h.screenOffsetX) / (h.screenScaleX * h.SCALE) < this._TouchX - this._TouchDragThreshold && ((this._LeftTouchIsDown = !0), (this._RightTouchIsDown = !1), (this._PreviousDirection = 'Left'), (b = this._LeftTouchID), c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b) || (this._LeftTouchID = this._LastTouchID), (this._ChangedDirection = this._ChangedDirection ? !1 : !0)), !this._RightTouchIsDown && (a.stageX - h.screenOffsetX) / (h.screenScaleX * h.SCALE) > this._TouchX + this._TouchDragThreshold && ((this._RightTouchIsDown = !0), (this._LeftTouchIsDown = !1), (this._PreviousDirection = 'Right'), (b = this._LeftTouchID), c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b) || (this._LeftTouchID = this._LastTouchID), (this._ChangedDirection = this._ChangedDirection ? !1 : !0)))); } }, _event_TouchReleased: function (a) { if (this.wrapper.enabled) { if (W.contains(this._LeftTouchList, a.touchPointID)) { for (var b = 0, d = this._LeftTouchList.length; b < d; ) { var e = b++; this._LeftTouchList[e] == a.touchPointID && (this._LeftTouchList.splice(e, 1), this._LeftTouchDirections.splice(e, 1)); 0 == this._LeftTouchList.length ? (this._RightTouchIsDown = this._LeftTouchIsDown = !1) : 'Left' == this._LeftTouchDirections[this._LeftTouchList.length - 1] ? ((this._LeftTouchIsDown = !0), (this._RightTouchIsDown = !1)) : 'Right' == this._LeftTouchDirections[this._LeftTouchList.length - 1] && ((this._RightTouchIsDown = !0), (this._LeftTouchIsDown = !1)); } (a.stageX - h.screenOffsetX) / (h.screenScaleX * h.SCALE) < c.getScreenWidth() / 2 && (this._ChangedDirection && ((this._ChangedDirection = !1), (('Left' == this._PreviousDirection && (a.stageX - h.screenOffsetX) / (h.screenScaleX * h.SCALE) < this._TouchX) || ('Right' == this._PreviousDirection && (a.stageX - h.screenOffsetX) / (h.screenScaleX * h.SCALE) > this._TouchX)) && !h.engine.getGameAttribute('Direction Hint') && (this._TouchX = Math.max( (a.stageX - h.screenOffsetX) / (h.screenScaleX * h.SCALE), this._LeftTouchMargin ))), (this._LeftTouchID = c.getDefaultValue(this._LeftTouchID))); } b = this._JumpTouchID; (!c.isPrimitive(b) && ('string' == typeof b ? '' == w.__cast(b, String) : null == b)) || this._JumpTouchID != '' + a.touchPointID || this._Springing || this._InCannon || this._Cannonball || (!this._DontSlowJumpRelease && -20 > this.actor.getYVelocity() && this.actor.getYVelocity() >= -this._JumpSpeed && this.actor.setYVelocity(-20), (this._DontSlowJumpRelease = !1), (this._JumpTouchID = c.getDefaultValue(this._JumpTouchID))); } }, _customEvent_ExitBurg: function () { var a = this; this._Baby.setAnimation('Idle Right'); c.runLater( 300, function (b) { h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(109)); a._Tween = !0; a.actor.setXVelocity(0); a.actor.setYVelocity(0); a._Baby.moveToTop(); a.actor.moveTo( a._Baby.getXCenter() - a.actor.getWidth() / 2, a._Baby.getY() - 6, 0.4, v.quadInOut ); b = 0; for (var d = c.getActorsOfType(c.getActorType(1126)); b < d.length; ) { var e = d[b]; ++b; if ( null != e && !e.dead && !e.recycled && ((a._ExitburgWallX = e.getX()), 0 == e.physicsMode) ) for (e = e.getBody().getFixtureList(); null != e; ) e.getBody().DestroyFixture(e), (e = e.getNext()); } c.runLater( 600, function (b) { a._Tween = !1; a.actor.setAnimation('Ride'); b = a._PossumSprite; (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && a._PossumSprite.setAnimation('Ride'); a._OnGround = !0; a._ExitBurg = !0; a.actor.setXCenter(a._Baby.getXCenter()); a.actor.setY(a._Baby.getY() - 6); c.runLater( 1e3, function (b) { a._Baby.setAnimation('Right'); a.actor.setXVelocity(16); }, a.actor ); }, a.actor ); }, this.actor ); }, _customEvent_shootCannon: function () { var a = this, b = this._CurrentCannon; (!c.isPrimitive(b) && ('string' == typeof b ? '' == w.__cast(b, String) : null == b)) || this._LeavingCannon || ((this._LeavingCannon = !0), this._CurrentCannon.growTo(1.3, 0.7, 0.3, v.quadInOut), this._CurrentCannon.setAngularVelocity(0), c.runLater( 200, function (b) { h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(809)); c.setValueForScene('Stage Logic', '_RumbleName', 'Balloon'); c.sayToScene('Stage Logic', '_customEvent_rumble'); a._BigSpring = !0; a._CurrentCannon.say('Barrel Cannon Logic', '_customEvent_Reset'); c.startShakingScreen(0.013999999999999999, 0.1); a._CannonballTimer = 18; a._CanDoubleJump = !0; a._Cannonball = !0; a._InCannon = !1; a._FollowCannon = !1; a.actor.setXVelocity(0); a.actor.setYVelocity(0); a.actor.applyImpulseInDirection( 57.29577951308402 * a._CurrentCannon.getAngle() - 90, 86 ); c.runLater( 100, function (b) { a._CurrentCannon.growTo(1, 1, 0.1, v.quadInOut); if (a._CurrentCannon.getValue('Barrel Cannon Logic', '_FlipOnEnter')) { b = a._CurrentCannon; var d = a._CurrentCannon.getValue('Barrel Cannon Logic', '_FlipDistance'); d = -(null == d ? 0 : 'number' == typeof d ? w.__cast(d, ob) : 'number' == typeof d && (d | 0) === d ? w.__cast(d, nb) : 'boolean' == typeof d ? w.__cast(d, jb) ? 1 : 0 : 'string' == typeof d ? parseFloat(d) : parseFloat(z.string(d))); b.spinBy( null == d ? 0 : 'number' == typeof d ? w.__cast(d, ob) : 'number' == typeof d && (d | 0) === d ? w.__cast(d, nb) : 'boolean' == typeof d ? w.__cast(d, jb) ? 1 : 0 : 'string' == typeof d ? parseFloat(d) : parseFloat(z.string(d)), 0.4, v.quadInOut ); } a._CurrentCannon = c.getDefaultValue(a._CurrentCannon); a._Gravity = !0; a._CannonAboutToShoot = !1; d = a._CurrentCannonSensor; if ( c.isPrimitive(d) || ('string' == typeof d ? '' != w.__cast(d, String) : null != d) ) a._CurrentCannonSensor.setValue('Cannon Sensor Logic', '_Occupied', !1), (a._CurrentCannonSensor = c.getDefaultValue(a._CurrentCannonSensor)); }, a.actor ); }, this.actor )); }, _customEvent_Enter: function () { var a = this; c.stopAllSounds(); var b = this._Arrow; if (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) c.recycleActor(this._Arrow), c.runLater( 200, function (a) { h.engine.getGameAttribute('Timer Mode') && c.sayToScene('Stage Logic', '_customEvent_timerStart'); }, this.actor ), (this._EntranceTween = this._FirstTouch = !0), this.actor.setAnimation('Emerge'), this.actor.moveBy(0, -64, 0.3, v.backOut), (b = this._Arrow), (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && c.recycleActor(this._Arrow), (b = this._ZButtonIndicator), (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && c.recycleActor(this._ZButtonIndicator), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt'), c.setValueForScene('Stage Logic', '_RumbleName', 'Emerge'), c.sayToScene('Stage Logic', '_customEvent_rumble'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(119)), h.engine.getGameAttribute('Music Disabled') && c.setVolumeForChannel(0, 16), h.engine.getGameAttribute('Sound Disabled') && c.setVolumeForChannel(0, 15), c.runLater( 310, function (b) { a._CanDoubleJump = !0; 'Office' == h.engine.getGameAttribute('Stage Type') ? (c.loopSoundOnChannel(c.getSound(721), 15), c.loopSoundOnChannel(c.getSound(718), 16)) : 'Meadow' == h.engine.getGameAttribute('Stage Type') ? (c.loopSoundOnChannel(c.getSound(730), 16), c.loopSoundOnChannel(c.getSound(731), 15)) : 'Swamp' == h.engine.getGameAttribute('Stage Type') ? (c.loopSoundOnChannel(c.getSound(735), 16), c.loopSoundOnChannel(c.getSound(736), 15)) : 'Temple' == h.engine.getGameAttribute('Stage Type') ? (c.loopSoundOnChannel(c.getSound(746), 16), c.loopSoundOnChannel(c.getSound(745), 15)) : 'Space' == h.engine.getGameAttribute('Stage Type') && (c.loopSoundOnChannel(c.getSound(747), 16), c.loopSoundOnChannel(c.getSound(748), 15)); h.engine.getGameAttribute('Sound Disabled') ? c.setVolumeForChannel(0, 15) : h.engine.getGameAttribute('Sound Disabled') || c.setVolumeForChannel(1, 15); h.engine.getGameAttribute('Music Disabled') ? c.setVolumeForChannel(0, 16) : h.engine.getGameAttribute('Music Disabled') || c.setVolumeForChannel(1, 16); a._HasEntered = !0; if (!h.engine.getGameAttribute('Possum Mode')) { b = 0; for (var d = c.getActorsOfType(c.getActorType(550)); b < d.length; ) { var f = d[b]; ++b; null == f || f.dead || f.recycled || f.setAnimation('Turn On'); } c.runLater( 200, function (a) { a = 0; for (var b = c.getActorsOfType(c.getActorType(345)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || d.setAnimation('Normal'); } a = 0; for (b = c.getActorsOfType(c.getActorType(548)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.setAnimation('Normal'); a = 0; for (b = c.getActorsOfType(c.getActorType(347)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.setAnimation('Normal'); }, a.actor ); } }, this.actor ); }, _customEvent_Exit: function () { var a = this; if (!this._ExitGo) { this._ExitGo = !0; this._MoveToBabyPosition = this._OnGround = !1; h.engine.getGameAttribute('Timer Mode') && c.sayToScene('Stage Logic', '_customEvent_timerHide'); var b = this._Baby; if ( c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b) ) { 'Level 11' != c.getCurrentSceneName() && c.getCurrentSceneName(); this._Baby.getType() == c.getActorType(841) && (c.createRecycledActor( c.getActorType(1136), this.actor.getX(), this.actor.getY(), 0 ), (this._Baby = c.getLastCreatedActor())); var d = 0; for (b = c.getActorsOfType(c.getActorType(234)); d < b.length; ) { var e = b[d]; ++d; null == e || e.dead || e.recycled || c.recycleActor(e); } c.stopAllSounds(); if (h.engine.getGameAttribute('Star Collected') || this._StarCollected) (h.engine.gameAttributes.h['Star Collected'] = !1), c.sayToScene('Stage Logic', '_customEvent_starGet'); b = c.getCurrentSceneName().split(' ')[1]; (null == b ? 0 : 'number' == typeof b ? w.__cast(b, ob) : 'number' == typeof b && (b | 0) === b ? w.__cast(b, nb) : 'boolean' == typeof b ? w.__cast(b, jb) ? 1 : 0 : 'string' == typeof b ? parseFloat(b) : parseFloat(z.string(b))) > h.engine.getGameAttribute('Highest Level') && ((d = h.engine), (b = c.getCurrentSceneName().split(' ')[1]), (b = null == b ? 0 : 'number' == typeof b ? w.__cast(b, ob) : 'number' == typeof b && (b | 0) === b ? w.__cast(b, nb) : 'boolean' == typeof b ? w.__cast(b, jb) ? 1 : 0 : 'string' == typeof b ? parseFloat(b) : parseFloat(z.string(b))), (d.gameAttributes.h['Highest Level'] = b), c.saveGame('mySave', function (a) {})); this._ScreenX = this.actor.getScreenX(); this._ScreenY = this.actor.getScreenY(); this.actor.anchorToScreen(); this.actor.setX(this._ScreenX); this.actor.setY(this._ScreenY); b = this._PossumSprite; if ( c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b) ) this._PossumSprite.anchorToScreen(), this._PossumSprite.moveToTop(), this._PossumSprite.bringToFront(), this._PossumSprite.setX(this._ScreenX), this._PossumSprite.setY(this._ScreenY); this._ScreenX = this._Baby.getScreenX(); this._ScreenY = this._Baby.getScreenY(); this._Baby.anchorToScreen(); d = 0; for (b = c.getActorsOfType(c.getActorType(1155)); d < b.length; ) (e = b[d]), ++d, null == e || e.dead || e.recycled || (e.anchorToScreen(), e.moveToTop(), e.bringToFront()); this._Baby.setX(this._ScreenX); this._Baby.setY(this._ScreenY); this._ExitOriginY = this.actor.getY(); this._BabyExitOriginY = this._Baby.getY(); this._BabyType = this._Baby.getAnimation(); b = this._Baby.getValue('Baby Logic', '_BabyTypeNumber'); this._BabyTypeNumber = null == b ? 0 : 'number' == typeof b ? w.__cast(b, ob) : 'number' == typeof b && (b | 0) === b ? w.__cast(b, nb) : 'boolean' == typeof b ? w.__cast(b, jb) ? 1 : 0 : 'string' == typeof b ? parseFloat(b) : parseFloat(z.string(b)); this._Baby.getX() > this.actor.getX() ? (c.runLater( 500, function (b) { c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud'); c.sayToScene('Stage Logic', '_customEvent_rumble'); a.actor.setAnimation('Jump Right'); b = a.actor; if (0 == b.physicsMode) for (b = b.getBody().getFixtureList(); null != b; ) b.setSensor(!0), (b = b.getNext()); a._Baby.setAnimation('' + a._BabyTypeNumber + ' Left Jump'); a._Baby.setCurrentFrame(0); a.actor.setYVelocity(-a._JumpSpeed); a._JumpAmnesty = 0; a._JumpHang = 6; a._Jumping = !0; a._OnPlatform = !1; a._JumpTouchTimer = 0; h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(109)); a.actor.setXVelocity(5); a._Baby.setXVelocity(-5); a._Baby.setYVelocity(-a._JumpSpeed); }, this.actor ), c.runLater( 1e3, function (b) { c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud'); c.sayToScene('Stage Logic', '_customEvent_rumble'); a._Baby.setAnimation('' + a._BabyTypeNumber + ' Left Jump'); a._Baby.setCurrentFrame(0); a.actor.setAnimation('Flip Right'); b = a.actor; if (0 == b.physicsMode) for (b = b.getBody().getFixtureList(); null != b; ) b.setSensor(!0), (b = b.getNext()); a.actor.setYVelocity(-a._JumpSpeed); a._JumpAmnesty = 0; a._JumpHang = 6; a._Jumping = !0; a._OnPlatform = !1; a._JumpTouchTimer = 0; h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(109)); a.actor.setXVelocity(-5); a._Baby.setXVelocity(5); a._Baby.setYVelocity(-a._JumpSpeed); }, this.actor ), c.runLater( 1500, function (b) { a.actor.setAnimation('Jump Right'); c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud'); c.sayToScene('Stage Logic', '_customEvent_rumble'); b = a.actor; if (0 == b.physicsMode) for (b = b.getBody().getFixtureList(); null != b; ) b.setSensor(!0), (b = b.getNext()); a._Baby.setAnimation('' + a._BabyTypeNumber + ' Left Jump'); a._Baby.setCurrentFrame(0); a.actor.setYVelocity(-a._JumpSpeed); a._JumpAmnesty = 0; a._JumpHang = 6; a._Jumping = !0; a._OnPlatform = !1; a._JumpTouchTimer = 0; h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(109)); a.actor.setXVelocity(5); a._Baby.setXVelocity(-5); a._Baby.setYVelocity(-a._JumpSpeed); }, this.actor )) : (c.runLater( 500, function (b) { a.actor.setAnimation('Jump Left'); c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud'); c.sayToScene('Stage Logic', '_customEvent_rumble'); b = a.actor; if (0 == b.physicsMode) for (b = b.getBody().getFixtureList(); null != b; ) b.setSensor(!0), (b = b.getNext()); a._Baby.setAnimation('' + a._BabyTypeNumber + ' Right Jump'); a._Baby.setCurrentFrame(0); a.actor.setYVelocity(-a._JumpSpeed); a._JumpAmnesty = 0; a._JumpHang = 6; a._Jumping = !0; a._OnPlatform = !1; a._JumpTouchTimer = 0; h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(109)); a.actor.setXVelocity(-5); a._Baby.setXVelocity(5); a._Baby.setYVelocity(-a._JumpSpeed); }, this.actor ), c.runLater( 1e3, function (b) { a.actor.setAnimation('Flip Left'); c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud'); c.sayToScene('Stage Logic', '_customEvent_rumble'); b = a.actor; if (0 == b.physicsMode) for (b = b.getBody().getFixtureList(); null != b; ) b.setSensor(!0), (b = b.getNext()); a.actor.setYVelocity(-a._JumpSpeed); a._Baby.setAnimation('' + a._BabyTypeNumber + ' Right Jump'); a._Baby.setCurrentFrame(0); a._JumpAmnesty = 0; a._JumpHang = 6; a._Jumping = !0; a._OnPlatform = !1; a._JumpTouchTimer = 0; h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(109)); a.actor.setXVelocity(5); a._Baby.setXVelocity(-5); a._Baby.setYVelocity(-a._JumpSpeed); }, this.actor ), c.runLater( 1500, function (b) { a.actor.setAnimation('Jump Left'); c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud'); c.sayToScene('Stage Logic', '_customEvent_rumble'); b = a.actor; if (0 == b.physicsMode) for (b = b.getBody().getFixtureList(); null != b; ) b.setSensor(!0), (b = b.getNext()); a.actor.setYVelocity(-a._JumpSpeed); a._Baby.setAnimation('' + a._BabyTypeNumber + ' Right Jump'); a._Baby.setCurrentFrame(0); a._JumpAmnesty = 0; a._JumpHang = 6; a._Jumping = !0; a._OnPlatform = !1; a._JumpTouchTimer = 0; h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(109)); a.actor.setXVelocity(-5); a._Baby.setXVelocity(5); a._Baby.setYVelocity(-a._JumpSpeed); }, this.actor )); c.runLater( 2e3, function (b) { if ('Idle Left' == a.actor.getAnimation()) { if ((a.actor.setAnimation('Ground Left'), (b = a.actor), 0 == b.physicsMode)) for (b = b.getBody().getFixtureList(); null != b; ) b.setSensor(!0), (b = b.getNext()); } else if ( (a.actor.setAnimation('Ground Right'), (b = a.actor), 0 == b.physicsMode) ) for (b = b.getBody().getFixtureList(); null != b; ) b.setSensor(!0), (b = b.getNext()); a._Baby.setAnimation(a._BabyType + ' Crouch'); }, this.actor ); c.runLater( 2500, function (b) { a.actor.setAnimation('Jump Right'); b = a.actor; if (0 == b.physicsMode) for (b = b.getBody().getFixtureList(); null != b; ) b.setSensor(!0), (b = b.getNext()); a._Baby.setAnimation(a._BabyType + ' Jump'); a._FlyOffScreen = !0; h.engine.getGameAttribute('Sound Disabled') || (h.engine.getGameAttribute('Possum Mode') ? c.playSound(c.getSound(1090)) : c.playSound(c.getSound(225)), c.setValueForScene('Stage Logic', '_RumbleName', 'Exit'), c.sayToScene('Stage Logic', '_customEvent_rumble')); a.actor.moveBy(0, -c.getScreenHeight(), 0.5, v.linear); a._Baby.moveBy(0, -c.getScreenHeight(), 0.5, v.linear); }, this.actor ); c.runLater( 1e3, function (a) { c.sayToScene('Transitions', '_customEvent_transitionOut'); }, this.actor ); c.runLater( 4400, function (a) { h.engine.gameAttributes.h['Checkpoint Passed'] = !1; hb.commercialBreak(function () { if ('Level' == c.getCurrentSceneName().split(' ')[0]) { var a = c.getCurrentSceneName().split(' ')[1]; if ( 10 != (null == a ? 0 : 'number' == typeof a ? w.__cast(a, ob) : 'number' == typeof a && (a | 0) === a ? w.__cast(a, nb) : 'boolean' == typeof a ? w.__cast(a, jb) ? 1 : 0 : 'string' == typeof a ? parseFloat(a) : parseFloat(z.string(a))) || h.engine.getGameAttribute('Possum Mode') ) (a = c.getCurrentSceneName().split(' ')[1]), 20 != (null == a ? 0 : 'number' == typeof a ? w.__cast(a, ob) : 'number' == typeof a && (a | 0) === a ? w.__cast(a, nb) : 'boolean' == typeof a ? w.__cast(a, jb) ? 1 : 0 : 'string' == typeof a ? parseFloat(a) : parseFloat(z.string(a))) || h.engine.getGameAttribute('Possum Mode') ? ((a = c.getCurrentSceneName().split(' ')[1]), 30 != (null == a ? 0 : 'number' == typeof a ? w.__cast(a, ob) : 'number' == typeof a && (a | 0) === a ? w.__cast(a, nb) : 'boolean' == typeof a ? w.__cast(a, jb) ? 1 : 0 : 'string' == typeof a ? parseFloat(a) : parseFloat(z.string(a))) || h.engine.getGameAttribute('Possum Mode') ? ((a = c.getCurrentSceneName().split(' ')[1]), 40 != (null == a ? 0 : 'number' == typeof a ? w.__cast(a, ob) : 'number' == typeof a && (a | 0) === a ? w.__cast(a, nb) : 'boolean' == typeof a ? w.__cast(a, jb) ? 1 : 0 : 'string' == typeof a ? parseFloat(a) : parseFloat(z.string(a))) || h.engine.getGameAttribute('Possum Mode') ? ((a = c.getCurrentSceneName().split(' ')[1]), 50 == (null == a ? 0 : 'number' == typeof a ? w.__cast(a, ob) : 'number' == typeof a && (a | 0) === a ? w.__cast(a, nb) : 'boolean' == typeof a ? w.__cast(a, jb) ? 1 : 0 : 'string' == typeof a ? parseFloat(a) : parseFloat(z.string(a))) ? (b = ra.get().scenes.h[132].getID()) : ((b = h.engine), (a = Math.min( h.engine.getGameAttribute('Ad Count') + 1, 10 )), (b.gameAttributes.h['Ad Count'] = a), (b = ra.get().scenes), (a = c.getCurrentSceneName().split(' ')[1]), (a = c.getIDForScene( 'Level ' + ((null == a ? 0 : 'number' == typeof a ? w.__cast(a, ob) : 'number' == typeof a && (a | 0) === a ? w.__cast(a, nb) : 'boolean' == typeof a ? w.__cast(a, jb) ? 1 : 0 : 'string' == typeof a ? parseFloat(a) : parseFloat(z.string(a))) + 1) )), (b = b.h[a].getID()))) : (b = ra.get().scenes.h[131].getID())) : (b = ra.get().scenes.h[129].getID())) : (b = ra.get().scenes.h[128].getID()), (e = d = a = 0), null == e && (e = 0), null == d && (d = 0), null == a && (a = 0), (f = c.createFadeOut(0.3, (a << 16) | (d << 8) | e)); else { var b = ra.get().scenes.h[127].getID(), d = (a = 0), e = 0; null == e && (e = 0); null == d && (d = 0); null == a && (a = 0); var f = c.createFadeOut(0.3, (a << 16) | (d << 8) | e); } e = d = a = 0; null == e && (e = 0); null == d && (d = 0); null == a && (a = 0); c.switchScene(b, f, c.createFadeIn(0.3, (a << 16) | (d << 8) | e)); } }); }, this.actor ); } } }, _customEvent_setCameraBounds: function () { this._BossTalk = !1; 0 == h.engine.getGameAttribute('Camera Boundary Number') ? (this._CameraBoundaryType = c.getActorType(455)) : 1 == h.engine.getGameAttribute('Camera Boundary Number') ? (this._CameraBoundaryType = c.getActorType(18)) : 2 == h.engine.getGameAttribute('Camera Boundary Number') ? (this._CameraBoundaryType = c.getActorType(80)) : 3 == h.engine.getGameAttribute('Camera Boundary Number') && (this._CameraBoundaryType = c.getActorType(82)); this._TopBoundary = c.getDefaultValue(this._TopBoundary); this._BottomBoundary = c.getDefaultValue(this._BottomBoundary); this._RightBoundary = c.getDefaultValue(this._RightBoundary); this._LeftBoundary = c.getDefaultValue(this._LeftBoundary); this._HasEntered && ((this._CameraTransitionRight = this._CameraTransitionLeft = this._CameraTransitionBottom = this._CameraTransitionTop = !0), (this._CameraBoundariesFound = !1)); }, _customEvent_Die: function () { var a = this; c.stopAllSounds(); hb.gameplayStop(); if (!this._Dead && !this._Hurt && !this._Exiting) { this._Climbing && (this._Climbing = !1); var b = this._DirectionHint; (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && this._DirectionHint.disableActorDrawing(); this._Riding ? this.actor.setAnimation('Ride Dead') : this.actor.setAnimation('Dead'); this._Hurt = !0; this.actor.bringToFront(); this._Riding ? ((b = this._Burgurgular), (b = c.isPrimitive(b) ? !0 : 'string' == typeof b ? '' != w.__cast(b, String) : null != b)) : (b = !1); b && ((this._Riding = !1), c.createRecycledActor( c.getActorType(845), this._Burgurgular.getX(), this._Burgurgular.getY(), 0 ), c.recycleActor(this._Burgurgular), (this._Burgurgular = c.getDefaultValue(this._Burgurgular))); h.engine.gameAttributes.h.Dead = !0; h.engine.getGameAttribute('Timer Mode') && c.sayToScene('Stage Logic', '_customEvent_timerHide'); c.createRecycledActor(c.getActorType(14), c.getScreenX() - 5, c.getScreenY() - 5, 0); b = this._PossumSprite; (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && this._PossumSprite.bringToFront(); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(134)); c.startShakingScreen(0.01, 0.1); c.createRecycledActor( c.getActorType(103), this.actor.getXCenter(), this.actor.getYCenter(), 0 ); this.actor.setYVelocity(-30); this._LeftWasHit ? this.actor.setXVelocity(16) : this._RightWasHit && this.actor.setXVelocity(-16); c.runLater( 100, function (b) { a._Dead = !0; c.runLater( 800, function (a) { c.setValueForScene('Transitions', '_TransitionType', 1); c.sayToScene('Transitions', '_customEvent_transitionOut'); }, a.actor ); c.runLater( 1400, function (a) { a = h.engine; var b = Math.min(h.engine.getGameAttribute('Ad Count') + 1, 10); a.gameAttributes.h['Ad Count'] = b; hb.commercialBreak(function () { var a = 0, b = 0, d = 0; null == d && (d = 0); null == b && (b = 0); null == a && (a = 0); var e = c.createFadeOut(0.3, (a << 16) | (b << 8) | d); d = b = a = 0; null == d && (d = 0); null == b && (b = 0); null == a && (a = 0); c.reloadCurrentScene(e, c.createFadeIn(0.3, (a << 16) | (b << 8) | d)); }); }, a.actor ); }, this.actor ); } }, _customEvent_clearTouches: function () { this._RightTouchIsDown = this._LeftTouchIsDown = !1; }, _customEvent_rideEject: function () { this._Riding && ((this._RideEject = !1), (this._RideEnded = !0), (this._Riding = !1), (this._BigSpring = !0), this.actor.setXCenter(this._Burgurgular.getXCenter()), this.actor.setYVelocity(-72), this.actor.setXVelocity(33)); }, init: function () { var a = this; E.setJoySensitivity(0.5); this._Gravity = !0; this._LeftTouchList = []; this._LeftTouchDirections = []; h.engine.gameAttributes.h['Direction Hint'] = !1; h.engine.gameAttributes.h.Dead = !1; this.actor.makeAlwaysSimulate(); this.actor.moveToTop(); h.engine.getGameAttribute('Possum Mode') && (c.createRecycledActorOnLayer( c.getActorType(1085), this.actor.getX(), this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ), (this._PossumSprite = c.getLastCreatedActor()), this.actor.disableActorDrawing()); h.engine.getGameAttribute('MOBILE MODE') ? ((h.engine.gameAttributes.h['Direction Hint'] = !0), c.createRecycledActor( c.getActorType(533), 2 * Math.round((0.1428 * c.getScreenWidth()) / 2) - 36, c.getScreenHeight() - 98, 0 ), (this._GoButton = c.getLastCreatedActor())) : ((h.engine.gameAttributes.h['Direction Hint'] = !1), c.createRecycledActor(c.getActorType(1189), 24, c.getScreenHeight() - 66, 0), (this._ZButtonIndicator = c.getLastCreatedActor()), c.createRecycledActor( c.getActorType(96), this.actor.getXCenter() - 16, this.actor.getY() - 64, 0 ), (this._Arrow = c.getLastCreatedActor())); this._JumpSpeed = 46; this._RunSpeed = 16; this._GravitySpeed = 48; this._LeftTouchMargin = 28; this._FacingRight = !0; this._FowlstJumpXSpeed = 26; this._FowlstJumpYSpeed = -50; this._CameraX = this.actor.getXCenter(); this._CameraY = this.actor.getYCenter(); c.createRecycledActor( c.getActorType(10), this.actor.getXCenter(), this.actor.getYCenter(), 0 ); this._CameraTarget = c.getLastCreatedActor(); this._CameraTarget.makeAlwaysSimulate(); this._CameraTarget.disableActorDrawing(); c.engine.moveCamera(this._CameraTarget.getX(), this._CameraTarget.getY()); this.actor.say('Dude Logic', '_customEvent_setCameraBounds'); c.runLater( 500, function (b) { a._CanStart = !0; c.sayToScene('Stage Logic', '_customEvent_createPauseButton'); }, this.actor ); c.createRecycledActor(c.getActorType(150), 0, 0, 0); this._TouchXSensor = c.getLastCreatedActor(); c.getLastCreatedActor().anchorToScreen(); c.getLastCreatedActor().disableActorDrawing(); c.createRecycledActor( c.getActorType(637), this.actor.getXCenter() - 32, this.actor.getY() + this.actor.getHeight(), 0 ); this._GroundSensor = c.getLastCreatedActor(); c.getLastCreatedActor().makeAlwaysSimulate(); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener( c.engine.whenKeyPressedEvents.getOrCreateEvent('action1'), m(this, this._event_KeyboardPressed) ); this.addListener( c.engine.whenKeyPressedEvents.getOrCreateEvent('action1'), m(this, this._event_KeyboardReleased) ); this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsPlatform)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsQuicksand)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsClimbing)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsHazard)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsBaby)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsExitBurg)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsHat)); this.addListener(this.actor.whenUpdated, m(this, this._event_MoveToBabyPos)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsKey)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsCrate)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsBigCrate)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsHugeCrate)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsCameraSensor)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsCannonSensor)); this.addListener(this.actor.whenUpdated, m(this, this._event_Camera)); this.addListener(this.actor.whenUpdated, m(this, this._event_Movement)); c.runPeriodically(500, m(this, this._event_Sweat), this.actor); c.runPeriodically(40, m(this, this._event_ExitStars), this.actor); c.runPeriodically(200, m(this, this._event_Steps), this.actor); c.runPeriodically(30, m(this, this._event_CannonSmoke), this.actor); this.addListener(this.actor.whenUpdated, m(this, this._event_Animations)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsBurgurgular)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsRideEnd)); this.addListener(this._GroundSensor.whenCollided, m(this, this._event_SensorHitsTiles)); this.addListener( this._GroundSensor.whenCollided, m(this, this._event_SensorHitsPlatform) ); this.addListener(this.actor.whenUpdated, m(this, this._event_DirectionHint)); this.addListener(c.engine.whenMTStarted, m(this, this._event_TouchStartedCopy)); this.addListener(c.engine.whenMTStarted, m(this, this._event_Jump)); this.addListener(c.engine.whenMTDragged, m(this, this._event_TouchDragged)); this.addListener(c.engine.whenMTEnded, m(this, this._event_TouchReleased)); }, forwardMessage: function (a) {}, __class__: zw }); var Aw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h.Letter = '_Letter'; this._Letter = ''; this.nameMap.h.Float = '_Float'; this._Float = !1; this.nameMap.h['Origin Y'] = '_OriginY'; this._OriginY = 0; this.nameMap.h.Up = '_Up'; this._Up = !1; this.nameMap.h.White = '_White'; this._White = !1; }; k['scripts.Design_300_300_AreaClearLetterLogic'] = Aw; Aw.__name__ = 'scripts.Design_300_300_AreaClearLetterLogic'; Aw.__super__ = n; Aw.prototype = t(n.prototype, { _Letter: null, _Float: null, _OriginY: null, _Up: null, _White: null, _event_EveryNsecs: function (a) { this.wrapper.enabled && this._Float && (this._Up ? this.actor.getY() <= this._OriginY - 1 ? (this._Up = !1) : this.actor.setY(this.actor.getY() - 1) : this.actor.getY() >= this._OriginY + 1 ? (this._Up = !0) : this.actor.setY(this.actor.getY() + 1)); }, _event_Exit: function (a) { var b = this; this.wrapper.enabled && (this.actor.moveTo(this.actor.getX(), -32, 0.4, v.quadInOut), c.runLater( 500, function (a) { c.recycleActor(b.actor); }, this.actor )); }, _event_Drawing: function (a, b, d) { if ( this.wrapper.enabled && ((b = this._Letter), (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && !c.engine.isPaused()) ) { b = this._White ? c.getFont(1052) : c.getFont(1053); null != b && b != a.font && (a.font = b); var e = this._Letter; null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)); a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + 0 * a.scaleX), (d = a.y + 0 * a.scaleY)) : ((b = a.x + 0 * a.scaleX - h.cameraX), (d = a.y + 0 * a.scaleY - h.cameraY)) : ((b = a.x + 0 * a.scaleX), (d = a.y + 0 * a.scaleY)); a.mtx.identity(); a.mtx.translate(b, d); var f = null, g = a.font; g = e + ':' + g.ID + ':' + a.alpha + ':' + g.letterSpacing + ':' + h.SCALE; if (Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, g)) (e = ha.drawnStringCache.h[g]), (e.lifetime = 5), (f = e.img); else { var l = a.font.font.getTextWidth(e, a.font.letterSpacing, a.font.fontScale), k = (a.font.font.getFontHeight() * a.font.fontScale) | 0; 0 < l && 0 < k && ((f = new la(l, k, !0, 0)), a.font.font.renderToImg( f, e, 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (e = new sc()), (e.img = f), (e.lifetime = 5), (ha.drawnStringCache.h[g] = e), ha.drawnStringCacheKeys.push(g)); } null != f && (a.graphics.beginBitmapFill(f, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, d, f.width, f.height), a.graphics.endFill()); } }, init: function () { var a = this; this._OriginY = this.actor.getY(); this.actor.makeAlwaysSimulate(); this.actor.anchorToScreen(); c.runLater( 500, function (b) { a._Float = !0; }, this.actor ); c.runPeriodically(200, m(this, this._event_EveryNsecs), this.actor); c.runLater(4500, m(this, this._event_Exit), this.actor); this.addListener(this.actor.whenDrawing, m(this, this._event_Drawing)); }, forwardMessage: function (a) {}, __class__: Aw }); var Bw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h.Bottom = '_Bottom'; this._Bottom = 0; }; k['scripts.Design_333_333_CannotExitScene'] = Bw; Bw.__name__ = 'scripts.Design_333_333_CannotExitScene'; Bw.__super__ = n; Bw.prototype = t(n.prototype, { _Bottom: null, _event_Updated: function (a) { this.wrapper.enabled && (0 > this.actor.getX() && (this.actor.setX(0), this.actor.setXVelocity(0)), 0 > this.actor.getY() && (this.actor.setY(0), this.actor.setYVelocity(0)), this.actor.getX() + this.actor.getWidth() > c.getSceneWidth() && (this.actor.setX(c.getSceneWidth() - this.actor.getWidth()), this.actor.setXVelocity(0)), this.actor.getY() + this.actor.getHeight() > c.getSceneHeight() && (this.actor.setY(c.getSceneHeight() - this.actor.getHeight()), this.actor.setYVelocity(0))); }, init: function () { this.actor.makeAlwaysSimulate(); this.addListener(this.actor.whenUpdated, m(this, this._event_Updated)); }, forwardMessage: function (a) {}, __class__: Bw }); var Cw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; }; k['scripts.Design_338_338_CannotExitScreen'] = Cw; Cw.__name__ = 'scripts.Design_338_338_CannotExitScreen'; Cw.__super__ = n; Cw.prototype = t(n.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Cw }); var Dw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Block Col'] = '_BlockCol'; this._BlockCol = 0; this.nameMap.h['Block Row'] = '_BlockRow'; this._BlockRow = 0; this.nameMap.h['Row Count'] = '_RowCount'; this._RowCount = 0; this.nameMap.h.First = '_First'; this._First = !1; this.nameMap.h.Last = '_Last'; this._Last = !1; this.nameMap.h['Y Count'] = '_YCount'; this._YCount = 0; this.nameMap.h['Copy Actor Type'] = '_CopyActorType'; this.nameMap.h['Copy Actor X'] = '_CopyActorX'; this._CopyActorX = 0; this.nameMap.h['Copy Actor Y'] = '_CopyActorY'; this._CopyActorY = 0; this.nameMap.h['Actor To Copy'] = '_ActorToCopy'; this.nameMap.h['Actor Speed'] = '_ActorSpeed'; this._ActorSpeed = 0; this.nameMap.h['Actor Ease'] = '_ActorEase'; this._ActorEase = !1; this.nameMap.h['Actor PathString'] = '_ActorPathString'; this._ActorPathString = ''; this.nameMap.h['Actor Delay'] = '_ActorDelay'; this._ActorDelay = 0; this.nameMap.h['Actor FaceLeft'] = '_ActorFaceLeft'; this._ActorFaceLeft = !1; this.nameMap.h['Actor HasSpring'] = '_ActorHasSpring'; this._ActorHasSpring = !1; }; k['scripts.Design_345_345_EndlessNodeLogic'] = Dw; Dw.__name__ = 'scripts.Design_345_345_EndlessNodeLogic'; Dw.__super__ = n; Dw.prototype = t(n.prototype, { _BlockCol: null, _BlockRow: null, _RowCount: null, _First: null, _Last: null, _YCount: null, _CopyActorType: null, _CopyActorX: null, _CopyActorY: null, _ActorToCopy: null, _ActorSpeed: null, _ActorEase: null, _ActorPathString: null, _ActorDelay: null, _ActorFaceLeft: null, _ActorHasSpring: null, _customEvent_Go: function () { this._BlockCol = 1; 'Right' == this.actor.getAnimation() ? (this._First || (this._BlockCol = c.randomInt(2, 9)), (this._BlockRow = 0)) : 'Up' == this.actor.getAnimation() ? (this._BlockRow = 1) : 'Right Up' == this.actor.getAnimation() ? (this._BlockRow = 2) : 'Up Right' == this.actor.getAnimation() ? (this._BlockRow = 3) : 'Right Down' == this.actor.getAnimation() ? (this._BlockRow = 4) : 'Down Right' == this.actor.getAnimation() ? (this._BlockRow = 5) : 'Down' == this.actor.getAnimation() && (this._BlockRow = 6); for (var a = 0; 13 > a; ) { for (var b = a++, d = 0; 12 > d; ) { var e = d++; c.removeTileAt( (this.actor.getY() / 32 + this._RowCount) | 0, (this.actor.getX() / 32 + e) | 0, c.engine.getLayerById(0) ); c.tileExistsAt( (12 * this._BlockRow + this._RowCount) | 0, (12 * this._BlockCol + e) | 0, c.engine.getLayerById(0) ) && 46 != c.getTileIDAt( (12 * this._BlockRow + this._RowCount) | 0, (12 * this._BlockCol + e) | 0, c.engine.getLayerById(0) ) && c.setTileAt( (this.actor.getY() / 32 + this._RowCount) | 0, (this.actor.getX() / 32 + e) | 0, c.engine.getLayerById(0), 615, c.getTileIDAt( (12 * this._BlockRow + this._RowCount) | 0, (12 * this._BlockCol + e) | 0, c.engine.getLayerById(0) ) ); } this._RowCount = b; } a = 0; for (d = w.__cast(c.getActorGroup(4), dg).list; a < d.length; ) (b = d[a]), ++a, null != b && !b.dead && !b.recycled && b.getX() >= 384 * this._BlockCol && b.getX() <= 384 * (this._BlockCol + 1) + this.actor.getWidth() && b.getY() >= 384 * this._BlockRow && b.getY() <= 384 * (this._BlockRow + 1) + this.actor.getHeight() && ((this._ActorToCopy = b), (e = this._ActorToCopy.getValue('Set Path', '_Speed')), (this._ActorSpeed = null == e ? 0 : 'number' == typeof e ? w.__cast(e, ob) : 'number' == typeof e && (e | 0) === e ? w.__cast(e, nb) : 'boolean' == typeof e ? w.__cast(e, jb) ? 1 : 0 : 'string' == typeof e ? parseFloat(e) : parseFloat(z.string(e))), (this._ActorEase = this._ActorToCopy.getValue('Set Path', '_Ease')), (this._ActorPathString = '' + z.string(this._ActorToCopy.getValue('Set Path', '_PathString'))), (e = this._ActorToCopy.getValue('Set Path', '_Delay')), (this._ActorDelay = null == e ? 0 : 'number' == typeof e ? w.__cast(e, ob) : 'number' == typeof e && (e | 0) === e ? w.__cast(e, nb) : 'boolean' == typeof e ? w.__cast(e, jb) ? 1 : 0 : 'string' == typeof e ? parseFloat(e) : parseFloat(z.string(e))), b.hasBehavior('Set Path'), (this._ActorFaceLeft = this._ActorToCopy.getValue( 'Back And Forth Movement', '_FaceLeft' )), (e = this._ActorToCopy.getValue('Back And Forth Movement', '_Speed')), (this._ActorSpeed = null == e ? 0 : 'number' == typeof e ? w.__cast(e, ob) : 'number' == typeof e && (e | 0) === e ? w.__cast(e, nb) : 'boolean' == typeof e ? w.__cast(e, jb) ? 1 : 0 : 'string' == typeof e ? parseFloat(e) : parseFloat(z.string(e))), (this._ActorHasSpring = this._ActorToCopy.getValue( 'Back And Forth Movement', '_HasSpring' )), b.hasBehavior('Back And Forth Movement'), (this._CopyActorType = b.getType()), (this._CopyActorX = b.getX() - 384 * this._BlockCol), (this._CopyActorY = b.getY() - 384 * this._BlockRow), c.createRecycledActorOnLayer( this._CopyActorType, this.actor.getX() + this._CopyActorX, this.actor.getY() + this._CopyActorY, c.engine.getLayerById(3) ), c.getLastCreatedActor().setValue('Set Path', '_Speed', this._ActorSpeed), c.getLastCreatedActor().setValue('Set Path', '_Ease', this._ActorEase), c.getLastCreatedActor().setValue('Set Path', '_PathString', this._ActorPathString), c.getLastCreatedActor().setValue('Set Path', '_Delay', this._ActorDelay), c .getLastCreatedActor() .setValue('Back And Forth Movement', '_FaceLeft', this._ActorFaceLeft), c .getLastCreatedActor() .setValue('Back And Forth Movement', '_Speed', this._ActorSpeed), c .getLastCreatedActor() .setValue('Back And Forth Movement', '_HasSpring', this._ActorHasSpring)); a = 0; for (d = w.__cast(c.getActorGroup(1), dg).list; a < d.length; ) (b = d[a]), ++a, !( null == b || b.dead || b.recycled || (b.getType() != c.getActorType(60) && b.getType() != c.getActorType(16) && b.getType() != c.getActorType(341) && b.getType() != c.getActorType(343) && b.getType() != c.getActorType(58)) ) && b.getX() >= 384 * this._BlockCol && b.getX() <= 384 * (this._BlockCol + 1) + this.actor.getWidth() && b.getY() >= 384 * this._BlockRow && b.getY() <= 384 * (this._BlockRow + 1) + this.actor.getHeight() && ((this._CopyActorType = b.getType()), (this._CopyActorX = b.getX() - 384 * this._BlockCol), (this._CopyActorY = b.getY() - 384 * this._BlockRow), c.createRecycledActorOnLayer( this._CopyActorType, this.actor.getX() + this._CopyActorX, this.actor.getY() + this._CopyActorY, c.engine.getLayerById(3) )); a = 0; for (d = w.__cast(c.getActorGroup(2), dg).list; a < d.length; ) (b = d[a]), ++a, null != b && !b.dead && !b.recycled && b.getX() >= 384 * this._BlockCol && b.getX() <= 384 * (this._BlockCol + 1) + this.actor.getWidth() && b.getY() >= 384 * this._BlockRow && b.getY() <= 384 * (this._BlockRow + 1) + this.actor.getHeight() && ((this._CopyActorType = b.getType()), (this._CopyActorX = b.getX() - 384 * this._BlockCol), (this._CopyActorY = b.getY() - 384 * this._BlockRow), c.createRecycledActorOnLayer( this._CopyActorType, this.actor.getX() + this._CopyActorX, this.actor.getY() + this._CopyActorY, c.engine.getLayerById(3) )); a = 0; for (d = w.__cast(c.getActorGroup(3), dg).list; a < d.length; ) (b = d[a]), ++a, null != b && !b.dead && !b.recycled && b.getX() >= 384 * this._BlockCol && b.getX() <= 384 * (this._BlockCol + 1) + this.actor.getWidth() && b.getY() >= 384 * this._BlockRow && b.getY() <= 384 * (this._BlockRow + 1) + this.actor.getHeight() && ((this._CopyActorType = b.getType()), (this._CopyActorX = b.getX() - 384 * this._BlockCol), (this._CopyActorY = b.getY() - 384 * this._BlockRow), c.createRecycledActorOnLayer( this._CopyActorType, this.actor.getX() + this._CopyActorX, this.actor.getY() + this._CopyActorY, c.engine.getLayerById(3) )); a = 0; for (d = w.__cast(c.getActorGroup(5), dg).list; a < d.length; ) (b = d[a]), ++a, null != b && !b.dead && !b.recycled && b.getX() >= 384 * this._BlockCol && b.getX() <= 384 * (this._BlockCol + 1) + this.actor.getWidth() && b.getY() >= 384 * this._BlockRow && b.getY() <= 384 * (this._BlockRow + 1) + this.actor.getHeight() && ((this._CopyActorType = b.getType()), (this._CopyActorX = b.getX() - 384 * this._BlockCol), (this._CopyActorY = b.getY() - 384 * this._BlockRow), c.createRecycledActorOnLayer( this._CopyActorType, this.actor.getX() + this._CopyActorX, this.actor.getY() + this._CopyActorY, c.engine.getLayerById(3) )); this._First && c.createRecycledActor( c.getActorType(70), this.actor.getX() + 96, this.actor.getY() + 320, 1 ); }, init: function () {}, forwardMessage: function (a) {}, __class__: Dw }); var Ew = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['On Ground'] = '_OnGround'; this._OnGround = !1; this.nameMap.h['Ground Check'] = '_GroundCheck'; this._GroundCheck = !1; this.nameMap.h.Left = '_Left'; this._Left = !1; this.nameMap.h['Number Of Hops'] = '_NumberOfHops'; this._NumberOfHops = 1; this.nameMap.h['Hop Count'] = '_HopCount'; this._HopCount = 0; this.nameMap.h.Hopping = '_Hopping'; this._Hopping = !1; this.nameMap.h['Start Y'] = '_StartY'; this._StartY = 0; this.nameMap.h['On Platform'] = '_OnPlatform'; this._OnPlatform = !1; this.nameMap.h.Dead = '_Dead'; this._Dead = !1; this.nameMap.h['Straight Up'] = '_StraightUp'; this._StraightUp = !1; this.nameMap.h.Splash = '_Splash'; this._Splash = !1; this.nameMap.h['Face Left'] = '_FaceLeft'; this._FaceLeft = !1; this.nameMap.h['Snooze Z List'] = '_SnoozeZList'; this.nameMap.h.Snore = '_Snore'; this._Snore = !1; this.nameMap.h['Going Left'] = '_GoingLeft'; this._GoingLeft = !1; this.nameMap.h.Dude = '_Dude'; this.nameMap.h['X Distance'] = '_XDistance'; this._XDistance = 0; this.nameMap.h.Charging = '_Charging'; this._Charging = !1; this.nameMap.h.Wander = '_Wander'; this._Wander = !1; this.nameMap.h['Has Charged'] = '_HasCharged'; this._HasCharged = !1; this.nameMap.h.Exclamation = '_Exclamation'; this.nameMap.h['Charge Speed'] = '_ChargeSpeed'; this._ChargeSpeed = 0; this.nameMap.h.Stunned = '_Stunned'; this._Stunned = !1; this.nameMap.h.Sleeping = '_Sleeping'; this._Sleeping = !1; this.nameMap.h.Squashed = '_Squashed'; this._Squashed = !1; }; k['scripts.Design_356_356_BoundingMovement'] = Ew; Ew.__name__ = 'scripts.Design_356_356_BoundingMovement'; Ew.__super__ = n; Ew.prototype = t(n.prototype, { _GravitySpeed: null, _OnGround: null, _GroundCheck: null, _Left: null, _NumberOfHops: null, _HopCount: null, _Hopping: null, _StartY: null, _OnPlatform: null, _Dead: null, _StraightUp: null, _Splash: null, _FaceLeft: null, _SnoozeZList: null, _Snore: null, _GoingLeft: null, _Dude: null, _XDistance: null, _Charging: null, _Wander: null, _HasCharged: null, _Exclamation: null, _ChargeSpeed: null, _Stunned: null, _Sleeping: null, _Squashed: null, _event_Updating: function (a) { var b = this; if (this.wrapper.enabled) { if (!this._Dead) { this._Squashed && this._OnGround && 'Squashed' != this.actor.getAnimation() && (this.actor.setAnimation('Squashed'), this.actor.moveToTop(), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(108)), c.runLater( 400, function (a) { h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(221)); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-32, 32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(32, 32, 0.3, v.backOut); c.recycleActor(b.actor); }, this.actor )); if (this._GroundCheck || (this._OnPlatform && this.actor.getY() >= this._StartY)) { if ((this._OnPlatform && this.actor.setY(this._StartY), !this._OnGround)) { this._OnGround = !0; this.actor.setXVelocity(0); this.actor.isOnScreen() && !h.engine.getGameAttribute('Sound Disabled') && c.playSound(c.getSound(117)); if (this.actor.isOnScreen()) { a = 0; for (var d = c.getActorsOfType(c.getActorType(2)); a < d.length; ) { var e = d[a]; ++a; null == e || e.dead || e.recycled || (this.actor.getXCenter() > e.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); } } this._Hopping && (this._Left ? this.actor.setAnimation('Idle Left') : this.actor.setAnimation('Idle Right'), (this._Hopping = !1), c.runLater( 100, function (a) { b.actor.say('Bounding Movement', '_customEvent_Hop'); }, this.actor )); } } else this._OnGround && (this._OnGround = !1); this._GroundCheck = !1; (this._OnPlatform && this.actor.getY() >= this._StartY) || ('Space' == h.engine.getGameAttribute('Stage Type') ? this.actor.setYVelocity( Math.min(this.actor.getYVelocity() + 0.9, this._GravitySpeed / 2) ) : this.actor.setYVelocity( Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed) )); } this._Left && (!c.tileExistsAt( Math.round((this._StartY + (this.actor.getHeight() - 34)) / 32 + 1), Math.floor(this.actor.getX() / 32), c.engine.getLayerById(0) ) || (c.tileExistsAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 34)) / 32), Math.floor(this.actor.getX() / 32), c.engine.getLayerById(0) ) && 7 < c.getTileIDAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 34)) / 32), Math.floor(this.actor.getX() / 32), c.engine.getLayerById(0) ))) ? ((this._Left = !1), this.actor.setXVelocity(0)) : this._Left || (c.tileExistsAt( Math.round((this._StartY + (this.actor.getHeight() - 34)) / 32 + 1), Math.ceil(this.actor.getX() / 32), c.engine.getLayerById(0) ) && !( c.tileExistsAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 34)) / 32), Math.ceil(this.actor.getX() / 32), c.engine.getLayerById(0) ) && 7 < c.getTileIDAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 34)) / 32), Math.ceil(this.actor.getX() / 32), c.engine.getLayerById(0) ) )) || ((this._Left = !0), this.actor.setXVelocity(0)); } }, _event_ActorAny: function (a) { var b = this; this.wrapper.enabled && (this._OnPlatform || (this.internalGetGroup(a.otherActor, a.otherShape, a) != c.getActorGroup(1) && this.internalGetGroup(a.otherActor, a.otherShape, a) != c.getActorGroup(8)) || !a.thisFromBottom || (this._GroundCheck = !0), a.otherActor.getType() != c.getActorType(203) || this._Dead || ((this._Dead = !0), this.actor.setFilter([c.createBrightnessFilter(100)]), c.runLater( 100, function (a) { h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(378)); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-32, 32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(32, 32, 0.3, v.backOut); c.recycleActor(b.actor); }, this.actor ))); }, _event_ActorType: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(917); var d = a.otherActor.getType(); a = a.otherActor.getGroup(); b = b == d || b == a; } else b = !1; b && !this._Squashed && (this._Squashed = !0); }, _event_Sleep: function (a) { this.wrapper.enabled && 'Sleep' == this.actor.getAnimation() && (c.createRecycledActor( c.getActorType(127), this.actor.getXCenter() - 12, this.actor.getY(), 0 ), this._SnoozeZList.push(c.getLastCreatedActor()), this._Snore ? (this._Snore = !1) : ((this._Snore = !0), !h.engine.getGameAttribute('Sound Disabled') && this.actor.isOnScreen() && c.playSound(c.getSound(454)))); }, _event_SnoozeZKilled: function (a) { this.wrapper.enabled && W.contains(this._SnoozeZList, a) && C.remove(this._SnoozeZList, a); }, _event_EveryNsecs: function (a) { var b = this; if (this.wrapper.enabled && this._Sleeping) if ( ((a = this._Dude), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) ) { if ( ((this._XDistance = Math.max(this.actor.getXCenter(), this._Dude.getXCenter()) - Math.min(this.actor.getXCenter(), this._Dude.getXCenter())), this._Dude.getYCenter() > this.actor.getY() && this._Dude.getYCenter() < this.actor.getY() + this.actor.getHeight() && 200 > this._XDistance && !this._Charging && !this._HasCharged && !this._Stunned) ) { a = 0; for (e = w.__cast(this._SnoozeZList, Array); a < e.length; ) { var d = e[a]; ++a; d.isAlive() && c.recycleActor(d); } this._Dude.getX() > this.actor.getX() ? this._Left || ((this._Charging = !0), c.createRecycledActor( c.getActorType(131), this.actor.getXCenter() - 14, this.actor.getY() - 28, 0 ), (this._Exclamation = c.getLastCreatedActor()), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(373)), this.actor.setXVelocity(0), this.actor.setYVelocity(-20), this.actor.setAnimation('Idle Right'), c.runLater( 500, function (a) { c.recycleActor(b._Exclamation); }, this.actor ), c.runLater( 700, function (a) { b.actor.say('Bounding Movement', '_customEvent_Hop'); }, this.actor )) : this._Left && ((this._Charging = !0), c.createRecycledActor( c.getActorType(131), this.actor.getXCenter() - 14, this.actor.getY() - 28, 0 ), c.getLastCreatedActor().setAnimation('Right'), (this._Exclamation = c.getLastCreatedActor()), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(373)), this.actor.setXVelocity(0), this.actor.setYVelocity(-20), this.actor.setAnimation('Idle Left'), c.runLater( 500, function (a) { c.recycleActor(b._Exclamation); }, this.actor ), c.runLater( 700, function (a) { b.actor.say('Bounding Movement', '_customEvent_Hop'); }, this.actor )); } } else { a = 0; for (var e = c.getActorsOfType(c.getActorType(2)); a < e.length; ) (d = e[a]), ++a, null == d || d.dead || d.recycled || (this._Dude = d); } }, _customEvent_Hop: function () { this._Dead || this._Squashed || ((this._Hopping = !0), this.actor.setYVelocity(-30), this._StraightUp || (this._Left ? (this.actor.setAnimation('LeftHop'), this.actor.setXVelocity(-11.6)) : (this.actor.setAnimation('RightHop'), this.actor.setXVelocity(11.6)))); }, init: function () { this.actor.makeAlwaysSimulate(); this._GravitySpeed = 48; this._GroundCheck = this._OnGround = !0; this._StartY = this.actor.getY(); this._SnoozeZList = []; this._Sleeping ? (this.actor.setAnimation('Sleep'), (this._Left = !0)) : this.actor.say('Bounding Movement', '_customEvent_Hop'); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener(this.actor.whenCollided, m(this, this._event_ActorAny)); this.addListener(this.actor.whenCollided, m(this, this._event_ActorType)); c.runPeriodically(700, m(this, this._event_Sleep), this.actor); this.addListenerWithKey( c.engine.whenTypeGroupKilledEvents, c.getActorType(127), m(this, this._event_SnoozeZKilled) ); c.runPeriodically(100, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: Ew }); var Fw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['On Ground'] = '_OnGround'; this._OnGround = !1; this.nameMap.h['Ground Check'] = '_GroundCheck'; this._GroundCheck = !1; this.nameMap.h['Start Y'] = '_StartY'; this._StartY = 0; this.nameMap.h.Hopping = '_Hopping'; this._Hopping = !1; this.nameMap.h.Splash = '_Splash'; this._Splash = !1; this.nameMap.h.Left = '_Left'; this._Left = !1; this.nameMap.h['Straight Up'] = '_StraightUp'; this._StraightUp = !1; this.nameMap.h['Hop Count'] = '_HopCount'; this._HopCount = 0; this.nameMap.h['Number Of Hops'] = '_NumberOfHops'; this._NumberOfHops = 1; this.nameMap.h.Dead = '_Dead'; this._Dead = !1; this.nameMap.h['Swoop Go'] = '_SwoopGo'; this._SwoopGo = !1; this.nameMap.h['Swoop Return'] = '_SwoopReturn'; this._SwoopReturn = !1; this.nameMap.h['X Tweener'] = '_XTweener'; this.nameMap.h['Y Tweener'] = '_YTweener'; this.nameMap.h.Distance = '_Distance'; this._Distance = 0; }; k['scripts.Design_358_358_SwoopingMovement'] = Fw; Fw.__name__ = 'scripts.Design_358_358_SwoopingMovement'; Fw.__super__ = n; Fw.prototype = t(n.prototype, { _GravitySpeed: null, _OnGround: null, _GroundCheck: null, _StartY: null, _Hopping: null, _Splash: null, _Left: null, _StraightUp: null, _HopCount: null, _NumberOfHops: null, _Dead: null, _SwoopGo: null, _SwoopReturn: null, _XTweener: null, _YTweener: null, _Distance: null, _event_Updating: function (a) { this.wrapper.enabled && ((a = this._XTweener), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a) ? ((a = this._YTweener), (a = c.isPrimitive(a) ? !0 : 'string' == typeof a ? '' != w.__cast(a, String) : null != a)) : (a = !1), a && (this.actor.setX(this._XTweener.getX()), this.actor.setY(this._YTweener.getY()))); }, _customEvent_Swoop: function () { var a = this; this._Distance = 200; this._YTweener.moveBy(0, this._Distance / 2, 1.2, v.quadInOut); c.runLater( 1250, function (b) { a._YTweener.moveBy(0, -(a._Distance / 2), 1.2, v.quadInOut); }, this.actor ); this._Left ? this._XTweener.moveBy(-this._Distance, 0, 2.5, v.quadInOut) : this._XTweener.moveBy(this._Distance, 0, 2.5, v.quadInOut); c.runLater( 3400, function (b) { a._Left = a._Left ? !1 : !0; a.actor.say('Swooping Movement', '_customEvent_Swoop'); }, this.actor ); }, init: function () { var a = this; this.actor.makeAlwaysSimulate(); this._StartY = this.actor.getY(); c.createRecycledActor(c.getActorType(635), this.actor.getX(), this.actor.getY(), 0); this._XTweener = c.getLastCreatedActor(); c.getLastCreatedActor().makeAlwaysSimulate(); c.createRecycledActor(c.getActorType(635), this.actor.getX(), this.actor.getY(), 0); this._YTweener = c.getLastCreatedActor(); c.getLastCreatedActor().makeAlwaysSimulate(); c.runLater( 1e3, function (b) { a.actor.say('Swooping Movement', '_customEvent_Swoop'); }, this.actor ); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Fw }); var Gw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Hit Ground'] = '_HitGround'; this._HitGround = !1; this.nameMap.h['Sensor Row Count'] = '_SensorRowCount'; this._SensorRowCount = 0; this.nameMap.h['Sensor Column Count'] = '_SensorColumnCount'; this._SensorColumnCount = 0; this.nameMap.h['Shake Image'] = '_ShakeImage'; this.nameMap.h['Shake Image Instance'] = '_ShakeImageInstance'; this.nameMap.h['Shake Count'] = '_ShakeCount'; this._ShakeCount = 0; this.nameMap.h.Left = '_Left'; this._Left = !1; this.nameMap.h.Shake = '_Shake'; this._Shake = !1; this.nameMap.h['Sensor List'] = '_SensorList'; this.nameMap.h.Fall = '_Fall'; this._Fall = !1; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h.Done = '_Done'; this._Done = !1; this.nameMap.h['Has Hit Dude'] = '_HasHitDude'; this._HasHitDude = !1; this.nameMap.h.Height = '_Height'; this._Height = 0; this.nameMap.h['On Quicksand'] = '_OnQuicksand'; this._OnQuicksand = !1; this.nameMap.h['Quicksand Y'] = '_QuicksandY'; this._QuicksandY = 0; this.nameMap.h.Sink = '_Sink'; this._Sink = !1; this.nameMap.h['Stay Active'] = '_StayActive'; this._StayActive = !1; }; k['scripts.Design_35_35_FallingBlockLogic'] = Gw; Gw.__name__ = 'scripts.Design_35_35_FallingBlockLogic'; Gw.__super__ = n; Gw.prototype = t(n.prototype, { _HitGround: null, _SensorRowCount: null, _SensorColumnCount: null, _ShakeImage: null, _ShakeImageInstance: null, _ShakeCount: null, _Left: null, _Shake: null, _SensorList: null, _Fall: null, _GravitySpeed: null, _Done: null, _HasHitDude: null, _Height: null, _OnQuicksand: null, _QuicksandY: null, _Sink: null, _StayActive: null, _event_EveryNsecs: function (a) { !this.wrapper.enabled || ((a = this._ShakeImageInstance), (!c.isPrimitive(a) && ('string' == typeof a ? '' == w.__cast(a, String) : null == a)) || !this._Shake || this._Fall || this._Done) || (c.attachImageToActor( this._ShakeImageInstance, this.actor, (-2 + this._ShakeCount) | 0, 0, 1 ), 6 != this._ShakeCount || this._Left ? 0 == this._ShakeCount && this._Left && (this._Left = !1) : (this._Left = !0), (this._ShakeCount = this._Left ? this._ShakeCount - 2 : this._ShakeCount + 2)); }, _event_SinkPuffs: function (a) { this.wrapper.enabled && this._Sink && (c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this._QuicksandY - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() - 8, this._QuicksandY - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 8, this._QuicksandY - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt')); }, _event_DudeHitsSensor: function (a) { this.wrapper.enabled && W.contains(this._SensorList, a.otherActor) && this.actor.say('Falling Block Logic', '_customEvent_Fall'); }, _event_HitsDude: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(2); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && a.thisFromTop && this.actor.say('Falling Block Logic', '_customEvent_Fall'); }, _customEvent_Fall: function () { var a = this; if (this._Shake || this._Fall || this._Done) var b = !1; else (b = this._ShakeImageInstance), (b = c.isPrimitive(b) ? !0 : 'string' == typeof b ? '' != w.__cast(b, String) : null != b); if (b) { this._Shake = !0; h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(106)); this.actor.moveToBottom(); b = 0; for (var d = w.__cast(this._SensorList, Array); b < d.length; ) { var e = d[b]; ++b; c.recycleActor(e); } c.runLater( 1e3, function (b) { a._Fall = !0; a._OnQuicksand ? a.actor.moveBy(0, 32 * a._Height + 8, 0.08 * a._Height, v.quadIn) : a.actor.moveBy(0, 32 * a._Height, 0.08 * a._Height, v.quadIn); a.actor.setAnimation('Fall'); a._Shake = !1; c.attachImageToActor(a._ShakeImageInstance, a.actor, 0, 0, 1); c.runLater( 80 * a._Height, function (b) { a._Done = !0; a._Fall = !1; a._OnQuicksand || a.actor.setY(32 * Math.round(a.actor.getY() / 32)); a._OnQuicksand && ((a._Sink = !0), a.actor.moveBy( 0, a.actor.getHeight(), 0.1 * a.actor.getHeight(), v.quadInOut ), c.runLater( 100 * a.actor.getHeight(), function (b) { a._Sink = !1; c.recycleActor(a.actor); }, a.actor )); c.runLater( 200, function (b) { a.actor.setAnimation('Normal'); }, a.actor ); c.startShakingScreen(0.005, 0.05); b = 0; for (var d = c.getActorsOfType(c.getActorType(2)); b < d.length; ) { var e = d[b]; ++b; null == e || e.dead || e.recycled || (a.actor.getXCenter() > e.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Big Thud Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Big Thud Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); } h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(105)); a._OnQuicksand ? (c.createRecycledActorOnLayer( c.getActorType(94), a.actor.getXCenter() - 8, a.actor.getY() + a.actor.getHeight() - 24, c.engine.getLayerById(a.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt'), c.createRecycledActorOnLayer( c.getActorType(94), a.actor.getX() - 8, a.actor.getY() + a.actor.getHeight() - 24, c.engine.getLayerById(a.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt'), c.createRecycledActorOnLayer( c.getActorType(94), a.actor.getX() + a.actor.getWidth() - 8, a.actor.getY() + a.actor.getHeight() - 24, c.engine.getLayerById(a.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt')) : (c.createRecycledActorOnLayer( c.getActorType(94), a.actor.getXCenter() - 8, a.actor.getY() + a.actor.getHeight() - 24, c.engine.getLayerById(a.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), a.actor.getX() - 8, a.actor.getY() + a.actor.getHeight() - 24, c.engine.getLayerById(a.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), a.actor.getX() + a.actor.getWidth() - 8, a.actor.getY() + a.actor.getHeight() - 24, c.engine.getLayerById(a.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut)); c.removeImage(a._ShakeImageInstance); a.actor.enableActorDrawing(); a._StayActive || a.actor.makeSometimesSimulate(); }, a.actor ); }, this.actor ); } }, init: function () { this.actor.makeAlwaysSimulate(); this.actor.setX(32 * Math.round(this.actor.getX() / 32)); this.actor.setY(32 * Math.round(this.actor.getY() / 32)); this._ShakeImage = c.getImageForActor(this.actor); this._ShakeImageInstance = new rf(new rc(this._ShakeImage)); this.actor.disableActorDrawing(); c.attachImageToActor(this._ShakeImageInstance, this.actor, 0, 0, 1); this._GravitySpeed = 48; this._SensorList = []; for (var a = 0, b = (this.actor.getWidth() / 32) | 0; a < b; ) { a++; this._HitGround = !1; for (this._SensorRowCount = 1; !this._HitGround; ) { for (var d = 0, e = c.getActorsOfType(c.getActorType(810)); d < e.length; ) { var f = e[d]; ++d; null != f && !f.dead && !f.recycled && f.getY() == 32 * (Math.round((this.actor.getY() + this.actor.getHeight()) / 32) + this._SensorRowCount) && f.getXCenter() > this.actor.getX() && f.getXCenter() < this.actor.getX() + this.actor.getWidth() && ((this._OnQuicksand = !0), (this._QuicksandY = f.getY())); } c.tileExistsAt( (Math.round((this.actor.getY() + this.actor.getHeight()) / 32) + this._SensorRowCount) | 0, (Math.round(this.actor.getX() / 32) + this._SensorColumnCount) | 0, c.engine.getLayerById(0) ) && (7 < c.getTileIDAt( (Math.round((this.actor.getY() + this.actor.getHeight()) / 32) + this._SensorRowCount) | 0, (Math.round(this.actor.getX() / 32) + this._SensorColumnCount) | 0, c.engine.getLayerById(0) ) || 'Office' == h.engine.getGameAttribute('Stage Type')) ? (this._HitGround = !0) : (c.createRecycledActor( c.getActorType(52), 32 * (Math.round(this.actor.getX() / 32) + this._SensorColumnCount), 32 * (Math.round((this.actor.getY() + this.actor.getHeight()) / 32) + this._SensorRowCount), 0 ), c.getLastCreatedActor().disableActorDrawing(), this._SensorList.push(c.getLastCreatedActor()), (this._SensorRowCount += 1)); } this._SensorColumnCount += 1; if (0 == this._Height || this._Height > this._SensorRowCount) this._Height = this._SensorRowCount; } c.runPeriodically(20, m(this, this._event_EveryNsecs), this.actor); c.runPeriodically(300, m(this, this._event_SinkPuffs), this.actor); this.addListenerWithKey2( c.engine.whenCollidedEvents, c.getActorType(2).ID, c.getActorType(52).ID, m(this, this._event_DudeHitsSensor) ); this.addListener(this.actor.whenCollided, m(this, this._event_HitsDude)); }, forwardMessage: function (a) {}, __class__: Gw }); var Hw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Node Number'] = '_NodeNumber'; this._NodeNumber = 0; this.nameMap.h.First = '_First'; this._First = !1; this.nameMap.h.Last = '_Last'; this._Last = !1; this.nameMap.h.Level = '_Level'; this._Level = 0; }; k['scripts.Design_364_364_OverworldNodeLogic'] = Hw; Hw.__name__ = 'scripts.Design_364_364_OverworldNodeLogic'; Hw.__super__ = n; Hw.prototype = t(n.prototype, { _NodeNumber: null, _First: null, _Last: null, _Level: null, init: function () { 0 != this._Level && h.engine.getGameAttribute('Highest Level') < this._Level && this.actor.setAnimation('Closed'); }, forwardMessage: function (a) {}, __class__: Hw }); var Iw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['On Ground'] = '_OnGround'; this._OnGround = !1; this.nameMap.h['Ground Check'] = '_GroundCheck'; this._GroundCheck = !1; this.nameMap.h['Can Make Noise'] = '_CanMakeNoise'; this._CanMakeNoise = !1; this.nameMap.h['Face Left'] = '_FaceLeft'; this._FaceLeft = !0; this.nameMap.h.Speed = '_Speed'; this._Speed = 12; this.nameMap.h.Fall = '_Fall'; this._Fall = !1; this.nameMap.h['No Gravity'] = '_NoGravity'; this._NoGravity = !1; this.nameMap.h.Health = '_Health'; this._Health = 3; this.nameMap.h.Hurt = '_Hurt'; this._Hurt = !1; this.nameMap.h.Dead = '_Dead'; this._Dead = !1; this.nameMap.h['Starting Y'] = '_StartingY'; this._StartingY = 0; this.nameMap.h['Ground Amnesty'] = '_GroundAmnesty'; this._GroundAmnesty = 0; this.nameMap.h.Go = '_Go'; this._Go = !1; this.nameMap.h.Dude = '_Dude'; this.nameMap.h['Ready To Talk'] = '_ReadyToTalk'; this._ReadyToTalk = !1; this.nameMap.h['Has Entered'] = '_HasEntered'; this._HasEntered = !1; this.nameMap.h['Dialog Complete'] = '_DialogComplete'; this._DialogComplete = !1; this.nameMap.h['Dialog Text'] = '_DialogText'; this._DialogText = 'DEFAULT'; this.nameMap.h.Charging = '_Charging'; this._Charging = !1; this.nameMap.h['Go Left'] = '_GoLeft'; this._GoLeft = !1; this.nameMap.h['Go Right'] = '_GoRight'; this._GoRight = !1; this.nameMap.h.Stunned = '_Stunned'; this._Stunned = !1; this.nameMap.h['Stunned Bounce'] = '_StunnedBounce'; this._StunnedBounce = !1; }; k['scripts.Design_392_392_Boss5Logic'] = Iw; Iw.__name__ = 'scripts.Design_392_392_Boss5Logic'; Iw.__super__ = n; Iw.prototype = t(n.prototype, { _GravitySpeed: null, _OnGround: null, _GroundCheck: null, _CanMakeNoise: null, _FaceLeft: null, _Speed: null, _Fall: null, _NoGravity: null, _Health: null, _Hurt: null, _Dead: null, _StartingY: null, _GroundAmnesty: null, _Go: null, _Dude: null, _ReadyToTalk: null, _HasEntered: null, _DialogComplete: null, _DialogText: null, _Charging: null, _GoLeft: null, _GoRight: null, _Stunned: null, _StunnedBounce: null, _event_HitsGround: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorGroup(1); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && (a.thisFromBottom ? ((this._GroundCheck = !0), (this._GroundAmnesty = 4), !this._Stunned || this._StunnedBounce || this._GoLeft || this._GoRight || this.actor.setXVelocity(0)) : a.thisFromLeft && !this._StunnedBounce ? (c.startShakingScreen(0.01, 0.1), (this._Stunned = this._StunnedBounce = !0), (this._GoLeft = !1), this.actor.setAnimation('Stunned'), this._Dead ? (this.actor.setXVelocity(40), this.actor.setYVelocity(-70), c.runLater( 100, function (a) { b.actor.setAnimation('Dead Stunned'); }, this.actor )) : (this._StunnedBounce ? this.actor.setXVelocity(20) : this.actor.setXVelocity(10), this.actor.setYVelocity(-40)), c.createRecycledActor( c.getActorType(94), this.actor.getX(), this.actor.getYCenter() - 8, 0 ), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut), c.createRecycledActor( c.getActorType(94), this.actor.getX(), this.actor.getYCenter() - 8, 0 ), c.getLastCreatedActor().moveBy(32, 0, 0.3, v.backOut), c.createRecycledActor( c.getActorType(94), this.actor.getX(), this.actor.getYCenter() - 8, 0 ), c.getLastCreatedActor().moveBy(32, 32, 0.3, v.backOut), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(105)), c.runLater( 300, function (a) { b._StunnedBounce = !1; }, this.actor ), c.runLater( 1e3, function (a) { b._FaceLeft = !1; b._Stunned = !1; }, this.actor )) : a.thisFromRight && !this._StunnedBounce && (c.startShakingScreen(0.01, 0.1), (this._Stunned = this._StunnedBounce = !0), (this._GoRight = !1), this.actor.setAnimation('Stunned'), this._Dead ? (this.actor.setXVelocity(-40), this.actor.setYVelocity(-70), c.runLater( 100, function (a) { b.actor.setAnimation('Dead Stunned'); }, this.actor )) : (this._StunnedBounce ? this.actor.setXVelocity(-20) : this.actor.setXVelocity(-10), this.actor.setYVelocity(-40)), c.createRecycledActor( c.getActorType(94), this.actor.getX() + (this.actor.getWidth() - 16), this.actor.getYCenter() - 8, 0 ), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.createRecycledActor( c.getActorType(94), this.actor.getX() + (this.actor.getWidth() - 16), this.actor.getYCenter() - 8, 0 ), c.getLastCreatedActor().moveBy(-32, 0, 0.3, v.backOut), c.createRecycledActor( c.getActorType(94), this.actor.getX() + (this.actor.getWidth() - 16), this.actor.getYCenter() - 8, 0 ), c.getLastCreatedActor().moveBy(-32, 32, 0.3, v.backOut), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(105)), c.runLater( 300, function (a) { b._StunnedBounce = !1; }, this.actor ), c.runLater( 1e3, function (a) { b._FaceLeft = !0; b._Stunned = !1; }, this.actor ))); }, _event_EveryNsecs: function (a) { this.wrapper.enabled && (this._OnGround || --this._GroundAmnesty); }, _event_EveryNsecs2: function (a) { this.wrapper.enabled && (this._GoLeft ? (c.createRecycledActorOnLayer( c.getActorType(690), this.actor.getX(), this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveToBottom()) : this._GoRight && (c.createRecycledActorOnLayer( c.getActorType(692), this.actor.getX(), this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveToBottom())); }, _event_HitsHazard: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorGroup(4); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; if (d && 0 < this._Health && !this._Hurt) if ( ((this._Hurt = !0), c.runLater( 2e3, function (a) { b._Hurt = !1; }, this.actor ), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(378)), this.actor.setFilter([c.createBrightnessFilter(100)]), c.runLater( 200, function (a) { b.actor.clearFilters(); }, this.actor ), --this._Health, 0 == this._Health) ) for ( this._Dead = !0, this.actor.setAnimation('Dead Spin'), c.stopSoundOnChannel(16), a = 0, d = c.getActorsOfType(c.getActorType(353)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (e.moveBy(0, 32, 0.3, v.quadInOut), e.setValue('Button Logic', '_Hide', !0)); else c.startShakingScreen(0.02, 0.1), this.actor.getXCenter() > a.otherActor.getXCenter() && !this._StunnedBounce ? ((this._Stunned = this._StunnedBounce = !0), (this._GoLeft = !1), this.actor.setAnimation('Hurt'), this._Dead ? (this.actor.setXVelocity(40), this.actor.setYVelocity(-70)) : (this.actor.setXVelocity(20), this.actor.setYVelocity(-40)), a.otherActor.say('Boss Spikes Logic', '_customEvent_return'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(105)), c.runLater( 300, function (a) { b._StunnedBounce = !1; }, this.actor ), c.runLater( 1e3, function (a) { b._FaceLeft = !1; b._Stunned = !1; }, this.actor )) : this.actor.getXCenter() < a.otherActor.getXCenter() && !this._StunnedBounce && ((this._Stunned = this._StunnedBounce = !0), (this._GoRight = !1), this.actor.setAnimation('Hurt'), this._Dead ? (this.actor.setXVelocity(-40), this.actor.setYVelocity(-70)) : (this.actor.setXVelocity(-20), this.actor.setYVelocity(-40)), a.otherActor.say('Boss Spikes Logic', '_customEvent_return'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(105)), c.runLater( 300, function (a) { b._StunnedBounce = !1; }, this.actor ), c.runLater( 1e3, function (a) { b._FaceLeft = !0; b._Stunned = !1; }, this.actor )); }, _event_GroundandGravity: function (a) { this.wrapper.enabled && (this._GroundCheck ? this._OnGround || ((this._OnGround = !0), this.actor.setYVelocity(0), this._CanMakeNoise ? h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(117)) : (this._CanMakeNoise = !0)) : this._OnGround && 0 == this._GroundAmnesty && (this._OnGround = !1), (this._GroundCheck = !1), this._Stunned && this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed)), this._Stunned || this._Hurt || this._Dead || (this.actor.getY() < this._StartingY && this.actor.setY(this._StartingY))); }, _event_Movement: function (a) { var b = this; if (this.wrapper.enabled) { a = this._Dude; if ( !c.isPrimitive(a) && ('string' == typeof a ? '' == w.__cast(a, String) : null == a) ) { a = 0; for (var d = c.getActorsOfType(c.getActorType(2)); a < d.length; ) { var e = d[a]; ++a; null == e || e.dead || e.recycled || (this._Dude = e); } } !this._Go || !this._OnGround || this._GoLeft || this._GoRight || this._Charging || this._Stunned || ((this._Charging = !0), this._FaceLeft ? this.actor.setAnimation('Left Charge') : this.actor.setAnimation('Right Charge'), c.runLater( 1e3, function (a) { b._FaceLeft ? ((b._GoLeft = !0), (b._Charging = !1), b.actor.setAnimation('Left'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(118)), b.actor.setXVelocity(-50)) : ((b._GoRight = !0), (b._Charging = !1), b.actor.setAnimation('Right'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(118)), b.actor.setXVelocity(50)); }, this.actor )); this._ReadyToTalk && (h.engine.getGameAttribute('Boss 1 Dialog Read') ? ((this._ReadyToTalk = !1), this.actor.shout('_customEvent_dialogComplete')) : ((a = this._Dude), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Dude.getValue('Dude Logic', '_OnGround') && ((this._ReadyToTalk = !1), this._DialogComplete || ((this._DialogComplete = !0), c.stopSoundOnChannel(16), c.createRecycledActor(c.getActorType(161), 0, c.getScreenHeight() - 96, 0), 'JP' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*\u30ae\u30e3\u30fc*|\u3042\u3042\u3001\u306a\u3093\u3066\u3053\u3063\u305f\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\u3042\u3001\u3053\u3093\u306b\u3061\u306f\uff01\u3042\u306a\u305f\u306e\u540d\u524d\u306f\u4f55\u3067\u3059\u304b\uff1f|\u79c1\u306f\u30d0\u30fc\u30ac\u30fc\u30b0\u30e9\u30fc\u3001\u30c0\u30fc\u30ca\u30c3\u30af\u537f\u306e\u7b2c3\u306e\u5b50\u5206\u3067\u3059\uff01|\u306a\u3093\u3066\u7d20\u6575\u306a\u540d\u524d\u3067\u3059\uff01\u3053\u3093\u306b\u3061\u306f\u30d0\u30fc\u30ac\u30fc\u30b0\u30e9\u30fc\u3001\u79c1\u306f\u30c0\u30c7\u30a3\u30c3\u30b7\u30e5\u3067\u3059\uff01\u79c1\u306f\u5b9f\u306f\u79c1\u306e\u5b50\u4f9b\u305f\u3061\u3092\u63a2\u3057\u3066\u3044\u307e\u3059\u3001\u3042\u306a\u305f\u306f\u305f\u307e\u305f\u307e\u3053\u3053\u3067\u5c0f\u3055\u306a\u30e9\u30c7\u30c3\u30b7\u30e5\u3092\u898b\u305f\u3053\u3068\u304c\u3042\u308a\u307e\u305b\u3093\u304b\uff1f|\u3042\u306a\u305f\u306f\u30c0\u30fc\u30ca\u30c3\u30af\u537f\u306b\u6c7a\u3057\u3066\u5c4a\u304b\u306a\u3044\u3067\u3057\u3087\u3046\uff01\u6b7b\u306c\u6e96\u5099\u3092\u3057\u306a\u3055\u3044\uff01|\u305d\u308c\u3067\u3001\u3048\u3048\u3068\u3001\u305d\u308c\u306f\u3044\u3044\u3048\u3067\u3059\u304b\uff1f' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : 'CN' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*SCREECH*|\u54e6\u5929\u54ea\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\u54e6\uff0c\u4f60\u597d\uff01\u4f60\u53eb\u4ec0\u4e48\u540d\u5b57\uff1f|\u6211\u662fBURGURGULAR\uff0c\u675c\u7eb3\u514b\u52cb\u7235\u7684\u7b2c\u4e09\u4e2a\u968f\u4ece\uff01|\u591a\u597d\u7684\u540d\u5b57\u554a\uff01\u55e8\uff0cBurgurgular\uff0c\u6211\u662f\u7238\u7238\u841d\u535c\uff01\u6211\u5b9e\u9645\u4e0a\u662f\u5728\u5bfb\u627e\u6211\u7684\u5b69\u5b50\uff0c\u4f60\u6ca1\u6709\u5728\u8fd9\u91cc\u78b0\u5230\u4efb\u4f55\u5c0f\u841d\u535c\u5417\uff1f|\u4f60\u6c38\u8fdc\u4e0d\u4f1a\u8d76\u4e0a\u675c\u7eb3\u514b\u52cb\u7235\uff01\u51c6\u5907\u53bb\u6b7b\uff01|\u90a3\u4e48\uff0c\u5443\uff0c\u53ef\u4ee5\u8bf4\u4e0d\u5417\uff1f' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : 'KR' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*\uaf64\uc561*|\uc5b4 \uc774\ub7f0.' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\uc548\ub155\ud558\uc138\uc694! \uc774\ub984\uc774 \uc5b4\ub5bb\uac8c \ub418\uc138\uc694?|\ub09c \uc704\ub300\ud558\uc2e0 \ub354\ub098\ud06c\ub2d8\uc758 \uc138 \ubc88\uc9f8 \uc218\ud558, \ubc84\uac70\uae00\ub7ec\ub2e4!|\uba4b\uc9c4 \uc774\ub984\uc774\ub124\uc694! \uc548\ub155\ud558\uc138\uc694 \ubc84\uac70\uae00\ub7ec\uc528, \uc804 \ub300\ub514\uc26c\uc5d0\uc694! \uc804 \uc0ac\uc2e4 \uc81c \uc544\uc774\ub4e4\uc744 \ucc3e\uace0 \uc788\uc5b4\uc694. \uc8fc\ubcc0\uc5d0\uc11c \ub354 \uc791\uc740 \ubb34\ub97c \ubcf8 \uc801 \uc5c6\uc73c\uc2dc\uaca0\uc8e0?|\ub10c \uc808\ub300 \ub354\ub098\ud06c\ub2d8\uaed8 \uac08 \uc218 \uc5c6\ub2e4! \uc8fd\uc744 \uc900\ube44\ub97c \ud574\ub77c!|\uc5b4, \ubabb \ubcf4\uc168\ub2e4\ub294 \uac70\uc8e0?' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue('Dialog Box Logic', '_DialogText', '*SCREECH*|Oh my gosh'), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', 'hey|hey i am the icecream' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')), c.getLastCreatedActor().setValue('Dialog Box Logic', '_Character2', 'Boss 5'), c.getLastCreatedActor().setValue('Dialog Box Logic', '_Parent', this.actor), c.getLastCreatedActor().say('Dialog Box Logic', '_customEvent_Go'))))); this._Dead && 0 < this.actor.getYVelocity() && this.actor.getY() >= this._StartingY && (c.createRecycledActorOnLayer( c.getActorType(698), this.actor.getX(), this._StartingY, c.engine.getLayerById(this.actor.getLayerID()) ), c.recycleActor(this.actor)); } }, _event_EntersScreen: function (a, b, d, e) { var f = this; this.wrapper.enabled && a && ((a = this._Dude), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Dude.getY() >= this.actor.getX() - 32 && !this._HasEntered && !this._Go && ((this._HasEntered = !0), c.runLater( 700, function (a) { f._ReadyToTalk = !0; }, this.actor ))); }, _event_HitsBlock: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(40); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && a.thisFromBottom && (this._GroundCheck = !0); }, _customEvent_dialogComplete: function () { this._Go = !0; h.engine.gameAttributes.h['Boss 1 Dialog Read'] = !0; c.loopSoundOnChannel(c.getSound(377), 16); h.engine.getGameAttribute('Music Disabled') ? c.setVolumeForChannel(0, 16) : h.engine.getGameAttribute('Music Disabled') || c.setVolumeForChannel(1, 16); }, init: function () { this.actor.makeAlwaysSimulate(); this._GravitySpeed = 48; this._GroundCheck = this._OnGround = !0; this._StartingY = this.actor.getY(); this._FaceLeft = !0; this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); c.runPeriodically(10, m(this, this._event_EveryNsecs), this.actor); c.runPeriodically(50, m(this, this._event_EveryNsecs2), this.actor); this.addListener(this.actor.whenCollided, m(this, this._event_HitsHazard)); this.addListener(this.actor.whenUpdated, m(this, this._event_GroundandGravity)); this.addListener(this.actor.whenUpdated, m(this, this._event_Movement)); this.addListener(this.actor.whenPositionStateChanged, m(this, this._event_EntersScreen)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsBlock)); }, forwardMessage: function (a) {}, __class__: Iw }); var Jw = function (a, b, d) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Face Left'] = '_FaceLeft'; this._FaceLeft = !0; this.nameMap.h.Speed = '_Speed'; this._Speed = 8; this.nameMap.h.Dude = '_Dude'; this._Dude = c.getActor(0); this.nameMap.h['Has Charged'] = '_HasCharged'; this._HasCharged = !1; this.nameMap.h.Charging = '_Charging'; this._Charging = !1; this.nameMap.h['Charge Speed'] = '_ChargeSpeed'; this._ChargeSpeed = 0; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h.Bounce = '_Bounce'; this._Bounce = !1; this.nameMap.h['X Distance'] = '_XDistance'; this._XDistance = 0; this.nameMap.h.Stunned = '_Stunned'; this._Stunned = !1; this.nameMap.h['Snooze Z List'] = '_SnoozeZList'; this.nameMap.h.Exclamation = '_Exclamation'; this._Exclamation = c.getActor(0); this.nameMap.h.Snore = '_Snore'; this._Snore = !1; this.nameMap.h['Distance X'] = '_DistanceX'; this._DistanceX = 0; this.nameMap.h['Distance Y'] = '_DistanceY'; this._DistanceY = 0; this.nameMap.h.Distance = '_Distance'; this._Distance = 0; this.nameMap.h.Detonate = '_Detonate'; this._Detonate = !1; this.nameMap.h['Debris Speed'] = '_DebrisSpeed'; this._DebrisSpeed = 0; this.nameMap.h.Spring = '_Spring'; this._Spring = c.getActor(0); this.nameMap.h.Wander = '_Wander'; this._Wander = !1; this.nameMap.h['Start Awake'] = '_StartAwake'; this._StartAwake = !1; this.nameMap.h['Going Left'] = '_GoingLeft'; this._GoingLeft = !1; this.nameMap.h['Slow Down'] = '_SlowDown'; this._SlowDown = !1; }; k['scripts.Design_422_422_RollingMovement'] = Jw; Jw.__name__ = 'scripts.Design_422_422_RollingMovement'; Jw.__super__ = n; Jw.prototype = t(n.prototype, { _FaceLeft: null, _Speed: null, _Dude: null, _HasCharged: null, _Charging: null, _ChargeSpeed: null, _GravitySpeed: null, _Bounce: null, _XDistance: null, _Stunned: null, _SnoozeZList: null, _Exclamation: null, _Snore: null, _DistanceX: null, _DistanceY: null, _Distance: null, _Detonate: null, _DebrisSpeed: null, _Spring: null, _Wander: null, _StartAwake: null, _GoingLeft: null, _SlowDown: null, _event_EveryNsecs: function (a) { this.wrapper.enabled && this.actor.isOnScreen() && ('Left' == this.actor.getAnimation() ? (this._GoingLeft = !0) : (this._GoingLeft = !1)); }, _event_Updating: function (a) { this.wrapper.enabled && this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed)); }, _event_HitsWalls: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorGroup(1); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; if (d) { if (this._Charging) if (a.thisFromLeft) { this._Charging = !1; if (this.actor.isOnScreen()) for ( c.startShakingScreen(0.002, 0.1), d = 0, e = c.getActorsOfType(c.getActorType(2)); d < e.length; ) (f = e[d]), ++d, null == f || f.dead || f.recycled || (this.actor.getXCenter() > f.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); this.actor.setYVelocity(-30); this.actor.setXVelocity(14); this._Stunned = this._Bounce = !0; this.actor.setAnimation('Bounce'); c.createRecycledActor( c.getActorType(94), this.actor.getX() - 8, this.actor.getYCenter() - 8, 0 ); this.actor.isOnScreen() && !h.engine.getGameAttribute('Sound Disabled') && c.playSound(c.getSound(117)); c.runLater( 800, function (a) { b._Stunned = !1; b.actor.setAnimation('Left'); b._Charging = !0; }, this.actor ); } else if (a.thisFromRight) { this._Charging = !1; if (this.actor.isOnScreen()) for ( c.startShakingScreen(0.002, 0.1), d = 0, e = c.getActorsOfType(c.getActorType(2)); d < e.length; ) (f = e[d]), ++d, null == f || f.dead || f.recycled || (this.actor.getXCenter() > f.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); this.actor.setYVelocity(-30); this.actor.setXVelocity(-14); this._Stunned = this._Bounce = !0; this.actor.setAnimation('Bounce'); c.createRecycledActor( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 8, this.actor.getYCenter() - 8, 0 ); this.actor.isOnScreen() && !h.engine.getGameAttribute('Sound Disabled') && c.playSound(c.getSound(117)); c.runLater( 800, function (a) { b._Stunned = !1; b.actor.setAnimation('Right'); b._Charging = !0; }, this.actor ); } a.thisFromBottom && this._Bounce && -5 < this.actor.getYVelocity() && ((this._Bounce = !1), this.actor.setXVelocity(0)); } }, _event_HitsDonut: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorGroup(4); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && (this._Charging && (a.thisFromLeft ? ((this._Charging = !1), this.actor.isOnScreen() && c.startShakingScreen(0.002, 0.1), this.actor.setYVelocity(-30), this.actor.setXVelocity(14), (this._Stunned = this._Bounce = !0), this.actor.setAnimation('Bounce'), c.createRecycledActor( c.getActorType(94), this.actor.getX() - 8, this.actor.getYCenter() - 8, 0 ), !h.engine.getGameAttribute('Sound Disabled') && this.actor.isOnScreen() && c.playSound(c.getSound(117)), c.runLater( 800, function (a) { b._Stunned = !1; b.actor.setAnimation('Left'); b._Charging = !0; }, this.actor )) : a.thisFromRight && ((this._Charging = !1), this.actor.isOnScreen() && c.startShakingScreen(0.002, 0.1), this.actor.setYVelocity(-30), this.actor.setXVelocity(-14), (this._Stunned = this._Bounce = !0), this.actor.setAnimation('Bounce'), c.createRecycledActor( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 8, this.actor.getYCenter() - 8, 0 ), !h.engine.getGameAttribute('Sound Disabled') && this.actor.isOnScreen() && c.playSound(c.getSound(117)), c.runLater( 800, function (a) { b._Stunned = !1; b.actor.setAnimation('Right'); b._Charging = !0; }, this.actor ))), a.thisFromBottom && this._Bounce && -5 < this.actor.getYVelocity() && ((this._Bounce = !1), this.actor.setXVelocity(0))); }, _event_Updating2: function (a) { this.wrapper.enabled && (!this._Charging || this._Stunned || ('Left' != this.actor.getAnimation() && 'Right' != this.actor.getAnimation()) || ('Left' == this.actor.getAnimation() ? this.actor.setXVelocity( Math.min(this.actor.getXVelocity() + 0.2, this._ChargeSpeed) ) : 'Right' == this.actor.getAnimation() && this.actor.setXVelocity( Math.max(this.actor.getXVelocity() - 0.2, -this._ChargeSpeed) ))); }, init: function () { this._Speed = 4; this.actor.makeAlwaysSimulate(); this._ChargeSpeed = 40; this._GravitySpeed = 48; this._Charging = !0; this._FaceLeft ? this.actor.setAnimation('Left') : this.actor.setAnimation('Right'); c.runPeriodically(100, m(this, this._event_EveryNsecs), this.actor); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsWalls)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsDonut)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating2)); }, forwardMessage: function (a) {}, __class__: Jw }); var Kw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h.Block = '_Block'; this.nameMap.h.Back = '_Back'; this.nameMap.h.Frequency = '_Frequency'; this._Frequency = 2; this.nameMap.h.Shooting = '_Shooting'; this._Shooting = !1; this.nameMap.h.Dude = '_Dude'; this.nameMap.h['X Distance'] = '_XDistance'; this._XDistance = 0; }; k['scripts.Design_426_426_ChocolateLogic'] = Kw; Kw.__name__ = 'scripts.Design_426_426_ChocolateLogic'; Kw.__super__ = n; Kw.prototype = t(n.prototype, { _Block: null, _Back: null, _Frequency: null, _Shooting: null, _Dude: null, _XDistance: null, _event_Updating: function (a) { this.wrapper.enabled && 'Shoot' == this.actor.getAnimation() && 3 == this.actor.getCurrentFrame() && this.actor.setAnimation('Normal'); }, _event_EveryNsecs: function (a) { if (this.wrapper.enabled) if ( ((a = this._Dude), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) ) this._Shooting || ((this._XDistance = Math.max(this.actor.getXCenter(), this._Dude.getXCenter()) - Math.min(this.actor.getXCenter(), this._Dude.getXCenter())), this._Dude.getYCenter() > this.actor.getY() - 64 && this._Dude.getYCenter() < this.actor.getY() + (this.actor.getHeight() + 64) && 80 > this._XDistance && this.actor.say('Chocolate Logic', '_customEvent_Shoot')); else { a = 0; for (var b = c.getActorsOfType(c.getActorType(2)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || (this._Dude = d); } } }, _customEvent_Shoot: function () { var a = this; this._Shooting || ((this._Shooting = !0), this.actor.setAnimation('Shoot'), this.actor.isOnScreen() && (h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(220))), 'Space' == h.engine.getGameAttribute('Stage Type') ? (this._Block.moveBy(0, -192, 0.7, v.quadOut), c.runLater( 900, function (b) { a._Block.moveTo(a.actor.getX() - 4, a.actor.getY() - 10, 3.4, v.quadIn); c.runLater( 3400, function (b) { a.actor.setAnimation('Shoot'); c.runLater( 400, function (b) { a._Shooting = !1; }, a.actor ); }, a.actor ); }, this.actor )) : (this._Block.moveBy(0, -128, 0.7, v.quadOut), c.runLater( 900, function (b) { a._Block.moveTo(a.actor.getX() - 4, a.actor.getY() - 10, 2, v.quadIn); c.runLater( 2e3, function (b) { a.actor.setAnimation('Shoot'); c.runLater( 400, function (b) { a._Shooting = !1; }, a.actor ); }, a.actor ); }, this.actor ))); }, init: function () { this.actor.makeAlwaysSimulate(); c.createRecycledActorOnLayer( c.getActorType(772), this.actor.getX() - 4, this.actor.getY() - 10, c.engine.getLayerById(this.actor.getLayerID()) ); this._Block = c.getLastCreatedActor(); c.getLastCreatedActor().moveToBottom(); c.createRecycledActorOnLayer( c.getActorType(770), this.actor.getX(), this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ); this._Back = c.getLastCreatedActor(); this._Back.makeAlwaysSimulate(); c.getLastCreatedActor().moveToBottom(); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); c.runPeriodically(100, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: Kw }); var Lw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h.Length = '_Length'; this._Length = 140; this.nameMap.h['Left Platform'] = '_LeftPlatform'; this.nameMap.h['Right Platform'] = '_RightPlatform'; this.nameMap.h['Left Rope'] = '_LeftRope'; this.nameMap.h['Right Rope'] = '_RightRope'; this.nameMap.h['Left Is Active'] = '_LeftIsActive'; this._LeftIsActive = !1; this.nameMap.h['Right Is Active'] = '_RightIsActive'; this._RightIsActive = !1; this.nameMap.h['Max Speed'] = '_MaxSpeed'; this._MaxSpeed = 0; this.nameMap.h['Max Height'] = '_MaxHeight'; this._MaxHeight = 0; this.nameMap.h['Min Height'] = '_MinHeight'; this._MinHeight = 0; }; k['scripts.Design_436_436_ElevatorLogic'] = Lw; Lw.__name__ = 'scripts.Design_436_436_ElevatorLogic'; Lw.__super__ = n; Lw.prototype = t(n.prototype, { _Length: null, _LeftPlatform: null, _RightPlatform: null, _LeftRope: null, _RightRope: null, _LeftIsActive: null, _RightIsActive: null, _MaxSpeed: null, _MaxHeight: null, _MinHeight: null, _event_Updating: function (a) { this.wrapper.enabled && ((a = this._LeftRope), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a) ? ((a = this._RightRope), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a) ? ((a = this._LeftPlatform), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a) ? ((a = this._RightPlatform), (a = c.isPrimitive(a) ? !0 : 'string' == typeof a ? '' != w.__cast(a, String) : null != a)) : (a = !1)) : (a = !1)) : (a = !1), a && (Q.setScale( 'height', this._LeftPlatform.getY() - this.actor.getY() - 4, this._LeftRope ), Q.setScale( 'height', this._RightPlatform.getY() - this.actor.getY() - 4, this._RightRope ), this._LeftPlatform.getValue('Pass Through Platform', '_Active') ? (this._LeftIsActive = !0) : this._RightPlatform.getValue('Pass Through Platform', '_Active') ? (this._RightIsActive = !0) : (this._RightIsActive = this._LeftIsActive = !1), 0 < this._LeftPlatform.getYVelocity() ? 'Left' != this.actor.getAnimation() && (this.actor.setAnimation('Left'), h.engine.getGameAttribute('Sound Disabled') || c.loopSoundOnChannel(c.getSound(793), 7)) : 0 < this._RightPlatform.getYVelocity() ? 'Right' != this.actor.getAnimation() && (this.actor.setAnimation('Right'), h.engine.getGameAttribute('Sound Disabled') || c.loopSoundOnChannel(c.getSound(793), 7)) : 'Stopped' != this.actor.getAnimation() && (this.actor.setAnimation('Stopped'), c.stopSoundOnChannel(7)))); }, _event_EveryNsecs: function (a) { this.wrapper.enabled && ((a = this._LeftPlatform), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a) ? ((a = this._RightPlatform), (a = c.isPrimitive(a) ? !0 : 'string' == typeof a ? '' != w.__cast(a, String) : null != a)) : (a = !1), a && (this._LeftIsActive ? (this._LeftPlatform.getY() >= this._MaxHeight ? (this._LeftPlatform.setYVelocity(0), this._LeftPlatform.setY(this._MaxHeight)) : this._LeftPlatform.setYVelocity( Math.min(this._LeftPlatform.getYVelocity() + 0.6, this._MaxSpeed) ), this._RightPlatform.getY() <= this._MinHeight ? (this._RightPlatform.setYVelocity(0), this._RightPlatform.setY(this._MinHeight)) : this._RightPlatform.setYVelocity(-this._LeftPlatform.getYVelocity())) : this._RightIsActive ? (this._RightPlatform.getY() >= this._MaxHeight ? (this._RightPlatform.setYVelocity(0), this._RightPlatform.setY(this._MaxHeight)) : this._RightPlatform.setYVelocity( Math.min(this._RightPlatform.getYVelocity() + 0.6, this._MaxSpeed) ), this._LeftPlatform.getY() <= this._MinHeight ? (this._LeftPlatform.setYVelocity(0), this._LeftPlatform.setY(this._MinHeight)) : this._LeftPlatform.setYVelocity(-this._RightPlatform.getYVelocity())) : (this._LeftPlatform.setYVelocity(0), this._RightPlatform.setYVelocity(0), this._LeftPlatform.getY() > this._MaxHeight && this._LeftPlatform.setY(this._MaxHeight), this._RightPlatform.getY() > this._MaxHeight && this._RightPlatform.setY(this._MaxHeight), this._LeftPlatform.getY() < this._MinHeight && this._LeftPlatform.setY(this._MinHeight), this._RightPlatform.getY() < this._MinHeight && this._RightPlatform.setY(this._MinHeight)))); }, init: function () { this._MaxSpeed = 16; this._MinHeight = this.actor.getY() + 36; this._MaxHeight = this.actor.getY() + (this._Length + 36); c.createRecycledActorOnLayer( c.getActorType(787), this.actor.getX() - 40, this.actor.getY() + this.actor.getHeight() + this._Length / 2, c.engine.getLayerById(this.actor.getLayerID()) ); this._LeftPlatform = c.getLastCreatedActor(); c.createRecycledActorOnLayer( c.getActorType(787), this.actor.getX() + this.actor.getWidth() - 56, this.actor.getY() + this.actor.getHeight() + this._Length / 2, c.engine.getLayerById(this.actor.getLayerID()) ); this._RightPlatform = c.getLastCreatedActor(); c.createRecycledActorOnLayer( c.getActorType(791), this.actor.getX() + 2, this.actor.getY() + 6, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveToBottom(); this._LeftRope = c.getLastCreatedActor(); c.createRecycledActorOnLayer( c.getActorType(791), this.actor.getX() + this.actor.getWidth() - 14, this.actor.getY() + 6, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveToBottom(); this._RightRope = c.getLastCreatedActor(); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); c.runPeriodically(50, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: Lw }); var Mw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Button Number'] = '_ButtonNumber'; this._ButtonNumber = 0; this.nameMap.h.Go = '_Go'; this._Go = !1; this.nameMap.h['Balloon Speed'] = '_BalloonSpeed'; this._BalloonSpeed = -10; }; k['scripts.Design_439_439_BalloonHatchLogic'] = Mw; Mw.__name__ = 'scripts.Design_439_439_BalloonHatchLogic'; Mw.__super__ = n; Mw.prototype = t(n.prototype, { _ButtonNumber: null, _Go: null, _BalloonSpeed: null, _customEvent_Go: function () { var a = this; this._Go || ((this._Go = !0), this.actor.setAnimation('Shoot'), c.runLater( 500, function (b) { a._Go = !1; a.actor.setAnimation('Normal'); }, this.actor ), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(220)), c.createRecycledActorOnLayer( c.getActorType(796), this.actor.getXCenter() - 18, this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveToBottom(), c.getLastCreatedActor().setYVelocity(this._BalloonSpeed)); }, init: function () { this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: Mw }); var Nw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Target Actor'] = '_TargetActor'; this.nameMap.h['Distance X'] = '_DistanceX'; this._DistanceX = 0; this.nameMap.h['Distance Y'] = '_DistanceY'; this._DistanceY = 0; this.nameMap.h.Distance = '_Distance'; this._Distance = 0; this.nameMap.h.Direction = '_Direction'; this._Direction = 0; this.nameMap.h.Speed = '_Speed'; this._Speed = 30; this.nameMap.h.Margin = '_Margin'; this._Margin = 0; this.nameMap.h.Easing = '_Easing'; this._Easing = !0; this.nameMap.h['Minimum Easing Speed'] = '_MinimumEasingSpeed'; this._MinimumEasingSpeed = 5; this.nameMap.h['Screen Diagonal'] = '_ScreenDiagonal'; this._ScreenDiagonal = 0; this.nameMap.h['Stop when Colliding'] = '_StopwhenColliding'; this._StopwhenColliding = !0; this.nameMap.h.Collided = '_Collided'; this._Collided = !1; }; k['scripts.Design_43_43_FollowTarget'] = Nw; Nw.__name__ = 'scripts.Design_43_43_FollowTarget'; Nw.__super__ = n; Nw.prototype = t(n.prototype, { _TargetActor: null, _DistanceX: null, _DistanceY: null, _Distance: null, _Direction: null, _Speed: null, _Margin: null, _Easing: null, _MinimumEasingSpeed: null, _ScreenDiagonal: null, _StopwhenColliding: null, _Collided: null, _event_Updated: function (a) { this.wrapper.enabled && ((a = this._TargetActor), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._TargetActor.isAlive() && ((this._DistanceX = this._TargetActor.getXCenter() - this.actor.getXCenter()), (this._DistanceY = this._TargetActor.getYCenter() - this.actor.getYCenter()), (this._Distance = Math.sqrt( Math.pow(this._DistanceX, 2) + Math.pow(this._DistanceY, 2) )), (this._Direction = 57.29577951308402 * Math.atan2(this._DistanceY, this._DistanceX)), !(this._Distance > this._Margin) || (this._StopwhenColliding && this._Collided) ? this.actor.setVelocity(0, 0) : this._Easing ? this.actor.setVelocity( this._Direction, this._MinimumEasingSpeed + ((this._Distance - this._Margin) / this._ScreenDiagonal) * this._Speed ) : this.actor.setVelocity(this._Direction, this._Speed), (this._Collided = !1))); }, _event_ActorActor: function (a) { this.wrapper.enabled && this._TargetActor == a.otherActor && (this._Collided = !0); }, init: function () { this._ScreenDiagonal = Math.sqrt( Math.pow(c.getScreenWidth(), 2) + Math.pow(c.getScreenHeight(), 2) ); this.addListener(this.actor.whenUpdated, m(this, this._event_Updated)); this.addListener(this.actor.whenCollided, m(this, this._event_ActorActor)); }, forwardMessage: function (a) {}, __class__: Nw }); var Ow = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h.Speed = '_Speed'; this._Speed = 140; this.nameMap.h.Sensor = '_Sensor'; this.nameMap.h.Arrow = '_Arrow'; this.nameMap.h.Light = '_Light'; this.nameMap.h['Starting Angle'] = '_StartingAngle'; this._StartingAngle = 0; this.nameMap.h['Flip On Enter'] = '_FlipOnEnter'; this._FlipOnEnter = !1; this.nameMap.h['Flip Distance'] = '_FlipDistance'; this._FlipDistance = 180; }; k['scripts.Design_442_442_BarrelCannonLogic'] = Ow; Ow.__name__ = 'scripts.Design_442_442_BarrelCannonLogic'; Ow.__super__ = n; Ow.prototype = t(n.prototype, { _Speed: null, _Sensor: null, _Arrow: null, _Light: null, _StartingAngle: null, _FlipOnEnter: null, _FlipDistance: null, _event_AfterNsecs: function (a) { this.wrapper.enabled && (this.actor.moveToTop(), this._Light.moveToTop(), this._Arrow.moveToTop()); }, _event_Updating: function (a) { if (this.wrapper.enabled) { a = this._Sensor; if (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) this._Sensor.setX(this.actor.getX()), this._Sensor.setY(this.actor.getY()); a = this._Sensor; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Sensor.setAngle(1 * this.actor.getAngle()); a = this._Arrow; if (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) this._Arrow.setAngle(1 * this.actor.getAngle()), this._Arrow.setX(this.actor.getX()), this._Arrow.setY(this.actor.getY()); a = this._Light; if (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) this._Light.setX(this.actor.getX()), this._Light.setY(this.actor.getY()); } }, _customEvent_Reset: function () { var a = this; c.runLater( 500, function (b) { a.actor.setAngularVelocity(0.01745329251994278 * a._Speed); }, this.actor ); }, init: function () { this.actor.makeAlwaysSimulate(); this.actor.setAngularVelocity(0.01745329251994278 * this._Speed); 0 == this._Speed && this.actor.setAngle(0.01745329251994278 * this._StartingAngle); c.createRecycledActorOnLayer( c.getActorType(802), this.actor.getX(), this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ); this._Sensor = c.getLastCreatedActor(); this._Sensor.setValue('Cannon Sensor Logic', '_Cannon', this.actor); this._Sensor.disableActorDrawing(); c.createRecycledActorOnLayer( c.getActorType(807), this.actor.getX(), this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ); this._Light = c.getLastCreatedActor(); c.createRecycledActorOnLayer( c.getActorType(805), this.actor.getX(), this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ); this._Arrow = c.getLastCreatedActor(); c.runLater(300, m(this, this._event_AfterNsecs), this.actor); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Ow }); var Pw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h.Cannon = '_Cannon'; this.nameMap.h.Occupied = '_Occupied'; this._Occupied = !1; }; k['scripts.Design_443_443_CannonSensorLogic'] = Pw; Pw.__name__ = 'scripts.Design_443_443_CannonSensorLogic'; Pw.__super__ = n; Pw.prototype = t(n.prototype, { _Cannon: null, _Occupied: null, init: function () { this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: Pw }); var Qw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Origin Direction'] = '_OriginDirection'; this._OriginDirection = 0; this.nameMap.h.Force = '_Force'; this._Force = 0; this.nameMap.h.Springing = '_Springing'; this._Springing = !1; this.nameMap.h['Has entered screen'] = '_Hasenteredscreen'; this._Hasenteredscreen = !1; }; k['scripts.Design_448_448_FlipperLogic'] = Qw; Qw.__name__ = 'scripts.Design_448_448_FlipperLogic'; Qw.__super__ = n; Qw.prototype = t(n.prototype, { _OriginDirection: null, _Force: null, _Springing: null, _Hasenteredscreen: null, _event_Updating: function (a) { this.wrapper.enabled && (this._Springing || this.actor.setAngle(0.01745329251994278 * this._OriginDirection)); }, _event_HitsAnything: function (a) { var b = this; !this.wrapper.enabled || (a.otherActor.getType() != c.getActorType(2) && a.otherActor.getType() != c.getActorType(762) && a.otherActor.getType() != c.getActorType(32) && a.otherActor.getType() != c.getActorType(884)) || (a.otherActor.setValue('Dude Logic', '_BigSpring', !0), a.otherActor.setValue('Dude Logic', '_CanDoubleJump', !0), !this._Springing && a.thisFromTop && ('Left' == this.actor.getAnimation() ? (this.actor.setAngle(0.01745329251994278 * this._OriginDirection), (this._Springing = !0), !h.engine.getGameAttribute('Sound Disabled') && this.actor.isOnScreen() && c.playSound(c.getSound(817)), this.actor.isOnScreen() && a.otherActor.getType() == c.getActorType(2) && (c.setValueForScene('Stage Logic', '_RumbleName', 'Spring'), c.sayToScene('Stage Logic', '_customEvent_rumble')), a.otherActor.setYVelocity(-this._Force), a.otherActor.setXVelocity(0.5 * this._Force), this.actor.spinBy(-30, 0.03, v.quadInOut), c.runLater( 100, function (a) { b.actor.spinBy(30, 0.3, v.quadInOut); c.runLater( 400, function (a) { b._Springing = !1; b.actor.setAngle(0.01745329251994278 * b._OriginDirection); }, b.actor ); }, this.actor )) : 'Right' == this.actor.getAnimation() && (this.actor.setAngle(0.01745329251994278 * this._OriginDirection), (this._Springing = !0), !h.engine.getGameAttribute('Sound Disabled') && this.actor.isOnScreen() && c.playSound(c.getSound(817)), this.actor.isOnScreen() && a.otherActor.getType() == c.getActorType(2) && (c.setValueForScene('Stage Logic', '_RumbleName', 'Spring'), c.sayToScene('Stage Logic', '_customEvent_rumble')), a.otherActor.setYVelocity(-this._Force), a.otherActor.setXVelocity(-(0.5 * this._Force)), this.actor.spinBy(30, 0.03, v.quadInOut), c.runLater( 100, function (a) { b.actor.spinBy(-30, 0.3, v.quadInOut); }, this.actor ), c.runLater( 400, function (a) { b._Springing = !1; b.actor.setAngle(0.01745329251994278 * b._OriginDirection); }, this.actor )))); }, init: function () { this.actor.makeAlwaysSimulate(); this._OriginDirection = 57.29577951308402 * this.actor.getAngle(); this._Force = 86; this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsAnything)); }, forwardMessage: function (a) {}, __class__: Qw }); var Rw = function (a, b, d) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Button Number'] = '_ButtonNumber'; this._ButtonNumber = 0; this.nameMap.h.Go = '_Go'; this._Go = !1; this.nameMap.h['Go Delay'] = '_GoDelay'; this._GoDelay = 0; this.nameMap.h['Lock list'] = '_Locklist'; this.nameMap.h['Boss Hole Sensor'] = '_BossHoleSensor'; this._BossHoleSensor = !1; this.nameMap.h.Reset = '_Reset'; this._Reset = !1; this.nameMap.h['Turn Block'] = '_TurnBlock'; this._TurnBlock = c.getActor(0); this.nameMap.h.Timer = '_Timer'; this._Timer = 0; this.nameMap.h.Tock = '_Tock'; this._Tock = !1; this.nameMap.h.Reverse = '_Reverse'; this._Reverse = !1; }; k['scripts.Design_452_452_TimerBlockLogic'] = Rw; Rw.__name__ = 'scripts.Design_452_452_TimerBlockLogic'; Rw.__super__ = n; Rw.prototype = t(n.prototype, { _ButtonNumber: null, _Go: null, _GoDelay: null, _Locklist: null, _BossHoleSensor: null, _Reset: null, _TurnBlock: null, _Timer: null, _Tock: null, _Reverse: null, _customEvent_Go: function () { var a = this; this._Go || ((this._Timer = 0.7), (this._Go = !0), this._Reverse ? this.actor.setAnimation('Off') : this.actor.setAnimation('On'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-32, 32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(32, 32, 0.3, v.backOut), c.runLater( 1e3 * this._Timer, function (b) { a.actor.shout('_customEvent_Count'); }, this.actor )); }, _customEvent_Count: function () { var a = this; this._Timer = Math.max(0, this._Timer - 0.05); this._Reverse ? this.actor.setAnimation('RFlash') : this.actor.setAnimation('Flash'); h.engine.getGameAttribute('Sound Disabled') || (this._Tock ? ((this._Tock = !1), c.playSoundOnChannel(c.getSound(823), 5)) : ((this._Tock = !0), c.playSoundOnChannel(c.getSound(822), 5))); c.runLater( 50, function (b) { a._Reverse ? a.actor.setAnimation('Off') : a.actor.setAnimation('On'); 0 == a._Timer && ((a._Go = !1), a._Reverse ? a.actor.setAnimation('On') : a.actor.setAnimation('Off'), c.createRecycledActorOnLayer( c.getActorType(94), a.actor.getXCenter() - 8, a.actor.getYCenter() - 8, c.engine.getLayerById(a.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), a.actor.getXCenter() - 8, a.actor.getYCenter() - 8, c.engine.getLayerById(a.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), a.actor.getXCenter() - 8, a.actor.getYCenter() - 8, c.engine.getLayerById(a.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-32, 32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), a.actor.getXCenter() - 8, a.actor.getYCenter() - 8, c.engine.getLayerById(a.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(32, 32, 0.3, v.backOut)); }, this.actor ); 0 != this._Timer && c.runLater( 1e3 * this._Timer, function (b) { a.actor.shout('_customEvent_Count'); }, this.actor ); }, init: function () { this.actor.makeAlwaysSimulate(); this._Reverse && this.actor.setAnimation('On'); }, forwardMessage: function (a) {}, __class__: Rw }); var Sw = function (a, b, d) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Button Number'] = '_ButtonNumber'; this._ButtonNumber = 0; this.nameMap.h.Go = '_Go'; this._Go = !1; this.nameMap.h['Go Delay'] = '_GoDelay'; this._GoDelay = 0; this.nameMap.h['Lock list'] = '_Locklist'; this.nameMap.h['Boss Hole Sensor'] = '_BossHoleSensor'; this._BossHoleSensor = !1; this.nameMap.h.Reset = '_Reset'; this._Reset = !1; this.nameMap.h['Turn Block'] = '_TurnBlock'; this._TurnBlock = c.getActor(0); this.nameMap.h.Timer = '_Timer'; this._Timer = 0; this.nameMap.h.Tock = '_Tock'; this._Tock = !1; this.nameMap.h['Start Y'] = '_StartY'; this._StartY = 0; this.nameMap.h['In Place'] = '_InPlace'; this._InPlace = !1; this.nameMap.h['Slide Up'] = '_SlideUp'; this._SlideUp = !1; this.nameMap.h.Speed = '_Speed'; this._Speed = 4; }; k['scripts.Design_455_455_DangerDoorLogic'] = Sw; Sw.__name__ = 'scripts.Design_455_455_DangerDoorLogic'; Sw.__super__ = n; Sw.prototype = t(n.prototype, { _ButtonNumber: null, _Go: null, _GoDelay: null, _Locklist: null, _BossHoleSensor: null, _Reset: null, _TurnBlock: null, _Timer: null, _Tock: null, _StartY: null, _InPlace: null, _SlideUp: null, _Speed: null, _event_Updating: function (a) { if (this.wrapper.enabled && !this._Go) if (this.actor.getY() > this._StartY && this.actor.getType() == c.getActorType(862)) this.actor.setYVelocity(-this._Speed); else if (this.actor.getY() < this._StartY) this.actor.setYVelocity(this._Speed); else if (!this._InPlace) { this._InPlace = !0; c.startShakingScreen(0.005, 0.1); this.actor.isOnScreen() && !h.engine.getGameAttribute('Sound Disabled') && c.playSoundOnChannel(c.getSound(827), 7); if (this.actor.isOnScreen()) { a = 0; for (var b = c.getActorsOfType(c.getActorType(2)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || (this.actor.getXCenter() > d.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); } } this.actor.getType() == c.getActorType(862) ? (c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Dirt'), c.getLastCreatedActor().moveBy(0, 32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Dirt'), c.getLastCreatedActor().moveBy(-32, 32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Dirt'), c.getLastCreatedActor().moveBy(32, 32, 0.3, v.backOut)) : (c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + 128 - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Dirt'), c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + 128 - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Dirt'), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + 128 - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Dirt'), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut)); this.actor.setY(this._StartY); this.actor.setYVelocity(0); } }, _customEvent_Go: function () { var a = this; this._Go || (h.engine.getGameAttribute('Sound Disabled') || c.playSoundOnChannel(c.getSound(826), 7), (this._Go = !0), (this._InPlace = !1), this.actor.getType() == c.getActorType(862) ? this.actor.moveTo(this.actor.getX(), this._StartY + 128, 0.2, v.quadInOut) : this.actor.moveTo(this.actor.getX(), this._StartY - 128, 0.2, v.quadInOut), c.runLater( 600, function (b) { a._Go = !1; }, this.actor )); }, init: function () { this.actor.makeAlwaysSimulate(); this._StartY = this.actor.getY(); this.actor.setAnimation(h.engine.getGameAttribute('Stage Type')); h.engine.getGameAttribute('Possum Mode') && (this._Speed *= 0.5); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Sw }); var Tw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Hit Ground'] = '_HitGround'; this._HitGround = !1; this.nameMap.h['Sensor Row Count'] = '_SensorRowCount'; this._SensorRowCount = 0; this.nameMap.h['Sensor Column Count'] = '_SensorColumnCount'; this._SensorColumnCount = 0; this.nameMap.h['Shake Image'] = '_ShakeImage'; this.nameMap.h['Shake Image Instance'] = '_ShakeImageInstance'; this.nameMap.h['Shake Count'] = '_ShakeCount'; this._ShakeCount = 0; this.nameMap.h.Left = '_Left'; this._Left = !1; this.nameMap.h.Shake = '_Shake'; this._Shake = !1; this.nameMap.h['Sensor List'] = '_SensorList'; this.nameMap.h.Fall = '_Fall'; this._Fall = !1; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h.Done = '_Done'; this._Done = !1; this.nameMap.h['Has Hit Dude'] = '_HasHitDude'; this._HasHitDude = !1; this.nameMap.h.Height = '_Height'; this._Height = 0; }; k['scripts.Design_45_45_FallingSpikeLogic'] = Tw; Tw.__name__ = 'scripts.Design_45_45_FallingSpikeLogic'; Tw.__super__ = n; Tw.prototype = t(n.prototype, { _HitGround: null, _SensorRowCount: null, _SensorColumnCount: null, _ShakeImage: null, _ShakeImageInstance: null, _ShakeCount: null, _Left: null, _Shake: null, _SensorList: null, _Fall: null, _GravitySpeed: null, _Done: null, _HasHitDude: null, _Height: null, _event_EveryNsecs: function (a) { this.wrapper.enabled && this._Shake && !this._Fall && !this._Done && (c.attachImageToActor( this._ShakeImageInstance, this.actor, (-2 + this._ShakeCount) | 0, 0, 1 ), 6 != this._ShakeCount || this._Left ? 0 == this._ShakeCount && this._Left && (this._Left = !1) : (this._Left = !0), (this._ShakeCount = this._Left ? this._ShakeCount - 2 : this._ShakeCount + 2)); }, _event_DudeHitsSensor: function (a) { var b = this; if ( this.wrapper.enabled && !this._Shake && !this._Fall && !this._Done && W.contains(this._SensorList, a.otherActor) ) { this._Shake = !0; h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(106)); a = 0; for (var d = w.__cast(this._SensorList, Array); a < d.length; ) { var e = d[a]; ++a; c.recycleActor(e); } c.runLater( 800, function (a) { b._Fall = !0; b.actor.moveBy(0, 32 * b._Height, 0.08 * (b._Height + 1), v.quadIn); b._Shake = !1; c.attachImageToActor(b._ShakeImageInstance, b.actor, 0, 0, 1); c.runLater( 80 * (b._Height + 1), function (a) { b._Done = !0; b._Fall = !1; a = 0; for (var d = c.getActorsOfType(c.getActorType(2)); a < d.length; ) { var e = d[a]; ++a; null == e || e.dead || e.recycled || (b.actor.getXCenter() > e.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Spike Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Spike Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); } h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(113)); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getY() + b.actor.getHeight() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getY() + b.actor.getHeight() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getY() + b.actor.getHeight() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); b.actor.say('Falling Spike Logic', '_customEvent_Destroy'); c.startShakingScreen(0.002, 0.03); }, b.actor ); }, this.actor ); } }, _event_HitsDude: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(2); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && !this._HasHitDude && ((this._HasHitDude = !0), a.otherActor.say('Dude Logic', '_customEvent_Die'), this.actor.say('Falling Spike Logic', '_customEvent_Destroy')); }, _customEvent_Destroy: function () { c.recycleActor(this.actor); }, init: function () { this.actor.makeAlwaysSimulate(); this._ShakeImage = c.getImageForActor(this.actor); this._ShakeImageInstance = new rf(new rc(this._ShakeImage)); this.actor.disableActorDrawing(); c.attachImageToActor(this._ShakeImageInstance, this.actor, 0, 0, 1); this._GravitySpeed = 48; this._SensorList = []; this._HitGround = !1; for (this._SensorRowCount = 0; !this._HitGround; ) c.tileExistsAt( (Math.round((this.actor.getY() + this.actor.getHeight()) / 32) + this._SensorRowCount) | 0, Math.floor(this.actor.getX() / 32), c.engine.getLayerById(0) ) && 7 < c.getTileIDAt( (Math.round((this.actor.getY() + this.actor.getHeight()) / 32) + this._SensorRowCount) | 0, (Math.round(this.actor.getX() / 32) + this._SensorColumnCount) | 0, c.engine.getLayerById(0) ) ? (this._HitGround = !0) : (c.createRecycledActor( c.getActorType(68), 16 * Math.round(this.actor.getX() / 16), 32 * (Math.round((this.actor.getY() + this.actor.getHeight()) / 32) + this._SensorRowCount), 0 ), this._SensorList.push(c.getLastCreatedActor()), c.getLastCreatedActor().disableActorDrawing()), (this._SensorRowCount += 1); if (0 == this._Height || this._Height < this._SensorRowCount) this._Height = this._SensorRowCount; c.runPeriodically(20, m(this, this._event_EveryNsecs), this.actor); this.addListenerWithKey2( c.engine.whenCollidedEvents, c.getActorType(2).ID, c.getActorType(68).ID, m(this, this._event_DudeHitsSensor) ); this.addListener(this.actor.whenCollided, m(this, this._event_HitsDude)); }, forwardMessage: function (a) {}, __class__: Tw }); var Uw = function (a, b) { c.call(this); this.nameMap.h['Player Created'] = '_PlayerCreated'; this._PlayerCreated = !1; this.nameMap.h['Transition Row Count'] = '_TransitionRowCount'; this._TransitionRowCount = 0; this.nameMap.h['Transition Col Count'] = '_TransitionColCount'; this._TransitionColCount = 0; this.nameMap.h.Dude = '_Dude'; this.nameMap.h['Transition Type'] = '_TransitionType'; this._TransitionType = 0; this.nameMap.h['Snow Speed'] = '_SnowSpeed'; this._SnowSpeed = 0; this.nameMap.h['Pause Button'] = '_PauseButton'; this.nameMap.h['Transition X Center'] = '_TransitionXCenter'; this._TransitionXCenter = 0; this.nameMap.h['Transition Y Center'] = '_TransitionYCenter'; this._TransitionYCenter = 0; this.nameMap.h.Overlay = '_Overlay'; this.nameMap.h['Level Number'] = '_LevelNumber'; this._LevelNumber = 0; this.nameMap.h['Beach BG Created'] = '_BeachBGCreated'; this._BeachBGCreated = !1; this.nameMap.h['Beach BG Width'] = '_BeachBGWidth'; this._BeachBGWidth = 0; this.nameMap.h.Angle = '_Angle'; this._Angle = 0; this.nameMap.h['Landscape Left'] = '_LandscapeLeft'; this._LandscapeLeft = !1; this.nameMap.h['Current Orientation'] = '_CurrentOrientation'; this._CurrentOrientation = 0; this.nameMap.h['CONTROLLER TESTER'] = '_CONTROLLERTESTER'; this._CONTROLLERTESTER = ''; this.nameMap.h['Timer Banner'] = '_TimerBanner'; this.nameMap.h['Time String'] = '_TimeString'; this._TimeString = ''; this.nameMap.h['Timer On'] = '_TimerOn'; this._TimerOn = !1; this.nameMap.h['Timer Seconds'] = '_TimerSeconds'; this._TimerSeconds = 0; this.nameMap.h['Timer Minutes'] = '_TimerMinutes'; this._TimerMinutes = 0; this.nameMap.h['Timer Hundreths'] = '_TimerHundreths'; this._TimerHundreths = 0; this.nameMap.h['Minutes String'] = '_MinutesString'; this._MinutesString = ''; this.nameMap.h['Seconds String'] = '_SecondsString'; this._SecondsString = ''; this.nameMap.h['Hundreths String'] = '_HundrethsString'; this._HundrethsString = ''; this.nameMap.h['Show Timer'] = '_ShowTimer'; this._ShowTimer = !1; this.nameMap.h['Total in Hundreths'] = '_TotalinHundreths'; this._TotalinHundreths = 0; this.nameMap.h['Previous Total In Hundreths'] = '_PreviousTotalInHundreths'; this._PreviousTotalInHundreths = 0; this.nameMap.h['Previous Time String'] = '_PreviousTimeString'; this._PreviousTimeString = ''; this.nameMap.h['Clouds Width'] = '_CloudsWidth'; this._CloudsWidth = 0; this.nameMap.h['Back Clouds Pacer'] = '_BackCloudsPacer'; this._BackCloudsPacer = !1; this.nameMap.h['Clouds Pacer'] = '_CloudsPacer'; this._CloudsPacer = 0; this.nameMap.h['Rumble Name'] = '_RumbleName'; this._RumbleName = ''; this.nameMap.h['RUMBLE ON'] = '_RUMBLEON'; this._RUMBLEON = !1; }; k['scripts.Design_49_49_StageLogic'] = Uw; Uw.__name__ = 'scripts.Design_49_49_StageLogic'; Uw.__super__ = fa; Uw.prototype = t(fa.prototype, { _PlayerCreated: null, _TransitionRowCount: null, _TransitionColCount: null, _Dude: null, _TransitionType: null, _SnowSpeed: null, _PauseButton: null, _TransitionXCenter: null, _TransitionYCenter: null, _Overlay: null, _LevelNumber: null, _BeachBGCreated: null, _BeachBGWidth: null, _Angle: null, _LandscapeLeft: null, _CurrentOrientation: null, _CONTROLLERTESTER: null, _TimerBanner: null, _TimeString: null, _TimerOn: null, _TimerSeconds: null, _TimerMinutes: null, _TimerHundreths: null, _MinutesString: null, _SecondsString: null, _HundrethsString: null, _ShowTimer: null, _TotalinHundreths: null, _PreviousTotalInHundreths: null, _PreviousTimeString: null, _CloudsWidth: null, _BackCloudsPacer: null, _CloudsPacer: null, _RumbleName: null, _RUMBLEON: null, _event_Timer: function (a, b, d) { if ( this.wrapper.enabled && ((b = this._TimerBanner), c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && (this._TimerBanner.setX( -( this._TimerBanner.getWidth() - (c.getFont(526).getTextWidth(this._TimeString) / h.SCALE + 48) ) ), this._ShowTimer) ) { b = c.getFont(526); null != b && b != a.font && (a.font = b); var e = this._TimerBanner; a.drawActor = !0; a.actor = e; e.smoothMove ? ((b = e.drawX - Math.floor(e.cacheWidth / 2) - e.currOffset.x), (d = e.drawY - Math.floor(e.cacheHeight / 2) - e.currOffset.y), (a.x = b * a.scaleX), (a.y = d * a.scaleY)) : ((a.x = e.colX * a.scaleX), (a.y = e.colY * a.scaleY)); c.setDrawingLayerToSceneLayer(); e = this._TimeString; b = this._TimerBanner.getWidth() - (c.getFont(526).getTextWidth(this._TimeString) / h.SCALE + 16); d = this._TimerBanner.getHeight() / 2 - 5; null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)); a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + b * a.scaleX), (d = a.y + d * a.scaleY)) : ((b = a.x + b * a.scaleX - h.cameraX), (d = a.y + d * a.scaleY - h.cameraY)) : ((b = a.x + b * a.scaleX), (d = a.y + d * a.scaleY)); a.mtx.identity(); a.mtx.translate(b, d); var f = null, g = a.font; g = e + ':' + g.ID + ':' + a.alpha + ':' + g.letterSpacing + ':' + h.SCALE; if (Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, g)) (e = ha.drawnStringCache.h[g]), (e.lifetime = 5), (f = e.img); else { var l = a.font.font.getTextWidth(e, a.font.letterSpacing, a.font.fontScale), k = (a.font.font.getFontHeight() * a.font.fontScale) | 0; 0 < l && 0 < k && ((f = new la(l, k, !0, 0)), a.font.font.renderToImg( f, e, 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (e = new sc()), (e.img = f), (e.lifetime = 5), (ha.drawnStringCache.h[g] = e), ha.drawnStringCacheKeys.push(g)); } null != f && (a.graphics.beginBitmapFill(f, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, d, f.width, f.height), a.graphics.endFill()); } }, _event_Clouds: function (a, b, d) { if (this.wrapper.enabled) { if ('Office' == h.engine.getGameAttribute('Stage Type')) if (8 > this._CloudsPacer) this._CloudsPacer += 1; else for ( a = this._CloudsPacer = 0, b = c.getActorsOfType(c.getActorType(716)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || (d.setX(d.getX() - 1), d.getX() <= -this._CloudsWidth && d.setX( this._CloudsWidth * Math.ceil(c.getScreenWidth() / this._CloudsWidth) )); if ('Meadow' == h.engine.getGameAttribute('Stage Type')) if (2 > this._CloudsPacer) this._CloudsPacer += 1; else for ( a = this._CloudsPacer = 0, b = c.getActorsOfType(c.getActorType(724)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || (d.setX(d.getX() - 1), d.getX() <= -this._CloudsWidth && d.setX( this._CloudsWidth * Math.ceil(c.getScreenWidth() / this._CloudsWidth) )); if ('Swamp' == h.engine.getGameAttribute('Stage Type')) if (3 > this._CloudsPacer) this._CloudsPacer += 1; else for ( a = this._CloudsPacer = 0, b = c.getActorsOfType(c.getActorType(739)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || (d.setX(d.getX() - 1), d.getX() <= -this._CloudsWidth && d.setX( this._CloudsWidth * Math.ceil(c.getScreenWidth() / this._CloudsWidth) )); } }, _event_TimerCountCopy: function (a) { this.wrapper.enabled && (this._TimerOn && ((this._TimerHundreths += 1), 99 < this._TimerHundreths && ((this._TimerSeconds += 1), (this._TimerHundreths = 0), 59 < this._TimerSeconds && ((this._TimerMinutes += 1), (this._TimerSeconds = 0)))), 10 <= this._TimerMinutes ? ((this._MinutesString = '10'), (this._HundrethsString = this._SecondsString = '00')) : (1 == ('' + this._TimerHundreths).length ? (this._HundrethsString = '0' + this._TimerHundreths) : 2 == ('' + this._TimerHundreths).length && (this._HundrethsString = '' + this._TimerHundreths), 1 == ('' + this._TimerSeconds).length ? (this._SecondsString = '0' + this._TimerSeconds) : 2 == ('' + this._TimerSeconds).length && (this._SecondsString = '' + this._TimerSeconds), 1 == ('' + this._TimerMinutes).length ? (this._MinutesString = '0' + this._TimerMinutes) : 2 == ('' + this._TimerMinutes).length && (this._MinutesString = '' + this._TimerMinutes)), (this._TimeString = this._MinutesString + (':' + (this._SecondsString + (':' + this._HundrethsString))))); }, _event_AnyButton: function (a) { this.wrapper.enabled && (this._CONTROLLERTESTER = a); }, _event_Leaves: function (a) { if (this.wrapper.enabled && 'Meadow' == h.engine.getGameAttribute('Stage Type')) { a = 0; for (var b = c.randomInt(0, 2); a < b; ) a++, c.createRecycledActorOnLayer( c.getActorType(90), c.getScreenX() + c.getScreenWidth() + c.randomInt(0, 64), c.randomInt(c.getScreenY() | 0, (c.getScreenY() + c.getScreenHeight() - 96) | 0), c.engine.getLayerById(0) ); } }, _customEvent_createPauseButton: function () { var a = this._PauseButton; c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a) || (c.createRecycledActor(c.getActorType(234), c.getScreenWidth() - 56, 12, 0), (this._PauseButton = c.getLastCreatedActor())); }, _customEvent_timerStart: function () { this._TimerOn = !0; }, _customEvent_timerHide: function () { var a = this; c.runLater( 1e3, function (b) { a._ShowTimer = !1; a._TimerBanner.disableActorDrawing(); }, null ); }, _customEvent_timerShow: function () { var a = this; c.runLater( 1e3, function (b) { a._ShowTimer = !0; a._TimerBanner.enableActorDrawing(); }, null ); }, _customEvent_timerStop: function () { this._TimerOn = !1; var a = h.engine.getGameAttribute('Best Times'), b = c.getCurrentSceneName().split(' ')[1]; this._PreviousTimeString = '' + z.string( a[ ((null == b ? 0 : 'number' == typeof b ? w.__cast(b, ob) : 'number' == typeof b && (b | 0) === b ? w.__cast(b, nb) : 'boolean' == typeof b ? w.__cast(b, jb) ? 1 : 0 : 'string' == typeof b ? parseFloat(b) : parseFloat(z.string(b))) - 1) | 0 ] ); b = this._PreviousTimeString.split(':')[0]; a = null == b ? 0 : 'number' == typeof b ? w.__cast(b, ob) : 'number' == typeof b && (b | 0) === b ? w.__cast(b, nb) : 'boolean' == typeof b ? w.__cast(b, jb) ? 1 : 0 : 'string' == typeof b ? parseFloat(b) : parseFloat(z.string(b)); b = this._PreviousTimeString.split(':')[1]; var d = null == b ? 0 : 'number' == typeof b ? w.__cast(b, ob) : 'number' == typeof b && (b | 0) === b ? w.__cast(b, nb) : 'boolean' == typeof b ? w.__cast(b, jb) ? 1 : 0 : 'string' == typeof b ? parseFloat(b) : parseFloat(z.string(b)); b = this._PreviousTimeString.split(':')[2]; this._PreviousTotalInHundreths = 6e3 * a + 100 * d + (null == b ? 0 : 'number' == typeof b ? w.__cast(b, ob) : 'number' == typeof b && (b | 0) === b ? w.__cast(b, nb) : 'boolean' == typeof b ? w.__cast(b, jb) ? 1 : 0 : 'string' == typeof b ? parseFloat(b) : parseFloat(z.string(b))); b = this._TimeString.split(':')[0]; a = null == b ? 0 : 'number' == typeof b ? w.__cast(b, ob) : 'number' == typeof b && (b | 0) === b ? w.__cast(b, nb) : 'boolean' == typeof b ? w.__cast(b, jb) ? 1 : 0 : 'string' == typeof b ? parseFloat(b) : parseFloat(z.string(b)); b = this._TimeString.split(':')[1]; d = null == b ? 0 : 'number' == typeof b ? w.__cast(b, ob) : 'number' == typeof b && (b | 0) === b ? w.__cast(b, nb) : 'boolean' == typeof b ? w.__cast(b, jb) ? 1 : 0 : 'string' == typeof b ? parseFloat(b) : parseFloat(z.string(b)); b = this._TimeString.split(':')[2]; this._TotalinHundreths = 6e3 * a + 100 * d + (null == b ? 0 : 'number' == typeof b ? w.__cast(b, ob) : 'number' == typeof b && (b | 0) === b ? w.__cast(b, nb) : 'boolean' == typeof b ? w.__cast(b, jb) ? 1 : 0 : 'string' == typeof b ? parseFloat(b) : parseFloat(z.string(b))); this._TotalinHundreths < this._PreviousTotalInHundreths && ((a = h.engine.getGameAttribute('Best Times')), (b = c.getCurrentSceneName().split(' ')[1]), (a[ ((null == b ? 0 : 'number' == typeof b ? w.__cast(b, ob) : 'number' == typeof b && (b | 0) === b ? w.__cast(b, nb) : 'boolean' == typeof b ? w.__cast(b, jb) ? 1 : 0 : 'string' == typeof b ? parseFloat(b) : parseFloat(z.string(b))) - 1) | 0 ] = this._TimeString), c.saveGame('mySave', function (a) {})); }, _customEvent_starGet: function () { W.contains(h.engine.getGameAttribute('Stars List'), this._LevelNumber) || (h.engine.getGameAttribute('Stars List').push(this._LevelNumber), c.saveGame('mySave', function (a) {})); }, init: function () { var a = this; hb.gameplayStart(); c.setVolumeForAllSounds(1); c.stopAllSounds(); if ('Level' == c.getCurrentSceneName().split(' ')[0]) { var b = c.getCurrentSceneName().split(' ')[1]; this._LevelNumber = null == b ? 0 : 'number' == typeof b ? w.__cast(b, ob) : 'number' == typeof b && (b | 0) === b ? w.__cast(b, nb) : 'boolean' == typeof b ? w.__cast(b, jb) ? 1 : 0 : 'string' == typeof b ? parseFloat(b) : parseFloat(z.string(b)); h.engine.gameAttributes.h['Last Played Level'] = this._LevelNumber; c.saveGame('mySave', function (a) {}); } else this._LevelNumber = 0; c.engine.unpause(); c.createRecycledActor(c.getActorType(283), -5, -5, 0); this._Overlay = c.getLastCreatedActor(); if (714 == c.getTilesetIDAt(0, 0, c.engine.getLayerById(0))) { h.engine.gameAttributes.h['Stage Type'] = 'Office'; c.loopSoundOnChannel(c.getSound(721), 15); c.createRecycledActorOnLayer(c.getActorType(1187), 0, 0, c.engine.getLayerById(8)); this._CloudsWidth = 480; b = 0; for (var d = Math.ceil(c.getScreenWidth() / this._CloudsWidth) + 1; b < d; ) { var e = b++; c.createRecycledActorOnLayer( c.getActorType(716), this._CloudsWidth * e, c.getScreenHeight() - 320, c.engine.getLayerById(7) ); c.getLastCreatedActor().moveToBottom(); } c.createRecycledActorOnLayer(c.getActorType(719), 0, 0, c.engine.getLayerById(7)); c.getLastCreatedActor().setY(c.getScreenHeight() - c.getLastCreatedActor().getHeight()); for (this._BeachBGWidth = c.getLastCreatedActor().getWidth(); !this._BeachBGCreated; ) this._BeachBGWidth < c.getScreenWidth() + 200 ? (c.createRecycledActorOnLayer( c.getActorType(719), c.getLastCreatedActor().getX() + c.getLastCreatedActor().getWidth(), 0, c.engine.getLayerById(7) ), c .getLastCreatedActor() .setY(c.getScreenHeight() - c.getLastCreatedActor().getHeight()), (this._BeachBGWidth += c.getLastCreatedActor().getWidth())) : (this._BeachBGCreated = !0); c.createRecycledActorOnLayer( c.getActorType(1177), 0, c.getLastCreatedActor().getY() + c.getLastCreatedActor().getHeight(), c.engine.getLayerById(7) ); } else if (723 == c.getTilesetIDAt(0, 0, c.engine.getLayerById(0))) { h.engine.gameAttributes.h['Stage Type'] = 'Meadow'; c.loopSoundOnChannel(c.getSound(731), 15); c.createRecycledActorOnLayer(c.getActorType(1185), 0, 0, c.engine.getLayerById(7)); this._CloudsWidth = 480; b = 0; for (d = Math.ceil(c.getScreenWidth() / this._CloudsWidth) + 1; b < d; ) (e = b++), c.createRecycledActorOnLayer( c.getActorType(724), this._CloudsWidth * e, c.getScreenHeight() - 400, c.engine.getLayerById(7) ), c.getLastCreatedActor().moveToBottom(); c.createRecycledActorOnLayer(c.getActorType(726), 0, 0, c.engine.getLayerById(7)); c.getLastCreatedActor().setY(c.getScreenHeight() - c.getLastCreatedActor().getHeight()); for (this._BeachBGWidth = c.getLastCreatedActor().getWidth(); !this._BeachBGCreated; ) this._BeachBGWidth < c.getScreenWidth() ? (c.createRecycledActorOnLayer( c.getActorType(726), c.getLastCreatedActor().getX() + c.getLastCreatedActor().getWidth(), 0, c.engine.getLayerById(7) ), c .getLastCreatedActor() .setY(c.getScreenHeight() - c.getLastCreatedActor().getHeight()), (this._BeachBGWidth += c.getLastCreatedActor().getWidth())) : (this._BeachBGCreated = !0); c.createRecycledActorOnLayer( c.getActorType(1181), 0, c.getLastCreatedActor().getY() + c.getLastCreatedActor().getHeight(), c.engine.getLayerById(7) ); } else if (734 == c.getTilesetIDAt(0, 0, c.engine.getLayerById(0))) { h.engine.gameAttributes.h['Stage Type'] = 'Swamp'; c.loopSoundOnChannel(c.getSound(736), 15); c.createRecycledActorOnLayer(c.getActorType(1183), 0, 0, c.engine.getLayerById(7)); this._CloudsWidth = 480; b = 0; for (d = Math.ceil(c.getScreenWidth() / this._CloudsWidth) + 1; b < d; ) (e = b++), c.createRecycledActorOnLayer( c.getActorType(739), this._CloudsWidth * e, c.getScreenHeight() - 400, c.engine.getLayerById(7) ), c.getLastCreatedActor().moveToBottom(); c.createRecycledActorOnLayer(c.getActorType(737), 0, 0, c.engine.getLayerById(7)); c.getLastCreatedActor().setY(c.getScreenHeight() - c.getLastCreatedActor().getHeight()); for (this._BeachBGWidth = c.getLastCreatedActor().getWidth(); !this._BeachBGCreated; ) this._BeachBGWidth < c.getScreenWidth() ? (c.createRecycledActorOnLayer( c.getActorType(737), c.getLastCreatedActor().getX() + c.getLastCreatedActor().getWidth(), 0, c.engine.getLayerById(7) ), c .getLastCreatedActor() .setY(c.getScreenHeight() - c.getLastCreatedActor().getHeight()), (this._BeachBGWidth += c.getLastCreatedActor().getWidth())) : (this._BeachBGCreated = !0); c.createRecycledActorOnLayer( c.getActorType(1179), 0, c.getLastCreatedActor().getY() + c.getLastCreatedActor().getHeight(), c.engine.getLayerById(7) ); } else 742 == c.getTilesetIDAt(0, 0, c.engine.getLayerById(0)) ? ((h.engine.gameAttributes.h['Stage Type'] = 'Temple'), c.loopSoundOnChannel(c.getSound(745), 15)) : 749 == c.getTilesetIDAt(0, 0, c.engine.getLayerById(0)) && ((h.engine.gameAttributes.h['Stage Type'] = 'Space'), c.loopSoundOnChannel(c.getSound(748), 15), c.createRecycledActorOnLayer(c.getActorType(754), 0, 0, c.engine.getLayerById(7))); h.engine.getGameAttribute('Sound Disabled') ? c.setVolumeForChannel(0, 15) : h.engine.getGameAttribute('Sound Disabled') || c.setVolumeForChannel(1, 15); h.engine.getGameAttribute('Music Disabled') ? c.setVolumeForChannel(0, 16) : h.engine.getGameAttribute('Music Disabled') || c.setVolumeForChannel(1, 16); if (h.engine.getGameAttribute('Checkpoint Passed')) for (b = 0, d = c.getActorsOfType(c.getActorType(72)); b < d.length; ) { if (((e = d[b]), ++b, null != e && !e.dead && !e.recycled && !this._PlayerCreated)) { var f = h.engine, g = h.engine.getGameAttribute('Checkpoint Camera'); f.gameAttributes.h['Camera Boundary Number'] = g; this._PlayerCreated = !0; e.setAnimation('Passed'); c.createRecycledActorOnLayer( c.getActorType(2), e.getX() - 2 + 32, e.getY() + e.getHeight() - 16, c.engine.getLayerById(e.getLayerID()) ); e = 0; for (f = c.getActorsOfType(c.getActorType(70)); e < f.length; ) (g = f[e]), ++e, null == g || g.dead || g.recycled || c.recycleActor(g); } } else for (b = 0, d = c.getActorsOfType(c.getActorType(70)); b < d.length; ) (e = d[b]), ++b, null == e || e.dead || e.recycled || (this._PlayerCreated || ((h.engine.gameAttributes.h['Camera Boundary Number'] = 1), (this._PlayerCreated = !0), e.setAnimation('Passed'), c.createRecycledActorOnLayer( c.getActorType(2), e.getX() - 2, e.getY() + e.getHeight() - 16, c.engine.getLayerById(e.getLayerID()) )), c.recycleActor(e)); if ('Snow' == h.engine.getGameAttribute('Stage Type')) for (b = 0; 24 > b; ) (e = b++), c.createRecycledActor( c.getActorType(155), c.randomInt( (c.getScreenX() - c.getScreenWidth() / 2) | 0, (c.getScreenX() + (c.getScreenWidth() + c.getScreenWidth() / 2)) | 0 ), c.randomInt( (c.getScreenY() - c.getScreenHeight() / 2) | 0, (c.getScreenY() + c.getScreenHeight() / 2) | 0 ), 0 ); h.engine.getGameAttribute('Timer Mode') && (c.createRecycledActor(c.getActorType(435), -100, 10, 0), c.getLastCreatedActor().setAnimation('Blue'), c.getLastCreatedActor().disableBehavior('Cutscene Title Logic'), c.getLastCreatedActor().anchorToScreen(), c.getLastCreatedActor().makeAlwaysSimulate(), (this._TimerBanner = c.getLastCreatedActor()), (this._TimeString = '00:00:00'), this._TimerBanner.disableActorDrawing(), c.runLater( 1e3, function (b) { a._ShowTimer = !0; a._TimerBanner.enableActorDrawing(); }, null )); c.runLater( 200, function (a) { if ( 'JP' == h.engine.getGameAttribute('Language') && !h.engine.getGameAttribute('Possum Mode') ) { a = 0; for (var b = c.getActorsOfType(c.getActorType(159)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || ('Level 1' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u3053\u3093\u306b\u3061\u306f\u304a\u7236\u3055\u3093\uff01\u3042\u306a\u305f\u306f\u79c1\u3092\u898b\u3064\u3051\u307e\u3057\u305f\uff01|\u3042\u306a\u305f\u306f\u3042\u307e\u308a\u9060\u304f\u307e\u3067\u884c\u3063\u3066\u3044\u307e\u305b\u3093\u3067\u3057\u305f... |\u3042\u306a\u305f\u306e\u5b50\u4f9b\u305f\u3061\u306e\u3046\u3061\u3001\u79c1\u306f\u9593\u9055\u3044\u306a\u304f\u6700\u3082\u6020\u3051\u8005\u3067\u3059\u3002\u5206\u304b\u3063\u3066\u826f\u304b\u3063\u305f\u3002' ) : 'Level 2' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u304a\u7236\u3055\u3093\u3001\u3059\u3054\u3044\u3001\u30c0\u30d6\u30eb\u30b8\u30e3\u30f3\u30d7\u3067\u304d\u308b\u3068\u306f\u77e5\u3089\u306a\u304b\u3063\u305f\uff01|\u307e\u3042\u3001\u3082\u3057\u4e88\u5b9a\u901a\u308a\u3042\u306a\u305f\u304c\u5bb6\u306b\u3044\u308b\u3088\u3046\u306a\u3089\u3001\u79c1\u306f\u30c0\u30d6\u30eb\u30b8\u30e3\u30f3\u30d7\u3059\u308b\u5fc5\u8981\u306f\u306a\u3044\u3060\u308d\u3046\u3002|\u30c0\u30d6\u30eb\u30b8\u30e3\u30f3\u30d7\u306f\u3068\u3066\u3082\u30af\u30fc\u30eb\u3060\uff01|*#\u305f\u3081\u606f*' ) : 'Level 3' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u3061\u3087\u3063\u3068\uff01|\u4f55\uff1f\uff01|\u51fa\u3066\u3044\u3051\uff01|\u3059\u307f\u307e\u305b\u3093\uff1f\uff01|\u3053\u308c\u306f\u304a\u7236\u3055\u3093\u7981\u6b62\u30be\u30fc\u30f3\u3067\u3059\uff01\u5931\u305b\u308d\uff01|\u305d\u308c\u3060\u3051\u3060\u3001\u30df\u30b9\u30bf\u30fc\u3001\u3042\u306a\u305f\u306f\u5916\u51fa\u7981\u6b62\u3067\u3059\u3002|\u3054\u3081\u3093\u306d\u3002' ) : 'Level 4' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u3053\u3053\u3067\u4f55\u3092\u3057\u3066\u3044\u308b\u306e\u3067\u3059\u304b\uff1f|\u79c1\u306e\u4eba\u751f\u306e\u6642\u9593\u3092\u904e\u3054\u3057\u3066\u3044\u307e\u3059\uff01|\u30aa\u30fc\u30b1\u30fc\u3001\u3048\u3063\u3068\u3001\u305d\u308c\u306f\u3044\u3044\u3068\u601d\u3046\u3051\u3069\u3001\u4eca\u306f\u5bb6\u306b\u5e30\u308b\u6642\u9593\u3060|\u30aa\u30fc\u30b1\u30fc\u3001\u3044\u3044\u306d...\u81ea\u5206\u306e\u4eba\u751f\u306e\u6642\u9593\u3092\u904e\u3054\u3059\u306e\u306f\u75b2\u308c\u308b\u306d\u3002' ) : 'Level 5' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u3053\u3093\u306b\u3061\u306f\u304a\u7236\u3055\u3093\uff01\u5bb6\u306b\u5e30\u308b\u3088\u3046\u306b\u79c1\u306b\u8a00\u3046\u3068\u3053\u308d\u3067\u3059\u304b\uff1f|\u306f\u3044\u3001\u305a\u3063\u3068\u3068\u3066\u3082\u5fc3\u914d\u3057\u3066\u3044\u307e\u3059\uff01|\u3042\u3042\u3001\u79c1\u3082\u3002|\u3069\u3046\u3044\u3046\u610f\u5473\u3067\u3059\u304b\uff1f|\u79c1\u306f\u7d76\u3048\u305a\u3001\u305d\u3057\u3066\u308f\u3056\u3068\u3072\u3069\u3044\u5371\u967a\u306b\u81ea\u5206\u3092\u3055\u3089\u3057\u3066\u3044\u307e\u3059\u3002\u79c1\u306f\u30b9\u30ea\u30eb\u306e\u305f\u3081\u306b\u305d\u308c\u3092\u3057\u3066\u3044\u308b\u3075\u308a\u3092\u3057\u3066\u3044\u307e\u3059\u304c\u3001\u672c\u5f53\u306f\u6c17\u306b\u304b\u3051\u3066\u3082\u3089\u3044\u305f\u3044\u3060\u3051\u3067\u3059\u3002|\u7d20\u6674\u3089\u3057\u3044\u3002' ) : 'Level 6' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u3053\u3093\u306b\u3061\u306f\u304a\u7236\u3055\u3093\uff01\u3053\u306e\u5834\u6240\u306f\u7d20\u6674\u3089\u3057\u3044\u3068\u306f\u601d\u3044\u307e\u305b\u3093\u304b|\u79c1\u306f\u77e5\u308a\u307e\u305b\u3093...\u3053\u3053\u306f\u3068\u3052\u3068\u3052\u3057\u3044\u5371\u967a\u306a\u3082\u306e\u3067\u3044\u3063\u3071\u3044\u3067\u3059\u3002|\u5206\u3063\u3066\u307e\u3059\uff01\u7d20\u6674\u3089\u3057\u3044\uff01' ) : 'Level 7' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u3053\u306e\u6d1e\u7a9f\u306f\u79c1\u306e\u65b0\u3057\u3044\u5bb6\u3067\u3059\u3002\u79c1\u306f\u4eca\u3053\u3053\u306b\u4f4f\u3093\u3067\u3044\u307e\u3059\u3002|\u4f4f\u3093\u3067\u306a\u3044\u3067\u3057\u3087\u3002|\u4f4f\u3093\u3067\u3044\u307e\u3059\u3002|\u4f4f\u3093\u3067\u306a\u3044\u3002|\u30aa\u30fc\u30b1\u30fc\u3001\u3054\u3081\u3093\u306d\u3002' ) : 'Level 8' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u3042\u3042...\u3048\u30fc\u3068...\u3042\u306a\u305f\u306f\u79c1\u306e\u5b50\u4f9b\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u306d...|*\u30ae\u30e3\u30fc*|\u3042\u3042\u3001\u306a\u3093\u3066\u3053\u3063\u305f\u3002' ) : 'Level 9' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u306a\u305c\u3042\u306a\u305f\u306e\u5b50\u4f9b\u304c\u305d\u306e\u3088\u3046\u306a\u5371\u967a\u306a\u5834\u6240\u306b\u96a0\u308c\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\u306e\u3067\u3059\u304b\uff1f\u306a\u305c\u3042\u306a\u305f\u306f\u30e2\u30fc\u30eb\u3084\u4f55\u304b\u306b\u96a0\u308c\u308b\u3053\u3068\u304c\u3067\u304d\u306a\u304b\u3063\u305f\u306e\u3067\u3059\u304b\uff1f|\u5f85\u3063\u3066... \u3053\u308c\u306f\u30e2\u30fc\u30eb\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u304b\uff1f\u305d\u308c\u304c\u3001\u5f7c\u3089\u304c\u79c1\u306b\u3053\u306e\u534a\u30ba\u30dc\u30f3\u3092\u8fd4\u3055\u305b\u306a\u3044\u7406\u7531\u3092\u8aac\u660e\u3057\u3066\u3044\u307e\u3059\u3002|\u534a\u30ba\u30dc\u30f3\uff1f\u3042\u306a\u305f\u306f\u8db3\u3055\u3048\u6301\u3063\u3066\u3044\u307e\u305b\u3093\uff01|\u305d\u308c\u3053\u305d\u307e\u3055\u306b\u79c1\u304c\u534a\u30ba\u30dc\u30f3\u3092\u8fd4\u305d\u3046\u3068\u3057\u3066\u3044\u305f\u7406\u7531\u3067\u3059\uff01' ) : 'Level 10' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u3042\u3042\u306a\u308b\u307b\u3069\uff01\u3042\u306a\u305f\u306f\u305d\u306e\u5947\u5999\u306a\u30cf\u30f3\u30d0\u30fc\u30ac\u30fc\u306e\u7537\u3092\u6253\u3061\u8ca0\u304b\u3057\u305f\uff01|\u898b\u3066\u3001\u79c1\u306f\u305d\u306e\u3053\u3068\u306b\u3064\u3044\u3066\u3044\u3044\u611f\u3058\u306f\u3057\u307e\u305b\u3093\u3002\u5f7c\u306f\u304b\u306a\u308a\u3044\u3044\u4eba\u306e\u3088\u3046\u306b\u898b\u3048\u307e\u3057\u305f\u3002|\u5f7c\u306f\u3042\u306a\u305f\u3092\u6bba\u305d\u3046\u3068\u3057\u307e\u3057\u305f\uff01|\u3064\u307e\u308a\u3001\u5f7c\u306f\u6bba\u305d\u3046\u3068\u3057\u305f\u3051\u3069...\u307e\u3042...\u3042\u306a\u305f\u304c\u7121\u4e8b\u3067\u3046\u308c\u3057\u3044\u3067\u3059\u3002|\u3042\u3042\u3001\u79c1\u3082\u3067\u3059\u3002\u3042\u308a\u304c\u3068\u3046\u3001\u304a\u7236\u3055\u3093\u3002' ) : 'Level 11' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u79c1\u306f\u30d3\u30fc\u30c1\u3067\u7d20\u6575\u306a\u4e00\u65e5\u3092\u904e\u3054\u3057\u3066\u3044\u307e\u3059\uff01|\u3053\u3053\u306f\u79c1\u304c\u4eca\u307e\u3067\u898b\u305f\u4e2d\u3067\u6700\u3082\u5371\u967a\u306a\u30d3\u30fc\u30c1\u3067\u3059\u3002|\u3053\u3053\u306f\u79c1\u304c\u4eca\u307e\u3067\u898b\u305f\u4e2d\u3067\u6700\u3082\u30a8\u30ad\u30b5\u30a4\u30c6\u30a3\u30f3\u30b0\u306a\u30d3\u30fc\u30c1\u3067\u3059\uff01' ) : 'Level 12' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u3053\u306e\u666f\u8272\u306f\u7d20\u6674\u3089\u3057\u3044\u3067\u3059\uff01|\u7d20\u6674\u3089\u3057\u3044\u3051\u3069\u3001\u81ea\u5b85\u306b\u3082\u540c\u3058\u3088\u3046\u306a\u3082\u306e\u304c\u3042\u308a\u307e\u3059\u3002|\u30d3\u30c7\u30aa\u30b2\u30fc\u30e0\u696d\u754c\u3067\u306f\u3001\u5f7c\u3089\u306f\u305d\u308c\u3092\u8cc7\u7523\u306e\u518d\u5229\u7528\u3068\u547c\u3093\u3067\u3044\u307e\u3059\u3002\u3053\u308c\u306f\u30e1\u30e2\u30ea\u3092\u7bc0\u7d04\u3057\u3066\u958b\u767a\u6642\u9593\u3092\u77ed\u7e2e\u3059\u308b\u8ce2\u3044\u65b9\u6cd5\u3067\u3059\u3002|\u300c\u30d3\u30c7\u30aa\u30b2\u30fc\u30e0\u696d\u754c\u300d\u3068\u306f\u4f55\u3067\u3059\u304b\uff1f|\u79c1\u306b\u306f\u308f\u304b\u308a\u307e\u305b\u3093\u3002' ) : 'Level 13' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u3042\u306a\u305f\u304c\u3053\u3053\u306b\u3044\u308b\u3053\u3068\u306b\u611f\u8b1d\u3057\u307e\u3059|\u306d\u3048\u3001\u4f1a\u3048\u3066\u3046\u308c\u3057\u3044\u3088\u3001\u76f8\u68d2\uff01|\u79c1\u306f\u3068\u3066\u3082\u65e5\u713c\u3051\u3057\u305f\u3088|\u3042\u3042\u3002|\u306a\u305c\u305d\u3093\u306a\u306b\u9577\u304f\u304b\u304b\u3063\u305f\u3093\u3060' ) : 'Level 14' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u5c0f\u3055\u306a\u30d4\u30b6\u306e\u7537\u305f\u3061\u3092\u898b\u307e\u3057\u305f\u304b\uff1f|\u79c1\u306f... \u898b\u305f\u3088\u3002\u306f\u3044\u3002|\u5f7c\u3089\u306f\u3068\u3066\u3082\u7d20\u6674\u3089\u3057\u3044\u3067\u3059\u3002|\u5f7c\u3089\u306f...\u79c1\u3092\u6bba\u305d\u3046\u3068\u3057\u307e\u3057\u305f...|\u3068\u3066\u3082\u7d20\u6674\u3089\u3057\u3044\u3067\u3059\u3002' ) : 'Level 15' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u3061\u3087\u3063\u3068\u304a\u7236\u3055\u3093\uff01\u79c1\u306f\u30ca\u30de\u30b3\u3092\u63a2\u3057\u3066\u3044\u307e\u3059\uff01|\u3069\u3046\u306a\u3063\u3066\u3044\u307e\u3059\u304b\uff1f|\u826f\u304f\u306a\u3044\u3067\u3059\u3001\u4eca\u307e\u3067\u306e\u3068\u3053\u308d\u898b\u3064\u3051\u3066\u3044\u307e\u305b\u3093\u3002|\u307e\u3042\u3001\u305d\u308c\u306f\u5bb6\u306b\u5e30\u308b\u6642\u304b\u3082\u77e5\u308c\u307e\u305b\u3093\u3002|\u3060\u3051\u3069\u30ca\u30de\u30b3\u306f\u79c1\u306e\u60c5\u71b1\u3067\u3059\u3002|\u305d\u308c\u306f\u3042\u307e\u308a\u826f\u3044\u60c5\u71b1\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002' ) : 'Level 16' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u3053\u3053\u3067\u79c1\u304c\u3069\u3046\u3084\u3063\u3066\u4e0a\u3063\u305f\u306e\u304b\u5206\u304b\u3089\u306a\u3044\u3002\u3069\u3046\u3084\u3063\u3066\u964d\u308a\u308b\u304b\u3082\u308f\u304b\u3089\u306a\u3044\u3002|\u5fc3\u914d\u3057\u306a\u3044\u3067\u3001\u3059\u3079\u3066\u306e\u30ec\u30d9\u30eb\u306e\u7d42\u308f\u308a\u306b\u98db\u3073\u53bb\u308b\u3060\u3051\u3060\u3002|\u304b\u306a\u308a\u4fbf\u5229\u3060\u306d\uff01|\u305d\u308c\u306f\u3069\u3046\u3084\u308b\u3093\u3067\u3059\u304b\u3002|\u79c1\u306b\u306f\u308f\u304b\u3089\u306a\u3044\u3002|\u307e\u305f\u3001\u30ec\u30d9\u30eb\u3068\u306f\u4f55\u3067\u3059\u304b\uff1f|\u3082\u3046\u4e00\u56de,\u201c no idea.\u201d' ) : 'Level 17' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u3042\u306a\u305f\u304c\u305d\u308c\u3089\u306e\u5927\u304d\u306a\u3068\u304c\u3063\u305f\u3082\u306e\u306b\u62bc\u3057\u3064\u3076\u3055\u308c\u306a\u304b\u3063\u305f\u3053\u3068\u3092\u3046\u308c\u3057\u304f\u601d\u3044\u307e\u3059\uff01|\u606f\u5b50\u306b\u611f\u8b1d\u3002\u3068\u3066\u3082\u52a9\u304b\u308a\u307e\u3059\u3002|\u3069\u3046\u3044\u305f\u3057\u307e\u3057\u3066\uff01' ) : 'Level 18' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u3042\u3042\u3001\u30d1\u30d1\uff01\u3042\u306a\u305f\u306f\u3053\u3053\u3067\u4f55\u3092\u3057\u3066\u3044\u308b\u306e\u3067\u3059\u304b\uff1f|\u79c1\u306e\u611a\u304b\u306a\u5b50\u4f9b\u305f\u3061\u3092\u63a2\u3057\u3066\u3044\u307e\u3059\u3001\u305f\u3044\u3066\u3044|\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u304b\uff1f| ...|\u3042\u3042\u3002' ) : 'Level 19' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u3042\u3042\u3001\u30d3\u30fc\u30c1\u3067\u306a\u3093\u3066\u30ea\u30e9\u30c3\u30af\u30b9\u3057\u305f\u4e00\u65e5\uff01|\u3042\u306a\u305f\u306f\u5916\u51fa\u7981\u6b62\u3067\u3059\u3002|\u30cf\u30a1\u30c3\uff1f|\u3042\u306a\u305f\u306f\u7686\u5916\u51fa\u7981\u6b62\u3067\u3059\u3002|\u4f55\uff1f|\u6c38\u9060\u306b\u3002' ) : 'Level 20' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u308f\u30fc\u3044\uff01\u3042\u306a\u305f\u306f\u30db\u30c3\u30c8\u30c9\u30c3\u30b0\u3092\u5012\u3057\u307e\u3057\u305f\uff01|\u305d\u308c\u304c\u672c\u5f53\u306b\u5f7c\u306e\u540d\u524d\u3060\u3063\u305f\u306e\u3067\u3059\u304b\uff1f|\u3048\u3048\u3001\u5f7c\u306e\u4e21\u89aa\u306f\u5947\u5999\u306a\u30e6\u30fc\u30e2\u30a2\u306e\u30bb\u30f3\u30b9\u3092\u6301\u3063\u3066\u3044\u307e\u3057\u305f\u3002\u4e21\u89aa\u306f\u3068\u3066\u3082\u5947\u5999\u3067\u3059\u3002|\u898b\u3066\u304f\u3060\u3055\u3044\u3002' ) : 'Level 21' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u3053\u3053\u306f\u3068\u3066\u3082\u5bd2\u3044\u306e\u3067\u3001\u3064\u307e\u5148\u3092\u611f\u3058\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\uff01|\u3042\u306a\u305f\u306f\u30e9\u30c7\u30c3\u30b7\u30e5\u3067\u3001\u3064\u307e\u5148\u304c\u3042\u308a\u307e\u305b\u3093\u3002|\u30aa\u30fc\u30ce\u30fc\uff01' ) : 'Level 22' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u30a4\u30a8\u30c6\u30a3\u3092\u898b\u307e\u3057\u305f\uff01|\u3044\u3044\u3048\u3001\u898b\u307e\u305b\u3093\u3067\u3057\u305f\u3002|\u3044\u3044\u3048\u3001\u898b\u307e\u305b\u3093\u3067\u3057\u305f\u3002' ) : 'Level 23' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u304a\u7236\u3055\u3093\u3001\u30e1\u30ea\u30fc\u30af\u30ea\u30b9\u30de\u30b9\uff01|\u3048\u3048\u3001\u3042\u308a\u304c\u3068\u3046\u3001\u3067\u3082\u30af\u30ea\u30b9\u30de\u30b9\u306e\u6642\u671f\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002|\u305d\u308c\u306a\u3089\u3001\u306a\u305c\u96ea\u304c\u964d\u3063\u3066\u3044\u308b\u306e\u3067\u3059\u304b\uff1f|\u79c1\u305f\u3061\u306f\u5c71\u306b\u3044\u308b\u304b\u3089\u3067\u3059|\u30af\u30ea\u30b9\u30de\u30b9\u306e\u5c71\uff01|\u3044\u3044\u3048\u3001\u305f\u3060\u306e\u5c71\u3067\u3059\u3002|\u5e78\u305b\u306a\u4f11\u65e5\uff01' ) : 'Level 24' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u79c1\u306f\u3053\u3053\u306e\u30d3\u30fc\u30c1\u3067\u7d20\u6575\u306a\u6642\u9593\u3092\u904e\u3054\u3057\u3066\u3044\u307e\u3059\uff01|\u3053\u308c\u306f\u30d3\u30fc\u30c1\u3067\u306f\u306a\u304f\u3001\u3053\u308c\u306f\u5c71\u3067\u3059\u3002|\u524d\u5411\u304d\u306a\u7cbe\u795e\u7684\u614b\u5ea6\u304c\u3042\u308c\u3070\u3001\u3069\u3053\u3067\u3082\u30d3\u30fc\u30c1\u306b\u306a\u308c\u307e\u3059\uff01|\u3044\u3044\u3048...\u3044\u3044\u3048\u3001\u305d\u308c\u306f\u6b63\u3057\u3044\u3068\u306f\u601d\u3044\u307e\u305b\u3093\u3002' ) : 'Level 25' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u305d\u306e\u7537\u305f\u3061\u306f\u4e00\u4f53\u3069\u3046\u306a\u3063\u3066\u3044\u308b\u306e\u304b\uff01|\u3068\u3066\u3082\u30af\u30fc\u30eb\u3060\uff01|\u3044\u3044\u3048\uff01\u30af\u30fc\u30eb\u3067\u306f\u3042\u308a\u307e\u305b\u3093\uff01\u5f7c\u3089\u306f\u79c1\u3092\u6bba\u305d\u3046\u3068\u3057\u305f\uff01\u5f7c\u3089\u306f\u3069\u3053\u304b\u3089\u30bd\u30fc\u30bb\u30fc\u30b8\u3092\u5165\u624b\u3057\u3066\u3044\u308b\u306e\u3067\u3057\u3087\u3046\u304b\uff1f\uff01|\u3042\u3042\u3001\u5f7c\u3089\u306f\u6b21\u5143\u9593\u30bd\u30fc\u30bb\u30fc\u30b8\u306e\u6e26\u304b\u3089\u305d\u308c\u3089\u3092\u5165\u624b\u3057\u307e\u3059\u3002|\u4f55\uff1f|\u305d\u308c\u306b\u3064\u3044\u3066\u8003\u3048\u306a\u3044\u3053\u3068\u304c\u304a\u305d\u3089\u304f\u6700\u5584\u3067\u3059\u3002' ) : 'Level 26' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u3046\u308f\u3042\u3001\u304a\u7236\u3055\u3093\uff01\u305d\u308c\u306f\u304b\u306a\u308a\u306e\u843d\u4e0b\u3067\u3057\u305f\uff01\u5927\u4e08\u592b\u3067\u3059\u304b\uff1f|\u9aa8\u304c\u306a\u3044\u306e\u306f\u672c\u5f53\u306b\u3046\u308c\u3057\u3044\u3067\u3059\u3002|\u79c1\u3082\uff01' ) : 'Level 27' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u79c1\u306f\u3053\u306e\u96ea\u306e\u6d1e\u7a9f\u306b\u3046\u3093\u3056\u308a\u3057\u3066\u3044\u307e\u3059\u3002\u4eca\u3059\u3050\u5bb6\u306b\u5e30\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u304b\uff1f|\u79c1\u305f\u3061\u306f\u3053\u306e\u6642\u9593\u305a\u3063\u3068\u5bb6\u306b\u3044\u305f\u304b\u3082\u3057\u308c\u306a\u3044\u3002' ) : 'Level 28' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u79c1\u306f\u51cd\u3063\u3066\u3044\u307e\u3059|\u3042\u306a\u305f\u306f\u5143\u6c17\u3067\u3059\u3002|\u79c1\u306f\u6c37\u306e\u584a\u3067\u3059|\u6c37\u306e\u584a\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002|\u79c1\u306f\u79c1\u306e\u540d\u524d\u3092\u5c0f\u3055\u306a\u3064\u3089\u3089\u306b\u5909\u3048\u3066\u3044\u307e\u3059\u3002|\u305d\u308c\u306f\u3001\u3001\u3001\u304b\u306a\u308a\u826f\u3044\u3067\u3059\u306d\u3002' ) : 'Level 29' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u3082\u3046\u4e00\u5ea6\uff01|\u307b\u3089\u3001\u524d\u306e\u3053\u3068\u306b\u672c\u5f53\u306b\u3054\u3081\u3093\u306a\u3055\u3044\u3002\u79c1\u306f\u305d\u306e\u3088\u3046\u306b\u91d1\u5207\u308a\u58f0\u3092\u4e0a\u3052\u308b\u3064\u3082\u308a\u306f\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3001\u79c1\u304c\u672c\u5f53\u306b\u7c21\u5358\u306b\u3073\u3063\u304f\u308a\u3059\u308b\u3060\u3051\u3067\u3059\u3002|\u306d\u3048\u3001\u5927\u4e08\u592b\u3067\u3059\u3001\u5fc3\u914d\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044\u3002|*\u91d1\u5207\u58f0*|\u3042\u3042\u3063\u3002' ) : 'Level 30' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u3042\u306a\u305f\u306f\u78ba\u304b\u306b\u30dc\u30b9\u306e\u30b7\u30e3\u30ed\u30f3\u3092\u898b\u305b\u305f\uff01|\u79c1\u306f\u30dc\u30b9\u306e\u3088\u3046\u306b\u611f\u3058\u307e\u305b\u3093\u3002\u79c1\u306f\u75b2\u308c\u305f\u307f\u305f\u3044\u3002\u3059\u3054\u304f\u75b2\u308c\u305f\u3002\u79c1\u306f\u3042\u306a\u305f\u306e\u3059\u3079\u3066\u306e\u5b50\u4f9b\u3092\u898b\u3064\u3051\u3066\u5bb6\u306b\u5e30\u308a\u305f\u3044\u3060\u3051\u3067\u3059\u3002\u3069\u3046\u3057\u3066\u3053\u3093\u306a\u306b\u5b50\u4f9b\u304c\u591a\u3044\u306e\u3067\u3059\u304b\uff1f|\u3046\u30fc\u3093... \u308f\u304b\u3089\u306a\u3044...\u305f\u3076\u3093...\u80de\u5b50\uff1f|\u3044\u3044\u3048\u3001\u305d\u308c\u306f\u6b63\u3057\u304f\u306a\u3044\u3067\u3057\u3087\u3046\u3002' ) : 'Level 31' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u3053\u306e\u5834\u6240\u306f\u4e0d\u6c17\u5473\u3067\u3059\uff01\u30b4\u30fc\u30b9\u30c8\u306e\u3088\u3046\u306a\u5302\u3044\u304c\u3059\u308b\uff01|\u30ab\u30d3\u306e\u5302\u3044\u304c\u3059\u308b\u3002|\u304b\u3073\u81ed\u3044\u30b4\u30fc\u30b9\u30c8\uff01' ) : 'Level 32' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u7206\u767a\u3057\u305f\u3088\u3046\u306a\u5974\u3089\uff01|\u79c1\u306f\u6c17\u3065\u3044\u305f\u3002|\u533b\u8005\u306b\u96fb\u8a71\u3059\u3079\u304d\u3060\u3068\u601d\u3046\u304b\uff1f|\u3044\u3084\u3001\u5f7c\u3089\u306f\u5927\u4e08\u592b\u3060\u3002' ) : 'Level 33' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u79d8\u5bc6\u306e\u4e0d\u6c17\u5473\u306a\u30c8\u30f3\u30cd\u30eb\u3078\u3088\u3046\u3053\u305d\uff01|\u3042\u308a\u304c\u3068\u3046\u3001\u5acc\u3044\u3060\u3002' ) : 'Level 34' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u3053\u306e\u5834\u6240\u306f\u975e\u5e38\u306b\u5371\u967a\u3067\u3059\uff01\u306a\u305c\u3053\u3053\u306b\u3044\u308b\u306e\u3067\u3059\u304b\uff1f|\u306a\u305c\u3053\u3053\u306b\u3044\u308b\u306e\u3067\u3059\u304b\uff1f|\u79c1\u306f\u3053\u3053\u3067\u3042\u306a\u305f\u3092\u63a2\u3057\u3066\u3044\u307e\u3059\uff01|\u79c1\u306f\u3053\u3053\u3067\u3042\u306a\u305f\u3092\u63a2\u3057\u3066\u3044\u307e\u3059\uff01|\u3084\u3081\u3066\u304f\u3060\u3055\u3044\uff01' ) : 'Level 35' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u3053\u308c\u304c\u30c9\u30a5\u30eb\u30ca\u30c3\u30af\u537f\u306e\u5bb6\u3067\u3059\uff01\u5f7c\u306f\u9b45\u529b\u7684\u306a\u7d33\u58eb\u3067\u3059\uff01|\u3042\u3042\u3001\u305d\u308c\u306f\u6717\u5831\u3067\u3059\uff01|\u5f7c\u306f\u4fb5\u5165\u8005\u3092\u62f7\u554f\u3059\u308b\u306e\u304c\u597d\u304d\u306a\u72c2\u4eba\u3067\u3082\u3042\u308a\u307e\u3059\uff01|\u3042\u3042\u3001\u305d\u3046\u3067\u3059\u3002' ) : 'Level 36' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u3053\u306e\u5834\u6240\u306f\u3068\u3066\u3082\u4e0d\u6c17\u5473\u3067\u3059\u3002|\u98a8\u8239\u306f\u3044\u3044\u3067\u3059\u3002|\u672c\u5f53\u3067\u3059\u306d\u3002\u4e0d\u6c17\u5473\u306a\u8a95\u751f\u65e5\u30d1\u30fc\u30c6\u30a3\u30fc\u306e\u3088\u3046\u306a\u3082\u306e\u3067\u3059\u3002|\u305d\u306e\u901a\u308a\u3002' ) : 'Level 37' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u79c1\u306f\u4e0d\u6c17\u5473\u306a\u8981\u585e\u306e\u5973\u738b\u3067\u3059\uff01|\u3042\u306a\u305f\u306f\u5f7c\u5973\u306e\u5c31\u5bdd\u6642\u523b\u3092\u904e\u304e\u305f\u30e9\u30c7\u30a3\u30c3\u30b7\u30e5\u3067\u3059\u3002|\u4e0d\u6c17\u5473\u306a\u8981\u585e\u306e\u5973\u738b\uff01' ) : 'Level 38' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u3053\u306e\u5c4b\u5185\u30d7\u30fc\u30eb\u306f\u3069\u308c\u304f\u3089\u3044\u6dbc\u3057\u3044\u3067\u3059\u304b\uff1f|\u3053\u308c\u306f\u4e0b\u6c34\u3060\u3068\u78ba\u4fe1\u3057\u3066\u3044\u307e\u3059\u3002|\u3042\u3042...\u98f2\u3093\u3067\u3082\u5b89\u5168\u3060\u3068\u601d\u3044\u307e\u3059\u304b\uff1f|\u4eca\u8a00\u3046\u3068\u3053\u308d\u3060\u3063\u305f...\u3044\u3044\u3048\u3002|\u3042\u3042\u3002' ) : 'Level 39' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u304a\u7236\u3055\u3093\u3001\u3059\u3054\u3044\uff01\u3042\u306a\u305f\u304c\u3053\u306e\u3068\u304c\u3063\u305f\u30a8\u30ec\u30d9\u30fc\u30bf\u30fc\u3068\u304b\u3044\u3046\u3082\u306e\u3092\u901a\u308a\u904e\u304e\u308b\u3068\u306f\u601d\u3044\u307e\u305b\u3093\u3067\u3057\u305f\uff01|\u3042\u306a\u305f\u304c\u305f\u3060\u5bb6\u306b\u5c45\u305f\u3060\u3051\u306a\u3089\u3001\u79c1\u306f\u305d\u3046\u3059\u308b\u5fc5\u8981\u306f\u3042\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002|\u3067\u3082\u305d\u3046\u3057\u3066\u3044\u305f\u3089\u3001\u3042\u306a\u305f\u304c\u3069\u308c\u3060\u3051\u3059\u3054\u3044\u304b\u308f\u304b\u3089\u306a\u304b\u3063\u305f\uff01' ) : 'Level 40' == c.getCurrentSceneName() && d.setValue( 'Baby Logic', '_DialogText', '\u3084\u3063\u305f\u306d\u3001\u304a\u7236\u3055\u3093\uff01\u3042\u306a\u305f\u306f\u79c1\u305f\u3061\u5168\u54e1\u3092\u6551\u3063\u305f\uff01|\u79c1\u306f\u5b8c\u5168\u306b\u75b2\u308c\u305f\u3002\u5bb6\u306b\u5e30\u308b\u6642\u9593|\u304a\u7236\u3055\u3093\u5927\u597d\u304d\u3060\u3088\u3002|\u79c1\u3082\u5927\u597d\u304d\u3060\u3088\u3001\u76f8\u68d2\u3002\u3042\u306a\u305f\u306f\u5916\u51fa\u7981\u6b62\u3067\u3059\u3002' )); } } }, null ); c.runLater( 200, function (a) { if ( 'CN' == h.engine.getGameAttribute('Language') && !h.engine.getGameAttribute('Possum Mode') ) { a = 0; for (var b = c.getActorsOfType(c.getActorType(159)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || ('Level 1' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u55e8\uff0c\u7238\u7238\uff01\u4f60\u627e\u5230\u4e86\u6211\uff01|\u4f60\u771f\u7684\u6ca1\u6709\u8d70\u5f88\u8fdc\u2026\u2026|\u5728\u4f60\u6240\u6709\u7684\u5b69\u5b50\u4e2d\uff0c\u6211\u7edd\u5bf9\u662f\u6700\u61d2\u7684\u3002|\u5f88\u9ad8\u5174\u77e5\u9053\u3002' ) : 'Level 2' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u5662\uff0c\u7238\u7238\uff0c\u6211\u4e0d\u77e5\u9053\u4f60\u53ef\u4ee5\u53cc\u8df3\uff01|\u597d\u5427\uff0c\u5982\u679c\u4f60\u4e56\u4e56\u5446\u5728\u5bb6\u91cc\uff0c\u6211\u5c31\u4e0d\u5fc5\u53cc\u8df3\u4e86\u3002|\u53cc\u8df3\u592a\u9177\u4e86\uff01|*#Sigh*' ) : 'Level 3' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u563f\uff01|\u4ec0\u4e48\uff1f\uff01|\u51fa\u53bb\uff01|\u4e3a\u4ec0\u4e48\uff1f\uff01|\u8fd9\u662f\u4e00\u4e2a\u6ca1\u6709\u7238\u7238\u7684\u5730\u5e26\uff01\u8ff7\u8def\u4e86\uff01|\u5c31\u662f\u8fd9\u6837\uff0c\u4f60\u5df2\u7ecf\u7740\u9646\u4e86\u3002|\u62b1\u6b49\u3002' ) : 'Level 4' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u4f60\u8fd8\u5728\u8fd9\u91cc\u505a\u4ec0\u4e48\uff1f|\u4eab\u53d7\u6211\u751f\u547d\u4e2d\u6700\u7f8e\u597d\u7684\u65f6\u5149\uff01|\u5594\uff0c\u6211\u60f3\u90a3\u4e0d\u9519\uff0c\u4f46\u662f\u73b0\u5728\u8be5\u56de\u5bb6\u4e86\u3002|\u597d\u7684\uff0c\u8fd9\u5f88\u9177\u2026\u2026\u4eab\u53d7\u751f\u547d\u4e2d\u6700\u7f8e\u597d\u7684\u65f6\u5149\u8ba9\u4eba\u7cbe\u75b2\u529b\u5c3d\u3002' ) : 'Level 5' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u55e8\uff0c\u7238\u7238\uff01\u4f60\u8981\u53eb\u6211\u56de\u5bb6\u5417\uff1f|\u662f\u7684\uff0c\u6211\u4e00\u76f4\u5f88\u62c5\u5fc3\uff01|\u54e6\uff0c\u6211\u4e5f\u662f\u3002|\u4f60\u4ec0\u4e48\u610f\u601d\uff1f|\u6211\u6545\u610f\u4e0d\u65ad\u628a\u81ea\u5df1\u7f6e\u4e8e\u53ef\u6015\u7684\u5371\u9669\u4e4b\u4e2d\u3002\u6211\u5047\u88c5\u81ea\u5df1\u662f\u4e3a\u4e86\u523a\u6fc0\u800c\u8fd9\u6837\uff0c\u4f46\u5b9e\u9645\u4e0a\u6211\u53ea\u662f\u60f3\u8981\u5173\u6ce8\u3002|\u5f88\u597d\u3002' ) : 'Level 6' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u55e8\uff0c\u7238\u7238\uff01\u8fd9\u4e2a\u5730\u65b9\u4e0d\u662f\u5f88\u597d\u5417\uff1f|\u6211\u4e0d\u77e5\u9053\u2026\u2026\u5230\u5904\u90fd\u662f\u5c16\u5c16\u7684\u5371\u9669\u7269\u54c1\u3002|\u6211\u77e5\u9053\uff01\u592a\u9177\u4e86\uff01' ) : 'Level 7' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u8fd9\u4e2a\u6d1e\u7a74\u662f\u6211\u7684\u65b0\u5bb6\uff0c\u6211\u73b0\u5728\u4f4f\u5728\u8fd9\u91cc\u3002|\u4e0d\uff0c\u4f60\u4e0d\u662f\u3002|\u662f\uff0c\u6211\u662f\u3002|\u4e0d\uff0c\u4f60\u4e0d\u662f\u3002|\u597d\u5427\uff0c\u62b1\u6b49\u3002' ) : 'Level 8' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u54e6\u2026\u2026\u55ef\u2026\u2026\u4f60\u4e0d\u662f\u6211\u7684\u5b69\u5b50\u2026\u2026|*SCREECH*|\u54e6\u5929\u54ea\u3002' ) : 'Level 9' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u4e3a\u4ec0\u4e48\u4f60\u7684\u5b69\u5b50\u8981\u8eb2\u5728\u5982\u6b64\u5371\u9669\u7684\u5730\u65b9\uff1f\u4f60\u4e3a\u4ec0\u4e48\u4e0d\u80fd\u8eb2\u5728\u8d2d\u7269\u4e2d\u5fc3\u4e4b\u7c7b\u7684\u5730\u65b9\uff1f|\u7b49\u7b49\u2026\u2026\u8fd9\u4e0d\u662f\u8d2d\u7269\u4e2d\u5fc3\uff1f\u8fd9\u5c31\u89e3\u91ca\u4e86\u4e3a\u4ec0\u4e48\u4ed6\u4eec\u4e0d\u8ba9\u6211\u9000\u8fd8\u8fd9\u6761\u77ed\u88e4\u3002|\u77ed\u88e4\uff1f\uff01\u4f60\u751a\u81f3\u6ca1\u6709\u817f\uff01|\u90a3\u6b63\u662f\u6211\u8bd5\u56fe\u9000\u8fd8\u5b83\u4eec\u7684\u539f\u56e0\uff01' ) : 'Level 10' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u54c7\uff01\u4f60\u6253\u8d25\u4e86\u6c49\u5821\u5305\u90a3\u4e2a\u5947\u602a\u7684\u5bb6\u4f19\uff01|\u770b\uff0c\u6211\u5bf9\u6b64\u5e76\u4e0d\u5b8c\u5168\u611f\u89c9\u826f\u597d\u3002\u4ed6\u770b\u4e0a\u53bb\u50cf\u4e2a\u5f88\u4e0d\u9519\u7684\u5bb6\u4f19\u3002|\u4ed6\u8bd5\u56fe\u6740\u4f60\uff01|\u6211\u662f\u8bf4\uff0c\u662f\u7684\uff0c\u6211\u60f3\u662f\u7684\uff0c\u4f46\u662f\u2026\u2026\u55ef\u2026\u2026\u770b\uff0c\u6211\u5f88\u9ad8\u5174\u4f60\u6ca1\u4e8b\u3002|\u5929\u554a\uff0c\u6211\u4e5f\u662f\u3002\u8c22\u8c22\u7238\u7238\u3002' ) : 'Level 11' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u6211\u5728\u6d77\u6ee9\u4e0a\u5ea6\u8fc7\u4e86\u6109\u5feb\u7684\u4e00\u5929\uff01|\u8fd9\u662f\u6211\u89c1\u8fc7\u7684\u6700\u5371\u9669\u7684\u6d77\u6ee9\u3002|\u8fd9\u662f\u6211\u89c1\u8fc7\u7684\u6700\u523a\u6fc0\u7684\u6d77\u6ee9\uff01' ) : 'Level 12' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u8fd9\u4e2a\u89c2\u70b9\u5f88\u597d\uff01|\u5b83\u5f88\u4e0d\u9519\uff0c\u4f46\u5728\u6211\u4eec\u5bb6\u4e2d\u4e5f\u6709\u548c\u5b83\u4e00\u6837\u7684\u3002|\u5728\u89c6\u9891\u6e38\u620f\u4ea7\u4e1a\u4e2d\uff0c\u4ed6\u4eec\u79f0\u5176\u4e3a\u201c\u8d44\u4ea7\u91cd\u7528\u201d\u3002\u8fd9\u662f\u8282\u7701\u5185\u5b58\u5e76\u51cf\u5c11\u5f00\u53d1\u65f6\u95f4\u7684\u660e\u667a\u65b9\u6cd5\u3002|\u4ec0\u4e48\u662f\u201c\u89c6\u9891\u6e38\u620f\u4ea7\u4e1a\u201d\uff1f|\u6211\u4e0d\u77e5\u9053\u3002' ) : 'Level 13' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u8c22\u5929\u8c22\u5730\u4f60\u5728\u8fd9\u91cc|\u563f\uff0c\u6211\u4e5f\u5f88\u9ad8\u5174\u770b\u5230\u4f60\uff0c\u5b69\u5b50\uff01|\u6211\u6652\u6210\u8fd9\u6837\u4e86|\u54e6\u3002|\u4e3a\u4ec0\u4e48\u4f60\u7528\u4e86\u90a3\u4e48\u4e45' ) : 'Level 14' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u4f60\u770b\u5230\u6bd4\u8428\u997c\u90a3\u4e9b\u5c0f\u5bb6\u4f19\u4e86\u5417\uff1f|\u6211\u2026\u2026\u662f\u7684\u662f\u7684\u3002|\u4ed6\u4eec\u771f\u68d2\u3002|\u4ed6\u4eec\u2026\u2026\u60f3\u6740\u6211\u2026\u2026|\u597d\u6781\u4e86\u3002' ) : 'Level 15' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u563f\uff0c\u7238\u7238\uff01\u6211\u5728\u627e\u6d77\u53c2\uff01|\u600e\u4e48\u6837\uff1f|\u4e0d\u592a\u597d\uff0c\u5230\u76ee\u524d\u4e3a\u6b62\u6211\u8fd8\u6ca1\u6709\u627e\u5230\u3002|\u5662\uff0c\u90a3\u4e5f\u8bb8\u8be5\u56de\u5bb6\u4e86\u3002|\u4f46\u662f\u6d77\u53c2\u662f\u6211\u7684\u7231\u597d\uff01|\u56de\u5bb6\u662f\u6211\u7684\u7231\u597d\u3002|\u90a3\u4e0d\u662f\u4e00\u4e2a\u5f88\u597d\u7684\u7231\u597d\u3002' ) : 'Level 16' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u6211\u4e0d\u77e5\u9053\u6211\u600e\u4e48\u4e0a\u5230\u8fd9\u91cc\u7684\u3002\u6211\u4e5f\u4e0d\u786e\u5b9a\u6211\u4eec\u5982\u4f55\u4e0b\u53bb\u3002|\u4e0d\u7528\u62c5\u5fc3\uff0c\u6211\u4eec\u53ea\u662f\u5728\u6bcf\u4e2a\u5173\u5361\u7684\u7ed3\u5c3e\u98de\u8d70\u3002|\u8fd9\u5f88\u65b9\u4fbf\uff01\u90a3\u4e2a\u600e\u4e48\u8fd0\u884c\uff1f|\u6211\u4e0d\u77e5\u9053\u3002|\u5173\u5361\u662f\u4ec0\u4e48\uff1f|\u518d\u6b21,\u201c no idea.\u201d' ) : 'Level 17' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u6211\u5f88\u9ad8\u5174\u4f60\u6ca1\u6709\u88ab\u90a3\u4e9b\u5c16\u5c16\u7684\u5927\u4e1c\u897f\u538b\u788e\uff01|\u8c22\u8c22\u513f\u5b50\uff0c\u8fd9\u5bf9\u6211\u6765\u8bf4\u771f\u7684\u5f88\u91cd\u8981\u3002|\u6ca1\u95ee\u9898\uff01' ) : 'Level 18' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u54e6\uff0c\u7238\u7238\uff01\u4f60\u5728\u8fd9\u91cc\u505a\u4ec0\u4e48\uff1f|\u4e3b\u8981\u662f\u5728\u5bfb\u627e\u6211\u7684\u8822\u5b69\u5b50\u3002|\u627e\u5230\u4ed6\u4eec\u4e86\u5417\uff1f|\u2026\u2026|\u54e6\u3002' ) : 'Level 19' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u554a\uff0c\u591a\u4e48\u60a0\u95f2\u7684\u6d77\u6ee9\u65f6\u5149\uff01|\u4f60\u7740\u9646\u4e86\u3002|\u5475\u5475\uff1f|\u4f60\u4eec\u90fd\u7740\u9646\u4e86\u3002|\u4ec0\u4e48\uff1f|\u6c38\u8fdc\u3002' ) : 'Level 20' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u54c7\uff01\u4f60\u51fb\u8d25\u4e86\u70ed\u72d7\uff01|\u90a3\u771f\u7684\u662f\u4ed6\u7684\u540d\u5b57\u5417\uff1f|\u662f\u7684\uff0c\u4ed6\u7684\u7236\u6bcd\u6709\u4e00\u79cd\u5947\u602a\u7684\u5e7d\u9ed8\u611f\u3002\u7236\u6bcd\u592a\u5947\u602a\u4e86\u3002|\u770b\u3002' ) : 'Level 21' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u8fd9\u91cc\u592a\u51b7\u4e86\uff0c\u6211\u7684\u811a\u8dbe\u6ca1\u77e5\u89c9\u4e86\uff01|\u4f60\u662f\u841d\u535c\uff0c\u4f60\u6ca1\u6709\u811a\u8dbe\u3002|\u54e6\uff0c\u4e0d\uff01' ) : 'Level 22' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u6211\u770b\u5230\u4e86\u96ea\u4eba\uff01|\u4e0d\uff0c\u4f60\u6ca1\u6709\u3002|\u6211\u6ca1\u6709\u3002' ) : 'Level 23' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u7238\u7238\uff0c\u5723\u8bde\u8282\u5feb\u4e50\uff01|\u5443\uff0c\u8c22\u8c22\uff0c\u4f46\u73b0\u5728\u4e0d\u662f\u5723\u8bde\u65f6\u95f4\u3002|\u90a3\u4e3a\u4ec0\u4e48\u4e0b\u96ea\u4e86\uff1f|\u56e0\u4e3a\u6211\u4eec\u5728\u5c71\u4e0a\u3002|\u4e00\u5ea7\u5723\u8bde\u5c71\uff01|\u4e0d\uff0c\u53ea\u662f\u4e00\u5ea7\u666e\u901a\u7684\u5c71\u3002|\u8282\u65e5\u5feb\u4e50\uff01' ) : 'Level 24' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u6211\u5728\u6d77\u6ee9\u4e0a\u5ea6\u8fc7\u4e86\u6109\u5feb\u7684\u65f6\u5149\uff01|\u8fd9\u4e0d\u662f\u6d77\u6ee9\uff0c\u8fd9\u662f\u4e00\u5ea7\u5c71\u3002|\u5982\u679c\u4f60\u6709\u79ef\u6781\u7684\u7cbe\u795e\u6001\u5ea6\uff0c\u4efb\u4f55\u5730\u65b9\u90fd\u53ef\u4ee5\u6210\u4e3a\u6d77\u6ee9\uff01|\u4e0d\u2026\u2026\u4e0d\uff0c\u6211\u8ba4\u4e3a\u90a3\u662f\u4e0d\u5bf9\u7684\u3002' ) : 'Level 25' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u8fd9\u4e9b\u5bb6\u4f19\u5230\u5e95\u600e\u4e48\u56de\u4e8b\uff1f\uff01|\u592a\u9177\u4e86\u5bf9\u5427\uff01|\u4e0d\uff01\u4e0d\u9177\uff01\u4ed6\u4eec\u8bd5\u56fe\u6740\u6211\uff01\u4ed6\u4eec\u4ece\u54ea\u91cc\u5f97\u5230\u8fd9\u4e9b\u9999\u80a0\uff1f\uff01|\u54e6\uff0c\u4ed6\u4eec\u662f\u4ece\u591a\u7ef4\u9999\u80a0\u6da1\u6d41\u90a3\u91cc\u5f97\u5230\u7684\u3002|\u4ec0\u4e48\uff1f|\u6700\u597d\u4e0d\u8981\u53bb\u60f3\u5b83\u3002' ) : 'Level 26' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u54c7\uff0c\u7238\u7238\uff01\u6454\u4e86\u4e00\u8de4\uff01\u4f60\u8fd8\u597d\u5417\uff1f|\u6211\u771f\u7684\u5f88\u9ad8\u5174\u6211\u6ca1\u6709\u9aa8\u5934\u3002|\u6211\u4e5f\u662f\uff01' ) : 'Level 27' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u6211\u5df2\u7ecf\u538c\u5026\u4e86\u8fd9\u4e2a\u96ea\u6d1e\uff0c\u73b0\u5728\u6211\u4eec\u53ef\u4ee5\u56de\u5bb6\u4e86\u5417\uff1f|\u6211\u4eec\u672c\u6765\u53ef\u4ee5\u4e00\u76f4\u5446\u5728\u5bb6\u91cc\u3002' ) : 'Level 28' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u6211\u51bb\u4f4f\u4e86|\u4f60\u8fd8\u597d\u3002|\u6211\u662f\u4e00\u5757\u51b0|\u4e0d\uff0c\u4f60\u4e0d\u662f\u3002|\u6211\u8981\u628a\u6211\u7684\u827a\u540d\u6539\u4e3a\u5c0f\u51b0\u67f1|\u90a3\u2026\u2026\u4e8b\u5b9e\u4e0a\u76f8\u5f53\u597d\u3002' ) : 'Level 29' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u53c8\u662f\u4f60\uff01|\u770b\uff0c\u5173\u4e8e\u4e4b\u524d\u6211\u771f\u7684\u5f88\u62b1\u6b49\u3002\u6211\u4e0d\u662f\u6545\u610f\u90a3\u6837\u5c16\u53eb\uff0c\u53ea\u662f\u6211\u771f\u7684\u5f88\u60ca\u8bb6\u3002|\u563f\uff0c\u6ca1\u5173\u7cfb\uff0c\u4f19\u8ba1\uff0c\u4e0d\u7528\u62c5\u5fc3\u3002|*SCREECH*|\u5662\uff0c\u6211\u7684\u5929\u54ea\u3002' ) : 'Level 30' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u4f60\u786e\u5b9a\u5411\u6c99\u9f99\u4ecb\u7ecd\u4e86\u8c01\u662f\u8001\u677f\uff01|\u6211\u611f\u89c9\u4e0d\u50cf\u8001\u677f\u3002\u6211\u7d2f\u4e86\u3002\u5f88\u7d2f\u3002\u6211\u53ea\u60f3\u627e\u5230\u6240\u6709\u7684\u5b69\u5b50\u7136\u540e\u56de\u5bb6\u3002\u4e3a\u4ec0\u4e48\u6211\u6709\u8fd9\u4e48\u591a\u5b69\u5b50\uff1f|\u55ef\u2026\u2026\u6211\u4e0d\u786e\u5b9a\u2026\u2026\u4e5f\u8bb8\u2026\u2026\u5b62\u5b50\uff1f|\u4e0d\uff0c\u542c\u8d77\u6765\u4e0d\u5bf9\u3002' ) : 'Level 31' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u8fd9\u4e2a\u5730\u65b9\u5f88\u6050\u6016\uff01\u8fd9\u91cc\u95fb\u8d77\u6765\u5c31\u50cf\u5e7d\u7075\uff01|\u95fb\u8d77\u6765\u50cf\u9709\u83cc\u3002|\u9709\u83cc\u5e7d\u7075\uff01' ) : 'Level 32' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u90a3\u4e9b\u5bb6\u4f19\u5c31\u50cf\u7206\u70b8\u4e86\uff01|\u6211\u6ce8\u610f\u5230\u4e86\u3002|\u4f60\u8ba4\u4e3a\u6211\u4eec\u5e94\u8be5\u627e\u533b\u751f\u5417\uff1f|\u4e0d\uff0c\u4ed6\u4eec\u4f1a\u6ca1\u4e8b\u7684\u3002' ) : 'Level 33' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u6b22\u8fce\u6765\u5230\u6211\u7684\u79d8\u5bc6\u6050\u6016\u96a7\u9053\uff01|\u8c22\u8c22\uff0c\u6211\u8ba8\u538c\u5b83\u3002' ) : 'Level 34' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u8fd9\u4e2a\u5730\u65b9\u6781\u4e3a\u5371\u9669\uff01\u4e3a\u4ec0\u4e48\u4f60\u8fd8\u5728\u8fd9\u91cc\uff1f|\u4e3a\u4ec0\u4e48\u4f60\u8fd8\u5728\u8fd9\u91cc\uff1f|\u6211\u5728\u8fd9\u91cc\u5bfb\u627e\u4f60\uff01|\u6211\u5728\u8fd9\u91cc\u5bfb\u627e\u4f60\uff01|\u505c\u4e0b\u6765\uff01' ) : 'Level 35' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u8fd9\u662f\u675c\u7eb3\u514b\u52cb\u7235\u7684\u623f\u5b50\uff01\u4ed6\u662f\u4e00\u4e2a\u6709\u9b45\u529b\u7684\u7ec5\u58eb\uff01|\u54e6\uff0c\u8fd9\u662f\u4e2a\u597d\u6d88\u606f\uff01|\u4ed6\u4e5f\u662f\u4e00\u4e2a\u559c\u6b22\u6298\u78e8\u5165\u4fb5\u8005\u7684\u75af\u5b50\uff01|\u54e6\uff0c\u5bf9\u3002' ) : 'Level 36' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u8fd9\u4e2a\u5730\u65b9\u8d85\u7ea7\u6050\u6016\u3002|\u6c14\u7403\u771f\u597d\u3002|\u662f\u7684\u3002\u5c31\u50cf\u4e00\u4e2a\u6050\u6016\u7684\u751f\u65e5\u805a\u4f1a\u3002|\u786e\u5b9e\u3002' ) : 'Level 37' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u6211\u662f\u6050\u6016\u57ce\u5821\u5973\u738b\uff01|\u4f60\u662f\u4e00\u4e2a\u7761\u8fc7\u5934\u7684\u841d\u535c\u3002|\u6050\u6016\u57ce\u5821\u5973\u738b\u2026\u2026\uff01' ) : 'Level 38' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u8fd9\u4e2a\u5ba4\u5185\u6e38\u6cf3\u6c60\u6709\u591a\u9177\uff1f|\u6211\u975e\u5e38\u786e\u5b9a\u8fd9\u662f\u6c61\u6c34\u3002|\u54e6\u2026\u2026\u4f60\u89c9\u5f97\u996e\u7528\u5b89\u5168\u5417\uff1f|\u6211\u8981\u8bf4\u2026\u2026\u4e0d\u3002|\u55ef\u54e6\u3002' ) : 'Level 39' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\u54c7\uff0c\u7238\u7238\uff0c\u4f60\u771f\u4e86\u4e0d\u8d77\uff01\u6211\u6ca1\u60f3\u5230\u4f60\u80fd\u901a\u8fc7\u8fd9\u4e2a\u5c16\u5c16\u7684\u5347\u964d\u673a\uff01|\u5982\u679c\u4f60\u5446\u5728\u5bb6\u91cc\uff0c\u6211\u5c31\u4e0d\u7528\u8fd9\u4e48\u505a\u4e86\u3002|\u4e0d\u8fc7\u90a3\u6837\u6211\u5c31\u4e0d\u77e5\u9053\u4f60\u6709\u591a\u68d2\u4e86!' ) : 'Level 40' == c.getCurrentSceneName() && d.setValue( 'Baby Logic', '_DialogText', '\u4f60\u505a\u5230\u4e86\uff0c\u7238\u7238\uff01\u4f60\u6551\u4e86\u6211\u4eec\u6240\u6709\u4eba\uff01|\u6211\u7cbe\u75b2\u529b\u5c3d\u4e86\u3002\u8be5\u56de\u5bb6\u4e86\u3002|\u6211\u7231\u4f60\uff0c\u7238\u7238\u3002|\u6211\u4e5f\u7231\u4f60\uff0c\u5b69\u5b50\u3002\u4f60\u7740\u9646\u4e86\u3002' )); } } }, null ); c.runLater( 200, function (a) { if ( 'KR' == h.engine.getGameAttribute('Language') && !h.engine.getGameAttribute('Possum Mode') ) { a = 0; for (var b = c.getActorsOfType(c.getActorType(159)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || ('Level 1' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc544\ube60 \uc548\ub155! \uc808 \ucc3e\uc73c\uc168\ub124\uc694!|\ubcc4\ub85c \uba40\ub9ac \uac00\uc9c0 \uc54a\uc558\uad6c\ub098...|\uc6b0\ub9ac \ud615\uc81c\ub4e4 \uc911\uc5d0\uc11c \uc804 \uac00\uc7a5 \uac8c\uc73c\ub974\uc796\uc544\uc694.|\ub2e4\ud589\uc774\uad6c\ub098.' ) : 'Level 2' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc640, \uc544\ube60\uac00 \ub354\ube14 \uc810\ud504\ub97c \ud558\uc2e4 \uc904 \ubab0\ub790\uc5b4\uc694!|\uc74c, \ub108\ud76c\uac00 \uc9d1\uc5d0 \uc798 \uc788\uc5c8\ub2e4\uba74 \ub0b4\uac00 \uc810\ud504\ud560 \ud544\uc694\ub3c4 \uc5c6\uc5c8\uc744 \uac70\ub780\ub2e4.|\ub354\ube14 \uc810\ud504 \uba4b\uc838\uc694!|*#\ud55c\uc228*' ) : 'Level 3' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc774\ubd10\uc694!|\ubb50?!|\ub2f9\uc7a5 \ub098\uac00\uc694!|\ubb50\ub77c\uace0?!|\uc5ec\uae34 \ubd80\ubaa8 \uae08\uc9c0\uad6c\uc5ed\uc774\uc5d0\uc694! \ub098\uac00\uc694!|\ub410\ub2e4, \ub10c \uc678\ucd9c \uae08\uc9c0\uc57c.|\uc8c4\uc1a1\ud574\uc694.' ) : 'Level 4' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc5ec\uae30\uc5d0\uc11c \ubb50 \ud558\uace0 \uc788\ub2c8?|\uc81c \uc778\uc0dd\uc744 \uc990\uae30\uace0 \uc788\uc5c8\uc5b4\uc694!|\uadf8\ub798, \uc88b\uc740 \uac70 \uac19\uae34 \ud55c\ub370 \uc774\uc81c \uc9d1\uc5d0 \uac08 \uc2dc\uac04\uc774\ub2e4.|\ub124, \uc88b\uc544\uc694... \uc778\uc0dd\uc744 \uc990\uae30\ub294 \uac83\ub3c4 \uc880 \ud798\ub4dc\ub124\uc694.' ) : 'Level 5' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc544\ube60 \uc548\ub155! \uc9d1\uc5d0 \uc624\ub77c\uace0 \ud558\uc2e4 \uac70\uc608\uc694?|\uadf8\ub798. \ub108\ubb34 \uac71\uc815\ud588\ub2e8\ub2e4!|\uc5b4, \uc800\ub450\uc694.|\ubb34\uc2a8 \ub9d0\uc774\ub2c8?|\uc804 \uc77c\ubd80\ub7ec \uacc4\uc18d \uc704\ud5d8\uc5d0 \ucc98\ud558\ub824\uace0 \ud588\uc5b4\uc694. \uc2a4\ub9b4\uc744 \uc990\uae30\ub294\ucc99 \ud588\uc9c0\ub9cc, \uc0ac\uc2e4\uc740 \uadf8\ub0e5 \uad00\uc2ec\ubc1b\uace0 \uc2f6\uc5c8\uc5b4\uc694.|\uadf8\ub807\uad6c\ub098.' ) : 'Level 6' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc544\ube60 \uc548\ub155! \uc5ec\uae30 \uba4b\uc788\uc9c0 \uc54a\uc544\uc694?|\ubaa8\ub974\uaca0\uad6c\ub098... \ubfb0\uc871\ud558\uace0 \uc704\ud5d8\ud55c \ubb3c\uac74\uc774 \ub108\ubb34 \ub9ce\uc544.|\uc54c\uc544\uc694! \uc815\ub9d0 \uba4b\uc788\uc5b4\uc694!' ) : 'Level 7' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc774 \ub3d9\uad74\uc774 \uc81c \uc0c8\uc9d1\uc774\uc5d0\uc694. \uc774\uc81c \uc5ec\uae30\uc5d0\uc11c \uc0b4 \uac70\uc608\uc694.|\uc548\ub3fc.|\uc5ec\uae30\uc11c \uc0b4 \uac70\uc608\uc694.|\uc548\ub41c\ub2e4\ub2c8\uae4c.|\uc54c\uc558\uc5b4\uc694. \uc8c4\uc1a1\ud574\uc694.' ) : 'Level 8' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc5b4... \uc74c... \uc81c \uc544\uc774\uac00 \uc544\ub2c8\uc2dc\ub124\uc694...|*\uaf64\uc561*|\uc5b4 \uc774\ub7f0.' ) : 'Level 9' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc598\ub4e4\uc544, \uc65c \uc774\ub807\uac8c \uc704\ud5d8\ud55c \uacf3\uc5d0 \uc228\ub294 \uac70\ub2c8? \uc1fc\ud551\ubab0 \uac19\uc740 \ub370\uc5d0 \uc228\uc744 \uc218\ub294 \uc5c6\ub2c8?|\uc7a0\uae50\ub9cc\uc694... \uc5ec\uae30 \uc1fc\ud551\ubab0 \uc544\ub2c8\uc5d0\uc694? \uc65c \ubc18\ubc14\uc9c0\ub97c \ubc18\ud488\ud574\uc8fc\uc9c0 \uc54a\uc558\ub294\uc9c0 \uc54c \uac83 \uac19\ub124\uc694.|\ubc18\ubc14\uc9c0?! \ub10c \ub2e4\ub9ac\ub3c4 \uc5c6\uc796\uc544!|\uc5b4, \uadf8\ub798\uc11c \ubc18\ubc14\uc9c0\ub97c \ud658\ubd88\ud558\ub824\uace0 \ud588\uc5b4\uc694!' ) : 'Level 10' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc6b0\uc640! \uc800 \uc774\uc0c1\ud55c \ud584\ubc84\uac70\ub97c \uc774\uae30\uc168\ub124\uc694!|\uc608\uc57c, \ubcc4\ub85c \uae30\ubd84\uc774 \uc88b\uc9c4 \uc54a\uad6c\ub098. \uaf64 \uc88b\uc740 \uc0ac\ub78c \uac19\uc558\uc5b4.|\uc544\ube60\ub97c \uc8fd\uc774\ub824\uace0 \ud588\uc5b4\uc694!|\uadf8\ub2c8\uae4c \ubb50 \uadf8\ub7f0 \uac83 \uac19\uae34 \ud55c\ub370... \uc74c... \ubb34\uc0ac\ud55c \uac83 \uac19\uc544\uc11c \ub2e4\ud589\uc774\uad6c\ub098.|\uc544\ube60\ub3c4 \ubb34\uc0ac\ud574\uc11c \ub2e4\ud589\uc774\uc5d0\uc694. \uace0\ub9c8\uc6cc\uc694, \uc544\ube60.' ) : 'Level 11' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\ubc14\ub2f7\uac00\uc5d0\uc11c \ub180\uace0 \uc788\uc5c8\uc5b4\uc694!|\uc5ec\uae34 \ub0b4\uac00 \uac00\ubcf8 \ubc14\ub2f7\uac00 \uc911\uc5d0\uc11c \uac00\uc7a5 \uc704\ud5d8\ud55c \uacf3\uc774\uad6c\ub098.|\uc81c\uac00 \uac00\ubcf8 \ubc14\ub2f7\uac00 \uc911 \uac00\uc7a5 \uc7ac\ubbf8\uc788\ub294 \uacf3\uc774\uc5d0\uc694!' ) : 'Level 12' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc5ec\uae30 \uacbd\uce58\uac00 \uc815\ub9d0 \uba4b\uc838\uc694!|\uba4b\uc9c0\uad6c\ub098, \ud558\uc9c0\ub9cc \uc9d1\uc5d0\ub3c4 \uc774\ub7f0 \uacf3\uc774 \uc788\uc9c0 \uc54a\ub2c8.|\uac8c\uc784 \uc0b0\uc5c5\uc5d0\uc11c\ub294 \u201c\ub9ac\uc18c\uc2a4 \uc7ac\ud65c\uc6a9\u201d\uc774\ub77c\uace0 \ud558\uc8e0. \uba54\ubaa8\ub9ac\ub97c \uc808\uc57d\ud558\uace0 \uac1c\ubc1c \uc2dc\uac04\uc744 \uc544\ub07c\ub294 \ub370 \uc88b\uc740 \ubc29\ubc95\uc774\uc5d0\uc694.|\u201d\uac8c\uc784 \uc0b0\uc5c5\u201d\uc774 \ubb50\ub2c8\u201c\u201c?|\ubaa8\ub974\uaca0\uc5b4\uc694.' ) : 'Level 13' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc544\ube60\uac00 \uc624\uc154\uc11c \ub2e4\ud589\uc774\uc5d0\uc694|\uc544\uac00\uc57c, \ub2e4\uc2dc \ubd10\uc11c \uc815\ub9d0 \ub2e4\ud589\uc774\uad6c\ub098!|\ud587\ubcd5\uc5d0 \ub108\ubb34 \ub9ce\uc774 \ud0d4\uc5b4\uc694|\uc774\ub7f0.|\uc65c \uc774\ub807\uac8c \uc624\ub798 \uac78\ub9ac\uc168\uc5b4\uc694' ) : 'Level 14' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc800\uae30 \uc791\uc740 \ud53c\uc790 \ubcf4\uc168\uc5b4\uc694?|\uc5b4... \ubd24\uc9c0. \uadf8\ub798.|\uaf64 \uba4b\uc788\ub294 \uac70 \uac19\uc544\uc694.|\uc800\uac74... \ub0a0 \uc8fd\uc774\ub824\uace0 \ud588\uc5b4...|\uaf64 \uba4b\uc788\ub124\uc694.' ) : 'Level 15' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc544\ube60! \ud574\uc0bc\uc744 \ucc3e\uace0 \uc788\uc5c8\uc5b4\uc694!|\uc5bc\ub9c8\ub098 \ucc3e\uc558\ub2c8?|\uadf8\ub2e4\uc9c0 \uc548 \uc88b\uc544\uc694. \ubcc4\ub85c \ubabb \uc7a1\uc558\uc5b4\uc694|\uadf8\ub7fc, \uc774\uc81c \uc9d1\uc5d0 \uac00\uba74 \ub418\uaca0\ub2e4.|\ud558\uc9c0\ub9cc \ud574\uc0bc\uc740 \uc81c \uc778\uc0dd\uc758 \ubaa9\ud45c\ub77c\uace0\uc694!|\uc9d1\uc5d0 \uac00\ub294 \uac74 \ub0b4 \uc778\uc0dd\uc758 \ubaa9\ud45c\ub780\ub2e4.|\uadf8\ub807\uac8c \uc88b\uc740 \ubaa9\ud45c\ub294 \uc544\ub2c8\ub124\uc694.' ) : 'Level 16' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc5ec\uae30\uc5d0 \uc5b4\ub5bb\uac8c \uc654\ub294\uc9c0 \uc804\ud600 \ubaa8\ub974\uaca0\uc5b4\uc694. \uc5b4\ub5bb\uac8c \ub0b4\ub824\uac00\uc57c \ud558\ub294\uc9c0\ub3c4 \ubaa8\ub974\uaca0\uc5b4\uc694.|\uac71\uc815\ud558\uc9c0 \ub9d0\ub834. \ub808\ubca8\uc774 \ub05d\ub0a0 \ub54c\ub9c8\ub2e4 \uadf8\ub0e5 \ub0a0\uc544\uac04\ub2e8\ub2e4.|\uadf8\uac83\ucc38 \ud3b8\ub9ac\ud558\ub124\uc694! \uc5b4\ub5bb\uac8c \ud558\ub294 \uac70\uc608\uc694?|\ub098\ub3c4 \ubaa8\ub978\ub2e8\ub2e4.|\u201d\ub808\ubca8\u201d\uc740 \ub610 \ubb50\uc5d0\uc694?|\uadf8\uac83\ub3c4 \ubaa8\ub974\uaca0\uad6c\ub098.,\u201c no idea.\u201d' ) : 'Level 17' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc800 \ucee4\ub2e4\ub780 \uac00\uc2dc \uc0c1\uc790\uc5d0 \uae54\ub9ac\uc9c0 \uc54a\uc544\uc11c \ucc38 \ub2e4\ud589\uc774\uc5d0\uc694!|\uace0\ub9d9\uad6c\ub098 \uc544\ub4e4\uc544. \uadf8\uac83\ucc38 \ub3c4\uc6c0\uc774 \ub410\uc5b4.|\ucc9c\ub9cc\uc5d0\uc694!' ) : 'Level 18' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc640, \uc544\ube60 \uc548\ub155! \uc5ec\uae30\uc5d0\uc11c \ubb50 \ud558\uc138\uc694?|\uc6b0\ub9ac \uba4d\uccad\ud55c \uc544\uc774\ub4e4\uc744 \ucc3e\uace0 \uc788\uc9c0.|\uba4d\uccad\ud55c \uc560\ub4e4\uc740 \uc798 \ucc3e\uc73c\uc168\uc5b4\uc694?|...|\uc544.' ) : 'Level 19' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\ud574\ubcc0\uc5d0\uc11c \uc26c\ub2c8\uae4c \uc88b\ub124\uc694!|\ub10c \uc678\ucd9c \uae08\uc9c0\uc57c..|\ub124?|\ub108\ub124 \uc804\ubd80 \uc678\ucd9c \uae08\uc9c0\uc57c.|\ubb50\ub77c\uace0\uc694?|\uc601\uc6d0\ud788.' ) : 'Level 20' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc640! \ud56b\ub3c4\uadf8\ub97c \ubb3c\ub9ac\uce58\uc168\uc5b4\uc694!|\uadf8\uac70 \uc9c4\uc9dc \uc774\ub984\uc778 \uac70\uc57c?|\ub124, \ud56b\ub3c4\uadf8\ub124 \ubd80\ubaa8\ub2d8\ub4e4\uc758 \uc791\uba85 \uc13c\uc2a4\uac00 \ubcc4\ub85c\uc600\ub358 \uac70 \uac19\uc544\uc694. \ubd80\ubaa8\ub2d8\ub4e4\uc774 \uc815\ub9d0 \uc774\uc0c1\ud574\uc694.|\ub9d0\uc870\uc2ec\ud558\ub834.' ) : 'Level 21' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\ub108\ubb34 \ucd94\uc6cc\uc694. \ubc1c\uac00\ub77d\uc5d0 \uac10\uac01\uc774 \uc5c6\uc5b4\uc694!|\ub108\ub294 \ubb34\ub2c8\uae4c \ubc1c\uac00\ub77d\ub3c4 \uc5c6\uc796\ub2c8.|\uc774\ub7f0!' ) : 'Level 22' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc124\uc778\uc744 \ubd24\uc5b4\uc694!|\uc544\ub2c8, \ubcf8 \uc801 \uc5c6\ub2e4.|\ub124, \ubcf8 \uc801 \uc5c6\uc8e0.' ) : 'Level 23' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc544\ube60, \uba54\ub9ac \ud06c\ub9ac\uc2a4\ub9c8\uc2a4!|\uc5b4, \uace0\ub9d9\uad6c\ub098. \uadfc\ub370 \ud06c\ub9ac\uc2a4\ub9c8\uc2a4 \uc2dc\uc98c\uc774 \uc544\ub2c8\ub780\ub2e4.|\uadf8\ub7fc \uc65c \ub208\uc774 \uc624\uc8e0?|\uc6b0\ub9ac\uac00 \uc0b0\uc5d0 \uc788\uc73c\ub2c8\uae4c.|\ud06c\ub9ac\uc2a4\ub9c8\uc2a4 \uc0b0\uc774\ub124\uc694!|\uc544\ub2c8, \uadf8\ub0e5 \uc0b0\uc774\uc57c.|\ud589\ubcf5\ud55c \uc131\ud0c4\uc808!' ) : 'Level 24' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\ubc14\ub2f7\uac00\uc5d0\uc11c \uc815\ub9d0 \uba4b\uc9c4 \uc2dc\uac04\uc744 \ubcf4\ub0b4\uace0 \uc788\uc5c8\uc5b4\uc694!|\uc5ec\uae34 \ubc14\ub2f7\uac00\uac00 \uc544\ub2c8\ub780\ub2e4. \uc5ec\uae34 \uc0b0\uc774\uc9c0.|\uc5b4\ub514\ub4e0\uc9c0 \ubc14\ub2f7\uac00\uac00 \ub420 \uc218 \uc788\uc5b4\uc694. \uae0d\uc815\uc801\uc778 \uc790\uc138\ub97c \uac00\uc9c0\uc138\uc694!|\uc544\ub2c8... \uadf8\uac74 \uc633\uc9c0 \uc54a\uc544.' ) : 'Level 25' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc800 \uc790\uc2dd\ub4e4\uc740 \ub300\uccb4 \uc65c \uc800\ub7ec\ub294 \uac70\uc57c?|\uc644\uc804 \uba4b\uc788\uc8e0!|\uc544\ub2c8! \uba4b\uc788\uc9c0 \uc54a\uc544! \ub0a0 \uc8fd\uc774\ub824\uace0 \ud588\ub2e4\uace0! \uc800 \uc18c\uc2dc\uc9c0\ub4e4\uc740 \ub300\uccb4 \uc5b4\ub514\uc5d0\uc11c \uc628 \uac70\uc57c?!|\uc5b4, \ub0b4\ucc28\uc6d0\uc758 \uc18c\uc2dc\uc9c0 \uc18c\uc6a9\ub3cc\uc774\uc5d0\uc11c \uc654\uc5b4\uc694.|\ub0b4\ucc28\uc6d0, \ubb50?|\uadf8\ub0e5 \uc0dd\uac01\ud558\uc9c0 \uc54a\ub294 \uac8c \ub098\uc744 \uac70 \uac19\uc544\uc694.' ) : 'Level 26' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc640 \uc544\ube60! \uba4b\uc9c4 \ucc29\ub959\uc774\uc5c8\uc5b4\uc694! \uad1c\ucc2e\uc73c\uc138\uc694?|\ub0b4\uac8c \ubf08\uac00 \uc5c6\uc5b4\uc11c \uc815\ub9d0 \ub2e4\ud589\uc774\uad6c\ub098.|\uc800\ub450\uc694!' ) : 'Level 27' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc5ec\uae30 \ub208 \ub3d9\uad74\uc5d0 \uc9c8\ub838\uc5b4\uc694. \uc9d1\uc5d0 \uac00\uba74 \uc548 \ub3fc\uc694?|\uc9c0\uae08\uae4c\uc9c0 \uacc4\uc18d \uc9d1\uc5d0 \uc788\uc5b4\uc57c \ud588\ub2e8\ub2e4.' ) : 'Level 28' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', "\uc800\ub294 \uc5bc\uc5c8\uc5b4\uc694|\uad1c\ucc2e\ub2e8\ub2e4.|\uc800\ub294 \uc5bc\uc74c\ub369\uc5b4\ub9ac\uc608\uc694|\uc544\ub2c8\ub780\ub2e4.|\uc800\ub294 \ub7a9 \ub124\uc784\uc744 \u201cLIL' ICICLE\u201d\u201d\uc774\ub77c\uace0 \ubc14\uafc0 \uac70\uc608\uc694|\uadf8\uac70... \uaf64 \uba4b\uc9c0\uad6c\ub098." ) : 'Level 29' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\ub610 \ubcf4\ub124\uc694!|\uc774\uc804\uc5d0\ub294 \ubbf8\uc548\ud588\uc5b4\uc694. \uadf8\ub807\uac8c \ube44\uba85\uc744 \uc9c0\ub97c \uc0dd\uac01\uc740 \uc5c6\uc5c8\uc5b4\uc694. \uadf8\ub0e5 \uc81c\uac00 \uc815\ub9d0 \uc798 \ub180\ub77c\uc694.|\uc774\ubd10\uc694, \uad1c\ucc2e\uc544\uc694. \uac71\uc815\ud558\uc9c0 \ub9c8\uc138\uc694.|*\uaf64\uc561*|\uc544, \uc774\ub7f0.' ) : 'Level 30' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc0e4\ub860\uc5d0\uac8c \ubcf8\ub54c\ub97c \ubcf4\uc5ec\uc92c\uc5b4\uc694!|\ubcf8\ub54c\uac00 \ubb54\uc9c0\ub294 \uc798 \ubaa8\ub974\uaca0\uad6c\ub098. \ud53c\uace4\ud558\uad6c\ub098. \ub108\ubb34 \ud53c\uace4\ud574. \uadf8\ub0e5 \ub108\ud76c\ub4e4\uc744 \ubaa8\ub450 \ucc3e\uc544 \uc9d1\uc5d0 \uac00\uace0 \uc2f6\uad6c\ub098. \uc65c \uc774\ub807\uac8c \uc560\uac00 \ub9ce\uc740 \uac70\uc9c0?|\uc74c... \uc798 \ubaa8\ub974\uaca0\ub124\uc694... \uc544\ub9c8... \ud3ec\uc790\ub85c \ubc88\uc2dd\ud558\uc168\uc5b4\uc694?|\uc74c, \uadf8\uac74 \uc544\ub2cc \uac83 \uac19\uad6c\ub098.' ) : 'Level 31' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc5ec\uae30 \uc815\ub9d0 \uc73c\uc2a4\uc2a4\ud574\uc694! \uadc0\uc2e0 \ub0c4\uc0c8\uac00 \ub098\ub294 \uac83 \uac19\uc544\uc694!|\uacf0\ud321\uc774 \ub0c4\uc0c8\uaca0\uc9c0.|\uacf0\ud321\uc774 \uadc0\uc2e0!' ) : 'Level 32' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc7e4\ub124\ub4e4\uc774, \ub9c9, \ud130\uc84c\uc5b4\uc694!|\ubd24\ub2e8\ub2e4.|\uc758\uc0ac\ub97c \ubd88\ub7ec\uc57c \ud560\uae4c\uc694?|\uc544\ub2c8, \uc544\ub9c8 \uad1c\ucc2e\uc744 \uac8c\ub2e4.' ) : 'Level 33' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc81c \ube44\ubc00\uc758 \uadc0\uc2e0 \ud130\ub110\uc5d0 \uc628 \uac78 \ud658\uc601\ud569\ub2c8\ub2e4!!|\uace0\ub9d9\uad6c\ub098, \ub9d8\uc5d0\ub294 \uc548 \ub4e4\uc9c0\ub9cc.' ) : 'Level 34' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc5ec\uae30\ub294 \uc815\ub9d0 \uc704\ud5d8\ud574! \uc65c \uc5ec\uae30\uc5d0 \uc788\ub294 \uac70\ub2c8?|\uc65c \uc5ec\uae30\uc5d0 \uc788\uc73c\uc2e0 \uac74\ub370\uc694?|\ub09c \ub108\ub97c \ucc3e\uc73c\ub7ec \uc654\uc5b4!|\uc804 \uc544\ube60\ub97c \ucc3e\uc73c\ub7ec \uc654\uc5b4\uc694!|\uadf8\ub9cc\ud574!' ) : 'Level 35' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc5ec\uae30\ub294 \ub85c\ub4dc \ub354\ub098\ud06c\uc758 \uc9d1\uc774\uc5d0\uc694! \uadf8\ub294 \uba4b\uc9c4 \uc2e0\uc0ac\uc608\uc694!|\uadf8\uac83\ucc38, \uc88b\uc740 \uc18c\uc2dd\uc774\uad6c\ub098!|\uadf8\ub9ac\uace0 \uce68\uc785\uc790\ub97c \uace0\ubb38\ud558\uae38 \uc88b\uc544\ud558\ub294 \ubbf8\uce5c\ub188\uc774\ub798\uc694!|\uc544, \uadf8\ub807\uad6c\ub098.' ) : 'Level 36' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc815\ub9d0 \uc624\uc2f9\ud55c \uacf3\uc774\uad6c\ub098.|\ud48d\uc120\uc774 \uba4b\uc838\uc694.|\uadf8\uac74 \uadf8\ub798. \uc624\uc2f9\ud55c \uc0dd\uc77c\ud30c\ud2f0 \uac19\uad6c\ub098.|\uadf8\ub7ec\uac8c\uc694.' ) : 'Level 37' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\ub098\ub294 \uc73c\uc2a4\uc2a4\ud55c \uc694\uc0c8\uc758 \uc5ec\uc655\uc774\ub2e4!|\ub10c \uc790\ub7ec \uac00\uc57c \ud560 \uc2dc\uac04\uc774 \uc9c0\ub09c \ubb34\ub780\ub2e4.|\uc73c\uc2a4\uc2a4\ud55c \uc694\uc0c8\uc758 \uc5ec\uc5b4\uc5b4\uc5b4\uc655!' ) : 'Level 38' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc5ec\uae30 \uc2e4\ub0b4 \uc218\uc601\uc7a5 \uc9c4\uc9dc \uba4b\uc788\uc9c0 \uc54a\uc544\uc694?|\ub0b4 \uc0dd\uac01\uc5d0\ub294 \ud558\uc218\uad6c\uc778 \uac83 \uac19\uad6c\ub098.|\uc5b4... \ub9c8\uc154\ub3c4 \uc548\uc804\ud560\uae4c\uc694?|\uc544\ub9c8... \uc544\ub2d0 \uac83 \uac19\uad6c\ub098.|\uc5b4 \uc774\ub7f0.' ) : 'Level 39' == c.getCurrentSceneName() ? d.setValue( 'Baby Logic', '_DialogText', '\uc640, \uc544\ube60 \uc815\ub9d0 \ub300\ub2e8\ud574\uc694! \uc800 \uac00\uc2dc \ub2ec\ub9b0 \uc5d8\ub9ac\ubca0\uc774\ud130\ub97c \uc9c0\ub098\uc624\uc2e4 \uc904 \ubab0\ub790\uc5b4\uc694!|\ub124\uac00 \uc9d1\uc5d0 \uc788\uc5c8\ub2e4\uba74 \uadf8\ub7f4 \ud544\uc694\uac00 \uc5c6\uc5c8\ub2e8\ub2e4.|\ud558\uc9c0\ub9cc \uadf8\ub7fc \uc544\ube60\uac00 \ub300\ub2e8\ud558\ub2e4\ub294 \uac83\ub3c4 \ubab0\ub790\uc744 \uac70\uc608\uc694!' ) : 'Level 40' == c.getCurrentSceneName() && d.setValue( 'Baby Logic', '_DialogText', '\uc544\ube60\uac00 \ud574\ub0c8\uc5b4\uc694! \uc544\ube60\uac00 \ubaa8\ub450\ub97c \uad6c\ud588\uc5b4\uc694!|\ub108\ubb34 \uc9c0\ucce4\uad6c\ub098. \uc774\uc81c \uc9d1\uc5d0 \uac00\uc790.|\uc0ac\ub791\ud574\uc694 \uc544\ube60.|\ub098\ub3c4 \uc0ac\ub791\ud55c\ub2e8\ub2e4, \uc544\uac00. \ub10c \uc678\ucd9c \uae08\uc9c0\uc57c.' )); } } }, null ); this.addListener(c.engine.whenDrawing, m(this, this._event_Timer)); this.addListener(c.engine.whenDrawing, m(this, this._event_Clouds)); c.runPeriodically(1, m(this, this._event_TimerCountCopy), null); this.addListener(c.engine.whenAnyGamepadPressed, m(this, this._event_AnyButton)); c.runPeriodically(600, m(this, this._event_Leaves), null); }, forwardMessage: function (a) {}, __class__: Uw }); var Vw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h.Target = '_Target'; this.nameMap.h['Screen Diagonal'] = '_ScreenDiagonal'; this._ScreenDiagonal = 0; this.nameMap.h['Distance X'] = '_DistanceX'; this._DistanceX = 0; this.nameMap.h['Distance Y'] = '_DistanceY'; this._DistanceY = 0; this.nameMap.h.Distance = '_Distance'; this._Distance = 0; this.nameMap.h.Direction = '_Direction'; this._Direction = 0; this.nameMap.h['Minimum Easing Speed'] = '_MinimumEasingSpeed'; this._MinimumEasingSpeed = 5; this.nameMap.h.Speed = '_Speed'; this._Speed = 8; this.nameMap.h.Margin = '_Margin'; this._Margin = 0; this.nameMap.h.Easing = '_Easing'; this._Easing = !0; this.nameMap.h['Stop when Colliding'] = '_StopwhenColliding'; this._StopwhenColliding = !0; this.nameMap.h.Collided = '_Collided'; this._Collided = !1; this.nameMap.h.Follow = '_Follow'; this._Follow = !0; this.nameMap.h['Scatter Direction'] = '_ScatterDirection'; this._ScatterDirection = 0; this.nameMap.h.Scattered = '_Scattered'; this._Scattered = !1; }; k['scripts.Design_511_511_FlyLogic'] = Vw; Vw.__name__ = 'scripts.Design_511_511_FlyLogic'; Vw.__super__ = n; Vw.prototype = t(n.prototype, { _Target: null, _ScreenDiagonal: null, _DistanceX: null, _DistanceY: null, _Distance: null, _Direction: null, _MinimumEasingSpeed: null, _Speed: null, _Margin: null, _Easing: null, _StopwhenColliding: null, _Collided: null, _Follow: null, _ScatterDirection: null, _Scattered: null, _event_Updated: function (a) { this.wrapper.enabled && this._Follow && ((a = this._Target), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Target.isAlive() && ((this._DistanceX = this._Target.getXCenter() - this.actor.getXCenter()), (this._DistanceY = this._Target.getYCenter() - this.actor.getYCenter()), (this._Distance = Math.sqrt( Math.pow(this._DistanceX, 2) + Math.pow(this._DistanceY, 2) )), (this._Direction = 57.29577951308402 * Math.atan2(this._DistanceY, this._DistanceX)), !(this._Distance > this._Margin) || (this._StopwhenColliding && this._Collided) ? this.actor.setVelocity(0, 0) : this._Easing ? this.actor.setVelocity( this._Direction, this._MinimumEasingSpeed + ((this._Distance - this._Margin) / this._ScreenDiagonal) * this._Speed ) : this.actor.setVelocity(this._Direction, this._Speed), (this._Collided = !1))); }, _customEvent_FlyAway: function () { var a = this; this._Scattered || ((this._Scattered = !0), (this._Follow = !1), this.actor.setVelocity(this._ScatterDirection, -15), this._Target.setX(this.actor.getX()), this._Target.setY(this.actor.getY()), c.runLater( 400, function (b) { a._Target.setValue('Fly Target Logic', '_MaxDistance', 256); a._Follow = !0; a.actor.setXVelocity(0); a.actor.setYVelocity(0); }, this.actor )); }, _customEvent_FlyBack: function () { var a = this; this._Scattered && ((this._Follow = this._Scattered = !1), this.actor.setVelocity(this._ScatterDirection, 6), this._Target.setX(this.actor.getX()), this._Target.setY(this.actor.getY()), c.runLater( 700, function (b) { a._Target.setValue('Fly Target Logic', '_MaxDistance', 48); a._Follow = !0; a.actor.setXVelocity(0); a.actor.setYVelocity(0); }, this.actor )); }, init: function () { this.actor.makeAlwaysSimulate(); c.createRecycledActor(c.getActorType(876), this.actor.getX(), this.actor.getY(), 0); this._Target = c.getLastCreatedActor(); this._ScreenDiagonal = Math.sqrt( Math.pow(c.getScreenWidth(), 2) + Math.pow(c.getScreenHeight(), 2) ); ('Temple' != h.engine.getGameAttribute('Stage Type') && 'Temple Cutscene' != c.getCurrentSceneName() && 'World 4 Select' != c.getCurrentSceneName()) || this.actor.setAnimation('White'); this.addListener(this.actor.whenUpdated, m(this, this._event_Updated)); }, forwardMessage: function (a) {}, __class__: Vw }); var Ww = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Max Distance'] = '_MaxDistance'; this._MaxDistance = 0; this.nameMap.h.Distance = '_Distance'; this._Distance = 0; this.nameMap.h['Start X'] = '_StartX'; this._StartX = 0; this.nameMap.h['Start Y'] = '_StartY'; this._StartY = 0; this.nameMap.h['Can Move Up'] = '_CanMoveUp'; this._CanMoveUp = !1; this.nameMap.h['Can Move Down'] = '_CanMoveDown'; this._CanMoveDown = !1; this.nameMap.h['Can Move Left'] = '_CanMoveLeft'; this._CanMoveLeft = !1; this.nameMap.h['Can Move Right'] = '_CanMoveRight'; this._CanMoveRight = !1; this.nameMap.h['Direction RN'] = '_DirectionRN'; this._DirectionRN = 0; }; k['scripts.Design_512_512_FlyTargetLogic'] = Ww; Ww.__name__ = 'scripts.Design_512_512_FlyTargetLogic'; Ww.__super__ = n; Ww.prototype = t(n.prototype, { _MaxDistance: null, _Distance: null, _StartX: null, _StartY: null, _CanMoveUp: null, _CanMoveDown: null, _CanMoveLeft: null, _CanMoveRight: null, _DirectionRN: null, _event_EveryNsecs: function (a) { this.wrapper.enabled && (this.actor.getY() < this._StartY - this._MaxDistance ? (this._CanMoveUp = !1) : (this._CanMoveUp = !0), this.actor.getY() > this._StartY + this._MaxDistance ? (this._CanMoveDown = !1) : (this._CanMoveDown = !0), this.actor.getX() < this._StartX - this._MaxDistance ? (this._CanMoveLeft = !1) : (this._CanMoveLeft = !0), this.actor.getX() > this._StartX + this._MaxDistance ? (this._CanMoveRight = !1) : (this._CanMoveRight = !0), (this._DirectionRN = c.randomInt(1, 4)), 1 == this._DirectionRN && this._CanMoveUp ? this.actor.moveBy(0, -this._Distance, 0.1, v.quadInOut) : 2 == this._DirectionRN && this._CanMoveDown ? this.actor.moveBy(0, this._Distance, 0.1, v.quadInOut) : 3 == this._DirectionRN && this._CanMoveLeft ? this.actor.moveBy(-this._Distance, 0, 0.1, v.quadInOut) : 4 == this._DirectionRN && this._CanMoveRight && this.actor.moveBy(this._Distance, 0, 0.1, v.quadInOut)); }, init: function () { this._MaxDistance = 48; this._Distance = 32; this.actor.makeAlwaysSimulate(); this._StartX = this.actor.getX(); this._StartY = this.actor.getY(); this.actor.setX( c.randomInt( (this._StartX - this._MaxDistance) | 0, (this._StartX + this._MaxDistance) | 0 ) ); this.actor.setY( c.randomInt( (this._StartY - this._MaxDistance) | 0, (this._StartY + this._MaxDistance) | 0 ) ); this.actor.disableActorDrawing(); c.runPeriodically(100, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: Ww }); var Xw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Face Left'] = '_FaceLeft'; this._FaceLeft = !1; this.nameMap.h.Speed = '_Speed'; this._Speed = 8; this.nameMap.h.Dude = '_Dude'; this.nameMap.h['Distance X'] = '_DistanceX'; this._DistanceX = 0; this.nameMap.h['Distance Y'] = '_DistanceY'; this._DistanceY = 0; this.nameMap.h.Distance = '_Distance'; this._Distance = 0; this.nameMap.h.Detonate = '_Detonate'; this._Detonate = !1; this.nameMap.h['Debris Speed'] = '_DebrisSpeed'; this._DebrisSpeed = 0; this.nameMap.h['Detonate Timer'] = '_DetonateTimer'; this._DetonateTimer = 0; this.nameMap.h['Has Spring'] = '_HasSpring'; this._HasSpring = !1; this.nameMap.h.Spring = '_Spring'; this.nameMap.h.Shoot = '_Shoot'; this._Shoot = !1; this.nameMap.h['Cannonball Speed'] = '_CannonballSpeed'; this._CannonballSpeed = 20; this.nameMap.h['Left Idle'] = '_LeftIdle'; this._LeftIdle = !1; this.nameMap.h['Right Idle'] = '_RightIdle'; this._RightIdle = !1; }; k['scripts.Design_51_51_BackAndForthMovement'] = Xw; Xw.__name__ = 'scripts.Design_51_51_BackAndForthMovement'; Xw.__super__ = n; Xw.prototype = t(n.prototype, { _FaceLeft: null, _Speed: null, _Dude: null, _DistanceX: null, _DistanceY: null, _Distance: null, _Detonate: null, _DebrisSpeed: null, _DetonateTimer: null, _HasSpring: null, _Spring: null, _Shoot: null, _CannonballSpeed: null, _LeftIdle: null, _RightIdle: null, _event_Updating: function (a) { var b = this; if (this.wrapper.enabled) { if ( !this._Detonate && !this._Shoot && (this._LeftIdle || this._RightIdle || (this._FaceLeft && (!c.tileExistsAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 34)) / 32 + 1), Math.floor(this.actor.getX() / 32), c.engine.getLayerById(0) ) || (c.tileExistsAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 34)) / 32), Math.floor(this.actor.getX() / 32), c.engine.getLayerById(0) ) && 4 < c.getTileIDAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 34)) / 32), Math.floor(this.actor.getX() / 32), c.engine.getLayerById(0) ))) ? this.actor.getType() == c.getActorType(774) ? (this.actor.setAnimation('Left Turn Right'), this.actor.setXVelocity(0), c.runLater( 200, function (a) { b._FaceLeft = !1; b.actor.setAnimation('Right'); }, this.actor )) : ((this._FaceLeft = !1), this.actor.setAnimation('Right')) : this._FaceLeft || (c.tileExistsAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 34)) / 32 + 1), Math.floor((this.actor.getX() + this.actor.getWidth()) / 32), c.engine.getLayerById(0) ) && !( c.tileExistsAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 34)) / 32), Math.floor((this.actor.getX() + this.actor.getWidth()) / 32), c.engine.getLayerById(0) ) && 4 < c.getTileIDAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 34)) / 32), Math.floor((this.actor.getX() + this.actor.getWidth()) / 32), c.engine.getLayerById(0) ) )) || (this.actor.getType() == c.getActorType(774) ? (this.actor.setAnimation('Right Turn Left'), this.actor.setXVelocity(0), c.runLater( 200, function (a) { b._FaceLeft = !0; b.actor.setAnimation('Left'); }, this.actor )) : ((this._FaceLeft = !0), this.actor.setAnimation('Left'))), this._FaceLeft ? this.actor.setXVelocity(-this._Speed) : this.actor.setXVelocity(this._Speed)), this.actor.getType() == c.getActorType(401)) ) if ( ((a = this._Dude), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) ) (a = this._Dude), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Dude.isAlive() && ((this._DistanceX = this._Dude.getXCenter() - this.actor.getXCenter()), (this._DistanceY = this._Dude.getYCenter() - this.actor.getYCenter()), (this._Distance = Math.sqrt( Math.pow(this._DistanceX, 2) + Math.pow(this._DistanceY, 2) )), 100 > this._Distance && !this._Detonate && ((this._Detonate = !0), h.engine.getGameAttribute('Sound Disabled') || c.playSoundOnChannel(c.getSound(413), 9), this.actor.setXVelocity(0), this._FaceLeft ? this.actor.setAnimation('Left Detonate') : this.actor.setAnimation('Right Detonate'), c.runLater( 800, function (a) { c.stopSoundOnChannel(9); b.actor.setAnimation('Explode'); c.runLater( 100, function (a) { b.actor.isOnScreen() && (h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(405)), c.startShakingScreen(0.01, 0.1)); c.createRecycledActorOnLayer( c.getActorType(403), b.actor.getXCenter() - 80, b.actor.getYCenter() - 80, c.engine.getLayerById(b.actor.getLayerID()) ); b._DebrisSpeed = 30; c.createRecycledActor( c.getActorType(406), b.actor.getX() - 8, b.actor.getY() - 4, 0 ); c.getLastCreatedActor().setAnimation('1'); c.getLastCreatedActor().setXVelocity(-b._DebrisSpeed); c.getLastCreatedActor().setYVelocity(-b._DebrisSpeed); c.createRecycledActor( c.getActorType(406), b.actor.getX() - 8, b.actor.getY() + 24, 0 ); c.getLastCreatedActor().setAnimation('2'); c.getLastCreatedActor().setXVelocity(b._DebrisSpeed); c.getLastCreatedActor().setYVelocity(-b._DebrisSpeed); c.createRecycledActor( c.getActorType(406), b.actor.getX() + 14, b.actor.getY() - 4, 0 ); c.getLastCreatedActor().setAnimation('3'); c.getLastCreatedActor().setXVelocity(-b._DebrisSpeed); c.getLastCreatedActor().setYVelocity(b._DebrisSpeed); c.createRecycledActor( c.getActorType(406), b.actor.getX() + 14, b.actor.getY() + 24, 0 ); c.getLastCreatedActor().setAnimation('4'); c.getLastCreatedActor().setXVelocity(b._DebrisSpeed); c.getLastCreatedActor().setYVelocity(b._DebrisSpeed); c.recycleActor(b.actor); }, b.actor ); }, this.actor ))); else { a = 0; for (var d = c.getActorsOfType(c.getActorType(2)); a < d.length; ) { var e = d[a]; ++a; null == e || e.dead || e.recycled || (this._Dude = e); } } a = this._Spring; if (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) this._Spring.setX(this.actor.getX() + 2), this._Spring.setY(this.actor.getY() - 12); this._Shoot && ((5 == this.actor.getCurrentFrame() && this.actor.getType() == c.getActorType(756)) || (4 == this.actor.getCurrentFrame() && this.actor.getType() == c.getActorType(774))) && ((this._Shoot = !1), this._FaceLeft ? this.actor.setAnimation('Left') : this.actor.setAnimation('Right')); } }, _event_EveryNsecs: function (a) { if (this.wrapper.enabled && this._Detonate) { a = 0; for (var b = Math.max(1, Math.round(this._DetonateTimer / 2)) | 0; a < b; ) a++, c.createRecycledActorOnLayer( c.getActorType(94), c.randomInt((this.actor.getXCenter() - 16) | 0, this.actor.getXCenter() | 0), this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveToBottom(), c.getLastCreatedActor().moveBy(0, c.randomInt(-16, -32), 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt'); this._DetonateTimer += 1; } }, _event_Shooter: function (a) { var b = this; this.wrapper.enabled && (this.actor.getType() == c.getActorType(756) || (this.actor.getType() == c.getActorType(774) && 'Left Turn Right' != this.actor.getAnimation() && 'Right Turn Left' != this.actor.getAnimation())) && ((this._Shoot = !0), this.actor.setXVelocity(0), this._FaceLeft ? this.actor.setAnimation('Left Charge') : this.actor.setAnimation('Right Charge'), c.runLater( 800, function (a) { b._FaceLeft ? b.actor.setAnimation('Left Shoot') : b.actor.setAnimation('Right Shoot'); c.runLater( 100, function (a) { b.actor.getType() == c.getActorType(756) ? (b.actor.isOnScreen() && !h.engine.getGameAttribute('Sound Disabled') && c.playSound(c.getSound(222)), c.createRecycledActorOnLayer( c.getActorType(758), b.actor.getXCenter() - 28, b.actor.getY() + 12, c.engine.getLayerById(b.actor.getLayerID()) ), c.getLastCreatedActor().moveToBottom(), c.getLastCreatedActor().setXVelocity(-12), c.getLastCreatedActor().setYVelocity(-50), c.getLastCreatedActor().setAnimation('Left'), c.createRecycledActorOnLayer( c.getActorType(758), b.actor.getXCenter() - 4, b.actor.getY() + 12, c.engine.getLayerById(b.actor.getLayerID()) ), c.getLastCreatedActor().moveToBottom(), c.getLastCreatedActor().setXVelocity(12), c.getLastCreatedActor().setYVelocity(-50), c.getLastCreatedActor().setAnimation('Right')) : b.actor.getType() == c.getActorType(774) && (b.actor.isOnScreen() && !h.engine.getGameAttribute('Sound Disabled') && c.playSound(c.getSound(782)), b._FaceLeft ? (c.createRecycledActorOnLayer( c.getActorType(776), b.actor.getX(), b.actor.getY() + 20, c.engine.getLayerById(b.actor.getLayerID()) ), c.getLastCreatedActor().moveToBottom(), c.getLastCreatedActor().setAnimation('Left Start'), c.getLastCreatedActor().setXVelocity(-b._CannonballSpeed)) : (c.createRecycledActorOnLayer( c.getActorType(776), b.actor.getX() + 32, b.actor.getY() + 20, c.engine.getLayerById(b.actor.getLayerID()) ), c.getLastCreatedActor().moveToBottom(), c.getLastCreatedActor().setAnimation('Right Start'), c.getLastCreatedActor().setXVelocity(b._CannonballSpeed))); }, b.actor ); }, this.actor )); }, init: function () { this.actor.makeAlwaysSimulate(); this.actor.getType() == c.getActorType(756) && (this._Speed *= 0.5); this.actor.getType() == c.getActorType(774) && (this._Speed *= 0.3); this._FaceLeft || this.actor.setAnimation('Right'); this._HasSpring && (c.createRecycledActorOnLayer( c.getActorType(62), this.actor.getX() + 2, this.actor.getY() - 12, c.engine.getLayerById(this.actor.getLayerID()) ), (this._Spring = c.getLastCreatedActor()), this._Spring.moveToBottom(), this.actor.moveToBottom()); this._LeftIdle ? (this.actor.setAnimation('Left Idle'), (this._FaceLeft = !0)) : this._RightIdle && (this.actor.setAnimation('Right Idle'), (this._FaceLeft = !1)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); c.runPeriodically(100, m(this, this._event_EveryNsecs), this.actor); c.runPeriodically(4e3, m(this, this._event_Shooter), this.actor); }, forwardMessage: function (a) {}, __class__: Xw }); var Yw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h.Frequency = '_Frequency'; this._Frequency = 6; this.nameMap.h['On Trigger'] = '_OnTrigger'; this._OnTrigger = !1; }; k['scripts.Design_523_523_BoulderGeneratorLogic'] = Yw; Yw.__name__ = 'scripts.Design_523_523_BoulderGeneratorLogic'; Yw.__super__ = n; Yw.prototype = t(n.prototype, { _Frequency: null, _OnTrigger: null, _event_EveryNsecs: function (a) { this.wrapper.enabled && (this._OnTrigger || this.actor.shout('_customEvent_Go')); }, _customEvent_Go: function () { c.createRecycledActorOnLayer( c.getActorType(884), this.actor.getX(), this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ); this._OnTrigger && c.getLastCreatedActor().setYVelocity(-140); c.getLastCreatedActor().moveToBottom(); }, init: function () { this._OnTrigger || this.actor.shout('_customEvent_Go'); this.actor.makeAlwaysSimulate(); this.actor.disableActorDrawing(); c.runPeriodically(1e3 * this._Frequency, m(this, this._event_EveryNsecs), this.actor); }, forwardMessage: function (a) {}, __class__: Yw }); var Zw = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Start Y'] = '_StartY'; this._StartY = 0; this.nameMap.h.Move = '_Move'; this._Move = !1; this.nameMap.h.Distance = '_Distance'; this._Distance = 0; }; k['scripts.Design_529_529_BounceStoneLogic'] = Zw; Zw.__name__ = 'scripts.Design_529_529_BounceStoneLogic'; Zw.__super__ = n; Zw.prototype = t(n.prototype, { _StartY: null, _Move: null, _Distance: null, _event_Updating: function (a) { this.wrapper.enabled && (this.actor.getY() < this._StartY ? this.actor.setYVelocity(this.actor.getYVelocity() + 1) : this.actor.getY() > this._StartY && (this.actor.setYVelocity(0), this.actor.setY(this._StartY), (this._Move = !1))); }, _customEvent_Move: function () { !this._Move && 0 < this._Distance && ((this._Move = !0), this.actor.setYVelocity(-Math.max(4, 32 - this._Distance / 10))); }, init: function () { this._StartY = this.actor.getY(); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Zw }); var $w = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Button Number'] = '_ButtonNumber'; this._ButtonNumber = 0; this.nameMap.h.Go = '_Go'; this._Go = !1; this.nameMap.h['Balloon Speed'] = '_BalloonSpeed'; this._BalloonSpeed = -10; }; k['scripts.Design_552_552_RocketHatchLogic'] = $w; $w.__name__ = 'scripts.Design_552_552_RocketHatchLogic'; $w.__super__ = n; $w.prototype = t(n.prototype, { _ButtonNumber: null, _Go: null, _BalloonSpeed: null, _customEvent_Go: function () { var a = this; this._Go || ((this._Go = !0), this.actor.setAnimation('Shoot'), c.runLater( 500, function (b) { a._Go = !1; a.actor.setAnimation('Normal'); }, this.actor ), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(423)), c.createRecycledActorOnLayer( c.getActorType(909), this.actor.getX() - 96, this.actor.getYCenter() - 18 + 6, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveToBottom()); }, init: function () { this.actor.makeAlwaysSimulate(); }, forwardMessage: function (a) {}, __class__: $w }); var ax = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Camera Number'] = '_CameraNumber'; this._CameraNumber = 0; }; k['scripts.Design_55_55_CameraSensorLogic'] = ax; ax.__name__ = 'scripts.Design_55_55_CameraSensorLogic'; ax.__super__ = n; ax.prototype = t(n.prototype, { _CameraNumber: null, init: function () {}, forwardMessage: function (a) {}, __class__: ax }); var bx = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['On Ground'] = '_OnGround'; this._OnGround = !1; this.nameMap.h['Ground Check'] = '_GroundCheck'; this._GroundCheck = !1; this.nameMap.h['Can Make Noise'] = '_CanMakeNoise'; this._CanMakeNoise = !1; this.nameMap.h['Face Left'] = '_FaceLeft'; this._FaceLeft = !0; this.nameMap.h.Speed = '_Speed'; this._Speed = 12; this.nameMap.h.Fall = '_Fall'; this._Fall = !1; this.nameMap.h['No Gravity'] = '_NoGravity'; this._NoGravity = !1; this.nameMap.h.Health = '_Health'; this._Health = 3; this.nameMap.h.Hurt = '_Hurt'; this._Hurt = !1; this.nameMap.h.Dead = '_Dead'; this._Dead = !1; this.nameMap.h['Starting Y'] = '_StartingY'; this._StartingY = 0; this.nameMap.h['Ground Amnesty'] = '_GroundAmnesty'; this._GroundAmnesty = 0; this.nameMap.h.Go = '_Go'; this._Go = !1; this.nameMap.h.Dude = '_Dude'; this.nameMap.h['Ready To Talk'] = '_ReadyToTalk'; this._ReadyToTalk = !1; this.nameMap.h['Has Entered'] = '_HasEntered'; this._HasEntered = !1; this.nameMap.h['Dialog Complete'] = '_DialogComplete'; this._DialogComplete = !1; this.nameMap.h['Dialog Text'] = '_DialogText'; this._DialogText = 'DEFAULT'; this.nameMap.h.Charging = '_Charging'; this._Charging = !1; this.nameMap.h['Go Left'] = '_GoLeft'; this._GoLeft = !1; this.nameMap.h['Go Right'] = '_GoRight'; this._GoRight = !1; this.nameMap.h.Stunned = '_Stunned'; this._Stunned = !1; this.nameMap.h['Stunned Bounce'] = '_StunnedBounce'; this._StunnedBounce = !1; this.nameMap.h['Pushing Crate'] = '_PushingCrate'; this._PushingCrate = !1; this.nameMap.h['Burnout Speed'] = '_BurnoutSpeed'; this._BurnoutSpeed = 0; this.nameMap.h['Old Camera X'] = '_OldCameraX'; this._OldCameraX = 0; this.nameMap.h['Old Camera Y'] = '_OldCameraY'; this._OldCameraY = 0; }; k['scripts.Design_567_567_Boss6Logic'] = bx; bx.__name__ = 'scripts.Design_567_567_Boss6Logic'; bx.__super__ = n; bx.prototype = t(n.prototype, { _GravitySpeed: null, _OnGround: null, _GroundCheck: null, _CanMakeNoise: null, _FaceLeft: null, _Speed: null, _Fall: null, _NoGravity: null, _Health: null, _Hurt: null, _Dead: null, _StartingY: null, _GroundAmnesty: null, _Go: null, _Dude: null, _ReadyToTalk: null, _HasEntered: null, _DialogComplete: null, _DialogText: null, _Charging: null, _GoLeft: null, _GoRight: null, _Stunned: null, _StunnedBounce: null, _PushingCrate: null, _BurnoutSpeed: null, _OldCameraX: null, _OldCameraY: null, _event_HitsGround: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorGroup(1); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; if (d) if (a.thisFromBottom) (this._GroundCheck = !0), (this._GroundAmnesty = 4), !this._Stunned || this._StunnedBounce || this._GoLeft || this._GoRight || this.actor.setXVelocity(0); else if (a.thisFromLeft && !this._StunnedBounce && !this._Stunned) { c.startShakingScreen(0.01, 0.1); this._StunnedBounce = !0; a = 0; for (d = c.getActorsOfType(c.getActorType(2)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (this.actor.getXCenter() > e.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Big Thud Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Big Thud Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); this._Stunned = !0; this._GoLeft = !1; this.actor.setAnimation('Idle'); this._Dead ? (this.actor.setXVelocity(40), this.actor.setYVelocity(-70), c.runLater( 100, function (a) { b.actor.setAnimation('Hurt'); }, this.actor )) : (this._StunnedBounce ? this.actor.setXVelocity(20) : this.actor.setXVelocity(10), this.actor.setYVelocity(-40)); c.createRecycledActor( c.getActorType(94), this.actor.getX(), this.actor.getYCenter() - 8, 0 ); c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut); c.createRecycledActor( c.getActorType(94), this.actor.getX(), this.actor.getYCenter() - 8, 0 ); c.getLastCreatedActor().moveBy(32, 0, 0.3, v.backOut); c.createRecycledActor( c.getActorType(94), this.actor.getX(), this.actor.getYCenter() - 8, 0 ); c.getLastCreatedActor().moveBy(32, 32, 0.3, v.backOut); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(105)); c.runLater( 300, function (a) { b._StunnedBounce = !1; }, this.actor ); c.runLater( 1e3, function (a) { b._FaceLeft = !1; b._Stunned = !1; }, this.actor ); } else if (a.thisFromRight && !this._StunnedBounce && !this._Stunned) { c.startShakingScreen(0.01, 0.1); this._StunnedBounce = !0; a = 0; for (d = c.getActorsOfType(c.getActorType(2)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (this.actor.getXCenter() > e.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Big Thud Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Big Thud Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); this._Stunned = !0; this._GoRight = !1; this.actor.setAnimation('Idle'); this._Dead ? (this.actor.setXVelocity(-40), this.actor.setYVelocity(-70), c.runLater( 100, function (a) { b.actor.setAnimation('Hurt'); }, this.actor )) : (this._StunnedBounce ? this.actor.setXVelocity(-20) : this.actor.setXVelocity(-10), this.actor.setYVelocity(-40)); c.createRecycledActor( c.getActorType(94), this.actor.getX() + (this.actor.getWidth() - 16), this.actor.getYCenter() - 8, 0 ); c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut); c.createRecycledActor( c.getActorType(94), this.actor.getX() + (this.actor.getWidth() - 16), this.actor.getYCenter() - 8, 0 ); c.getLastCreatedActor().moveBy(-32, 0, 0.3, v.backOut); c.createRecycledActor( c.getActorType(94), this.actor.getX() + (this.actor.getWidth() - 16), this.actor.getYCenter() - 8, 0 ); c.getLastCreatedActor().moveBy(-32, 32, 0.3, v.backOut); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(105)); c.runLater( 300, function (a) { b._StunnedBounce = !1; }, this.actor ); c.runLater( 1e3, function (a) { b._FaceLeft = !0; b._Stunned = !1; }, this.actor ); } }, _event_EveryNsecs: function (a) { this.wrapper.enabled && (this._OnGround || --this._GroundAmnesty); }, _event_HitsHazard: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorGroup(4); var e = a.otherActor.getType(); a = a.otherActor.getGroup(); d = d == e || d == a; } else d = !1; if (d && 0 < this._Health && !this._Hurt) if ( ((this._Hurt = !0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(378)), this.actor.setFilter([c.createBrightnessFilter(100)]), c.runLater( 200, function (a) { b.actor.clearFilters(); }, this.actor ), --this._Health, 0 == this._Health) ) for ( this._Dead = !0, c.stopSoundOnChannel(16), d = 0, e = c.getActorsOfType(c.getActorType(353)); d < e.length; ) (a = e[d]), ++d, null == a || a.dead || a.recycled || (a.moveBy(0, 32, 0.3, v.quadInOut), a.setValue('Button Logic', '_Hide', !0)); else c.startShakingScreen(0.02, 0.1), (this._StunnedBounce = !0), (this._GoRight = this._GoLeft = this._Charging = !1), this.actor.setAnimation('Hurt'), this.actor.setXVelocity(0), this.actor.setYVelocity(-40), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(105)), c.runLater( 300, function (a) { b._StunnedBounce = !1; }, this.actor ), c.runLater( 1e3, function (a) { b._GoLeft = !1; b._GoRight = !1; b._Hurt = !1; }, this.actor ); }, _event_GroundandGravity: function (a) { this.wrapper.enabled && (this._GroundCheck ? this._OnGround || ((this._OnGround = !0), this.actor.setYVelocity(0), this._CanMakeNoise ? h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(117)) : (this._CanMakeNoise = !0)) : this._OnGround && 0 == this._GroundAmnesty && (this._OnGround = !1), (this._GroundCheck = !1), this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed))); }, _event_Movement: function (a) { var b = this; if (this.wrapper.enabled) { a = this._Dude; if ( !c.isPrimitive(a) && ('string' == typeof a ? '' == w.__cast(a, String) : null == a) ) { a = 0; for (var d = c.getActorsOfType(c.getActorType(2)); a < d.length; ) { var e = d[a]; ++a; null == e || e.dead || e.recycled || (this._Dude = e); } } this._Hurt && this.actor.setXVelocity(0); this._Hurt || !this._Go || !this._OnGround || this._GoLeft || this._GoRight || this._Charging || this._Stunned || ((this._Charging = !0), (this._BurnoutSpeed = 100), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(943)), this._FaceLeft ? this.actor.setAnimation('Left Charge') : this.actor.setAnimation('Right Charge'), c.runLater( 1e3, function (a) { b.actor.shout('_customEvent_Move'); }, this.actor )); this._ReadyToTalk && (h.engine.getGameAttribute('Boss 1 Dialog Read') || h.engine.getGameAttribute('Possum Mode') ? ((this._ReadyToTalk = !1), this.actor.shout('_customEvent_dialogComplete')) : ((a = this._Dude), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Dude.getValue('Dude Logic', '_OnGround') && ((this._ReadyToTalk = !1), this._Dude.setValue( 'Dude Logic', '_ExitCameraX', Math.min(this._Dude.getX(), this.actor.getX()) + Math.round( (Math.max(this._Dude.getX(), this.actor.getX()) - Math.min(this._Dude.getX(), this.actor.getX())) / 2 ) ), this._Dude.setValue('Dude Logic', '_ExitCameraY', this.actor.getYCenter()), this._Dude.setValue('Dude Logic', '_BossTalk', !0), this._DialogComplete || ((this._DialogComplete = !0), c.runLater( 500, function (a) { c.stopSoundOnChannel(16); c.createRecycledActor( c.getActorType(161), 0, c.getScreenHeight() - 96, 0 ); 'JP' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*\u30ae\u30e3\u30fc*|\u3042\u3042\u3001\u306a\u3093\u3066\u3053\u3063\u305f\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\u3042\u3001\u3053\u3093\u306b\u3061\u306f\uff01\u3042\u306a\u305f\u306e\u540d\u524d\u306f\u4f55\u3067\u3059\u304b\uff1f|\u79c1\u306f\u30d0\u30fc\u30ac\u30fc\u30b0\u30e9\u30fc\u3001\u30c0\u30fc\u30ca\u30c3\u30af\u537f\u306e\u7b2c3\u306e\u5b50\u5206\u3067\u3059\uff01|\u306a\u3093\u3066\u7d20\u6575\u306a\u540d\u524d\u3067\u3059\uff01\u3053\u3093\u306b\u3061\u306f\u30d0\u30fc\u30ac\u30fc\u30b0\u30e9\u30fc\u3001\u79c1\u306f\u30c0\u30c7\u30a3\u30c3\u30b7\u30e5\u3067\u3059\uff01\u79c1\u306f\u5b9f\u306f\u79c1\u306e\u5b50\u4f9b\u305f\u3061\u3092\u63a2\u3057\u3066\u3044\u307e\u3059\u3001\u3042\u306a\u305f\u306f\u305f\u307e\u305f\u307e\u3053\u3053\u3067\u5c0f\u3055\u306a\u30e9\u30c7\u30c3\u30b7\u30e5\u3092\u898b\u305f\u3053\u3068\u304c\u3042\u308a\u307e\u305b\u3093\u304b\uff1f|\u3042\u306a\u305f\u306f\u30c0\u30fc\u30ca\u30c3\u30af\u537f\u306b\u6c7a\u3057\u3066\u5c4a\u304b\u306a\u3044\u3067\u3057\u3087\u3046\uff01\u6b7b\u306c\u6e96\u5099\u3092\u3057\u306a\u3055\u3044\uff01|\u305d\u308c\u3067\u3001\u3048\u3048\u3068\u3001\u305d\u308c\u306f\u3044\u3044\u3048\u3067\u3059\u304b\uff1f' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : 'CN' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*SCREECH*|\u54e6\u5929\u54ea\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\u54e6\uff0c\u4f60\u597d\uff01\u4f60\u53eb\u4ec0\u4e48\u540d\u5b57\uff1f|\u6211\u662fBURGURGULAR\uff0c\u675c\u7eb3\u514b\u52cb\u7235\u7684\u7b2c\u4e09\u4e2a\u968f\u4ece\uff01|\u591a\u597d\u7684\u540d\u5b57\u554a\uff01\u55e8\uff0cBurgurgular\uff0c\u6211\u662f\u7238\u7238\u841d\u535c\uff01\u6211\u5b9e\u9645\u4e0a\u662f\u5728\u5bfb\u627e\u6211\u7684\u5b69\u5b50\uff0c\u4f60\u6ca1\u6709\u5728\u8fd9\u91cc\u78b0\u5230\u4efb\u4f55\u5c0f\u841d\u535c\u5417\uff1f|\u4f60\u6c38\u8fdc\u4e0d\u4f1a\u8d76\u4e0a\u675c\u7eb3\u514b\u52cb\u7235\uff01\u51c6\u5907\u53bb\u6b7b\uff01|\u90a3\u4e48\uff0c\u5443\uff0c\u53ef\u4ee5\u8bf4\u4e0d\u5417\uff1f' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : 'KR' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*\uaf64\uc561*|\uc5b4 \uc774\ub7f0.' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\uc548\ub155\ud558\uc138\uc694! \uc774\ub984\uc774 \uc5b4\ub5bb\uac8c \ub418\uc138\uc694?|\ub09c \uc704\ub300\ud558\uc2e0 \ub354\ub098\ud06c\ub2d8\uc758 \uc138 \ubc88\uc9f8 \uc218\ud558, \ubc84\uac70\uae00\ub7ec\ub2e4!|\uba4b\uc9c4 \uc774\ub984\uc774\ub124\uc694! \uc548\ub155\ud558\uc138\uc694 \ubc84\uac70\uae00\ub7ec\uc528, \uc804 \ub300\ub514\uc26c\uc5d0\uc694! \uc804 \uc0ac\uc2e4 \uc81c \uc544\uc774\ub4e4\uc744 \ucc3e\uace0 \uc788\uc5b4\uc694. \uc8fc\ubcc0\uc5d0\uc11c \ub354 \uc791\uc740 \ubb34\ub97c \ubcf8 \uc801 \uc5c6\uc73c\uc2dc\uaca0\uc8e0?|\ub10c \uc808\ub300 \ub354\ub098\ud06c\ub2d8\uaed8 \uac08 \uc218 \uc5c6\ub2e4! \uc8fd\uc744 \uc900\ube44\ub97c \ud574\ub77c!|\uc5b4, \ubabb \ubcf4\uc168\ub2e4\ub294 \uac70\uc8e0?' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*SCREECH*|Oh my gosh' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', "Oh hello, my name's Dadish!|MY NAME IS HOT 'N' TASTY, FOURTH HENCHMAN TO SPACE DURNAK, LORD OF SPACE.|It's nice to meet you, Hot 'N' Tasty, but, uh, why are you at my work?|I CAME FOR \"BRING YOUR KIDS TO WORK DAY\".|I think that's something you have to actually be invited to... also I think my kids just made it up.|I WILL KILL YOU!" ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')); c.getLastCreatedActor().setValue( 'Dialog Box Logic', '_Character2', 'Boss 6' ); c.getLastCreatedActor().setValue('Dialog Box Logic', '_Parent', b.actor); c.getLastCreatedActor().say('Dialog Box Logic', '_customEvent_Go'); }, this.actor ))))); if ( this._Dead && 0 < this.actor.getYVelocity() && this.actor.getY() >= this._StartingY ) { a = 0; for (d = c.getActorsOfType(c.getActorType(935)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.shout('_customEvent_Stop'); c.createRecycledActorOnLayer( c.getActorType(939), this.actor.getX(), this._StartingY, c.engine.getLayerById(this.actor.getLayerID()) ); c.recycleActor(this.actor); } } }, _event_HitsBlock: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(40); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && a.thisFromBottom && (this._GroundCheck = !0); }, _event_EntersScreen: function (a, b, d, e) { var f = this; this.wrapper.enabled && a && !this._HasEntered && !this._Go && ((this._HasEntered = !0), c.runLater( 700, function (a) { f._ReadyToTalk = !0; }, this.actor )); }, _event_BurnOut: function (a) { this.wrapper.enabled && ('Right Charge' == this.actor.getAnimation() ? (c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 36, this.actor.getY() + (this.actor.getHeight() - 6), c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, -16, 0.3, v.backOut)) : 'Left Charge' == this.actor.getAnimation() && (c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() + 36, this.actor.getY() + (this.actor.getHeight() - 6), c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, -16, 0.3, v.backOut))); }, _event_BurnOutSpeed: function (a) { this.wrapper.enabled && 0 < this._BurnoutSpeed && (this._BurnoutSpeed = Math.max(this._BurnoutSpeed - 10, 0)); }, _event_Drawing: function (a, b, c) { this.wrapper.enabled && ('Left Charge' == this.actor.getAnimation() || 'Right Charge' == this.actor.getAnimation()) && this.actor.currAnimation.setFrameDuration( this.actor.getCurrentFrame(), this._BurnoutSpeed | 0 ); }, _customEvent_Move: function () { this._BurnoutSpeed = 0; this._FaceLeft ? ((this._GoLeft = !0), this.actor.setAnimation('Left'), (this._Charging = !1), this.actor.setXVelocity(-26)) : ((this._GoRight = !0), this.actor.setAnimation('Right'), (this._Charging = !1), this.actor.setXVelocity(26)); }, _customEvent_dialogComplete: function () { var a = this; c.runLater( 200, function (b) { a._Dude.say('Dude Logic', '_customEvent_setCameraBounds'); c.runLater( 200, function (b) { a._Go = !0; h.engine.gameAttributes.h['Boss 1 Dialog Read'] = !0; c.loopSoundOnChannel(c.getSound(377), 16); b = 0; for (var d = c.getActorsOfType(c.getActorType(935)); b < d.length; ) { var f = d[b]; ++b; null == f || f.dead || f.recycled || f.say('Boss 6 Crane Logic', '_customEvent_Load'); } h.engine.getGameAttribute('Music Disabled') ? c.setVolumeForChannel(0, 16) : h.engine.getGameAttribute('Music Disabled') || c.setVolumeForChannel(1, 16); }, a.actor ); }, this.actor ); }, init: function () { this.actor.makeAlwaysSimulate(); this._GravitySpeed = 48; this._GroundCheck = this._OnGround = !0; this._StartingY = this.actor.getY(); this._FaceLeft = !0; this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); c.runPeriodically(10, m(this, this._event_EveryNsecs), this.actor); this.addListener(this.actor.whenCollided, m(this, this._event_HitsHazard)); this.addListener(this.actor.whenUpdated, m(this, this._event_GroundandGravity)); this.addListener(this.actor.whenUpdated, m(this, this._event_Movement)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsBlock)); this.addListener(this.actor.whenPositionStateChanged, m(this, this._event_EntersScreen)); c.runPeriodically(200, m(this, this._event_BurnOut), this.actor); c.runPeriodically(50, m(this, this._event_BurnOutSpeed), this.actor); this.addListener(this.actor.whenDrawing, m(this, this._event_Drawing)); }, forwardMessage: function (a) {}, __class__: bx }); var cx = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h.Stopped = '_Stopped'; this._Stopped = !1; this.nameMap.h.Right = '_Right'; this._Right = !1; this.nameMap.h.Speed = '_Speed'; this._Speed = 0; this.nameMap.h.Barrel = '_Barrel'; this.nameMap.h['Left Margin'] = '_LeftMargin'; this._LeftMargin = 0; this.nameMap.h['Right Margin'] = '_RightMargin'; this._RightMargin = 0; this.nameMap.h.Stop = '_Stop'; this._Stop = !1; }; k['scripts.Design_570_570_Boss6CraneLogic'] = cx; cx.__name__ = 'scripts.Design_570_570_Boss6CraneLogic'; cx.__super__ = n; cx.prototype = t(n.prototype, { _Stopped: null, _Right: null, _Speed: null, _Barrel: null, _LeftMargin: null, _RightMargin: null, _Stop: null, _event_Updating: function (a) { this.wrapper.enabled && !this._Stop && (this._Right && this.actor.getX() > this._RightMargin ? ((this._Right = !1), this.actor.setX(this._RightMargin), this.actor.setXVelocity(-this._Speed)) : !this._Right && this.actor.getX() < this._LeftMargin && ((this._Right = !0), this.actor.setX(this._LeftMargin), this.actor.setXVelocity(this._Speed))); }, _event_Updating2: function (a) { this.wrapper.enabled && ((a = this._Barrel), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Barrel.setX(this.actor.getXCenter() - 29)); }, _customEvent_Stop: function () { var a = this; if (!this._Stop) { this._Stop = !0; this.actor.setXVelocity(0); this.actor.moveBy(0, -c.getScreenHeight(), 1, v.quadInOut); var b = this._Barrel; (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && this._Barrel.moveBy(0, -c.getScreenHeight(), 1, v.quadInOut); c.runLater( 1e3, function (b) { c.recycleActor(a.actor); b = a._Barrel; (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && c.recycleActor(a._Barrel); }, this.actor ); } }, _customEvent_Load: function () { var a = this; this._Stop || ((this._Stopped = !0), this.actor.setXVelocity(0), c.createRecycledActorOnLayer( c.getActorType(937), this.actor.getXCenter() - 29, c.getScreenY() - 64, c.engine.getLayerById(3) ), (this._Barrel = c.getLastCreatedActor()), c .getLastCreatedActor() .moveTo(this.actor.getXCenter() - 29, this.actor.getY() + 92, 0.3, v.quadIn), c.runLater( 290, function (b) { a.actor.setAnimation('Closed'); }, this.actor ), c.runLater( 400, function (b) { a._Stopped = !1; a._Right ? a.actor.setXVelocity(a._Speed) : a.actor.setXVelocity(-a._Speed); }, this.actor )); }, _customEvent_Drop: function () { var a = this; if (!this._Stop) { if (this._Stopped) var b = !1; else (b = this._Barrel), (b = c.isPrimitive(b) ? !0 : 'string' == typeof b ? '' != w.__cast(b, String) : null != b); b && (this.actor.setAnimation('Open'), this.actor.setXVelocity(0), (this._Stopped = !0), this._Barrel.shout('_customEvent_Fall'), (this._Barrel = c.getDefaultValue(this._Barrel)), c.runLater( 2e3, function (b) { a.actor.shout('_customEvent_Load'); }, this.actor )); } }, init: function () { this._Speed = 9; this.actor.makeAlwaysSimulate(); this._LeftMargin = 139; this._RightMargin = 649; this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating2)); }, forwardMessage: function (a) {}, __class__: cx }); var dx = function (a, b, d) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['On Ground'] = '_OnGround'; this._OnGround = !1; this.nameMap.h['Ground Check'] = '_GroundCheck'; this._GroundCheck = !1; this.nameMap.h['Can Make Noise'] = '_CanMakeNoise'; this._CanMakeNoise = !1; this.nameMap.h['Face Left'] = '_FaceLeft'; this._FaceLeft = !0; this.nameMap.h.Speed = '_Speed'; this._Speed = 12; this.nameMap.h.Fall = '_Fall'; this._Fall = !1; this.nameMap.h['No Gravity'] = '_NoGravity'; this._NoGravity = !1; this.nameMap.h.Health = '_Health'; this._Health = 3; this.nameMap.h.Hurt = '_Hurt'; this._Hurt = !1; this.nameMap.h.Dead = '_Dead'; this._Dead = !1; this.nameMap.h['Starting Y'] = '_StartingY'; this._StartingY = 0; this.nameMap.h['Ground Amnesty'] = '_GroundAmnesty'; this._GroundAmnesty = 0; this.nameMap.h.Go = '_Go'; this._Go = !1; this.nameMap.h.Dude = '_Dude'; this._Dude = c.getActor(0); this.nameMap.h['Ready To Talk'] = '_ReadyToTalk'; this._ReadyToTalk = !1; this.nameMap.h['Has Entered'] = '_HasEntered'; this._HasEntered = !1; this.nameMap.h['Dialog Complete'] = '_DialogComplete'; this._DialogComplete = !1; this.nameMap.h['Dialog Text'] = '_DialogText'; this._DialogText = 'DEFAULT'; this.nameMap.h.Shooting = '_Shooting'; this._Shooting = !1; this.nameMap.h['Cannonball Speed'] = '_CannonballSpeed'; this._CannonballSpeed = 20; this.nameMap.h['Hit Hive'] = '_HitHive'; this._HitHive = !1; this.nameMap.h['Hit Hive Go'] = '_HitHiveGo'; this._HitHiveGo = !1; this.nameMap.h.Invincible = '_Invincible'; this._Invincible = !1; this.nameMap.h['Old Camera X'] = '_OldCameraX'; this._OldCameraX = 0; this.nameMap.h['Old Camera Y'] = '_OldCameraY'; this._OldCameraY = 0; }; k['scripts.Design_574_574_Boss7Logic'] = dx; dx.__name__ = 'scripts.Design_574_574_Boss7Logic'; dx.__super__ = n; dx.prototype = t(n.prototype, { _GravitySpeed: null, _OnGround: null, _GroundCheck: null, _CanMakeNoise: null, _FaceLeft: null, _Speed: null, _Fall: null, _NoGravity: null, _Health: null, _Hurt: null, _Dead: null, _StartingY: null, _GroundAmnesty: null, _Go: null, _Dude: null, _ReadyToTalk: null, _HasEntered: null, _DialogComplete: null, _DialogText: null, _Shooting: null, _CannonballSpeed: null, _HitHive: null, _HitHiveGo: null, _Invincible: null, _OldCameraX: null, _OldCameraY: null, _event_HitsGround: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(1); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && a.thisFromBottom && ((this._GroundCheck = !0), (this._GroundAmnesty = 4)); }, _event_EveryNsecs: function (a) { this.wrapper.enabled && (this._OnGround || --this._GroundAmnesty); }, _event_HitsHive: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(946); var e = a.otherActor.getType(); a = a.otherActor.getGroup(); d = d == e || d == a; } else d = !1; d && !this._HitHiveGo && ((this._HitHiveGo = this._HitHive = !0), c.runLater( 1e3, function (a) { b._HitHiveGo = !1; }, this.actor )); }, _event_HitsBee: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(948); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; if (d) { if (this._Invincible || this._Hurt) this.actor.setYVelocity(-50); else if ( ((this._Invincible = !0), c.runLater( 1e3, function (a) { b._Invincible = !1; }, this.actor ), (this._Hurt = !0), this._FaceLeft ? this.actor.setAnimation('Hurt Left') : this.actor.setAnimation('Hurt Right'), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(378)), this.actor.setFilter([c.createBrightnessFilter(100)]), c.runLater( 200, function (a) { b.actor.clearFilters(); }, this.actor ), --this._Health, 0 == this._Health) ) { this._Dead = !0; c.stopSoundOnChannel(16); d = 0; for (e = c.getActorsOfType(c.getActorType(353)); d < e.length; ) (f = e[d]), ++d, null == f || f.dead || f.recycled || (f.moveBy(0, 32, 0.3, v.quadInOut), f.setValue('Button Logic', '_Hide', !0)); this._GravitySpeed = 24; this.actor.setYVelocity(-50); } c.recycleActor(a.otherActor); } }, _event_GroundandGravity: function (a) { if (this.wrapper.enabled) { if (this._GroundCheck) { if (this._Hurt && !this._Invincible) { this._Hurt = this._Fall = !1; a = 0; for (var b = c.getActorsOfType(c.getActorType(353)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || d.setValue('Button Logic', '_Disable', !1); } this._FaceLeft ? this.actor.setAnimation('Left') : this.actor.setAnimation('Right'); this._Dead && (c.createRecycledActorOnLayer( c.getActorType(28), this.actor.getXCenter() - 16, this.actor.getYCenter() - 16, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(0, -64, 0.6, v.backOut), c.createRecycledActorOnLayer( c.getActorType(950), this.actor.getX(), this.actor.getY() - 12, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(0, 12, 0.3, v.quadIn), this._FaceLeft || c.getLastCreatedActor().setAnimation('Right'), c.recycleActor(this.actor)); } this._OnGround || ((this._OnGround = !0), this.actor.setYVelocity(0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(105)), c.startShakingScreen(0.006999999999999999, 0.15), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut)); } else this._OnGround = !1; this._GroundCheck = !1; this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed)); this._Fall || this._Hurt || this._Dead || (this.actor.getY() < this._StartingY && this.actor.setY(this._StartingY)); } }, _event_Movement: function (a) { var b = this; if (this.wrapper.enabled) { 'Left Turn Right' == this.actor.getAnimation() && 3 == this.actor.getCurrentFrame() ? this.actor.setAnimation('Right') : 'Right Turn Left' == this.actor.getAnimation() && 3 == this.actor.getCurrentFrame() && this.actor.setAnimation('Left'); a = this._Dude; if ( !c.isPrimitive(a) && ('string' == typeof a ? '' == w.__cast(a, String) : null == a) ) { a = 0; for (var d = c.getActorsOfType(c.getActorType(2)); a < d.length; ) { var e = d[a]; ++a; null == e || e.dead || e.recycled || (this._Dude = e); } } if (this._Go) for ( this._Fall || this._Hurt || this._Dead ? this.actor.setXVelocity(0) : (this._FaceLeft && ((this._HitHive && this._HitHiveGo) || (c.tileExistsAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 32)) / 32), Math.floor(this.actor.getX() / 32), c.engine.getLayerById(0) ) && 7 < c.getTileIDAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 32)) / 32), Math.floor(this.actor.getX() / 32), c.engine.getLayerById(0) ))) ? ((this._FaceLeft = this._HitHive = !1), this.actor.setAnimation('Left Turn Right')) : !this._FaceLeft && ((this._HitHive && this._HitHiveGo) || (c.tileExistsAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 32)) / 32), Math.ceil((this.actor.getX() + this.actor.getWidth()) / 32) - 1, c.engine.getLayerById(0) ) && 7 < c.getTileIDAt( Math.round( (this.actor.getY() + (this.actor.getHeight() - 32)) / 32 ), Math.ceil((this.actor.getX() + this.actor.getWidth()) / 32) - 1, c.engine.getLayerById(0) ))) && ((this._HitHive = !1), (this._FaceLeft = !0), this.actor.setAnimation('Right Turn Left')), 'Left Turn Right' == this.actor.getAnimation() || 'Right Turn Left' == this.actor.getAnimation() ? this.actor.setXVelocity(0) : this._Shooting || this._Hurt ? this.actor.setXVelocity(0) : this._FaceLeft ? this.actor.setXVelocity(-this._Speed) : this.actor.setXVelocity(this._Speed)), a = 0, d = c.getActorsOfType(c.getActorType(40)); a < d.length; ) if ( ((e = d[a]), ++a, null != e && !e.dead && !e.recycled && e.getValue('Button Block Logic', '_BossHoleSensor') && this.actor.getX() >= e.getX() - 1 && this.actor.getX() <= e.getX() + 1 && 'Open' == e.getAnimation()) ) { this.actor.setX(e.getX()); this.actor.setXVelocity(0); e = 0; for (var f = c.getActorsOfType(c.getActorType(353)); e < f.length; ) { var g = f[e]; ++e; null == g || g.dead || g.recycled || g.setValue('Button Logic', '_Disable', !0); } this._Fall || (this.actor.setYVelocity(0), this._FaceLeft ? this.actor.setAnimation('Left Fall') : this.actor.setAnimation('Right Fall'), (this._NoGravity = this._Fall = !0), c.runLater( 400, function (a) { b._FaceLeft ? b.actor.setAnimation('Left Fall 2') : b.actor.setAnimation('Right Fall 2'); }, this.actor ), c.runLater( 500, function (a) { b._NoGravity = !1; b.actor.setYVelocity(100); }, this.actor ), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(373))); } this._ReadyToTalk && (h.engine.getGameAttribute('Boss 2 Dialog Read') || h.engine.getGameAttribute('Possum Mode') ? ((this._ReadyToTalk = !1), this.actor.shout('_customEvent_dialogComplete')) : ((a = this._Dude), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Dude.getValue('Dude Logic', '_OnGround') && ((this._ReadyToTalk = !1), this._Dude.setValue( 'Dude Logic', '_ExitCameraX', Math.min(this._Dude.getX(), this.actor.getX()) + Math.round( (Math.max(this._Dude.getX(), this.actor.getX()) - Math.min(this._Dude.getX(), this.actor.getX())) / 2 ) ), this._Dude.setValue('Dude Logic', '_ExitCameraY', this.actor.getYCenter()), this._Dude.setValue('Dude Logic', '_BossTalk', !0), this._DialogComplete || ((this._DialogComplete = !0), c.runLater( 500, function (a) { c.stopSoundOnChannel(16); c.createRecycledActor( c.getActorType(161), 0, c.getScreenHeight() - 96, 0 ); 'JP' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*\u30ae\u30e3\u30fc*|\u3042\u3042\u3001\u306a\u3093\u3066\u3053\u3063\u305f\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\u3042\u3001\u3053\u3093\u306b\u3061\u306f\uff01\u3042\u306a\u305f\u306e\u540d\u524d\u306f\u4f55\u3067\u3059\u304b\uff1f|\u79c1\u306f\u30d0\u30fc\u30ac\u30fc\u30b0\u30e9\u30fc\u3001\u30c0\u30fc\u30ca\u30c3\u30af\u537f\u306e\u7b2c3\u306e\u5b50\u5206\u3067\u3059\uff01|\u306a\u3093\u3066\u7d20\u6575\u306a\u540d\u524d\u3067\u3059\uff01\u3053\u3093\u306b\u3061\u306f\u30d0\u30fc\u30ac\u30fc\u30b0\u30e9\u30fc\u3001\u79c1\u306f\u30c0\u30c7\u30a3\u30c3\u30b7\u30e5\u3067\u3059\uff01\u79c1\u306f\u5b9f\u306f\u79c1\u306e\u5b50\u4f9b\u305f\u3061\u3092\u63a2\u3057\u3066\u3044\u307e\u3059\u3001\u3042\u306a\u305f\u306f\u305f\u307e\u305f\u307e\u3053\u3053\u3067\u5c0f\u3055\u306a\u30e9\u30c7\u30c3\u30b7\u30e5\u3092\u898b\u305f\u3053\u3068\u304c\u3042\u308a\u307e\u305b\u3093\u304b\uff1f|\u3042\u306a\u305f\u306f\u30c0\u30fc\u30ca\u30c3\u30af\u537f\u306b\u6c7a\u3057\u3066\u5c4a\u304b\u306a\u3044\u3067\u3057\u3087\u3046\uff01\u6b7b\u306c\u6e96\u5099\u3092\u3057\u306a\u3055\u3044\uff01|\u305d\u308c\u3067\u3001\u3048\u3048\u3068\u3001\u305d\u308c\u306f\u3044\u3044\u3048\u3067\u3059\u304b\uff1f' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : 'CN' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*SCREECH*|\u54e6\u5929\u54ea\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\u54e6\uff0c\u4f60\u597d\uff01\u4f60\u53eb\u4ec0\u4e48\u540d\u5b57\uff1f|\u6211\u662fBURGURGULAR\uff0c\u675c\u7eb3\u514b\u52cb\u7235\u7684\u7b2c\u4e09\u4e2a\u968f\u4ece\uff01|\u591a\u597d\u7684\u540d\u5b57\u554a\uff01\u55e8\uff0cBurgurgular\uff0c\u6211\u662f\u7238\u7238\u841d\u535c\uff01\u6211\u5b9e\u9645\u4e0a\u662f\u5728\u5bfb\u627e\u6211\u7684\u5b69\u5b50\uff0c\u4f60\u6ca1\u6709\u5728\u8fd9\u91cc\u78b0\u5230\u4efb\u4f55\u5c0f\u841d\u535c\u5417\uff1f|\u4f60\u6c38\u8fdc\u4e0d\u4f1a\u8d76\u4e0a\u675c\u7eb3\u514b\u52cb\u7235\uff01\u51c6\u5907\u53bb\u6b7b\uff01|\u90a3\u4e48\uff0c\u5443\uff0c\u53ef\u4ee5\u8bf4\u4e0d\u5417\uff1f' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : 'KR' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*\uaf64\uc561*|\uc5b4 \uc774\ub7f0.' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\uc548\ub155\ud558\uc138\uc694! \uc774\ub984\uc774 \uc5b4\ub5bb\uac8c \ub418\uc138\uc694?|\ub09c \uc704\ub300\ud558\uc2e0 \ub354\ub098\ud06c\ub2d8\uc758 \uc138 \ubc88\uc9f8 \uc218\ud558, \ubc84\uac70\uae00\ub7ec\ub2e4!|\uba4b\uc9c4 \uc774\ub984\uc774\ub124\uc694! \uc548\ub155\ud558\uc138\uc694 \ubc84\uac70\uae00\ub7ec\uc528, \uc804 \ub300\ub514\uc26c\uc5d0\uc694! \uc804 \uc0ac\uc2e4 \uc81c \uc544\uc774\ub4e4\uc744 \ucc3e\uace0 \uc788\uc5b4\uc694. \uc8fc\ubcc0\uc5d0\uc11c \ub354 \uc791\uc740 \ubb34\ub97c \ubcf8 \uc801 \uc5c6\uc73c\uc2dc\uaca0\uc8e0?|\ub10c \uc808\ub300 \ub354\ub098\ud06c\ub2d8\uaed8 \uac08 \uc218 \uc5c6\ub2e4! \uc8fd\uc744 \uc900\ube44\ub97c \ud574\ub77c!|\uc5b4, \ubabb \ubcf4\uc168\ub2e4\ub294 \uac70\uc8e0?' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*SCREECH*|Oh my gosh' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', "Hello, I'm Dadish!|I AM THE FOREMAN, THIRD HENCHMAN TO SPACE DURNAK, LORD OF SPACE.|Is this \"Space Durnak\" guy in any way related to the other Lord Durnak? He's not such a nice guy...|NO, THEY ARE NOT RELATED.|Are you sure?|YES, IT IS JUST A FUNNY COINCIDENCE. SPACE DURNAK IS A REALLY NICE GUY.|Then why does he need to have henchmen?|ALL NICE GUYS HAVE HENCHMEN, THAT'S NORMAL.|If you say so!|I'LL KILL YOU!|Ah, there we go!" ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')); c.getLastCreatedActor().setValue( 'Dialog Box Logic', '_Character2', 'Boss 7' ); c.getLastCreatedActor().setValue('Dialog Box Logic', '_Parent', b.actor); c.getLastCreatedActor().say('Dialog Box Logic', '_customEvent_Go'); }, this.actor ))))); } }, _event_EveryNsecs2: function (a) { var b = this; this.wrapper.enabled && !this._Shooting && this._OnGround && !this._Hurt && ('Left' == this.actor.getAnimation() ? (this.actor.setAnimation('Idle Left'), (this._Shooting = !0), c.runLater( 600, function (a) { h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(782)); b.actor.setAnimation('Left Shoot'); c.createRecycledActorOnLayer( c.getActorType(776), b.actor.getX(), b.actor.getYCenter() - 1, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveToBottom(); c.getLastCreatedActor().setAnimation('Left Start'); c.getLastCreatedActor().setXVelocity(-b._CannonballSpeed); c.runLater( 600, function (a) { b._Shooting = !1; b.actor.setAnimation('Left'); }, b.actor ); }, this.actor )) : 'Right' == this.actor.getAnimation() && (this.actor.setAnimation('Idle Right'), (this._Shooting = !0), c.runLater( 600, function (a) { h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(782)); b.actor.setAnimation('Right Shoot'); c.createRecycledActorOnLayer( c.getActorType(776), b.actor.getX() + b.actor.getWidth() - 16, b.actor.getYCenter() - 1, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveToBottom(); c.getLastCreatedActor().setAnimation('Right Start'); c.getLastCreatedActor().setXVelocity(b._CannonballSpeed); c.runLater( 600, function (a) { b._Shooting = !1; b.actor.setAnimation('Right'); }, b.actor ); }, this.actor ))); }, _event_EntersScreen: function (a, b, d, e) { var f = this; this.wrapper.enabled && a && !this._HasEntered && !this._Go && ((this._HasEntered = !0), c.runLater( 700, function (a) { f._ReadyToTalk = !0; }, this.actor )); }, _event_HitsBlock: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(40); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && a.thisFromBottom && (this._GroundCheck = !0); }, _customEvent_dialogComplete: function () { var a = this; c.runLater( 200, function (b) { a._Dude.say('Dude Logic', '_customEvent_setCameraBounds'); c.runLater( 200, function (b) { a._Go = !0; h.engine.gameAttributes.h['Boss 2 Dialog Read'] = !0; a.actor.setAnimation('Left'); c.loopSoundOnChannel(c.getSound(377), 16); h.engine.getGameAttribute('Music Disabled') ? c.setVolumeForChannel(0, 16) : h.engine.getGameAttribute('Music Disabled') || c.setVolumeForChannel(1, 16); }, a.actor ); }, this.actor ); }, init: function () { this.actor.makeAlwaysSimulate(); this._GravitySpeed = 48; this._GroundCheck = this._OnGround = !0; this._StartingY = this.actor.getY(); this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); c.runPeriodically(10, m(this, this._event_EveryNsecs), this.actor); this.addListener(this.actor.whenCollided, m(this, this._event_HitsHive)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsBee)); this.addListener(this.actor.whenUpdated, m(this, this._event_GroundandGravity)); this.addListener(this.actor.whenUpdated, m(this, this._event_Movement)); c.runPeriodically(5e3, m(this, this._event_EveryNsecs2), this.actor); this.addListener(this.actor.whenPositionStateChanged, m(this, this._event_EntersScreen)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsBlock)); }, forwardMessage: function (a) {}, __class__: dx }); var ex = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Start Y'] = '_StartY'; this._StartY = 0; this.nameMap.h.Center = '_Center'; this._Center = 0; this.nameMap.h.Hit = '_Hit'; this._Hit = !1; this.nameMap.h.Dropped = '_Dropped'; this._Dropped = !1; this.nameMap.h['Button Number'] = '_ButtonNumber'; this._ButtonNumber = 0; }; k['scripts.Design_577_577_HiveLogic'] = ex; ex.__name__ = 'scripts.Design_577_577_HiveLogic'; ex.__super__ = n; ex.prototype = t(n.prototype, { _StartY: null, _Center: null, _Hit: null, _Dropped: null, _ButtonNumber: null, _event_HitsMustardBall: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(776); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && !this._Hit && (h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(378)), (this._Hit = !0), this.actor.setFilter([c.createBrightnessFilter(100)]), c.runLater( 100, function (a) { b.actor.clearFilters(); }, this.actor ), c.recycleActor(a.otherActor), c.runLater( 300, function (a) { h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(955)); b._Hit = !1; }, this.actor ), this.actor.getXCenter() > this._Center ? (c.createRecycledActorOnLayer( c.getActorType(948), this.actor.getXCenter() - 14, this.actor.getY() - 14 + this.actor.getHeight() - 48, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Left'), c.getLastCreatedActor().moveBy(-32, -48, 0.3, v.quadIn), c.createRecycledActorOnLayer( c.getActorType(948), this.actor.getXCenter() - 14, this.actor.getY() - 14 + this.actor.getHeight() - 48, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Left'), c.getLastCreatedActor().moveBy(0, -32, 0.3, v.quadIn), c.createRecycledActorOnLayer( c.getActorType(948), this.actor.getXCenter() - 14, this.actor.getY() - 14 + this.actor.getHeight() - 48, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Left'), c.getLastCreatedActor().moveBy(-64, -32, 0.3, v.quadIn)) : (c.createRecycledActorOnLayer( c.getActorType(948), this.actor.getXCenter() - 14, this.actor.getY() - 14 + this.actor.getHeight() - 48, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Right'), c.getLastCreatedActor().moveBy(64, -32, 0.3, v.quadIn), c.createRecycledActorOnLayer( c.getActorType(948), this.actor.getXCenter() - 14, this.actor.getY() - 14 + this.actor.getHeight() - 48, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Right'), c.getLastCreatedActor().moveBy(0, -32, 0.3, v.quadIn), c.createRecycledActorOnLayer( c.getActorType(948), this.actor.getXCenter() - 14, this.actor.getY() - 14 + this.actor.getHeight() - 48, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Right'), c.getLastCreatedActor().moveBy(32, -48, 0.3, v.quadIn))); }, _customEvent_Drop: function () { var a = this; this._Dropped || ((this._Dropped = !0), this.actor.moveTo(this.actor.getX(), this._StartY + 96, 0.3, v.elasticOut), c.runLater( 2e3, function (b) { a.actor.moveTo(a.actor.getX(), a._StartY, 0.3, v.quadInOut); c.runLater( 300, function (b) { a._Dropped = !1; }, a.actor ); }, this.actor )); }, init: function () { this.actor.makeAlwaysSimulate(); this._StartY = this.actor.getY(); for (var a = 0, b = c.getActorsOfType(c.getActorType(732)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || (this._Center = d.getXCenter()); } this.actor.getXCenter() > this._Center && this.actor.setAnimation('Right'); this.addListener(this.actor.whenCollided, m(this, this._event_HitsMustardBall)); }, forwardMessage: function (a) {}, __class__: ex }); var fx = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['On Ground'] = '_OnGround'; this._OnGround = !1; this.nameMap.h['Ground Check'] = '_GroundCheck'; this._GroundCheck = !1; this.nameMap.h['Can Make Noise'] = '_CanMakeNoise'; this._CanMakeNoise = !1; this.nameMap.h['Face Left'] = '_FaceLeft'; this._FaceLeft = !0; this.nameMap.h.Speed = '_Speed'; this._Speed = 12; this.nameMap.h.Fall = '_Fall'; this._Fall = !1; this.nameMap.h['No Gravity'] = '_NoGravity'; this._NoGravity = !1; this.nameMap.h.Health = '_Health'; this._Health = 3; this.nameMap.h.Hurt = '_Hurt'; this._Hurt = !1; this.nameMap.h.Dead = '_Dead'; this._Dead = !1; this.nameMap.h['Starting Y'] = '_StartingY'; this._StartingY = 0; this.nameMap.h['Ground Amnesty'] = '_GroundAmnesty'; this._GroundAmnesty = 0; this.nameMap.h.Go = '_Go'; this._Go = !1; this.nameMap.h.Dude = '_Dude'; this.nameMap.h['Ready To Talk'] = '_ReadyToTalk'; this._ReadyToTalk = !1; this.nameMap.h['Has Entered'] = '_HasEntered'; this._HasEntered = !1; this.nameMap.h['Dialog Complete'] = '_DialogComplete'; this._DialogComplete = !1; this.nameMap.h['Dialog Text'] = '_DialogText'; this._DialogText = 'DEFAULT'; this.nameMap.h['No Shoot'] = '_NoShoot'; this._NoShoot = !1; }; k['scripts.Design_583_583_Boss8Logic'] = fx; fx.__name__ = 'scripts.Design_583_583_Boss8Logic'; fx.__super__ = n; fx.prototype = t(n.prototype, { _GravitySpeed: null, _OnGround: null, _GroundCheck: null, _CanMakeNoise: null, _FaceLeft: null, _Speed: null, _Fall: null, _NoGravity: null, _Health: null, _Hurt: null, _Dead: null, _StartingY: null, _GroundAmnesty: null, _Go: null, _Dude: null, _ReadyToTalk: null, _HasEntered: null, _DialogComplete: null, _DialogText: null, _NoShoot: null, _event_HitsGround: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(1); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && a.thisFromBottom && ((this._GroundCheck = !0), (this._GroundAmnesty = 4)); }, _event_EveryNsecs: function (a) { this.wrapper.enabled && (this._OnGround || --this._GroundAmnesty); }, _event_HitsHazard: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorGroup(4); var e = a.otherActor.getType(); a = a.otherActor.getGroup(); d = d == e || d == a; } else d = !1; if (d) if (this._Hurt) this.actor.setYVelocity(-100); else if ( ((this._Hurt = !0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(378)), this.actor.setFilter([c.createBrightnessFilter(100)]), c.runLater( 200, function (a) { b.actor.clearFilters(); }, this.actor ), --this._Health, 0 == this._Health) ) { this._Dead = !0; c.stopSoundOnChannel(16); d = 0; for (e = c.getActorsOfType(c.getActorType(353)); d < e.length; ) (a = e[d]), ++d, null == a || a.dead || a.recycled || (a.moveBy(0, 32, 0.3, v.quadInOut), a.setValue('Button Logic', '_Hide', !0)); this._GravitySpeed = 24; this.actor.setYVelocity(-120); } }, _event_GroundandGravity: function (a) { if (this.wrapper.enabled) { if (this._GroundCheck) { if (this._Hurt) { this._NoShoot = this._Hurt = this._Fall = !1; this._Dead || (c.createRecycledActorOnLayer( c.getActorType(28), 496 + c.randomInt(-220, 220), 672, c.engine.getLayerById(3) ), c.getLastCreatedActor().setValue('Key Logic', '_KeyNumber', 1)); a = 0; for (var b = c.getActorsOfType(c.getActorType(353)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || d.setValue('Button Logic', '_Disable', !1); } this._FaceLeft ? this.actor.setAnimation('Left') : this.actor.setAnimation('Right'); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(105)); a = 0; for (b = c.getActorsOfType(c.getActorType(2)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || (this.actor.getXCenter() > d.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); c.startShakingScreen(0.006999999999999999, 0.15); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut); this._Dead && (c.createRecycledActorOnLayer( c.getActorType(962), this.actor.getX(), this.actor.getY() - 12, c.engine.getLayerById(this.actor.getLayerID()) ), this._FaceLeft || c.getLastCreatedActor().setAnimation('Right'), c.getLastCreatedActor().moveBy(0, 12, 0.3, v.quadIn), c.recycleActor(this.actor)); } this._OnGround || ((this._OnGround = !0), this.actor.setYVelocity(0), this._CanMakeNoise ? h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(117)) : (this._CanMakeNoise = !0)); } else this._OnGround && 0 == this._GroundAmnesty && (this._OnGround = !1); this._GroundCheck = !1; this._Fall && !this._NoGravity && this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed)); this._Fall || this._Hurt || this._Dead || (this.actor.getY() < this._StartingY && this.actor.setY(this._StartingY)); } }, _event_Movement: function (a) { var b = this; if (this.wrapper.enabled) { a = this._Dude; if ( !c.isPrimitive(a) && ('string' == typeof a ? '' == w.__cast(a, String) : null == a) ) { a = 0; for (var d = c.getActorsOfType(c.getActorType(2)); a < d.length; ) { var e = d[a]; ++a; null == e || e.dead || e.recycled || (this._Dude = e); } } if (this._Go) { this._Fall || this._Hurt || this._Dead ? this.actor.setXVelocity(0) : (this._FaceLeft && c.tileExistsAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 32)) / 32), Math.floor(this.actor.getX() / 32), c.engine.getLayerById(0) ) && 7 < c.getTileIDAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 32)) / 32), Math.floor(this.actor.getX() / 32), c.engine.getLayerById(0) ) ? ((this._FaceLeft = !1), this.actor.setAnimation('Turn'), c.runLater( 80, function (a) { b.actor.setAnimation('Right'); }, this.actor )) : !this._FaceLeft && c.tileExistsAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 32)) / 32), Math.ceil((this.actor.getX() + this.actor.getWidth()) / 32) - 1, c.engine.getLayerById(0) ) && 7 < c.getTileIDAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 32)) / 32), Math.ceil((this.actor.getX() + this.actor.getWidth()) / 32) - 1, c.engine.getLayerById(0) ) && ((this._FaceLeft = !0), this.actor.setAnimation('Turn'), c.runLater( 80, function (a) { b.actor.setAnimation('Left'); }, this.actor )), this._FaceLeft ? this.actor.setXVelocity(-this._Speed) : this.actor.setXVelocity(this._Speed)); a = 0; for (d = c.getActorsOfType(c.getActorType(30)); a < d.length; ) if ( ((e = d[a]), ++a, null != e && !e.dead && !e.recycled && e.getValue('Locked Block Logic', '_BossHoleSensor') && this.actor.getX() >= e.getX() - 1 && this.actor.getX() <= e.getX() + 1 && 'Open' == e.getAnimation()) ) { this.actor.setX(e.getX()); this.actor.setXVelocity(0); e = 0; for (var f = c.getActorsOfType(c.getActorType(353)); e < f.length; ) { var g = f[e]; ++e; null == g || g.dead || g.recycled || g.setValue('Button Logic', '_Disable', !0); } this._Fall || (this.actor.setYVelocity(0), this._FaceLeft ? this.actor.setAnimation('Left Fall') : this.actor.setAnimation('Right Fall'), (this._NoGravity = this._Fall = !0), c.runLater( 400, function (a) { b._FaceLeft ? b.actor.setAnimation('Left Fall 2') : b.actor.setAnimation('Right Fall 2'); }, this.actor ), c.runLater( 500, function (a) { b._NoGravity = !1; b.actor.setYVelocity(100); }, this.actor ), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(373))); } if (this._Hurt && this.actor.getY() < this._StartingY) for (a = 0, d = c.getActorsOfType(c.getActorType(30)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.say('Locked Block Logic', '_customEvent_Reset'); } this._ReadyToTalk && (h.engine.getGameAttribute('Boss 3 Dialog Read') || h.engine.getGameAttribute('Possum Mode') ? ((this._ReadyToTalk = !1), this.actor.shout('_customEvent_dialogComplete')) : ((a = this._Dude), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Dude.getValue('Dude Logic', '_OnGround') && ((this._ReadyToTalk = !1), this._Dude.setValue( 'Dude Logic', '_ExitCameraX', Math.min(this._Dude.getX(), this.actor.getX()) + Math.round( (Math.max(this._Dude.getX(), this.actor.getX()) - Math.min(this._Dude.getX(), this.actor.getX())) / 2 ) ), this._Dude.setValue('Dude Logic', '_ExitCameraY', this.actor.getYCenter()), this._Dude.setValue('Dude Logic', '_BossTalk', !0), this._DialogComplete || ((this._DialogComplete = !0), c.runLater( 500, function (a) { c.stopSoundOnChannel(16); c.createRecycledActor( c.getActorType(161), 0, c.getScreenHeight() - 96, 0 ); 'JP' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*\u30ae\u30e3\u30fc*|\u3042\u3042\u3001\u306a\u3093\u3066\u3053\u3063\u305f\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\u3042\u3001\u3053\u3093\u306b\u3061\u306f\uff01\u3042\u306a\u305f\u306e\u540d\u524d\u306f\u4f55\u3067\u3059\u304b\uff1f|\u79c1\u306f\u30d0\u30fc\u30ac\u30fc\u30b0\u30e9\u30fc\u3001\u30c0\u30fc\u30ca\u30c3\u30af\u537f\u306e\u7b2c3\u306e\u5b50\u5206\u3067\u3059\uff01|\u306a\u3093\u3066\u7d20\u6575\u306a\u540d\u524d\u3067\u3059\uff01\u3053\u3093\u306b\u3061\u306f\u30d0\u30fc\u30ac\u30fc\u30b0\u30e9\u30fc\u3001\u79c1\u306f\u30c0\u30c7\u30a3\u30c3\u30b7\u30e5\u3067\u3059\uff01\u79c1\u306f\u5b9f\u306f\u79c1\u306e\u5b50\u4f9b\u305f\u3061\u3092\u63a2\u3057\u3066\u3044\u307e\u3059\u3001\u3042\u306a\u305f\u306f\u305f\u307e\u305f\u307e\u3053\u3053\u3067\u5c0f\u3055\u306a\u30e9\u30c7\u30c3\u30b7\u30e5\u3092\u898b\u305f\u3053\u3068\u304c\u3042\u308a\u307e\u305b\u3093\u304b\uff1f|\u3042\u306a\u305f\u306f\u30c0\u30fc\u30ca\u30c3\u30af\u537f\u306b\u6c7a\u3057\u3066\u5c4a\u304b\u306a\u3044\u3067\u3057\u3087\u3046\uff01\u6b7b\u306c\u6e96\u5099\u3092\u3057\u306a\u3055\u3044\uff01|\u305d\u308c\u3067\u3001\u3048\u3048\u3068\u3001\u305d\u308c\u306f\u3044\u3044\u3048\u3067\u3059\u304b\uff1f' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : 'CN' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*SCREECH*|\u54e6\u5929\u54ea\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\u54e6\uff0c\u4f60\u597d\uff01\u4f60\u53eb\u4ec0\u4e48\u540d\u5b57\uff1f|\u6211\u662fBURGURGULAR\uff0c\u675c\u7eb3\u514b\u52cb\u7235\u7684\u7b2c\u4e09\u4e2a\u968f\u4ece\uff01|\u591a\u597d\u7684\u540d\u5b57\u554a\uff01\u55e8\uff0cBurgurgular\uff0c\u6211\u662f\u7238\u7238\u841d\u535c\uff01\u6211\u5b9e\u9645\u4e0a\u662f\u5728\u5bfb\u627e\u6211\u7684\u5b69\u5b50\uff0c\u4f60\u6ca1\u6709\u5728\u8fd9\u91cc\u78b0\u5230\u4efb\u4f55\u5c0f\u841d\u535c\u5417\uff1f|\u4f60\u6c38\u8fdc\u4e0d\u4f1a\u8d76\u4e0a\u675c\u7eb3\u514b\u52cb\u7235\uff01\u51c6\u5907\u53bb\u6b7b\uff01|\u90a3\u4e48\uff0c\u5443\uff0c\u53ef\u4ee5\u8bf4\u4e0d\u5417\uff1f' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : 'KR' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*\uaf64\uc561*|\uc5b4 \uc774\ub7f0.' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\uc548\ub155\ud558\uc138\uc694! \uc774\ub984\uc774 \uc5b4\ub5bb\uac8c \ub418\uc138\uc694?|\ub09c \uc704\ub300\ud558\uc2e0 \ub354\ub098\ud06c\ub2d8\uc758 \uc138 \ubc88\uc9f8 \uc218\ud558, \ubc84\uac70\uae00\ub7ec\ub2e4!|\uba4b\uc9c4 \uc774\ub984\uc774\ub124\uc694! \uc548\ub155\ud558\uc138\uc694 \ubc84\uac70\uae00\ub7ec\uc528, \uc804 \ub300\ub514\uc26c\uc5d0\uc694! \uc804 \uc0ac\uc2e4 \uc81c \uc544\uc774\ub4e4\uc744 \ucc3e\uace0 \uc788\uc5b4\uc694. \uc8fc\ubcc0\uc5d0\uc11c \ub354 \uc791\uc740 \ubb34\ub97c \ubcf8 \uc801 \uc5c6\uc73c\uc2dc\uaca0\uc8e0?|\ub10c \uc808\ub300 \ub354\ub098\ud06c\ub2d8\uaed8 \uac08 \uc218 \uc5c6\ub2e4! \uc8fd\uc744 \uc900\ube44\ub97c \ud574\ub77c!|\uc5b4, \ubabb \ubcf4\uc168\ub2e4\ub294 \uac70\uc8e0?' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*SCREECH*|Oh my gosh' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', "Hello, I'm Dadish!|I AM MAUREEN, SECOND HENCHMAN TO SPACE DURNAK, LORD OF SPACE. I LOVE YOU.|You... love me?|YES.|But we've only just met?|KISS ME.|No!|I'LL KILL YOU!" ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')); c.getLastCreatedActor().setValue( 'Dialog Box Logic', '_Character2', 'Boss 8' ); c.getLastCreatedActor().setValue('Dialog Box Logic', '_Parent', b.actor); c.getLastCreatedActor().say('Dialog Box Logic', '_customEvent_Go'); }, this.actor ))))); } }, _event_EntersScreen: function (a, b, d, e) { var f = this; this.wrapper.enabled && a && !this._HasEntered && !this._Go && ((this._HasEntered = !0), c.runLater( 700, function (a) { f._ReadyToTalk = !0; }, this.actor )); }, _event_HitsBlock: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(30); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && a.thisFromBottom && (this._GroundCheck = !0); }, _event_EveryNsecs2: function (a) { !this.wrapper.enabled || this._Hurt || ('Left' != this.actor.getAnimation() && 'Right' != this.actor.getAnimation()) || (this._NoShoot || 1 == c.randomInt(1, 16) ? c.createRecycledActorOnLayer( c.getActorType(960), this.actor.getXCenter() - 19, this.actor.getYCenter() - 32, c.engine.getLayerById(this.actor.getLayerID()) ) : (c.createRecycledActorOnLayer( c.getActorType(958), this.actor.getXCenter() - 19, this.actor.getYCenter() - 32, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setYVelocity(c.randomInt(-10, -14))), c.getLastCreatedActor().setYVelocity(c.randomInt(-10, -20))); }, _customEvent_dialogComplete: function () { var a = this; c.runLater( 200, function (b) { a._Dude.say('Dude Logic', '_customEvent_setCameraBounds'); c.runLater( 200, function (b) { a._Go = !0; h.engine.gameAttributes.h['Boss 3 Dialog Read'] = !0; a.actor.setAnimation('Left'); c.loopSoundOnChannel(c.getSound(377), 16); c.createRecycledActorOnLayer( c.getActorType(28), 496, 672, c.engine.getLayerById(3) ); c.getLastCreatedActor().setValue('Key Logic', '_KeyNumber', 1); h.engine.getGameAttribute('Music Disabled') ? c.setVolumeForChannel(0, 16) : h.engine.getGameAttribute('Music Disabled') || c.setVolumeForChannel(1, 16); }, a.actor ); }, this.actor ); }, init: function () { this.actor.makeAlwaysSimulate(); this._GravitySpeed = 48; this._GroundCheck = this._OnGround = !0; this._StartingY = this.actor.getY(); this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); c.runPeriodically(10, m(this, this._event_EveryNsecs), this.actor); this.addListener(this.actor.whenCollided, m(this, this._event_HitsHazard)); this.addListener(this.actor.whenUpdated, m(this, this._event_GroundandGravity)); this.addListener(this.actor.whenUpdated, m(this, this._event_Movement)); this.addListener(this.actor.whenPositionStateChanged, m(this, this._event_EntersScreen)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsBlock)); c.runPeriodically(500, m(this, this._event_EveryNsecs2), this.actor); }, forwardMessage: function (a) {}, __class__: fx }); var gx = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['On Ground'] = '_OnGround'; this._OnGround = !1; this.nameMap.h['Ground Check'] = '_GroundCheck'; this._GroundCheck = !1; this.nameMap.h['Can Make Noise'] = '_CanMakeNoise'; this._CanMakeNoise = !1; this.nameMap.h['Face Left'] = '_FaceLeft'; this._FaceLeft = !0; this.nameMap.h.Speed = '_Speed'; this._Speed = 100; this.nameMap.h.Fall = '_Fall'; this._Fall = !1; this.nameMap.h['No Gravity'] = '_NoGravity'; this._NoGravity = !1; this.nameMap.h.Health = '_Health'; this._Health = 4; this.nameMap.h.Hurt = '_Hurt'; this._Hurt = !1; this.nameMap.h.Dead = '_Dead'; this._Dead = !1; this.nameMap.h['Starting Y'] = '_StartingY'; this._StartingY = 0; this.nameMap.h['Ground Amnesty'] = '_GroundAmnesty'; this._GroundAmnesty = 0; this.nameMap.h.Go = '_Go'; this._Go = !1; this.nameMap.h.Dude = '_Dude'; this.nameMap.h['Ready To Talk'] = '_ReadyToTalk'; this._ReadyToTalk = !1; this.nameMap.h['Has Entered'] = '_HasEntered'; this._HasEntered = !1; this.nameMap.h['Dialog Complete'] = '_DialogComplete'; this._DialogComplete = !1; this.nameMap.h['Dialog Text'] = '_DialogText'; this._DialogText = 'DEFAULT'; this.nameMap.h['Can Bounce'] = '_CanBounce'; this._CanBounce = !1; this.nameMap.h.Shoot = '_Shoot'; this._Shoot = !1; this.nameMap.h['No Thud'] = '_NoThud'; this._NoThud = !1; this.nameMap.h['Adjust X'] = '_AdjustX'; this._AdjustX = 0; this.nameMap.h['Adjust Position'] = '_AdjustPosition'; this._AdjustPosition = !1; }; k['scripts.Design_589_589_Boss9Logic'] = gx; gx.__name__ = 'scripts.Design_589_589_Boss9Logic'; gx.__super__ = n; gx.prototype = t(n.prototype, { _GravitySpeed: null, _OnGround: null, _GroundCheck: null, _CanMakeNoise: null, _FaceLeft: null, _Speed: null, _Fall: null, _NoGravity: null, _Health: null, _Hurt: null, _Dead: null, _StartingY: null, _GroundAmnesty: null, _Go: null, _Dude: null, _ReadyToTalk: null, _HasEntered: null, _DialogComplete: null, _DialogText: null, _CanBounce: null, _Shoot: null, _NoThud: null, _AdjustX: null, _AdjustPosition: null, _event_HitsGround: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorGroup(1); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && this._Go && (a.thisFromBottom && ((this._GroundCheck = !0), (this._GroundAmnesty = 4)), a.thisFromLeft && this._FaceLeft && ((this._FaceLeft = !1), this.actor.setAnimation('Turn'), this.actor.setXVelocity(0), c.runLater( 200, function (a) { b.actor.setAnimation('Right'); }, this.actor )), a.thisFromRight && !this._FaceLeft && ((this._FaceLeft = !0), this.actor.setAnimation('Turn'), this.actor.setXVelocity(0), c.runLater( 200, function (a) { b.actor.setAnimation('Left'); }, this.actor ))); }, _event_TurnLeft: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(972); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && !this._FaceLeft && ((this._AdjustX = a.otherActor.getXCenter() - this.actor.getWidth() / 2), (this._FaceLeft = this._AdjustPosition = !0), this.actor.setAnimation('Turn'), this.actor.setXVelocity(0), c.runLater( 200, function (a) { b.actor.setAnimation('Left'); }, this.actor )); }, _event_TurnRight: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(970); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; d && this._FaceLeft && ((this._AdjustX = a.otherActor.getXCenter() - this.actor.getWidth() / 2), (this._AdjustPosition = !0), (this._FaceLeft = !1), this.actor.setAnimation('Turn'), this.actor.setXVelocity(0), c.runLater( 200, function (a) { b.actor.setAnimation('Right'); }, this.actor )); }, _event_EveryNsecs: function (a) { this.wrapper.enabled && (this._GroundAmnesty = Math.max(0, this._GroundAmnesty - 1)); }, _event_HitsBoulder: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorType(884); var e = a.otherActor.getType(); a = a.otherActor.getGroup(); d = d == e || d == a; } else d = !1; if ( d && !this._Hurt && ((this._Hurt = !0), c.startShakingScreen(0.015, 0.3), --this._Health, this.actor.setFilter([c.createBrightnessFilter(100)]), c.createRecycledActor( c.getActorType(974), this.actor.getXCenter() - 20, this.actor.getYCenter() - 22, 0 ), c.createRecycledActor( c.getActorType(974), this.actor.getXCenter() - 20, this.actor.getYCenter() - 22, 0 ), c.createRecycledActor( c.getActorType(974), this.actor.getXCenter() - 20, this.actor.getYCenter() - 22, 0 ), c.createRecycledActor( c.getActorType(974), this.actor.getXCenter() - 20, this.actor.getYCenter() - 22, 0 ), c.createRecycledActor( c.getActorType(974), this.actor.getXCenter() - 20, this.actor.getYCenter() - 22, 0 ), c.runLater( 200, function (a) { b.actor.clearFilters(); }, this.actor ), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(378)), 0 < this._Health && (c.runLater( 400, function (a) { b._NoGravity = !1; }, this.actor ), this._FaceLeft ? this.actor.setAnimation('Left Hurt') : this.actor.setAnimation('Right Hurt')), 0 == this._Health) ) { this._Dead = !0; c.createRecycledActorOnLayer( c.getActorType(978), this.actor.getX(), this.actor.getY(), c.engine.getLayerById(this.actor.getLayerID()) ); c.stopSoundOnChannel(16); d = 0; for (e = c.getActorsOfType(c.getActorType(353)); d < e.length; ) (a = e[d]), ++d, null == a || a.dead || a.recycled || (a.moveBy(0, 32, 0.3, v.quadInOut), a.setValue('Button Logic', '_Hide', !0)); c.recycleActor(this.actor); } }, _event_GroundandGravity: function (a) { var b = this; if (this.wrapper.enabled) { this._Go && !this._NoGravity && this.actor.setYVelocity( Math.min(this.actor.getYVelocity() + 1.4, 0.7 * this._GravitySpeed) ); if (this._Go) if (this._GroundCheck) { if (!this._OnGround) { this._OnGround = !0; this._Hurt = !1; this._AdjustPosition && ((this._AdjustPosition = !1), this.actor.moveTo(this._AdjustX, this.actor.getY(), 0.3, v.quadInOut)); this.actor.setXVelocity(0); this.actor.setYVelocity(0); if (this._NoThud) this._NoThud = !1; else { this._FaceLeft ? this.actor.setAnimation('Left Land') : this.actor.setAnimation('Right Land'); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(105)); a = 0; for (var d = c.getActorsOfType(c.getActorType(2)); a < d.length; ) { var e = d[a]; ++a; null == e || e.dead || e.recycled || (this.actor.getXCenter() > e.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Big Thud Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Big Thud Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); } c.startShakingScreen(0.006999999999999999, 0.15); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut); } c.runLater( 700, function (a) { 1 == c.randomInt(1, 5) ? b.actor.shout('_customEvent_Shoot') : b.actor.shout('_customEvent_Move'); }, this.actor ); } } else 0 >= this._GroundAmnesty && (this._OnGround = !1); this._GroundCheck = !1; } }, _event_Movement: function (a) { var b = this; if (this.wrapper.enabled) { ('Left Land' != this.actor.getAnimation() && 'Right Land' != this.actor.getAnimation()) || 6 != this.actor.getCurrentFrame() || (this._FaceLeft ? this.actor.setAnimation('Left') : this.actor.setAnimation('Right')); ('Left Shoot' != this.actor.getAnimation() && 'Right Shoot' != this.actor.getAnimation()) || 6 != this.actor.getCurrentFrame() || (this._FaceLeft ? this.actor.setAnimation('Left') : this.actor.setAnimation('Right')); a = this._Dude; if ( !c.isPrimitive(a) && ('string' == typeof a ? '' == w.__cast(a, String) : null == a) ) { a = 0; for (var d = c.getActorsOfType(c.getActorType(2)); a < d.length; ) { var e = d[a]; ++a; null == e || e.dead || e.recycled || (this._Dude = e); } } this._ReadyToTalk && (h.engine.getGameAttribute('Boss 4 Dialog Read') || h.engine.getGameAttribute('Possum Mode') ? ((this._ReadyToTalk = !1), this.actor.shout('_customEvent_dialogComplete')) : ((a = this._Dude), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Dude.getValue('Dude Logic', '_OnGround') && ((this._ReadyToTalk = !1), this._Dude.setValue( 'Dude Logic', '_ExitCameraX', Math.min(this._Dude.getX(), this.actor.getX()) + Math.round( (Math.max(this._Dude.getX(), this.actor.getX()) - Math.min(this._Dude.getX(), this.actor.getX())) / 2 ) ), this._Dude.setValue('Dude Logic', '_ExitCameraY', this.actor.getYCenter()), this._Dude.setValue('Dude Logic', '_BossTalk', !0), this._DialogComplete || ((this._DialogComplete = !0), c.runLater( 500, function (a) { c.stopSoundOnChannel(16); c.createRecycledActor( c.getActorType(161), 0, c.getScreenHeight() - 96, 0 ); 'JP' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*\u30ae\u30e3\u30fc*|\u3042\u3042\u3001\u306a\u3093\u3066\u3053\u3063\u305f\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\u3053\u3093\u306b\u3061\u306f\u3001\u30c0\u30c7\u30a3\u30c3\u30b7\u30e5\u3067\u3059\uff01\u79c1\u306e\u611a\u304b\u306a\u5b50\u4f9b\u305f\u3061\u3092\u898b\u305f\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u304b\uff1f|\u79c1\u306f\u30db\u30c3\u30c8\u30c9\u30c3\u30b0\u3001\u30c0\u30fc\u30ca\u30c3\u30af\u537f\u306e2 \u756a\u76ee\u306e\u5b50\u5206\u3067\u3059\uff01|\u3042\u306a\u305f\u306e\u540d\u524d\u306f... \u30db\u30c3\u30c8\u30c9\u30c3\u30b0..\uff1f\u672c\u5f53\u3067\u3059\u304b\uff1f|\u79c1\u306f\u30db\u30c3\u30c8\u30c9\u30c3\u30af\u3067\u3059\uff01\u6b7b\u306c\u6e96\u5099\u3092\u3057\u306a\u3055\u3044\uff01|\u4e86\u89e3\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : 'CN' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*SCREECH*|\u54e6\u5929\u54ea\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\u55e8\uff0c\u6211\u662f\u7238\u7238\u841d\u535c\uff01\u4f60\u770b\u5230\u6211\u90a3\u4e9b\u8822\u5b69\u5b50\u4e86\u5417\uff1f|\u6211\u662f\u70ed\u72d7\uff0c\u675c\u7eb3\u514b\u52cb\u7235\u7684\u7b2c\u4e8c\u4e2a\u968f\u4ece\uff01|\u70ed\u72d7\u2026\u2026\uff1f\u4f60\u5b8c\u5168\u786e\u5b9a\u5417\uff1f|\u6211\u662f\u70ed\u72d7\uff01\u51c6\u5907\u53bb\u6b7b\uff01|\u597d\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : 'KR' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*\uaf64\uc561*|\uc5b4 \uc774\ub7f0.' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\uc548\ub155\ud558\uc138\uc694, \uc804 \ub300\ub514\uc26c\uc5d0\uc694! \uc81c \uba4d\uccad\ud55c \uc544\uc774\ub4e4\uc744 \ubcf8 \uc801 \uc788\uc73c\uc138\uc694?|\ub09c \ud56b\ub3c4\uadf8\ub2e4. \ub354\ub098\ud06c\ub2d8\uc758 \ub450 \ubc88\uc9f8 \uc218\ud558\uc9c0!|\uadf8\ub7ec\ub2c8\uae4c \uc774\ub984\uc774... \ud56b\ub3c4\uadf8\uc2dc\ub77c\uad6c\uc694..? \uc9c4\uc9dc\ub85c\uc694?|\ub098\ub294 \ud56b\ub3c4\uadf8\ub2e4! \uc8fd\uc744 \uc900\ube44\ub97c \ud574\ub77c!|\uc54c\uc558\uc5b4\uc694.' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*SCREECH*|Oh my gosh' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', "Hello, I'm Dadish!|I AM CHURGURNULAR, FIRST HENCHMAN TO SPACE DURNAK, LORD OF SPACE.|Are you... cosplaying as Burgurgular?|...|...|...YES.|Why?|I JUST THINK HE'S REALLY COOL! HE HAS A GREAT SENSE OF STYLE!|I guess that's true...|STOP JUDGING ME!|I'm not!|I'LL KILL YOU!" ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')); c.getLastCreatedActor().setValue( 'Dialog Box Logic', '_Character2', 'Boss 9' ); c.getLastCreatedActor().setValue('Dialog Box Logic', '_Parent', b.actor); c.getLastCreatedActor().say('Dialog Box Logic', '_customEvent_Go'); }, this.actor ))))); } }, _event_EntersScreen: function (a, b, d, e) { var f = this; this.wrapper.enabled && a && !this._HasEntered && !this._Go && ((this._HasEntered = !0), c.runLater( 700, function (a) { f._ReadyToTalk = !0; }, this.actor )); }, _customEvent_Move: function () { var a = this; this._OnGround && !this._Shoot && (this._FaceLeft ? this.actor.setAnimation('Left Jump') : this.actor.setAnimation('Right Jump'), this.actor.setCurrentFrame(0), c.runLater( 100, function (b) { a._FaceLeft ? a.actor.setXVelocity(-22.3) : a.actor.setXVelocity(22.3); a.actor.setYVelocity(-70); }, this.actor )); }, _customEvent_Shoot: function () { var a = this; this._Shoot || ((this._Shoot = !0), this._FaceLeft ? this.actor.setAnimation('Left Shoot') : this.actor.setAnimation('Right Shoot'), c.runLater( 100, function (b) { a.actor.isOnScreen() && !h.engine.getGameAttribute('Sound Disabled') && c.playSound(c.getSound(222)); c.createRecycledActorOnLayer( c.getActorType(976), a.actor.getXCenter() - 56, a.actor.getY() + 24, c.engine.getLayerById(a.actor.getLayerID()) ); c.getLastCreatedActor().moveToBottom(); c.getLastCreatedActor().setXVelocity(-12); c.getLastCreatedActor().setYVelocity(-80); c.getLastCreatedActor().setAnimation('Left'); c.createRecycledActorOnLayer( c.getActorType(976), a.actor.getXCenter() - 8, a.actor.getY() + 24, c.engine.getLayerById(a.actor.getLayerID()) ); c.getLastCreatedActor().moveToBottom(); c.getLastCreatedActor().setXVelocity(12); c.getLastCreatedActor().setYVelocity(-80); c.getLastCreatedActor().setAnimation('Right'); c.runLater( 1500, function (b) { a._Shoot = !1; a.actor.shout('_customEvent_Move'); }, a.actor ); }, this.actor )); }, _customEvent_dialogComplete: function () { var a = this; c.runLater( 200, function (b) { a._Dude.say('Dude Logic', '_customEvent_setCameraBounds'); c.runLater( 200, function (b) { a._Go = !0; h.engine.gameAttributes.h['Boss 4 Dialog Read'] = !0; a.actor.setAnimation('Left'); c.loopSoundOnChannel(c.getSound(377), 16); h.engine.getGameAttribute('Music Disabled') ? c.setVolumeForChannel(0, 16) : h.engine.getGameAttribute('Music Disabled') || c.setVolumeForChannel(1, 16); }, a.actor ); }, this.actor ); }, init: function () { this.actor.makeAlwaysSimulate(); this._GravitySpeed = 48; this._StartingY = this.actor.getY(); this._NoThud = !0; this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); this.addListener(this.actor.whenCollided, m(this, this._event_TurnLeft)); this.addListener(this.actor.whenCollided, m(this, this._event_TurnRight)); c.runPeriodically(10, m(this, this._event_EveryNsecs), this.actor); this.addListener(this.actor.whenCollided, m(this, this._event_HitsBoulder)); this.addListener(this.actor.whenUpdated, m(this, this._event_GroundandGravity)); this.addListener(this.actor.whenUpdated, m(this, this._event_Movement)); this.addListener(this.actor.whenPositionStateChanged, m(this, this._event_EntersScreen)); }, forwardMessage: function (a) {}, __class__: gx }); var hx = function (a, b, d) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['On Ground'] = '_OnGround'; this._OnGround = !1; this.nameMap.h['Ground Check'] = '_GroundCheck'; this._GroundCheck = !1; this.nameMap.h['Can Make Noise'] = '_CanMakeNoise'; this._CanMakeNoise = !1; this.nameMap.h['Face Left'] = '_FaceLeft'; this._FaceLeft = !0; this.nameMap.h.Speed = '_Speed'; this._Speed = 10; this.nameMap.h.Fall = '_Fall'; this._Fall = !1; this.nameMap.h['No Gravity'] = '_NoGravity'; this._NoGravity = !1; this.nameMap.h.Health = '_Health'; this._Health = 5; this.nameMap.h.Hurt = '_Hurt'; this._Hurt = !1; this.nameMap.h.Dead = '_Dead'; this._Dead = !1; this.nameMap.h['Starting Y'] = '_StartingY'; this._StartingY = 0; this.nameMap.h['Ground Amnesty'] = '_GroundAmnesty'; this._GroundAmnesty = 0; this.nameMap.h.Go = '_Go'; this._Go = !1; this.nameMap.h.Dude = '_Dude'; this._Dude = c.getActor(0); this.nameMap.h['Ready To Talk'] = '_ReadyToTalk'; this._ReadyToTalk = !1; this.nameMap.h['Has Entered'] = '_HasEntered'; this._HasEntered = !1; this.nameMap.h['Dialog Complete'] = '_DialogComplete'; this._DialogComplete = !1; this.nameMap.h['Dialog Text'] = '_DialogText'; this._DialogText = 'DEFAULT'; this.nameMap.h['Can Bounce'] = '_CanBounce'; this._CanBounce = !1; this.nameMap.h['Dead On Ground'] = '_DeadOnGround'; this._DeadOnGround = !1; this.nameMap.h.Shoot = '_Shoot'; this._Shoot = !1; this.nameMap.h['Old X Speed'] = '_OldXSpeed'; this._OldXSpeed = 0; this.nameMap.h['Old Y Speed'] = '_OldYSpeed'; this._OldYSpeed = 0; }; k['scripts.Design_598_598_Boss10Logic'] = hx; hx.__name__ = 'scripts.Design_598_598_Boss10Logic'; hx.__super__ = n; hx.prototype = t(n.prototype, { _GravitySpeed: null, _OnGround: null, _GroundCheck: null, _CanMakeNoise: null, _FaceLeft: null, _Speed: null, _Fall: null, _NoGravity: null, _Health: null, _Hurt: null, _Dead: null, _StartingY: null, _GroundAmnesty: null, _Go: null, _Dude: null, _ReadyToTalk: null, _HasEntered: null, _DialogComplete: null, _DialogText: null, _CanBounce: null, _DeadOnGround: null, _Shoot: null, _OldXSpeed: null, _OldYSpeed: null, _event_HitsGround: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(1); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && this._Go && (a.thisFromTop && this.actor.setYVelocity(this._Speed / 2), a.thisFromBottom && this.actor.setYVelocity(-(this._Speed / 2)), a.thisFromLeft && this.actor.setXVelocity(this._Speed), a.thisFromRight && this.actor.setXVelocity(-this._Speed)); }, _event_Shoot: function (a) { var b = this; this.wrapper.enabled && this._Go && !this._Hurt && 1 == c.randomInt(1, 3) && !this._Shoot && ((this._Shoot = !0), (this._OldXSpeed = this.actor.getXVelocity()), (this._OldYSpeed = this.actor.getYVelocity()), this.actor.setXVelocity(0), this.actor.setYVelocity(0), c.runLater( 300, function (a) { b._FaceLeft ? b.actor.setAnimation('Left Shoot') : b.actor.setAnimation('Right Shoot'); c.runLater( 100, function (a) { h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(617)); c.createRecycledActorOnLayer( c.getActorType(988), b.actor.getXCenter() - 56, b.actor.getY() + 24, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveToBottom(); c.getLastCreatedActor().setXVelocity(-12); c.getLastCreatedActor().setYVelocity(-45); c.getLastCreatedActor().setAnimation('Left'); c.createRecycledActorOnLayer( c.getActorType(988), b.actor.getXCenter() - 8, b.actor.getY() + 24, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveToBottom(); c.getLastCreatedActor().setXVelocity(12); c.getLastCreatedActor().setYVelocity(-35); c.getLastCreatedActor().setAnimation('Right'); for (a = 0; 10 > a; ) a++, c.createRecycledActorOnLayer( c.getActorType(427), c.randomInt( (b.actor.getXCenter() - 32) | 0, (b.actor.getXCenter() + 32) | 0 ), b.actor.getY() + 18, c.engine.getLayerById(b.actor.getLayerID()) ), c.getLastCreatedActor().setYVelocity(c.randomInt(-50, -64)), c.getLastCreatedActor().setXVelocity(c.randomInt(-24, 24)); c.runLater( 1e3, function (a) { b._Shoot = !1; b.actor.setXVelocity(b._OldXSpeed); b.actor.setYVelocity(b._OldYSpeed); }, b.actor ); }, b.actor ); }, this.actor )); }, _event_HitsHazard: function (a) { var b = this; if ( this.wrapper.enabled && this.internalGetGroup(a.otherActor, a.otherShape, a) == c.getActorGroup(4) && a.otherActor.getType() != c.getActorType(988) && !this._Hurt && ((this._Hurt = !0), c.runLater( 1e3, function (a) { b._Hurt = !1; b._Speed += 2; b.actor.applyImpulseInDirection(c.randomInt(0, 360), b._Speed); 1 == c.randomInt(1, 2) ? b.actor.setXVelocity(b._Speed) : b.actor.setXVelocity(-b._Speed); 1 == c.randomInt(1, 2) ? b.actor.setYVelocity(b._Speed / 2) : b.actor.setYVelocity(-(b._Speed / 2)); }, this.actor ), (this._Speed *= 1.15), this.actor.setXVelocity(0), this.actor.setYVelocity(-60), --this._Health, this.actor.setFilter([c.createBrightnessFilter(100)]), c.runLater( 200, function (a) { b.actor.clearFilters(); }, this.actor ), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(378)), 0 < this._Health && (c.runLater( 400, function (a) { b._NoGravity = !1; }, this.actor ), this._FaceLeft ? this.actor.setAnimation('Left Hurt') : this.actor.setAnimation('Right Hurt')), 0 == this._Health) ) { this._FaceLeft ? this.actor.setAnimation('Left Hurt') : this.actor.setAnimation('Right Hurt'); this._Dead = !0; if (!this._DeadOnGround) { this._DeadOnGround = !0; this.actor.setFilter([c.createBrightnessFilter(100)]); a = 0; for (var d = c.getActorsOfType(c.getActorType(988)); a < d.length; ) { var e = d[a]; ++a; null == e || e.dead || e.recycled || (c.createRecycledActorOnLayer( c.getActorType(94), e.getXCenter() - 8, e.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), e.getXCenter() - 8, e.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, -16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), e.getXCenter() - 8, e.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-16, 16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.createRecycledActorOnLayer( c.getActorType(94), e.getXCenter() - 8, e.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(16, 16, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Small'), c.recycleActor(e)); } c.runLater( 100, function (a) { a = 0; for (var d = c.getActorsOfType(c.getActorType(2)); a < d.length; ) { var e = d[a]; ++a; null == e || e.dead || e.recycled || (b.actor.getXCenter() > e.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Cannon Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Cannon Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); } c.createRecycledActorOnLayer( c.getActorType(28), b.actor.getXCenter() - 16, b.actor.getYCenter() - 16, c.engine.getLayerById(b.actor.getLayerID()) ); 928 > c.getLastCreatedActor().getY() && c .getLastCreatedActor() .moveTo(c.getLastCreatedActor().getX(), 928, 0.3, v.quadInOut); c.getLastCreatedActor().moveToBottom(); for (a = 0; 20 > a; ) a++, c.createRecycledActorOnLayer( c.getActorType(427), c.randomInt( b.actor.getX() | 0, (b.actor.getX() + (b.actor.getWidth() - 16)) | 0 ), c.randomInt( b.actor.getY() | 0, (b.actor.getY() + (b.actor.getHeight() - 16)) | 0 ), c.engine.getLayerById(b.actor.getLayerID()) ), c.getLastCreatedActor().setYVelocity(1.6 * c.randomInt(-50, -64)), c.getLastCreatedActor().setXVelocity(1.6 * c.randomInt(-24, 24)); for (a = 0; 20 > a; ) a++, c.createRecycledActorOnLayer( c.getActorType(425), c.randomInt( b.actor.getX() | 0, (b.actor.getX() + (b.actor.getWidth() - 16)) | 0 ), c.randomInt( b.actor.getY() | 0, (b.actor.getY() + (b.actor.getHeight() - 16)) | 0 ), c.engine.getLayerById(b.actor.getLayerID()) ), c.getLastCreatedActor().setYVelocity(c.randomInt(-50, -64)), c.getLastCreatedActor().setXVelocity(c.randomInt(-24, 24)); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(430)); c.startShakingScreen(0.006999999999999999, 0.15); c.recycleActor(b.actor); }, this.actor ); } c.stopSoundOnChannel(16); a = 0; for (d = c.getActorsOfType(c.getActorType(353)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || (e.moveBy(0, 32, 0.3, v.quadInOut), e.setValue('Button Logic', '_Hide', !0)); } }, _event_Movement: function (a) { var b = this; if (this.wrapper.enabled) { this._Go && (768 > this.actor.getY() && (this.actor.setY(768), 0 > this.actor.getYVelocity() && this.actor.setYVelocity(-this.actor.getYVelocity())), this._Shoot || (0 > this.actor.getXVelocity() ? (this._FaceLeft = !0) : (this._FaceLeft = !1)), this._FaceLeft ? 'Left' != this.actor.getAnimation() && 'Left Shoot' != this.actor.getAnimation() && 'Left Hurt' != this.actor.getAnimation() && 'Turn' != this.actor.getAnimation() && (this.actor.setAnimation('Turn'), c.runLater( 100, function (a) { b.actor.setAnimation('Left'); }, this.actor )) : 'Right' != this.actor.getAnimation() && 'Right Shoot' != this.actor.getAnimation() && 'Right Hurt' != this.actor.getAnimation() && 'Turn' != this.actor.getAnimation() && (this.actor.setAnimation('Turn'), c.runLater( 100, function (a) { b.actor.setAnimation('Right'); }, this.actor )), 'Left Shoot' == this.actor.getAnimation() && 3 == this.actor.getCurrentFrame() && this.actor.setAnimation('Left'), 'Right Shoot' == this.actor.getAnimation() && 3 == this.actor.getCurrentFrame() && this.actor.setAnimation('Right'), this._Hurt || 'Left Hurt' != this.actor.getAnimation() ? this._Hurt || 'Right Hurt' != this.actor.getAnimation() || this.actor.setAnimation('Right') : this.actor.setAnimation('Left')); a = this._Dude; if ( !c.isPrimitive(a) && ('string' == typeof a ? '' == w.__cast(a, String) : null == a) ) { a = 0; for (var d = c.getActorsOfType(c.getActorType(2)); a < d.length; ) { var e = d[a]; ++a; null == e || e.dead || e.recycled || (this._Dude = e); } } this._ReadyToTalk ? ((a = this._Dude), (a = c.isPrimitive(a) ? !0 : 'string' == typeof a ? '' != w.__cast(a, String) : null != a)) : (a = !1); a && ((h.engine.getGameAttribute('Boss 5 Dialog Read') || h.engine.getGameAttribute('Possum Mode')) && (h.engine.getGameAttribute('Possum Mode') || (!h.engine.getGameAttribute('Possum Mode') && this._Dude.getValue('Dude Logic', '_OnGround'))) && this._Dude.getY() >= this.actor.getY() ? ((this._ReadyToTalk = !1), this.actor.shout('_customEvent_dialogComplete')) : ((a = this._Dude), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Dude.getValue('Dude Logic', '_OnGround') && this._Dude.getY() >= this.actor.getY() && ((this._ReadyToTalk = !1), this._Dude.setValue( 'Dude Logic', '_ExitCameraX', Math.min(this._Dude.getX(), this.actor.getX()) + Math.round( (Math.max(this._Dude.getX(), this.actor.getX()) - Math.min(this._Dude.getX(), this.actor.getX())) / 2 ) ), this._Dude.setValue('Dude Logic', '_ExitCameraY', this.actor.getYCenter()), this._Dude.setValue('Dude Logic', '_BossTalk', !0), this._DialogComplete || ((this._DialogComplete = !0), c.runLater( 500, function (a) { c.stopSoundOnChannel(16); c.createRecycledActor( c.getActorType(161), 0, c.getScreenHeight() - 96, 0 ); 'JP' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*\u30ae\u30e3\u30fc*|\u3042\u3042\u3001\u306a\u3093\u3066\u3053\u3063\u305f\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\u3053\u3093\u306b\u3061\u306f\uff01\u79c1\u306f\u30c0\u30c7\u30a3\u30c3\u30b7\u30e5\u3067\u3059\uff01|\u79c1\u306e\u8981\u585e\u3001\u30c0\u30c7\u30a3\u30c3\u30b7\u30e5\u3078\u3088\u3046\u3053\u305d\uff01\u79c1\u306f\u30c0\u30fc\u30ca\u30c3\u30af\u537f\u3067\u3059\uff01\u3088\u3046\u3084\u304f\u304a\u4f1a\u3044\u3067\u304d\u3066\u3046\u308c\u3057\u3044\u3067\u3059\u3002\u79c1\u306f\u7d20\u6674\u3089\u3057\u3044\u3053\u3068\u3092\u805e\u3044\u305f\u3002|\u672c\u5f53\u306b\uff1f|\u3044\u3044\u3048\u3002|\u3042\u3042\u3002|\u79c1\u306e\u5b50\u5206\u305f\u3061\u304c\u3042\u306a\u305f\u306b\u53d7\u3051\u3055\u305b\u305f\u3059\u3079\u3066\u306e\u9762\u5012\u306b\u3064\u3044\u3066\u8b1d\u308a\u305f\u3044\u3002\u3053\u306e\u3088\u3046\u306a\u4e0d\u5e78\u306a\u8aa4\u89e3\u3002|\u5927\u4e08\u592b\u3001\u5fc3\u914d\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u6700\u5f8c\u306e\u884c\u65b9\u4e0d\u660e\u306b\u306a\u3063\u305f\u5b50\u4f9b\u3092\u898b\u3064\u3051\u3066\u5bb6\u306b\u5e30\u308a\u305f\u3044\u3060\u3051\u3067\u3059\u3002|\u7406\u89e3\u3067\u304d\u307e\u3059\u3002\u3057\u304b\u3057\u3001\u6700\u521d\u306b\u3001\u305d\u308c\u304c\u3042\u307e\u308a\u9762\u5012\u3067\u306a\u3044\u306a\u3089...|\u4f55\u3067\u3059\u304b\uff1f|\u6b7b\u306c\u6e96\u5099\u3092\u3057\u306a\u3055\u3044\uff01|\u3042\u3042\u3001\u52d8\u5f01\u3057\u3066\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : 'CN' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*SCREECH*|\u54e6\u5929\u54ea\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\u4f60\u597d\uff01\u6211\u662f\u7238\u7238\u841d\u535c\uff01|\u6b22\u8fce\u6765\u5230\u6211\u7684\u57ce\u5821\uff0c\u7238\u7238\u841d\u535c\uff01\u6211\u662f\u675c\u7eb3\u514b\u52cb\u7235\uff01\u5f88\u9ad8\u5174\u7ec8\u4e8e\u89c1\u5230\u4f60\u3002\u6211\u542c\u8bf4\u4e86\u5f88\u68d2\u7684\u4e8b\u60c5\u3002|\u771f\u7684\u5417?|\u4e0d\u3002|\u54e6\u3002|\u4e0d\u8fc7\u6211\u8fd8\u662f\u8981\u4e3a\u6211\u7684\u968f\u4ece\u7ed9\u4f60\u5e26\u6765\u7684\u9ebb\u70e6\u9053\u6b49\u3002\u8fd9\u662f\u4e2a\u4ee4\u4eba\u9057\u61be\u7684\u8bef\u4f1a\u3002|\u563f\uff0c\u5f88\u597d\uff0c\u4e0d\u7528\u62c5\u5fc3\u3002\u6211\u53ea\u60f3\u627e\u5230\u6211\u6700\u540e\u4e00\u4e2a\u5931\u8e2a\u7684\u5b69\u5b50\uff0c\u7136\u540e\u56de\u5bb6\u3002|\u53ef\u4ee5\u7406\u89e3\u3002\u4f46\u662f\u9996\u5148\uff0c\u5982\u679c\u4e0d\u662f\u5f88\u9ebb\u70e6\u2026\u2026|\u662f\u4ec0\u4e48\uff1f|\u51c6\u5907\u53bb\u6b7b\uff01|\u54e6\uff0c\u6765\u5427\u3002' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : 'KR' == h.engine.getGameAttribute('Language') ? h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*\uaf64\uc561*|\uc5b4 \uc774\ub7f0.' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '\uc548\ub155\ud558\uc138\uc694! \uc804 \ub300\ub514\uc26c\uc5d0\uc694|\ub0b4 \uc694\uc0c8\uc5d0 \uc628 \uac78 \ud658\uc601\ud55c\ub2e4, \ub300\ub514\uc26c! \ub09c \ub85c\ub4dc \ub354\ub098\ud06c\ub2e4! \ub4dc\ub514\uc5b4 \ub9cc\ub098\uac8c \ub418\uc11c \ubc18\uac00\uc6cc\uc694. \uc9c0\uae08\uae4c\uc9c0 \uad49\uc7a5\ud55c \uc774\uc57c\uae30\ub97c \ub4e4\uc5c8\uc9c0.|\uc815\ub9d0\uc694?|\uc544\ub2c8.|\uc5b4..|\uadf8\ub807\uc9c0\ub9cc \ub0b4 \uc218\ud558\ub4e4\uc774 \ub110 \ubc29\ud574\ud55c \uac78 \ubaa8\ub450 \uc0ac\uacfc\ud558\uace0 \uc2f6\uad70. \ubd88\ud589\ud788\ub3c4 \uc624\ud574\uac00 \uc788\uc5c8\uc5b4.|\uad1c\ucc2e\uc544\uc694. \uac71\uc815\ud558\uc9c0 \ub9c8\uc138\uc694. \uc804 \uadf8\ub0e5 \uc2e4\uc885\ub41c \ub9c8\uc9c0\ub9c9 \uc544\uc774\ub97c \ucc3e\uc544 \uc9d1\uc5d0 \uac00\uace0 \uc2f6\uc5b4\uc694.|\uadf8\ub807\uad70. \ud558\uc9c0\ub9cc \uba3c\uc800 \ub108\ubb34 \ud3d0\uac00 \ub418\uc9c0 \uc54a\ub294\ub2e4\uba74...|\ubb34\uc2a8 \uc77c\uc774\uc138\uc694?|\uc8fd\uc744 \uc900\ube44\ub97c \ud574\ub77c!|\uc544 \uc81c\ubc1c.' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')) : h.engine.getGameAttribute('Possum Mode') ? (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', '*SCREECH*|Oh my gosh' ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Baby6')) : (c .getLastCreatedActor() .setValue( 'Dialog Box Logic', '_DialogText', "Hello!|WE MEET AGAIN, DADISH!|Aha! So you ARE the same Lord Durnak!|OOPS, UH... WE MEET AGAIN... FOR THE FIRST TIME!|Nice save, dude. Look, it's pretty much the same deal as last time, I just want to grab my last missing kid and go home.|YOU SMASHED MY BOTTLE AND NOW I HAVE TO LIVE IN THIS FISH BOWL!|You're the one who wanted to fight me!|THE FISH ARE VERY SICK! I MUST HAVE MY REVENGE!|Really though?|I'LL KILL YOU!|OK, come on then." ), c .getLastCreatedActor() .setValue('Dialog Box Logic', '_Character1', 'Dadish')); c.getLastCreatedActor().setValue( 'Dialog Box Logic', '_Character2', 'Boss 10' ); c.getLastCreatedActor().setValue('Dialog Box Logic', '_Parent', b.actor); c.getLastCreatedActor().say('Dialog Box Logic', '_customEvent_Go'); }, this.actor ))))); } }, _event_EntersScreen: function (a, b, d, e) { var f = this; this.wrapper.enabled && a && !this._HasEntered && !this._Go && ((this._HasEntered = !0), c.runLater( 700, function (a) { f._ReadyToTalk = !0; }, this.actor )); }, _customEvent_dialogComplete: function () { var a = this; c.runLater( 200, function (b) { a._Dude.say('Dude Logic', '_customEvent_setCameraBounds'); c.runLater( 200, function (b) { a._Go = !0; h.engine.gameAttributes.h['Boss 5 Dialog Read'] = !0; a.actor.setAnimation('Left'); a.actor.setXVelocity(-a._Speed); a.actor.setYVelocity(-(a._Speed / 2)); c.loopSoundOnChannel(c.getSound(377), 16); h.engine.getGameAttribute('Music Disabled') ? c.setVolumeForChannel(0, 16) : h.engine.getGameAttribute('Music Disabled') || c.setVolumeForChannel(1, 16); c.setTileAt(21, 21, c.engine.getLayerById(0), 749, 60); c.setTileAt(21, 22, c.engine.getLayerById(0), 749, 60); c.setTileAt(21, 23, c.engine.getLayerById(0), 749, 60); c.setTileAt(21, 24, c.engine.getLayerById(0), 749, 60); }, a.actor ); }, this.actor ); }, init: function () { this.actor.makeAlwaysSimulate(); this._Speed = 10; this._StartingY = this.actor.getY(); this.addListener(this.actor.whenCollided, m(this, this._event_HitsGround)); c.runPeriodically(1400, m(this, this._event_Shoot), this.actor); this.addListener(this.actor.whenCollided, m(this, this._event_HitsHazard)); this.addListener(this.actor.whenUpdated, m(this, this._event_Movement)); this.addListener(this.actor.whenPositionStateChanged, m(this, this._event_EntersScreen)); }, forwardMessage: function (a) {}, __class__: hx }); var ix = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h.Delay = '_Delay'; this._Delay = 0; this.nameMap.h.Position = '_Position'; this._Position = ''; this.nameMap.h.Mask = '_Mask'; this.nameMap.h['Mask Created'] = '_MaskCreated'; this._MaskCreated = !1; }; k['scripts.Design_63_63_TransitionBlockLogic'] = ix; ix.__name__ = 'scripts.Design_63_63_TransitionBlockLogic'; ix.__super__ = n; ix.prototype = t(n.prototype, { _Delay: null, _Position: null, _Mask: null, _MaskCreated: null, _event_Updating: function (a) { this.wrapper.enabled && 4 <= this.actor.getCurrentFrame() && !this._MaskCreated && ((this._MaskCreated = !0), this.actor.getType() == c.getActorType(100) ? ((a = this._Mask), (a = c.isPrimitive(a) ? !0 : 'string' == typeof a ? '' != w.__cast(a, String) : null != a)) : (a = !1), a ? (c.recycleActor(this._Mask), (this._Mask = c.getDefaultValue(this._Mask))) : this.actor.getType() == c.getActorType(98) && c.createRecycledActor( c.getActorType(709), this.actor.getX() + 10, this.actor.getY() + 18, 0 )); }, _customEvent_Go: function () { var a = this; c.runLater( 1e3 * this._Delay, function (b) { a.actor.getType() == c.getActorType(100) || a.actor.getType() == c.getActorType(98) ? (1 == c.randomInt(1, 3) && a.actor.moveToTop(), a.actor.setAnimation('' + c.randomInt(1, 5))) : a.actor.setAnimation(a._Position); }, this.actor ); }, init: function () { this.actor.makeAlwaysSimulate(); this.actor.anchorToScreen(); this.actor.getType() == c.getActorType(100) && (c.createRecycledActor(c.getActorType(709), this.actor.getX(), this.actor.getY(), 0), (this._Mask = c.getLastCreatedActor())); this.actor.setX(this.actor.getX() - 10); this.actor.setY(this.actor.getY() - 18); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: ix }); var jx = function (a, b) { c.call(this); this.nameMap.h['Demo Pos List'] = '_DemoPosList'; this.nameMap.h['Stroke Image'] = '_StrokeImage'; this.nameMap.h['Pencil Start X'] = '_PencilStartX'; this._PencilStartX = 0; this.nameMap.h['Pencil Start Y'] = '_PencilStartY'; this._PencilStartY = 0; this.nameMap.h['Intro Dadish Grey Outline'] = '_IntroDadishGreyOutline'; this.nameMap.h['Grey Outline Image'] = '_GreyOutlineImage'; this.nameMap.h['Grey Outline Mask Image'] = '_GreyOutlineMaskImage'; this.nameMap.h['Grey Outline Image Show'] = '_GreyOutlineImageShow'; this.nameMap.h['Grey Outline Inst Show'] = '_GreyOutlineInstShow'; this.nameMap.h['Intro Dadish Pink Outine'] = '_IntroDadishPinkOutine'; this.nameMap.h['Pink Outline Image'] = '_PinkOutlineImage'; this.nameMap.h['Pink Outline Mask Image'] = '_PinkOutlineMaskImage'; this.nameMap.h['Pink Outline Image Show'] = '_PinkOutlineImageShow'; this.nameMap.h['Pink Outline Inst Show'] = '_PinkOutlineInstShow'; this.nameMap.h['Intro Dadish Green Outline'] = '_IntroDadishGreenOutline'; this.nameMap.h['Green Outline Image'] = '_GreenOutlineImage'; this.nameMap.h['Green Outline Mask Image'] = '_GreenOutlineMaskImage'; this.nameMap.h['Green Outline Image Show'] = '_GreenOutlineImageShow'; this.nameMap.h['Green Outline Inst Show'] = '_GreenOutlineInstShow'; this.nameMap.h['Intro Dadish Green Fill'] = '_IntroDadishGreenFill'; this.nameMap.h['Green Fill Image'] = '_GreenFillImage'; this.nameMap.h['Green Fill Mask Image'] = '_GreenFillMaskImage'; this.nameMap.h['Green Fill Image Show'] = '_GreenFillImageShow'; this.nameMap.h['Green Fill Inst Show'] = '_GreenFillInstShow'; this.nameMap.h['Intro Dadish Pink FIll'] = '_IntroDadishPinkFIll'; this.nameMap.h['Pink Fill Image'] = '_PinkFillImage'; this.nameMap.h['Pink Fill Mask Image'] = '_PinkFillMaskImage'; this.nameMap.h['Pink Fill Image Show'] = '_PinkFillImageShow'; this.nameMap.h['Pink Fill inst Show'] = '_PinkFillinstShow'; this.nameMap.h['Pencil 0 List'] = '_Pencil0List'; this.nameMap.h['Pencil 0'] = '_Pencil0'; this.nameMap.h['Pencil 1'] = '_Pencil1'; this.nameMap.h['Pencil 1 List'] = '_Pencil1List'; this.nameMap.h['Pencil 2 List'] = '_Pencil2List'; this.nameMap.h['Pencil 2'] = '_Pencil2'; this.nameMap.h['Pencil 3 List'] = '_Pencil3List'; this.nameMap.h['Pencil 3'] = '_Pencil3'; this.nameMap.h['Pencil 4 List'] = '_Pencil4List'; this.nameMap.h['Pencil 4'] = '_Pencil4'; this.nameMap.h['Can Skip'] = '_CanSkip'; this._CanSkip = !1; this.nameMap.h.Dude = '_Dude'; }; k['scripts.Design_666_666_IntroLogic'] = jx; jx.__name__ = 'scripts.Design_666_666_IntroLogic'; jx.__super__ = fa; jx.prototype = t(fa.prototype, { _DemoPosList: null, _StrokeImage: null, _PencilStartX: null, _PencilStartY: null, _IntroDadishGreyOutline: null, _GreyOutlineImage: null, _GreyOutlineMaskImage: null, _GreyOutlineImageShow: null, _GreyOutlineInstShow: null, _IntroDadishPinkOutine: null, _PinkOutlineImage: null, _PinkOutlineMaskImage: null, _PinkOutlineImageShow: null, _PinkOutlineInstShow: null, _IntroDadishGreenOutline: null, _GreenOutlineImage: null, _GreenOutlineMaskImage: null, _GreenOutlineImageShow: null, _GreenOutlineInstShow: null, _IntroDadishGreenFill: null, _GreenFillImage: null, _GreenFillMaskImage: null, _GreenFillImageShow: null, _GreenFillInstShow: null, _IntroDadishPinkFIll: null, _PinkFillImage: null, _PinkFillMaskImage: null, _PinkFillImageShow: null, _PinkFillinstShow: null, _Pencil0List: null, _Pencil0: null, _Pencil1: null, _Pencil1List: null, _Pencil2List: null, _Pencil2: null, _Pencil3List: null, _Pencil3: null, _Pencil4List: null, _Pencil4: null, _CanSkip: null, _Dude: null, _event_Keyboard: function (a, b) { this.wrapper.enabled && a && c.shoutToScene('_customEvent_Skip'); }, _event_MultiTouch: function (a) { this.wrapper.enabled && c.shoutToScene('_customEvent_Skip'); }, _event_AfterNsecs: function (a) { this.wrapper.enabled && (this._CanSkip = !0); }, _event_Updating: function (a) { this.wrapper.enabled && ((a = this._Dude), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Dude.getY() > c.getScreenY() + c.getScreenHeight() && (c.recycleActor(this._Dude), (this._Dude = c.getDefaultValue(this._Dude)), c.runLater( 1300, function (a) { a = ra.get().scenes.h[4].getID(); var b = 0, e = 0, f = 0; null == f && (f = 0); null == e && (e = 0); null == b && (b = 0); var g = c.createBlindsOut(0.2, (b << 16) | (e << 8) | f); f = e = b = 0; null == f && (f = 0); null == e && (e = 0); null == b && (b = 0); c.switchScene(a, g, c.createBlindsIn(0.2, (b << 16) | (e << 8) | f)); }, null ))); }, _customEvent_pencil0go: function () { var a = this; this._Pencil0List = []; c.runLater( 500, function (b) { c.createRecycledActor(c.getActorType(1095), a._PencilStartX, a._PencilStartY, 0); a._Pencil0 = c.getLastCreatedActor(); a._Pencil0.moveTo(930, 935 - a._Pencil0.getHeight(), 0.5, v.quadInOut); }, null ); c.runLater( 1e3, function (b) { h.engine.getGameAttribute('Sound Disabled') || c.playSoundOnChannel(c.getSound(1119), 6); b = 0; for ( var d = w.__cast( '930|935;930|935;930|935;929|939;929|941;926|949;923|960;923|967;924|971;924|979;924|982;924|982;928|957;928|950;928|950;921|975;919|980;917|982;922|971;927|965;928|964;928|964;927|971;926|974;997|956;995|963;994|974;993|976;993|976;994|979;995|982;996|982;998|970;999|965;999|964;999|969;999|977;999|977;1003|966;1002|952;1000|951;992|960;989|971;988|971 '.split( ';' ), Array ); b < d.length; ) { var e = d[b]; ++b; a._Pencil0List.push(e); } b = 0; for (d = a._Pencil0List.length; b < d; ) (e = [b++]), c.runLater( 30 * e[0], (function (b) { return function (d) { d = a._Pencil0; var e = ('' + z.string(a._Pencil0List[b[0]])).split('|')[0], f = null == e ? 0 : 'number' == typeof e ? w.__cast(e, ob) : 'number' == typeof e && (e | 0) === e ? w.__cast(e, nb) : 'boolean' == typeof e ? w.__cast(e, jb) ? 1 : 0 : 'string' == typeof e ? parseFloat(e) : parseFloat(z.string(e)); e = ('' + z.string(a._Pencil0List[b[0]])).split('|')[1]; d.moveTo( f, (null == e ? 0 : 'number' == typeof e ? w.__cast(e, ob) : 'number' == typeof e && (e | 0) === e ? w.__cast(e, nb) : 'boolean' == typeof e ? w.__cast(e, jb) ? 1 : 0 : 'string' == typeof e ? parseFloat(e) : parseFloat(z.string(e))) - a._Pencil0.getHeight(), 0.03, v.linear ); c.drawImageOnImage( a._GreyOutlineImage.clone(), a._GreyOutlineImageShow, 0, 0, 10 ); c.clearImageUsingMask( a._GreyOutlineMaskImage, a._StrokeImage, (a._Pencil0.getScreenX() - (c.getScreenWidth() / 2 - 127) - 6) | 0, (a._Pencil0.getScreenY() + a._Pencil0.getHeight() - (c.getScreenHeight() / 2 - 127) - 6) | 0 ); c.clearImageUsingMask( a._GreyOutlineImageShow, a._GreyOutlineMaskImage.clone(), 0, 0 ); }; })(e), null ); c.runLater( 30 * (a._Pencil0List.length - 1), function (a) { c.stopSoundOnChannel(6); }, null ); c.runLater( 30 * a._Pencil0List.length, function (b) { a._Pencil0.moveTo(a._PencilStartX, a._PencilStartY, 0.5, v.quadInOut); c.shoutToScene('_customEvent_pencil1go'); }, null ); }, null ); }, _customEvent_pencil1go: function () { var a = this; this._Pencil1List = []; c.runLater( 500, function (b) { c.createRecycledActor(c.getActorType(1109), a._PencilStartX, a._PencilStartY, 0); a._Pencil1 = c.getLastCreatedActor(); a._Pencil1.moveTo(969, 1086 - a._Pencil1.getHeight(), 0.5, v.quadInOut); }, null ); c.runLater( 1e3, function (b) { h.engine.getGameAttribute('Sound Disabled') || c.playSoundOnChannel(c.getSound(1118), 6); b = 0; for ( var d = w.__cast( '969|1086;968|1086;966|1084;965|1081;965|1080;965|1079;965|1078;965|1076;965|1076;965|1074;965|1072;965|1070;966|1068;968|1066;969|1064;971|1062;973|1059;977|1056;981|1053;985|1049;989|1046;994|1042;997|1039;1002|1035;1006|1033;1014|1027;1018|1024;1022|1020;1025|1016;1027|1012;1030|1007;1031|1004;1033|1000;1034|997;1036|991;1038|988;1038|985;1040|979;1040|975;1040|966;1041|962;1040|959;1040|952;1040|947;1040|942;1038|939;1034|933;1033|930;1030|924;1028|921;1024|917;1018|913;1015|911;1011|905;1009|904;1004|900;1000|897;995|895;988|893;983|892;978|891;971|891;964|891;961|891;960|891;951|891;946|892;943|892;937|893;937|893;930|897;924|899;920|901;919|901;913|904;910|906;908|908;904|910;902|912;899|915;897|918;893|922;890|926;887|930;886|933;885|936;884|940;882|945;881|948;879|952;878|956;877|961;877|966;876|971;876|975;876|980;877|986;879|989;880|992;882|996;883|999;884|1003;886|1008;888|1012;890|1015;894|1017;898|1020;900|1021;902|1023;904|1024;907|1026;911|1028;915|1031;920|1034;924|1036;926|1037;929|1040;931|1041;932|1043;933|1045;936|1047;939|1052;943|1054;945|1055;948|1057;951|1059;954|1061;956|1063;958|1066;958|1066;958|1066;958|1066;959|1061;958|1046;956|1038;953|1026;950|1019;949|1010;948|1001;947|994;947|989;947|985;948|980;948|978;951|978;956|978;961|979;967|979;974|980;977|981;975|981;965|982;952|982;946|982;945|982;946|982;953|985;960|986;966|987;974|990;978|990;979|990;974|991;967|991;962|991;957|991;953|991;948|991;948|991;953|994;959|996;962|997;965|998;966|1000;967|1003;967|1003;967|1005;967|1007;967|1008;967|1008 '.split( ';' ), Array ); b < d.length; ) { var e = d[b]; ++b; a._Pencil1List.push(e); } b = 0; for (d = a._Pencil1List.length; b < d; ) (e = [b++]), c.runLater( 30 * e[0], (function (b) { return function (d) { d = a._Pencil1; var e = ('' + z.string(a._Pencil1List[b[0]])).split('|')[0], f = null == e ? 0 : 'number' == typeof e ? w.__cast(e, ob) : 'number' == typeof e && (e | 0) === e ? w.__cast(e, nb) : 'boolean' == typeof e ? w.__cast(e, jb) ? 1 : 0 : 'string' == typeof e ? parseFloat(e) : parseFloat(z.string(e)); e = ('' + z.string(a._Pencil1List[b[0]])).split('|')[1]; d.moveTo( f, (null == e ? 0 : 'number' == typeof e ? w.__cast(e, ob) : 'number' == typeof e && (e | 0) === e ? w.__cast(e, nb) : 'boolean' == typeof e ? w.__cast(e, jb) ? 1 : 0 : 'string' == typeof e ? parseFloat(e) : parseFloat(z.string(e))) - a._Pencil1.getHeight(), 0.03, v.linear ); c.drawImageOnImage( a._PinkOutlineImage.clone(), a._PinkOutlineImageShow, 0, 0, 10 ); c.clearImageUsingMask( a._PinkOutlineMaskImage, a._StrokeImage, (a._Pencil1.getScreenX() - (c.getScreenWidth() / 2 - 127) - 6) | 0, (a._Pencil1.getScreenY() + a._Pencil1.getHeight() - (c.getScreenHeight() / 2 - 127) - 6) | 0 ); c.clearImageUsingMask( a._PinkOutlineImageShow, a._PinkOutlineMaskImage.clone(), 0, 0 ); }; })(e), null ); c.runLater( 30 * (a._Pencil1List.length - 1), function (a) { c.stopSoundOnChannel(6); }, null ); c.runLater( 30 * a._Pencil1List.length, function (b) { a._Pencil1.moveTo(a._PencilStartX, a._PencilStartY, 0.5, v.quadInOut); c.shoutToScene('_customEvent_pencil2go'); }, null ); }, null ); }, _customEvent_pencil2go: function () { var a = this; this._Pencil2List = []; c.runLater( 500, function (b) { c.createRecycledActor(c.getActorType(1093), a._PencilStartX, a._PencilStartY, 0); a._Pencil2 = c.getLastCreatedActor(); a._Pencil2.moveTo(940, 887 - a._Pencil2.getHeight(), 0.5, v.quadInOut); }, null ); c.runLater( 1e3, function (b) { h.engine.getGameAttribute('Sound Disabled') || c.playSoundOnChannel(c.getSound(1118), 6); b = 0; for ( var d = w.__cast( '940|887;939|886;937|885;936|884;934|882;932|881;931|880;929|879;927|877;926|875;925|874;923|872;922|870;921|868;919|865;918|863;917|860;916|855;916|853;918|851;921|848;923|847;926|846;931|845;936|845;938|846;942|848;945|851;947|852;949|854;951|855;953|857;956|858;958|859;961|862;962|864;963|865;963|867;963|867;963|867;965|862;968|858;970|855;973|852;979|849;987|845;991|845;995|846;997|847;1000|849;1002|853;1002|856;1002|860;1002|863;1002|866;1000|869;998|872;995|875;993|878;991|880;987|884;984|886;983|887;983|887;983|888;981|890;980|890;979|891;979|891;979|891 '.split( ';' ), Array ); b < d.length; ) { var e = d[b]; ++b; a._Pencil2List.push(e); } b = 0; for (d = a._Pencil2List.length; b < d; ) (e = [b++]), c.runLater( 30 * e[0], (function (b) { return function (d) { d = a._Pencil2; var e = ('' + z.string(a._Pencil2List[b[0]])).split('|')[0], f = null == e ? 0 : 'number' == typeof e ? w.__cast(e, ob) : 'number' == typeof e && (e | 0) === e ? w.__cast(e, nb) : 'boolean' == typeof e ? w.__cast(e, jb) ? 1 : 0 : 'string' == typeof e ? parseFloat(e) : parseFloat(z.string(e)); e = ('' + z.string(a._Pencil2List[b[0]])).split('|')[1]; d.moveTo( f, (null == e ? 0 : 'number' == typeof e ? w.__cast(e, ob) : 'number' == typeof e && (e | 0) === e ? w.__cast(e, nb) : 'boolean' == typeof e ? w.__cast(e, jb) ? 1 : 0 : 'string' == typeof e ? parseFloat(e) : parseFloat(z.string(e))) - a._Pencil2.getHeight(), 0.03, v.linear ); c.drawImageOnImage( a._GreenOutlineImage.clone(), a._GreenOutlineImageShow, 0, 0, 10 ); c.clearImageUsingMask( a._GreenOutlineMaskImage, a._StrokeImage, (a._Pencil2.getScreenX() - (c.getScreenWidth() / 2 - 127) - 6) | 0, (a._Pencil2.getScreenY() + a._Pencil2.getHeight() - (c.getScreenHeight() / 2 - 127) - 6) | 0 ); c.clearImageUsingMask( a._GreenOutlineImageShow, a._GreenOutlineMaskImage.clone(), 0, 0 ); }; })(e), null ); c.runLater( 30 * (a._Pencil2List.length - 1), function (a) { c.stopSoundOnChannel(6); }, null ); c.runLater( 30 * a._Pencil2List.length, function (b) { a._Pencil2.moveTo(a._PencilStartX, a._PencilStartY, 0.5, v.quadInOut); c.shoutToScene('_customEvent_pencil3go'); }, null ); }, null ); }, _customEvent_pencil3go: function () { var a = this; this._Pencil3List = []; c.runLater( 500, function (b) { c.createRecycledActor(c.getActorType(1093), a._PencilStartX, a._PencilStartY, 0); a._Pencil3 = c.getLastCreatedActor(); a._Pencil3.moveTo(898, 869 - a._Pencil3.getHeight(), 0.5, v.quadInOut); }, null ); c.runLater( 1e3, function (b) { h.engine.getGameAttribute('Sound Disabled') || c.playSoundOnChannel(c.getSound(1119), 6); b = 0; for ( var d = w.__cast( '898|869;907|849;916|835;913|857;913|851;914|851;909|860;918|841;908|859;901|860;910|847;904|862;929|842;922|853;928|842;902|877;925|846;921|851;926|844;906|868;933|850;899|881;937|849;919|861;952|842;926|873;937|863;945|857;923|875;959|853;935|870;930|871;949|857;920|863;917|861;926|864;943|859;959|861;921|872;945|860;932|888;969|858;948|877;965|856;938|884;961|862;941|883;965|863;936|893;967|866;950|880;964|861;950|869;982|836;968|866;1002|837;969|877;981|859;979|859;954|893;1002|828;958|879;989|852;942|880;990|852;974|860;973|851;945|875;994|847;979|866;1001|851;956|895;998|846;966|888;990|861;989|863;973|876;1005|843;960|886;1001|852;960|893;1002|856;974|881;995|849;966|890;966|888;1009|851;974|898;1010|853;965|888;1011|858;991|881;1002|867;974|884;992|861;987|875;991|865;976|889;983|878;984|881;974|884;971|886;969|887;992|876;983|890;1005|858;998|871;997|868;1024|832;978|888;949|888;940|896;940|896;940|896;941|896 '.split( ';' ), Array ); b < d.length; ) { var e = d[b]; ++b; a._Pencil3List.push(e); } b = 0; for (d = a._Pencil3List.length; b < d; ) (e = [b++]), c.runLater( 20 * e[0], (function (b) { return function (d) { d = a._Pencil3; var e = ('' + z.string(a._Pencil3List[b[0]])).split('|')[0], f = null == e ? 0 : 'number' == typeof e ? w.__cast(e, ob) : 'number' == typeof e && (e | 0) === e ? w.__cast(e, nb) : 'boolean' == typeof e ? w.__cast(e, jb) ? 1 : 0 : 'string' == typeof e ? parseFloat(e) : parseFloat(z.string(e)); e = ('' + z.string(a._Pencil3List[b[0]])).split('|')[1]; d.moveTo( f, (null == e ? 0 : 'number' == typeof e ? w.__cast(e, ob) : 'number' == typeof e && (e | 0) === e ? w.__cast(e, nb) : 'boolean' == typeof e ? w.__cast(e, jb) ? 1 : 0 : 'string' == typeof e ? parseFloat(e) : parseFloat(z.string(e))) - a._Pencil3.getHeight(), 0.02, v.linear ); c.drawImageOnImage( a._GreenFillImage.clone(), a._GreenFillImageShow, 0, 0, 10 ); c.clearImageUsingMask( a._GreenFillMaskImage, a._StrokeImage, (a._Pencil3.getScreenX() - (c.getScreenWidth() / 2 - 127) - 6) | 0, (a._Pencil3.getScreenY() + a._Pencil3.getHeight() - (c.getScreenHeight() / 2 - 127) - 6) | 0 ); c.clearImageUsingMask( a._GreenFillImageShow, a._GreenFillMaskImage.clone(), 0, 0 ); }; })(e), null ); c.runLater( 20 * (a._Pencil3List.length - 1), function (a) { c.stopSoundOnChannel(6); }, null ); c.runLater( 20 * a._Pencil3List.length, function (b) { a._Pencil3.moveTo(a._PencilStartX, a._PencilStartY, 0.5, v.quadInOut); c.shoutToScene('_customEvent_pencil4go'); }, null ); }, null ); }, _customEvent_pencil4go: function () { var a = this; this._Pencil4List = []; c.runLater( 500, function (b) { c.createRecycledActor(c.getActorType(1109), a._PencilStartX, a._PencilStartY, 0); a._Pencil4 = c.getLastCreatedActor(); a._Pencil4.moveTo(874, 935 - a._Pencil4.getHeight(), 0.5, v.quadInOut); }, null ); c.runLater( 1e3, function (b) { h.engine.getGameAttribute('Sound Disabled') || c.playSoundOnChannel(c.getSound(1119), 6); b = 0; for ( var d = w.__cast( '874|935;874|935;880|929;882|926;886|922;896|914;902|909;908|905;914|903;922|899;934|892;942|889;942|889;942|889;935|894;927|899;920|904;916|906;911|910;905|914;902|917;899|921;896|925;893|928;891|931;887|935;883|940;879|946;877|949;877|950;882|949;890|939;895|933;900|928;907|921;914|917;921|912;930|906;937|901;944|897;949|893;951|892;951|892;940|905;930|912;923|917;918|920;914|924;910|930;905|934;900|939;895|944;891|948;887|952;883|956;879|961;879|964;879|967;879|967;891|958;897|951;902|944;905|941;909|935;913|931;917|928;920|925;923|922;927|920;931|917;937|913;940|910;946|906;950|903;955|900;961|895;965|892;969|890;972|887;977|884;977|884;977|884;975|892;967|902;962|907;959|910;954|914;951|917;948|918;944|921;941|923;934|926;930|929;926|932;923|935;919|938;913|942;910|946;904|952;900|956;897|960;892|965;890|968;888|971;886|974;882|980;879|984;877|988;876|989;876|989;882|984;889|977;894|970;899|964;902|962;907|958;913|953;917|950;922|946;926|944;931|940;941|933;949|927;958|919;963|914;967|910;971|907;977|901;980|897;986|891;990|888;992|885;992|885;989|884;989|884;985|883;985|882;989|884;990|884;993|885;987|895;982|900;976|905;970|912;964|920;959|927;954|931;948|935;942|940;938|943;933|947;930|949;925|954;921|957;918|961;915|966;911|968;907|973;901|977;897|980;893|985;890|987;888|990;885|994;882|998;879|1004;879|1004;883|1006;888|1004;890|999;894|993;897|988;901|984;905|982;910|978;915|974;921|968;925|963;929|958;932|955;937|951;941|948;947|942;953|936;956|933;961|927;966|922;971|918;976|914;982|908;987|904;992|899;995|895;1000|889;1002|886;1007|884;1008|884;1009|884;1009|884;1005|893;1002|897;996|903;990|907;983|913;972|923;963|931;959|936;954|941;950|947;945|955;941|959;936|963;931|968;924|974;916|980;911|986;906|992;901|998;898|1003;895|1008;892|1012;892|1014;894|1014;901|1008;908|1000;911|996;915|992;919|987;924|983;928|980;934|975;937|972;945|967;953|961;960|954;965|949;972|941;975|937;979|933;986|926;989|923;992|919;995|914;1000|907;1006|900;1008|899;1008|899;1008|899;1003|904;993|914;986|920;981|924;976|927;970|931;966|935;958|946;953|954;952|957;955|957;981|938;991|930;999|923;1005|915;1010|910;1015|905;1020|901;1020|900;1020|898;1018|891;1016|890;1013|888;1020|892;1023|893;1017|905;1000|923;985|938;975|950;966|960;960|967;953|974;942|985;932|993;919|1003;914|1007;909|1013;904|1017;901|1020;899|1022;897|1025;900|1025;911|1014;918|1004;922|1000;927|997;932|993;939|988;945|984;951|978;959|972;969|963;977|956;984|950;990|945;995|940;1001|935;1009|927;1016|920;1021|914;1022|913;1022|913;1022|913;1022|912;1017|918;1009|928;1005|933;1000|939;996|943;989|949;981|955;975|961;970|964;967|969;962|975;956|981;951|986;947|990;943|993;939|997;932|1003;928|1007;925|1012;923|1016;920|1019;918|1022;913|1027;907|1033;905|1035;905|1035;905|1035;905|1035;905|1029;906|1027;912|1023;916|1021;917|1021;928|1016;939|1007;945|1002;949|998;957|990;964|984;968|978;974|972;980|966;987|958;990|954;994|949;1001|944;1006|939;1011|936;1017|932;1024|927;1030|922;1032|921;1032|921;1032|922;1030|925;1026|930;1019|937;1011|945;1006|949;1001|957;992|966;983|976;978|982;970|991;965|996;960|1001;956|1004;953|1007;949|1010;945|1013;941|1017;937|1020;932|1023;926|1028;923|1030;921|1033;919|1035;920|1037;922|1038;925|1037;929|1032;932|1029;936|1026;941|1023;945|1021;951|1016;959|1012;965|1008;971|1004;976|1000;982|995;985|992;988|989;990|985;994|980;997|975;1001|969;1004|964;1007|959;1011|954;1014|951;1019|945;1023|940;1026|937;1028|935;1029|934;1031|935;1031|935;1029|943;1025|949;1020|957;1010|971;1006|976;1002|981;998|985;991|992;988|996;983|1002;978|1007;973|1011;969|1015;965|1018;962|1021;959|1023;954|1026;950|1029;946|1032;945|1035;947|1036;949|1037;954|1037;956|1034;961|1030;966|1026;968|1023;974|1018;979|1014;985|1010;992|1005;999|998;1005|991;1009|986;1013|981;1016|977;1022|969;1025|965;1028|960;1031|955;1034|951;1039|943;1041|940;1042|938;1043|938;1045|939;1045|939;1045|941;1042|948;1038|953;1032|961;1022|973;1019|976;1010|987;1003|996;1000|1000;997|1005;992|1010;988|1014;973|1029;971|1032;971|1032;971|1032;973|1031;978|1028;984|1025;988|1021;994|1016;1002|1009;1010|1000;1015|996;1024|988;1029|983;1033|980;1036|977;1039|973;1041|969;1043|964;1046|960;1047|956;1049|953;1050|951;1050|951;1045|960;1040|972;1034|981;1029|988;1023|995;1015|1004;1011|1008;1007|1012;1000|1019;997|1023;994|1027;994|1030;995|1031;1002|1028;1006|1024;1010|1019;1018|1009;1022|1004;1028|995;1032|990;1035|985;1038|984;1039|984;1040|984;1040|984;1037|996;1035|1001;1030|1007;1025|1013;1021|1018;1017|1022;1014|1025;1012|1027;1010|1030;1008|1032;1006|1035;1004|1036;1003|1038;1002|1040;999|1045;997|1049;996|1051 '.split( ';' ), Array ); b < d.length; ) { var e = d[b]; ++b; a._Pencil4List.push(e); } b = 0; for (d = a._Pencil4List.length; b < d; ) (e = [b++]), c.runLater( 10 * e[0], (function (b) { return function (d) { d = a._Pencil4; var e = ('' + z.string(a._Pencil4List[b[0]])).split('|')[0], f = null == e ? 0 : 'number' == typeof e ? w.__cast(e, ob) : 'number' == typeof e && (e | 0) === e ? w.__cast(e, nb) : 'boolean' == typeof e ? w.__cast(e, jb) ? 1 : 0 : 'string' == typeof e ? parseFloat(e) : parseFloat(z.string(e)); e = ('' + z.string(a._Pencil4List[b[0]])).split('|')[1]; d.moveTo( f, (null == e ? 0 : 'number' == typeof e ? w.__cast(e, ob) : 'number' == typeof e && (e | 0) === e ? w.__cast(e, nb) : 'boolean' == typeof e ? w.__cast(e, jb) ? 1 : 0 : 'string' == typeof e ? parseFloat(e) : parseFloat(z.string(e))) - a._Pencil4.getHeight(), 0.01, v.linear ); c.drawImageOnImage( a._PinkFillImage.clone(), a._PinkFillImageShow, 0, 0, 10 ); c.clearImageUsingMask( a._PinkFillMaskImage, a._StrokeImage, (a._Pencil4.getScreenX() - (c.getScreenWidth() / 2 - 127) - 6) | 0, (a._Pencil4.getScreenY() + a._Pencil4.getHeight() - (c.getScreenHeight() / 2 - 127) - 6) | 0 ); c.clearImageUsingMask( a._PinkFillImageShow, a._PinkFillMaskImage.clone(), 0, 0 ); }; })(e), null ); c.runLater( 10 * (a._Pencil4List.length - 1), function (a) { c.stopSoundOnChannel(6); }, null ); c.runLater( 10 * a._Pencil4List.length, function (b) { a._Pencil4.moveTo(a._PencilStartX, a._PencilStartY, 0.5, v.quadInOut); c.shoutToScene('_customEvent_dadishgo'); }, null ); }, null ); }, _customEvent_dadishgo: function () { var a = this; c.runLater( 500, function (b) { c.startShakingScreen(0.005, 0.3); c.runLater( 500, function (b) { c.createRecycledActor(c.getActorType(14), 0, 0, 0); c.removeImage(a._GreenFillInstShow); c.removeImage(a._GreenOutlineInstShow); c.removeImage(a._GreyOutlineInstShow); c.removeImage(a._PinkFillinstShow); c.removeImage(a._PinkOutlineInstShow); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(351)); c.createRecycledActor( c.getActorType(1114), c.getScreenXCenter() - 127, c.getScreenYCenter() - 127, 0 ); a._Dude = c.getLastCreatedActor(); c.getLastCreatedActor().moveToBottom(); c.runLater( 100, function (a) { c.createRecycledActorOnLayer( c.getActorType(1116), c.getScreenXCenter() - 8, c.getScreenYCenter() - 8, c.engine.getLayerById(c.getLastCreatedActor().getLayerID()) ); c.getLastCreatedActor().moveBy(-96, -96, 0.3, v.backOut); c.getLastCreatedActor().setAngularVelocity(-1.3962634015954223); c.getLastCreatedActor().setAnimation('Star'); c.createRecycledActorOnLayer( c.getActorType(1116), c.getScreenXCenter() - 8, c.getScreenYCenter() - 8, c.engine.getLayerById(c.getLastCreatedActor().getLayerID()) ); c.getLastCreatedActor().moveBy(96, -96, 0.3, v.backOut); c.getLastCreatedActor().setAngularVelocity(1.3962634015954223); c.getLastCreatedActor().setAnimation('Star'); c.createRecycledActorOnLayer( c.getActorType(1116), c.getScreenXCenter() - 8, c.getScreenYCenter() - 8, c.engine.getLayerById(c.getLastCreatedActor().getLayerID()) ); c.getLastCreatedActor().moveBy(-96, 96, 0.3, v.backOut); c.getLastCreatedActor().setAngularVelocity(-1.3962634015954223); c.getLastCreatedActor().setAnimation('Star'); c.createRecycledActorOnLayer( c.getActorType(1116), c.getScreenXCenter() - 8, c.getScreenYCenter() - 8, c.engine.getLayerById(c.getLastCreatedActor().getLayerID()) ); c.getLastCreatedActor().moveBy(96, 96, 0.3, v.backOut); c.getLastCreatedActor().setAngularVelocity(1.3962634015954223); c.getLastCreatedActor().setAnimation('Star'); }, null ); }, null ); }, null ); }, _customEvent_Skip: function () { if (this._CanSkip) { this._CanSkip = !1; var a = ra.get().scenes.h[4].getID(), b = 0, d = 0, e = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); var f = c.createCircleOut(0.3, (b << 16) | (d << 8) | e); e = d = b = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); c.switchScene(a, f, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)); } }, init: function () { this._DemoPosList = []; c.engine.moveCamera(c.getSceneWidth() / 2, c.getSceneHeight() / 2); c.createRecycledActorOnLayer( c.getActorType(1112), c.getScreenX() + 60, c.getScreenY(), c.engine.getLayerById(0) ); Q.setScale('height', c.getScreenHeight(), c.getLastCreatedActor()); c.createRecycledActor(c.getActorType(1107), -500, -500, 0); this._StrokeImage = c.getImageForActor(c.getLastCreatedActor()); this._PencilStartX = c.getScreenX() + c.getScreenWidth(); this._PencilStartY = c.getScreenY() + c.getScreenHeight() / 2; c.createRecycledActor( c.getActorType(1101), c.getScreenX() + (c.getScreenWidth() / 2 - 127), c.getScreenY() + (c.getScreenHeight() / 2 - 127), 0 ); this._IntroDadishGreyOutline = c.getLastCreatedActor(); this._IntroDadishGreyOutline.set_alpha(0); this._GreyOutlineImage = c.getImageForActor(c.getLastCreatedActor()); this._GreyOutlineMaskImage = this._GreyOutlineImage.clone(); var a = 0, b = 0, d = 0; null == d && (d = 0); null == b && (b = 0); null == a && (a = 0); c.fillImage(this._GreyOutlineMaskImage, (a << 16) | (b << 8) | d); this._GreyOutlineImageShow = this._GreyOutlineImage.clone(); this._GreyOutlineInstShow = new rf(new rc(this._GreyOutlineImageShow)); c.attachImageToLayer( this._GreyOutlineInstShow, c.engine.getLayerById(0), (c.getSceneWidth() / 2 - 127) | 0, (c.getSceneWidth() / 2 - 127) | 0, 1 ); c.clearImageUsingMask( this._GreyOutlineImageShow, this._GreyOutlineMaskImage.clone(), 0, 0 ); c.createRecycledActor( c.getActorType(1105), c.getScreenX() + (c.getScreenWidth() / 2 - 127), c.getScreenY() + (c.getScreenHeight() / 2 - 127), 0 ); this._IntroDadishPinkOutine = c.getLastCreatedActor(); this._IntroDadishPinkOutine.set_alpha(0); this._PinkOutlineImage = c.getImageForActor(c.getLastCreatedActor()); this._PinkOutlineMaskImage = this._PinkOutlineImage.clone(); d = b = a = 0; null == d && (d = 0); null == b && (b = 0); null == a && (a = 0); c.fillImage(this._PinkOutlineMaskImage, (a << 16) | (b << 8) | d); this._PinkOutlineImageShow = this._PinkOutlineImage.clone(); this._PinkOutlineInstShow = new rf(new rc(this._PinkOutlineImageShow)); c.attachImageToLayer( this._PinkOutlineInstShow, c.engine.getLayerById(0), (c.getSceneWidth() / 2 - 127) | 0, (c.getSceneWidth() / 2 - 127) | 0, 1 ); c.clearImageUsingMask( this._PinkOutlineImageShow, this._PinkOutlineMaskImage.clone(), 0, 0 ); c.createRecycledActor( c.getActorType(1099), c.getScreenX() + (c.getScreenWidth() / 2 - 127), c.getScreenY() + (c.getScreenHeight() / 2 - 127), 0 ); this._IntroDadishGreenOutline = c.getLastCreatedActor(); this._IntroDadishGreenOutline.set_alpha(0); this._GreenOutlineImage = c.getImageForActor(c.getLastCreatedActor()); this._GreenOutlineMaskImage = this._GreenOutlineImage.clone(); d = b = a = 0; null == d && (d = 0); null == b && (b = 0); null == a && (a = 0); c.fillImage(this._GreenOutlineMaskImage, (a << 16) | (b << 8) | d); this._GreenOutlineImageShow = this._GreenOutlineImage.clone(); this._GreenOutlineInstShow = new rf(new rc(this._GreenOutlineImageShow)); c.attachImageToLayer( this._GreenOutlineInstShow, c.engine.getLayerById(0), (c.getSceneWidth() / 2 - 127) | 0, (c.getSceneWidth() / 2 - 127) | 0, 1 ); c.clearImageUsingMask( this._GreenOutlineImageShow, this._GreenOutlineMaskImage.clone(), 0, 0 ); c.createRecycledActor( c.getActorType(1097), c.getScreenX() + (c.getScreenWidth() / 2 - 127), c.getScreenY() + (c.getScreenHeight() / 2 - 127), 0 ); this._IntroDadishGreenFill = c.getLastCreatedActor(); c.getLastCreatedActor().set_alpha(0); this._GreenFillImage = c.getImageForActor(c.getLastCreatedActor()); this._GreenFillMaskImage = this._GreenFillImage.clone(); d = b = a = 0; null == d && (d = 0); null == b && (b = 0); null == a && (a = 0); c.fillImage(this._GreenFillMaskImage, (a << 16) | (b << 8) | d); this._GreenFillImageShow = this._GreenFillImage.clone(); this._GreenFillInstShow = new rf(new rc(this._GreenFillImageShow)); c.attachImageToLayer( this._GreenFillInstShow, c.engine.getLayerById(0), (c.getSceneWidth() / 2 - 127) | 0, (c.getSceneWidth() / 2 - 127) | 0, 2 ); c.clearImageUsingMask(this._GreenFillImageShow, this._GreenFillMaskImage.clone(), 0, 0); c.createRecycledActor( c.getActorType(1103), c.getScreenX() + (c.getScreenWidth() / 2 - 127), c.getScreenY() + (c.getScreenHeight() / 2 - 127), 0 ); this._IntroDadishPinkFIll = c.getLastCreatedActor(); c.getLastCreatedActor().set_alpha(0); this._PinkFillImage = c.getImageForActor(c.getLastCreatedActor()); this._PinkFillMaskImage = this._PinkFillImage.clone(); d = b = a = 0; null == d && (d = 0); null == b && (b = 0); null == a && (a = 0); c.fillImage(this._PinkFillMaskImage, (a << 16) | (b << 8) | d); this._PinkFillImageShow = this._PinkFillImage.clone(); this._PinkFillinstShow = new rf(new rc(this._PinkFillImageShow)); c.attachImageToLayer( this._PinkFillinstShow, c.engine.getLayerById(0), (c.getSceneWidth() / 2 - 127) | 0, (c.getSceneWidth() / 2 - 127) | 0, 2 ); c.clearImageUsingMask(this._PinkFillImageShow, this._PinkFillMaskImage.clone(), 0, 0); c.shoutToScene('_customEvent_pencil0go'); this.addListener( c.engine.whenKeyPressedEvents.getOrCreateEvent('action1'), m(this, this._event_Keyboard) ); this.addListener(c.engine.whenMTStarted, m(this, this._event_MultiTouch)); c.runLater(1e3, m(this, this._event_AfterNsecs), null); this.addListener(c.engine.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: jx }); var kx = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h.Up = '_Up'; this._Up = !1; this.nameMap.h['Hover Distance'] = '_HoverDistance'; this._HoverDistance = 0; }; k['scripts.Design_66_66_HoverMovement'] = kx; kx.__name__ = 'scripts.Design_66_66_HoverMovement'; kx.__super__ = n; kx.prototype = t(n.prototype, { _Up: null, _HoverDistance: null, _customEvent_Move: function () { var a = this; this._Up ? (this.actor.moveBy(0, -this._HoverDistance, 0.4, v.quadInOut), (this._Up = !1), c.runLater( 500, function (b) { a.actor.shout('_customEvent_Move'); }, this.actor )) : (this.actor.moveBy(0, this._HoverDistance, 0.4, v.quadInOut), (this._Up = !0), c.runLater( 500, function (b) { a.actor.shout('_customEvent_Move'); }, this.actor )); }, init: function () { this.actor.shout('_customEvent_Move'); }, forwardMessage: function (a) {}, __class__: kx }); var lx = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Face Left'] = '_FaceLeft'; this._FaceLeft = !1; this.nameMap.h.Speed = '_Speed'; this._Speed = 8; this.nameMap.h.Dude = '_Dude'; this.nameMap.h['Has Charged'] = '_HasCharged'; this._HasCharged = !1; this.nameMap.h.Charging = '_Charging'; this._Charging = !1; this.nameMap.h['Charge Speed'] = '_ChargeSpeed'; this._ChargeSpeed = 0; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h.Bounce = '_Bounce'; this._Bounce = !1; this.nameMap.h['X Distance'] = '_XDistance'; this._XDistance = 0; this.nameMap.h.Stunned = '_Stunned'; this._Stunned = !1; this.nameMap.h['Snooze Z List'] = '_SnoozeZList'; this.nameMap.h.Exclamation = '_Exclamation'; this.nameMap.h.Snore = '_Snore'; this._Snore = !1; this.nameMap.h['Distance X'] = '_DistanceX'; this._DistanceX = 0; this.nameMap.h['Distance Y'] = '_DistanceY'; this._DistanceY = 0; this.nameMap.h.Distance = '_Distance'; this._Distance = 0; this.nameMap.h.Detonate = '_Detonate'; this._Detonate = !1; this.nameMap.h['Debris Speed'] = '_DebrisSpeed'; this._DebrisSpeed = 0; this.nameMap.h.Spring = '_Spring'; this.nameMap.h.Wander = '_Wander'; this._Wander = !1; this.nameMap.h['Start Awake'] = '_StartAwake'; this._StartAwake = !1; this.nameMap.h['Going Left'] = '_GoingLeft'; this._GoingLeft = !1; this.nameMap.h['Slow Down'] = '_SlowDown'; this._SlowDown = !1; this.nameMap.h['Bounce Count'] = '_BounceCount'; this._BounceCount = 0; this.nameMap.h.Dead = '_Dead'; this._Dead = !1; this.nameMap.h['Give Up'] = '_GiveUp'; this._GiveUp = 0; this.nameMap.h.Flash = '_Flash'; this._Flash = !1; this.nameMap.h['Flash On'] = '_FlashOn'; this._FlashOn = !1; this.nameMap.h['Can Give Up'] = '_CanGiveUp'; this._CanGiveUp = !1; this.nameMap.h.Wait = '_Wait'; this._Wait = !1; this.nameMap.h['Quicksand Check'] = '_QuicksandCheck'; this._QuicksandCheck = !1; this.nameMap.h['Quicksand Y'] = '_QuicksandY'; this._QuicksandY = 0; this.nameMap.h['Quicksand Immune'] = '_QuicksandImmune'; this._QuicksandImmune = !1; this.nameMap.h['In Quicksand'] = '_InQuicksand'; this._InQuicksand = !1; this.nameMap.h['Can Double Jump'] = '_CanDoubleJump'; this._CanDoubleJump = !1; this.nameMap.h.Sink = '_Sink'; this._Sink = !1; }; k['scripts.Design_68_68_ChargingMovement'] = lx; lx.__name__ = 'scripts.Design_68_68_ChargingMovement'; lx.__super__ = n; lx.prototype = t(n.prototype, { _FaceLeft: null, _Speed: null, _Dude: null, _HasCharged: null, _Charging: null, _ChargeSpeed: null, _GravitySpeed: null, _Bounce: null, _XDistance: null, _Stunned: null, _SnoozeZList: null, _Exclamation: null, _Snore: null, _DistanceX: null, _DistanceY: null, _Distance: null, _Detonate: null, _DebrisSpeed: null, _Spring: null, _Wander: null, _StartAwake: null, _GoingLeft: null, _SlowDown: null, _BounceCount: null, _Dead: null, _GiveUp: null, _Flash: null, _FlashOn: null, _CanGiveUp: null, _Wait: null, _QuicksandCheck: null, _QuicksandY: null, _QuicksandImmune: null, _InQuicksand: null, _CanDoubleJump: null, _Sink: null, _event_EveryNsecs: function (a) { var b = this; if (this.wrapper.enabled && this.actor.isOnScreen()) if ( ('Idle Left' == this.actor.getAnimation() || 'Left' == this.actor.getAnimation() || 'Left Wander' == this.actor.getAnimation() || 'Sleep' == this.actor.getAnimation() ? (this._GoingLeft = !0) : (this._GoingLeft = !1), (a = this._Dude), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) ) (this._XDistance = Math.max(this.actor.getXCenter(), this._Dude.getXCenter()) - Math.min(this.actor.getXCenter(), this._Dude.getXCenter())), this._Dude.getYCenter() > this.actor.getY() - 64 && this._Dude.getYCenter() < this.actor.getY() + (this.actor.getHeight() + 64) && 200 > this._XDistance && !this._Charging && (this._Dude.getX() > this.actor.getX() ? ((this._Charging = !0), (this._Wait = this._Wander = !1), c.createRecycledActor( c.getActorType(131), this.actor.getXCenter() - 14, this.actor.getY() - 28, 0 ), (this._Exclamation = c.getLastCreatedActor()), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(781)), this.actor.setXVelocity(0), this.actor.setYVelocity(-20), this.actor.setAnimation('Idle Right'), c.runLater( 300, function (a) { b.actor.setAnimation('Right'); }, this.actor ), c.runLater( 500, function (a) { c.recycleActor(b._Exclamation); }, this.actor )) : ((this._Charging = !0), (this._Wait = this._Wander = !1), c.createRecycledActor( c.getActorType(131), this.actor.getXCenter() - 14, this.actor.getY() - 28, 0 ), c.getLastCreatedActor().setAnimation('Right'), (this._Exclamation = c.getLastCreatedActor()), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(781)), this.actor.setXVelocity(0), this.actor.setYVelocity(-20), this.actor.setAnimation('Idle Left'), c.runLater( 300, function (a) { b.actor.setAnimation('Left'); }, this.actor ), c.runLater( 500, function (a) { c.recycleActor(b._Exclamation); }, this.actor ))); else { a = 0; for (var d = c.getActorsOfType(c.getActorType(2)); a < d.length; ) { var e = d[a]; ++a; null == e || e.dead || e.recycled || (this._Dude = e); } } }, _event_HitsHazard: function (a) { if (this.wrapper.enabled) { var b = c.getActorGroup(4); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && a.otherActor.getType() != this.actor.getType() && (a.otherActor.getType() == c.getActorType(810) || this._InQuicksand ? (!h.engine.getGameAttribute('Sound Disabled') && this.actor.isOnScreen() && c.playSound(c.getSound(378)), c.recycleActor(this.actor)) : this._Dead || ((this._Dead = !0), this.actor.bringToFront(), this.actor.setXVelocity(-this.actor.getXVelocity()), (this._Flash = !0), this.actor.setYVelocity(-50), !h.engine.getGameAttribute('Sound Disabled') && this.actor.isOnScreen() && c.playSound(c.getSound(378)), 0 > this.actor.getXVelocity() ? this.actor.setAnimation('Dead Left') : this.actor.setAnimation('Dead Right'))); }, _event_EntersScreen: function (a, b, d, e) { this.wrapper.enabled && b && this._Dead && c.recycleActor(this.actor); }, _event_ChangeDirection: function (a) { var b = this; this.wrapper.enabled && !this._Dead && (this._Charging ? ((a = this._Dude), (a = c.isPrimitive(a) ? !0 : 'string' == typeof a ? '' != w.__cast(a, String) : null != a)) : (a = !1), a) && (((this._XDistance = Math.max(this.actor.getXCenter(), this._Dude.getXCenter()) - Math.min(this.actor.getXCenter(), this._Dude.getXCenter())), !this._CanGiveUp || (this._Dude.getYCenter() > this.actor.getY() - 120 && this._Dude.getYCenter() < this.actor.getY() + (this.actor.getHeight() + 120) && 300 > this._XDistance)) ? this._GoingLeft && this._Dude.getX() > this.actor.getX() ? ((this._FaceLeft = this._GoingLeft = !1), 5 < Math.abs(this.actor.getXVelocity()) && (c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Dirt'), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.quadOut), !h.engine.getGameAttribute('Sound Disabled') && this.actor.isOnScreen() && c.playSound(c.getSound(780))), (this._SlowDown = !0), this.actor.setAnimation('Idle Right'), c.runLater( 700, function (a) { b._SlowDown = !1; b.actor.setAnimation('Right'); }, this.actor )) : !this._GoingLeft && this._Dude.getX() < this.actor.getX() && ((this._FaceLeft = this._GoingLeft = !0), 5 < Math.abs(this.actor.getXVelocity()) && (c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().setAnimation('Dirt'), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.quadOut), !h.engine.getGameAttribute('Sound Disabled') && this.actor.isOnScreen() && c.playSound(c.getSound(780))), (this._SlowDown = !0), this.actor.setAnimation('Idle Left'), c.runLater( 700, function (a) { b._SlowDown = !1; b.actor.setAnimation('Left'); }, this.actor )) : 5 <= this._GiveUp ? ((this._Charging = !1), (this._Wander = !0), this.actor.setXVelocity(0), (this._GiveUp = 0)) : (this._GiveUp += 1)); }, _event_Hearts: function (a) { this.wrapper.enabled && (this._Dead || (this._Charging && c.createRecycledActor( c.getActorType(764), this.actor.getX() + c.randomInt((this.actor.getWidth() - 10) | 0, 0), this.actor.getY(), 0 ))); }, _event_Updating: function (a) { this.wrapper.enabled && (this._InQuicksand ? this.actor.setYVelocity(3) : 'Space' == h.engine.getGameAttribute('Stage Type') ? this.actor.setYVelocity( Math.min(this.actor.getYVelocity() + 0.9, this._GravitySpeed / 2) ) : this.actor.setYVelocity( Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed) ), this._SlowDown && (0 < this.actor.getXVelocity() ? this.actor.setXVelocity(Math.max(this.actor.getXVelocity() - 0.4, 0)) : 0 > this.actor.getXVelocity() && this.actor.setXVelocity(Math.min(this.actor.getXVelocity() + 0.4, 0)))); }, _event_HitsWalls: function (a) { var b = this; if (this.wrapper.enabled) { var d = c.getActorGroup(1); var e = a.otherActor.getType(), f = a.otherActor.getGroup(); d = d == e || d == f; } else d = !1; if (d && !this._Dead && !this._InQuicksand && !this._Wander) { if (this._Charging) if (a.thisFromLeft) { this.actor.isOnScreen() && c.startShakingScreen(0.005, 0.1); this.actor.setYVelocity(-30); this.actor.setXVelocity(14); this._Stunned = this._Bounce = !0; this.actor.setAnimation('Idle Left'); c.createRecycledActor( c.getActorType(94), this.actor.getX() - 8, this.actor.getYCenter() - 8, 0 ); !h.engine.getGameAttribute('Sound Disabled') && this.actor.isOnScreen() && c.playSound(c.getSound(117)); if (this.actor.isOnScreen()) for (d = 0, e = c.getActorsOfType(c.getActorType(2)); d < e.length; ) (f = e[d]), ++d, null == f || f.dead || f.recycled || (this.actor.getXCenter() > f.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); c.runLater( 200, function (a) { b._Stunned = !1; b.actor.setAnimation('Left'); 3 < b._BounceCount && 1 == c.randomInt(1, 2) && ((b._BounceCount = 0), b.actor.setXVelocity(-20), b.actor.setYVelocity(-50), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(109))); }, this.actor ); } else if (a.thisFromRight) { this.actor.isOnScreen() && c.startShakingScreen(0.005, 0.1); this.actor.setYVelocity(-30); this.actor.setXVelocity(-14); this._Stunned = this._Bounce = !0; this.actor.setAnimation('Idle Right'); c.createRecycledActor( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 8, this.actor.getYCenter() - 8, 0 ); !h.engine.getGameAttribute('Sound Disabled') && this.actor.isOnScreen() && c.playSound(c.getSound(117)); if (this.actor.isOnScreen()) for (d = 0, e = c.getActorsOfType(c.getActorType(2)); d < e.length; ) (f = e[d]), ++d, null == f || f.dead || f.recycled || (this.actor.getXCenter() > f.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); c.runLater( 200, function (a) { b._Stunned = !1; b.actor.setAnimation('Right'); 3 < b._BounceCount && 1 == c.randomInt(1, 2) && ((b._BounceCount = 0), b.actor.setXVelocity(20), b.actor.setYVelocity(-50), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(109))); }, this.actor ); } a.thisFromBottom && this._Bounce && -5 < this.actor.getYVelocity() && ((this._Bounce = !1), this.actor.setXVelocity(0)); } }, _event_Updating2: function (a) { this.wrapper.enabled && (this._Dead && this.actor.getY() > c.getScreenY() + c.getScreenHeight() && c.recycleActor(this.actor), this._Dead || (this._QuicksandCheck ? this._InQuicksand || ((this._InQuicksand = !0), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this._QuicksandY - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() - 8, this._QuicksandY - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt'), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 8, this._QuicksandY - 8, c.engine.getLayerById(this.actor.getLayerID()) ), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut), c.getLastCreatedActor().setAnimation('Dirt'), this.actor.setYVelocity(0), this.actor.setXVelocity(0), (this._ChargeSpeed = 4)) : this._InQuicksand && ((this._InQuicksand = !1), (this._CanDoubleJump = !0)), (this._QuicksandCheck = !1), this._Wander && !this._Wait && (0 > this.actor.getXVelocity() && 'Left Wander' != this.actor.getAnimation() ? this.actor.setAnimation('Left Wander') : 0 < this.actor.getXVelocity() && 'Right Wander' != this.actor.getAnimation() && this.actor.setAnimation('Right Wander'), this._FaceLeft && (!c.tileExistsAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 34)) / 32 + 1), Math.floor(this.actor.getX() / 32), c.engine.getLayerById(0) ) || (c.tileExistsAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 34)) / 32), Math.floor(this.actor.getX() / 32), c.engine.getLayerById(0) ) && (7 < c.getTileIDAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 34)) / 32), Math.floor(this.actor.getX() / 32), c.engine.getLayerById(0) ) || 67 == c.getTileIDAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 34)) / 32), Math.floor(this.actor.getX() / 32), c.engine.getLayerById(0) ) || 66 == c.getTileIDAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 34)) / 32), Math.floor(this.actor.getX() / 32), c.engine.getLayerById(0) )))) ? ((this._FaceLeft = !1), this.actor.setAnimation('Right Wander')) : !this._FaceLeft && (!c.tileExistsAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 34)) / 32 + 1), Math.ceil(this.actor.getX() / 32), c.engine.getLayerById(0) ) || (c.tileExistsAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 34)) / 32), Math.ceil(this.actor.getX() / 32), c.engine.getLayerById(0) ) && (7 < c.getTileIDAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 34)) / 32), Math.ceil(this.actor.getX() / 32), c.engine.getLayerById(0) ) || 67 == c.getTileIDAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 34)) / 32), Math.ceil(this.actor.getX() / 32), c.engine.getLayerById(0) ) || 66 == c.getTileIDAt( Math.round((this.actor.getY() + (this.actor.getHeight() - 34)) / 32), Math.ceil(this.actor.getX() / 32), c.engine.getLayerById(0) )))) && ((this._FaceLeft = !0), this.actor.setAnimation('Left Wander')), this._FaceLeft ? this.actor.setXVelocity(-this._Speed) : this.actor.setXVelocity(this._Speed)), !this._Charging || this._Stunned || this._SlowDown || ('Left' != this.actor.getAnimation() && 'Right' != this.actor.getAnimation()) || ('Left' == this.actor.getAnimation() ? this.actor.setXVelocity( Math.max(this.actor.getXVelocity() - 0.6, -this._ChargeSpeed) ) : 'Right' == this.actor.getAnimation() && this.actor.setXVelocity( Math.min(this.actor.getXVelocity() + 0.6, this._ChargeSpeed) )))); }, _event_Flash: function (a) { this.wrapper.enabled && this._Flash && (this._FlashOn ? ((this._FlashOn = !1), this.actor.enableActorDrawing()) : ((this._FlashOn = !0), this.actor.disableActorDrawing())); }, _event_HitsQuicksand: function (a) { if (this.wrapper.enabled) { var b = c.getActorType(810); var d = a.otherActor.getType(), e = a.otherActor.getGroup(); b = b == d || b == e; } else b = !1; b && ((this._QuicksandCheck = !0), (this._QuicksandY = a.otherActor.getY())); }, init: function () { this._Speed = 4; this.actor.makeAlwaysSimulate(); this._ChargeSpeed = 18; this._GravitySpeed = 48; this._SnoozeZList = []; this._Wait ? this.actor.setAnimation('Idle Left') : ((this._Wander = !0), this.actor.setAnimation('Left Wander')); c.runPeriodically(100, m(this, this._event_EveryNsecs), this.actor); this.addListener(this.actor.whenCollided, m(this, this._event_HitsHazard)); this.addListener(this.actor.whenPositionStateChanged, m(this, this._event_EntersScreen)); c.runPeriodically(400, m(this, this._event_ChangeDirection), this.actor); c.runPeriodically(300, m(this, this._event_Hearts), this.actor); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener(this.actor.whenCollided, m(this, this._event_HitsWalls)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating2)); c.runPeriodically(50, m(this, this._event_Flash), this.actor); this.addListener(this.actor.whenCollided, m(this, this._event_HitsQuicksand)); }, forwardMessage: function (a) {}, __class__: lx }); var mx = function (a, b) { c.call(this); this.nameMap.h['INITIAL SCREEN WIDTH'] = '_INITIALSCREENWIDTH'; this._INITIALSCREENWIDTH = 0; this.nameMap.h['INITIAL SCREEN HEIGHT'] = '_INITIALSCREENHEIGHT'; this._INITIALSCREENHEIGHT = 0; this.nameMap.h['CURRENT RES X'] = '_CURRENTRESX'; this._CURRENTRESX = 0; this.nameMap.h['CURRENT RES Y'] = '_CURRENTRESY'; this._CURRENTRESY = 0; this.nameMap.h.Fucko = '_Fucko'; this._Fucko = ''; this.nameMap.h.DELETEME = '_DELETEME'; this._DELETEME = 'FART'; this.nameMap.h['Button Input'] = '_ButtonInput'; this._ButtonInput = ''; this.nameMap.h['Can Start'] = '_CanStart'; this._CanStart = !1; this.nameMap.h['Has Entered'] = '_HasEntered'; this._HasEntered = !1; this.nameMap.h['Entrance Tween'] = '_EntranceTween'; this._EntranceTween = !1; this.nameMap.h['First Touch'] = '_FirstTouch'; this._FirstTouch = !1; this.nameMap.h['Left Touch Is Down'] = '_LeftTouchIsDown'; this._LeftTouchIsDown = !1; this.nameMap.h['Right Touch Is Down'] = '_RightTouchIsDown'; this._RightTouchIsDown = !1; this.nameMap.h['Jump Speed'] = '_JumpSpeed'; this._JumpSpeed = 0; this.nameMap.h['Jump Amnesty'] = '_JumpAmnesty'; this._JumpAmnesty = 0; this.nameMap.h['Jump Hang'] = '_JumpHang'; this._JumpHang = 0; this.nameMap.h.Jumping = '_Jumping'; this._Jumping = !1; this.nameMap.h['On Platform'] = '_OnPlatform'; this._OnPlatform = !1; this.nameMap.h['Jump Touch Timer'] = '_JumpTouchTimer'; this._JumpTouchTimer = 0; this.nameMap.h['On Ground'] = '_OnGround'; this._OnGround = !1; this.nameMap.h['Can Double Jump'] = '_CanDoubleJump'; this._CanDoubleJump = !1; this.nameMap.h['Sensor On Ground'] = '_SensorOnGround'; this._SensorOnGround = !1; this.nameMap.h.Dead = '_Dead'; this._Dead = !1; this.nameMap.h.Exiting = '_Exiting'; this._Exiting = !1; this.nameMap.h.Springing = '_Springing'; this._Springing = !1; this.nameMap.h['TARGET RES X'] = '_TARGETRESX'; this._TARGETRESX = 0; this.nameMap.h['TARGET RES Y'] = '_TARGETRESY'; this._TARGETRESY = 0; this.nameMap.h['Has Started'] = '_HasStarted'; this._HasStarted = !1; }; k['scripts.Design_692_692_NSwitchSizeAdjust'] = mx; mx.__name__ = 'scripts.Design_692_692_NSwitchSizeAdjust'; mx.__super__ = fa; mx.prototype = t(fa.prototype, { _INITIALSCREENWIDTH: null, _INITIALSCREENHEIGHT: null, _CURRENTRESX: null, _CURRENTRESY: null, _Fucko: null, _DELETEME: null, _ButtonInput: null, _CanStart: null, _HasEntered: null, _EntranceTween: null, _FirstTouch: null, _LeftTouchIsDown: null, _RightTouchIsDown: null, _JumpSpeed: null, _JumpAmnesty: null, _JumpHang: null, _Jumping: null, _OnPlatform: null, _JumpTouchTimer: null, _OnGround: null, _CanDoubleJump: null, _SensorOnGround: null, _Dead: null, _Exiting: null, _Springing: null, _TARGETRESX: null, _TARGETRESY: null, _HasStarted: null, _event_KeyboardPressedCopy: function (a) { !this.wrapper.enabled || h.engine.getGameAttribute('CONTROLLER TIME') || h.engine.getGameAttribute('MOBILE MODE') || (this._Dead || this._Exiting || !c.isKeyDown('right') ? (h.engine.gameAttributes.h['Right Button Down'] = !1) : ((h.engine.gameAttributes.h['Right Button Down'] = !0), (h.engine.gameAttributes.h['Left Button Down'] = !1)), this._Dead || this._Exiting || !c.isKeyDown('left') ? (h.engine.gameAttributes.h['Left Button Down'] = !1) : ((h.engine.gameAttributes.h['Left Button Down'] = !0), (h.engine.gameAttributes.h['Right Button Down'] = !1))); }, init: function () { this.addListener(c.engine.whenUpdated, m(this, this._event_KeyboardPressedCopy)); }, forwardMessage: function (a) {}, __class__: mx }); var nx = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Can Press Buttons'] = '_CanPressButtons'; this._CanPressButtons = !1; this.nameMap.h['List Selected'] = '_ListSelected'; this._ListSelected = 0; this.nameMap.h['List Buttons'] = '_ListButtons'; this.nameMap.h['Home Button'] = '_HomeButton'; this.nameMap.h['Restart Button'] = '_RestartButton'; this.nameMap.h['Resume Button'] = '_ResumeButton'; this.nameMap.h['Vibe Button'] = '_VibeButton'; this.nameMap.h['Sound Button'] = '_SoundButton'; this.nameMap.h['Music Button'] = '_MusicButton'; this.nameMap.h['In Position'] = '_InPosition'; this._InPosition = !1; this.nameMap.h['Button Pressed'] = '_ButtonPressed'; this._ButtonPressed = !1; this.nameMap.h['Press Timer'] = '_PressTimer'; this._PressTimer = 0; this.nameMap.h['Ads Button'] = '_AdsButton'; this.nameMap.h['Button Input'] = '_ButtonInput'; this._ButtonInput = ''; this.nameMap.h['Left Is Down'] = '_LeftIsDown'; this._LeftIsDown = !1; this.nameMap.h['Right Is Down'] = '_RightIsDown'; this._RightIsDown = !1; this.nameMap.h['Up Is Down'] = '_UpIsDown'; this._UpIsDown = !1; this.nameMap.h['Down is Down'] = '_DownisDown'; this._DownisDown = !1; this.nameMap.h['Button Is Down'] = '_ButtonIsDown'; this._ButtonIsDown = !1; this.nameMap.h.Cursor = '_Cursor'; this.nameMap.h['Controls Button'] = '_ControlsButton'; this.nameMap.h.Moving = '_Moving'; this._Moving = !1; this.nameMap.h['Can Move Left'] = '_CanMoveLeft'; this._CanMoveLeft = !1; this.nameMap.h['Can Move Right'] = '_CanMoveRight'; this._CanMoveRight = !1; this.nameMap.h['Can Move Up'] = '_CanMoveUp'; this._CanMoveUp = !1; this.nameMap.h['Can Move Down'] = '_CanMoveDown'; this._CanMoveDown = !1; this.nameMap.h['Moving 2'] = '_Moving2'; this._Moving2 = !1; }; k['scripts.Design_693_693_PauseMenuLogic'] = nx; nx.__name__ = 'scripts.Design_693_693_PauseMenuLogic'; nx.__super__ = n; nx.prototype = t(n.prototype, { _CanPressButtons: null, _ListSelected: null, _ListButtons: null, _HomeButton: null, _RestartButton: null, _ResumeButton: null, _VibeButton: null, _SoundButton: null, _MusicButton: null, _InPosition: null, _ButtonPressed: null, _PressTimer: null, _AdsButton: null, _ButtonInput: null, _LeftIsDown: null, _RightIsDown: null, _UpIsDown: null, _DownisDown: null, _ButtonIsDown: null, _Cursor: null, _ControlsButton: null, _Moving: null, _CanMoveLeft: null, _CanMoveRight: null, _CanMoveUp: null, _CanMoveDown: null, _Moving2: null, _event_Updating: function (a) { if (this.wrapper.enabled) { a = this._CanPressButtons; if (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) this._HomeButton.setX(this.actor.getXCenter() - 121), this._HomeButton.setY(this.actor.getY()); a = this._ListSelected; if (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) this._RestartButton.setX(this.actor.getXCenter() - 37), this._RestartButton.setY(this.actor.getY()); a = this._ListButtons; if (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) this._ResumeButton.setX(this.actor.getXCenter() + 47), this._ResumeButton.setY(this.actor.getY()); a = this._RestartButton; if (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) this._SoundButton.setX(this.actor.getXCenter() - 56), this._SoundButton.setY(this.actor.getY() + 74); a = this._ResumeButton; if (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) this._MusicButton.setX(this.actor.getXCenter() + 6), this._MusicButton.setY(this.actor.getY() + 74); } }, _event_Mouse: function (a) { var b = this; if (this.wrapper.enabled && !this._ButtonPressed && this._CanPressButtons) { a = this._HomeButton; if ( (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._HomeButton.isMousePressed() ) { this._ListSelected = 0; this.actor.shout('_customEvent_updateSelected'); this._ButtonPressed = !0; this._HomeButton.setAnimation('Down'); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)); a = 0; for (var d = c.getActorsOfType(c.getActorType(435)); a < d.length; ) { var e = d[a]; ++a; null == e || e.dead || e.recycled || e.moveBy(0, -80, 0.2, v.quadInOut); } c.runLater( 200, function (a) { c.setValueForScene('Transitions', '_TransitionType', 2); c.sayToScene('Transitions', '_customEvent_transitionOut'); }, this.actor ); c.runLater( 2e3, function (a) { h.engine.gameAttributes.h['Left Button Down'] = !1; h.engine.gameAttributes.h['Boss 5 Dialog Read'] = !1; if (41 <= h.engine.getGameAttribute('Last Played Level')) { a = ra.get().scenes.h[136].getID(); var b = 0, d = 0, e = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); var f = c.createFadeOut(0.1, (b << 16) | (d << 8) | e); e = d = b = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); c.switchScene(a, f, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)); h.engine.gameAttributes.h['Start Overworld Music'] = !0; } 31 <= h.engine.getGameAttribute('Last Played Level') ? ((a = ra.get().scenes.h[135].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (f = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, f, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)), (h.engine.gameAttributes.h['Start Overworld Music'] = !0)) : 21 <= h.engine.getGameAttribute('Last Played Level') ? ((a = ra.get().scenes.h[134].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (f = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, f, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)), (h.engine.gameAttributes.h['Start Overworld Music'] = !0)) : 11 <= h.engine.getGameAttribute('Last Played Level') ? ((a = ra.get().scenes.h[133].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (f = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, f, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)), (h.engine.gameAttributes.h['Start Overworld Music'] = !0)) : 1 >= h.engine.getGameAttribute('Last Played Level') ? ((a = ra.get().scenes.h[4].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (f = c.createFadeOut(0.3, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, f, c.createFadeIn(0.3, (b << 16) | (d << 8) | e))) : ((a = ra.get().scenes.h[5].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (f = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, f, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)), (h.engine.gameAttributes.h['Start Overworld Music'] = !0)); }, this.actor ); } a = this._RestartButton; if ( (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._RestartButton.isMousePressed() ) { this._ListSelected = 1; this.actor.shout('_customEvent_updateSelected'); h.engine.getGameAttribute('Timer Mode') && (c.sayToScene('Stage Logic', '_customEvent_timerHide'), c.setValueForScene('Stage Logic', '_ShowTimer', !1)); this._ButtonPressed = !0; this._RestartButton.setAnimation('Down'); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)); a = 0; for (d = c.getActorsOfType(c.getActorType(435)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.moveBy(0, -80, 0.2, v.quadInOut); c.runLater( 200, function (a) { c.setValueForScene('Transitions', '_TransitionType', 2); c.sayToScene('Transitions', '_customEvent_transitionOut'); }, this.actor ); c.runLater( 2e3, function (a) { var b = (a = 0), d = 0; null == d && (d = 0); null == b && (b = 0); null == a && (a = 0); var e = c.createFadeOut(0.3, (a << 16) | (b << 8) | d); d = b = a = 0; null == d && (d = 0); null == b && (b = 0); null == a && (a = 0); c.reloadCurrentScene(e, c.createFadeIn(0.3, (a << 16) | (b << 8) | d)); }, this.actor ); } a = this._ResumeButton; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._ResumeButton.isMousePressed() && ((this._ListSelected = 2), this.actor.shout('_customEvent_updateSelected'), (this._ButtonPressed = !0), this._ResumeButton.setAnimation('Down'), this.actor.shout('_customEvent_close')); a = this._SoundButton; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._SoundButton.isMousePressed() && ((this._ListSelected = 3), this.actor.shout('_customEvent_updateSelected'), (this._ButtonPressed = !0), this._SoundButton.setAnimation('Down'), h.engine.getGameAttribute('Sound Disabled') ? ((h.engine.gameAttributes.h['Sound Disabled'] = !1), c.setVolumeForChannel(1, 15), c.setVolumeForChannel(1, 10)) : h.engine.getGameAttribute('Sound Disabled') || ((h.engine.gameAttributes.h['Sound Disabled'] = !0), c.setVolumeForChannel(0, 15), c.setVolumeForChannel(0, 10)), c.saveGame('mySave', function (a) {}), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)), c.runLater( 200, function (a) { b._ButtonPressed = !1; h.engine.getGameAttribute('Sound Disabled') ? b._SoundButton.setAnimation('Off') : b._SoundButton.setAnimation('On'); }, this.actor )); a = this._MusicButton; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._MusicButton.isMousePressed() && ((this._ListSelected = 4), this.actor.shout('_customEvent_updateSelected'), (this._ButtonPressed = !0), this._MusicButton.setAnimation('Down'), h.engine.getGameAttribute('Music Disabled') ? ((h.engine.gameAttributes.h['Music Disabled'] = !1), c.setVolumeForChannel(1, 16)) : h.engine.getGameAttribute('Music Disabled') || ((h.engine.gameAttributes.h['Music Disabled'] = !0), c.setVolumeForChannel(0, 16)), c.saveGame('mySave', function (a) {}), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)), c.runLater( 200, function (a) { b._ButtonPressed = !1; h.engine.getGameAttribute('Music Disabled') ? b._MusicButton.setAnimation('Off') : b._MusicButton.setAnimation('On'); }, this.actor )); } }, _event_EveryNsecs: function (a) { this.wrapper.enabled && (this._UpIsDown || this._DownisDown || this._LeftIsDown || this._RightIsDown ? 4 <= this._PressTimer ? ((this._PressTimer = 0), this.actor.shout('_customEvent_Move')) : (this._PressTimer += 1) : (this._PressTimer = 0)); }, _event_Drawing: function (a, b, d) { if (this.wrapper.enabled) { if ('JP' == h.engine.getGameAttribute('Language')) { b = c.getFont(588); null != b && b != a.font && (a.font = b); b = this.actor.getWidth() / 2 - a.font.getTextWidth('~x4e00~x6642~x505c~x6b62') / h.SCALE / 2; null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)); a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + b * a.scaleX), (d = a.y + -34 * a.scaleY)) : ((b = a.x + b * a.scaleX - h.cameraX), (d = a.y + -34 * a.scaleY - h.cameraY)) : ((b = a.x + b * a.scaleX), (d = a.y + -34 * a.scaleY)); a.mtx.identity(); a.mtx.translate(b, d); var e = null, f = a.font; f = '~x4e00~x6642~x505c~x6b62:' + f.ID + ':' + a.alpha + ':' + f.letterSpacing + ':' + h.SCALE; if (Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, f)) { var g = ha.drawnStringCache.h[f]; g.lifetime = 5; e = g.img; } else { g = a.font.font.getTextWidth( '~x4e00~x6642~x505c~x6b62', a.font.letterSpacing, a.font.fontScale ); var l = (a.font.font.getFontHeight() * a.font.fontScale) | 0; 0 < g && 0 < l && ((e = new la(g, l, !0, 0)), a.font.font.renderToImg( e, '~x4e00~x6642~x505c~x6b62', 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (g = new sc()), (g.img = e), (g.lifetime = 5), (ha.drawnStringCache.h[f] = g), ha.drawnStringCacheKeys.push(f)); } } else 'CN' == h.engine.getGameAttribute('Language') ? ((b = c.getFont(592)), null != b && b != a.font && (a.font = b), (b = this.actor.getWidth() / 2 - a.font.getTextWidth('~x5df2~x6682~x505c') / h.SCALE / 2), null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)), a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + b * a.scaleX), (d = a.y + -34 * a.scaleY)) : ((b = a.x + b * a.scaleX - h.cameraX), (d = a.y + -34 * a.scaleY - h.cameraY)) : ((b = a.x + b * a.scaleX), (d = a.y + -34 * a.scaleY)), a.mtx.identity(), a.mtx.translate(b, d), (e = null), (f = a.font), (f = '~x5df2~x6682~x505c:' + f.ID + ':' + a.alpha + ':' + f.letterSpacing + ':' + h.SCALE), Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, f) ? ((g = ha.drawnStringCache.h[f]), (g.lifetime = 5), (e = g.img)) : ((g = a.font.font.getTextWidth( '~x5df2~x6682~x505c', a.font.letterSpacing, a.font.fontScale )), (l = (a.font.font.getFontHeight() * a.font.fontScale) | 0), 0 < g && 0 < l && ((e = new la(g, l, !0, 0)), a.font.font.renderToImg( e, '~x5df2~x6682~x505c', 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (g = new sc()), (g.img = e), (g.lifetime = 5), (ha.drawnStringCache.h[f] = g), ha.drawnStringCacheKeys.push(f)))) : 'KR' == h.engine.getGameAttribute('Language') ? ((b = c.getFont(593)), null != b && b != a.font && (a.font = b), (b = this.actor.getWidth() / 2 - a.font.getTextWidth('~xc77c~xc2dc ~xc815~xc9c0~xb428') / h.SCALE / 2), null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)), a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + b * a.scaleX), (d = a.y + -34 * a.scaleY)) : ((b = a.x + b * a.scaleX - h.cameraX), (d = a.y + -34 * a.scaleY - h.cameraY)) : ((b = a.x + b * a.scaleX), (d = a.y + -34 * a.scaleY)), a.mtx.identity(), a.mtx.translate(b, d), (e = null), (f = a.font), (f = '~xc77c~xc2dc ~xc815~xc9c0~xb428:' + f.ID + ':' + a.alpha + ':' + f.letterSpacing + ':' + h.SCALE), Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, f) ? ((g = ha.drawnStringCache.h[f]), (g.lifetime = 5), (e = g.img)) : ((g = a.font.font.getTextWidth( '~xc77c~xc2dc ~xc815~xc9c0~xb428', a.font.letterSpacing, a.font.fontScale )), (l = (a.font.font.getFontHeight() * a.font.fontScale) | 0), 0 < g && 0 < l && ((e = new la(g, l, !0, 0)), a.font.font.renderToImg( e, '~xc77c~xc2dc ~xc815~xc9c0~xb428', 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (g = new sc()), (g.img = e), (g.lifetime = 5), (ha.drawnStringCache.h[f] = g), ha.drawnStringCacheKeys.push(f)))) : ((b = c.getFont(165)), null != b && b != a.font && (a.font = b), (b = this.actor.getWidth() / 2 - a.font.getTextWidth('PAUSED') / h.SCALE / 2), null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)), a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + b * a.scaleX), (d = a.y + -28 * a.scaleY)) : ((b = a.x + b * a.scaleX - h.cameraX), (d = a.y + -28 * a.scaleY - h.cameraY)) : ((b = a.x + b * a.scaleX), (d = a.y + -28 * a.scaleY)), a.mtx.identity(), a.mtx.translate(b, d), (e = null), (f = a.font), (f = 'PAUSED:' + f.ID + ':' + a.alpha + ':' + f.letterSpacing + ':' + h.SCALE), Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, f) ? ((g = ha.drawnStringCache.h[f]), (g.lifetime = 5), (e = g.img)) : ((g = a.font.font.getTextWidth( 'PAUSED', a.font.letterSpacing, a.font.fontScale )), (l = (a.font.font.getFontHeight() * a.font.fontScale) | 0), 0 < g && 0 < l && ((e = new la(g, l, !0, 0)), a.font.font.renderToImg( e, 'PAUSED', 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (g = new sc()), (g.img = e), (g.lifetime = 5), (ha.drawnStringCache.h[f] = g), ha.drawnStringCacheKeys.push(f))), null != e && (a.graphics.beginBitmapFill(e, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, d, e.width, e.height), a.graphics.endFill()), (b = c.getFont(168)), null != b && b != a.font && (a.font = b), (b = this.actor.getWidth() / 2 - a.font.getTextWidth('PAUSED') / h.SCALE / 2), null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)), a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + b * a.scaleX), (d = a.y + -30 * a.scaleY)) : ((b = a.x + b * a.scaleX - h.cameraX), (d = a.y + -30 * a.scaleY - h.cameraY)) : ((b = a.x + b * a.scaleX), (d = a.y + -30 * a.scaleY)), a.mtx.identity(), a.mtx.translate(b, d), (e = null), (f = a.font), (f = 'PAUSED:' + f.ID + ':' + a.alpha + ':' + f.letterSpacing + ':' + h.SCALE), Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, f) ? ((g = ha.drawnStringCache.h[f]), (g.lifetime = 5), (e = g.img)) : ((g = a.font.font.getTextWidth( 'PAUSED', a.font.letterSpacing, a.font.fontScale )), (l = (a.font.font.getFontHeight() * a.font.fontScale) | 0), 0 < g && 0 < l && ((e = new la(g, l, !0, 0)), a.font.font.renderToImg( e, 'PAUSED', 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (g = new sc()), (g.img = e), (g.lifetime = 5), (ha.drawnStringCache.h[f] = g), ha.drawnStringCacheKeys.push(f)))); null != e && (a.graphics.beginBitmapFill(e, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, d, e.width, e.height), a.graphics.endFill()); } }, _event_KeyPressed: function (a) { this.wrapper.enabled && !this._ButtonPressed && this._CanPressButtons && (this._ButtonIsDown || (c.isKeyPressed('left') ? (this._LeftIsDown = !0) : c.isKeyPressed('right') ? (this._RightIsDown = !0) : c.isKeyPressed('up') ? (this._UpIsDown = !0) : c.isKeyPressed('down') && (this._DownisDown = !0), 0 == this._PressTimer && ((this._PressTimer = 1), this.actor.shout('_customEvent_Move'))), c.isKeyPressed('enter') && this.actor.shout('_customEvent_buttonPressed'), c.isKeyPressed('escape') && ((this._ButtonPressed = !0), this.actor.shout('_customEvent_close'))); }, _event_KeyReleased: function (a) { this.wrapper.enabled && (this._UpIsDown || this._DownisDown || this._LeftIsDown || this._RightIsDown) && (c.isKeyReleased('left') ? (this._LeftIsDown = !1) : c.isKeyReleased('right') ? (this._RightIsDown = !1) : c.isKeyReleased('up') ? (this._UpIsDown = !1) : c.isKeyReleased('down') && (this._DownisDown = !1)); }, _customEvent_AdjustSize: function () { this._InPosition && !this._ButtonPressed && this.actor.getX() != c.getScreenX() + (c.getScreenWidth() / 2 - 106) && this.actor.getY() != c.getScreenY() + (c.getScreenHeight() / 2 - 56) && (this.actor.setX(c.getScreenX() + (c.getScreenWidth() / 2 - 106)), this.actor.setY(c.getScreenY() + (c.getScreenHeight() / 2 - 56))); }, _customEvent_updateSelected: function () { var a = this; this._PressTimer = 0; if (!h.engine.getGameAttribute('MOBILE MODE')) { h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(119)); for (var b = 0, d = this._ListButtons.length; b < d; ) { var e = [b++]; if (e[0] == this._ListSelected) this._ListButtons[e[0]].clearFilters(), this._ListButtons[e[0]].growTo(1.1, 1.1, 0, v.linear), c.runLater( 100, (function (b) { return function (c) { a._ListButtons[b[0]].growTo(1, 1, 0.3, v.elasticOut); }; })(e), this.actor ); else { this._ListButtons[e[0]].growTo(1, 1, 0, v.linear); this._ListButtons[e[0]].clearFilters(); var f = 0, g = 0, l = 0; null == l && (l = 0); null == g && (g = 0); null == f && (f = 0); this._ListButtons[e[0]].setFilter([ c.createTintFilter((f << 16) | (g << 8) | l, 0.4) ]); } } } }, _customEvent_buttonPressed: function () { var a = this; if (!this._ButtonPressed && this._CanPressButtons) if (0 == this._ListSelected) { var b = this._HomeButton; if ( c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b) ) { this._ButtonPressed = !0; this._HomeButton.setAnimation('Down'); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)); b = 0; for (var d = c.getActorsOfType(c.getActorType(435)); b < d.length; ) { var e = d[b]; ++b; null == e || e.dead || e.recycled || e.moveBy(0, -80, 0.2, v.quadInOut); } c.runLater( 200, function (a) { c.setValueForScene('Transitions', '_TransitionType', 2); c.sayToScene('Transitions', '_customEvent_transitionOut'); }, this.actor ); c.runLater( 2e3, function (a) { h.engine.gameAttributes.h['Left Button Down'] = !1; h.engine.gameAttributes.h['Boss 5 Dialog Read'] = !1; if (41 <= h.engine.getGameAttribute('Last Played Level')) { a = ra.get().scenes.h[136].getID(); var b = 0, d = 0, e = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); var f = c.createFadeOut(0.1, (b << 16) | (d << 8) | e); e = d = b = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); c.switchScene(a, f, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)); h.engine.gameAttributes.h['Start Overworld Music'] = !0; } 31 <= h.engine.getGameAttribute('Last Played Level') ? ((a = ra.get().scenes.h[135].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (f = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, f, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)), (h.engine.gameAttributes.h['Start Overworld Music'] = !0)) : 21 <= h.engine.getGameAttribute('Last Played Level') ? ((a = ra.get().scenes.h[134].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (f = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, f, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)), (h.engine.gameAttributes.h['Start Overworld Music'] = !0)) : 11 <= h.engine.getGameAttribute('Last Played Level') ? ((a = ra.get().scenes.h[133].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (f = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, f, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)), (h.engine.gameAttributes.h['Start Overworld Music'] = !0)) : 1 >= h.engine.getGameAttribute('Last Played Level') ? ((a = ra.get().scenes.h[4].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (f = c.createFadeOut(0.3, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, f, c.createFadeIn(0.3, (b << 16) | (d << 8) | e))) : ((a = ra.get().scenes.h[5].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (f = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, f, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)), (h.engine.gameAttributes.h['Start Overworld Music'] = !0)); }, this.actor ); } } else if (1 == this._ListSelected) { if ( ((b = this._RestartButton), c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) ) { h.engine.getGameAttribute('Timer Mode') && (c.sayToScene('Stage Logic', '_customEvent_timerHide'), c.setValueForScene('Stage Logic', '_ShowTimer', !1)); this._ButtonPressed = !0; this._RestartButton.setAnimation('Down'); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)); b = 0; for (d = c.getActorsOfType(c.getActorType(435)); b < d.length; ) (e = d[b]), ++b, null == e || e.dead || e.recycled || e.moveBy(0, -80, 0.2, v.quadInOut); c.runLater( 200, function (a) { c.setValueForScene('Transitions', '_TransitionType', 2); c.sayToScene('Transitions', '_customEvent_transitionOut'); }, this.actor ); c.runLater( 2e3, function (a) { var b = (a = 0), d = 0; null == d && (d = 0); null == b && (b = 0); null == a && (a = 0); var e = c.createFadeOut(0.3, (a << 16) | (b << 8) | d); d = b = a = 0; null == d && (d = 0); null == b && (b = 0); null == a && (a = 0); c.reloadCurrentScene(e, c.createFadeIn(0.3, (a << 16) | (b << 8) | d)); }, this.actor ); } } else if (2 == this._ListSelected) { if ( ((b = this._ResumeButton), c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) ) (this._ButtonPressed = !0), this._ResumeButton.setAnimation('Down'), this.actor.shout('_customEvent_close'); } else if (3 == this._ListSelected) { if ( ((b = this._SoundButton), c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) ) (this._ButtonPressed = !0), this._SoundButton.setAnimation('Down'), h.engine.getGameAttribute('Sound Disabled') ? ((h.engine.gameAttributes.h['Sound Disabled'] = !1), c.setVolumeForChannel(1, 15), c.setVolumeForChannel(1, 10)) : h.engine.getGameAttribute('Sound Disabled') || ((h.engine.gameAttributes.h['Sound Disabled'] = !0), c.setVolumeForChannel(0, 15), c.setVolumeForChannel(0, 10)), c.saveGame('mySave', function (a) {}), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)), c.runLater( 200, function (b) { a._ButtonPressed = !1; h.engine.getGameAttribute('Sound Disabled') ? a._SoundButton.setAnimation('Off') : a._SoundButton.setAnimation('On'); }, this.actor ); } else 4 == this._ListSelected && ((b = this._MusicButton), c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && ((this._ButtonPressed = !0), this._MusicButton.setAnimation('Down'), h.engine.getGameAttribute('Music Disabled') ? ((h.engine.gameAttributes.h['Music Disabled'] = !1), c.setVolumeForChannel(1, 16)) : h.engine.getGameAttribute('Music Disabled') || ((h.engine.gameAttributes.h['Music Disabled'] = !0), c.setVolumeForChannel(0, 16)), c.saveGame('mySave', function (a) {}), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)), c.runLater( 200, function (b) { a._ButtonPressed = !1; h.engine.getGameAttribute('Music Disabled') ? a._MusicButton.setAnimation('Off') : a._MusicButton.setAnimation('On'); }, this.actor )); }, _customEvent_close: function () { var a = this; hb.gameplayStart(); h.engine.getGameAttribute('Music Disabled') || c.setVolumeForChannel(1, 16); h.engine.getGameAttribute('Sound Disabled') || c.setVolumeForChannel(1, 15); h.engine.getGameAttribute('Timer Mode') && (c.sayToScene('Stage Logic', '_customEvent_timerShow'), c.setValueForScene('Stage Logic', '_ShowTimer', !0)); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)); c.runLater( 300, function (a) { a = 0; for (var b = c.getActorsOfType(c.getActorType(236)); a < b.length; ) { var e = b[a]; ++a; null == e || e.dead || e.recycled || e.fadeTo(0, 0.2, v.quadInOut); } }, this.actor ); this.actor.moveTo(this.actor.getX(), c.getScreenY() - 184, 0.3, v.quadIn); c.runLater( 700, function (b) { c.engine.unpause(); b = 0; for (var d = c.getActorsOfType(c.getActorType(236)); b < d.length; ) { var e = d[b]; ++b; null == e || e.dead || e.recycled || c.recycleActor(e); } b = a._HomeButton; (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && c.recycleActor(a._HomeButton); b = a._RestartButton; (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && c.recycleActor(a._RestartButton); b = a._ResumeButton; (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && c.recycleActor(a._ResumeButton); b = a._AdsButton; (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && c.recycleActor(a._AdsButton); b = a._SoundButton; (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && c.recycleActor(a._SoundButton); b = a._MusicButton; (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && c.recycleActor(a._MusicButton); b = a._VibeButton; (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && c.recycleActor(a._VibeButton); c.recycleActor(a.actor); }, this.actor ); }, _customEvent_Move: function () { var a = this; if (!this._Moving) { this._Moving = !0; c.runLater( 100, function (b) { a._Moving = !1; }, this.actor ); this._CanMoveDown = this._CanMoveUp = this._CanMoveRight = this._CanMoveLeft = !0; if ('2' == this._ButtonInput || '-axis 0' == this._ButtonInput) { if ( 1 == this._ListSelected || 2 == this._ListSelected || 4 == this._ListSelected || 5 == this._ListSelected ) this._CanMoveLeft = !0; } else if ('3' == this._ButtonInput || '+axis 0' == this._ButtonInput) { if (0 == this._ListSelected || 1 == this._ListSelected || 3 == this._ListSelected) this._CanMoveRight = !0; } else if ('0' == this._ButtonInput || '-axis 1' == this._ButtonInput) { if (3 == this._ListSelected || 4 == this._ListSelected) this._CanMoveUp = !0; } else if ('1' == this._ButtonInput || '+axis 1' == this._ButtonInput) if (0 == this._ListSelected || 1 == this._ListSelected || 2 == this._ListSelected) this._CanMoveDown = !0; this._LeftIsDown && this._CanMoveLeft ? this._Moving2 || ((this._Moving2 = !0), c.runLater( 30, function (b) { a._Moving2 = !1; }, this.actor ), (this._PressTimer = 0), 1 == this._ListSelected && ((this._ListSelected = 0), this.actor.shout('_customEvent_updateSelected')), 2 == this._ListSelected ? ((this._ListSelected = 1), this.actor.shout('_customEvent_updateSelected')) : 4 == this._ListSelected && ((this._ListSelected = 3), this.actor.shout('_customEvent_updateSelected'))) : this._RightIsDown && this._CanMoveRight && !this._Moving2 && ((this._Moving2 = !0), c.runLater( 30, function (b) { a._Moving2 = !1; }, this.actor ), (this._PressTimer = 0), 0 == this._ListSelected ? ((this._ListSelected = 1), this.actor.shout('_customEvent_updateSelected')) : 1 == this._ListSelected ? ((this._ListSelected = 2), this.actor.shout('_customEvent_updateSelected')) : 3 == this._ListSelected && ((this._ListSelected = 4), this.actor.shout('_customEvent_updateSelected'))); this._UpIsDown && this._CanMoveUp ? this._Moving2 || ((this._Moving2 = !0), c.runLater( 30, function (b) { a._Moving2 = !1; }, this.actor ), (this._PressTimer = 0), 3 == this._ListSelected ? ((this._ListSelected = 1), this.actor.shout('_customEvent_updateSelected')) : 4 == this._ListSelected && ((this._ListSelected = 1), this.actor.shout('_customEvent_updateSelected'))) : this._DownisDown && this._CanMoveDown && !this._Moving2 && ((this._Moving2 = !0), c.runLater( 30, function (b) { a._Moving2 = !1; }, this.actor ), (this._PressTimer = 0), 0 == this._ListSelected ? ((this._ListSelected = 3), this.actor.shout('_customEvent_updateSelected')) : 1 == this._ListSelected ? ((this._ListSelected = 3), this.actor.shout('_customEvent_updateSelected')) : 2 == this._ListSelected && ((this._ListSelected = 4), this.actor.shout('_customEvent_updateSelected'))); } }, init: function () { var a = this; hb.gameplayStop(); c.setVolumeForChannel(0, 16); c.setVolumeForChannel(0, 15); c.runLater( 100, function (b) { a._CanPressButtons = !0; }, this.actor ); this._ListSelected = 2; this._ListButtons = []; this.actor.makeAlwaysSimulate(); c.createRecycledActor( c.getActorType(238), this.actor.getXCenter() - 121, this.actor.getY(), 0 ); this._HomeButton = c.getLastCreatedActor(); this._ListButtons.push(c.getLastCreatedActor()); c.getLastCreatedActor().makeAlwaysSimulate(); c.createRecycledActor( c.getActorType(240), this.actor.getXCenter() - 37, this.actor.getY(), 0 ); this._RestartButton = c.getLastCreatedActor(); this._ListButtons.push(c.getLastCreatedActor()); c.getLastCreatedActor().makeAlwaysSimulate(); c.createRecycledActor( c.getActorType(242), this.actor.getXCenter() + 47, this.actor.getY(), 0 ); this._ResumeButton = c.getLastCreatedActor(); this._ListButtons.push(c.getLastCreatedActor()); c.getLastCreatedActor().makeAlwaysSimulate(); c.createRecycledActor( c.getActorType(246), this.actor.getXCenter() - 54, this.actor.getY() + 74, 0 ); this._SoundButton = c.getLastCreatedActor(); this._ListButtons.push(c.getLastCreatedActor()); c.getLastCreatedActor().makeAlwaysSimulate(); c.createRecycledActor( c.getActorType(248), this.actor.getXCenter() + 6, this.actor.getY() + 74, 0 ); this._MusicButton = c.getLastCreatedActor(); this._ListButtons.push(c.getLastCreatedActor()); c.getLastCreatedActor().makeAlwaysSimulate(); for (var b = 0, d = c.getActorsOfType(c.getActorType(582)); b < d.length; ) { var e = d[b]; ++b; null == e || e.dead || e.recycled || e.disableActorDrawing(); } h.engine.getGameAttribute('Sound Disabled') && this._SoundButton.setAnimation('Off'); h.engine.getGameAttribute('Music Disabled') && this._MusicButton.setAnimation('Off'); c.runLater( 600, function (b) { a._InPosition = !0; }, this.actor ); this.actor.shout('_customEvent_updateSelected'); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener(this.actor.whenUpdated, m(this, this._event_Mouse)); c.runPeriodically(12, m(this, this._event_EveryNsecs), this.actor); this.addListener(this.actor.whenDrawing, m(this, this._event_Drawing)); this.addListener(this.actor.whenUpdated, m(this, this._event_KeyPressed)); this.addListener(this.actor.whenUpdated, m(this, this._event_KeyReleased)); }, forwardMessage: function (a) {}, __class__: nx }); var ox = function (a, b) { c.call(this); this.nameMap.h['Stars String'] = '_StarsString'; this._StarsString = ''; this.nameMap.h['Star Count Star'] = '_StarCountStar'; this.nameMap.h['Level Number'] = '_LevelNumber'; this._LevelNumber = 0; this.nameMap.h.Overlay = '_Overlay'; this.nameMap.h['Hide Text'] = '_HideText'; this._HideText = !1; this.nameMap.h['World Title'] = '_WorldTitle'; this._WorldTitle = ''; this.nameMap.h['Font To Use'] = '_FontToUse'; this.nameMap.h['Left Text'] = '_LeftText'; this._LeftText = ''; this.nameMap.h['Right Text'] = '_RightText'; this._RightText = ''; this.nameMap.h['Star Is Hidden'] = '_StarIsHidden'; this._StarIsHidden = !1; this.nameMap.h['Total Time In Hundreths'] = '_TotalTimeInHundreths'; this._TotalTimeInHundreths = 0; this.nameMap.h['Time Box'] = '_TimeBox'; this.nameMap.h.Hours = '_Hours'; this._Hours = 0; this.nameMap.h.Minutes = '_Minutes'; this._Minutes = 0; this.nameMap.h.Seconds = '_Seconds'; this._Seconds = 0; this.nameMap.h.Hundreths = '_Hundreths'; this._Hundreths = 0; this.nameMap.h['Hours String'] = '_HoursString'; this._HoursString = ''; this.nameMap.h['Minutes String'] = '_MinutesString'; this._MinutesString = ''; this.nameMap.h['Seconds String'] = '_SecondsString'; this._SecondsString = ''; this.nameMap.h['Hundreths String'] = '_HundrethsString'; this._HundrethsString = ''; this.nameMap.h['Total Time String'] = '_TotalTimeString'; this._TotalTimeString = ''; this.nameMap.h['LAST INPUT'] = '_LASTINPUT'; this._LASTINPUT = ''; this.nameMap.h['Bottom Border'] = '_BottomBorder'; this.nameMap.h['Right Border'] = '_RightBorder'; this.nameMap.h['Bottom Right Corner'] = '_BottomRightCorner'; this.nameMap.h['Bottom Left Corner'] = '_BottomLeftCorner'; this.nameMap.h['Left Border'] = '_LeftBorder'; this.nameMap.h['Top Border'] = '_TopBorder'; this.nameMap.h['Top Right Corner'] = '_TopRightCorner'; }; k['scripts.Design_699_699_SwitchOverworld'] = ox; ox.__name__ = 'scripts.Design_699_699_SwitchOverworld'; ox.__super__ = fa; ox.prototype = t(fa.prototype, { _StarsString: null, _StarCountStar: null, _LevelNumber: null, _Overlay: null, _HideText: null, _WorldTitle: null, _FontToUse: null, _LeftText: null, _RightText: null, _StarIsHidden: null, _TotalTimeInHundreths: null, _TimeBox: null, _Hours: null, _Minutes: null, _Seconds: null, _Hundreths: null, _HoursString: null, _MinutesString: null, _SecondsString: null, _HundrethsString: null, _TotalTimeString: null, _LASTINPUT: null, _BottomBorder: null, _RightBorder: null, _BottomRightCorner: null, _BottomLeftCorner: null, _LeftBorder: null, _TopBorder: null, _TopRightCorner: null, init: function () {}, forwardMessage: function (a) {}, __class__: ox }); var px = function (a, b) { c.call(this); this.nameMap.h['Home Button'] = '_HomeButton'; this.nameMap.h['Music Button'] = '_MusicButton'; this.nameMap.h['Sound Button'] = '_SoundButton'; this.nameMap.h['Ads Button'] = '_AdsButton'; this.nameMap.h['Button Pressed'] = '_ButtonPressed'; this._ButtonPressed = !1; this.nameMap.h['In Position'] = '_InPosition'; this._InPosition = !1; this.nameMap.h.Overlay = '_Overlay'; this.nameMap.h.Ready = '_Ready'; this._Ready = !1; this.nameMap.h['Star Count'] = '_StarCount'; this.nameMap.h['Possum Button'] = '_PossumButton'; this.nameMap.h['Show Possum Text'] = '_ShowPossumText'; this._ShowPossumText = !1; this.nameMap.h.Cursor = '_Cursor'; this.nameMap.h['Timer Button'] = '_TimerButton'; this.nameMap.h['Clouds Width'] = '_CloudsWidth'; this._CloudsWidth = 0; this.nameMap.h['Beach BG Width'] = '_BeachBGWidth'; this._BeachBGWidth = 0; this.nameMap.h['Beach BG Created'] = '_BeachBGCreated'; this._BeachBGCreated = !1; this.nameMap.h['Clouds Pacer'] = '_CloudsPacer'; this._CloudsPacer = 0; this.nameMap.h['World Title'] = '_WorldTitle'; }; k['scripts.Design_712_712_OverworldLogic'] = px; px.__name__ = 'scripts.Design_712_712_OverworldLogic'; px.__super__ = fa; px.prototype = t(fa.prototype, { _HomeButton: null, _MusicButton: null, _SoundButton: null, _AdsButton: null, _ButtonPressed: null, _InPosition: null, _Overlay: null, _Ready: null, _StarCount: null, _PossumButton: null, _ShowPossumText: null, _Cursor: null, _TimerButton: null, _CloudsWidth: null, _BeachBGWidth: null, _BeachBGCreated: null, _CloudsPacer: null, _WorldTitle: null, _event_Updating: function (a) { var b = this; if ( this.wrapper.enabled && (this._Ready ? ((a = this._Cursor), (a = c.isPrimitive(a) ? !0 : 'string' == typeof a ? '' != w.__cast(a, String) : null != a)) : (a = !1), a) ) { a = this._HomeButton; if ( (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._InPosition && !this._ButtonPressed && (this._HomeButton.isMousePressed() || (h.engine.getGameAttribute('Controller Mode') && (c.isKeyPressed('enter') || c.isKeyPressed('action1')) && this._Cursor.getScreenX() + 24 >= this._HomeButton.getScreenX() && this._Cursor.getScreenX() + 24 < this._HomeButton.getScreenX() + this._HomeButton.getWidth() && this._Cursor.getScreenY() + 24 >= this._HomeButton.getScreenY() && this._Cursor.getScreenY() + 24 < this._HomeButton.getScreenY() + this._HomeButton.getHeight())) ) { this._ButtonPressed = !0; this._HomeButton.setAnimation('Down'); c.stopAllSounds(); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)); c.runLater( 300, function (a) { c.setValueForScene('Transitions', '_TransitionType', 2); c.sayToScene('Transitions', '_customEvent_transitionOut'); }, null ); c.runLater( 2e3, function (a) { a = ra.get().scenes.h[4].getID(); var b = 0, d = 0, e = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); var f = c.createFadeOut(0.3, (b << 16) | (d << 8) | e); e = d = b = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); c.switchScene(a, f, c.createFadeIn(0.3, (b << 16) | (d << 8) | e)); }, null ); a = 0; for (var d = c.getActorsOfType(c.getActorType(244)); a < d.length; ) { var e = d[a]; ++a; null == e || e.dead || e.recycled || e.moveBy(0, -70, 0.2, v.quadOut); } a = 0; for (d = c.getActorsOfType(c.getActorType(248)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (d = c.getActorsOfType(c.getActorType(246)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (d = c.getActorsOfType(c.getActorType(291)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (d = c.getActorsOfType(c.getActorType(1083)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (d = c.getActorsOfType(c.getActorType(527)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (d = c.getActorsOfType(c.getActorType(539)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.moveBy(0, 70, 0.2, v.quadOut); a = 0; for (d = c.getActorsOfType(c.getActorType(622)); a < d.length; ) (e = d[a]), ++a, null == e || e.dead || e.recycled || e.moveBy(0, 70, 0.2, v.quadOut); } a = this._SoundButton; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._InPosition && !this._ButtonPressed && (this._SoundButton.isMousePressed() || (h.engine.getGameAttribute('Controller Mode') && (c.isKeyPressed('enter') || c.isKeyPressed('action1')) && this._Cursor.getX() + 24 >= this._SoundButton.getX() && this._Cursor.getX() + 24 < this._SoundButton.getX() + this._SoundButton.getWidth() && this._Cursor.getY() + 24 >= this._SoundButton.getY() && this._Cursor.getY() + 24 < this._SoundButton.getY() + this._SoundButton.getHeight())) && ((this._ButtonPressed = !0), this._SoundButton.setAnimation('Down'), h.engine.getGameAttribute('Sound Disabled') ? ((h.engine.gameAttributes.h['Sound Disabled'] = !1), c.setVolumeForChannel(1, 15)) : h.engine.getGameAttribute('Sound Disabled') || ((h.engine.gameAttributes.h['Sound Disabled'] = !0), c.setVolumeForChannel(0, 15)), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)), c.saveGame('mySave', function (a) {}), c.runLater( 200, function (a) { b._ButtonPressed = !1; h.engine.getGameAttribute('Sound Disabled') ? b._SoundButton.setAnimation('Off') : b._SoundButton.setAnimation('On'); }, null )); a = this._MusicButton; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._InPosition && !this._ButtonPressed && (this._MusicButton.isMousePressed() || (h.engine.getGameAttribute('Controller Mode') && (c.isKeyPressed('enter') || c.isKeyPressed('action1')) && this._Cursor.getX() + 24 >= this._MusicButton.getX() && this._Cursor.getX() + 24 < this._MusicButton.getX() + this._MusicButton.getWidth() && this._Cursor.getY() + 24 >= this._MusicButton.getY() && this._Cursor.getY() + 24 < this._MusicButton.getY() + this._MusicButton.getHeight())) && ((this._ButtonPressed = !0), this._MusicButton.setAnimation('Down'), h.engine.getGameAttribute('Music Disabled') ? ((h.engine.gameAttributes.h['Music Disabled'] = !1), c.setVolumeForChannel(1, 16)) : h.engine.getGameAttribute('Music Disabled') || ((h.engine.gameAttributes.h['Music Disabled'] = !0), c.setVolumeForChannel(0, 16)), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)), c.saveGame('mySave', function (a) {}), c.runLater( 200, function (a) { b._ButtonPressed = !1; h.engine.getGameAttribute('Music Disabled') ? b._MusicButton.setAnimation('Off') : b._MusicButton.setAnimation('On'); }, null )); a = this._TimerButton; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._InPosition && !this._ButtonPressed && (this._TimerButton.isMousePressed() || (h.engine.getGameAttribute('Controller Mode') && (c.isKeyPressed('enter') || c.isKeyPressed('action1')) && this._Cursor.getScreenX() + 24 >= this._TimerButton.getScreenX() && this._Cursor.getScreenX() + 24 < this._TimerButton.getScreenX() + this._TimerButton.getWidth() && this._Cursor.getScreenY() + 24 >= this._TimerButton.getScreenY() && this._Cursor.getScreenY() + 24 < this._TimerButton.getScreenY() + this._TimerButton.getHeight())) && ((this._ButtonPressed = !0), this._TimerButton.setAnimation('Down'), h.engine.getGameAttribute('Timer Mode') ? (h.engine.gameAttributes.h['Timer Mode'] = !1) : h.engine.getGameAttribute('Timer Mode') || ((h.engine.gameAttributes.h['Timer Mode'] = !0), (h.engine.gameAttributes.h['Possum Mode'] = !1)), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)), c.saveGame('mySave', function (a) {}), c.runLater( 200, function (a) { b._ButtonPressed = !1; h.engine.getGameAttribute('Timer Mode') ? b._TimerButton.setAnimation('On') : b._TimerButton.setAnimation('Off'); }, null )); a = this._PossumButton; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._InPosition && !this._ButtonPressed && (this._PossumButton.isMousePressed() || (h.engine.getGameAttribute('Controller Mode') && (c.isKeyPressed('enter') || c.isKeyPressed('action1')) && this._Cursor.getScreenX() + 24 >= this._PossumButton.getScreenX() && this._Cursor.getScreenX() + 24 < this._PossumButton.getScreenX() + this._PossumButton.getWidth() && this._Cursor.getScreenY() + 24 >= this._PossumButton.getScreenY() && this._Cursor.getScreenY() + 24 < this._PossumButton.getScreenY() + this._PossumButton.getHeight())) && ((this._ButtonPressed = !0), 'JP' == h.engine.getGameAttribute('Language') ? this._PossumButton.setAnimation('JP Down') : 'CN' == h.engine.getGameAttribute('Language') ? this._PossumButton.setAnimation('CN Down') : 'KR' == h.engine.getGameAttribute('Language') ? this._PossumButton.setAnimation('KR Down') : this._PossumButton.setAnimation('Down'), h.engine.getGameAttribute('Possum Mode') ? (h.engine.gameAttributes.h['Possum Mode'] = !1) : h.engine.getGameAttribute('Possum Mode') || ((h.engine.gameAttributes.h['Possum Mode'] = !0), (h.engine.gameAttributes.h['Timer Mode'] = !1)), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)), c.runLater( 200, function (a) { b._ButtonPressed = !1; h.engine.getGameAttribute('Possum Mode') ? 'JP' == h.engine.getGameAttribute('Language') ? b._PossumButton.setAnimation('JP On') : 'CN' == h.engine.getGameAttribute('Language') ? b._PossumButton.setAnimation('CN On') : 'KR' == h.engine.getGameAttribute('Language') ? b._PossumButton.setAnimation('KR On') : b._PossumButton.setAnimation('On') : 'JP' == h.engine.getGameAttribute('Language') ? b._PossumButton.setAnimation('JP Off') : 'CN' == h.engine.getGameAttribute('Language') ? b._PossumButton.setAnimation('CN Off') : 'KR' == h.engine.getGameAttribute('Language') ? b._PossumButton.setAnimation('KR Off') : b._PossumButton.setAnimation('Off'); }, null )); } }, _event_Clouds: function (a, b, d) { if (this.wrapper.enabled) { if ('World 1 Select' == c.getCurrentSceneName()) if (8 > this._CloudsPacer) this._CloudsPacer += 1; else for ( a = this._CloudsPacer = 0, b = c.getActorsOfType(c.getActorType(716)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || (d.setX(d.getX() - 1), d.getX() <= -this._CloudsWidth && d.setX( this._CloudsWidth * Math.ceil(c.getScreenWidth() / this._CloudsWidth) )); if ('World 2 Select' == c.getCurrentSceneName()) if (2 > this._CloudsPacer) this._CloudsPacer += 1; else for ( a = this._CloudsPacer = 0, b = c.getActorsOfType(c.getActorType(724)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || (d.setX(d.getX() - 1), d.getX() <= -this._CloudsWidth && d.setX( this._CloudsWidth * Math.ceil(c.getScreenWidth() / this._CloudsWidth) )); if ('World 3 Select' == c.getCurrentSceneName()) if (3 > this._CloudsPacer) this._CloudsPacer += 1; else for ( a = this._CloudsPacer = 0, b = c.getActorsOfType(c.getActorType(739)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || (d.setX(d.getX() - 1), d.getX() <= -this._CloudsWidth && d.setX( this._CloudsWidth * Math.ceil(c.getScreenWidth() / this._CloudsWidth) )); } }, _event_Leaves: function (a) { if (this.wrapper.enabled && 'World 2 Select' == c.getCurrentSceneName()) { a = 0; for (var b = c.randomInt(0, 2); a < b; ) a++, c.createRecycledActorOnLayer( c.getActorType(90), c.getScreenX() + c.getScreenWidth() + c.randomInt(0, 64), c.randomInt(c.getScreenY() | 0, (c.getScreenY() + c.getScreenHeight() - 96) | 0), c.engine.getLayerById(0) ); } }, init: function () { var a = this; c.engine.unpause(); h.engine.gameAttributes.h.Dead = !1; h.engine.gameAttributes.h['Settings Open'] = !1; h.engine.gameAttributes.h['Boss 1 Dialog Read'] = !1; h.engine.gameAttributes.h['Boss 2 Dialog Read'] = !1; h.engine.gameAttributes.h['Boss 3 Dialog Read'] = !1; h.engine.gameAttributes.h['Boss 4 Dialog Read'] = !1; h.engine.gameAttributes.h['Boss 5 Dialog Read'] = !1; h.engine.gameAttributes.h['Checkpoint Passed'] = !1; h.engine.gameAttributes.h['Dialog Box Open'] = !1; h.engine.gameAttributes.h['Checkpoint Passed'] = !1; h.engine.gameAttributes.h['Star Collected'] = !1; for (var b = 0, d = c.getActorsOfType(c.getActorType(259)); b < d.length; ) { var e = d[b]; ++b; null == e || e.dead || e.recycled || (c.createRecycledActor( c.getActorType(589), e.getXCenter() - 13, e.getYCenter() - 13, 0 ), (this._Cursor = c.getLastCreatedActor())); } 43 <= h.engine.getGameAttribute('Stars List').length - 1 && !h.engine.getGameAttribute('Possum Mode Unlocked') && ((h.engine.gameAttributes.h['Possum Mode Unlocked'] = !0), c.saveGame('mySave', function (a) {})); c.runLater( 500, function (b) { a._Ready = !0; }, null ); h.engine.getGameAttribute('Start Overworld Music') && ((h.engine.gameAttributes.h['Start Overworld Music'] = !1), c.runLater( 300, function (a) { h.engine.getGameAttribute('Music Disabled') || c.loopSoundOnChannel(c.getSound(450), 16); }, null )); h.engine.getGameAttribute('Wipe In Right') ? ((h.engine.gameAttributes.h['Wipe In Right'] = !1), c.createRecycledActor(c.getActorType(283), -5, -5, 0), (this._Overlay = c.getLastCreatedActor()), c.runLater( 100, function (b) { c.sayToScene('Transitions', '_customEvent_wipeInRight'); c.recycleActor(a._Overlay); }, null )) : h.engine.getGameAttribute('Wipe In Left') ? ((h.engine.gameAttributes.h['Wipe In Left'] = !1), c.createRecycledActor(c.getActorType(283), -5, -5, 0), (this._Overlay = c.getLastCreatedActor()), c.runLater( 100, function (b) { c.sayToScene('Transitions', '_customEvent_wipeInLeft'); c.recycleActor(a._Overlay); }, null )) : (c.createRecycledActor(c.getActorType(283), -5, -5, 0), (this._Overlay = c.getLastCreatedActor()), c.runLater( 100, function (b) { c.setValueForScene('Transitions', '_TransitionType', 1); c.sayToScene('Transitions', '_customEvent_transitionIn'); c.recycleActor(a._Overlay); }, null )); c.createRecycledActor(c.getActorType(291), 18, -50, 0); this._HomeButton = c.getLastCreatedActor(); this._HomeButton.makeAlwaysSimulate(); this._HomeButton.anchorToScreen(); 0 < h.engine.getGameAttribute('Stars List').length - 1 && (c.createRecycledActor(c.getActorType(527), 84, -50, 0), (this._StarCount = c.getLastCreatedActor())); c.createRecycledActor(c.getActorType(1083), 84, -50, 0); this._WorldTitle = c.getLastCreatedActor(); 50 <= h.engine.getGameAttribute('Highest Level') && (c.createRecycledActor(c.getActorType(622), 18, c.getScreenHeight(), 0), (this._TimerButton = c.getLastCreatedActor()), this._TimerButton.makeAlwaysSimulate(), this._TimerButton.anchorToScreen(), h.engine.getGameAttribute('Timer Mode') || this._TimerButton.setAnimation('Off')); h.engine.getGameAttribute('Possum Mode Unlocked') && (c.createRecycledActor( c.getActorType(539), c.getScreenWidth() - 202, c.getScreenHeight(), 0 ), (this._PossumButton = c.getLastCreatedActor()), this._PossumButton.makeAlwaysSimulate(), this._PossumButton.anchorToScreen(), h.engine.getGameAttribute('Possum Mode') || this._PossumButton.setAnimation('Off')); c.runLater( 700, function (b) { a._HomeButton.moveBy(0, 68, 0.7, v.elasticOut); b = a._StarCount; (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && a._StarCount.moveBy(0, 76, 0.7, v.elasticOut); b = a._AdsButton; (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && a._AdsButton.moveBy(0, 68, 0.7, v.elasticOut); 560 < c.getScreenWidth() && a._WorldTitle.moveBy(0, 76, 0.7, v.elasticOut); b = a._PossumButton; (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && a._PossumButton.moveBy(0, -68, 0.7, v.elasticOut); b = a._TimerButton; (c.isPrimitive(b) || ('string' == typeof b ? '' != w.__cast(b, String) : null != b)) && a._TimerButton.moveBy(0, -68, 0.7, v.elasticOut); c.runLater( 700, function (b) { a._InPosition = !0; }, null ); }, null ); this._Cursor.moveToTop(); if ('World 1 Select' == c.getCurrentSceneName()) { this._CloudsWidth = 480; b = 0; for (d = Math.ceil(c.getScreenWidth() / this._CloudsWidth) + 1; b < d; ) (e = b++), c.createRecycledActorOnLayer( c.getActorType(716), this._CloudsWidth * e, c.getScreenHeight() - 320, c.engine.getLayerById(2) ), c.getLastCreatedActor().moveToBottom(); c.createRecycledActorOnLayer(c.getActorType(719), 0, 0, c.engine.getLayerById(2)); c.getLastCreatedActor().setY(c.getScreenHeight() - c.getLastCreatedActor().getHeight()); for (this._BeachBGWidth = c.getLastCreatedActor().getWidth(); !this._BeachBGCreated; ) this._BeachBGWidth < c.getScreenWidth() ? (c.createRecycledActorOnLayer( c.getActorType(719), c.getLastCreatedActor().getX() + c.getLastCreatedActor().getWidth(), 0, c.engine.getLayerById(2) ), c .getLastCreatedActor() .setY(c.getScreenHeight() - c.getLastCreatedActor().getHeight()), (this._BeachBGWidth += c.getLastCreatedActor().getWidth())) : (this._BeachBGCreated = !0); } else if ('World 2 Select' == c.getCurrentSceneName()) { this._CloudsWidth = 480; b = 0; for (d = Math.ceil(c.getScreenWidth() / this._CloudsWidth) + 1; b < d; ) (e = b++), c.createRecycledActorOnLayer( c.getActorType(724), this._CloudsWidth * e, c.getScreenHeight() - 400, c.engine.getLayerById(2) ), c.getLastCreatedActor().moveToBottom(); c.createRecycledActorOnLayer(c.getActorType(726), 0, 0, c.engine.getLayerById(2)); c.getLastCreatedActor().setY(c.getScreenHeight() - c.getLastCreatedActor().getHeight()); for (this._BeachBGWidth = c.getLastCreatedActor().getWidth(); !this._BeachBGCreated; ) this._BeachBGWidth < c.getScreenWidth() ? (c.createRecycledActorOnLayer( c.getActorType(726), c.getLastCreatedActor().getX() + c.getLastCreatedActor().getWidth(), 0, c.engine.getLayerById(2) ), c .getLastCreatedActor() .setY(c.getScreenHeight() - c.getLastCreatedActor().getHeight()), (this._BeachBGWidth += c.getLastCreatedActor().getWidth())) : (this._BeachBGCreated = !0); } else if ('World 3 Select' == c.getCurrentSceneName()) { this._CloudsWidth = 480; b = 0; for (d = Math.ceil(c.getScreenWidth() / this._CloudsWidth) + 1; b < d; ) (e = b++), c.createRecycledActorOnLayer( c.getActorType(739), this._CloudsWidth * e, c.getScreenHeight() - 400, c.engine.getLayerById(2) ), c.getLastCreatedActor().moveToBottom(); c.createRecycledActorOnLayer(c.getActorType(737), 0, 0, c.engine.getLayerById(2)); c.getLastCreatedActor().setY(c.getScreenHeight() - c.getLastCreatedActor().getHeight()); for (this._BeachBGWidth = c.getLastCreatedActor().getWidth(); !this._BeachBGCreated; ) this._BeachBGWidth < c.getScreenWidth() ? (c.createRecycledActorOnLayer( c.getActorType(737), c.getLastCreatedActor().getX() + c.getLastCreatedActor().getWidth(), 0, c.engine.getLayerById(2) ), c .getLastCreatedActor() .setY(c.getScreenHeight() - c.getLastCreatedActor().getHeight()), (this._BeachBGWidth += c.getLastCreatedActor().getWidth())) : (this._BeachBGCreated = !0); } else 'World 5 Select' == c.getCurrentSceneName() && c.createRecycledActorOnLayer(c.getActorType(754), 0, 0, c.engine.getLayerById(2)); this.addListener(c.engine.whenUpdated, m(this, this._event_Updating)); this.addListener(c.engine.whenDrawing, m(this, this._event_Clouds)); c.runPeriodically(600, m(this, this._event_Leaves), null); }, forwardMessage: function (a) {}, __class__: px }); var qx = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Origin X'] = '_OriginX'; this._OriginX = 0; this.nameMap.h['Origin Y'] = '_OriginY'; this._OriginY = 0; this.nameMap.h['Distance X'] = '_DistanceX'; this._DistanceX = 0; this.nameMap.h['Distance Y'] = '_DistanceY'; this._DistanceY = 0; this.nameMap.h['Starting Level'] = '_StartingLevel'; this._StartingLevel = 0; this.nameMap.h['Button Pressed'] = '_ButtonPressed'; this._ButtonPressed = !1; this.nameMap.h['Next Button'] = '_NextButton'; this.nameMap.h['Previous Button'] = '_PreviousButton'; this.nameMap.h['Current World'] = '_CurrentWorld'; this._CurrentWorld = !1; this.nameMap.h['Current Level Button'] = '_CurrentLevelButton'; this.nameMap.h['Right Scroll Limit'] = '_RightScrollLimit'; this._RightScrollLimit = 0; this.nameMap.h.Cursor = '_Cursor'; this.nameMap.h['Left Scroll Limit'] = '_LeftScrollLimit'; this._LeftScrollLimit = 0; this.nameMap.h['0 X'] = '_0X'; this._0X = 0; this.nameMap.h['Can Go'] = '_CanGo'; this._CanGo = !1; }; k['scripts.Design_713_713_OverworldFrameLogic'] = qx; qx.__name__ = 'scripts.Design_713_713_OverworldFrameLogic'; qx.__super__ = n; qx.prototype = t(n.prototype, { _OriginX: null, _OriginY: null, _DistanceX: null, _DistanceY: null, _StartingLevel: null, _ButtonPressed: null, _NextButton: null, _PreviousButton: null, _CurrentWorld: null, _CurrentLevelButton: null, _RightScrollLimit: null, _Cursor: null, _LeftScrollLimit: null, _0X: null, _CanGo: null, _event_Updating: function (a) { if ( this.wrapper.enabled && this._CanGo && !this._ButtonPressed && !c.getValueForScene('Overworld Logic', '_ButtonPressed') ) { a = this._NextButton; if ( (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._NextButton.isMousePressed() ) { this._ButtonPressed = !0; this._NextButton.setAnimation('Down'); a = 0; for (var b = c.getActorsOfType(c.getActorType(244)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); } a = 0; for (b = c.getActorsOfType(c.getActorType(248)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(246)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(291)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(527)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(1083)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(539)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, 70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(622)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, 70, 0.2, v.quadOut); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)); h.engine.gameAttributes.h['Wipe In Right'] = !0; h.engine.gameAttributes.h['Overworld Entered Left'] = !0; c.sayToScene('Transitions', '_customEvent_wipeOutRight'); c.runLater( 500, function (a) { if ('World 1 Select' == c.getCurrentSceneName()) { a = ra.get().scenes.h[133].getID(); var b = 0, d = 0, e = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); var h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e); e = d = b = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)); } else 'World 2 Select' == c.getCurrentSceneName() ? ((a = ra.get().scenes.h[134].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e))) : 'World 3 Select' == c.getCurrentSceneName() ? ((a = ra.get().scenes.h[135].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e))) : 'World 4 Select' == c.getCurrentSceneName() && ((a = ra.get().scenes.h[136].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e))); }, this.actor ); } a = this._PreviousButton; if ( (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._PreviousButton.isMousePressed() ) { this._ButtonPressed = !0; this._PreviousButton.setAnimation('Down'); a = 0; for (b = c.getActorsOfType(c.getActorType(244)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(248)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(246)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(291)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(527)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(1083)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(539)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, 70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(622)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, 70, 0.2, v.quadOut); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)); h.engine.gameAttributes.h['Wipe In Left'] = !0; h.engine.gameAttributes.h['Overworld Entered Right'] = !0; c.sayToScene('Transitions', '_customEvent_wipeOutLeft'); c.runLater( 500, function (a) { if ('World 2 Select' == c.getCurrentSceneName()) { a = ra.get().scenes.h[5].getID(); var b = 0, d = 0, e = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); var h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e); e = d = b = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)); } else 'World 3 Select' == c.getCurrentSceneName() ? ((a = ra.get().scenes.h[133].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e))) : 'World 4 Select' == c.getCurrentSceneName() ? ((a = ra.get().scenes.h[134].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e))) : 'World 5 Select' == c.getCurrentSceneName() && ((a = ra.get().scenes.h[135].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e))); }, this.actor ); } } }, _event_Controller: function (a, b) { if (this.wrapper.enabled && a && h.engine.getGameAttribute('Controller Mode')) { a = 0; for (b = c.getActorsOfType(c.getActorType(589)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || (this._Cursor = d); } a = this._Cursor; if ( (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && !this._ButtonPressed && !c.getValueForScene('Overworld Logic', '_ButtonPressed') ) { a = this._NextButton; if ( (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Cursor.getScreenX() + 24 >= this._NextButton.getScreenX() && this._Cursor.getScreenX() + 24 < this._NextButton.getScreenX() + this._NextButton.getWidth() && this._Cursor.getScreenY() + 24 >= this._NextButton.getScreenY() && this._Cursor.getScreenY() + 24 < this._NextButton.getScreenY() + this._NextButton.getHeight() ) { this._ButtonPressed = !0; this._NextButton.setAnimation('Down'); a = 0; for (b = c.getActorsOfType(c.getActorType(244)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(248)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(246)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(291)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(527)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(1083)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(539)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, 70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(622)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, 70, 0.2, v.quadOut); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)); h.engine.gameAttributes.h['Wipe In Right'] = !0; h.engine.gameAttributes.h['Overworld Entered Left'] = !0; c.sayToScene('Transitions', '_customEvent_wipeOutRight'); c.runLater( 500, function (a) { if ('World 1 Select' == c.getCurrentSceneName()) { a = ra.get().scenes.h[133].getID(); var b = 0, d = 0, e = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); var h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e); e = d = b = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)); } else 'World 2 Select' == c.getCurrentSceneName() ? ((a = ra.get().scenes.h[134].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e))) : 'World 3 Select' == c.getCurrentSceneName() ? ((a = ra.get().scenes.h[135].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e))) : 'World 4 Select' == c.getCurrentSceneName() && ((a = ra.get().scenes.h[136].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e))); }, this.actor ); } a = this._PreviousButton; if ( (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Cursor.getScreenX() + 24 >= this._PreviousButton.getScreenX() && this._Cursor.getScreenX() + 24 < this._PreviousButton.getScreenX() + this._PreviousButton.getWidth() && this._Cursor.getScreenY() + 24 >= this._PreviousButton.getScreenY() && this._Cursor.getScreenY() + 24 < this._PreviousButton.getScreenY() + this._PreviousButton.getHeight() ) { this._ButtonPressed = !0; this._PreviousButton.setAnimation('Down'); a = 0; for (b = c.getActorsOfType(c.getActorType(244)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(248)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(246)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(291)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(527)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(1083)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, -70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(539)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, 70, 0.2, v.quadOut); a = 0; for (b = c.getActorsOfType(c.getActorType(622)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveBy(0, 70, 0.2, v.quadOut); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(252)); h.engine.gameAttributes.h['Wipe In Left'] = !0; h.engine.gameAttributes.h['Overworld Entered Right'] = !0; c.sayToScene('Transitions', '_customEvent_wipeOutLeft'); c.runLater( 500, function (a) { if ('World 2 Select' == c.getCurrentSceneName()) { a = ra.get().scenes.h[5].getID(); var b = 0, d = 0, e = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); var h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e); e = d = b = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)); } else 'World 3 Select' == c.getCurrentSceneName() ? ((a = ra.get().scenes.h[133].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e))) : 'World 4 Select' == c.getCurrentSceneName() ? ((a = ra.get().scenes.h[134].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e))) : 'World 5 Select' == c.getCurrentSceneName() && ((a = ra.get().scenes.h[135].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (h = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, h, c.createFadeIn(0.1, (b << 16) | (d << 8) | e))); }, this.actor ); } } } }, init: function () { var a = this; c.runLater( 600, function (b) { a._CanGo = !0; }, this.actor ); this.actor.makeAlwaysSimulate(); this.actor.setAnimation('Normal'); 1 < this._StartingLevel && (c.createRecycledActor( c.getActorType(289), this.actor.getX() - 64, this.actor.getY() - 2, 0 ), (this._PreviousButton = c.getLastCreatedActor())); 40 > this._StartingLevel && h.engine.getGameAttribute('Highest Level') >= this._StartingLevel + 9 && (c.createRecycledActor( c.getActorType(285), this.actor.getX() + (this.actor.getWidth() + 32), this.actor.getY() - 2, 0 ), (this._NextButton = c.getLastCreatedActor())); c.createRecycledActor(c.getActorType(277), this.actor.getX(), this.actor.getY(), 0); c.getLastCreatedActor().setValue( 'Level Button Logic', '_LevelNumber', this._StartingLevel ); this._StartingLevel += 1; c.createRecycledActor(c.getActorType(277), this.actor.getX() + 84, this.actor.getY(), 0); c.getLastCreatedActor().setValue( 'Level Button Logic', '_LevelNumber', this._StartingLevel ); this._StartingLevel += 1; c.createRecycledActor( c.getActorType(277), this.actor.getX() + 84, this.actor.getY() + 84, 0 ); c.getLastCreatedActor().setValue( 'Level Button Logic', '_LevelNumber', this._StartingLevel ); this._StartingLevel += 1; c.createRecycledActor( c.getActorType(277), this.actor.getX() + 168, this.actor.getY() + 84, 0 ); c.getLastCreatedActor().setValue( 'Level Button Logic', '_LevelNumber', this._StartingLevel ); this._StartingLevel += 1; c.createRecycledActor( c.getActorType(277), this.actor.getX() + 252, this.actor.getY() + 84, 0 ); c.getLastCreatedActor().setValue( 'Level Button Logic', '_LevelNumber', this._StartingLevel ); this._StartingLevel += 1; c.createRecycledActor(c.getActorType(277), this.actor.getX() + 252, this.actor.getY(), 0); c.getLastCreatedActor().setValue( 'Level Button Logic', '_LevelNumber', this._StartingLevel ); this._StartingLevel += 1; c.createRecycledActor(c.getActorType(277), this.actor.getX() + 336, this.actor.getY(), 0); c.getLastCreatedActor().setValue( 'Level Button Logic', '_LevelNumber', this._StartingLevel ); this._StartingLevel += 1; c.createRecycledActor(c.getActorType(277), this.actor.getX() + 420, this.actor.getY(), 0); c.getLastCreatedActor().setValue( 'Level Button Logic', '_LevelNumber', this._StartingLevel ); this._StartingLevel += 1; c.createRecycledActor( c.getActorType(277), this.actor.getX() + 420, this.actor.getY() + 84, 0 ); c.getLastCreatedActor().setValue( 'Level Button Logic', '_LevelNumber', this._StartingLevel ); this._StartingLevel += 1; c.createRecycledActor( c.getActorType(277), this.actor.getX() + 504, this.actor.getY() + 84, 0 ); c.getLastCreatedActor().setValue( 'Level Button Logic', '_LevelNumber', this._StartingLevel ); for (var b = 0, d = c.getActorsOfType(c.getActorType(277)); b < d.length; ) { var e = d[b]; ++b; null == e || e.dead || e.recycled || (e.moveToBottom(), this.actor.getType() == c.getActorType(261) && e.setValue('Level Button Logic', '_Dark', !0), e.say('Level Button Logic', '_customEvent_Go')); } c.engine.moveCamera(0, this.actor.getYCenter()); b = 0; for (d = c.getActorsOfType(c.getActorType(277)); b < d.length; ) (e = d[b]), ++b, null == e || e.dead || e.recycled || e.getValue('Level Button Logic', '_LevelNumber') != h.engine.getGameAttribute('Last Played Level') || ((this._CurrentWorld = !0), (this._CurrentLevelButton = e)); this._0X = this.actor.getX() - 98; c.getScreenWidth() > this.actor.getWidth() + 128 ? ((this._RightScrollLimit = this.actor.getXCenter() + 16), (this._LeftScrollLimit = this.actor.getXCenter() - 16)) : ((this._RightScrollLimit = this._0X + Math.max( 696 - c.getScreenWidth() / 2 + 64, c.getScreenWidth() + 64 - c.getScreenWidth() / 2 )), (this._LeftScrollLimit = this._0X + c.getScreenWidth() / 2)); this._CurrentWorld && !h.engine.getGameAttribute('Overworld Entered Left') ? c.createRecycledActor( c.getActorType(273), Math.min( this._RightScrollLimit, Math.max(this._LeftScrollLimit, this._CurrentLevelButton.getXCenter()) ), this.actor.getYCenter(), 0 ) : h.engine.getGameAttribute('Overworld Entered Right') ? ((h.engine.gameAttributes.h['Overworld Entered Right'] = !1), c.createRecycledActor( c.getActorType(273), Math.min(this._RightScrollLimit, this.actor.getX() + this.actor.getWidth()), this.actor.getYCenter(), 0 )) : ((h.engine.gameAttributes.h['Overworld Entered Left'] = !1), c.createRecycledActor( c.getActorType(273), Math.max(this._LeftScrollLimit, this.actor.getX()), this.actor.getYCenter(), 0 )); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener( c.engine.whenKeyPressedEvents.getOrCreateEvent('action1'), m(this, this._event_Controller) ); }, forwardMessage: function (a) {}, __class__: qx }); var rx = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Gravity Speed'] = '_GravitySpeed'; this._GravitySpeed = 0; this.nameMap.h['On Ground'] = '_OnGround'; this._OnGround = !1; this.nameMap.h['Ground Check'] = '_GroundCheck'; this._GroundCheck = !1; this.nameMap.h.Left = '_Left'; this._Left = !1; this.nameMap.h['Number Of Hops'] = '_NumberOfHops'; this._NumberOfHops = 1; this.nameMap.h['Hop Count'] = '_HopCount'; this._HopCount = 0; this.nameMap.h.Hopping = '_Hopping'; this._Hopping = !1; this.nameMap.h['Start Y'] = '_StartY'; this._StartY = 0; this.nameMap.h['On Platform'] = '_OnPlatform'; this._OnPlatform = !1; this.nameMap.h.Dead = '_Dead'; this._Dead = !1; this.nameMap.h['Straight Up'] = '_StraightUp'; this._StraightUp = !1; this.nameMap.h.Splash = '_Splash'; this._Splash = !1; }; k['scripts.Design_73_73_HoppingMovement'] = rx; rx.__name__ = 'scripts.Design_73_73_HoppingMovement'; rx.__super__ = n; rx.prototype = t(n.prototype, { _GravitySpeed: null, _OnGround: null, _GroundCheck: null, _Left: null, _NumberOfHops: null, _HopCount: null, _Hopping: null, _StartY: null, _OnPlatform: null, _Dead: null, _StraightUp: null, _Splash: null, _event_Updating: function (a) { var b = this; if (this.wrapper.enabled && !this._Dead) { if (this._GroundCheck || (this._OnPlatform && this.actor.getY() >= this._StartY)) { if ((this._OnPlatform && this.actor.setY(this._StartY), !this._OnGround)) { this._OnGround = !0; this.actor.setAnimation('Idle'); this.actor.setXVelocity(0); this._Splash && this.actor.isOnScreen() && (h.engine.getGameAttribute('Sound Disabled') || c.playSoundOnChannel(c.getSound(617), 5), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(0) ), c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(0) ), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth() - 8, this.actor.getYCenter() - 8, c.engine.getLayerById(0) ), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut)); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().setAnimation('Small'); c.getLastCreatedActor().moveBy(-16, -16, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getXCenter() - 8, this.actor.getY() + this.actor.getHeight() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(16, -16, 0.3, v.backOut); c.getLastCreatedActor().setAnimation('Small'); if (this.actor.isOnScreen()) { a = 0; for (var d = c.getActorsOfType(c.getActorType(2)); a < d.length; ) { var e = d[a]; ++a; null == e || e.dead || e.recycled || (this.actor.getXCenter() > e.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); } } this.actor.isOnScreen() && !h.engine.getGameAttribute('Sound Disabled') && c.playSound(c.getSound(117)); this._Hopping && ((this._Hopping = !1), c.runLater( 500, function (a) { b.actor.say('Hopping Movement', '_customEvent_Hop'); }, this.actor )); } } else this._OnGround && (this._OnGround = !1); this._GroundCheck = !1; (this._OnPlatform && this.actor.getY() >= this._StartY) || this.actor.setYVelocity(Math.min(this.actor.getYVelocity() + 2, this._GravitySpeed)); } }, _event_ActorAny: function (a) { var b = this; this.wrapper.enabled && (this._OnPlatform || (this.internalGetGroup(a.otherActor, a.otherShape, a) != c.getActorGroup(1) && this.internalGetGroup(a.otherActor, a.otherShape, a) != c.getActorGroup(8)) || !a.thisFromBottom || (this._GroundCheck = !0), a.otherActor.getType() != c.getActorType(203) || this._Dead || ((this._Dead = !0), this.actor.setFilter([c.createBrightnessFilter(100)]), c.runLater( 100, function (a) { h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(378)); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(-32, 32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), b.actor.getXCenter() - 8, b.actor.getYCenter() - 8, c.engine.getLayerById(b.actor.getLayerID()) ); c.getLastCreatedActor().moveBy(32, 32, 0.3, v.backOut); c.recycleActor(b.actor); }, this.actor ))); }, _customEvent_Hop: function () { var a = this; this._Dead || ((this._Hopping = !0), this.actor.setAnimation('Crouch'), c.runLater( 340, function (b) { a.actor.setAnimation('Jump'); }, this.actor ), c.runLater( 400, function (b) { a.actor.setYVelocity(-80); a._Splash && a.actor.isOnScreen() && (h.engine.getGameAttribute('Sound Disabled') || c.playSoundOnChannel(c.getSound(617), 5), c.createRecycledActorOnLayer( c.getActorType(94), a.actor.getXCenter() - 8, a.actor.getYCenter() - 8, c.engine.getLayerById(0) ), c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), a.actor.getX() - 8, a.actor.getYCenter() - 8, c.engine.getLayerById(0) ), c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut), c.createRecycledActorOnLayer( c.getActorType(94), a.actor.getX() + a.actor.getWidth() - 8, a.actor.getYCenter() - 8, c.engine.getLayerById(0) ), c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut)); a._StraightUp || (a._Left ? a.actor.setXVelocity(11.6) : a.actor.setXVelocity(-11.6)); }, this.actor ), (this._HopCount += 1), this._HopCount >= this._NumberOfHops && ((this._HopCount = 0), (this._Left = this._Left ? !1 : !0))); }, init: function () { var a = this; this.actor.makeAlwaysSimulate(); this._GravitySpeed = 48; this._GroundCheck = this._OnGround = !0; this._StartY = this.actor.getY(); c.runLater( 1e3, function (b) { a.actor.say('Hopping Movement', '_customEvent_Hop'); }, this.actor ); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); this.addListener(this.actor.whenCollided, m(this, this._event_ActorAny)); }, forwardMessage: function (a) {}, __class__: rx }); var sx = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h['Left Side'] = '_LeftSide'; this.nameMap.h['Right Side'] = '_RightSide'; this.nameMap.h['Text Scroll Up Delay'] = '_TextScrollUpDelay'; this._TextScrollUpDelay = 0; this.nameMap.h['Text Scrolling Up'] = '_TextScrollingUp'; this._TextScrollingUp = !1; this.nameMap.h['Display Character Count'] = '_DisplayCharacterCount'; this._DisplayCharacterCount = 0; this.nameMap.h['Dialog Text List'] = '_DialogTextList'; this.nameMap.h['Current Page'] = '_CurrentPage'; this._CurrentPage = 0; this.nameMap.h['Last Page'] = '_LastPage'; this._LastPage = !1; this.nameMap.h['Auto Close'] = '_AutoClose'; this._AutoClose = !1; this.nameMap.h['Current Paragraph'] = '_CurrentParagraph'; this._CurrentParagraph = 1; this.nameMap.h['Paragraph List'] = '_ParagraphList'; this.nameMap.h['End Of Paragraph'] = '_EndOfParagraph'; this._EndOfParagraph = !1; this.nameMap.h['Page Down Flash'] = '_PageDownFlash'; this._PageDownFlash = !1; this.nameMap.h['Action Text Actioned'] = '_ActionTextActioned'; this._ActionTextActioned = !1; this.nameMap.h['Show Down Arrow'] = '_ShowDownArrow'; this._ShowDownArrow = !1; this.nameMap.h['All lines split'] = '_Alllinessplit'; this._Alllinessplit = !1; this.nameMap.h['Dialog Text Has Value'] = '_DialogTextHasValue'; this._DialogTextHasValue = !1; this.nameMap.h['Space Found'] = '_SpaceFound'; this._SpaceFound = !1; this.nameMap.h['Space Finder'] = '_SpaceFinder'; this._SpaceFinder = 0; this.nameMap.h["Don't Clear"] = '_DontClear'; this._DontClear = !1; this.nameMap.h['Dialog Text'] = '_DialogText'; this._DialogText = ''; this.nameMap.h['Paragraph Text'] = '_ParagraphText'; this._ParagraphText = ''; this.nameMap.h['Line Limit'] = '_LineLimit'; this._LineLimit = 0; this.nameMap.h.Portrait = '_Portrait'; this.nameMap.h['Down Arrow'] = '_DownArrow'; this.nameMap.h['Character Count Stagger'] = '_CharacterCountStagger'; this._CharacterCountStagger = 0; this.nameMap.h['Last Character'] = '_LastCharacter'; this._LastCharacter = ''; this.nameMap.h['Voice On'] = '_VoiceOn'; this._VoiceOn = !1; this.nameMap.h['Voice Stagger'] = '_VoiceStagger'; this._VoiceStagger = 0; this.nameMap.h['Previous Voice Sample'] = '_PreviousVoiceSample'; this._PreviousVoiceSample = 0; this.nameMap.h['Voice Sample RN'] = '_VoiceSampleRN'; this._VoiceSampleRN = 0; this.nameMap.h['Vowels List'] = '_VowelsList'; this.nameMap.h['Sentence Pitch'] = '_SentencePitch'; this._SentencePitch = 0; this.nameMap.h['Pitch Up'] = '_PitchUp'; this._PitchUp = !1; this.nameMap.h['New Sentence'] = '_NewSentence'; this._NewSentence = !1; this.nameMap.h['Ended Sentence'] = '_EndedSentence'; this._EndedSentence = !1; this.nameMap.h.Start = '_Start'; this._Start = !1; this.nameMap.h['Total Text Length'] = '_TotalTextLength'; this._TotalTextLength = 0; this.nameMap.h['Display Character Count 2'] = '_DisplayCharacterCount2'; this._DisplayCharacterCount2 = 0; this.nameMap.h['Pitch Jump Count'] = '_PitchJumpCount'; this._PitchJumpCount = 0; this.nameMap.h['Skip Speech'] = '_SkipSpeech'; this._SkipSpeech = !1; this.nameMap.h.Character = '_Character'; this._Character = 'Dadish'; this.nameMap.h['Character Voice'] = '_CharacterVoice'; this._CharacterVoice = ''; this.nameMap.h.Go = '_Go'; this._Go = !1; this.nameMap.h.Top = '_Top'; this._Top = !1; this.nameMap.h['Character 1'] = '_Character1'; this._Character1 = ''; this.nameMap.h['Character 2'] = '_Character2'; this._Character2 = ''; this.nameMap.h['Switch Characters'] = '_SwitchCharacters'; this._SwitchCharacters = !1; this.nameMap.h.Parent = '_Parent'; this.nameMap.h.Screech = '_Screech'; this._Screech = !1; this.nameMap.h['No First Screech'] = '_NoFirstScreech'; this._NoFirstScreech = !1; this.nameMap.h.Margin = '_Margin'; this._Margin = 0; this.nameMap.h['Draw Shadow'] = '_DrawShadow'; this._DrawShadow = !1; this.nameMap.h['Font To Use'] = '_FontToUse'; this.nameMap.h['Last Voice Character'] = '_LastVoiceCharacter'; this._LastVoiceCharacter = ''; this.nameMap.h['Dummy Text For Voice'] = '_DummyTextForVoice'; this._DummyTextForVoice = ''; this.nameMap.h['Dummy Text Position'] = '_DummyTextPosition'; this._DummyTextPosition = 0; this.nameMap.h['Voice Off'] = '_VoiceOff'; this._VoiceOff = !1; this.nameMap.h['Button Input'] = '_ButtonInput'; this._ButtonInput = ''; this.nameMap.h['Button Is Down'] = '_ButtonIsDown'; this._ButtonIsDown = !1; this.nameMap.h['Down Button ID'] = '_DownButtonID'; this._DownButtonID = ''; }; k['scripts.Design_83_83_DialogBoxLogic'] = sx; sx.__name__ = 'scripts.Design_83_83_DialogBoxLogic'; sx.__super__ = n; sx.prototype = t(n.prototype, { _LeftSide: null, _RightSide: null, _TextScrollUpDelay: null, _TextScrollingUp: null, _DisplayCharacterCount: null, _DialogTextList: null, _CurrentPage: null, _LastPage: null, _AutoClose: null, _CurrentParagraph: null, _ParagraphList: null, _EndOfParagraph: null, _PageDownFlash: null, _ActionTextActioned: null, _ShowDownArrow: null, _Alllinessplit: null, _DialogTextHasValue: null, _SpaceFound: null, _SpaceFinder: null, _DontClear: null, _DialogText: null, _ParagraphText: null, _LineLimit: null, _Portrait: null, _DownArrow: null, _CharacterCountStagger: null, _LastCharacter: null, _VoiceOn: null, _VoiceStagger: null, _PreviousVoiceSample: null, _VoiceSampleRN: null, _VowelsList: null, _SentencePitch: null, _PitchUp: null, _NewSentence: null, _EndedSentence: null, _Start: null, _TotalTextLength: null, _DisplayCharacterCount2: null, _PitchJumpCount: null, _SkipSpeech: null, _Character: null, _CharacterVoice: null, _Go: null, _Top: null, _Character1: null, _Character2: null, _SwitchCharacters: null, _Parent: null, _Screech: null, _NoFirstScreech: null, _Margin: null, _DrawShadow: null, _FontToUse: null, _LastVoiceCharacter: null, _DummyTextForVoice: null, _DummyTextPosition: null, _VoiceOff: null, _ButtonInput: null, _ButtonIsDown: null, _DownButtonID: null, _event_Text: function (a, b, d) { if ( this.wrapper.enabled && this._Go && (c.setDrawingLayer(c.engine.getLayerById(this.actor.getLayerID())), this._Alllinessplit) ) if ( ((d = c.getFont(165)), null != d && d != a.font && (a.font = d), this._TextScrollingUp) ) { if (this._CurrentPage - 1 < this._DialogTextList.length) { if (this._DrawShadow) { d = c.getFont(165); null != d && d != a.font && (a.font = d); d = T.replace( ('' + z.string(this._DialogTextList[(this._CurrentPage - 1) | 0])).substring( 0, Math.min( ('' + z.string(this._DialogTextList[(this._CurrentPage - 1) | 0])).length, this._DisplayCharacterCount ) | 0 ), '#', '' ); b = 96 + (this._Margin / 2 + 2); null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)); if (a.drawActor) if (null != a.actor && a.actor.isHUD) { b = a.x + b * a.scaleX; var e = a.y + 16 * a.scaleY; } else (b = a.x + b * a.scaleX - h.cameraX), (e = a.y + 16 * a.scaleY - h.cameraY); else (b = a.x + b * a.scaleX), (e = a.y + 16 * a.scaleY); a.mtx.identity(); a.mtx.translate(b, e); var f = null, g = a.font; g = d + ':' + g.ID + ':' + a.alpha + ':' + g.letterSpacing + ':' + h.SCALE; if (Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, g)) (d = ha.drawnStringCache.h[g]), (d.lifetime = 5), (f = d.img); else { var l = a.font.font.getTextWidth(d, a.font.letterSpacing, a.font.fontScale), k = (a.font.font.getFontHeight() * a.font.fontScale) | 0; 0 < l && 0 < k && ((f = new la(l, k, !0, 0)), a.font.font.renderToImg( f, d, 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (d = new sc()), (d.img = f), (d.lifetime = 5), (ha.drawnStringCache.h[g] = d), ha.drawnStringCacheKeys.push(g)); } null != f && (a.graphics.beginBitmapFill(f, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, e, f.width, f.height), a.graphics.endFill()); } d = this._FontToUse; null != d && d != a.font && (a.font = d); d = T.replace( ('' + z.string(this._DialogTextList[(this._CurrentPage - 1) | 0])).substring( 0, Math.min( ('' + z.string(this._DialogTextList[(this._CurrentPage - 1) | 0])).length, this._DisplayCharacterCount ) | 0 ), '#', '' ); b = 96 + this._Margin / 2; null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)); a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + b * a.scaleX), (e = a.y + 14 * a.scaleY)) : ((b = a.x + b * a.scaleX - h.cameraX), (e = a.y + 14 * a.scaleY - h.cameraY)) : ((b = a.x + b * a.scaleX), (e = a.y + 14 * a.scaleY)); a.mtx.identity(); a.mtx.translate(b, e); f = null; g = a.font; g = d + ':' + g.ID + ':' + a.alpha + ':' + g.letterSpacing + ':' + h.SCALE; Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, g) ? ((d = ha.drawnStringCache.h[g]), (d.lifetime = 5), (f = d.img)) : ((l = a.font.font.getTextWidth(d, a.font.letterSpacing, a.font.fontScale)), (k = (a.font.font.getFontHeight() * a.font.fontScale) | 0), 0 < l && 0 < k && ((f = new la(l, k, !0, 0)), a.font.font.renderToImg( f, d, 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (d = new sc()), (d.img = f), (d.lifetime = 5), (ha.drawnStringCache.h[g] = d), ha.drawnStringCacheKeys.push(g))); null != f && (a.graphics.beginBitmapFill(f, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, e, f.width, f.height), a.graphics.endFill()); } this._CurrentPage < this._DialogTextList.length && (this._DrawShadow && ((d = c.getFont(165)), null != d && d != a.font && (a.font = d), (d = T.replace( ('' + z.string(this._DialogTextList[this._CurrentPage | 0])).substring( 0, Math.min( ('' + z.string(this._DialogTextList[this._CurrentPage | 0])).length, this._DisplayCharacterCount ) | 0 ), '#', '' )), (b = 96 + (this._Margin / 2 + 2)), null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)), a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + b * a.scaleX), (e = a.y + 44 * a.scaleY)) : ((b = a.x + b * a.scaleX - h.cameraX), (e = a.y + 44 * a.scaleY - h.cameraY)) : ((b = a.x + b * a.scaleX), (e = a.y + 44 * a.scaleY)), a.mtx.identity(), a.mtx.translate(b, e), (f = null), (g = a.font), (g = d + ':' + g.ID + ':' + a.alpha + ':' + g.letterSpacing + ':' + h.SCALE), Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, g) ? ((d = ha.drawnStringCache.h[g]), (d.lifetime = 5), (f = d.img)) : ((l = a.font.font.getTextWidth(d, a.font.letterSpacing, a.font.fontScale)), (k = (a.font.font.getFontHeight() * a.font.fontScale) | 0), 0 < l && 0 < k && ((f = new la(l, k, !0, 0)), a.font.font.renderToImg( f, d, 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (d = new sc()), (d.img = f), (d.lifetime = 5), (ha.drawnStringCache.h[g] = d), ha.drawnStringCacheKeys.push(g))), null != f && (a.graphics.beginBitmapFill(f, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, e, f.width, f.height), a.graphics.endFill())), (d = this._FontToUse), null != d && d != a.font && (a.font = d), (d = T.replace( ('' + z.string(this._DialogTextList[this._CurrentPage | 0])).substring( 0, Math.min( ('' + z.string(this._DialogTextList[this._CurrentPage | 0])).length, this._DisplayCharacterCount ) | 0 ), '#', '' )), (b = 96 + this._Margin / 2), null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)), a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + b * a.scaleX), (e = a.y + 42 * a.scaleY)) : ((b = a.x + b * a.scaleX - h.cameraX), (e = a.y + 42 * a.scaleY - h.cameraY)) : ((b = a.x + b * a.scaleX), (e = a.y + 42 * a.scaleY)), a.mtx.identity(), a.mtx.translate(b, e), (f = null), (g = a.font), (g = d + ':' + g.ID + ':' + a.alpha + ':' + g.letterSpacing + ':' + h.SCALE), Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, g) ? ((d = ha.drawnStringCache.h[g]), (d.lifetime = 5), (f = d.img)) : ((l = a.font.font.getTextWidth(d, a.font.letterSpacing, a.font.fontScale)), (k = (a.font.font.getFontHeight() * a.font.fontScale) | 0), 0 < l && 0 < k && ((f = new la(l, k, !0, 0)), a.font.font.renderToImg( f, d, 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (d = new sc()), (d.img = f), (d.lifetime = 5), (ha.drawnStringCache.h[g] = d), ha.drawnStringCacheKeys.push(g))), null != f && (a.graphics.beginBitmapFill(f, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, e, f.width, f.height), a.graphics.endFill())); } else this._CurrentPage < this._DialogTextList.length && (this._DrawShadow && ((d = c.getFont(165)), null != d && d != a.font && (a.font = d), (d = T.replace( ('' + z.string(this._DialogTextList[this._CurrentPage | 0])).substring( 0, Math.min( ('' + z.string(this._DialogTextList[this._CurrentPage | 0])).length, this._DisplayCharacterCount ) | 0 ), '#', '' )), (b = 96 + (this._Margin / 2 + 2)), null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)), a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + b * a.scaleX), (e = a.y + 24 * a.scaleY)) : ((b = a.x + b * a.scaleX - h.cameraX), (e = a.y + 24 * a.scaleY - h.cameraY)) : ((b = a.x + b * a.scaleX), (e = a.y + 24 * a.scaleY)), a.mtx.identity(), a.mtx.translate(b, e), (f = null), (g = a.font), (g = d + ':' + g.ID + ':' + a.alpha + ':' + g.letterSpacing + ':' + h.SCALE), Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, g) ? ((d = ha.drawnStringCache.h[g]), (d.lifetime = 5), (f = d.img)) : ((l = a.font.font.getTextWidth(d, a.font.letterSpacing, a.font.fontScale)), (k = (a.font.font.getFontHeight() * a.font.fontScale) | 0), 0 < l && 0 < k && ((f = new la(l, k, !0, 0)), a.font.font.renderToImg( f, d, 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (d = new sc()), (d.img = f), (d.lifetime = 5), (ha.drawnStringCache.h[g] = d), ha.drawnStringCacheKeys.push(g))), null != f && (a.graphics.beginBitmapFill(f, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, e, f.width, f.height), a.graphics.endFill())), (d = this._FontToUse), null != d && d != a.font && (a.font = d), (d = T.replace( ('' + z.string(this._DialogTextList[this._CurrentPage | 0])).substring( 0, Math.min( ('' + z.string(this._DialogTextList[this._CurrentPage | 0])).length, this._DisplayCharacterCount ) | 0 ), '#', '' )), (b = 96 + this._Margin / 2), null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)), a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + b * a.scaleX), (e = a.y + 22 * a.scaleY)) : ((b = a.x + b * a.scaleX - h.cameraX), (e = a.y + 22 * a.scaleY - h.cameraY)) : ((b = a.x + b * a.scaleX), (e = a.y + 22 * a.scaleY)), a.mtx.identity(), a.mtx.translate(b, e), (f = null), (g = a.font), (g = d + ':' + g.ID + ':' + a.alpha + ':' + g.letterSpacing + ':' + h.SCALE), Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, g) ? ((d = ha.drawnStringCache.h[g]), (d.lifetime = 5), (f = d.img)) : ((l = a.font.font.getTextWidth(d, a.font.letterSpacing, a.font.fontScale)), (k = (a.font.font.getFontHeight() * a.font.fontScale) | 0), 0 < l && 0 < k && ((f = new la(l, k, !0, 0)), a.font.font.renderToImg( f, d, 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (d = new sc()), (d.img = f), (d.lifetime = 5), (ha.drawnStringCache.h[g] = d), ha.drawnStringCacheKeys.push(g))), null != f && (a.graphics.beginBitmapFill(f, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, e, f.width, f.height), a.graphics.endFill())), this._CurrentPage + 1 < this._DialogTextList.length && this._DisplayCharacterCount > ('' + z.string(this._DialogTextList[this._CurrentPage | 0])).length && (this._DrawShadow && ((d = c.getFont(165)), null != d && d != a.font && (a.font = d), (d = T.replace( ('' + z.string(this._DialogTextList[(this._CurrentPage + 1) | 0])).substring( 0, Math.min( ('' + z.string(this._DialogTextList[(this._CurrentPage + 1) | 0])).length, this._DisplayCharacterCount - ('' + z.string(this._DialogTextList[this._CurrentPage | 0])).length ) | 0 ), '#', '' )), (b = 96 + (this._Margin / 2 + 2)), null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)), a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + b * a.scaleX), (e = a.y + 52 * a.scaleY)) : ((b = a.x + b * a.scaleX - h.cameraX), (e = a.y + 52 * a.scaleY - h.cameraY)) : ((b = a.x + b * a.scaleX), (e = a.y + 52 * a.scaleY)), a.mtx.identity(), a.mtx.translate(b, e), (f = null), (g = a.font), (g = d + ':' + g.ID + ':' + a.alpha + ':' + g.letterSpacing + ':' + h.SCALE), Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, g) ? ((d = ha.drawnStringCache.h[g]), (d.lifetime = 5), (f = d.img)) : ((l = a.font.font.getTextWidth(d, a.font.letterSpacing, a.font.fontScale)), (k = (a.font.font.getFontHeight() * a.font.fontScale) | 0), 0 < l && 0 < k && ((f = new la(l, k, !0, 0)), a.font.font.renderToImg( f, d, 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (d = new sc()), (d.img = f), (d.lifetime = 5), (ha.drawnStringCache.h[g] = d), ha.drawnStringCacheKeys.push(g))), null != f && (a.graphics.beginBitmapFill(f, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, e, f.width, f.height), a.graphics.endFill())), (d = this._FontToUse), null != d && d != a.font && (a.font = d), (d = T.replace( ('' + z.string(this._DialogTextList[(this._CurrentPage + 1) | 0])).substring( 0, Math.min( ('' + z.string(this._DialogTextList[(this._CurrentPage + 1) | 0])).length, this._DisplayCharacterCount - ('' + z.string(this._DialogTextList[this._CurrentPage | 0])).length ) | 0 ), '#', '' )), (b = 96 + this._Margin / 2), null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)), a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + b * a.scaleX), (e = a.y + 50 * a.scaleY)) : ((b = a.x + b * a.scaleX - h.cameraX), (e = a.y + 50 * a.scaleY - h.cameraY)) : ((b = a.x + b * a.scaleX), (e = a.y + 50 * a.scaleY)), a.mtx.identity(), a.mtx.translate(b, e), (f = null), (g = a.font), (g = d + ':' + g.ID + ':' + a.alpha + ':' + g.letterSpacing + ':' + h.SCALE), Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, g) ? ((d = ha.drawnStringCache.h[g]), (d.lifetime = 5), (f = d.img)) : ((l = a.font.font.getTextWidth(d, a.font.letterSpacing, a.font.fontScale)), (k = (a.font.font.getFontHeight() * a.font.fontScale) | 0), 0 < l && 0 < k && ((f = new la(l, k, !0, 0)), a.font.font.renderToImg( f, d, 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (d = new sc()), (d.img = f), (d.lifetime = 5), (ha.drawnStringCache.h[g] = d), ha.drawnStringCacheKeys.push(g))), null != f && (a.graphics.beginBitmapFill(f, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, e, f.width, f.height), a.graphics.endFill())); }, _event_Updating: function (a) { if (this.wrapper.enabled && this._Go) { this.actor.setX(c.getScreenX() + this._Margin / 2); this._Top ? this.actor.setY(c.getScreenY() + this._Margin / 2) : this.actor.setY( c.getScreenY() + c.getScreenHeight() - (this.actor.getHeight() + this._Margin / 2) ); this._Portrait.setX(this.actor.getX()); this._Portrait.setY(this.actor.getY()); this._DownArrow.setY(this.actor.getY() + (this.actor.getHeight() - 24)); a = this._DialogText; if ( (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && !this._DialogTextHasValue ) { this._DialogTextHasValue = !0; this._ParagraphList = []; a = 0; for (var b = w.__cast(this._DialogText.split('|'), Array); a < b.length; ) { var d = b[a]; ++a; this._ParagraphList.push(d); } this._DialogTextList = []; for ( this._ParagraphText = '' + z.string(this._ParagraphList[(this._CurrentParagraph - 1) | 0]); !this._Alllinessplit; ) if (this._ParagraphText.length < this._LineLimit + 1) (this._Alllinessplit = !0), this._DialogTextList.push(this._ParagraphText); else for ( this._SpaceFound = !1, this._SpaceFinder = Math.min(this._ParagraphText.length, this._LineLimit); !this._SpaceFound; ) ' ' == this._ParagraphText.charAt(this._SpaceFinder | 0) || (('JP' == h.engine.getGameAttribute('Language') || 'CN' == h.engine.getGameAttribute('Language')) && '\u3002' != this._ParagraphText.charAt((this._SpaceFinder + 1) | 0) && '\uff1f' != this._ParagraphText.charAt((this._SpaceFinder + 1) | 0) && '\uff01' != this._ParagraphText.charAt((this._SpaceFinder + 1) | 0) && '\u3001' != this._ParagraphText.charAt((this._SpaceFinder + 1) | 0) && '.' != this._ParagraphText.charAt((this._SpaceFinder + 1) | 0)) ? ((this._SpaceFound = !0), 'JP' == h.engine.getGameAttribute('Language') || 'CN' == h.engine.getGameAttribute('Language') ? this._DialogTextList.push( this._ParagraphText.substring( 0, (this._LineLimit - (this._LineLimit - this._SpaceFinder) + 1) | 0 ) ) : this._DialogTextList.push( this._ParagraphText.substring( 0, (this._LineLimit - (this._LineLimit - this._SpaceFinder)) | 0 ) ), (this._ParagraphText = this._ParagraphText.substring( (this._LineLimit + 1 - (this._LineLimit - this._SpaceFinder)) | 0, this._ParagraphText.length ))) : --this._SpaceFinder; } this._CharacterVoice = 'Baby1' == this._Character || 'Baby2' == this._Character || 'Baby3' == this._Character || 'Baby4' == this._Character || 'Baby5' == this._Character || ('Baby6' == this._Character && this._NoFirstScreech) ? 'Baby' : 'Baby6' == this._Character ? 'Baby6' : 'Boss 6' == this._Character || 'Boss 7' == this._Character || 'Boss 8' == this._Character || 'Boss 9' == this._Character || 'Boss 10' == this._Character || 'Burgurgular' == this._Character || 'Boss 1' == this._Character || 'Baby12' == this._Character ? 'Boss' : 'Dadish'; } }, _event_Text2Working: function (a) { if (this.wrapper.enabled && this._Go) { if (this._Alllinessplit) { if (this._TextScrollingUp) --this._TextScrollUpDelay, 0 == this._TextScrollUpDelay && ((this._TextScrollingUp = !1), (this._DisplayCharacterCount = ( '' + z.string(this._DialogTextList[this._CurrentPage | 0]) ).length)), this._CurrentPage - 1 < this._DialogTextList.length && (this._TotalTextLength = ('' + z.string(this._DialogTextList[(this._CurrentPage - 1) | 0])).length + ('' + z.string(this._DialogTextList[this._CurrentPage | 0])).length); else { this._TotalTextLength = ('' + z.string(this._DialogTextList[this._CurrentPage | 0])).length + ('' + z.string(this._DialogTextList[(this._CurrentPage + 1) | 0])).length; this._CurrentPage < this._DialogTextList.length && ((this._LastCharacter = ( '' + z.string(this._DialogTextList[this._CurrentPage | 0]) ).charAt( Math.min( ('' + z.string(this._DialogTextList[this._CurrentPage | 0])).length, this._DisplayCharacterCount ) | 0 )), (this._LastVoiceCharacter = this._DummyTextForVoice.charAt( this._DummyTextPosition | 0 ))); this._CurrentPage + 1 < this._DialogTextList.length && this._DisplayCharacterCount > ('' + z.string(this._DialogTextList[this._CurrentPage | 0])).length && ((this._LastCharacter = ( '' + z.string(this._DialogTextList[(this._CurrentPage + 1) | 0]) ).charAt( (Math.min( ('' + z.string(this._DialogTextList[(this._CurrentPage + 1) | 0])).length, this._DisplayCharacterCount - ('' + z.string(this._DialogTextList[this._CurrentPage | 0])).length ) - 1) | 0 )), (this._LastVoiceCharacter = this._DummyTextForVoice.charAt( this._DummyTextPosition | 0 ))); this._CurrentPage + 2 >= this._DialogTextList.length && this._CurrentParagraph == this._ParagraphList.length ? ((this._LastPage = !0), this._AutoClose && (this._AutoClose = !1)) : this._CurrentPage + 2 >= this._DialogTextList.length && (this._EndOfParagraph = !0); if ( '.' == this._LastCharacter || '!' == this._LastCharacter || '?' == this._LastCharacter || this._Start ) (this._Start = !1), (this._SentencePitch = 6), (this._NewSentence = !1); ' ' == this._LastCharacter && 0 < this._SentencePitch && --this._SentencePitch; } this._DisplayCharacterCount >= this._TotalTextLength && !this._TextScrollingUp && (!this._LastPage || this._ShowDownArrow) && (this._PageDownFlash ? this._DownArrow.disableActorDrawing() : this._DownArrow.enableActorDrawing(), W.contains( ('' + z.string(this._DialogTextList[(this._CurrentPage + 1) | 0])).split(' '), '~' ) && !this._ActionTextActioned && ((this._ActionTextActioned = !0), c.shoutToScene('_customEvent_textAction'))); } this._DisplayCharacterCount >= this._TotalTextLength && this._Portrait.getAnimation() != this._Character ? this._Portrait.setAnimation(this._Character) : this._DisplayCharacterCount >= this._TotalTextLength || this._Portrait.getAnimation() == this._Character + ' Speak' || ('Baby6' == this._Character ? this._Screech ? this._Portrait.setAnimation(this._Character) : (this._Portrait.setAnimation(this._Character + ' Speak'), (this._NoFirstScreech = !1)) : this._Portrait.setAnimation(this._Character + ' Speak')); if ( this._DisplayCharacterCount < this._TotalTextLength && (1 <= this._CharacterCountStagger || this._ButtonIsDown) ) if ( ((this._DisplayCharacterCount = Math.min( this._DisplayCharacterCount + 1, this._TotalTextLength )), (this._DummyTextPosition = this._DummyTextPosition < this._DummyTextForVoice.length - 1 ? this._DummyTextPosition + 1 : 0), this._SkipSpeech && '#' != this._LastCharacter && '#' != this._LastCharacter) ) this._SkipSpeech = !1; else if ('Baby6' != this._Character || this._NoFirstScreech) { if ( (('JP' != h.engine.getGameAttribute('Language') && 'CN' != h.engine.getGameAttribute('Language') && 'KR' != h.engine.getGameAttribute('Language')) || '#' == this._LastCharacter || (this._LastCharacter = this._LastVoiceCharacter), W.contains(this._VowelsList, this._LastCharacter) || '#' == this._LastCharacter) ) { this._SkipSpeech = !0; if ('y' == this._LastCharacter || 'Y' == this._LastCharacter) this._LastCharacter = 'E'; '#' == this._LastCharacter || '#' == this._LastCharacter ? ((this._VoiceOff = !0), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(1151))) : this._VoiceOff || (0 < this._SentencePitch ? h.engine.getGameAttribute('Sound Disabled') || c.playSound( c.getSoundByName( this._CharacterVoice + ' Voice ' + this._LastCharacter.toUpperCase() + ' High' ) ) : 4 > this._PitchJumpCount ? ((this._PitchJumpCount += 1), h.engine.getGameAttribute('Sound Disabled') || c.playSound( c.getSoundByName( this._CharacterVoice + ' Voice ' + this._LastCharacter.toUpperCase() ) )) : ((this._PitchJumpCount = 0), h.engine.getGameAttribute('Sound Disabled') || c.playSound( c.getSoundByName( this._CharacterVoice + ' Voice ' + this._LastCharacter.toUpperCase() + ' High' ) ))); } } else this._Screech || ((this._Screech = !0), c.runLater(1200, function (a) {}, this.actor), h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(442))); this._CharacterCountStagger = 1 > this._CharacterCountStagger ? this._CharacterCountStagger + 1 : 0; } }, _event_EveryNsecs: function (a) { this.wrapper.enabled && this._Go && (this._PageDownFlash = this._PageDownFlash ? !1 : !0); }, _event_KeyPressed: function (a) { this.wrapper.enabled && (c.isMousePressed() || c.isKeyPressed('action1') || c.isKeyPressed('action2') || c.isKeyPressed('enter') || c.isKeyPressed('down')) && !this._ButtonIsDown && ((this._ButtonIsDown = !0), this.actor.say('Dialog Box Logic', '_customEvent_Pressed')); }, _event_KeyReleased: function (a) { this.wrapper.enabled && this._ButtonIsDown && (c.isMouseReleased() || c.isKeyReleased('action1') || c.isKeyReleased('action2') || c.isKeyReleased('enter') || c.isKeyReleased('down')) && (this._ButtonIsDown = !1); }, _event_Click: function () { this.wrapper.enabled && this.actor.say('Dialog Box Logic', '_customEvent_Pressed'); }, _customEvent_Go: function () { if (!this._Go) { for (var a = 0, b = c.getActorsOfType(c.getActorType(582)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || d.disableActorDrawing(); } a = 0; for (b = c.getActorsOfType(c.getActorType(1191)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.disableActorDrawing(); a = 0; for (b = c.getActorsOfType(c.getActorType(234)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.disableActorDrawing(); this._Go = !0; this._Margin = 2 * Math.round((0.0714 * c.getScreenWidth()) / 2); h.engine.gameAttributes.h['Dialog Box Open'] = !0; c.engine.pause(); this.actor.makeAlwaysSimulate(); Q.setScale('width', c.getScreenWidth() - this._Margin, this.actor); this.actor.setX(c.getScreenX() + this._Margin / 2); this.actor.setY( c.getScreenY() + c.getScreenHeight() - (this.actor.getHeight() + this._Margin / 2) ); 'JP' == h.engine.getGameAttribute('Language') || 'CN' == h.engine.getGameAttribute('Language') ? (this._LineLimit = Math.floor((c.getScreenWidth() - (96 + 2 * this._Margin)) / 24)) : 'KR' == h.engine.getGameAttribute('Language') ? (this._LineLimit = Math.floor((c.getScreenWidth() - (96 + 2 * this._Margin)) / 19)) : (this._LineLimit = Math.floor((c.getScreenWidth() - (96 + 2 * this._Margin)) / 16)); c.createRecycledActor(c.getActorType(166), this.actor.getX(), this.actor.getY(), 0); this._Portrait = c.getLastCreatedActor(); this._Character = this._Character1; this._Portrait.setAnimation(this._Character); c.createRecycledActor( c.getActorType(169), this.actor.getX() + (Q.scaledSize('width', this.actor) - 32), this.actor.getY() + (this.actor.getHeight() - 24), 0 ); this._DownArrow = c.getLastCreatedActor(); this._DownArrow.makeAlwaysSimulate(); this._DownArrow.disableActorDrawing(); this._VowelsList = []; this._VowelsList.push('a'); this._VowelsList.push('e'); this._VowelsList.push('i'); this._VowelsList.push('o'); this._VowelsList.push('u'); this._VowelsList.push('y'); this._VowelsList.push('A'); this._VowelsList.push('E'); this._VowelsList.push('I'); this._VowelsList.push('O'); this._VowelsList.push('U'); this._VowelsList.push('Y'); this._VowelsList.push('#'); this._VowelsList.push('#'); this._Start = !0; 'Level 42' == c.getCurrentSceneName() && (this._NoFirstScreech = this._Screech = !0); } }, _customEvent_clearDialogBox: function () { this._Go && ((this._ActionTextActioned = !1), (this._TextScrollUpDelay = 0), (this._TextScrollingUp = !1), (this._DisplayCharacterCount = 0), (this._DialogTextList = c.getDefaultValue(this._DialogTextList)), (this._ParagraphList = c.getDefaultValue(this._ParagraphList)), (this._ParagraphText = c.getDefaultValue(this._ParagraphText)), (this._CurrentPage = 0), (this._Alllinessplit = this._PageDownFlash = this._LastPage = !1), (this._DialogText = c.getDefaultValue(this._DialogText)), (this._EndOfParagraph = this._AutoClose = this._SpaceFound = this._DialogTextHasValue = !1), (this._SpaceFinder = 0), (this._CurrentParagraph = 1), (this._VoiceOff = this._ShowDownArrow = !1)); }, _customEvent_Pressed: function () { if (this._Go) if (this._LastPage && this._DisplayCharacterCount >= this._TotalTextLength) { if (!this._DontClear) { for (var a = 0, b = c.getActorsOfType(c.getActorType(166)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || c.recycleActor(d); } a = 0; for (b = c.getActorsOfType(c.getActorType(169)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || c.recycleActor(d); if (h.engine.getGameAttribute('Direction Hint')) for (a = 0, b = c.getActorsOfType(c.getActorType(2)); a < b.length; ) if ( ((d = b[a]), ++a, null != d && !d.dead && !d.recycled && !d.getValue('Dude Logic', '_Exiting')) ) { d = 0; for (var e = c.getActorsOfType(c.getActorType(582)); d < e.length; ) { var f = e[d]; ++d; null == f || f.dead || f.recycled || f.enableActorDrawing(); } } c.engine.unpause(); a = this._Parent; (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Parent.shout('_customEvent_dialogComplete'); c.recycleActor(this.actor); } } else this._EndOfParagraph && this._DisplayCharacterCount >= this._TotalTextLength ? ('Baby6' == this._Character && (this._Screech = !1), (this._EndOfParagraph = !1), (this._CurrentParagraph += 1), (this._ParagraphText = c.getDefaultValue(this._ParagraphText)), (this._DialogTextList = c.getDefaultValue(this._DialogTextList)), (this._TextScrollUpDelay = this._DisplayCharacterCount = 0), (this._PageDownFlash = this._TextScrollingUp = !1), (this._CurrentPage = this._SpaceFinder = 0), (this._DialogTextHasValue = this._SpaceFound = this._Alllinessplit = !1), (this._Start = !0), this._DownArrow.disableActorDrawing(), (this._VoiceOff = !1), this._Character == this._Character1 ? (this._Character = this._Character2) : this._Character == this._Character2 && (this._Character = this._Character1), this._Top ? (this._Portrait.setAnimation(this._Character), (this._Top = !1)) : (this._Portrait.setAnimation(this._Character), (this._Top = !0))) : this._DisplayCharacterCount >= this._TotalTextLength && ((this._CurrentPage += 1), (this._TextScrollingUp = !0), (this._TextScrollUpDelay = 3), this._DownArrow.disableActorDrawing()); }, init: function () { this._DummyTextForVoice = 'Kia ora. Spit the dummy, this crook cuzzie is as pearler as a heaps good housie. Mean while, in that one episode of Tux Wonder Dogs, you know the one bro, The Topp Twins and Jonah Lomu were up to no good with a bunch of bung chilly bins. The fully sick force of his playing rugby was on par with John Key~x2019s beaut whitebait fritter. Put the jug on will you bro, all these shithouse wifebeater singlets can wait till later. '; this._DummyTextPosition = c.randomInt(0, this._DummyTextForVoice.length - 4); 'JP' == h.engine.getGameAttribute('Language') ? ((this._DrawShadow = !1), (this._FontToUse = c.getFont(588))) : 'CN' == h.engine.getGameAttribute('Language') ? ((this._DrawShadow = !1), (this._FontToUse = c.getFont(592))) : 'KR' == h.engine.getGameAttribute('Language') ? ((this._DrawShadow = !1), (this._FontToUse = c.getFont(593))) : ((this._DrawShadow = !0), (this._FontToUse = c.getFont(168))); this.addListener(this.actor.whenDrawing, m(this, this._event_Text)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); c.runPeriodically(18, m(this, this._event_Text2Working), this.actor); c.runPeriodically(400, m(this, this._event_EveryNsecs), this.actor); this.addListener(this.actor.whenUpdated, m(this, this._event_KeyPressed)); this.addListener(this.actor.whenUpdated, m(this, this._event_KeyReleased)); this.addListener(c.engine.whenMousePressed, m(this, this._event_Click)); }, forwardMessage: function (a) {}, __class__: sx }); var tx = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h.Delay = '_Delay'; this._Delay = 0; }; k['scripts.Design_94_94_HiddenSpikeLogic'] = tx; tx.__name__ = 'scripts.Design_94_94_HiddenSpikeLogic'; tx.__super__ = n; tx.prototype = t(n.prototype, { _Delay: null, _event_Updating: function (a) { this.wrapper.enabled && ('In' == this.actor.getAnimation() ? 5 == this.actor.getCurrentFrame() && (this.actor.setAnimation('Out'), this.actor.isOnScreen() && !h.engine.getGameAttribute('Sound Disabled') && c.playSoundOnChannel(c.getSound(207), 4)) : 'Out' == this.actor.getAnimation() && 4 == this.actor.getCurrentFrame() && this.actor.setAnimation('In')); }, init: function () { var a = this; this.actor.makeAlwaysSimulate(); c.runLater( 1e3 * this._Delay, function (b) { a.actor.setAnimation('In'); }, this.actor ); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: tx }); var ux = function (a, b, c) { n.call(this, b); this.nameMap.h.Actor = 'actor'; this.nameMap.h.Left = '_Left'; this._Left = !1; this.nameMap.h.Delay = '_Delay'; this._Delay = 0; this.nameMap.h['Cannonball Speed'] = '_CannonballSpeed'; this._CannonballSpeed = 20; this.nameMap.h.Frequency = '_Frequency'; this._Frequency = 2; this.nameMap.h['Boss Cannon'] = '_BossCannon'; this._BossCannon = !1; this.nameMap.h['Boss Cannon Number'] = '_BossCannonNumber'; this._BossCannonNumber = 0; this.nameMap.h.Hide = '_Hide'; this._Hide = !1; this.nameMap.h['Wait for trigger'] = '_Waitfortrigger'; this._Waitfortrigger = !1; this.nameMap.h.Break = '_Break'; this._Break = !1; }; k['scripts.Design_96_96_CannonLogic'] = ux; ux.__name__ = 'scripts.Design_96_96_CannonLogic'; ux.__super__ = n; ux.prototype = t(n.prototype, { _Left: null, _Delay: null, _CannonballSpeed: null, _Frequency: null, _BossCannon: null, _BossCannonNumber: null, _Hide: null, _Waitfortrigger: null, _Break: null, _event_Updating: function (a) { this.wrapper.enabled && 'Shoot' == this.actor.getAnimation() && 3 == this.actor.getCurrentFrame() && this.actor.setAnimation('Normal'); }, _customEvent_Shoot: function () { var a = this; if ( 'Level 36' != c.getCurrentSceneName() || ('Level 36' == c.getCurrentSceneName() && this.actor.getY() > c.getScreenY() && this.actor.getY() < c.getScreenY() + 1.5 * c.getScreenHeight()) ) { this._Waitfortrigger && (this._Waitfortrigger = !1); this.actor.setAnimation('Shoot'); this.actor.isOnScreen() && !h.engine.getGameAttribute('Sound Disabled') && c.playSoundOnChannel(c.getSound(210), 5); if (this._Left) { if (this.actor.isOnScreen()) { for (var b = 0, d = c.getActorsOfType(c.getActorType(2)); b < d.length; ) { var e = d[b]; ++b; null == e || e.dead || e.recycled || (this.actor.getXCenter() > e.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); } c.startShakingScreen(0.003, 0.05); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth(), this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveToBottom(); c.getLastCreatedActor().setAnimation('Smoke'); c.getLastCreatedActor().moveBy(32, 0, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth(), this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveToBottom(); c.getLastCreatedActor().setAnimation('Smoke'); c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() + this.actor.getWidth(), this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveToBottom(); c.getLastCreatedActor().setAnimation('Smoke'); c.getLastCreatedActor().moveBy(32, 32, 0.3, v.backOut); } c.createRecycledActorOnLayer( c.getActorType(211), this.actor.getX() + 32, this.actor.getY() + 32, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().setAnimation('Right'); c.getLastCreatedActor().setXVelocity(this._CannonballSpeed); } else { if (this.actor.isOnScreen()) { b = 0; for (d = c.getActorsOfType(c.getActorType(2)); b < d.length; ) (e = d[b]), ++b, null == e || e.dead || e.recycled || (this.actor.getXCenter() > e.getXCenter() ? c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Right') : c.setValueForScene('Stage Logic', '_RumbleName', 'Small Thud Left'), c.sayToScene('Stage Logic', '_customEvent_rumble')); c.startShakingScreen(0.003, 0.05); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() - 16, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveToBottom(); c.getLastCreatedActor().setAnimation('Smoke'); c.getLastCreatedActor().moveBy(-32, 0, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() - 16, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveToBottom(); c.getLastCreatedActor().setAnimation('Smoke'); c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), this.actor.getX() - 16, this.actor.getYCenter() - 8, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().moveToBottom(); c.getLastCreatedActor().setAnimation('Smoke'); c.getLastCreatedActor().moveBy(-32, 32, 0.3, v.backOut); } c.createRecycledActorOnLayer( c.getActorType(211), this.actor.getX(), this.actor.getY() + 32, c.engine.getLayerById(this.actor.getLayerID()) ); c.getLastCreatedActor().setAnimation('Left'); c.getLastCreatedActor().setXVelocity(-this._CannonballSpeed); } this._BossCannon && c.runLater( 400, function (b) { if (a.actor.getType() == c.getActorType(208)) { a._Hide = !0; a.actor.moveBy(-32, 0, 0.4, v.quadInOut); b = 0; for (var d = c.getActorsOfType(c.getActorType(213)); b < d.length; ) { var e = d[b]; ++b; null == e || e.dead || e.recycled || 1 != e.getValue('Cannon Logic', '_Hide') || (e.setValue('Cannon Logic', '_Hide', !1), e.moveBy(-32, 0, 0.4, v.quadInOut)); } } else for ( a._Hide = !0, a.actor.moveBy(32, 0, 0.4, v.quadInOut), b = 0, d = c.getActorsOfType(c.getActorType(208)); b < d.length; ) (e = d[b]), ++b, null == e || e.dead || e.recycled || 1 != e.getValue('Cannon Logic', '_Hide') || (e.setValue('Cannon Logic', '_Hide', !1), e.moveBy(32, 0, 0.4, v.quadInOut)); }, this.actor ); } this._BossCannon || c.runLater( 1e3 * this._Frequency, function (b) { a.actor.say('Cannon Logic', '_customEvent_Shoot'); }, this.actor ); }, init: function () { var a = this; this.actor.makeAlwaysSimulate(); this.actor.getType() == c.getActorType(208) && (this._Left = !0); if (this._BossCannon || this._Waitfortrigger) { var b = this.actor; if (0 == b.physicsMode) for (b = b.getBody().getFixtureList(); null != b; ) b.getBody().DestroyFixture(b), (b = b.getNext()); } else c.runLater( 1e3 * this._Delay, function (b) { a.actor.say('Cannon Logic', '_customEvent_Shoot'); }, this.actor ); this._Hide && this.actor.setX(this.actor.getX() - 32); this._Break && h.engine.getGameAttribute('Possum Mode') && (c.createRecycledActorOnLayer( c.getActorType(898), this.actor.getX() + 32, this.actor.getY() + 32, c.engine.getLayerById(this.actor.getLayerID()) ), c.recycleActor(this.actor)); this.addListener(this.actor.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: ux }); var Qz = function () {}; k['scripts.MyScripts'] = Qz; Qz.__name__ = 'scripts.MyScripts'; var vx = function (a, b) { c.call(this); }; k['scripts.SceneEvents_100'] = vx; vx.__name__ = 'scripts.SceneEvents_100'; vx.__super__ = fa; vx.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: vx }); var wx = function (a, b) { c.call(this); }; k['scripts.SceneEvents_103'] = wx; wx.__name__ = 'scripts.SceneEvents_103'; wx.__super__ = fa; wx.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: wx }); var xx = function (a, b) { c.call(this); }; k['scripts.SceneEvents_104'] = xx; xx.__name__ = 'scripts.SceneEvents_104'; xx.__super__ = fa; xx.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: xx }); var yx = function (a, b) { c.call(this); }; k['scripts.SceneEvents_105'] = yx; yx.__name__ = 'scripts.SceneEvents_105'; yx.__super__ = fa; yx.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: yx }); var zx = function (a, b) { c.call(this); }; k['scripts.SceneEvents_106'] = zx; zx.__name__ = 'scripts.SceneEvents_106'; zx.__super__ = fa; zx.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: zx }); var Ax = function (a, b) { c.call(this); }; k['scripts.SceneEvents_107'] = Ax; Ax.__name__ = 'scripts.SceneEvents_107'; Ax.__super__ = fa; Ax.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Ax }); var Bx = function (a, b) { c.call(this); }; k['scripts.SceneEvents_108'] = Bx; Bx.__name__ = 'scripts.SceneEvents_108'; Bx.__super__ = fa; Bx.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Bx }); var Cx = function (a, b) { c.call(this); }; k['scripts.SceneEvents_109'] = Cx; Cx.__name__ = 'scripts.SceneEvents_109'; Cx.__super__ = fa; Cx.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Cx }); var Dx = function (a, b) { c.call(this); }; k['scripts.SceneEvents_110'] = Dx; Dx.__name__ = 'scripts.SceneEvents_110'; Dx.__super__ = fa; Dx.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Dx }); var Ex = function (a, b) { c.call(this); }; k['scripts.SceneEvents_111'] = Ex; Ex.__name__ = 'scripts.SceneEvents_111'; Ex.__super__ = fa; Ex.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Ex }); var Fx = function (a, b) { c.call(this); }; k['scripts.SceneEvents_114'] = Fx; Fx.__name__ = 'scripts.SceneEvents_114'; Fx.__super__ = fa; Fx.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Fx }); var Gx = function (a, b) { c.call(this); }; k['scripts.SceneEvents_116'] = Gx; Gx.__name__ = 'scripts.SceneEvents_116'; Gx.__super__ = fa; Gx.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Gx }); var Hx = function (a, b) { c.call(this); }; k['scripts.SceneEvents_118'] = Hx; Hx.__name__ = 'scripts.SceneEvents_118'; Hx.__super__ = fa; Hx.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Hx }); var Ix = function (a, b) { c.call(this); }; k['scripts.SceneEvents_119'] = Ix; Ix.__name__ = 'scripts.SceneEvents_119'; Ix.__super__ = fa; Ix.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Ix }); var Jx = function (a, b) { c.call(this); }; k['scripts.SceneEvents_120'] = Jx; Jx.__name__ = 'scripts.SceneEvents_120'; Jx.__super__ = fa; Jx.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Jx }); var Kx = function (a, b) { c.call(this); }; k['scripts.SceneEvents_121'] = Kx; Kx.__name__ = 'scripts.SceneEvents_121'; Kx.__super__ = fa; Kx.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Kx }); var Lx = function (a, b) { c.call(this); }; k['scripts.SceneEvents_122'] = Lx; Lx.__name__ = 'scripts.SceneEvents_122'; Lx.__super__ = fa; Lx.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Lx }); var Mx = function (a, b) { c.call(this); }; k['scripts.SceneEvents_123'] = Mx; Mx.__name__ = 'scripts.SceneEvents_123'; Mx.__super__ = fa; Mx.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Mx }); var Nx = function (a, b) { c.call(this); }; k['scripts.SceneEvents_124'] = Nx; Nx.__name__ = 'scripts.SceneEvents_124'; Nx.__super__ = fa; Nx.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Nx }); var Ox = function (a, b) { c.call(this); }; k['scripts.SceneEvents_125'] = Ox; Ox.__name__ = 'scripts.SceneEvents_125'; Ox.__super__ = fa; Ox.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Ox }); var Px = function (a, b) { c.call(this); this.nameMap.h.Dude = '_Dude'; this.nameMap.h.Balloon = '_Balloon'; this.nameMap.h['Last Baby'] = '_LastBaby'; this._LastBaby = !1; this.nameMap.h['Wake Dude'] = '_WakeDude'; this._WakeDude = !1; this.nameMap.h['Beach BG Width'] = '_BeachBGWidth'; this._BeachBGWidth = 0; this.nameMap.h['Beach BG Created'] = '_BeachBGCreated'; this._BeachBGCreated = !1; this.nameMap.h['Clouds Width'] = '_CloudsWidth'; this._CloudsWidth = 0; }; k['scripts.SceneEvents_127'] = Px; Px.__name__ = 'scripts.SceneEvents_127'; Px.__super__ = fa; Px.prototype = t(fa.prototype, { _Dude: null, _Balloon: null, _LastBaby: null, _WakeDude: null, _BeachBGWidth: null, _BeachBGCreated: null, _CloudsWidth: null, _event_Updating: function (a) { this.wrapper.enabled && ((a = this._Dude), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Dude.getX() > c.getScreenX() + (c.getScreenWidth() + 64) && (c.sayToScene('Cutscene Logic', '_customEvent_Finished'), c.stopAllSounds(), c.recycleActor(this._Dude), (this._Dude = c.getDefaultValue(this._Dude)))); }, _event_ActorCreated: function (a) { if (this.wrapper.enabled) { this._LastBaby = !0; a = 0; for (var b = c.getActorsOfType(c.getActorType(433)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || !d.isOnScreen() || (this._LastBaby = !1); } } }, _event_Leaves: function (a) { if (this.wrapper.enabled) { a = 0; for (var b = c.randomInt(0, 2); a < b; ) a++, c.createRecycledActorOnLayer( c.getActorType(90), c.getScreenX() + c.getScreenWidth() + c.randomInt(0, 64), c.randomInt(c.getScreenY() | 0, (c.getScreenY() + c.getScreenHeight() - 96) | 0), c.engine.getLayerById(0) ), c.getLastCreatedActor().moveToBottom(); } }, init: function () { var a = this; c.loopSoundOnChannel(c.getSound(731), 15); h.engine.getGameAttribute('Sound Disabled') ? c.setVolumeForChannel(0, 15) : h.engine.getGameAttribute('Sound Disabled') || c.setVolumeForChannel(1, 15); c.createRecycledActorOnLayer(c.getActorType(1185), 0, 0, c.engine.getLayerById(7)); this._CloudsWidth = 480; for (var b = 0, d = Math.ceil(c.getScreenWidth() / this._CloudsWidth) + 1; b < d; ) { var e = b++; c.createRecycledActorOnLayer( c.getActorType(724), this._CloudsWidth * e, c.getScreenHeight() - 400, c.engine.getLayerById(7) ); c.getLastCreatedActor().moveToBottom(); } c.createRecycledActorOnLayer(c.getActorType(726), 0, 0, c.engine.getLayerById(7)); c.getLastCreatedActor().setY(c.getScreenHeight() - c.getLastCreatedActor().getHeight()); for (this._BeachBGWidth = c.getLastCreatedActor().getWidth(); !this._BeachBGCreated; ) this._BeachBGWidth < c.getScreenWidth() ? (c.createRecycledActorOnLayer( c.getActorType(726), c.getLastCreatedActor().getX() + c.getLastCreatedActor().getWidth(), 0, c.engine.getLayerById(7) ), c .getLastCreatedActor() .setY(c.getScreenHeight() - c.getLastCreatedActor().getHeight()), (this._BeachBGWidth += c.getLastCreatedActor().getWidth())) : (this._BeachBGCreated = !0); c.runLater( 500, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('1 Right Jump'); c.getLastCreatedActor().setXVelocity(60); c.getLastCreatedActor().setYVelocity(-60); }, null ); c.runLater( 700, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('2 Right Jump'); c.getLastCreatedActor().setXVelocity(60); c.getLastCreatedActor().setYVelocity(-60); }, null ); c.runLater( 900, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('3 Right Jump'); c.getLastCreatedActor().setXVelocity(60); c.getLastCreatedActor().setYVelocity(-60); }, null ); c.runLater( 1100, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('4 Right Jump'); c.getLastCreatedActor().setXVelocity(60); c.getLastCreatedActor().setYVelocity(-60); }, null ); c.runLater( 1300, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('5 Right Jump'); c.getLastCreatedActor().setXVelocity(60); c.getLastCreatedActor().setYVelocity(-60); }, null ); c.runLater( 1500, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('1 Right Jump'); c.getLastCreatedActor().setXVelocity(60); c.getLastCreatedActor().setYVelocity(-60); }, null ); c.runLater( 1700, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('2 Right Jump'); c.getLastCreatedActor().setXVelocity(60); c.getLastCreatedActor().setYVelocity(-60); }, null ); c.runLater( 1900, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('3 Right Jump'); c.getLastCreatedActor().setXVelocity(60); c.getLastCreatedActor().setYVelocity(-60); }, null ); c.runLater( 2100, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('4 Right Jump'); c.getLastCreatedActor().setXVelocity(60); c.getLastCreatedActor().setYVelocity(-60); }, null ); c.runLater( 2300, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('5 Right Jump'); c.getLastCreatedActor().setXVelocity(60); c.getLastCreatedActor().setYVelocity(-60); }, null ); c.runLater( 3500, function (a) { c.createRecycledActorOnLayer( c.getActorType(994), c.getScreenX() - 96, 444, c.engine.getLayerById(3) ); c.getLastCreatedActor().setXVelocity(40); }, null ); c.runLater( 5e3, function (b) { c.createRecycledActorOnLayer( c.getActorType(996), c.getScreenX() - 96, 484, c.engine.getLayerById(3) ); a._Dude = c.getLastCreatedActor(); c.getLastCreatedActor().setXVelocity(40); }, null ); this.addListener(c.engine.whenUpdated, m(this, this._event_Updating)); this.addListenerWithKey( c.engine.whenTypeGroupKilledEvents, c.getActorType(433), m(this, this._event_ActorCreated) ); c.runPeriodically(600, m(this, this._event_Leaves), null); }, forwardMessage: function (a) {}, __class__: Px }); var Qx = function (a, b) { c.call(this); this.nameMap.h.Dude = '_Dude'; this.nameMap.h.Balloon = '_Balloon'; this.nameMap.h['Last Baby'] = '_LastBaby'; this._LastBaby = !1; this.nameMap.h['Wake Dude'] = '_WakeDude'; this._WakeDude = !1; this.nameMap.h['Beach BG Width'] = '_BeachBGWidth'; this._BeachBGWidth = 0; this.nameMap.h['Beach BG Created'] = '_BeachBGCreated'; this._BeachBGCreated = !1; this.nameMap.h['Clouds Width'] = '_CloudsWidth'; this._CloudsWidth = 0; this.nameMap.h['End Baby'] = '_EndBaby'; this.nameMap.h.Door = '_Door'; this.nameMap.h['Door Closed'] = '_DoorClosed'; this._DoorClosed = !1; this.nameMap.h['Dude Stopped'] = '_DudeStopped'; this._DudeStopped = !1; }; k['scripts.SceneEvents_128'] = Qx; Qx.__name__ = 'scripts.SceneEvents_128'; Qx.__super__ = fa; Qx.prototype = t(fa.prototype, { _Dude: null, _Balloon: null, _LastBaby: null, _WakeDude: null, _BeachBGWidth: null, _BeachBGCreated: null, _CloudsWidth: null, _EndBaby: null, _Door: null, _DoorClosed: null, _DudeStopped: null, _event_Updating: function (a) { var b = this; if (this.wrapper.enabled) { a = this._Dude; if (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) this._Dude.getX() > c.getSceneWidth() / 2 && !this._DudeStopped && ((this._DudeStopped = !0), this._Dude.setXVelocity(0), this._Dude.shout('_customEvent_Confuse')), this._DudeStopped && this._Dude.getX() < c.getScreenX() - 46 && (c.sayToScene('Cutscene Logic', '_customEvent_Finished'), c.stopAllSounds(), c.recycleActor(this._Dude), (this._Dude = c.getDefaultValue(this._Dude))); a = this._EndBaby; c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a) ? ((a = this._Door), (a = c.isPrimitive(a) ? !0 : 'string' == typeof a ? '' != w.__cast(a, String) : null != a)) : (a = !1); a && !this._DoorClosed && this._EndBaby.getX() > this._Door.getX() + this._Door.getWidth() && ((this._DoorClosed = !0), this._Door.moveBy(0, 128, 0.3, v.quadIn), c.runLater( 300, function (a) { h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(827)); c.startShakingScreen(0.005, 0.1); c.createRecycledActorOnLayer( c.getActorType(94), b._Door.getXCenter() - 8, b._Door.getY() + 128 - 8, c.engine.getLayerById(c.getLastCreatedActor().getLayerID()) ); c.getLastCreatedActor().setAnimation('Dirt'); c.getLastCreatedActor().moveBy(0, -32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), b._Door.getXCenter() - 8, b._Door.getY() + 128 - 8, c.engine.getLayerById(c.getLastCreatedActor().getLayerID()) ); c.getLastCreatedActor().setAnimation('Dirt'); c.getLastCreatedActor().moveBy(-32, -32, 0.3, v.backOut); c.createRecycledActorOnLayer( c.getActorType(94), b._Door.getXCenter() - 8, b._Door.getY() + 128 - 8, c.engine.getLayerById(c.getLastCreatedActor().getLayerID()) ); c.getLastCreatedActor().setAnimation('Dirt'); c.getLastCreatedActor().moveBy(32, -32, 0.3, v.backOut); }, null )); } }, _event_ActorCreated: function (a) { if (this.wrapper.enabled) { this._LastBaby = !0; a = 0; for (var b = c.getActorsOfType(c.getActorType(433)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || !d.isOnScreen() || (this._LastBaby = !1); } } }, init: function () { var a = this; h.engine.getGameAttribute('Sound Disabled') ? c.setVolumeForChannel(0, 15) : h.engine.getGameAttribute('Sound Disabled') || c.setVolumeForChannel(1, 15); c.loopSoundOnChannel(c.getSound(736), 15); c.createRecycledActorOnLayer(c.getActorType(1183), 0, 0, c.engine.getLayerById(7)); for (var b = 0, d = c.getActorsOfType(c.getActorType(998)); b < d.length; ) { var e = d[b]; ++b; null == e || e.dead || e.recycled || (this._Door = e); } this._CloudsWidth = 480; b = 0; for (d = Math.ceil(c.getScreenWidth() / this._CloudsWidth) + 1; b < d; ) (e = b++), c.createRecycledActorOnLayer( c.getActorType(739), this._CloudsWidth * e, c.getScreenHeight() - 400, c.engine.getLayerById(7) ), c.getLastCreatedActor().moveToBottom(); c.createRecycledActorOnLayer(c.getActorType(737), 0, 0, c.engine.getLayerById(7)); c.getLastCreatedActor().setY(c.getScreenHeight() - c.getLastCreatedActor().getHeight()); for (this._BeachBGWidth = c.getLastCreatedActor().getWidth(); !this._BeachBGCreated; ) this._BeachBGWidth < c.getScreenWidth() ? (c.createRecycledActorOnLayer( c.getActorType(737), c.getLastCreatedActor().getX() + c.getLastCreatedActor().getWidth(), 0, c.engine.getLayerById(7) ), c .getLastCreatedActor() .setY(c.getScreenHeight() - c.getLastCreatedActor().getHeight()), (this._BeachBGWidth += c.getLastCreatedActor().getWidth())) : (this._BeachBGCreated = !0); c.runLater( 500, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('1 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 700, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('2 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 900, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('3 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 1100, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('4 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 1300, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('5 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 1500, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('1 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 1700, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('2 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 1900, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('3 Right Jump'); c.getLastCreatedActor().setXVelocity(30); }, null ); c.runLater( 2100, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('4 Right Jump'); c.getLastCreatedActor().setXVelocity(30); }, null ); c.runLater( 2300, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('5 Right Jump'); c.getLastCreatedActor().setXVelocity(30); }, null ); c.runLater( 2800, function (b) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); a._EndBaby = c.getLastCreatedActor(); c.getLastCreatedActor().setAnimation('6 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setX(c.getScreenX() - 48); c.getLastCreatedActor().setY(512); }, null ); c.runLater( 4800, function (b) { c.createRecycledActorOnLayer( c.getActorType(431), c.getScreenX() - 48, 504, c.engine.getLayerById(3) ); a._Dude = c.getLastCreatedActor(); a._Dude.setAnimation('Walk Right'); a._Dude.setXVelocity(24); }, null ); this.addListener(c.engine.whenUpdated, m(this, this._event_Updating)); this.addListenerWithKey( c.engine.whenTypeGroupKilledEvents, c.getActorType(433), m(this, this._event_ActorCreated) ); }, forwardMessage: function (a) {}, __class__: Qx }); var Rx = function (a, b) { c.call(this); this.nameMap.h.Dude = '_Dude'; this.nameMap.h.Balloon = '_Balloon'; this.nameMap.h['Last Baby'] = '_LastBaby'; this._LastBaby = !1; this.nameMap.h['Wake Dude'] = '_WakeDude'; this._WakeDude = !1; this.nameMap.h['Beach BG Width'] = '_BeachBGWidth'; this._BeachBGWidth = 0; this.nameMap.h['Beach BG Created'] = '_BeachBGCreated'; this._BeachBGCreated = !1; this.nameMap.h['Clouds Width'] = '_CloudsWidth'; this._CloudsWidth = 0; this.nameMap.h['Go Back'] = '_GoBack'; this._GoBack = !1; this.nameMap.h.Boulder = '_Boulder'; }; k['scripts.SceneEvents_129'] = Rx; Rx.__name__ = 'scripts.SceneEvents_129'; Rx.__super__ = fa; Rx.prototype = t(fa.prototype, { _Dude: null, _Balloon: null, _LastBaby: null, _WakeDude: null, _BeachBGWidth: null, _BeachBGCreated: null, _CloudsWidth: null, _GoBack: null, _Boulder: null, _event_Updating: function (a) { var b = this; this.wrapper.enabled && ((a = this._Boulder), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Boulder.getX() < c.getScreenX() - 128 && (c.sayToScene('Cutscene Logic', '_customEvent_Finished'), c.stopAllSounds(), c.recycleActor(this._Boulder), (this._Boulder = c.getDefaultValue(this._Boulder))), (a = this._Dude), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Dude.getX() > c.getScreenX() + (c.getScreenWidth() + 64) && !this._GoBack && ((this._GoBack = !0), c.recycleActor(this._Dude), (this._Dude = c.getDefaultValue(this._Dude)), c.runLater( 500, function (a) { c.createRecycledActorOnLayer( c.getActorType(431), c.getScreenX() + c.getScreenWidth(), 504, c.engine.getLayerById(3) ); b._Dude = c.getLastCreatedActor(); b._Dude.setAnimation('Walk Left'); b._Dude.setXVelocity(-50); }, null ), c.runLater( 700, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() + c.getScreenWidth(), 512, c.engine.getLayerById(3) ); c.getLastCreatedActor().setValue('Cutscene Baby Logic', '_GoLeft', !0); c.getLastCreatedActor().setAnimation('6 Left Jump'); c.getLastCreatedActor().setXVelocity(-30); c.getLastCreatedActor().setYVelocity(-30); }, null ), c.runLater( 900, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() + c.getScreenWidth(), 512, c.engine.getLayerById(3) ); c.getLastCreatedActor().setValue('Cutscene Baby Logic', '_GoLeft', !0); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Left Jump') : c.getLastCreatedActor().setAnimation('5 Left Jump'); c.getLastCreatedActor().setXVelocity(-30); c.getLastCreatedActor().setYVelocity(-30); }, null ), c.runLater( 1100, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() + c.getScreenWidth(), 512, c.engine.getLayerById(3) ); c.getLastCreatedActor().setValue('Cutscene Baby Logic', '_GoLeft', !0); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Left Jump') : c.getLastCreatedActor().setAnimation('4 Left Jump'); c.getLastCreatedActor().setXVelocity(-30); c.getLastCreatedActor().setYVelocity(-30); }, null ), c.runLater( 1300, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() + c.getScreenWidth(), 512, c.engine.getLayerById(3) ); c.getLastCreatedActor().setValue('Cutscene Baby Logic', '_GoLeft', !0); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Left Jump') : c.getLastCreatedActor().setAnimation('3 Left Jump'); c.getLastCreatedActor().setXVelocity(-30); c.getLastCreatedActor().setYVelocity(-30); }, null ), c.runLater( 1500, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() + c.getScreenWidth(), 512, c.engine.getLayerById(3) ); c.getLastCreatedActor().setValue('Cutscene Baby Logic', '_GoLeft', !0); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Left Jump') : c.getLastCreatedActor().setAnimation('2 Left Jump'); c.getLastCreatedActor().setXVelocity(-30); c.getLastCreatedActor().setYVelocity(-30); }, null ), c.runLater( 1700, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() + c.getScreenWidth(), 512, c.engine.getLayerById(3) ); c.getLastCreatedActor().setValue('Cutscene Baby Logic', '_GoLeft', !0); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Left Jump') : c.getLastCreatedActor().setAnimation('1 Left Jump'); c.getLastCreatedActor().setXVelocity(-30); c.getLastCreatedActor().setYVelocity(-30); }, null ), c.runLater( 1900, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() + c.getScreenWidth(), 512, c.engine.getLayerById(3) ); c.getLastCreatedActor().setValue('Cutscene Baby Logic', '_GoLeft', !0); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Left Jump') : c.getLastCreatedActor().setAnimation('5 Left Jump'); c.getLastCreatedActor().setXVelocity(-30); c.getLastCreatedActor().setYVelocity(-30); }, null ), c.runLater( 2100, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() + c.getScreenWidth(), 512, c.engine.getLayerById(3) ); c.getLastCreatedActor().setValue('Cutscene Baby Logic', '_GoLeft', !0); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Left Jump') : c.getLastCreatedActor().setAnimation('4 Left Jump'); c.getLastCreatedActor().setXVelocity(-30); c.getLastCreatedActor().setYVelocity(-30); }, null ), c.runLater( 2300, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() + c.getScreenWidth(), 512, c.engine.getLayerById(3) ); c.getLastCreatedActor().setValue('Cutscene Baby Logic', '_GoLeft', !0); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Left Jump') : c.getLastCreatedActor().setAnimation('3 Left Jump'); c.getLastCreatedActor().setXVelocity(-30); c.getLastCreatedActor().setYVelocity(-30); }, null ), c.runLater( 2500, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() + c.getScreenWidth(), 512, c.engine.getLayerById(3) ); c.getLastCreatedActor().setValue('Cutscene Baby Logic', '_GoLeft', !0); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Left Jump') : c.getLastCreatedActor().setAnimation('2 Left Jump'); c.getLastCreatedActor().setXVelocity(-30); c.getLastCreatedActor().setYVelocity(-30); }, null ), c.runLater( 2700, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() + c.getScreenWidth(), 512, c.engine.getLayerById(3) ); c.getLastCreatedActor().setValue('Cutscene Baby Logic', '_GoLeft', !0); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Left Jump') : c.getLastCreatedActor().setAnimation('1 Left Jump'); c.getLastCreatedActor().setXVelocity(-30); c.getLastCreatedActor().setYVelocity(-30); }, null ), c.runLater( 3e3, function (a) { c.createRecycledActorOnLayer( c.getActorType(884), c.getScreenX() + c.getScreenWidth(), 418, c.engine.getLayerById(3) ); b._Boulder = c.getLastCreatedActor(); c.getLastCreatedActor().setXVelocity(-30); }, null ))); }, _event_ActorCreated: function (a) { if (this.wrapper.enabled) { this._LastBaby = !0; a = 0; for (var b = c.getActorsOfType(c.getActorType(433)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || !d.isOnScreen() || (this._LastBaby = !1); } } }, init: function () { var a = this; c.loopSoundOnChannel(c.getSound(745), 15); h.engine.getGameAttribute('Sound Disabled') ? c.setVolumeForChannel(0, 15) : h.engine.getGameAttribute('Sound Disabled') || c.setVolumeForChannel(1, 15); this._CloudsWidth = 480; for (var b = 0, d = Math.ceil(c.getScreenWidth() / this._CloudsWidth) + 1; b < d; ) { var e = b++; c.createRecycledActorOnLayer( c.getActorType(724), this._CloudsWidth * e, c.getScreenHeight() - 400, c.engine.getLayerById(7) ); c.getLastCreatedActor().moveToBottom(); } c.createRecycledActorOnLayer(c.getActorType(726), 0, 0, c.engine.getLayerById(7)); c.getLastCreatedActor().setY(c.getScreenHeight() - c.getLastCreatedActor().getHeight()); for (this._BeachBGWidth = c.getLastCreatedActor().getWidth(); !this._BeachBGCreated; ) this._BeachBGWidth < c.getScreenWidth() ? (c.createRecycledActorOnLayer( c.getActorType(726), c.getLastCreatedActor().getX() + c.getLastCreatedActor().getWidth(), 0, c.engine.getLayerById(7) ), c .getLastCreatedActor() .setY(c.getScreenHeight() - c.getLastCreatedActor().getHeight()), (this._BeachBGWidth += c.getLastCreatedActor().getWidth())) : (this._BeachBGCreated = !0); c.runLater( 500, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('1 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 700, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('2 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 900, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('3 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 1100, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('4 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 1300, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('5 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 1500, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('1 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 1700, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('2 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 1900, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('3 Right Jump'); c.getLastCreatedActor().setXVelocity(30); }, null ); c.runLater( 2100, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('4 Right Jump'); c.getLastCreatedActor().setXVelocity(30); }, null ); c.runLater( 2300, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('5 Right Jump'); c.getLastCreatedActor().setXVelocity(30); }, null ); c.runLater( 2800, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); c.getLastCreatedActor().setAnimation('6 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setX(c.getScreenX() - 48); c.getLastCreatedActor().setY(512); }, null ); c.runLater( 3600, function (b) { c.createRecycledActorOnLayer( c.getActorType(431), c.getScreenX() - 48, 504, c.engine.getLayerById(3) ); a._Dude = c.getLastCreatedActor(); a._Dude.setAnimation('Walk Right'); a._Dude.setXVelocity(24); }, null ); this.addListener(c.engine.whenUpdated, m(this, this._event_Updating)); this.addListenerWithKey( c.engine.whenTypeGroupKilledEvents, c.getActorType(433), m(this, this._event_ActorCreated) ); }, forwardMessage: function (a) {}, __class__: Rx }); var Sx = function (a, b) { c.call(this); this.nameMap.h.Dude = '_Dude'; this._Dude = c.getActor(0); this.nameMap.h['Beach BG Width'] = '_BeachBGWidth'; this._BeachBGWidth = 0; this.nameMap.h['Beach BG Created'] = '_BeachBGCreated'; this._BeachBGCreated = !1; this.nameMap.h.Helmet = '_Helmet'; this.nameMap.h.Possum = '_Possum'; }; k['scripts.SceneEvents_131'] = Sx; Sx.__name__ = 'scripts.SceneEvents_131'; Sx.__super__ = fa; Sx.prototype = t(fa.prototype, { _Dude: null, _BeachBGWidth: null, _BeachBGCreated: null, _Helmet: null, _Possum: null, _event_Updating: function (a) { this.wrapper.enabled && ((a = this._Dude), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Dude.getX() > c.getScreenX() + (c.getScreenWidth() + 64) && (c.sayToScene('Cutscene Logic', '_customEvent_Finished'), c.stopAllSounds(), c.recycleActor(this._Dude), (this._Dude = c.getDefaultValue(this._Dude)))); }, init: function () { var a = this; c.createRecycledActorOnLayer(c.getActorType(754), 0, 0, c.engine.getLayerById(7)); c.loopSoundOnChannel(c.getSound(748), 15); h.engine.getGameAttribute('Sound Disabled') ? c.setVolumeForChannel(0, 15) : h.engine.getGameAttribute('Sound Disabled') || c.setVolumeForChannel(1, 15); c.runLater( 500, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('1 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 700, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('2 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 900, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('3 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 1100, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('4 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 1300, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('5 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 1500, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('1 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 1700, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('2 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 1900, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('3 Right Jump'); c.getLastCreatedActor().setXVelocity(30); }, null ); c.runLater( 2100, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('4 Right Jump'); c.getLastCreatedActor().setXVelocity(30); }, null ); c.runLater( 2300, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('5 Right Jump'); c.getLastCreatedActor().setXVelocity(30); }, null ); c.runLater( 2800, function (b) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); a._Possum = c.getLastCreatedActor(); c.getLastCreatedActor().setAnimation('6 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setX(c.getScreenX() - 48); c.getLastCreatedActor().setY(512); c.createRecycledActor( c.getActorType(1155), a._Possum.getX() + 12, a._Possum.getY() - 10, 0 ); a._Possum.setValue('Cutscene Baby Logic', '_Helmet', c.getLastCreatedActor()); }, null ); c.runLater( 4500, function (b) { c.createRecycledActorOnLayer( c.getActorType(1002), c.getScreenX() - 48, 420, c.engine.getLayerById(3) ); a._Dude = c.getLastCreatedActor(); a._Dude.setXVelocity(24); }, null ); this.addListener(c.engine.whenUpdated, m(this, this._event_Updating)); }, forwardMessage: function (a) {}, __class__: Sx }); var Tx = function (a, b) { c.call(this); this.nameMap.h['Top Letterbox'] = '_TopLetterbox'; this.nameMap.h['Bottom Letterbox'] = '_BottomLetterbox'; this.nameMap.h.Camera = '_Camera'; this.nameMap.h['Layer Number'] = '_LayerNumber'; this._LayerNumber = 0; this.nameMap.h.Credits = '_Credits'; this.nameMap.h['Credits Titles'] = '_CreditsTitles'; this.nameMap.h['Can Show Credits'] = '_CanShowCredits'; this._CanShowCredits = !1; this.nameMap.h['Text Y'] = '_TextY'; this._TextY = 0; this.nameMap.h['Area Clear Text List'] = '_AreaClearTextList'; this.nameMap.h['Area Clear Text Width'] = '_AreaClearTextWidth'; this._AreaClearTextWidth = 0; this.nameMap.h['Area Clear Total Text Width'] = '_AreaClearTotalTextWidth'; this._AreaClearTotalTextWidth = 0; this.nameMap.h['Area Clear Text'] = '_AreaClearText'; this._AreaClearText = ''; this.nameMap.h['Credits Item Count'] = '_CreditsItemCount'; this._CreditsItemCount = 0; this.nameMap.h['Area Clear Float Up'] = '_AreaClearFloatUp'; this._AreaClearFloatUp = !1; this.nameMap.h['Title Text List'] = '_TitleTextList'; this.nameMap.h['Title Text Width'] = '_TitleTextWidth'; this._TitleTextWidth = 0; this.nameMap.h['Title Total Text Width'] = '_TitleTotalTextWidth'; this._TitleTotalTextWidth = 0; this.nameMap.h['Title Text'] = '_TitleText'; this._TitleText = ''; this.nameMap.h['Last Letter'] = '_LastLetter'; this._LastLetter = !1; this.nameMap.h['Baby Count'] = '_BabyCount'; this._BabyCount = 0; this.nameMap.h.BG1 = '_BG1'; this.nameMap.h.BG2 = '_BG2'; this.nameMap.h.BG3 = '_BG3'; this.nameMap.h.BG4 = '_BG4'; this.nameMap.h.BG5 = '_BG5'; this.nameMap.h.BG6 = '_BG6'; this.nameMap.h.BG7 = '_BG7'; this.nameMap.h.BG8 = '_BG8'; this.nameMap.h['Fade Speed'] = '_FadeSpeed'; this._FadeSpeed = 0; this.nameMap.h['Fade Count'] = '_FadeCount'; this._FadeCount = 0; this.nameMap.h['Fade Actor'] = '_FadeActor'; this.nameMap.h['Clouds Width'] = '_CloudsWidth'; this._CloudsWidth = 0; this.nameMap.h['Clouds Pacer'] = '_CloudsPacer'; this._CloudsPacer = 0; this.nameMap.h['Total Baby Count'] = '_TotalBabyCount'; this._TotalBabyCount = 0; }; k['scripts.SceneEvents_132'] = Tx; Tx.__name__ = 'scripts.SceneEvents_132'; Tx.__super__ = fa; Tx.prototype = t(fa.prototype, { _TopLetterbox: null, _BottomLetterbox: null, _Camera: null, _LayerNumber: null, _Credits: null, _CreditsTitles: null, _CanShowCredits: null, _TextY: null, _AreaClearTextList: null, _AreaClearTextWidth: null, _AreaClearTotalTextWidth: null, _AreaClearText: null, _CreditsItemCount: null, _AreaClearFloatUp: null, _TitleTextList: null, _TitleTextWidth: null, _TitleTotalTextWidth: null, _TitleText: null, _LastLetter: null, _BabyCount: null, _BG1: null, _BG2: null, _BG3: null, _BG4: null, _BG5: null, _BG6: null, _BG7: null, _BG8: null, _FadeSpeed: null, _FadeCount: null, _FadeActor: null, _CloudsWidth: null, _CloudsPacer: null, _TotalBabyCount: null, _event_Drawing: function (a, b, d) { if (this.wrapper.enabled) if (2 > this._CloudsPacer) this._CloudsPacer += 1; else for ( a = this._CloudsPacer = 0, b = c.getActorsOfType(c.getActorType(1048)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || (d.setX(d.getX() - 1), d.getX() <= c.getScreenX() + -this._CloudsWidth && d.setX( c.getScreenX() + this._CloudsWidth * Math.ceil(c.getScreenWidth() / this._CloudsWidth) )); }, _event_CreditsCheck: function (a) { if ( this.wrapper.enabled && this._CanShowCredits && this._CreditsItemCount <= this._Credits.length ) { this._LastLetter = !0; a = 0; for (var b = c.getActorsOfType(c.getActorType(523)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || (this._LastLetter = !1); } this._LastLetter && c.shoutToScene('_customEvent_showCredits'); } }, _customEvent_FadeBG: function () { var a = this; 8 > this._FadeCount && (0 == this._FadeCount ? (this._FadeActor = this._BG1) : 1 == this._FadeCount ? (this._FadeActor = this._BG2) : 2 == this._FadeCount ? (this._FadeActor = this._BG3) : 3 == this._FadeCount ? (this._FadeActor = this._BG4) : 4 == this._FadeCount ? (this._FadeActor = this._BG5) : 5 == this._FadeCount ? (this._FadeActor = this._BG6) : 6 == this._FadeCount ? (this._FadeActor = this._BG7) : 7 == this._FadeCount && (this._FadeActor = this._BG8), this._FadeActor.fadeTo(0, this._FadeSpeed, v.quadInOut), c.runLater( 1e3 * this._FadeSpeed, function (b) { a._FadeCount += 1; c.shoutToScene('_customEvent_FadeBG'); }, null )); }, _customEvent_creditsStart: function () { this._CanShowCredits = !0; this._TextY = c.getScreenHeight() / 2; }, _customEvent_showCredits: function () { var a = this; this._AreaClearTextList = []; this._AreaClearTotalTextWidth = this._AreaClearTextWidth = 0; this._AreaClearText = '' + z.string(this._Credits[this._CreditsItemCount | 0]); for (var b = 0, d = this._AreaClearText.length; b < d; ) { var e = b++; this._AreaClearTextList.push(this._AreaClearText.charAt(e)); } b = 0; for (d = this._AreaClearTextList.length; b < d; ) (e = b++), (this._AreaClearTotalTextWidth += c.getFont(1052).getTextWidth('' + z.string(this._AreaClearTextList[e])) / h.SCALE); b = 0; for (d = this._AreaClearTextList.length; b < d; ) (e = [b++]), c.runLater( (e[0] / 10) * 1e3, (function (b) { return function (d) { c.createRecycledActor( c.getActorType(523), c.getScreenWidth() / 2 - a._AreaClearTotalTextWidth / 2 + a._AreaClearTextWidth, c.getScreenHeight(), 0 ); c.getLastCreatedActor().setValue( 'Area Clear Letter Logic', '_Letter', a._AreaClearTextList[b[0]] ); c.getLastCreatedActor().setValue('Area Clear Letter Logic', '_White', !0); if (0 < b[0]) { d = a._AreaClearTextWidth; var e = c .getFont(1052) .getTextWidth('' + z.string(a._AreaClearTextList[b[0] - 1])) / h.SCALE; a._AreaClearTextWidth = d + e; } c.getLastCreatedActor().setX( c.getScreenWidth() / 2 - a._AreaClearTotalTextWidth / 2 + a._AreaClearTextWidth ); a._AreaClearFloatUp ? ((a._AreaClearFloatUp = !1), c.getLastCreatedActor().setValue('Area Clear Letter Logic', '_Up', !0)) : (a._AreaClearFloatUp = !0); c.getLastCreatedActor().moveTo( c.getScreenWidth() / 2 - a._AreaClearTotalTextWidth / 2 + a._AreaClearTextWidth, a._TextY + 3, 0.4, v.quadInOut ); }; })(e), null ); this._TitleTextList = []; this._TitleTotalTextWidth = this._TitleTextWidth = 0; this._TitleText = '' + z.string(this._CreditsTitles[this._CreditsItemCount | 0]); this._CreditsItemCount += 1; b = 0; for (d = this._TitleText.length; b < d; ) (e = b++), this._TitleTextList.push(this._TitleText.charAt(e)); b = 0; for (d = this._TitleTextList.length; b < d; ) (e = b++), (this._TitleTotalTextWidth += c.getFont(1052).getTextWidth('' + z.string(this._TitleTextList[e])) / h.SCALE); b = 0; for (d = this._TitleTextList.length; b < d; ) (e = [b++]), c.runLater( (e[0] / 10) * 1e3, (function (b) { return function (d) { c.createRecycledActor( c.getActorType(523), c.getScreenWidth() / 2 - a._TitleTotalTextWidth / 2 + a._TitleTextWidth, c.getScreenHeight(), 0 ); c.getLastCreatedActor().setValue( 'Area Clear Letter Logic', '_Letter', a._TitleTextList[b[0]] ); if (0 < b[0]) { d = a._TitleTextWidth; var e = c.getFont(1052).getTextWidth('' + z.string(a._TitleTextList[b[0] - 1])) / h.SCALE; a._TitleTextWidth = d + e; } c.getLastCreatedActor().setX( c.getScreenWidth() / 2 - a._TitleTotalTextWidth / 2 + a._TitleTextWidth ); c.getLastCreatedActor().moveTo( c.getScreenWidth() / 2 - a._TitleTotalTextWidth / 2 + a._TitleTextWidth, a._TextY - (c.getFont(1052).getHeight() / h.SCALE + 3), 0.4, v.quadInOut ); }; })(e), null ); }, init: function () { var a = this; this._FadeSpeed = 9; c.createRecycledActorOnLayer(c.getActorType(1036), -2, -2, c.engine.getLayerById(2)); this._BG8 = c.getLastCreatedActor(); c.createRecycledActorOnLayer(c.getActorType(1034), -2, -2, c.engine.getLayerById(2)); this._BG7 = c.getLastCreatedActor(); c.createRecycledActorOnLayer(c.getActorType(1032), -2, -2, c.engine.getLayerById(2)); this._BG6 = c.getLastCreatedActor(); c.createRecycledActorOnLayer(c.getActorType(1030), -2, -2, c.engine.getLayerById(2)); this._BG5 = c.getLastCreatedActor(); c.createRecycledActorOnLayer(c.getActorType(1028), -2, -2, c.engine.getLayerById(2)); this._BG4 = c.getLastCreatedActor(); c.createRecycledActorOnLayer(c.getActorType(1026), -2, -2, c.engine.getLayerById(2)); this._BG3 = c.getLastCreatedActor(); c.createRecycledActorOnLayer(c.getActorType(1024), -2, -2, c.engine.getLayerById(2)); this._BG2 = c.getLastCreatedActor(); c.createRecycledActorOnLayer(c.getActorType(1022), -2, -2, c.engine.getLayerById(2)); this._BG1 = c.getLastCreatedActor(); c.runLater( 500, function (a) { h.engine.getGameAttribute('Music Disabled') || c.playSoundOnChannel(c.getSound(525), 16); }, null ); c.runLater( 1e3 * this._FadeSpeed, function (a) { c.shoutToScene('_customEvent_FadeBG'); }, null ); c.engine.moveCamera( c.getSceneWidth() / 2 - c.getScreenWidth() / 2, c.getScreenHeight() / 2 ); for (var b = 0, d = c.getActorsOfType(c.getActorType(431)); b < d.length; ) { var e = d[b]; ++b; null == e || e.dead || e.recycled || (e.setAnimation('Fall Left'), c.createRecycledActor(c.getActorType(514), e.getX(), c.getScreenHeight() / 2, 0), (this._Camera = c.getLastCreatedActor())); } c.runLater( 1300, function (a) { c.shoutToScene('_customEvent_creditsStart'); }, null ); b = 0; for (d = c.getActorsOfType(c.getActorType(431)); b < d.length; ) (e = d[b]), ++b, null == e || e.dead || e.recycled || e.setAngularVelocity(0.6981317007977111); c.runLater( 100, function (b) { b = 0; for (var d = c.getActorsOfType(c.getActorType(433)); b < d.length; ) { var e = d[b]; ++b; null == e || e.dead || e.recycled || (e.moveToBottom(), (a._TotalBabyCount += 1), e.setAngularVelocity(0.01745329251994278 * c.randomInt(40, -40)), (a._BabyCount = 5 > a._BabyCount ? a._BabyCount + 1 : 1), h.engine.getGameAttribute('Possum Mode') ? (e.setValue('Cutscene Baby Logic', '_Colour', a._BabyCount + 6), 1 == c.randomInt(1, 2) ? e.setAnimation('' + (a._BabyCount + 6) + ' Left') : e.setAnimation('' + (a._BabyCount + 6) + ' Right')) : 12 == a._TotalBabyCount ? (e.setValue('Cutscene Baby Logic', '_Colour', 13), 1 == c.randomInt(1, 2) ? e.setAnimation('13 Left Fall') : e.setAnimation('13 Right Fall')) : 22 == a._TotalBabyCount ? (e.setValue('Cutscene Baby Logic', '_Colour', 14), 1 == c.randomInt(1, 2) ? e.setAnimation('14 Left Fall') : e.setAnimation('14 Right Fall')) : 33 == a._TotalBabyCount ? (e.setValue('Cutscene Baby Logic', '_Colour', 12), 1 == c.randomInt(1, 2) ? e.setAnimation('12 Left Fall') : e.setAnimation('12 Right Fall')) : (e.setValue('Cutscene Baby Logic', '_Colour', a._BabyCount), 1 == c.randomInt(1, 2) ? e.setAnimation('' + a._BabyCount + ' Left Fall') : e.setAnimation('' + a._BabyCount + ' Right Fall'))); } }, null ); this._CloudsWidth = 480; b = 0; for (d = Math.ceil(c.getScreenWidth() / this._CloudsWidth) + 1; b < d; ) (e = b++), c.createRecycledActorOnLayer( c.getActorType(1048), c.getScreenX() + this._CloudsWidth * e, 9760, c.engine.getLayerById(5) ), c.getLastCreatedActor().moveToBottom(); this._LayerNumber = 1; this._Credits = []; this._CreditsTitles = []; this._CreditsTitles.push('A GAME BY'); this._Credits.push('TOM YOUNG'); this._CreditsTitles.push('THANKS'); this._Credits.push('NIKI THOMPSON'); this._CreditsTitles.push('THANKS'); this._Credits.push('HADLEY DONALDSON'); this._CreditsTitles.push('THANKS'); this._Credits.push('PENNY HAY'); this._CreditsTitles.push('THANKS'); this._Credits.push('JOHN MUNRO'); this._CreditsTitles.push('THANKS'); this._Credits.push('LILY LI'); this._CreditsTitles.push('THANKS'); this._Credits.push('JEREMY HANSEN'); this._CreditsTitles.push('THANKS'); this._Credits.push('ROSE YOUNG'); this._CreditsTitles.push('THANKS'); this._Credits.push('...YOU!'); this.addListener(c.engine.whenDrawing, m(this, this._event_Drawing)); c.runPeriodically(500, m(this, this._event_CreditsCheck), null); }, forwardMessage: function (a) {}, __class__: Tx }); var Ux = function (a, b) { c.call(this); this.nameMap.h.Overlay = '_Overlay'; this.nameMap.h['Leaf Speed'] = '_LeafSpeed'; this._LeafSpeed = 10; }; k['scripts.SceneEvents_133'] = Ux; Ux.__name__ = 'scripts.SceneEvents_133'; Ux.__super__ = fa; Ux.prototype = t(fa.prototype, { _Overlay: null, _LeafSpeed: null, init: function () {}, forwardMessage: function (a) {}, __class__: Ux }); var Vx = function (a, b) { c.call(this); this.nameMap.h.Overlay = '_Overlay'; this.nameMap.h['Leaf Speed'] = '_LeafSpeed'; this._LeafSpeed = 10; }; k['scripts.SceneEvents_134'] = Vx; Vx.__name__ = 'scripts.SceneEvents_134'; Vx.__super__ = fa; Vx.prototype = t(fa.prototype, { _Overlay: null, _LeafSpeed: null, init: function () {}, forwardMessage: function (a) {}, __class__: Vx }); var Wx = function (a, b) { c.call(this); this.nameMap.h.Overlay = '_Overlay'; this.nameMap.h['Leaf Speed'] = '_LeafSpeed'; this._LeafSpeed = 10; }; k['scripts.SceneEvents_135'] = Wx; Wx.__name__ = 'scripts.SceneEvents_135'; Wx.__super__ = fa; Wx.prototype = t(fa.prototype, { _Overlay: null, _LeafSpeed: null, init: function () {}, forwardMessage: function (a) {}, __class__: Wx }); var Xx = function (a, b) { c.call(this); this.nameMap.h.Overlay = '_Overlay'; this.nameMap.h['Leaf Speed'] = '_LeafSpeed'; this._LeafSpeed = 10; }; k['scripts.SceneEvents_136'] = Xx; Xx.__name__ = 'scripts.SceneEvents_136'; Xx.__super__ = fa; Xx.prototype = t(fa.prototype, { _Overlay: null, _LeafSpeed: null, init: function () {}, forwardMessage: function (a) {}, __class__: Xx }); var Yx = function (a, b) { c.call(this); }; k['scripts.SceneEvents_142'] = Yx; Yx.__name__ = 'scripts.SceneEvents_142'; Yx.__super__ = fa; Yx.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Yx }); var Zx = function (a, b) { c.call(this); }; k['scripts.SceneEvents_143'] = Zx; Zx.__name__ = 'scripts.SceneEvents_143'; Zx.__super__ = fa; Zx.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Zx }); var $x = function (a, b) { c.call(this); }; k['scripts.SceneEvents_22'] = $x; $x.__name__ = 'scripts.SceneEvents_22'; $x.__super__ = fa; $x.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: $x }); var ay = function (a, b) { c.call(this); this.nameMap.h['Can Start'] = '_CanStart'; this._CanStart = !1; this.nameMap.h['Flash On'] = '_FlashOn'; this._FlashOn = !1; this.nameMap.h.Logo = '_Logo'; this.nameMap.h.Dude = '_Dude'; this.nameMap.h['Transition Col Count'] = '_TransitionColCount'; this._TransitionColCount = 0; this.nameMap.h['Transition Type'] = '_TransitionType'; this._TransitionType = 0; this.nameMap.h.Go = '_Go'; this._Go = !1; this.nameMap.h['Jumping Dadish'] = '_JumpingDadish'; this.nameMap.h['Transition X Center'] = '_TransitionXCenter'; this._TransitionXCenter = 0; this.nameMap.h['Transition Y Center'] = '_TransitionYCenter'; this._TransitionYCenter = 0; this.nameMap.h['Main Menu Walls Height'] = '_MainMenuWallsHeight'; this._MainMenuWallsHeight = 0; this.nameMap.h['Clouds Width'] = '_CloudsWidth'; this._CloudsWidth = 0; this.nameMap.h['Back Clouds Pacer'] = '_BackCloudsPacer'; this._BackCloudsPacer = !1; this.nameMap.h['Settings Button'] = '_SettingsButton'; this.nameMap.h['Settings is Open'] = '_SettingsisOpen'; this._SettingsisOpen = !1; this.nameMap.h['Set Landscape Left'] = '_SetLandscapeLeft'; this._SetLandscapeLeft = !1; this.nameMap.h['Touch To Start Text'] = '_TouchToStartText'; this._TouchToStartText = ''; this.nameMap.h['Touch To Start Font'] = '_TouchToStartFont'; this.nameMap.h['CONTROL TEST'] = '_CONTROLTEST'; this._CONTROLTEST = ''; this.nameMap.h.Distance = '_Distance'; this._Distance = 0; this.nameMap.h['Button Input'] = '_ButtonInput'; this._ButtonInput = ''; this.nameMap.h['Draw Exit Text'] = '_DrawExitText'; this._DrawExitText = !1; }; k['scripts.SceneEvents_4'] = ay; ay.__name__ = 'scripts.SceneEvents_4'; ay.__super__ = fa; ay.prototype = t(fa.prototype, { _CanStart: null, _FlashOn: null, _Logo: null, _Dude: null, _TransitionColCount: null, _TransitionType: null, _Go: null, _JumpingDadish: null, _TransitionXCenter: null, _TransitionYCenter: null, _MainMenuWallsHeight: null, _CloudsWidth: null, _BackCloudsPacer: null, _SettingsButton: null, _SettingsisOpen: null, _SetLandscapeLeft: null, _TouchToStartText: null, _TouchToStartFont: null, _CONTROLTEST: null, _Distance: null, _ButtonInput: null, _DrawExitText: null, _event_AfterNsecs: function (a) { this.wrapper.enabled && (this._CanStart = !0); }, _event_Drawing: function (a, b, d) { if (this.wrapper.enabled) { if (this._CanStart && this._FlashOn) { var e = this._Logo; e = c.isPrimitive(e) ? !0 : 'string' == typeof e ? '' != w.__cast(e, String) : null != e; } else e = !1; if (e && !h.engine.getGameAttribute('Settings Open')) { e = this._TouchToStartFont; null != e && e != a.font && (a.font = e); e = this._TouchToStartText; b = c.getScreenWidth() / 2 - a.font.getTextWidth(this._TouchToStartText) / h.SCALE / 2; d = c.getScreenHeight() / 2 - 124 + this._Logo.getHeight() + 30; null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)); a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + b * a.scaleX), (d = a.y + d * a.scaleY)) : ((b = a.x + b * a.scaleX - h.cameraX), (d = a.y + d * a.scaleY - h.cameraY)) : ((b = a.x + b * a.scaleX), (d = a.y + d * a.scaleY)); a.mtx.identity(); a.mtx.translate(b, d); var f = null, g = a.font; g = e + ':' + g.ID + ':' + a.alpha + ':' + g.letterSpacing + ':' + h.SCALE; if (Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, g)) (e = ha.drawnStringCache.h[g]), (e.lifetime = 5), (f = e.img); else { var l = a.font.font.getTextWidth(e, a.font.letterSpacing, a.font.fontScale), k = (a.font.font.getFontHeight() * a.font.fontScale) | 0; 0 < l && 0 < k && ((f = new la(l, k, !0, 0)), a.font.font.renderToImg( f, e, 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (e = new sc()), (e.img = f), (e.lifetime = 5), (ha.drawnStringCache.h[g] = e), ha.drawnStringCacheKeys.push(g)); } null != f && (a.graphics.beginBitmapFill(f, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, d, f.width, f.height), a.graphics.endFill()); } if (this._BackCloudsPacer) this._BackCloudsPacer = !1; else for ( this._BackCloudsPacer = !0, a = 0, e = c.getActorsOfType(c.getActorType(477)); a < e.length; ) (b = e[a]), ++a, null == b || b.dead || b.recycled || (b.setX(b.getX() - 1), b.getX() <= -this._CloudsWidth && b.setX( this._CloudsWidth * Math.ceil(c.getScreenWidth() / this._CloudsWidth) )); } }, _event_Language: function (a) { this.wrapper.enabled && ((this._TouchToStartFont = c.getFont(1052)), 'JP' == h.engine.getGameAttribute('Language') ? ((this._TouchToStartText = '~x30bf~x30c3~x30c1~x3057~x3066~x958b~x59cb~x3057~x307e~x3057~x3087~x3046'), (this._TouchToStartFont = c.getFont(588))) : 'CN' == h.engine.getGameAttribute('Language') ? ((this._TouchToStartText = '~x89e6~x6478~x542f~x52a8'), (this._TouchToStartFont = c.getFont(592))) : 'KR' == h.engine.getGameAttribute('Language') ? ((this._TouchToStartText = '~xd130~xce58~xd558~xc5ec ~xc2dc~xc791'), (this._TouchToStartFont = c.getFont(593))) : (this._TouchToStartText = 'PRESS ANY KEY')); }, _event_EveryNsecs: function (a) { this.wrapper.enabled && (this._FlashOn = this._FlashOn ? !1 : !0); }, _event_EveryNsecs2: function (a) { if (this.wrapper.enabled) { a = 0; for (var b = c.randomInt(0, 3); a < b; ) a++, c.createRecycledActorOnLayer( c.getActorType(711), c.getScreenX() + c.getScreenWidth() + c.randomInt(0, 64), c.randomInt(c.getScreenY() | 0, (c.getScreenY() + c.getScreenHeight() - 96) | 0), c.engine.getLayerById(3) ); } }, _event_AnyKey: function (a) { if ( this.wrapper.enabled && (c.engine.unpause(), this._CanStart && !this._Go && ((this._CanStart = !1), (this._Go = !0), (a = this._Logo), c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a))) ) { a = 0; for (var b = c.getActorsOfType(c.getActorType(475)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || d.moveToBottom(); } a = 0; for (b = c.getActorsOfType(c.getActorType(477)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveToBottom(); c.stopAllSounds(); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(119)); c.setValueForScene('Transitions', '_TransitionType', 2); c.setValueForScene('Transitions', '_TransitionActor', 1); c.sayToScene('Transitions', '_customEvent_transitionOut'); c.runLater( 2e3, function (a) { if (40 < h.engine.getGameAttribute('Last Played Level')) { a = ra.get().scenes.h[136].getID(); var b = 0, d = 0, e = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); var k = c.createFadeOut(0.1, (b << 16) | (d << 8) | e); e = d = b = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); c.switchScene(a, k, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)); h.engine.gameAttributes.h['Start Overworld Music'] = !0; } else 30 < h.engine.getGameAttribute('Last Played Level') ? ((a = ra.get().scenes.h[135].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (k = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, k, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)), (h.engine.gameAttributes.h['Start Overworld Music'] = !0)) : 20 < h.engine.getGameAttribute('Last Played Level') ? ((a = ra.get().scenes.h[134].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (k = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, k, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)), (h.engine.gameAttributes.h['Start Overworld Music'] = !0)) : 10 < h.engine.getGameAttribute('Last Played Level') ? ((a = ra.get().scenes.h[133].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (k = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, k, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)), (h.engine.gameAttributes.h['Start Overworld Music'] = !0)) : 0 == h.engine.getGameAttribute('Highest Level') ? ((a = h.engine.getGameAttribute('Possum Mode') ? ra.get().scenes.h[81].getID() : ra.get().scenes.h[57].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (k = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, k, c.createFadeIn(0.1, (b << 16) | (d << 8) | e))) : ((a = ra.get().scenes.h[5].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (k = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, k, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)), (h.engine.gameAttributes.h['Start Overworld Music'] = !0)); }, null ); } }, _event_Click: function () { if (this.wrapper.enabled && (c.engine.unpause(), this._CanStart && !this._Go)) { this._CanStart = !1; this._Go = !0; var a = this._Logo; if ( c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a) ) { a = 0; for (var b = c.getActorsOfType(c.getActorType(475)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || d.moveToBottom(); } a = 0; for (b = c.getActorsOfType(c.getActorType(477)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || d.moveToBottom(); c.stopAllSounds(); h.engine.getGameAttribute('Sound Disabled') || c.playSound(c.getSound(119)); c.setValueForScene('Transitions', '_TransitionType', 2); c.setValueForScene('Transitions', '_TransitionActor', 1); c.sayToScene('Transitions', '_customEvent_transitionOut'); c.runLater( 2e3, function (a) { if (40 < h.engine.getGameAttribute('Last Played Level')) { a = ra.get().scenes.h[136].getID(); var b = 0, d = 0, e = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); var k = c.createFadeOut(0.1, (b << 16) | (d << 8) | e); e = d = b = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); c.switchScene(a, k, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)); h.engine.gameAttributes.h['Start Overworld Music'] = !0; } else 30 < h.engine.getGameAttribute('Last Played Level') ? ((a = ra.get().scenes.h[135].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (k = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, k, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)), (h.engine.gameAttributes.h['Start Overworld Music'] = !0)) : 20 < h.engine.getGameAttribute('Last Played Level') ? ((a = ra.get().scenes.h[134].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (k = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, k, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)), (h.engine.gameAttributes.h['Start Overworld Music'] = !0)) : 10 < h.engine.getGameAttribute('Last Played Level') ? ((a = ra.get().scenes.h[133].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (k = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, k, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)), (h.engine.gameAttributes.h['Start Overworld Music'] = !0)) : 0 == h.engine.getGameAttribute('Highest Level') ? ((a = h.engine.getGameAttribute('Possum Mode') ? ra.get().scenes.h[81].getID() : ra.get().scenes.h[57].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (k = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, k, c.createFadeIn(0.1, (b << 16) | (d << 8) | e))) : ((a = ra.get().scenes.h[5].getID()), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), (k = c.createFadeOut(0.1, (b << 16) | (d << 8) | e)), (e = d = b = 0), null == e && (e = 0), null == d && (d = 0), null == b && (b = 0), c.switchScene(a, k, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)), (h.engine.gameAttributes.h['Start Overworld Music'] = !0)); }, null ); } } }, _event_MultiTouch: function (a) { this.wrapper.enabled && (h.engine.gameAttributes.h['MOBILE MODE'] = !0); }, _customEvent_newLogo: function () { var a = this._Logo; if (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) c.recycleActor(this._Logo), (this._Logo = c.getDefaultValue(this._Logo)), c.createRecycledActorOnLayer( c.getActorType(226), c.getSceneWidth() / 2 - 210, c.getSceneHeight() / 2 - 24 - 124, c.engine.getLayerById(4) ), (this._Logo = c.getLastCreatedActor()), 'JP' == h.engine.getGameAttribute('Language') && (this._Logo.setAnimation('JP Idle'), this._Logo.setX( c.getScreenX() + (c.getScreenWidth() / 2 - this._Logo.getWidth() / 2 + 14) )), 'CN' == h.engine.getGameAttribute('Language') && (this._Logo.setAnimation('CN Idle'), this._Logo.setX( c.getScreenX() + (c.getScreenWidth() / 2 - this._Logo.getWidth() / 2 + 14) )), this._Logo.shout('_customEvent_Move'); }, init: function () { var a = this; c.runLater( 1e3, function (b) { a._DrawExitText = !0; }, null ); c.engine.moveCamera(c.getSceneWidth() / 2, c.getSceneHeight() / 2 - 24); c.stopAllSounds(); c.engine.unpause(); c.createRecycledActorOnLayer( c.getActorType(226), c.getSceneWidth() / 2 - 204, c.getSceneHeight() / 2 - 24 - 124, c.engine.getLayerById(4) ); this._Logo = c.getLastCreatedActor(); 'JP' == h.engine.getGameAttribute('Language') && (this._Logo.setAnimation('JP Idle'), this._Logo.setX( c.getScreenX() + (c.getScreenWidth() / 2 - this._Logo.getWidth() / 2 + 14) )); 'CN' == h.engine.getGameAttribute('Language') && (this._Logo.setAnimation('CN Idle'), this._Logo.setX( c.getScreenX() + (c.getScreenWidth() / 2 - this._Logo.getWidth() / 2 + 14) )); this._Logo.shout('_customEvent_Move'); h.engine.gameAttributes.h.Dead = !1; h.engine.gameAttributes.h['Settings Open'] = !1; h.engine.gameAttributes.h['Boss 1 Dialog Read'] = !1; h.engine.gameAttributes.h['Boss 2 Dialog Read'] = !1; h.engine.gameAttributes.h['Boss 3 Dialog Read'] = !1; h.engine.gameAttributes.h['Boss 4 Dialog Read'] = !1; h.engine.gameAttributes.h['Boss 5 Dialog Read'] = !1; h.engine.gameAttributes.h['No Transition'] = !1; h.engine.gameAttributes.h['Overworld Entered Left'] = !1; h.engine.gameAttributes.h['Overworld Entered Right'] = !1; h.engine.gameAttributes.h['Wipe In Left'] = !1; h.engine.gameAttributes.h['Wipe In Right'] = !1; h.engine.gameAttributes.h['Checkpoint Passed'] = !1; h.engine.gameAttributes.h['Dialog Box Open'] = !1; h.engine.gameAttributes.h['Start Overworld Music'] = !1; h.engine.gameAttributes.h['Checkpoint Passed'] = !1; h.engine.gameAttributes.h['Star Collected'] = !1; h.engine.getGameAttribute('Music Disabled') ? c.setVolumeForChannel(0, 16) : h.engine.getGameAttribute('Music Disabled') || c.setVolumeForChannel(1, 16); h.engine.getGameAttribute('Music Disabled'); c.setValueForScene('Transitions', '_TransitionType', 1); c.setValueForScene('Transitions', '_TransitionActor', 1); c.sayToScene('Transitions', '_customEvent_transitionIn'); this._CloudsWidth = 480; for (var b = 0, d = Math.ceil(c.getScreenWidth() / this._CloudsWidth) + 1; b < d; ) { var e = b++; c.createRecycledActorOnLayer( c.getActorType(477), this._CloudsWidth * e, c.getScreenY() + (c.getScreenHeight() - 352), c.engine.getLayerById(2) ); c.getLastCreatedActor().moveToBottom(); } for (b = 0; 7 > b; ) (e = b++), c.createRecycledActorOnLayer( c.getActorType(711), c.randomInt(c.getScreenX() | 0, (c.getScreenX() + (c.getScreenWidth() - 32)) | 0), c.randomInt(c.getScreenY() | 0, (c.getScreenY() + c.getScreenHeight() - 96) | 0), c.engine.getLayerById(3) ); E.mapJoystickButton('0', 'action1'); E.mapJoystickButton('1', 'action1'); E.mapJoystickButton('2', 'action1'); E.mapJoystickButton('3', 'action1'); c.runLater(1200, m(this, this._event_AfterNsecs), null); this.addListener(c.engine.whenDrawing, m(this, this._event_Drawing)); this.addListener(c.engine.whenUpdated, m(this, this._event_Language)); c.runPeriodically(200, m(this, this._event_EveryNsecs), null); c.runPeriodically(400, m(this, this._event_EveryNsecs2), null); this.addListener(c.engine.whenAnyKeyPressed, m(this, this._event_AnyKey)); this.addListener(c.engine.whenMousePressed, m(this, this._event_Click)); this.addListener(c.engine.whenMTStarted, m(this, this._event_MultiTouch)); }, forwardMessage: function (a) {}, __class__: ay }); var by = function (a, b) { c.call(this); this.nameMap.h.Overlay = '_Overlay'; this.nameMap.h['Leaf Speed'] = '_LeafSpeed'; this._LeafSpeed = 10; }; k['scripts.SceneEvents_5'] = by; by.__name__ = 'scripts.SceneEvents_5'; by.__super__ = fa; by.prototype = t(fa.prototype, { _Overlay: null, _LeafSpeed: null, init: function () {}, forwardMessage: function (a) {}, __class__: by }); var cy = function (a, b) { c.call(this); this.nameMap.h.Dude = '_Dude'; this.nameMap.h.Balloon = '_Balloon'; this.nameMap.h['Last Baby'] = '_LastBaby'; this._LastBaby = !1; this.nameMap.h['Wake Dude'] = '_WakeDude'; this._WakeDude = !1; this.nameMap.h['Beach BG Width'] = '_BeachBGWidth'; this._BeachBGWidth = 0; this.nameMap.h['Beach BG Created'] = '_BeachBGCreated'; this._BeachBGCreated = !1; this.nameMap.h['Clouds Width'] = '_CloudsWidth'; this._CloudsWidth = 0; }; k['scripts.SceneEvents_57'] = cy; cy.__name__ = 'scripts.SceneEvents_57'; cy.__super__ = fa; cy.prototype = t(fa.prototype, { _Dude: null, _Balloon: null, _LastBaby: null, _WakeDude: null, _BeachBGWidth: null, _BeachBGCreated: null, _CloudsWidth: null, _event_Updating: function (a) { this.wrapper.enabled && ((a = this._Dude), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && this._Dude.getX() > c.getScreenX() + (c.getScreenWidth() + 64) && (c.sayToScene('Cutscene Logic', '_customEvent_Finished'), c.stopAllSounds(), c.recycleActor(this._Dude), (this._Dude = c.getDefaultValue(this._Dude)))); }, _event_ActorCreated: function (a) { if (this.wrapper.enabled) { this._LastBaby = !0; a = 0; for (var b = c.getActorsOfType(c.getActorType(433)); a < b.length; ) { var d = b[a]; ++a; null == d || d.dead || d.recycled || !d.isOnScreen() || (this._LastBaby = !1); } this._LastBaby && !this._WakeDude && ((this._WakeDude = !0), this._Dude.shout('_customEvent_Wake')); } }, init: function () { this._CloudsWidth = 480; for (var a = 0, b = Math.ceil(c.getScreenWidth() / this._CloudsWidth) + 1; a < b; ) { var d = a++; c.createRecycledActorOnLayer( c.getActorType(716), this._CloudsWidth * d, c.getScreenHeight() - 320, c.engine.getLayerById(7) ); c.getLastCreatedActor().moveToBottom(); } c.createRecycledActorOnLayer(c.getActorType(719), 0, 0, c.engine.getLayerById(7)); c.getLastCreatedActor().setY(c.getScreenHeight() - c.getLastCreatedActor().getHeight()); for (this._BeachBGWidth = c.getLastCreatedActor().getWidth(); !this._BeachBGCreated; ) this._BeachBGWidth < c.getScreenWidth() + 200 ? (c.createRecycledActorOnLayer( c.getActorType(719), c.getLastCreatedActor().getX() + c.getLastCreatedActor().getWidth(), 0, c.engine.getLayerById(7) ), c .getLastCreatedActor() .setY(c.getScreenHeight() - c.getLastCreatedActor().getHeight()), (this._BeachBGWidth += c.getLastCreatedActor().getWidth())) : (this._BeachBGCreated = !0); a = 0; for (b = c.getActorsOfType(c.getActorType(431)); a < b.length; ) (d = b[a]), ++a, null == d || d.dead || d.recycled || ((this._Dude = d), this._Dude.shout('_customEvent_Sleep')); c.loopSoundOnChannel(c.getSound(721), 15); h.engine.getGameAttribute('Sound Disabled') ? c.setVolumeForChannel(0, 15) : h.engine.getGameAttribute('Sound Disabled') || c.setVolumeForChannel(1, 15); c.runLater( 3e3, function (a) { c.runLater( 500, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('1 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 700, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('2 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 900, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('3 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 1100, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('4 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 1300, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('5 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 1500, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('1 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 1700, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('2 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setYVelocity(-30); }, null ); c.runLater( 1900, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('3 Right Jump'); c.getLastCreatedActor().setXVelocity(30); }, null ); c.runLater( 2100, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('4 Right Jump'); c.getLastCreatedActor().setXVelocity(30); }, null ); c.runLater( 2300, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); h.engine.getGameAttribute('Possum Mode') ? c.getLastCreatedActor().setAnimation('6 Right Jump') : c.getLastCreatedActor().setAnimation('5 Right Jump'); c.getLastCreatedActor().setXVelocity(30); }, null ); c.runLater( 2800, function (a) { c.createRecycledActorOnLayer( c.getActorType(433), c.getScreenX() - 48, 512, c.engine.getLayerById(3) ); c.getLastCreatedActor().setAnimation('6 Right Jump'); c.getLastCreatedActor().setXVelocity(30); c.getLastCreatedActor().setX(c.getScreenX() - 48); c.getLastCreatedActor().setY(512); }, null ); }, null ); this.addListener(c.engine.whenUpdated, m(this, this._event_Updating)); this.addListenerWithKey( c.engine.whenTypeGroupKilledEvents, c.getActorType(433), m(this, this._event_ActorCreated) ); }, forwardMessage: function (a) {}, __class__: cy }); var dy = function (a, b) { c.call(this); this.nameMap.h.Logo = '_Logo'; this.nameMap.h.Copyright = '_Copyright'; this.nameMap.h.Angle = '_Angle'; this._Angle = 0; this.nameMap.h['Current Orientation'] = '_CurrentOrientation'; this._CurrentOrientation = 0; this.nameMap.h['Landscape Left'] = '_LandscapeLeft'; this._LandscapeLeft = !1; this.nameMap.h.Dude = '_Dude'; this.nameMap.h.Exit = '_Exit'; this._Exit = !1; }; k['scripts.SceneEvents_60'] = dy; dy.__name__ = 'scripts.SceneEvents_60'; dy.__super__ = fa; dy.prototype = t(fa.prototype, { _Logo: null, _Copyright: null, _Angle: null, _CurrentOrientation: null, _LandscapeLeft: null, _Dude: null, _Exit: null, init: function () { c.loadGame('mySave', function (a) { if (a || h.engine.getGameAttribute('Ignore Load Fail')) { h.engine.gameAttributes.h.Language = 'EN'; c.engine.unpause(); a = ra.get().scenes.h[4].getID(); var b = 0, d = 0, e = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); var f = c.createFadeOut(0.2, (b << 16) | (d << 8) | e); e = d = b = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); c.switchScene(a, f, c.createFadeIn(0.2, (b << 16) | (d << 8) | e)); } }); }, forwardMessage: function (a) {}, __class__: dy }); var ey = function (a, b) { c.call(this); this.nameMap.h['Back Button'] = '_BackButton'; this.nameMap.h['Button Pressed'] = '_ButtonPressed'; this._ButtonPressed = !1; }; k['scripts.SceneEvents_65'] = ey; ey.__name__ = 'scripts.SceneEvents_65'; ey.__super__ = fa; ey.prototype = t(fa.prototype, { _BackButton: null, _ButtonPressed: null, _event_Updating: function (a) { if ( this.wrapper.enabled && ((a = this._BackButton), (c.isPrimitive(a) || ('string' == typeof a ? '' != w.__cast(a, String) : null != a)) && !this._ButtonPressed && this._BackButton.isMousePressed()) ) { this._ButtonPressed = !0; this._BackButton.setAnimation('Down'); c.playSound(c.getSound(119)); h.engine.gameAttributes.h['Ignore Load Fail'] = !0; a = ra.get().scenes.h[60].getID(); var b = 0, d = 0, e = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); var f = c.createFadeOut(0.1, (b << 16) | (d << 8) | e); e = d = b = 0; null == e && (e = 0); null == d && (d = 0); null == b && (b = 0); c.switchScene(a, f, c.createFadeIn(0.1, (b << 16) | (d << 8) | e)); } }, _event_Drawing: function (a, b, d) { if (this.wrapper.enabled) { b = c.getFont(479); null != b && b != a.font && (a.font = b); b = c.getScreenWidth() / 2 - a.font.getTextWidth('ERROR:') / h.SCALE / 2; d = c.getScreenHeight() / 2 - 100; null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)); a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + b * a.scaleX), (d = a.y + d * a.scaleY)) : ((b = a.x + b * a.scaleX - h.cameraX), (d = a.y + d * a.scaleY - h.cameraY)) : ((b = a.x + b * a.scaleX), (d = a.y + d * a.scaleY)); a.mtx.identity(); a.mtx.translate(b, d); var e = null, f = a.font; f = 'ERROR:' + f.ID + ':' + a.alpha + ':' + f.letterSpacing + ':' + h.SCALE; if (Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, f)) { var g = ha.drawnStringCache.h[f]; g.lifetime = 5; e = g.img; } else { g = a.font.font.getTextWidth('ERROR', a.font.letterSpacing, a.font.fontScale); var l = (a.font.font.getFontHeight() * a.font.fontScale) | 0; 0 < g && 0 < l && ((e = new la(g, l, !0, 0)), a.font.font.renderToImg( e, 'ERROR', 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (g = new sc()), (g.img = e), (g.lifetime = 5), (ha.drawnStringCache.h[f] = g), ha.drawnStringCacheKeys.push(f)); } null != e && (a.graphics.beginBitmapFill(e, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, d, e.width, e.height), a.graphics.endFill()); b = c.getScreenWidth() / 2 - a.font.getTextWidth('SAVE FAILED TO LOAD!') / h.SCALE / 2; d = c.getScreenHeight() / 2 - 80; null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)); a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + b * a.scaleX), (d = a.y + d * a.scaleY)) : ((b = a.x + b * a.scaleX - h.cameraX), (d = a.y + d * a.scaleY - h.cameraY)) : ((b = a.x + b * a.scaleX), (d = a.y + d * a.scaleY)); a.mtx.identity(); a.mtx.translate(b, d); e = null; f = a.font; f = 'SAVE FAILED TO LOAD!:' + f.ID + ':' + a.alpha + ':' + f.letterSpacing + ':' + h.SCALE; Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, f) ? ((g = ha.drawnStringCache.h[f]), (g.lifetime = 5), (e = g.img)) : ((g = a.font.font.getTextWidth( 'SAVE FAILED TO LOAD!', a.font.letterSpacing, a.font.fontScale )), (l = (a.font.font.getFontHeight() * a.font.fontScale) | 0), 0 < g && 0 < l && ((e = new la(g, l, !0, 0)), a.font.font.renderToImg( e, 'SAVE FAILED TO LOAD!', 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (g = new sc()), (g.img = e), (g.lifetime = 5), (ha.drawnStringCache.h[f] = g), ha.drawnStringCacheKeys.push(f))); null != e && (a.graphics.beginBitmapFill(e, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, d, e.width, e.height), a.graphics.endFill()); b = c.getFont(526); null != b && b != a.font && (a.font = b); b = c.getScreenWidth() / 2 - a.font.getTextWidth('RESTART THE GAME,') / h.SCALE / 2; d = c.getScreenHeight() / 2 - 40; null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)); a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + b * a.scaleX), (d = a.y + d * a.scaleY)) : ((b = a.x + b * a.scaleX - h.cameraX), (d = a.y + d * a.scaleY - h.cameraY)) : ((b = a.x + b * a.scaleX), (d = a.y + d * a.scaleY)); a.mtx.identity(); a.mtx.translate(b, d); e = null; f = a.font; f = 'RESTART THE GAME,:' + f.ID + ':' + a.alpha + ':' + f.letterSpacing + ':' + h.SCALE; Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, f) ? ((g = ha.drawnStringCache.h[f]), (g.lifetime = 5), (e = g.img)) : ((g = a.font.font.getTextWidth( 'RESTART THE GAME,', a.font.letterSpacing, a.font.fontScale )), (l = (a.font.font.getFontHeight() * a.font.fontScale) | 0), 0 < g && 0 < l && ((e = new la(g, l, !0, 0)), a.font.font.renderToImg( e, 'RESTART THE GAME,', 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (g = new sc()), (g.img = e), (g.lifetime = 5), (ha.drawnStringCache.h[f] = g), ha.drawnStringCacheKeys.push(f))); null != e && (a.graphics.beginBitmapFill(e, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, d, e.width, e.height), a.graphics.endFill()); b = c.getScreenWidth() / 2 - a.font.getTextWidth('RESTART YOUR DEVICE,') / h.SCALE / 2; d = c.getScreenHeight() / 2 - 20; null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)); a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + b * a.scaleX), (d = a.y + d * a.scaleY)) : ((b = a.x + b * a.scaleX - h.cameraX), (d = a.y + d * a.scaleY - h.cameraY)) : ((b = a.x + b * a.scaleX), (d = a.y + d * a.scaleY)); a.mtx.identity(); a.mtx.translate(b, d); e = null; f = a.font; f = 'RESTART YOUR DEVICE,:' + f.ID + ':' + a.alpha + ':' + f.letterSpacing + ':' + h.SCALE; Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, f) ? ((g = ha.drawnStringCache.h[f]), (g.lifetime = 5), (e = g.img)) : ((g = a.font.font.getTextWidth( 'RESTART YOUR DEVICE,', a.font.letterSpacing, a.font.fontScale )), (l = (a.font.font.getFontHeight() * a.font.fontScale) | 0), 0 < g && 0 < l && ((e = new la(g, l, !0, 0)), a.font.font.renderToImg( e, 'RESTART YOUR DEVICE,', 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (g = new sc()), (g.img = e), (g.lifetime = 5), (ha.drawnStringCache.h[f] = g), ha.drawnStringCacheKeys.push(f))); null != e && (a.graphics.beginBitmapFill(e, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, d, e.width, e.height), a.graphics.endFill()); b = c.getScreenWidth() / 2 - a.font.getTextWidth('OR CONTINUE AT') / h.SCALE / 2; d = c.getScreenHeight() / 2; null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)); a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + b * a.scaleX), (d = a.y + d * a.scaleY)) : ((b = a.x + b * a.scaleX - h.cameraX), (d = a.y + d * a.scaleY - h.cameraY)) : ((b = a.x + b * a.scaleX), (d = a.y + d * a.scaleY)); a.mtx.identity(); a.mtx.translate(b, d); e = null; f = a.font; f = 'OR CONTINUE AT:' + f.ID + ':' + a.alpha + ':' + f.letterSpacing + ':' + h.SCALE; Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, f) ? ((g = ha.drawnStringCache.h[f]), (g.lifetime = 5), (e = g.img)) : ((g = a.font.font.getTextWidth( 'OR CONTINUE AT', a.font.letterSpacing, a.font.fontScale )), (l = (a.font.font.getFontHeight() * a.font.fontScale) | 0), 0 < g && 0 < l && ((e = new la(g, l, !0, 0)), a.font.font.renderToImg( e, 'OR CONTINUE AT', 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (g = new sc()), (g.img = e), (g.lifetime = 5), (ha.drawnStringCache.h[f] = g), ha.drawnStringCacheKeys.push(f))); null != e && (a.graphics.beginBitmapFill(e, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, d, e.width, e.height), a.graphics.endFill()); b = c.getScreenWidth() / 2 - a.font.getTextWidth('YOUR OWN RISK:') / h.SCALE / 2; d = c.getScreenHeight() / 2 + 20; null == a.font && ((a.font = a.defaultFont), a.font.fontScale != h.SCALE && (a.font.fontScale = h.SCALE)); a.drawActor ? null != a.actor && a.actor.isHUD ? ((b = a.x + b * a.scaleX), (d = a.y + d * a.scaleY)) : ((b = a.x + b * a.scaleX - h.cameraX), (d = a.y + d * a.scaleY - h.cameraY)) : ((b = a.x + b * a.scaleX), (d = a.y + d * a.scaleY)); a.mtx.identity(); a.mtx.translate(b, d); e = null; f = a.font; f = 'YOUR OWN RISK::' + f.ID + ':' + a.alpha + ':' + f.letterSpacing + ':' + h.SCALE; Object.prototype.hasOwnProperty.call(ha.drawnStringCache.h, f) ? ((g = ha.drawnStringCache.h[f]), (g.lifetime = 5), (e = g.img)) : ((g = a.font.font.getTextWidth( 'YOUR OWN RISK:', a.font.letterSpacing, a.font.fontScale )), (l = (a.font.font.getFontHeight() * a.font.fontScale) | 0), 0 < g && 0 < l && ((e = new la(g, l, !0, 0)), a.font.font.renderToImg( e, 'YOUR OWN RISK:', 0, a.alpha, 0, 0, a.font.letterSpacing, a.font.fontScale, 0, !1 ), (g = new sc()), (g.img = e), (g.lifetime = 5), (ha.drawnStringCache.h[f] = g), ha.drawnStringCacheKeys.push(f))); null != e && (a.graphics.beginBitmapFill(e, a.mtx, !1, ba.antialias), a.graphics.drawRect(b, d, e.width, e.height), a.graphics.endFill()); } }, init: function () { c.createRecycledActor( c.getActorType(685), c.getScreenWidth() / 2 - 90, c.getScreenHeight() / 2 + 60, 0 ); this._BackButton = c.getLastCreatedActor(); this._BackButton.setValue('Button Logic', '_ButtonText', 'Continue'); this.addListener(c.engine.whenUpdated, m(this, this._event_Updating)); this.addListener(c.engine.whenDrawing, m(this, this._event_Drawing)); }, forwardMessage: function (a) {}, __class__: ey }); var fy = function (a, b) { c.call(this); }; k['scripts.SceneEvents_66'] = fy; fy.__name__ = 'scripts.SceneEvents_66'; fy.__super__ = fa; fy.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: fy }); var gy = function (a, b) { c.call(this); }; k['scripts.SceneEvents_68'] = gy; gy.__name__ = 'scripts.SceneEvents_68'; gy.__super__ = fa; gy.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: gy }); var hy = function (a, b) { c.call(this); }; k['scripts.SceneEvents_71'] = hy; hy.__name__ = 'scripts.SceneEvents_71'; hy.__super__ = fa; hy.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: hy }); var iy = function (a, b) { c.call(this); }; k['scripts.SceneEvents_72'] = iy; iy.__name__ = 'scripts.SceneEvents_72'; iy.__super__ = fa; iy.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: iy }); var jy = function (a, b) { c.call(this); }; k['scripts.SceneEvents_73'] = jy; jy.__name__ = 'scripts.SceneEvents_73'; jy.__super__ = fa; jy.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: jy }); var ky = function (a, b) { c.call(this); }; k['scripts.SceneEvents_74'] = ky; ky.__name__ = 'scripts.SceneEvents_74'; ky.__super__ = fa; ky.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: ky }); var ly = function (a, b) { c.call(this); }; k['scripts.SceneEvents_75'] = ly; ly.__name__ = 'scripts.SceneEvents_75'; ly.__super__ = fa; ly.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: ly }); var my = function (a, b) { c.call(this); }; k['scripts.SceneEvents_77'] = my; my.__name__ = 'scripts.SceneEvents_77'; my.__super__ = fa; my.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: my }); var ny = function (a, b) { c.call(this); }; k['scripts.SceneEvents_78'] = ny; ny.__name__ = 'scripts.SceneEvents_78'; ny.__super__ = fa; ny.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: ny }); var oy = function (a, b) { c.call(this); }; k['scripts.SceneEvents_79'] = oy; oy.__name__ = 'scripts.SceneEvents_79'; oy.__super__ = fa; oy.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: oy }); var py = function (a, b) { c.call(this); }; k['scripts.SceneEvents_81'] = py; py.__name__ = 'scripts.SceneEvents_81'; py.__super__ = fa; py.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: py }); var qy = function (a, b) { c.call(this); }; k['scripts.SceneEvents_82'] = qy; qy.__name__ = 'scripts.SceneEvents_82'; qy.__super__ = fa; qy.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: qy }); var ry = function (a, b) { c.call(this); }; k['scripts.SceneEvents_84'] = ry; ry.__name__ = 'scripts.SceneEvents_84'; ry.__super__ = fa; ry.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: ry }); var sy = function (a, b) { c.call(this); }; k['scripts.SceneEvents_85'] = sy; sy.__name__ = 'scripts.SceneEvents_85'; sy.__super__ = fa; sy.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: sy }); var ty = function (a, b) { c.call(this); }; k['scripts.SceneEvents_86'] = ty; ty.__name__ = 'scripts.SceneEvents_86'; ty.__super__ = fa; ty.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: ty }); var uy = function (a, b) { c.call(this); }; k['scripts.SceneEvents_87'] = uy; uy.__name__ = 'scripts.SceneEvents_87'; uy.__super__ = fa; uy.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: uy }); var vy = function (a, b) { c.call(this); }; k['scripts.SceneEvents_88'] = vy; vy.__name__ = 'scripts.SceneEvents_88'; vy.__super__ = fa; vy.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: vy }); var wy = function (a, b) { c.call(this); }; k['scripts.SceneEvents_89'] = wy; wy.__name__ = 'scripts.SceneEvents_89'; wy.__super__ = fa; wy.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: wy }); var xy = function (a, b) { c.call(this); }; k['scripts.SceneEvents_90'] = xy; xy.__name__ = 'scripts.SceneEvents_90'; xy.__super__ = fa; xy.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: xy }); var yy = function (a, b) { c.call(this); }; k['scripts.SceneEvents_91'] = yy; yy.__name__ = 'scripts.SceneEvents_91'; yy.__super__ = fa; yy.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: yy }); var zy = function (a, b) { c.call(this); }; k['scripts.SceneEvents_92'] = zy; zy.__name__ = 'scripts.SceneEvents_92'; zy.__super__ = fa; zy.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: zy }); var Ay = function (a, b) { c.call(this); }; k['scripts.SceneEvents_93'] = Ay; Ay.__name__ = 'scripts.SceneEvents_93'; Ay.__super__ = fa; Ay.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Ay }); var By = function (a, b) { c.call(this); }; k['scripts.SceneEvents_94'] = By; By.__name__ = 'scripts.SceneEvents_94'; By.__super__ = fa; By.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: By }); var Cy = function (a, b) { c.call(this); }; k['scripts.SceneEvents_95'] = Cy; Cy.__name__ = 'scripts.SceneEvents_95'; Cy.__super__ = fa; Cy.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Cy }); var Dy = function (a, b) { c.call(this); }; k['scripts.SceneEvents_96'] = Dy; Dy.__name__ = 'scripts.SceneEvents_96'; Dy.__super__ = fa; Dy.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Dy }); var Ey = function (a, b) { c.call(this); }; k['scripts.SceneEvents_97'] = Ey; Ey.__name__ = 'scripts.SceneEvents_97'; Ey.__super__ = fa; Ey.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Ey }); var Fy = function (a, b) { c.call(this); }; k['scripts.SceneEvents_98'] = Fy; Fy.__name__ = 'scripts.SceneEvents_98'; Fy.__super__ = fa; Fy.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Fy }); var Gy = function (a, b) { c.call(this); }; k['scripts.SceneEvents_99'] = Gy; Gy.__name__ = 'scripts.SceneEvents_99'; Gy.__super__ = fa; Gy.prototype = t(fa.prototype, { init: function () {}, forwardMessage: function (a) {}, __class__: Gy }); var Hy = function () {}; k['scripts.SplashBox'] = Hy; Hy.__name__ = 'scripts.SplashBox'; Hy.prototype = { __class__: Hy }; var pk = function () { this.onComplete = new Ld(); var a = this; Ca.call(this); Oa.get_current().addChild(this); this.locked = !1; var b = h.SCALE, c = ''; this.background = new Ca(); this.background.get_graphics().beginFill(-15592942, 1); this.background.get_graphics().drawRect(0, 0, this.getWidth(), this.getHeight()); this.addChild(this.background); W.getConfigBitmap('config/preloader-bg.html').onComplete(function (b) { a.addChildAt(b, a.getChildIndex(a.background) + 1); }); var e = 2 * b; this.barWidth = (b * h.screenScaleX * 120) | 0; this.barHeight = (b * h.screenScaleY * 8) | 0; var f = 0 * b; b *= 0; c = this.getWidth() / 2 - this.barWidth / 2; var g = this.getHeight() - this.barHeight - e; this.barBorder = new Ca(); this.barBorder.get_graphics().beginFill(-12303292, 1); this.barBorder .get_graphics() .drawRect(-e, -e, this.barWidth + 2 * e, this.barHeight + 2 * e); this.barBorder.set_x(c + f); this.barBorder.set_y(g + b); this.addChild(this.barBorder); this.barBackground = new Ca(); this.barBackground.get_graphics().beginFill(-12303292, 1); this.barBackground.get_graphics().drawRect(0, 0, this.barWidth, this.barHeight); this.barBackground.set_x(c + f); this.barBackground.set_y(g + b); this.barBackground.set_scaleX(1); this.addChild(this.barBackground); this.bar = new Ca(); this.bar.get_graphics().beginFill(-3280795, 1); this.bar.get_graphics().drawRect(0, 0, this.barWidth, this.barHeight); e = new ea(0, 0, 0, this.barHeight); this.bar.set_scrollRect(e); this.bar.set_x(c + f); this.bar.set_y(g + b); this.addChild(this.bar); '' != this.getURL() && this.addEventListener('mouseDown', m(this, this.onMouseDown), !1, 2); c = this.getLockURL(); if (this.isSiteLocked() && null != c && '' != c) { e = !1; f = Oa.get_current().get_loaderInfo().url; if (null == f) e = !0; else if (0 > f.indexOf('http://') && 0 > f.indexOf('https://')) e = !0; else if (0 < f.indexOf('stencyl.com') || 0 < f.indexOf('localhost')) e = !0; if (!e) { b = c.split(','); for (c = 0; c < b.length; ) (e = b[c]), ++c, (e = T.trim(e)), 0 <= e.indexOf('*') || (T.startsWith(e, '^') && T.endsWith(e, '$')) ? ((e = new Ja(e, '')), (e = e.match(f))) : (e = 0 <= f.indexOf(e)); e || this.showLockScreen(b[0]); } } }; k['scripts.StencylPreloader'] = pk; pk.__name__ = 'scripts.StencylPreloader'; pk.__super__ = Ca; pk.prototype = t(Ca.prototype, { barBorder: null, bar: null, barBackground: null, background: null, barWidth: null, barHeight: null, locked: null, onComplete: null, adPlaying: null, ready: null, getLockURL: function () { return ''; }, isSiteLocked: function () { return !1; }, showLockScreen: function (a) { this.locked = !0; W.removeAllChildren(this); var b = new rc(new la(this.getWidth() | 0, this.getHeight() | 0, !1, 5658198)); this.addChild(b); var c = new We(); c.set_width(this.getWidth() - 16); c.set_height(this.getHeight() - 16); c.set_x(8); c.set_y(8); c.set_textColor(16777215); c.set_multiline(!0); c.set_wordWrap(!0); c.set_text( 'Hi there! It looks like somebody copied this game without my permission. Just click anywhere, or copy-paste this URL into your browser.\n\n' + a + '\n\nThanks, and have fun!' ); a = new Pg(null, 25); c.setTextFormat(a); this.addChild(c); this.removeEventListener('mouseDown', m(this, this.onMouseDown)); c.addEventListener('click', m(this, this.goToLockURL)); b.addEventListener('click', m(this, this.goToLockURL)); }, getURL: function () { return ''; }, goToLockURL: function (a) { Oa.getURL(new Sg(this.getLockURL().split(',')[0]), '_parent'); }, onMouseDown: function (a) { this.removeEventListener('mouseDown', m(this, this.onMouseDown)); Oa.getURL(new Sg(this.getURL()), '_blank'); }, getBackgroundColor: function () { return 3368601; }, getWidth: function () { return xa.windowWidth; }, getHeight: function () { return xa.windowHeight; }, onUpdate: function (a, b) { Oa.get_current().get_loaderInfo().__update(a, b); null != this.bar && ((a = new ea(0, 0, (a / b) * this.barWidth, this.barHeight)), this.bar.set_scrollRect(a)); }, onLoaded: function () { Oa.get_current().get_loaderInfo().__complete(); this.ready = !0; this.adPlaying || this.unload(); }, adFinished: function () { this.adPlaying = !1; this.ready && this.unload(); }, unload: function () { new Hy(); (this.isSiteLocked() && this.locked) || (this.parent == Oa.get_current() && Oa.get_current().removeChild(this), Oa.get_current().stage.set_focus(null), this.onComplete.dispatch()); }, __class__: pk }); var Jb = function () {}; k['tweenxcore.Easing'] = Jb; Jb.__name__ = 'tweenxcore.Easing'; Jb.linear = function (a) { return a; }; Jb.sineIn = function (a) { return 0 == a ? 0 : 1 == a ? 1 : 1 - Math.cos(1.5707963267948966 * a); }; Jb.sineOut = function (a) { return 0 == a ? 0 : 1 == a ? 1 : Math.sin(1.5707963267948966 * a); }; Jb.sineInOut = function (a) { return 0 == a ? 0 : 1 == a ? 1 : -0.5 * (Math.cos(3.141592653589793 * a) - 1); }; Jb.sineOutIn = function (a) { return 0 == a ? 0 : 1 == a ? 1 : 0.5 > a ? 0.5 * Math.sin(3.141592653589793 * a) : -0.5 * Math.cos(1.5707963267948966 * (2 * a - 1)) + 1; }; Jb.quadIn = function (a) { return a * a; }; Jb.quadOut = function (a) { return -a * (a - 2); }; Jb.quadInOut = function (a) { return 0.5 > a ? 2 * a * a : -2 * --a * a + 1; }; Jb.quadOutIn = function (a) { if (0.5 > a) return -0.5 * (a *= 2) * (a - 2); a = 2 * a - 1; return 0.5 * a * a + 0.5; }; Jb.cubicIn = function (a) { return a * a * a; }; Jb.cubicOut = function (a) { return --a * a * a + 1; }; Jb.cubicInOut = function (a) { return 1 > (a *= 2) ? 0.5 * a * a * a : 0.5 * ((a -= 2) * a * a + 2); }; Jb.cubicOutIn = function (a) { a = 2 * a - 1; return 0.5 * (a * a * a + 1); }; Jb.quartIn = function (a) { return (a *= a) * a; }; Jb.quartOut = function (a) { a *= --a; return 1 - a * a; }; Jb.quartInOut = function (a) { if (1 > (a *= 2)) return 0.5 * (a *= a) * a; a *= a -= 2; return -0.5 * (a * a - 2); }; Jb.quartOutIn = function (a) { if (0.5 > a) return (a = 2 * a - 1), -0.5 * (a *= a) * a + 0.5; a = 2 * a - 1; return 0.5 * (a *= a) * a + 0.5; }; Jb.quintIn = function (a) { return a * (a *= a) * a; }; Jb.quintOut = function (a) { return --a * (a *= a) * a + 1; }; Jb.quintInOut = function (a) { return 1 > (a *= 2) ? 0.5 * a * (a *= a) * a : 0.5 * (a -= 2) * (a *= a) * a + 1; }; Jb.quintOutIn = function (a) { a = 2 * a - 1; return 0.5 * (a * (a *= a) * a + 1); }; Jb.expoIn = function (a) { return 0 == a ? 0 : Math.exp(6.931471805599453 * (a - 1)); }; Jb.expoOut = function (a) { return 1 == a ? 1 : 1 - Math.exp(-6.931471805599453 * a); }; Jb.expoInOut = function (a) { return 0 == a ? 0 : 1 == a ? 1 : 1 > (a *= 2) ? 0.5 * Math.exp(6.931471805599453 * (a - 1)) : 0.5 * (2 - Math.exp(-6.931471805599453 * (a - 1))); }; Jb.expoOutIn = function (a) { return 0.5 > a ? 0.5 * (1 - Math.exp(-13.862943611198906 * a)) : 0.5 == a ? 0.5 : 0.5 * (Math.exp(13.862943611198906 * (a - 1)) + 1); }; Jb.circIn = function (a) { return -1 > a || 1 < a ? 0 : 1 - Math.sqrt(1 - a * a); }; Jb.circOut = function (a) { return 0 > a || 2 < a ? 0 : Math.sqrt(a * (2 - a)); }; Jb.circInOut = function (a) { return -0.5 > a || 1.5 < a ? 0.5 : 1 > (a *= 2) ? -0.5 * (Math.sqrt(1 - a * a) - 1) : 0.5 * (Math.sqrt(1 - (a -= 2) * a) + 1); }; Jb.circOutIn = function (a) { if (0 > a) return 0; if (1 < a) return 1; if (0.5 > a) return (a = 2 * a - 1), 0.5 * Math.sqrt(1 - a * a); a = 2 * a - 1; return -0.5 * (Math.sqrt(1 - a * a) - 1 - 1); }; Jb.bounceIn = function (a) { a = 1 - a; return 0.36363636363636365 > a ? 1 - 7.5625 * a * a : 0.7272727272727273 > a ? 1 - (7.5625 * (a -= 0.5454545454545454) * a + 0.75) : 0.9090909090909091 > a ? 1 - (7.5625 * (a -= 0.8181818181818182) * a + 0.9375) : 1 - (7.5625 * (a -= 0.9545454545454546) * a + 0.984375); }; Jb.bounceOut = function (a) { return 0.36363636363636365 > a ? 7.5625 * a * a : 0.7272727272727273 > a ? 7.5625 * (a -= 0.5454545454545454) * a + 0.75 : 0.9090909090909091 > a ? 7.5625 * (a -= 0.8181818181818182) * a + 0.9375 : 7.5625 * (a -= 0.9545454545454546) * a + 0.984375; }; Jb.bounceInOut = function (a) { if (0.5 > a) return ( (a = 1 - 2 * a), 0.36363636363636365 > a ? 0.5 * (1 - 7.5625 * a * a) : 0.7272727272727273 > a ? 0.5 * (1 - (7.5625 * (a -= 0.5454545454545454) * a + 0.75)) : 0.9090909090909091 > a ? 0.5 * (1 - (7.5625 * (a -= 0.8181818181818182) * a + 0.9375)) : 0.5 * (1 - (7.5625 * (a -= 0.9545454545454546) * a + 0.984375)) ); a = 2 * a - 1; return 0.36363636363636365 > a ? 7.5625 * a * a * 0.5 + 0.5 : 0.7272727272727273 > a ? 0.5 * (7.5625 * (a -= 0.5454545454545454) * a + 0.75) + 0.5 : 0.9090909090909091 > a ? 0.5 * (7.5625 * (a -= 0.8181818181818182) * a + 0.9375) + 0.5 : 0.5 * (7.5625 * (a -= 0.9545454545454546) * a + 0.984375) + 0.5; }; Jb.bounceOutIn = function (a) { if (0.5 > a) return 0.36363636363636365 > (a *= 2) ? 3.78125 * a * a : 0.7272727272727273 > a ? 0.5 * (7.5625 * (a -= 0.5454545454545454) * a + 0.75) : 0.9090909090909091 > a ? 0.5 * (7.5625 * (a -= 0.8181818181818182) * a + 0.9375) : 0.5 * (7.5625 * (a -= 0.9545454545454546) * a + 0.984375); a = 1 - (2 * a - 1); return 0.36363636363636365 > a ? 0.5 - 3.78125 * a * a + 0.5 : 0.7272727272727273 > a ? 0.5 - 0.5 * (7.5625 * (a -= 0.5454545454545454) * a + 0.75) + 0.5 : 0.9090909090909091 > a ? 0.5 - 0.5 * (7.5625 * (a -= 0.8181818181818182) * a + 0.9375) + 0.5 : 0.5 - 0.5 * (7.5625 * (a -= 0.9545454545454546) * a + 0.984375) + 0.5; }; Jb.backIn = function (a) { return 0 == a ? 0 : 1 == a ? 1 : a * a * (2.70158 * a - 1.70158); }; Jb.backOut = function (a) { return 0 == a ? 0 : 1 == a ? 1 : --a * a * (2.70158 * a + 1.70158) + 1; }; Jb.backInOut = function (a) { return 0 == a ? 0 : 1 == a ? 1 : 1 > (a *= 2) ? 0.5 * a * a * (3.5949095 * a - 2.5949095) : 0.5 * ((a -= 2) * a * (3.5949095 * a + 2.5949095) + 2); }; Jb.backOutIn = function (a) { if (0 == a) return 0; if (1 == a) return 1; if (0.5 > a) return (a = 2 * a - 1), 0.5 * (a * a * (2.70158 * a + 1.70158) + 1); a = 2 * a - 1; return 0.5 * a * a * (2.70158 * a - 1.70158) + 0.5; }; Jb.elasticIn = function (a) { return 0 == a ? 0 : 1 == a ? 1 : -( Math.exp(6.931471805599453 * --a) * Math.sin((6.283185307179586 * (0.001 * a - 7.5e-5)) / 3e-4) ); }; Jb.elasticOut = function (a) { return 0 == a ? 0 : 1 == a ? 1 : Math.exp(-6.931471805599453 * a) * Math.sin((6.283185307179586 * (0.001 * a - 7.5e-5)) / 3e-4) + 1; }; Jb.elasticInOut = function (a) { return 0 == a ? 0 : 1 == a ? 1 : 1 > (a *= 2) ? -0.5 * Math.exp(6.931471805599453 * --a) * Math.sin((6.283185307179586 * (0.001 * a - 7.5e-5)) / 3e-4) : Math.exp(-6.931471805599453 * --a) * Math.sin((6.283185307179586 * (0.001 * a - 7.5e-5)) / 3e-4) * 0.5 + 1; }; Jb.elasticOutIn = function (a) { if (0.5 > a) return 0 == (a *= 2) ? 0 : 0.5 * Math.exp(-6.931471805599453 * a) * Math.sin((6.283185307179586 * (0.001 * a - 7.5e-5)) / 3e-4) + 0.5; if (0.5 == a) return 0.5; if (1 == a) return 1; a = 2 * a - 1; return ( -( 0.5 * Math.exp(6.931471805599453 * --a) * Math.sin((6.283185307179586 * (0.001 * a - 7.5e-5)) / 3e-4) ) + 0.5 ); }; Jb.warpOut = function (a) { return 0 >= a ? 0 : 1; }; Jb.warpIn = function (a) { return 1 > a ? 0 : 1; }; Jb.warpInOut = function (a) { return 0.5 > a ? 0 : 1; }; Jb.warpOutIn = function (a) { return 0 >= a ? 0 : 1 > a ? 0.5 : 1; }; var Cc = function () {}; k['tweenxcore.FloatTools'] = Cc; Cc.__name__ = 'tweenxcore.FloatTools'; Cc.revert = function (a) { return 1 - a; }; Cc.clamp = function (a, b, c) { null == c && (c = 1); null == b && (b = 0); return a <= b ? b : c <= a ? c : a; }; Cc.lerp = function (a, b, c) { return b * (1 - a) + c * a; }; Cc.inverseLerp = function (a, b, c) { return (a - b) / (c - b); }; Cc.repeat = function (a, b, c) { null == c && (c = 1); null == b && (b = 0); a = (a - b) / (c - b); return a - Math.floor(a); }; Cc.shake = function (a, b, c) { null == b && (b = 0); null == c && (c = Math.random); c = c(); return b + (-a * (1 - c) + a * c); }; Cc.spread = function (a, b) { return -b * (1 - a) + b * a; }; Cc.sinByRate = function (a) { return Math.sin(2 * a * Math.PI); }; Cc.cosByRate = function (a) { return Math.cos(2 * a * Math.PI); }; Cc.yoyo = function (a, b) { return b(2 * (0.5 > a ? a : 1 - a)); }; Cc.zigzag = function (a, b) { return 0.5 > a ? b(2 * a) : 1 - b(2 * (a - 0.5)); }; Cc.mixEasing = function (a, b, c, e) { null == e && (e = 0.5); return b(a) * (1 - e) + c(a) * e; }; Cc.crossfadeEasing = function (a, b, c, e, f, g) { null == g && (g = 1); null == f && (f = 0); e = e(a); f = f * (1 - e) + g * e; return b(a) * (1 - f) + c(a) * f; }; Cc.connectEasing = function (a, b, c, e, f) { null == f && (f = 0.5); null == e && (e = 0.5); if (a < e) return (a = b(a / e)), 0 * (1 - a) + f * a; a = c((a - e) / (1 - e)); return f * (1 - a) + a; }; Cc.oneTwoEasing = function (a, b, c, e) { null == e && (e = 0.5); return a < e ? b(a / e) : c((a - e) / (1 - e)); }; Cc.binarySearch = function (a, b, c) { null == c && (c = 0); var d = 0, f = a.length; if (0 == c) for (;;) { c = (((f - d) / 2) | 0) + d; var g = a[c]; g <= b ? (d = c + 1) : (f = c); if (d == f) break; } else for ( ; (c = (((f - d) / 2) | 0) + d), (g = a[c]), g < b ? (d = c + 1) : (f = c), d != f; ); return d; }; Cc.polyline = function (a, b) { if (2 > b.length) throw J.thrown('points length must be more than 2'); var c = b.length - 1; a *= c; var e = 0; --c; null == c && (c = 1); null == e && (e = 0); c = Math.floor(a <= e ? e : c <= a ? c : a); a -= c; return b[c] * (1 - a) + b[c + 1] * a; }; Cc.bezier2 = function (a, b, c, e) { return (b * (1 - a) + c * a) * (1 - a) + (c * (1 - a) + e * a) * a; }; Cc.bezier3 = function (a, b, c, e, f) { var d = c * (1 - a) + e * a; return ( ((b * (1 - a) + c * a) * (1 - a) + d * a) * (1 - a) + (d * (1 - a) + (e * (1 - a) + f * a) * a) * a ); }; Cc.bezier = function (a, b) { if (2 > b.length) throw J.thrown('points length must be more than 2'); if (2 == b.length) return b[0] * (1 - a) + b[1] * a; if (3 == b.length) { var c = b[1]; return (b[0] * (1 - a) + c * a) * (1 - a) + (c * (1 - a) + b[2] * a) * a; } return Cc._bezier(a, b); }; Cc._bezier = function (a, b) { if (4 == b.length) { var c = b[1], e = b[2], f = c * (1 - a) + e * a; return ( ((b[0] * (1 - a) + c * a) * (1 - a) + f * a) * (1 - a) + (f * (1 - a) + (e * (1 - a) + b[3] * a) * a) * a ); } c = []; e = 0; for (f = b.length - 1; e < f; ) { var g = e++; c.push(b[g] * (1 - a) + b[g + 1] * a); } return Cc._bezier(a, c); }; Cc.uniformQuadraticBSpline = function (a, b) { if (2 > b.length) throw J.thrown('points length must be more than 2'); if (2 == b.length) return b[0] * (1 - a) + b[1] * a; var c = b.length - 2; a *= c; var e = 0; --c; null == c && (c = 1); null == e && (e = 0); c = Math.floor(a <= e ? e : c <= a ? c : a); a -= c; e = b[c]; var f = b[c + 1]; return a * a * (e / 2 - f + b[c + 2] / 2) + a * (-e + f) + e / 2 + f / 2; }; Cc.frameToSecond = function (a, b) { return a / b; }; Cc.secondToFrame = function (a, b) { return a * b; }; Cc.degreeToRate = function (a) { return a / 360; }; Cc.rateToDegree = function (a) { return 360 * a; }; Cc.radianToRate = function (a) { return a / (2 * Math.PI); }; Cc.rateToRadian = function (a) { return 2 * a * Math.PI; }; Cc.millisecondToBeat = function (a, b) { return (a * b) / 6e4; }; Cc.beatToMillisecond = function (a, b) { return (6e4 * a) / b; }; var nk = function () {}; k['tweenxcore.PointTools'] = nk; nk.__name__ = 'tweenxcore.PointTools'; nk.polyline = function (a, b, c) { var d = [], f = []; for (c = K(c); c.hasNext(); ) { var g = c.next(); d.push(g.x); f.push(g.y); } if (2 > d.length) throw J.thrown('points length must be more than 2'); var h = d.length - 1; c = b * h; g = 0; --h; null == h && (h = 1); null == g && (g = 0); g = Math.floor(c <= g ? g : h <= c ? h : c); c -= g; d = d[g] * (1 - c) + d[g + 1] * c; a.x = d; if (2 > f.length) throw J.thrown('points length must be more than 2'); h = f.length - 1; c = b * h; g = 0; --h; null == h && (h = 1); null == g && (g = 0); g = Math.floor(c <= g ? g : h <= c ? h : c); c -= g; d = f[g] * (1 - c) + f[g + 1] * c; a.y = d; }; nk.bezier2 = function (a, b, c, e, f) { f = e.x; a.x = (c.x * (1 - b) + f * b) * (1 - b) + (f * (1 - b) + c.x * b) * b; f = e.y; a.y = (c.y * (1 - b) + f * b) * (1 - b) + (f * (1 - b) + c.y * b) * b; }; nk.bezier3 = function (a, b, c, e, f, g) { g = e.x; var d = f.x, h = g * (1 - b) + d * b; a.x = ((c.x * (1 - b) + g * b) * (1 - b) + h * b) * (1 - b) + (h * (1 - b) + (d * (1 - b) + c.x * b) * b) * b; g = e.y; d = f.y; h = g * (1 - b) + d * b; a.y = ((c.y * (1 - b) + g * b) * (1 - b) + h * b) * (1 - b) + (h * (1 - b) + (d * (1 - b) + c.y * b) * b) * b; }; nk.bezier = function (a, b, c) { var d = [], f = []; for (c = K(c); c.hasNext(); ) { var g = c.next(); d.push(g.x); f.push(g.y); } if (2 > d.length) throw J.thrown('points length must be more than 2'); 2 == d.length ? (d = d[0] * (1 - b) + d[1] * b) : 3 == d.length ? ((c = d[1]), (d = (d[0] * (1 - b) + c * b) * (1 - b) + (c * (1 - b) + d[2] * b) * b)) : (d = Cc._bezier(b, d)); a.x = d; if (2 > f.length) throw J.thrown('points length must be more than 2'); 2 == f.length ? (d = f[0] * (1 - b) + f[1] * b) : 3 == f.length ? ((c = f[1]), (d = (f[0] * (1 - b) + c * b) * (1 - b) + (c * (1 - b) + f[2] * b) * b)) : (d = Cc._bezier(b, f)); a.y = d; }; nk.uniformQuadraticBSpline = function (a, b, c) { for (var d = [], f = [], g = K(c); g.hasNext(); ) (c = g.next()), d.push(c.x), f.push(c.y); if (2 > d.length) throw J.thrown('points length must be more than 2'); if (2 == d.length) d = d[0] * (1 - b) + d[1] * b; else { var h = d.length - 2; c = b * h; g = 0; --h; null == h && (h = 1); null == g && (g = 0); g = Math.floor(c <= g ? g : h <= c ? h : c); h = c - g; var k = d[g]; c = d[g + 1]; d = d[g + 2]; d = h * h * (k / 2 - c + d / 2) + h * (-k + c) + k / 2 + c / 2; } a.x = d; if (2 > f.length) throw J.thrown('points length must be more than 2'); 2 == f.length ? (d = f[0] * (1 - b) + f[1] * b) : ((h = f.length - 2), (c = b * h), (g = 0), --h, null == h && (h = 1), null == g && (g = 0), (g = Math.floor(c <= g ? g : h <= c ? h : c)), (h = c - g), (k = f[g]), (c = f[g + 1]), (d = f[g + 2]), (d = h * h * (k / 2 - c + d / 2) + h * (-k + c) + k / 2 + c / 2)); a.y = d; }; var Bz = function () {}; k['tweenxcore.MatrixTools'] = Bz; Bz.__name__ = 'tweenxcore.MatrixTools'; Bz.createSimilarityTransform = function (a, b, c, e, f) { e -= b; var d = f - c; f = Math.atan2(d, e); e = Math.sqrt(e * e + d * d); a.a = e * Math.cos(f); a.b = e * Math.sin(f); a.c = -e * Math.sin(f); a.d = e * Math.cos(f); a.tx = b; a.ty = c; }; V.$haxeUID |= 0; 'undefined' != typeof performance && 'function' == typeof performance.now && (C.now = performance.now.bind(performance)); k.Math = Math; null == String.fromCodePoint && (String.fromCodePoint = function (a) { return 65536 > a ? String.fromCharCode(a) : String.fromCharCode((a >> 10) + 55232) + String.fromCharCode((a & 1023) + 56320); }); String.prototype.__class__ = k.String = String; String.__name__ = 'String'; k.Array = Array; Array.__name__ = 'Array'; Date.prototype.__class__ = k.Date = Date; Date.__name__ = 'Date'; var nb = {}, Sz = {}, ob = Number, jb = Boolean, My = {}, Jz = {}; Jc.count = 0; xh.content = [ { name: 'config_game_config_json', data: 'ewoJImFudGlhbGlhcyI6IGZhbHNlLAoJImJ1aWxkQ29uZmlnIjogeyJkZWJ1ZyI6dHJ1ZSwiZXh0cmEiOltdLCJwbGF0Zm9ybSI6Imh0bWw1In0sCgkiZGVidWdEcmF3IjogZmFsc2UsCgkiZGlzcG9zZUltYWdlcyI6IGZhbHNlLAoJImZvcmNlSGlSZXNBc3NldHMiOiB0cnVlLAoJImluaXRTY2VuZUlEIjogNjAsCgkia2V5cyI6IHsKCQkidXAiOiBbIlVQIiwiVyJdLAoJCSJkb3duIjogWyJET1dOIiwiUyJdLAoJCSJsZWZ0IjogWyJMRUZUIiwiQSJdLAoJCSJyaWdodCI6IFsiUklHSFQiLCJEIl0sCgkJImFjdGlvbjEiOiBbIkMiLCJTUEFDRSJdLAoJCSJhY3Rpb24yIjogWyJYIl0sCgkJImVudGVyIjogWyJFTlRFUiJdLAoJCSJlc2NhcGUiOiBbIkVTQ0FQRSJdLAoJCSJQIjogWyJQIl0sCgkJIlQiOiBbIlQiXSwKCQkiU2hpZnQiOiBbIlNISUZUIl0sCgkJIlRhYiI6IFsiVEFCIl0KCQkKCX0sCgkicGl4ZWxzbmFwIjogZmFsc2UsCgkicGh5c2ljc01vZGUiOiAiTk9STUFMX1BIWVNJQ1MiLAoJInJlbGVhc2VNb2RlIjogdHJ1ZSwKCSJzaG93Q29uc29sZSI6IGZhbHNlLAoJInN0YWdlV2lkdGgiOiA3NjgsCgkic3RhZ2VIZWlnaHQiOiA0MzIsCgkidG9vbHNldEludGVyZmFjZUhvc3QiOiAibG9jYWxob3N0IiwKCSJ0b29sc2V0SW50ZXJmYWNlUG9ydCI6IC0xLAoJInByb2plY3ROYW1lIjogIkRhZGlzaCAyIFBva2kiLAoJInVzZUdjaUxvZ2dpbmciOiBmYWxzZSwKCQoJImNvbmZpZy1tb2JpbGUiOiB7CgkJImFkUG9zaXRpb25Cb3R0b20iOiB0cnVlLAoJCSJhdXRvcm90YXRlIjogZmFsc2UsCgkJImdhbWVTY2FsZSI6IDEsCgkJImxhbmRzY2FwZSI6IHRydWUsCgkJInRlc3RBZHMiOiBmYWxzZSwKCQkidG9vbHNldEludGVyZmFjZUhvc3QiOiAiMTkyLjE2OC4xLjI0OCIsCgoJCSJjb25maWctYW5kcm9pZCI6IHsKCQkJImRpc2FibGVCYWNrQnV0dG9uIjogdHJ1ZSwKCQkJInNjYWxlTW9kZSI6ICJGVUxMU0NSRUVOIiwKCQkJInNjYWxlcyI6IFsiMXgiXQoJCX0sCgkJCgkJImNvbmZpZy1pb3MiOiB7CgkJCSJzY2FsZU1vZGUiOiAiRlVMTFNDUkVFTiIsCgkJCSJzY2FsZXMiOiBbIjF4Il0KCQl9Cgl9LAoJCgkiY29uZmlnLWRlc2t0b3AiOiB7CgkJImdhbWVTY2FsZSI6IDIuMCwKCQkic2NhbGVNb2RlIjogIlNDQUxFX1RPX0ZJVF9GVUxMU0NSRUVOIiwKCQkic2NhbGVzIjogWyIxeCJdLAoJCSJzdGFydEluRnVsbFNjcmVlbiI6IHRydWUKCX0sCgkKCSJjb25maWctd2ViIjogewoJCSJnYW1lU2NhbGUiOiAxLjAsCgkJInN0YXJ0SW5GdWxsU2NyZWVuIjogZmFsc2UsCgkJInNjYWxlcyI6IFsiMXgiXSwKCgkJImNvbmZpZy1mbGFzaCI6IHsKCQkJInNjYWxlTW9kZSI6ICJOT19TQ0FMSU5HIgoJCX0sCgkJCgkJImNvbmZpZy1odG1sNSI6IHsKCQkJInRvb2xzZXRJbnRlcmZhY2VIb3N0IjogIjE5Mi4xNjguMS4yNDgiCgkJfQoJfQp9' }, { name: 'config_preloadpaths_txt', data: 'YXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0zLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMy0zMi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0zLTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMy0zMy5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0zLTIucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMy0zNC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0zLTMucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMy00LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTMtNS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0zLTYucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMy03LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTMtOC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0zLTkucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMy0xMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0zLTExLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTMtMTIucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMy0xOC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0zLTE5LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTMtMjIucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMy0yMy5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0zLTI3LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTMtMjkucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMy0zMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0zLTMxLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTExLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTMtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNS0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE3LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTktMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0yMy0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTI1LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjctMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0yOS0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTMxLTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMzEtMi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0zMS0zLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTMzLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMzUtNS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0zNS02LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTM5LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMzktMS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00MS0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTQxLTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNDEtMi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00My0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTQ1LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNDctMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00OS0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTUxLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTEtMS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS01My0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTU1LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTUtMS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS01Ny0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTU3LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTktMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS01OS0xLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTYxLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNjEtMS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS02My0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTYzLTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNjUtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS02Ny0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTY5LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzEtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS03My0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTc1LTQucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzUtNS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS03OS0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTgxLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtODMtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS05My0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTkzLTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtOTUtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS05NS0xLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTk1LTIucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtOTUtMy5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS05NS00LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTk1LTUucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtOTUtNi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS05NS03LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTk1LTgucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtOTUtOS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS05NS0xMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS05NS0xMS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS05NS0xMi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS05Ny0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTk5LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtOTktMi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS05OS0zLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTk5LTQucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtOTktNS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS05OS02LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTEwMS0xLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTEwMS0zLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTEwMS01LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTEwMS02LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTEwMS03LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTEwMS04LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0UvZm9udC0xMDIuZm50CmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9mb250LTEwMi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMDQtMC5wbmcKYXNzZXRzL3NmeC9zb3VuZC0xMDUub2dnCmFzc2V0cy9zZngvc291bmQtMTA2Lm9nZwphc3NldHMvc2Z4L3NvdW5kLTEwNy5vZ2cKYXNzZXRzL3NmeC9zb3VuZC0xMDgub2dnCmFzc2V0cy9zZngvc291bmQtMTA5Lm9nZwphc3NldHMvc2Z4L3NvdW5kLTExMC5vZ2cKYXNzZXRzL3NmeC9zb3VuZC0xMTEub2dnCmFzc2V0cy9zZngvc291bmQtMTEyLm9nZwphc3NldHMvc2Z4L3NvdW5kLTExMy5vZ2cKYXNzZXRzL3NmeC9zb3VuZC0xMTQub2dnCmFzc2V0cy9zZngvc291bmQtMTE1Lm9nZwphc3NldHMvc2Z4L3NvdW5kLTExNi5vZ2cKYXNzZXRzL3NmeC9zb3VuZC0xMTcub2dnCmFzc2V0cy9zZngvc291bmQtMTE4Lm9nZwphc3NldHMvc2Z4L3NvdW5kLTExOS5vZ2cKYXNzZXRzL3NmeC9zb3VuZC0xMjAub2dnCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTIyLTE2LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTEyMi0xNy5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMjItMTgucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTIyLTE5LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTEyMi00LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTEyMi02LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTEyMi04LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTEyMi05LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTEyMi0xMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMjItMTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTIyLTEyLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTEyMi0xNS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMjgtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMzItMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMzItMS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMzItMi5wbmcKYXNzZXRzL3NmeC9zb3VuZC0xMzQub2dnCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTM3LTUucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTM3LTYucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTM3LTcucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTM5LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTQxLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTQzLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTUxLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTU2LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTU2LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTU2LTIucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTYwLTIucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTYwLTMucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTYwLTQucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTYwLTUucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTYwLTYucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTYwLTcucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTYwLTgucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTYwLTkucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTYwLTEwLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2MC0xMS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNjAtMTIucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTYwLTEzLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2MC0xNC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNjAtMTUucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTYwLTE2LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2MC0xNy5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNjAtMTgucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTYwLTE5LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2MC0yMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNjAtMjEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTYwLTIyLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2MC0yMy5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNjAtMjQucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTYwLTI1LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2MC0yNi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNjAtMjcucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTYwLTI4LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2MC0yOS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNjAtMzAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTYwLTMxLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2MC0zMi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNjAtMzMucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTYwLTM0LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2MC0zNS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNjAtMzYucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTYwLTM3LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2MC0zOC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNjAtMzkucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTYwLTQwLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2MC00MS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNjAtNDIucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTYwLTQzLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2MC00NC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNjAtNDUucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTYwLTQ2LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2MC00Ny5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNjAtNDgucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTYwLTQ5LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2MC01MC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNjAtNTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTYwLTUyLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2MC01My5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNjAtNTQucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTYwLTU1LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2MC01Ni5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNjAtNTcucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTYwLTU4LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2MC01OS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNjAtNjAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTYwLTYxLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2MC02Mi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNjAtNjMucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTYwLTY0LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2MC02NS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNjItMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL2ZvbnQtMTY1LmZudAphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0UvZm9udC0xNjUucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTY3LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTY3LTIucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTY3LTQucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTY3LTUucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTY3LTYucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTY3LTcucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTY3LTgucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTY3LTkucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTY3LTEwLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2Ny0xMS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNjctMTIucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTY3LTEzLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2Ny0xNC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNjctMTUucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTY3LTIzLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2Ny0yNC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNjctMjcucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTY3LTI5LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2Ny0zMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNjctMzEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTY3LTMyLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2Ny0zMy5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNjctMzQucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTY3LTM1LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2Ny0zNi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNjctMzcucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTY3LTM4LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2Ny0zOS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNjctNDAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTY3LTQxLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2Ny00Mi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xNjctNDMucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTY3LTQ0LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTE2Ny00NS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL2ZvbnQtMTY4LmZudAphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0UvZm9udC0xNjgucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTcwLTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8xNzEuU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8xNzMuU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8xNzUuU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8xNzYuU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8xNzcuU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8xNzguU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8xNzkuU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8xODAuU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8xODEuU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8xODIuU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8xODMuU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8xODQuU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8xODUuU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8xODYuU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8xODcuU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8xODguU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8xODkuU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8xOTAuU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8xOTEuU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8xOTIuU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTk4LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjAwLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjAyLTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjA0LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjA0LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjA2LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjA2LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjA2LTIucG5nCmFzc2V0cy9zZngvc291bmQtMjA3Lm9nZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTIwOS0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTIwOS0xLnBuZwphc3NldHMvc2Z4L3NvdW5kLTIxMC5vZ2cKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0yMTItMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0yMTItMS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0yMTQtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0yMTQtMS5wbmcKYXNzZXRzL3NmeC9zb3VuZC0yMTUub2dnCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjE3LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjE3LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjE3LTIucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjE3LTMucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjE3LTQucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjE5LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjE5LTEucG5nCmFzc2V0cy9zZngvc291bmQtMjIwLm9nZwphc3NldHMvc2Z4L3NvdW5kLTIyMS5vZ2cKYXNzZXRzL3NmeC9zb3VuZC0yMjIub2dnCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjI0LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjI0LTEucG5nCmFzc2V0cy9zZngvc291bmQtMjI1Lm9nZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTIyNy0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTIyNy0yLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTIyNy01LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0UvZm9udC0yMjguZm50CmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9mb250LTIyOC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL2ZvbnQtMjI5LmZudAphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0UvZm9udC0yMjkucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjMzLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjMzLTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjMzLTIucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjM1LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjM1LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjM3LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjM5LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjM5LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjQxLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjQxLTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjQzLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjQzLTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjQ1LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjQ1LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjQ1LTIucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjQ1LTMucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjQ1LTQucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjQ1LTUucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjQ1LTYucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjQ1LTcucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjQ1LTgucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjQ3LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjQ3LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjQ3LTIucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjQ5LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjQ5LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjQ5LTIucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjUxLTAucG5nCmFzc2V0cy9zZngvc291bmQtMjUyLm9nZwphc3NldHMvc2Z4L3NvdW5kLTI1My5vZ2cKYXNzZXRzL3NmeC9zb3VuZC0yNTQub2dnCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjg0LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjkyLTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjkyLTIucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjk4LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMjk4LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMzQyLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMzQ0LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMzUwLTAucG5nCmFzc2V0cy9zZngvc291bmQtMzUxLm9nZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0UvdGlsZXNldC0zNTIucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMzU0LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMzU0LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMzYwLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMzYwLTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMzYwLTIucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMzYwLTQucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMzYyLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMzYyLTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMzY0LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMzY0LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMzY2LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMzY2LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8zNjcuU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8zNjguU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8zNjkuU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8zNzAuU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8zNzEuU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8zNzIuU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8zNzMuU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8zNzQuU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8zNzUuU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS8zNzYuU09VTkRfRVhUCmFzc2V0cy9zZngvc291bmQtMzc3Lm9nZwphc3NldHMvc2Z4L3NvdW5kLTM3OC5vZ2cKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0zODAtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0zODItMi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00MDItMTYucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNDAyLTE3LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTQwMi01LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTQwMi02LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTQwMi0xMS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00MDItMTQucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNDAyLTE1LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTQwNC0yLnBuZwphc3NldHMvc2Z4L3NvdW5kLTQwNS5vZ2cKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00MDctNy5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00MDctOC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00MDctOS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00MDctMTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNDA5LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNDA5LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNDExLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNDExLTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNDExLTIucG5nCmFzc2V0cy9zZngvc291bmQtNDEyLm9nZwphc3NldHMvc2Z4L3NvdW5kLTQxMy5vZ2cKYXNzZXRzL3NmeC9zb3VuZC00MTQub2dnCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNDE4LTAucG5nCmFzc2V0cy9zZngvc291bmQtNDIzLm9nZwphc3NldHMvc2Z4L3NvdW5kLTQyNC5vZ2cKYXNzZXRzL3NmeC9zb3VuZC00Mjkub2dnCmFzc2V0cy9zZngvc291bmQtNDMwLm9nZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTQzNi0xLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTQzNi0yLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTQzNi0zLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTQzNi00LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTQzNi01LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTQ0MC0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTQ0MC0xLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTQ0MC0yLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTQ0MC0zLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTQ0MC00LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0UvZm9udC00NDEuZm50CmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9mb250LTQ0MS5wbmcKYXNzZXRzL3NmeC9zb3VuZC00NDIub2dnCmFzc2V0cy9zZngvc291bmQtNDQ5Lm9nZwphc3NldHMvc2Z4L3NvdW5kLTQ1NC5vZ2cKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00NTYtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00NTgtMy5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00NTgtNC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00NTgtNS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00NTgtNi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00NjAtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00NjAtMS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00NjAtMi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00NjItMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00NjItMS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00NjItMi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00NjQtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00NjYtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00NjYtMS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00NjgtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00NjgtMS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00NjgtMi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00NjgtMy5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00NjgtNC5wbmcKYXNzZXRzL3NmeC9zb3VuZC00NzAub2dnCmFzc2V0cy9zZngvc291bmQtNDcxLm9nZwphc3NldHMvc2Z4L3NvdW5kLTQ3Mi5vZ2cKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS00NzgtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL2ZvbnQtNDc5LmZudAphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0UvZm9udC00NzkucG5nCmFzc2V0cy9zZngvc291bmQtNDgwLm9nZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTUyNC0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0UvZm9udC01MjYuZm50CmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9mb250LTUyNi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS01MzQtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS01MzQtMS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS01MzQtMi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS01MzQtMy5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS01NDQtMi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS01NDQtNC5wbmcKYXNzZXRzL3NmeC9zb3VuZC01NDUub2dnCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTQ3LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTQ3LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTU1LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTU1LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTU4LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTU4LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTYwLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTYwLTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTYyLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTY0LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTY0LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTY4LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTY4LTIucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTcwLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTcwLTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTcwLTIucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTcwLTMucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTcwLTQucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTcwLTUucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTcwLTYucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTcwLTcucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTcwLTgucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTcyLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTcyLTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTcyLTIucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTcyLTMucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTcyLTQucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTcyLTUucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTcyLTYucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTcyLTcucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNTcyLTgucG5nCmFzc2V0cy9zZngvc291bmQtNTc1Lm9nZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTU3Ny0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTU4My0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTU4My0xLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTU4My0yLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTU4My0zLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTU4My00LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTU4My01LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTU4NS0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTU4NS0xLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTU4NS0yLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTU4Ny0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTU4Ny0xLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTU4Ny0yLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTU4Ny0zLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTU4Ny00LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTU4Ny01LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTU4Ny02LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTU4Ny03LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTU4Ny04LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTU5MC0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTU5Ny0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTU5OS0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTYwMS0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTYwMy0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTYwOC0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTYxMC0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTYxMi0wLnBuZwphc3NldHMvc2Z4L3NvdW5kLTYxNy5vZ2cKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS02MjMtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS02MjMtMS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS02MjMtMi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL2ZvbnQtNjI0LmZudAphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0UvZm9udC02MjQucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNjI2LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNjMwLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNjMyLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNjM0LTYucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNjM2LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNjM4LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNjg2LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNjg2LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS90aWxlc2V0LTcwMi0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0UvdGlsZXNldC03MDIucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzA0LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzA2LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzA2LTMucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzA2LTcucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzA2LTgucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzA2LTkucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzA4LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzA4LTMucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzA4LTcucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzA4LTgucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzA4LTkucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzEwLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzEyLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS83MzEuU09VTkRfRVhUCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzU3LTIxLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTc1Ny02LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTc1Ny0yMi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS03NTctMjMucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzU3LTI0LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTc1Ny0xMS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS03NTktMi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS03NTktMy5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS03NjMtNC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS03NjMtNS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS03NjMtNi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS03NjMtNy5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS03NjMtOC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS03NjMtOS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS03NjMtMTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzYzLTExLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTc2NS0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTc2Ny0xOS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS03NjctNC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS03NjctMjEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzY5LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzY5LTMucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzcxLTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzczLTMucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzczLTQucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzc1LTQucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzc1LTUucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzc1LTYucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzc1LTcucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzc1LTgucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzc1LTkucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzc1LTEwLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTc3NS0xMS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS03NzctMS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS03NzctMi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS03NzctMy5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS03NzctNC5wbmcKYXNzZXRzL3NmeC9zb3VuZC03ODAub2dnCmFzc2V0cy9zZngvc291bmQtNzgxLm9nZwphc3NldHMvc2Z4L3NvdW5kLTc4Mi5vZ2cKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS03ODQtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS03ODYtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS03ODYtMS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS03ODYtMy5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS03ODgtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS03OTAtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS03OTItMC5wbmcKYXNzZXRzL3NmeC9zb3VuZC03OTMub2dnCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzk1LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzk1LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzk5LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzk5LTIucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzk5LTMucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzk5LTQucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzk5LTUucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtNzk5LTYucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtODAxLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtODAzLTAucG5nCmFzc2V0cy9zZngvc291bmQtODA0Lm9nZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTgwNi0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTgwOC0wLnBuZwphc3NldHMvc2Z4L3NvdW5kLTgwOS5vZ2cKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04MTEtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04MTMtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04MTUtMS5wbmcKYXNzZXRzL3NmeC9zb3VuZC04MTcub2dnCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtODE5LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtODE5LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtODE5LTIucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtODE5LTMucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtODIxLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtODIxLTEucG5nCmFzc2V0cy9zZngvc291bmQtODIyLm9nZwphc3NldHMvc2Z4L3NvdW5kLTgyMy5vZ2cKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04MjUtMS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04MjUtMi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04MjUtMy5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04MjUtNC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04MjUtNS5wbmcKYXNzZXRzL3NmeC9zb3VuZC04MjYub2dnCmFzc2V0cy9zZngvc291bmQtODI3Lm9nZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0UvdGlsZXNldC04MjgtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3RpbGVzZXQtODI4LTQucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS90aWxlc2V0LTgyOC01LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0UvdGlsZXNldC04MjgucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtODMwLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtODMyLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtODM0LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtODM2LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtODM4LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtODQwLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtODQyLTIucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtODQyLTMucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtODQyLTUucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtODQyLTYucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtODQyLTcucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtODQyLTgucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtODQ0LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtODQ2LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtODQ4LTAucG5nCmFzc2V0cy9zZngvc291bmQtODUwLm9nZwphc3NldHMvc2Z4L3NvdW5kLTg1MS5vZ2cKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04NTMtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04NTUtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04NTctMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04NTktMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04NjEtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04NjMtMS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04NjMtMi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04NjMtMy5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04NjMtNC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04NjMtNS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04NjUtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04NzUtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04NzctMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04NzktMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04NzktMS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04ODEtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04ODMtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04ODUtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04ODUtMi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04OTEtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04OTMtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04OTUtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS04OTktMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL2ZvbnQtOTAwLmZudAphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0UvZm9udC05MDAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtOTA0LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtOTA4LTAucG5nCmFzc2V0cy9zZngvc291bmQtOTQzLm9nZwphc3NldHMvc2Z4L3NvdW5kLTk1NS5vZ2cKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS05NzctMy5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS05NzctNC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS05OTEtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS05OTMtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS05OTMtMS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS05OTktNC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL2ZvbnQtMTA1Mi5mbnQKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL2ZvbnQtMTA1Mi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL2ZvbnQtMTA1My5mbnQKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL2ZvbnQtMTA1My5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMDg2LTMyLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTEwODYtMzMucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTA4Ni0zNC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMDg2LTM1LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTEwODYtMzYucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTA4Ni0zNy5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMDg2LTM4LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTEwODYtMzkucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTA4Ni00MC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMDg2LTQxLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTEwODYtMTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTA4Ni0xMi5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMDg2LTIyLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTEwODYtMjQucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTA4Ni0yNy5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMDg2LTI4LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTEwODYtMjkucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTA4Ni0zMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMDg2LTMxLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTEwODgtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMDg4LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTA4OC0yLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTEwODgtMy5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMDg4LTQucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTA4OC01LnBuZwphc3NldHMvc2Z4L3NvdW5kLTEwODkub2dnCmFzc2V0cy9zZngvc291bmQtMTA5MC5vZ2cKYXNzZXRzL3NmeC9zb3VuZC0xMTE4Lm9nZwphc3NldHMvc2Z4L3NvdW5kLTExMTkub2dnCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTEyNS0yLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTExMjUtMy5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMTI1LTUucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTEyNS02LnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTExMjctMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMTI5LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTEzMS0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTExMzEtMS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMTM1LTIucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTEzNy0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTExMzktMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMTQxLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTE0My0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTExNDMtMS5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMTQ1LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTE0Ny0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTExNDktMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMTQ5LTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTE0OS0yLnBuZwphc3NldHMvc2Z4L3NvdW5kLTExNTAub2dnCmFzc2V0cy9zZngvc291bmQtMTE1MS5vZ2cKYXNzZXRzL3NmeC9zb3VuZC0xMTUyLm9nZwphc3NldHMvc2Z4L3NvdW5kLTExNTMub2dnCmFzc2V0cy9zZngvc291bmQtMTE1NC5vZ2cKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMTU2LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTE1OC0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTExNjAtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMTYwLTEucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTE2MC0yLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTExNzAtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMTcyLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTE3NC0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTExNzYtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMTc4LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTE4MC0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTExODItMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMTg0LTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTE4Ni0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTExODgtMC5wbmcKYXNzZXRzL2dyYXBoaWNzL0lNR19CQVNFL3Nwcml0ZS0xMTkwLTAucG5nCmFzc2V0cy9ncmFwaGljcy9JTUdfQkFTRS9zcHJpdGUtMTE5Mi0wLnBuZwphc3NldHMvZ3JhcGhpY3MvSU1HX0JBU0Uvc3ByaXRlLTExOTItMS5wbmcK' }, { name: 'config_preloader_bg_txt', data: 'aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXdBQUFBR3dDQUlBQUFDUnRwV0ZBQUNBQUVsRVFWUjRYdHpkOTVkZFYzWWZlTFM2SmR2agpzV1EzZ2FvWDduMzM1VkFSQUlrTUZISk9CQWdTSUFBaTU0eEN6b0ZFSmdrR01HZXl1OVV0MmN0clBHczg5bWlOZXlRcngyNUpWbHNlCmpXVFBML052ekE3bjdMdnZPZmU5cWdMQmx1VzF2cXZXZmZmZDk2cllXbU44WnArOXp4bVh6YStSWkxKckpkbmNzNUxFL1RiUFo3THIKc3JuMXVmeHpFTGpnNjN5d0lSczhsd3VlejRjdkJJVVh3Mmh6R0cyRkJPRkxoZUpMZkswVEZMYkFZeEo2M2dZK1V0Z0dpYUx0VVdFSApweEJ1ajRxN2k2VTlhZG5GS1pWMzY5ZzdlOHVWZlpYcWZremxJS1JVMmw4dUg2aFVEbGVyeDJxMTQ3WHFDVWkxY3JKV0hVNU50WEljClV6MEdxVlNPVWc2ckhNVzNLdmc5OWRxcFJ2MDBmR2U5ZGhJdW1vMXpsRE9OK25DamNiSmFPOU5zWGFqRG5SNU10WDZ5MWhpR05HdVkKUnZXa3BGNDVnYWtlNXpScUp6ajZKVnpVS3NkcWxTT1NTbmxmYXFxVi9kWEt3VnIxVUwxNmxFSmZXem5CbjdJM01mWk8vRnVhOVpPUQpWbU1ZMHFpZWd0UXJ3eEo3NXdSZjJKeHAxczVpcWlkdFR0Z2NnN1Jxd3hCK3F3R2ZoZi9TOG5GTTZWU2pQTnlzbk9JSFdqWDhZS055CnRGNCtVaXNkclJieFo3MThqSit2bFk3QmZVNnRkTGhhUEFTQkMzZ2VIcU1jTnZkTEIweUtoeXJSd1VweHY4MWVUam5hQlNrVmRrcUsKNFE1SXBiQ2pIRzYzZVFsU0NyWkd1YzJsRUZNTVhvenltM1FLK1EyU0tQK0NwQmhzaE9nN2hkenprQ2d3S2VUWFE4TGNPc3BhL1QxaAo3am1KdnA4YS9UQWt5RDZibW54bU5TVElycEhBTDRYSVMzeWdhMVZ1d2txVDdsV3BDYnBYcHliZnZTSTF1YTVscVFtN2xnY1Rsam5KCmoxK2E3MTQrcHNqMzRHZkhMK1ZydUpuSlRzdG01eGFDMVJPK3V6emJ0VEtYV1Y0c3JNNTBMUzUwcjREQUF4TCtTQ0dEQ2J1WFNvS3UKSlJENFR3Z3lLMDNzZjJ5WVdXTXZub1VVc3VzZ1VXNER4UGsvaDZTWWVTN3FYbS96TEtmUXRWYXVuUlM2VjByQ3JoVVN2aE5sMW5DSwoyYlhGekRvSy9ncE9LYnRCVXN6QXorZjlWTEl2bERQUFEwcmRHeUI4RFRkTG1YV3R3cTVHZm04MXU2VlYzTmdxdmxqTDdxMTNuNjNuCnQzTWF3VTVJTTl6VkRQWmd3dmk2a2Q4TmI5WHpMOVh5bSt2NUhaQmFibHMxK3hKbEM2ZWMyVmp1ZnJHUzJWekpiS1g3MjJxNTdiWHMKemtadUY2U2UzVjdMdklUSmJxRzgyTWkvVk05dGhldHFaak9IMzZwMGI2eDBQNC9KYkNoM3J5dDNyeTFuVmtNcW1mVTJHMHpzWTVCcQo5bm1KZW5kak5iTUpBcjhPZmhjRWZ1blUxcVZXY0xpYTJkRUlkdUIvRWR3TWRyUUt1L3VEUTVqd0FHVmZYN0MzTDlqZG05L1ZrOThCCmFlVzJON1BiZEZxWjdaRGU3TzYrM0w3Ky9QNyszRUhLNGI3czRmN2NrWUg4MGNIZzJNUVFNeGpBOVZGOEpyOS9JSDlvSUgrRWdnOE0KNWs5TXloK0ZUTXdka1F4bUQwUGtKVDF3YkhKdzNDUi9rSEo0RXJ3TGoyV09UTW9lZlRwL2NuSjRaR0wrRUg4UUhuczZIRGJKbjNvbQpPRDBsUEFNL0lmSnlhZ0Yrd3ZVd3ZKeFd1RENqZUhWbThlV1p4VnREcGRmbUZGK2RIVDJBbjNETmdldDVwWHVRK2VYNzgwdXZjdVlWClg0TU1sZTlCNXBUdXpDbmRtbE4rR1RLN2RCMHlWTVRNaWE1aGlsZG1SNWROQ2xjaCt2NnN3cVdaNFVYNENZa2ZzL2RuRnM1Z3duT3oKQ2hkbmg1Zm1oRmNwMThlMUE4MVlBU1RvNlFBZ01zMW9BWlRRVDdTWjllTUFDT0s1WncvZ0JpSUFTZzBEeUtSOEFLSUFkRVFBUkhIcAo4M2dBcXRkUHBBT29mcXJlUEZOcm5PYWY4TExST29zL3JXd2tKSnRqam41MDFHTXhnQWc2N1pJT0lLMGZNWkQ4R2ZMcm1FR2FhTWtrCjlHTlNPUWVVd1hnTUV2MW9BMEdhbFRPb24rcHBLeVNBamxFT2FRYjF3eUhmSEdQaTJIZk5OV3NwMW84Q1VGSS9DS0J5dElmaUFvaVQKQ3FCaWZrdG5BS0ZwbEhYZ3ZnOGdFNk1mNW9zQWFGMDcwUGppa2NmOE94VHpoVTQwZmRvQkNCMGpCdkxvOHc4TFFJVmdaZGVFK2VPZgptcHZyQnF5ODJQM2REZDNqVjRZQnZwVWFocEZqSS94eTBROEJDT2lUak5IUFdBQ2tsYlBhcDg5b0FJUWZIQjJBZlBxVWN5OUF3RHBpCklORVBwRkY0dmhGc3EyVjNBMThhNGRaeTk1WldmbmgyN3pzcEFDTDNtSmNJb0gwV1FQRFlTM3dCQUxJR1F2MEFJeXJaVGFRZkF5RFEKRC82aS9PNG1mTllhcUo3ZGhyRVc4UUVFZHpTQWdEc0lJREpRcW42cW1SZmtRbUkrbnFZZlNGOTBySnJaQXdBQ0RrTFllYTF3THdObwpvSENRc2g4TWhQcko3ZXdNb0o3TUxtTWdBNkNEckIveVRSeHdqeURKR2dpZkdValNKNUg4SVFXZzJFQ1Rjb2RBUDVTamszUEhLQ2NBClFBSXBmbElBeE80QjhiQ0JHRUIweCtoblNuQnVXdUhpak9qNnJOSXJzMHEzUlR6d2MyNzVkUTVjR3dCWi9jd3Z2YzRBSXZwd2Jwa1EKZythV2JzMHR3YytYaDRvM0RYZElQSE5MTnhoR3dDQkdEeXJIQXNoUFd3QmxjcXNsR2oyakFaQitTL1NqQXdES2hSdDhBSVZBbVk0QQpjdlFEUWZkSW1EN1JUa3lhZmdoQUxveHNESUJpQTZVQ2lBbzJFSjgrblFFRUg2ZmdmUUVRQmZRemJQV0RRUURWaDZ2MUV6VmswRWtHClVLdm40c1JKTC9mMFh0R0lTYVNNVEdGazZCSlJVa3VtYkZNdEh3YmxwSWFLUURHQURHdnM5N1J4VlN5dytCbjdCemdscTJidE5PV3MKNktkZVBnc2gwSEJJUWdrTXBhU25kcTZuZGdiQ1FtTG9jRjBuV2V3NVlrTys4UjVJMVE4Q0tGMC9lNWc3ekNDZGFxUU5aQUNFSWYzNApBRElWSFZYMTRjY2s3dk5TRFlyVjhsZ0F5bUt3cEtUS1MzalQrNmVYNHhTRWxJMFVnNWd5WGFzNnhLZlBmeWNBMG9HYm1lK3VqL0tnCnVvVmdsSFBILzQ5bGMxL1BqUWNEemZmcFl3R1VEZzdSVDVoZDVlbG5qZExQZWdaUXUxZ0FLZVhBeDd0WDY5L2JMdnJ2c1F4YXpRWmkKQUpXeTYwY0pJTmFQQU1oUE9mdHNjY0xHNHZodFdKVUpkbFl6dXlhV3JpNmIrcVVBU0F6RURLcURXc0F1K2IyTi9INzZpWEtpWjdoMgp3Z2JhS3FubXVQd1RBOGo0S2JmWEJERzBzNUhid1F3U0FFbVlLUVFnTXBDeGpqRlFUSi9NaGlSM0RIUjBsSDd3YTVFKzhQZFE2dG1kCmxhNXR0Y3kybm5BM1pXOXZlS0FuT0lqNkNROFBSb2NnQXFCV0Z2V1RDcUFlZUF0Q0FPck43aFVEWVYwSHcrN2hZczhoeFNOVEtMSnYKZWU2eG1SUWN4aGo5R0FOaGNvY201WTZBZnA0SlRrd0pUNUpqa0RVVGN6R1NZdjBVVHNFREVLbjNBSlhJUGNOVDhxZW5BbjJDQ3pNSwpWMmFDZnFKYnM0dTM1NVR1U3RVSDNET3Y4aEJpQUZSOEFBSDZMQ2kvdHFEOFVBSEl1b2NZeEFVaENJSHBMZ1FrTkNkNmVVNEU3cmtKCitwbGZBUlhkQUFETkNxOHdmUVJBK3FXUUNPakRTUUxvNnRjRmtJb3ArU0I2ckg0MGdQTGhKc0xObHM0QWNncy94UzJjcUxnRFVvaTIKVStCNko0UTBrNklmSFFkQThxbjRtZEorMUE5SnFBSTQrQVlCaE9XZlZ1TWlSSXBBdGVieGF1TVlHS2pST2wydG5lbnR1L3IwTTNkYQpQVmZzOTdnUkFERTR4QncrZ0ZBL2p3VWdyUjl0b05Ud0Exd05NalVoODFVcDVSOUlxM3FlY3RibU5FZWp4NjUyWVJoQVhBR2lkYTVqCm9KeEtkSkI5WTlmQ0Rrc2h4eXhwZVE4SWpKUjdlTFhMMTA5Yys5SDBxUlIzUXdSQXBXQWJBOGdZcUFPQVl2cTQrdkhUeGtBeGRNWUUKSUlGWGJDQ1BQalp1VFVnRGlBMGtLenNkR09UVDUrY0RvQ0N6SWpXcDN3TTM4eFBXZFQrMUpNd3RoYis1MEwybDYxZWVoenU1N2lYTwpZd3BBU0FxZHNHc1Z4TkNIRTd0bnJZM29aelFBU3VqbjhRQVVURmhPRjZzRVFLQ2ZVUUpJOU5NQlFJM0N4bGEwRFJCRGkxUGI4R2ZtClVFLytZaDBnZ25FTkJBQ3E1L2JVYy9zSVFHZ2dBWkRveDZ4LzVWNDBNY3Rob0IvOFJXWUZMYmUvbGQrSENmWkF5RUJVQ3NwdGh0U3kKTDByNGprVU1GWEppOU5qYVQxenN3ZElPUk1vOEV2c05wcVRVRExZMTRZL0o3eUFBOFUrOGdMOEVUQWIwNlNzYzdRdVBvWDRLUndSQQpmY0ZlcHdMa0dLZ251MTBaS0FiUXhQQzQxbzlISDFkQ3pvSlhYUEpoQUZrRDJYZVBZdUVuZi9UcC9IRUF6YlRvekxUbzNKVHd6Tk81Ck14TnpRSitUakI2STBVL2hMT3ZIQnhEb1p6bzR3OURuenV6bzNwemlmWXFwL2JCK05JQklQdzhYVnQ2QUxDaS9PYi8weHJ6aVE5R1AKb1UvcEFmc0poQVJVd3BXeTByMmg2UFpROFJXUTBMenlLL1BLeUNBZlFEUERDNUFad1hrT3Z3VDB5QVV1a0lXWFpnZFhuakNBY25sdwpENGpuZVloY0IrRUxZd2VRdVlZSGRCaEFOcUtmWGNYaVBnbFRKZ2FOVGRKRHZBcVdBQkI4bHAva2ZpQTJFQzlhK2ZTeE9lRURxRncrCjFHNEpqT285TVlCYXpmTUFvR2JqRkFBSTB6aFpiNTRxbFlmcmpRdTlmZGVLcGRQMStySDBVQ2VRWDNSNVVnQVM5Q1EwZ3daeTE4VnMKWWdacExRSFVPS294Q0JuVUZrQlNFT0lGcnpqNERCZUtHRUJ1QmFpQ3BtRythTkRBVFhnTFVpc2Y1RjRmMW85d0p3a2c3dnN4K2hrbApnTUE5VWdGS3JlalFIWmMrdUZpbW5rK05WSU5ZTFdnYXZyQmgzMkNOeDZPUEFJakxQL0lIYUZUNThkeVREaUJ0b0RIRnAwL25wTUtGCkFPUSt5ZkhwWTVKMERBZHVkajIxSU1ndTYvcnVvbHpYOHN6NHBSSDh2MllUVUZmdEFNVGNjUUxJR0N1QXBDYmtwSmhacCtsakFlUmEKSnpVT2dNaEFNWUE2VjREOFJTNUpOYmZSQ2R3c2pIK1dWNm5LbVkzMVlGTlBjV3NqMkZiSllCTU1SQnZJZFBsa2QwTFlRUFJ6RjdmKwpzSDdZT2xqdmdlK2t4T1VXZ0FLQ1l5Y0xnOHMvRmtDNzRLWmRDRXZveHdNUUdraXRaNWt3ZmF4NHFIUkVyVVhtT3luU2JJUjFKdnBqCitQZHkvYWtWYnU4SmQ5R2QzYTM4Z2Q3d0NBQ292M0FjOVZNNE1sQTQyQjhlb0FZZ0JCQW1RQU01QUlKckFwQXhrQzRDSlphOUJEcHgKazFBeStmMkQ4QkZnVS82UXhOTG5JRitZKzVaSFFCOUd6TlRDV2REUHRNS0ZLY0g1cDNObmVXMExiazVGOU9DQ0Z6ZjZjSUJLcXVsbgpHQzVZUHdBWDhzM0RPY1hYS2E4T0ZSN01qWENGUzhLVkhnSU42bWRSOVczSXdzcGJDMHB2elMrK3lXVWVyUGVZRWhGODVBMElDSW55CkVHN09MZDRWQUVsakVEWURVYU9QcmYyZ2ZxYm56M0hZUU93ZUNRS0lEQVQ1dWdESzVkZlpHUDNvQ0lESVFKdklRQ01BeUhFUDBxZTAKRFZJc2dYakFQVHZvUWxwNWRxZnFCOEtVZ2ZBS2w2eHo2U1V3UXlMNnVDeUgwYWZpaFREUFBUR0EwRUFLUUtBZkgwQmMrT0dBZUZnLwpQYzFMWktDemNJZm9Nd3o2YWJUT1ZtckR0ZnJaWnV0U3NYU3EwVGpwcDlrRThaeE90dGVZK0FDS0RaU2F5bjdRajk4REpHdFlibXJICk9FSWZ2VENuU2NSM0txVkQ5SXVPbWxVelFWdTdKVEFGSUoxRytYU2pQSXd4YmRIYzZ4TTMrbGo5aUZGaUFBRjlPUDVTbDlSN1JFSmEKUDZrQU1yOGkxZzhDeU9nbnY2V05mbDYwQkZHK3lXOHhINkhJbCtpb2IzT2JoQndKK1pTeEFJSW5OOHFmSVYvb2Zyek45NmpLVUx3RQpwZ0hrVjBRNFBuMStQZ0R5YTBLbU11UTZ4Z0NvSEM3SmpWK1FlMnBKZnNMaU1ETS96TXlMc292aDJ2K2xGa1B1TXBNQlI1c2xNQTBnCm0rY2d0aU1uSlk1K29zd3EzenFwY1FCRUZ3WkFhS0NPUFVEdDlPTWJTTjNmUktXYWpiWGcrVnJ3WERXL3ZoNitvSmV4dUxPSEdZUXQKekxudHRnNjBpMTdHYTE2T2ZnUkFqZnhMWEc1aGJYRDNENFRYdjdnTVk5ZThFdnB4b2hoa3drdGpWai94a2hrcng0bmNaUDF3NkcvWQozWlBmMWhmdTZnLzM5UWVIQmd2SElBUGhVYm80TWhBZUp2M3M3ODN2b2NRQTBnYmlDdzlBMkFrRWtXVXZpV3AvcHBmc0lSdE5uMlFPClVOUWRBcEFWekptcDRYblF6OVFRQVRRbHVEZ2xPQWQzVE1oQWpDRU9VSWx2U2ovUXJQQUtvQVM4c3JEODlxTEsrd3RLajFBenhZZWcKSCthTzBJY0Q0b0VBZlJiWEhpMnV2ck9vOGdnK0NHSDNXUG9ZL1NDQVNtOVJsZWgxZkpjV3dvYUtOMEUvOEh2OUptZ0lGMzVTQUJSZQprUmdBVWNaMVoxZjVBQUxRakFaQVNqOEdRQ0FlaU9nSHJ3dW9Id2RBdUl3MU9nQ3hmaUNGOGs1SlZOa3RTZFdQRHlDNXoyenlBY1FUClliWWxDQjNEdVBIY013S0FMSVB3RHBWL2VPWHJqSlIvZXBxWEtaZTRDTVJkei9YbUdmakpGNjNlODl3UHhKM1JUbHAxREROSVJxNHcKN1pxZ2ZmcFFhdFVEcUovYVlRRVFmbEExR09uUTlKbnJIdk05YWI4Q0FZU3paZ2U0Mm9UU3NraEtvQWRqbTZDVFJTQ0RIb3dCa0JrSwpzd0RTK3FIc3JwUjJZWWcrdXIvSDYvV0o5VU5tU3RGUHVXam80emRCSy8wWUFBRmlvbHpLK3BjQVNMOFU5N1RUVDl4VWxLd3F0V3VhCjl1bGprdHZJQUhJTTVMcW5EWURFUUltMjZIL0lBTkl0elBSdHk4UHV4Wm1uWnRlaWxkMy9ZbTR4dHdJOEZIWXY5SDlwYW1KTHRXbUMKYmdjZ3A1ZFpnZ0JLNm9jQjVEL0phUWNnR3dTUU1aRDUvazRBOHVuakdFaGUxZ09rRDZRZWJLbmxzUTRFMTgzQ1pyajJEY1RXaWF0QgpwQjllNXhJQVlkTlBES0FYcUlSanVtMElPaHp1Zlk3Ym55MXU0aVllU0MyN1VVVWJ5UFJIUXdSQXNYNk1jcVRhRkVkdVd2M2c2aHNIClFOTWY3Z0hsZ0hzbUZVOEFmVkJDRVkyQUJZZmd2ZzhnWFFTS2srRlZzTzI5dVowTW9ON3NYcXdEWlpFNE1ZQ0NBeEFDa0ZJUjN0bkwKOGR4ak1wamJEeEVEeVhLWWFXRU96cEY0QUVDWHBoVXVRNlpIY0hHUjdoZ0RHUWJSUzZMU2Vmc3B2RE83Y0gwb3VnTkdXVno5WUdudAoweVhWanhlVzN3TURjYVdIb3dGazZGTjd0S1QyTGdRTXRMajYzcUxLdS9nUi9KUnhqOVNON0JvWmRrL1BMOS9qMmc5YXB5MkF6a0ttCjU4OUE0SUthZnM1ak5JQ0MyRUFJSURHUTZPZEpBU2dzYkJRQTVZS05Zd1dRNkFjU2xuWVFmWFpSakg0SzVWMCtmVXFtbmRuVmo2R1MKbVlmSERtaTlCRmFwN2xVQVlnTXhZbno2eEFDcTFYQVZqUFJ6UkFNSVhncUFhS21MNHdLbzFUeGJyWjFwTk0vRFQrWk9HU0RTd0lKUQpyWDRXVW0rY2s4QmprSjdHV1EyZzJFQjIrY2tCVU50VUQ2QiswZ0RrR01pTzM4ZjZZZVZVU29ld3pHTVcxQTVJN0NyYlhrbzhjY2J4CjZXUEc0TlZDbUJGUDZTU0VBWVRYQkNDWlpxZko5c01BR3VNWTFrOXBoOVpQT2RvSGdZdGFPVEhvcm50OXBPdFo2NmNVN2ZBQnhHUHcKU2o4R1FLQ2ZRamFXaWdjZ2RTZXBId2RBdHFNbzBWdXQ3Q0pMYWNuaGVROHVBaURuTCtFNU5aOVFKb25wczNRQWFkRDQ5UGtIQnFDbgpOdVFuTEk3eVErTi9aVm94dXpiLzFOcGlkbld1YTVZU2t2cWxrQWxVSDZMUmR3NFB3K2Ziak1GckFQRXdmSmhaRC9FcFk0Q1NYZXZvCjU0a0FDQTNVRVVDK2VCZzlvaUlOSU5JU21nbExOZG1YdU1IWjFIWHlqb0VNZ01CSnNpNW0xcnhRUEM5d3p4QWFTRnAvMkZXNGdLVkwKTWdaQXp2UzdzNnFWWmlDcEE4VURZdFZ1Ykk1bUVoa0F4VFVlck90bzR0ZzdwdkNqMytvQjl4VDJZb3RQL21CLy91akV3Z2xBVDI5KwpIOXlFT3hnQ0VLMS9JWUI2Y3FpZk5nRGF5Z1pDQUJrRElZQjZNL3Y3c2dmWVFJUGhRUWdiU05iRitPVkFzQThCRk94T3JITVordUNpCkdBTklEQ1F0UWJqVWxUOUxsQUhRQUdVdVRTOWNtMW04TWJOMGJYcDBoUUJFQnBLMU1Iem1nclVSbG92NDVhend4cHpDYmJETGt1b24KeXh0ZkxxdC9CaEphV0g1SGRmbkVuYzV3b2ZWRGVSOEFCRmxRZXNUVkk4c2dLdmtVSHdDQXFKNTBId0ZVdVFNQUF1N01EQy9HK29tdQo2WEYzQnBCRUFlZ2F4UU5RTEJ1bG53NUpuZmFpbHVmRXlsZWNZSlBLNWpEY1VpaHNoVkNQTTY2RmhZWHRFQ1lSOVRzamZkaERjSlBYCnZFcGxzNTJQWHZ3cVYvWmdITitvMms4cWdGTGJwWlY3M0hBcnRCOWhVTFZ5dkZJK1JnRENWRW9Zcy9TanVwVnI5Zk9RUnZOaXMzVkoKZ2k5akhxVUhrRVJVT3QvVHVnRHBiVnp1cVYrRXRPcm5hTWJxbERGS2N1SXBmbW1YZ1p3MEtzY2x5aUluYkJzeXBxYyszRk0vMGFvZApod0E0dUtHWTIyNjR0d2JEQTFaMnBZbXlEOEozK0VuOWZMTjhxRlU1YkhPVTB3TUdLc1ZwbFk5TGVpb25XK1VUY0dIZUxSK0J3RWZnClp3UCtNNHNIYXRGK3l0NTZjUitrV3RnRGdaY1N2cy9YL0c0bDNBM2g2MnEwVTZkU01Edjk4SVVmbWY5eWdGTEt0OHRHRlhPekhHd3UKNTdlbFJwTW9vYVhjSmo5UmRxTldDL2Y5MkdBRlNOZUJUTExQUTRxNUZ5UjhweFM4QUNubW4xUC9acmZ0K09uUTdBd2ZETHJYSm00UwpEdnlCZVE3alFMNDJqMjNSeTNPT2ZoUTdaSlNkZ3YwdWR0SEhYZWV5OFhHQXlYVXZTUTFEeDAvaTcxSGh2eGJDRXBKK0lFRU1CR2dsClNaWjVSZzRUeC8rMnFDczloUWtySlBDeTJMMm1sRmxMV1Jlbit6a0lVV1lEMzdHc2VjRXNiK21XNUdUSzJVMlNTbTVMTmIrMUZyeFUKRDdkSlU3UHM2TU1rTXFQcDFGN0RvT0ZhRGcrVDh3d1h4NVprVEU4UFhEVHlXNXJCVnI0ampkTDRuYVFsYXpMOHIrQm93OVc3TnpVeQpMell5VzVyWnJhYm5Kck1kMHNodXBQdVlablp6Sy9jU3BDZS9yUlZ1eHdRN2JZeDcwQzZta0xPSGVucFFOdjBoeUlPWHZRN1RnaGZ1Cjk4T2IvVEIwS050dFhvTDA1TGUyY2x2TXI4dSt4RlVmb0krdCtyaXhnL0Y3cU1DejMzTG5nTlBvRTlkMXVNRTV2c2tyWDFRaUNuWnoKQm5OVUtNSTVyeE5QQjhkby91c01PR1o2ZUhsRzRScmx5b3pvSmtnSVBDUTFvYW5CbGFuQnRlbkY2d0FqZkVsdlRRK3V6eXk4TWl1NgpQVGQ4c0tqODF0THErMHVySHkrcGZMUzArdUhTMnJ0TGErOHNxN3l6dFB4b2NlWFJ3c3Bib0prNXhWZm5sbDlkMkh5VHViT284aTZFCnlqKzRDZ1paVUh3VHNyRDBsbVJSK1cwSUxhVTltRjhHQU4zbFNYam16c3p5eFptQW51STE3Z3FhRzEwZmlxNE1oZWU1OEtNRGQ2YmwKVHM4SUxtRDNEMjhPQkg2aXpDbU1IVUJwOU1GcHIzVDlqQTVBaFlqR3V4d0FGYllwQVBrN0djWUFFdUxvOG85R2pINVhucEg3ZkozYwp4U2VPM1EzSWoxMEZJd0RaSWxBbkFOVWJGelNBNEhwRUFMRittRDZZNXFYZXhpVUZJTzRIUWdERk9sSEJtNG9nT3UwQWhGdnY0SzQ4CkJrQkFINjdRakFaQWxrRWpBSWlqQVlTZ2FRT2doSDRzZ0RpTjBrRU5JTGFPRHlBZGd4NFZabzJqbjVHU1VxSHgzR1BDeUhBQWhBYnkKNk9NREtCSHpiWjZCQkVDV1BsVFJVZUp4a3RTUEJsQXgvM3lVVzY4cUZuRkhpdytkOWxuckFNaFVhR2lqUlQveXNKa2pHd2xBU1g5bwozL2owZVJ3QUpYNVgyOS9yQW9qL0crTm1vQ1NBRW5EeGlOTTVVdVp4djlDamo4MUtGUVNRTlZDc0g0V0c1NU4zc0xUVE9UZ3ZsdG5JCjBRYVNCUzlaMktKS2p6VGZ4RnNVU3ZPeUU5Mjd3d0VBUVdJQUpTajJ1QUN5K2lFQWJXWDlBRk1TNktHeGRrNnFmaUNENFhFZlFGamoKeVZHbzNZZXl6VWxxMzArSGtJR28rNmNqZ0pMNlFRQng0Y2Vza1lGKzhnWkFPT1dlUXdEUkNCZ0Q2Q29EYUdaMGZYcmh4clR3K3JUdwpLaTJIZ1lldUE0bG1SSy9ROW9ZdjAwdWd6MDJjK2NLQnIxZm5SNjlaQUgwSUFGcFMrUUN2YSsrdXFPSEZrc3A3Z0pqNXBUZUdTZy9uClZkNWNXSDlMQUVRWEJrQUx5Mjh2S0w3QldWaDZVOGRzRjJRQTlFcmM5Vnk2ekFBeWcvSFJkZERNN0lJTElGNExZd0RKU1B3c3dCQUYKRE9RQ2FCUUdTdFdQQVpDcm4vWUFNdXRjU0I4YjNmMWp4dDBSUUZvL09ocEFmalJ1SkF3anZ6K2FHNTg1aVpuekdpNWpwWWFLUUFaQQphaERzS05DSDlTTUFNcW1kYjlZdlNCTzA2WVBHZVhnWFBVa0FKZlFUQTZoeG5nRkVCcUx2MTBDeCtrbFZrWDIzSFlETUhUSVE2aWZsClM3U2w2STRHVUsyOG4ySmVKclNrQUVReDVSd0hRTnBBL0xKUlBJb3BIVlk1eUFBaUE4WEU0ZEpPaW50d0N4ODNGZXJwa1hxUEVJZEcKM0gzM3VQcVIwZmNSQVdRTjlIVUI1RFBJQUNpbXp3dHExY3hkZzRPazZxZVFNY1BZeVNXYkdFQmpNVkFDUUd3YXhJSDdXQndab1pkcQp5bWdBNU9IR3AwOG5BR1c3RnFmR2RZLzNlNTA0WDZ0WHBuU1VYVnppZEk3L1ZlWUxYZmVZRkx0WFFSd0FrWUZNcGFlQ3V6eGp1UHVICnEwRzJKaFEzUk10MW0yeUVNSW1rNUlOVkh3WVEwWWVmcVdVMzhuSlZ1V3NETHo5eGFjZTJJWnVoTFVHUGRDdnJ0L1JOZXFrR3U5cnMKNjZNQlpCYWJzanNnVEo5NjkyWjRDd0wzUVMxOTRTNnJIRXNjMnM0SHdwTmMvbjBCRUhYODJHa3ZCTkJ1R3g5RE8vaE9ML3pNN09MNAo0dkVCWkRhSkpnTzFCVkNhZmdSQVZqKzRDalk1Qi9RNVNRQTZTYTA4bDFBLzRRM1FEMlJHK1BMMDREcVRhRmJ4eG13d0IyN01jM2RtCmRIYzJFQVJuMVBIbnZPSnJDOHB2WXVOeithM0ZsVWNBSFFMUUI0dkxpSjVsdFErVzF6OWRYdjhZYnNLZEJTVWd6anUyNm9NQTRuQVAKa0FYUTZ6b0xTdzg1UEFNL3QzaDNidkVPQVFoSDMzSHp3K0tWbWRGVkNOMjVNVlM0QnBxWkZaNXJCNkRwK2ZOc0lHU1FCUkFrQnBBMgpVRWNHcGVwbmcrT2VzTERSSkh3UndnQUMvUWlBc0xQSERMVHZobkFSQ0plOWt2cVJlays2Zml5QS9BVXZweUJVd2VIMlF4UWpHL2haClVZUHJadWNlUGdmRHBsN0hMcC9VQ0lDNERZaUNYNWpZTUZEMzA5VFA4djZIdko0bDhkR2pjZzdYdkhvdVlscllOdVFBaUpxQmFBeSsKaGhVZ0xSN25wWi9PQUtMWWIvQ3FSLzYzSlpYVENVQU1GNGdBeUNRSklCM1dUNzE0eU9hQTBJZGlsN2ZZTkI2QWVNMUwwRlBEVVhhagpIMGl5cHllTzdQSGpKQlpKckIvc3kvSHA0d0NJREtRQUZHeE5qVVpQNHZlNlh4c0RDRHVCbEg2NDEwZmpURE5JTDhrNUFLSXVYZEdQCkM2QlJHeWdHa0JSMU9nREkwR2ZDU3FXZlpka0plcDNMQlpDUG13TDJ3ZmowNlJTZlBpTUFxRTM4YjdaSko1RmJ5QmtwL2pkWUFLV0gKQWNRR1V1VWZxZ0IxUDhmMHFkSTJQMHlaWXRkNmJTQmJEZkxGNDhjQ2lKYk1lUGRDS2Z6d002WHVEZFhzYzdRSjRYT2xMdndKWkFFUwoxWE9icEhkSHVuWXNhL1NVVnNvWWx4QkgwNmNkZ0tqODR3QUkzY1BoVVN3RVVMQ2JlM2ZJTjBkTmdtTVFYZlVSL2VEQWx3VVFkZnlZClhoOWMrY3J2bzVpNmtlbUFwbGdTQ1c3MjltVDIrT0x4TTBZQWlYNzJRbWhDSGk4bTV2ZkJXN1Qzejhtbjg2ZWV6aC9IS1REY3Z2a3kKNnFkd2srbzZMeHNBQmRjUlFOSEx1REVQYmNrenA0aFQ3cnlqRDdZMmw3Q1dzNnoyMFZKQVRPWFI0dks3cko5RnBmZmdBdWl6dlBZWgpaRm50azhWbE1OQ0hTNnVBb1k4WGxUK1VwaDhYUUtWWFUwTm5aVHdZaXU3d0prQ1VtOEtnT05GbE93Q1A0bkZDRlNDekxSQnZoSmpTCkF6VHFPdEFJQUlycG93QmsweFpBY01FQTBwdjlxSGFmZUM4ZnZjR1A5Tzdvb282bHowR0lqS2JIRlIwVkpvdDlLK21iK2dtT1R4OFQKcXg4TElGczAwdHNscXdxUWJBQ2QxQTl1aDlnbStDUUNxSFc1citjSy9DUURYVVlBTmM0VGdNNjA2cWR3ZlkxM0lFellKWmFOT01aTApPb0Q0ZTVnMTJFc1V1K2NBUlFPSXo2QklCNUNlUXBmQVRRRVFHV2hrQVBuNjBZbVZvNG82RUlZT1c0ZnY2S1V1MmN1SGlqMWVyV1UwClNlcUhBSlNlSndXZytJSDhGaDNWeUV3RkhydlBrRzhnWnBEL3R6R0FlRVpKNmVkWmJ1TjlVZ0JxRjNPd2h0SVBaNndBOG1zem5lUFQKNTBrREtCRTVTY09uekVoSk9YOEQ0dFBIRCt1bm5IMFd3ckloL2VpbTVvMk9ma3hzbjVBZnUxSW0vZEZtVFVxd3dzVWVyUGNRU21qLwo1WFUyenlGVDZLUXQ4NHhxWWVacjU2YmN0eXBLNkllL01CVkF5VVd1dVBvU3I0aUJmcko0RS9VVDdHYjA0Qnc3eUlZeUVKeUFzSHZNCkFSZnlERDBHMTFqK3lSK01yZlBrQU5TZk1Sbkk3aG5JN3BORzVwRUFoSDAvb2grdSt0QUg5MDNLNzZQRHZ4QkFVL0tuK2Z3S2JHUU8KcnhLQVhwa1YzWUxBQlJpSVNZUjdPaGZ2MDRhRUQrZVd3Q2h2a1ZTb1FhZjBIb0JtUmYzelpiVVBsbFRlQXdCeENFQWZyV2lnZmlCTApLNThzTG4wRVAxZlV2NFFzTDM5R2kyVllKY0tpVWUzZEpkVjN3RStMMmdOb1huUi9idUhPVUhoN0tMdzF0M0I3WHZFV2gzZUZadnBRCkI3VFpBV2hHZUhwNmNNb1BOMFF6Z09ZVUxtUENxN1FQVUJKQUVzODlMb0MwZmlDdWV3b2JDOUVtVEdGektvQnNnVWMyYU43Tkd6MzcKK3RFVFc2NSswZ0RFQmxJVDZmSENGcm5IK01iQ3haUjgwdHFjWStKMGlOWVBBeWplajBjQmlBbzJLZkhjWTJJYW41dVhGSURnNXhYVwpUMC9qTEkyRG5VSURXUUE1QnZMditPK21QV09LUnRMWmt3UVFHU2pXanoyV0t3R2RKd0FncytabGw3M1M5S1A2bXBPcldnd2cvYkpNCmg1aDZqY3lZenBOWmZwS2tpQ2V6ZlByNEFDcm1OaWtESlJ3amNmNEdIMENPZ2JSK0dFRDhjWWMrRXYvUDR5S1FYd0h5QVRRNkF4a0EKeWNLV3FRRFpobVVuZXRsTDd3U2Q4SW8yaDcxSkRvalhubnppZEk1UG44Y0RVQUZ3azVZbkN5Q2ZRVDUzT0tvRE9oVkFjWmNNcjFLNQo3a2syU3ZzeGdrbVp0NHFYdXNBbEhIaTQxUFVzaEFHa3NTTFBPQ2xOZUk0TnBPaURxV2RlVUhtKzFyMEJVdTE2amk4NCtoa2ZRS3dRCnJnYkZxMUg1WGJ5QU5SZ2NwVE5IajA4cW5JRGdSc3o1RXhCSFA2YjJ3MEt5QUlxbnZmQzNlUFN4ODE5aldnTHI2OTdGK3JGTFZ5YnQKQVNRUHhQcVJ6NEorSnVVT1RNNGZmam80TmlVL1BEVTRRMGRibktIaEw5UVBCd0EwcDNCN2R2Z0taeWk2ZzlOYjBSdnpJcURQZXd2TAo3K0NlUFFDZzRpT0F6dkxLSjZ0cVg5cDFMcURQTzVERlpleUdSaGhWUDRVQWZWQS9sYy9oeWRYMXIxWld2MWhtZTRNdzFYY0VRUEdhClYzSXREUFREQUlLZjh5TE0vT0pkK0FrWUdpcThqSWhCQUYyYUVaMmZYcmd3TlRnbkFKcVdINWJBUzMwVUJ1aG5xSERON2dUdDBXYzAKQUhMMDR3UEk2SWNBcEF6a0FJaE84ckxEV1ZRTlN0ZVBBeUF6cjY0QXBBM0VESEo2bVpWUlVEeE9hUWRlTnVyRExuME1nQkpGSTFVOQpNa3RtOHMzMGl3N3FDbEJjL3FrTjgvNDlmbno2Y09LbUg2cjk5UFZjNWJnQW9pUFpCVUNpbVRhNEdSbEE4UkNaWHZPcWdHYjJBbXMwCmdPajVFKzJhb0hraXpOR1BCbENISmJCWVB3a0FKZlREQUdMOUtQVEUrckdGSHdPZ2xEVXNCazBhZ1BBeHU1RGtKRlUveFZEYW5OMDQKQUVvYUtDVyt3M3dBYVFhNUxjKzV6Znh4Z3lFL3BoYmwvbmxwK3hTbkFHZ1VCa0lBeGZvWkE0RFVVUmpKSXlrUzVrZzRKamFRVDV5VQp6NnI0N2M4ak5FRjNMVXBOT0dFSnA5QzFWS2M5Z0w1V1lnQjFyMGlQTlJCNVNFMkJKVnQ4NHFabVBPeGRBNGpYeTVKVFl5cW0xa0lHClVqRzFHY1JLN0J0RWo5V1A4WkNBeG5DbmEzMXh3am9JWFBBYUdRTW8valpiRGRMNjRSQjYxbzhTUUZTYk1XVVl2cURDRC9mM0dBQ3gKZ1NZVkVnYnFENDVJZUZITTFvZHc1ME83Nnc4Q3lMVDd1SDAvajlrRXpRRGlwU3ZhemZtZ3hVMG5BRG42R2N6dlJ2M2tUQUJBeitTUApFNEJ3UDBQYTErZXlCZEF0RGdDSWNvdjA4NEMySW55MG9NUXJYRlRtcVR4YVduNTNXZm1qNVNTYlpiVlBHRUJVRm5vSEhnUDNMSzk5CnNheitLYjJGYTJFcmE1K3RxbjZ4R2d4VS9kNkt4a2RjTkJJQXNZR2MzbWZwaVdZQXpZdnVjdWpsYlpMUWZUTFFOZERQN09qQ2lBQ0MKKzNZdy9vSUFhSFp3YmN3QTh1bVR4L1d2NTlQMTB4RkFoUWdyUUx4aVJYV2dYWFpSVEFBVW8wZXVlY2ZDMkVESkhtZUpyc3BZblpDRQo2SGdLSFVZUGI5Yk01M2J4aUh1MWNoS1QvQjROS2QzNncvcEpCUkJQZ2ZuMEdRRkFwQjhMb0N0cEFEb3RBR28xc0dkWm00YVRlbFBlCmtuZVpQbHpSa1ZPMG1qVk1vM3FZOUxPZkFMUTNDU0FjR1dzM0J0OEJRRTRUOUdnQXhCUHZXajhDSUZHT1hkNUs2SWZvd3pINmNZVGgKNjRmTjRib2hKYkYrT2dBb09YVVZOeS83OU9HQVlBUXhHa0NWTkFPVnFkS2o5Uk5ITno2M0IxQnNvUHp6TWdXbUFaUnFvQTRNeW5ldApvU1FBbEV0V2EzUTBnTXptUFptbGtIYUlhVGNHNzdvbjdiTTZQbjA0dkx1UEg1OCtEb0FjQXowcC9VU1psUkI5WjBRQVNTbElkVWF2CmNkcDNwSVBIM3RsUXpxNVhBRnJ0MDRjamxHRUQ2U0lOU29XV3R5RFU5OFA2VVFVZVc5ckJEOW9IaWhQV1J1UFh3RStta2dNZytVZ3MKbTZ3eEVPbG5aQUFSTzJJQVdmcnN4azJjYVhxTCtMS1B0aFk4d2dDYUhDR0EyRUF4Z1BLbUs0Z01kQkplMHYwRWdKSjcvT0RFTzJVTApaS3hqOEFLZ1NjSCt5ZUdoRVFFa1hjOWFQd081WFhUb0tldm40Tk81dzFPQ0UxT0RNd3lnYVlVTDA2TXJCQ0NqbjVua0hqYlEzT0xkCithVlhjZGZteXZ2WXUxTXhhbGxXZVdkWjViM2xsUThSUUdWYzVBTG93SDBlWEFjTTBlTFhGOHVibnl5dGczVStXVlgvYkZYOTg1VVYKekpycWx3SWd0cFF1QWxFZEtCNkQ1OEY0MXMvODRqMklYUXZEYXREQzZBRUI2RVlDUUtGWkF0UDZZUUNaNU04QWdHYlRZYWlnbjFsNQpQQXRzSlNVK0VJTUJsTTJ0bCtpK0g1djR0Qy9xYmpadHpud05ZZmRBZUdHTHh0MjU2Y2U4dEFlYTdvNDM1cUdHNVdKbEh5UXE3N2M1CldLd2NLbFYxT2NjcXh6QUlXNkcxaDBnL3B0blpmc1FVYk95S2xUbWxpL1RESjVYaVlhV20vSk5jMkZJdlRleWRoSWZpNGxCOEJoYnQKSHloSFFDamNOT3BuSlQ1OXpETTBNTi9xdWR6VGU2V245eXFrMVhPbDJicmMwenJIWjJnMEc2ZE1tc090RnEyRnlibGc5bGZYY2FaZApOaDQwZlVJTUhUN1VRdlpGbEd2ZHpjT1VNVnN0NjIyZFZSTFBGUGZTQUR3VmlrcDdNQllyRk9KTG9yQVVwMG43K3Vqd3NoZmYxKzNQCjNBR3RDenc2L3Q3TlpnZm5ZSk1rWVpSa1FVaVNRSU1Xa2tjY1lRUmY2RjlCTjEzaW1Fb1BmYk5taXQyeko5SFFJNys5N2QvVzVudGsKQnlEbkdhV3hST1JVVHR5dDJKeGR0UjYzQmNxdGxzU0hYbVZwano3VnE4dnJOV2lhQ1dzd2lUT3oyRHFKaXNpSWNSMlREaG9GRVk4cwpGaTR1ZlI0MytGdnlFeFpLOENRTkZiN3AvRDM2RzNnL0lkY3JJOFpiNVBKaWlGUHNmcmJvN1pjb0tYV3QwYUZ6MFovbDhESHBUdWpjCjBKVG9iNkJWTFhOZjFaWk1oelhWbGpiRWpkTFVlRlNtdHV0b3dycHFWNXpLaEdkVjFuT3FYYy9wRmE1cUYvd0U5RGhyWVFudXlOaVgKYnZUaFhoOXU5eUVBN1RNYitSUU9taG11L01IZTNJRytyQUVReEo3RWppdGk2akQyUkxndG1yWjc1cVlmL0ZwSVQyS3JRN1BKa0J0VApBY0wwWjNmMFpiYjNaZURuanY3c1R0djBzOGRYRG1jUXJCTWNUaHlSUWNlQjRTSlhmdC9FM0Y3SVlIWVBoSys1OXhtUmxEK0tKNXVHCjU2WkdGNmNXTGs4SnNQd3pvM2gxWnZHR21RSXJ2REs3Q0xhNE56OTZEY2ZSaTQ4V0ZuRmhDNlNDVy91VXYxcGUvZjdLeHZkWE5YOEEKUDRFNFN5dWduODl3ejBNYThzS21aak1GaGszUXF4dGZjRUEvQ0NDcUEwSGdyV1cxajdCN21xYkdKTXNBVDZXM2xrU1FSMHVMZUwwNAplbjFSNGNIQzZCNWtRWFJuZnVHMnpTc1FvQTgzOGRoMlpwenRtaG1jdFRuTm1aRS9OU04va2dJWHArQXRPd0IvaWR1QVJnV2dOQVBGCkFOSnpYZ0tnbUVFMHp5V2Irb2lCdU5MakFBaExRUW45d010RG5CUUFrWUVJUUdwUkxBa2dYYXBCdVBEaEZYU1EreWdBaEFaeTlDTmYKNWJySFJ1TWoyUVI5S2trYzB4UHQwOGNDeU95YXlBWmkvVUJvWjZBa2dOaEEzQkJ0RFNRTWNuWmV0c1dlSTZNSGtQR05CeUR6RXR0OQpuZ3lBT0E2QW5BWWcxazh0MnV2VGgxTXNiQzlGTy96OEhBQ1VXbG54NmFNQjVOaUZNZ0tBRW45WTJ1RVlIQm1NbDBxVmVZczdmdndvCkFCWHMrWjIwTDZLYzZ4a254QWx0ZDE3SkdPanZDVUNlVjU1NHpDL1NCaElHT2ZwaEFIbmZnUEc3aFRpdWUwWVRBcEFkK3pMajdqNTkKQkVERkNhczVsaTlvSUo4KzFqZlN1WnlJQlpEYjFwT3NNQm45S0FDWnp1dHlac05qQUlqcVBTUHJwNW5kYlBYVENVQmlJRk8vb2ZrdgpaZzJ2Z3RGeW1ER1FDTU1ONlVjRGlMK1cxNyswZ2RvdmdlRXFtT2lIQWNUNm9aVXZsejRjVFIvOXR3bUF0SDd3VHY0QWI1TTRPVGorCmRIRDZtZkQ4bFBBU0FlZ2k3L1JEbys4M0lMT2lXMFBSN2ZuRkJ6U0ZqbzArQkNBczFWRGg1M3ZMYTE4QmZTQXI2dDliVnYwYzlMT2sKL0NudjRMeW84aTV1Z1VoRDc2Q1pGZFZQMXRTLzRLeXVmYzVaVmYwTXNyUUtBTUtpMFhLN1JrYTdCMzFrOWZQVzB1STd5MHFQOEdYeAo0V01BYUViK0RBVzVZeE1EQ041aUF6R0FoaUk4RERVZFFKa3NidnJjbmtGdEFlUWFxQ09BcEFsYTFzS3NldzVRakg0Z0FocHRJRno1CnNvdGlzaHlXQkZCQ1ArQWJ2UVNtOUtNQWxKanRHaUhjUDZUbnhUUkJkQ3hXZkFPNTlKRjNzUS9hYmhwRSt3WlJZZ0FsRE1RTjBUNkQKV0QvSkJpQ2NBbXRXc1gvWjJUYWFXMy9VdWhYaXB0MlNsdk9NQmhDa1VkNkxLZTEvSWdDcVJmdGxDY3haK1hMQ3JjMHBMYytwK25rYwpBTG1VTWFCSlc5Vkt2WmthdFRwbUZzdlV1OWpyWS90KzlLZFVDM1BhOW9aeXJVSG11cWNqZ0pJcllvbndQNnZ4S1o2VVF0ZmEvK0VCCjVCc29UVDhwaDJad2ZQcU1CS0JsYldJZUtHYmkwWGNLMW9Fa3NuUWwrbUVBaVlGOCtnaHhPZ2I3ZFdSVksrN3NvZGt1blVTckVDNk4KWVhzUWZMd2RnTmc5am9FWVFJWTcyWTJjVlAyb2hTZTFHa1g2WVFEMTVQWkNOSUE0Y3ZxNk9vWWRTVVRiOExqcHo1dWRnYlIrYkdqYQp5eHBJdHdISlh5WDZhU1gxbzdxZTkvbjA4V01QdThEd090ZkU3UDdCekQ0SVhQQ3kxMlNnRDIzOHd5ZC80VDdPd1pWcDRWV3pvWE40CkZiZjhvWmt2ME0rODB0MkZwWWU0dFErMis3eS9xUFFCaExmMkFmMkFleGhBVXY0QkFGRm5OTFgrMkxvT3RRZDl2TGIybFdSTjlVdkoKc3ZMSEs2cWZZbGVRclF3dHIzd0NONVYrM3YxR0FZUUd5cCtuYmFEVEFNUm52TlA1WCtzNkdnajFvd0VrMFJLQ01JQTRBcUNJTnZpaAp4QURpYnVoQ0NTdEFvSjlTOWJCSjVXaXhMSlJKTk56SVFoZ0NLTlpQWFB0aGxDQlRyRzhxdFJPY2F2MlVTZTBNUkRNbzFVQm1uME5GCm4vakxyWUVnV2lFSmlNUlljUXlVY0EvN0JzTDdCckdCVlBnRU1UeEV6RFZRL2FUdEI3SnQwWFhjSDhoZCtiTDY0V2t2QjBBODk2NXgKbzN4alRoWDFBWlIwa2dzZ1phQk9BRExiSVNvRDJjSVA2a2NCQ1BkNnhyTXNQUHBZQUZISFRHRWJSMXAvMHZVRDhkcWN2V2JuVVFHSQpnMmRjMlBqdmppWnBkU01ESVA4eEJJMkZDNGRiZWFpYkovSFN1ZDhoRENDam5Cd2VYOFVUOGhMenpmNUo1dFpBbU83Vi81MEF5RjhVCjh4ZW4ybjlucDNUUXp4TUVrTk5iTFhFWmxBWWczYnVqQVpScW9LUitPZ1M3bFUzUHNyYU9iV3FPMzZVN1FoK25ONmdkZ0dpMUM5MGoKYVFjZ0UwOC8zSDNjRGtDdDdDNGNST2Npa05FUHR2aE1LaHpuMmcvWGdYaVpxUzk3b0MrL3l3a2ZLOUZHUHdnZ01aQnVoZFltRS8wawpBS1JtdnFqangrVk9PL3I0QUJMOVBCMGN3azJmWS8zZ29hZDh0QVVlY3hGY21nWVlDcTdNd1BPOGJzMHQzcGxmdnIrdzlDWnRiUGdCCkZtYkt0anhUL1ZEMHM2TCtKWmQvZU1KclVRWDdvOUU5QktBVjFVODQ3UUMwdlB5WkRJVkI0R0psOVF1NHcvUlpYdjZBOGg0dGdiMjYKaVBUek5RRTBNeGlHSklwQStmTlNCRW9BeUp4eWFyWUNTcWRQUHRoQVArT0RMM2lweTJHUVNDaFZQeU1DQ054VHJoM0JWSThCZ0VwMgpuMldLakhUaHhvYU9mdVRkU3UwNHAxby9DYWsxaGltbithWFdEeDg3S2gzUUJrQnFBRDYxOE5Ob25OU0ZINXdqYTV4c05vZE5iN0pYCmlZRjNHL1ZoaDBIa0dGa0xjN1lJWWg3Wm0yS2crSm5rV2xnU1FHSWdXZmtTNWFDQnNMVVpvU09tWVlXazRvYlRHVURhUUowQjVIM2MKUlBUak5BTlJ5U2MrN1l2TFA4NVllN0xlby9iTzBXTmZIbjBNTlR6NmNEUmxrbjNIemxzbWxYQUxwUE1kSFo4K052em54WGU4Mm8rcQo1Uml2eEM3cGtNNEFrcmMwZ0FvNEZZOEdjaGlFejN2MGNRQ2tEUFE0QU5LTjBqcnRzZUpUaHZHQkhQSGpQOG54U3pzZDRxc29abENiCjV1aFU3aFF6SzMzNjJQaTFIMHppZTFSTFVEc0FsZFFTbUFESWorTWtQMUlCY2czVUJrQnE5SjFhaFhEaGpGYmZFbFdmR0VNT2dGU1AKYzJjQThZYUhkc3NmeDBBV1FOaW5qTmU3ZWRQbmVMZzlPRVl0endaQVpuVXB2eDkzSUdUdUtQb01oSHNnbm5zd1ZGdWlMYUZsMXgvNgpTMlFNM3Z3eGtzd3VxZjFZQU9GbVB4MEFsTm9FRFptY1B6d3BkMmhpOWlBSHJtbm8vUWp0ZWNqbm51THhwUlpBVjZhSGw3bjhNek80ClRoUHZ0K2VWN2kwb0FZQ3cvSVBvUWQ5Z21RY0gybXVmcktwOWo0SmVBY1FzcjN5Q1RkRDRsaW44TEs5OERGbForeFN5cXZwWnFuNncKQ2JyeU9Yd0RmSStURlpVUElTdXJIOEZQQU5DUzRwdFkvaW5jSFN1QXBBZkk2dWMwQThneUtEWVE1VUlNSU9lTWQ1OCtBaUJLZlBCRgpPd0J4bkpVdjliTGRFdGhCQ0FNSStBSUFZZ1BwNm91cThTQ0R6Rm9ZamI3TC9WVDlFSURRUFh6TjlCRUFwUmdvclJURWQ4QWNlbktlCmNkTnFHdjM0Qm1JaHdXT0tRVklFU3VpSEQ3N2dHVEU3ODBXaEk4RGlrekV3MkJCdEdEUUNnTlN1MEdiSjZaRHNweXlUV1hDUmlodUkKUE9sRVA2T2pBV1REejZjbkhnZHpHV1NhZnZTZWgxVHNjZWxqUXV6dzVaR3FuOGNDVUhvcU5LZ2xzMXJxcFVzZmsvaEV5UmNUeVcvRQoySmZWL09acWZpdEUzaTNuWG9EZ2tVelpEWFM0ZDZJU1U4cXU1emozNVMyZlBpTUJLTjRha1RZSE12ZFQ5Uk16eUI1Ri92Y09JSjhtCm5aLzNsZE01M3RlYWFBQWxNWlFBRUM1Z1VUejNqSlFFZWt3REVFNTdlVjA3eWQ0ZFF4eWZQcVBSai9wZ3ZCYkdrZDRkdlhwRmd1RloKTFZyejZsN0xxWFN0NlFDZ05uRUJaSmZBWkZ0bjNQRTVXWGRSNXJBQXNwMUFDa0EwMlc3bTN2bWdkZElQcm5QbDlzaEpvbG8vZ3dVYwpIT05WTUwwV3hnQnlET1R2QXlUNmdmZ2JIbllHRUUxMXBRUzR3d2JTTDlGQTJlRm5jcWVtNU05T0RjNU5DeTVBaUQ3bTlOUFpoWnU0Cm95QU9mOTNtWWF1RnhVZTRsMC9sazJYVno1ZFZzZGdEV1Y3RHNnM0FoYXMxb2g5dWFvYXNxSDdDSzErcjZwK1pwcC9xOTlKVCt4S3kKQ2d6RWcvRzFMOWZVdjRLc3FuNjZ1Z2FmL1d3bGZQblhBTkNzOEJ4RUFNUkxZTFlDZE5JMlIxT2hLSGNPNGdJb0Y4Z0F2TlAxN096OQpZOHMvdE5lekJwRE1mOGtVV0xHMGs1T3NCcVUzUWN2WUY3aUhFVU1Hb3NZZFpSSHBpVllBU2pRKzAyZFBzSDdxelZQMTVobE9GUXhrCmNsYmxQTTFrNlVsNDJ5ZVV0aGswN3h1a0k2VWRSejhhUUp6a1Ixd0F4Ymloblg0b3FKL2U1Z1ZNZy9xQjVIeU1ub3V4Z2VySC9iUWEKUFBSdVRqT1ZGaDhlUitmaWlzTWFIMEJtLzBQN21BeXh0d01RMTRHa0NWb0F4Si95NmRNT1FEYndpOHhacDVoNGMyZVBQcFJxWVN2cgpSMVZRWEFDSmZnaEFtMUl6VmdCSmRNc092ZlJyUFBSWHFWTzFFd3hTQUNMOUtBRFJXMG45dUFEUzBTSVJBMGx6anhNR0VCZDRrdWh4CkIrQTVkSzVuM1BzY0Q0WHhiOFJEclA2QkFtaCthbEpudmpxRXVST01YK3drbkdDS044S2d6Z0RTdU5IeE4reWhQWnAxb1lYZFk2U1MKdXNnbE4zM29GTUZWYVNsMXJ6SkpmRlVLWlp3Z2VreFdZZG9BU0tvK2FyTWYzdkN3VFJOMDkyWSsySXZQdFRBR0luYWtBc2djZkJIcwp0VWRiOE1hR0owRS9BaUNxL2RBeDdJQWVQa3pVWmlEWU54anVoMmo5YUFQSmRMMU0zV1A0ZkhnaEVjU091M1BYczdQZHMzZTJWd3FBCmhEZzJSLzFNeWgwQkFGa0RuVVlEaGVlbmh4ZG5GUEQ4cnpuUmpibWxXL1BLdCtjV2NhOGRIampuclp4cEcwUFF6NWRMSzE5QTBFRGwKejNqMUN0ekRvVDZlejFZMGNOQjlaZTFUMEkvMFBxK3FmcmE4OWxWcXBDZGFZbnVsUDdPZi9aU1h3SllVWDF0Y0hQTVNHT2tIZkhOcQplbTU0V3ZZa1pIcnVCR1JhOWpqOHRBYWlLbEgrL0dnQjVHLzhvd0dVM09uSEFDaUt0bkNZUHFYeUxnWVFkME5UMkVEdUdMd0drRFVRCnR1eVljZ3R4aEk1ZXgxMmVTeVhzZDlZQWtpMEtiYU1QQThqb3B3MkF6bHNBeFF0aEdrQ09nUXhsZE5XbmVab0xRaEJIUDJJZy9kbWsKbWRJQjFOczhwMEw2YVY3b2EyRlBOTzRNWkFIVTIzUGVETVpiOURScU9PS3VBSVQ2TVFhcTRvWTlvSjlLRWVzeHNyclVEa0JxOStjVQpBSEhrZ2M0QWFwWVBkQVlRMTN2RVBmRXA4ZVVEdklqRytsRW5lYm4wNGRTaUxkWENabTczb1dZYUZJL1QvZk1OQWNoczVaemJEQkVHCjZiMS9FdnNBMmZPMFhRTzFBNURWRHdGSTlQTmNLZmNzcEpoZEswa2VwV2txTVJHU0JkL1YxUjJkdGdCU28rOTgyam5IQjVBeDBOOFQKZ1B3dUg5dnI0OVBuY1FDVWZRb3plZ1A1QU1vL3RRZ0NBT0trcm9YNWNacWFKZVhzZWhQYzM5bWNiNG9qNkRLWDdnSElNUkRmY2QxRAppY2F2OHVsakFTUkpTRWhUSmk3NVNIK1BvNStSQUtSM083VEZwRFpqOEFwQWJDQ0JUbHdFVWdEcUMzRWZJR0xLZ2ZoVUx3dWdpU0dPCmZmWGw5bkh0WnlERWcwZ2w4WUZjNFVGR2p6a2pUTTNES3dBbHpzRklSTzMzTTVqYjZ3SElSWThQSUUwZlhPY0tqckI0OEloVEN1dUgKQUhTQ2dnYWFHcHdCQU0ySUxrSm1oZGVHaWpmblYrN01MOStiWDhRTkJtbC9uWHU4bFROVmZiNWFWdm5lMHZKWGJLQ2x4VStXbFQ1RgpBMWtBWWJHbjhUa3VlQkdBUUQrNDh0WDRFaEN6c3ZMcE12aDRXbndBT1JJQ0FLMm92RTlUOGE4dkxZKzVDWnJEK3BtYU9VRTVCdnFaCmtqa0NGMkFnQU5DczhBdzZpVmJCeHJVN0FOWHArK0hkRGlINnlQY2tlclpHMFV0UnRGMVNDTGVId1RZODg2dTBUWi8wem5lNE1xUk8KTmpVN08vUHV6M2FTaTFhZEtzY3JaZHlSbWRuQjYxTlVCRHFJSHludGhWVEsrNnFWL1hwL0dsci9PbUZxUDQxemplWkZtaXEvM09xSgowMnhkNHZ2MXhvWEV5ZXBWT2w2MGRnTDdpQnNZdjllSDNTUDZHVEdwNjJMWUhJMTdKSjVLN282SVIyU29DbEFpRmtNSUkzdnpOS1FYCmZzTDNxSjBQVzdYalBZaXRJL1hhWVc3NllhYkVucUN1R29tdTA0d2xwazdUdERXaFpOOVAvTTFLUW01YUZkZFZuRmJsTVArRUI3QU8KVk9UZVo0Sk9ZWmZLVG9tdUFDWE5FYU5ISndtZDBhREhQTUNGSFBsK3Bva0FSZUl2TnNtU0U4YjhHWnRNMFNpL0xTNEZKVU5WSHhQUgpqNG9xK1ZqNjhJVldFYUdFU3pYbVBvWS9tTVltZnQ2dDhWQ0VSR2FqNTh4S3ZwTVlpV2V5bUIyZjFVYlBLc3dkaXc5dXpTR2dxTVpuCkRTTy9IWmpqTHpaeDhrOHRDTVl2OUJOT1dKUWEvMGxPNnZjNHp5ZS9LdjRiRWtVZzlkK1ZINzlVSXYrWnROdWgrUjhjL3RkVDYxdzQKNnk2Rkg5UGxnL3M3TTREa2dBczU3SDFERWtDSkV5Y2t5Y0pTZkpDcVBrbGVsNTAwYU95UzFtcUkzbElvV1ZWYW14cmpvUW5QbHNkTApQNUM3OTQ4ZnZRcEdqYytibTVtTnpjeUxyZXptVm1ZcmJ6RFltOXVCSlJZRkRxWVBNS2laMlM1alhBUEJQbzRwN1JRT0RoYU9RSUJFCjluZ3ZjN3E3bkc0aHhSNFVqeUtSd0FoRGEyUVMxVUswazRLOVJQam4yU0lRYmdhZHcvdjR2UDE3NEM5VWhSeFoyT0kyNTRQQUd2Uk4KbG5OOGNnNVA5Wm9jbkp3Y0hKK1VQellKM2dvT1V3N2lEb3FadzVPelIrMEcwS2VtaFdmQlFKRFp3UjNjNjdsMGIxN3A3dHppM2FIQwp2WG5GaC9PTGIvTDgxL0w2cHlzYW4rRWdXUG50eGRXSEM4c1BGcFFmTHFxK3Zheiszdkw2aDNqU2UrMkxWYlh2cmE3L0tqVUFmUXd3CldsbjlhbTN6Uit1YXY3YXUrY08xamUvcFFoRTNCcGxVUDRLc3FuM003VDd3YzNYOWt6VU5VMEJhV1lPZkh5MHJmN0M0K0doUjlEYW0KZUI4QlZMZ0xFUU9CaDRBK3MvS1had1VYYVo3cjBwem9BcTk4VGNrZW01bzdQaTEvQW43QzlUT1pvM3huZXY3b3ROeVJxZG1qR0pRUQo5Z1BCODUwQTVGZUFPZ09JREJRREtDcnNBQU8xQXhCVmhzeEo3MGtBMFhiUDhUQ1gzYllIZDlreHcxd09nRUEvQkNDMVIxOEZlNEFjCkFOR2VPbGRvWDhFcjJrRE1JTE12czJjZ1V3ZHlHbjI4K09JWkpZRHMvUmhBZHMxTFY0RDhhdEEzQlNCZERkTHhkV0pqOU5PTUFZUlkKOGI0MkFhQTBEN25mVE82UkdBQng3YWNhN1V6VlR5M2FyaHVBa2taeDZmUGZCWUNVZ1RnK2ZUd0F4ZVVmY3M5akFpaCtTMzFxVEFBUwovV2dENlpwUVhMWjVjZ0R5aWRNNXFXcnBFUDk1RGdDSTQ3OGxhUWNnKzVlNEFOSUdpb1duQUlUL202ZnBCNmU2RXZveFI1emFVMDROCmdHam0zQmpJcHcrSGxzL1crZ2J5NmNNeGRScmJ6U01BU2gwb281NGhQVHdmeHdmUUtQU1RiQVBpNGE4MkFESjFvQ1NBSUFJZ0hieEQKV3lNU2dIQjNSQVdnblFwQVp2b2REWlQ4aGppMlQyaVVBT0pyN3JBV2pVRTBnSkw5UGFiWU16bDNEUFFEd1I1bkE2Q1RCa0RLUUUvbgpqa0VBUU0vazhBeFVMZ0pCWmdXdjRPUlhDWU1IcmRPeFgvTkxiL0NSWHNBYVVNNmlFdTd2dkxEODJvTFMvZm1sMThGQWl5dHZMNjIrCmorL1dQcU5KcnUrYnlTL3NFUHBxVGVPSHp6Wit0TGIrZ3pYMXIzamJRektRbVFzRDJhd2s5MmdBU2U4ekhxK0J1dzFobHBZZkxTbTkKdmJqNEZzUlVnQUJBeVNJUTFuN0FRQWlnU3dDZzJZWHpBS0FaK1RPc0h3NGJ5SkFvZDJSYTdwZ0pMb2ZGQUVycGRIYmlMSDZOQ0tCaQpjUWNtMmdseGhyK2NLVEJIUHdJZzFkRnNkMjBtQUxGRmZBQWw5dWlqRGYwWVFHYjlpd0JFK3JuYTIzZlZNUkNITWNFR0VxREFCZjlHClhOdHl1Wk9ZV3BmNDlFa0ZrUHdLQjBDcTZjZW5UeWNBZ1g1OEFFSGFBYWhkZlBxTVBwb3YvcnMyOFIrUU5GRGlVeDBBeEVkZXBPcEgKQUtRTmxLd0RZUks5T0s1N1RLU0wyY21UQTlCek50UjliUGZqY1hxREpHMzBNektBUE5ud3Y2engwbGhuQUduMDZIK1kyd0VvOFl4ZQp1a3IrdysvZ3BqT0E1TEd2RDZEUlE2ZHovQS9xTDA4RmtJMVpBcE1FNDVkQzJrOTFHWTRJUVhqbEsxVS9pa0ZVQjdJR29yajBzZUYzCkZWelV3cFptRGFjRGdQVDZtb3BMSHdkQWFpRU1BYVQ3ZnB4K0lCOUFhS0NPQUhJaUFIS0NFTW1UZ1hCUmpMYUhSdVhzWmdDbEdzZ24KbEtHVmFwZVc2dzRBd2hHdzdNNkIzQzZJUHNaTHQvTDR2VDVQNTQ4RGdPSVI5L0RNTThFd1hFUHd2dnJVbE9BRTY0Y1Nkd0xoOEJkMgpRTitZWFlDTDZ6UUdqMmRmTENpK0NlakJvOXFyV1A3QkE3bEtyODR2M3B0WGZBQlpXSHFJWjRGVjMxOWU1NEV2SUE0Q2lBYTd2cmVtCjlxdVU3d09BdUtONVZmWFRsWlZQR0QwbWxVL2dwZ0JvZWZrRDJ2am4zY1hGTitQQWI2RXNLcjdPdFIvUUQ0ZjFNeTk4bVFIRW8rd0kKb1BBaXJYeWRsbDRmQ0xmK21GajljRXNRQXdoaUFPU2o1K3NEcUZUY0JaRU9hQzhDSVBkWTArUkFlM3owQkFPSWt3UVFibElzK3VGTgpqWGtFakFIVWFKNXZ0aTZSZnE0eGdLVDhFd09JWjY5by9weTdvVzJuam9GT1QrdWNIRU1CNzZZQ2lCNXdpME1tRmtEYVFIYjl5d0RJCmd1YnZFMER0NGhSeUpQU1dDeURxM1hFbEpCdjVPRi9iR1VBOTFTTzBFRWFkUUtVOVpDQUJrS3NmQ05tbGs0RkdwTTlvQUtRSjlYZ0EKOHR1UUtSdnNOOFFMWHUxclAxOExRR0hYS2tPY3h3SlFrQUh4ckRDbmQxSDR6aE1Ea05lZHcvRThNVUxhQWNYbkM4ZTNEaWYzM2ZuKwpUZWV6b3dHUWRFQTdET29JSUtNZk90ZmRiZjBCN3RUeW15aWIrY1FKTVJCdlBNZ2o2SjU3SEFDNUJuTGNJK2RtdEFPUTV4NkRKNTgrCnFRQnl1bjhFUUU1TFVBY0FrWDVlSXYyMEJSQWtnUjRiSE1naTVSZ0RGWGlqNTkxU1BhSktrZ0NJOWxGTTRNYmRKY2hKQndDQmU5aEEKeVcyZzk3VnJiVFpkUHZuakZLT2ZxZUY1dUlBUWdFNW9BNkYrTElCQVB6SU9Oak80T2pPNFBDdThNaFBwY0JrTXhQc0E0U0VZdUJYUQoyeEE2bFBUMStVQ2Y2RDREYUg3MEdtOFVCQVlDK2l5dmZMeXNqUHMrQTRCb3lPc0hrTFcxNytNQWZPT0xOZlhQZWFwTDlMT3E5cUVCCmtEWFE4dko3b0orbHhYY1dGVjlkR0QxWVVMZ1BQeGRHOS9US2wraUhBSVQ2SVFDWjQ5d0JRTndBTkNOL3hnR1FHSWpiZ0pnK2VsOUUKWU5DNGR0eng3NHdHUUlYQ05nWlFxYlRUQXFodDlHSHZEbjNzaEplWjZtSUFJWVk4QUlGK0RJRHNrUTRVYkowVy9YRDNEd0tvOXdZZgpxaVVuUzFCWEVMN2tROWV0Z2VMOUNkazlvaDlWNlVuUlR3Y0FPUVVobVFWckR5RFQrTndtYlFHazBoRkEzS1RzeDZQUGFFSVlNZ2U4CjIvNWw1RXVhZ1ZJL0cvY2VDYVEwZ1BodjVpYm9XaEdMUUQ1OUtBZ1VBWkFlQnh1VGZpais0aGRHMDBkbjdBQktNVkF4LzV5RG5tSm0KZzQxTEgxWkxPd0E1anJHYVdXTnBZbllwRkFBNWo2bWtBMGdmektuV2JoTFI3N2FMMVFCalpURmRFRkE4K2p3dWdQUUVscjd2MHVkeApBZFR1K3hNdnczZzNvSGp6UTgwZ0RTRFZpTE5TTDN1SmZxVFJoNjNEK3VHSWdTclplUFBsa2FJSHg5eVNqOVlQeEJsb3IrSk1PelkxCmw3eDloc1lLSUNuMmpLa0MxT2grd1FjUURwbDc5REVBRW45UTRpMTVzSFMwc3g5N2c3REhHWDVpWFFjZnBvNGkraURHTHA4NTdwRXYKZE81enlFQWpBMGp2QkswNm5jMkNsMEZQbW40Z1U0SnpWQWRDQTNGOXlGQUpMckluN1BvWDFuNTRHQjdRQS9TWkFXNkE2L0FpQUdpbworTXE4MGwwNkIrUGhvdkliQzh1djBlTFhxd0FnREZ5VVhoY0E0ZUVZNVE4Z1M0cnY0ZlI3OVFzcy9OUitkVzMxVjUrdC8rRFordmVlCmJYN0ZEZEdtQ0FUdXFYMk1vUU14R0VDUUZaWDNsNWZmV1ZxMHZUNmVkYVRwWjBGMFMvUXpON2crSitTZ2dXYUhsM2lraXdERWsxK20Kd0NQZDBIQWhOMmxJM3ZCb0hCOXFJWkVkRGg4YlFMR0JDRURjNWVQSFRIN0ZDMTVtTHg4MXlwNEllU2creE5RRlVQbXcxZytFeXorTgoxdGxtNjRMcC91bTVEbUh1dEFVUW5qaWhOeHQwSXlQb3FXK1JuMXo2cEFMSVd4b1QvVHcrZ0ZxMTRXOE9RSDd0eDFTQTZGTUpBSldQClkrSXhMcjJwRDFMRy9BSHVONmUzR2JHaVVEL3hGQmhYZ0ZMMEEzSDBvd28yT0pibHpLanJuaDR2TG4yZUxJQmtHSTFmeW9xWVUvN3gKQUpUUXoyTURLSEh6c1FEa1U4YUFwZzJBbkgvNFBRZG9OS1FBaUU4U2hUaXFHREdwT3FIN0xuMDZBeWlOUHB4UkFVaWF0WXRkS3lEUgpoT1YrK0MwOVlJV0RWNmI4UTRQdWlkclBDMjMwZytHR2FIdnV1aStlT0xiREpwN2JTbFozTURWd2o0MStSZ2E3eWhOV2ZoMEE4WGY2Cit2SEtQeU1BcURlM2pmU0QreXhMOGNhSlR4OTdCejlMdmpIdHpBcEFway9aYU1ZQWlFR3owejVnb2trMEtnQmxkcXJzam8veDBnQ2kKc3l3NHp3UW5XRDhRMUE4ZDZvNmh6cDZwd1JtQUR0Wjd1UEFEVDhiNk1kMC9NWUNDeXdaQVZBRUNBTTB0RW9DNDZRZXVTM2dHKzd6bwpQdHhjVUg0VHdrZSttOVBCeWg4c0xiMi9GQUJVK29nQkJQcGhBSzFyZko4REVxSzlFRCtYMENaQVlxQVBWMWJmUXdEQjE1YnVMU3lhCllnL1BlYzBOYmc3bGIrakpMOUdQQTZCWndjV1orUXU4cjgvTTdEQm5WdTRVWjBibTVQUnVBTkJwY3c2R09TVFZsSWdTQUJMOVVHTDAKSkRFMEtnQ2hnU0lxQW9seVZKY1BoQUVrK3VIUUtEdnVjOGdIaXdwOWJFdVFBUkMyUldzQWxRNHBBS0YrTElCT04zdk90UUFydU1oMQpwZFc2aHJFQWtpUFc1U1dwQ0h1aUtSYzRxY3FoRFhqTXZMb25JWmMrb3dHUTBzOWpBb2owNHdJSVI5L2JBSWczS3RUMFlWNjRIckl4Ckd4dTJpd0pRczNRTUlnRFNXenhUVEJPMEJ5eTM5VWNBQlBkNUEraHF0Q3NCSUU4L0drQ2pCSTMzbUlrR1V6SXVmUjRQUUR5dFZxSkQKTFhoUForNkpMdWN3OG5GVitFblJ6MmdBSkpVZWxrM1l4YXRVQ2pvZEFTVGo3aHBBdUtybERaeWJ0TUdRajU2UkFCVEhIeThmZlh5YQoyT2pscWpFc2pYbHZ0UVdRM0JIOVJOM0xXRG1wQm1vSElMMm5NMi8yUXdZU0FDbjlaTGZ3NGFNVUM2RHVUa1VnQ3lCaklML0E0eGlJCnNXTHBzNlk4WVRYb2h3SEVCc0lSZW1VZ256NnBBSUxmeThRUittajlOTEl2Mk1SYklOYTdOMEU2QU1ocGY5WUFjdlJES05sR3dUV3kKTkFDNUJuTGNvd0VreHBLUFBCYUFEbGdEWWNjUGlRZWJuUmxBM1AzRDVSOEcwUFR3NG5SaUVCdG9TbjU0U25BQ1E4TmZwQithL3pKNwpJZUlZUEs1L1VSMElMbWJUV1dBSW9OS3JDOHNQNWtWM2hnb3Z6eXZlZ2dzRzBQemltd3RLajVnK2ZINDdiLzI4clBUK2l2TEh3SnExCnRlOC9XL3NocHY2RDliWHZyVy84MnJyNmo5WTEwRU8wS0VicllqWGM4NUFOUkV0akg3QitGa2R2Z0hzQVFCeTJEZ0FJa3FvZkJhRHIKczRNcnBCK2NhY2NETHZLbklVd2Z1UVlQSVkvb0pGUzdUL1EzQ1NCVEJLSW02SFlBY3NvL3N2SmxtMzdNNGVvQUlIaWdWTnBQN3g1TgpBUkRweHdMSTZJY0JWRytlQVFEMTlGN2kwOVFGUUV3ZjZnZTZ4dGRhUW1JZ2t0TkZMZ3ZaNDBqTmVSVE51dDZPMlRHUVM1L09BREwxCm15U0FlbW5MbjlTTUhrQm03NTl2SEVEMGxsbkdJdUlnZ09JS2tBTWdtbmhQTlpEWmtGb0RDTzQ0QUlxYm9OUDBJd0RTbExGM2ZQcjgKZlFLb0FmOXJZOHYyUzhYY0pqbU9WQUFrQnZMMWc5RFJRSGxjQU1WZnd1ZFh0QWVRcytXUGFldng2Zk56QVpBR1J6dDhqQmdhbTNmcApNeUtBL0p2MGZQcmY0QU9JajdBUUFEa0drcHVKTFhiVTJWNElvRzVzZkhZQUJPNFIvU1FCdEVrZlUrclRoeU5GRjIwZ1pKQm5JR2FRCkJoRHBaM1ZwL0FvSVdjY0FpQTFraTBDSkRha2w3UUFrRzBtbjZXY01BTklkUEF3Z2pnOGd3NXFBUDQ0QXNwUHQyTnBzdTZvVDFSMEEKalYxeFl6WmgrdkxiSVZvL293RlFmL2NPQVJBZjVNNEc4Z0hFWFQ0S1FLY0FRS2I4VThDOURZRTFCS0J6WktCaE50RDBBdERuTk9pSAo3c2ViUWM4dVhBY0RjUjBJTHVaRUx3OGhldTdoYWZDbCs2Q2YyY0cxb2NLTnVRWGNIQWdBTkM5NmEwSEpIUHRGNGFuMVQzR0dxL0lKCm1BWUxQL1VmQVlEV1ZiKy9ydnJWdXZxdjIveUk3eHNKTlhBemFBQVFzSWthZ0I2QmZoYUdyODhQN3l3bzNKVTZFQU1JZmpvclg1eDUKNFkwNTRjMFlRTGxMREtEWjRjV2g4T3ljNEF6VEJ5NzRHZzNFWjEra0FVaXZjOFc0eWVjM3BpWUludzhMdEFFMEp6WVFBaWdNWDRJdwpnRXJGWGVYU2J0dnVZN2pEMnozTGtSZnhxUmYxb3hBNi9tS1lUcXZBSXl4d0cramFFWGdBVDRNbit2QitQS1FmdEJFSXFWelpVNm51CnI5VVAxbXFIWlZTK1VSK3UxYm4xUjdVNTAvQlhENkRINUFha3QvOW0zOEF0VFA5MThaQWdDWjNVdkVHNVp0SzYwdE1FRWwzdTdUa0wKNldseGt4Q1ZoV3dYRVVVZFVtRXFQWHJRWFhPSEFYU2FUZFBYT3MvUUVYWHgxczhTRFNBMlVLS3hXaDJJMGFnZHExZVBObXRINU9RdgoyYVVRUXNVekNwM2lqaVNpK1BUaFZFRkk1YjE2eDJmYUtmR1Fmd3dxcDFHUkUxamxrSG04ejNVZDZRcVNsUzgrb0lPUEtyUEhsaDJyCmxSSWJJVm9BVWNJZEpvVnRObHN4NnFidFhFWUFKYkNTc0k0NUpaNmlBWlR3RFRGbEl5Umw2MEtLUDdmRktXYXdyN21TMzFnQzRuU0QKVkRaVWcwM040dFo1cS8vVnRyMC9ybFJQbC9JN3k1bU44RTlhbUZsZktiN0lDMkg2TEl2RWlVNWVVbWVWSWJxUlZpOWRhZWdrNHp5RwpBZlF3ZDV5YkdMVlpudzhhUDJIYSthWTQvdTFOUmRuQktKYzRuR1FsWm16dTBVbHVIYVFCbEE0YVdZTnpROXNiK3R3cGpGOGlpU1lzClZWa2hTZXd4bUZ3L2tzVDZzVXRnbGR4ekdOc0c1S1NhZlU3MlF0U2JJaHJCS09MWXhhWU50TUZnYkNEMGpkM3BaL1JoREVuOEJ5cGQKcTdoZHV0cTlDbU9XdmVndkFWZlpCVFc5SE5iTXZFQTl6bTRBUFJKbUVFb0lWOFQ0UUl5WDhQUjFjK0FYYjBpNEozNXBoTFM5bGRrRwpnUXRORXo5K2pjZGl5Q3lCT1orMUQrQk43SUMyR3c3eHlXSUQyWDNZNlV3elh3TVpvTStPd2V4T3VzRHl6OFRzZmpySjYvQmdKckgrCkpVdGdDQ0JxWndiVDhNTFdNN2xUZ3hPT3pTeGVvQUxQMmVtRmMyUWRMQUxCVHd4MUNIR1QwTlQ4ZVFqdEJIM0ZkTThFMTJZSE4rWUUKcjlBMjBQZXgzN2wwRHlRMHAzQ0xNeFRkQmh2Tkx0eWNWM2gxUWZHTkphVzNscFlmNGJCNitRTVF6TXFLQUFqM2NWN2IrQko4c3hhZwpnOWI1OVRYVlgxdFQrNUVORDRqOUtqeE05TUhocjZYRnQ1Y1UzMXhTZkFoWkdMMUdPLzI4TWorNlBxOXdEWWd6TDd3MUw0am4zZ0ZBClEvbHJROEVWeUx6Q2xhSHdQR1JPY0E2VHZ3Q1puVHZ2aDk4YW9qV3lXY0ZGQ3U0WXhKc0c0Umo4V0FHVTBJODlCNE8yZm42SkswQUMKSUY0Q0l3QWwybjI0b2dPbTRRaUErUFJUQUJEdjRDd0FZZ001QUpLVk1nWlF0WHBJejhuakRGZFNQN0dCRklCQVB3U2dseEZBZlRkMQplbnR2WU1kMHovVytsZ25RUitVeTBjZjBRUXVBK2tCT0l3RW9xUjhFVUcvempJQkdLajNFckRRRG1kV3hUZ0RxYVo2aXM4Q09kd0JRCkM5U0kveGZaVTZqc2ppcTdnYXFONHA3ZVlxSW05SFVBeElmUEd3REZ4NnppU3BtVEdFQjhVS3M2dGd3QUpEMURvd0FRR2FnamdQeEsKejg4SFFOelp3OTA4Z0tGNllmUEFsTmNXTHZ1d1dEaFlDYmJqL3c5OUR0MVR5SnRtSUI5QS9sN0FOb245V29SQll3V1FEeDJPZi8reApBY1J4cDhCUzZNTng2Zk5rQVpTTXJ2Mms2QWZpdDJPYjVpU3JudzRBU2hybzZ3S0lEU1NsSUNjK2ZUaW1pcVBaRVFNb2ppbndqQjFBCm5ORUJpSUtMWFBLWFlNR0pINk0vd0pSL3ZoNkFhTUdMRnNJa1dCWlNBT0lMcXhtWFBsOERRSEhoUndNSU1wamJyd0NFOUNFQW1mSVAKbmVLT08vMkFnYndPYU5EUE1JWUFORFU0UlFBYUJ2R0FnU1oySGJlTFhLZ2ZIVG9FSGdIRXRSOEk2R2QyNGVwUTRacGRSYm81Rk43UwpBSnBidkpzQ0lIZzNlbTF4NlNFYmFHa1pUMjZYWFh3SVFKOHpnUGhzcjdYMUgwTGl3ZmphOS9rc01QNEkxMzZXNG5rWER4ZEhyMEpvCkJJd0FoTmh5QU1RVm9CdHpnK3NFb0VzUVF4OExJSjgrUG9CczRqcFFDb0JpQTlGWjduNVM5ZE1PUUJoNzBvWG94eGlvZXBpanl6L3cKa28rd0lBTmgrQzBJOXo2bkFXZ2ZBMGpHeE9xMVV6aW1UdnFSTFg4RVE3enlaZEo3QTZ6VDMvOHk1UlprWU9BMmhLLzcrbDdwN1gxNQpvTzk2ZisrMXZwNnI3QjZKbXYraXhpQTZvVUlEU0UyTjRmcVg0eDRsbnZNcWFxbXJjWmx5S1E3VmZyaER5Q0ZVUEdOUCt1SHdzUmdDCklLbkJjRXExUGVYSzdtcDVkNnU4dDRWcllic3JwVjJWU3RzbHNEcXZnaVU2b05FdStrNnlweWMrMGQxSGp6NWExZFNFTEgwY0E4blgKdGdXUVk2RGtIUUdRNTU0UkFDUUcwaVAweGVSR2hUNTMvSUI3MU5JWTlqVURnS3JCcHFoMHBLZDVNc3BzcWVVMzRiOW4yV2ZMNGZOQgpGZ2ZCdmlhQU9JOEhvRlFEcFdaTSt0RUFjaVRVUmo4akFFaXc0bEhtOGFKWHZsSytNMWt1U3NRSEV3TW9mR3F4WXlETG9ERURTQmY4CjRqRjRiMUhKTEMxbDEwREttZFZPTklDc1BGZzg4YkNWdlB2WUFITGlTTWdCRUJlY3VPYUVJUVBweFMrZlByNkJtdGdIdlFrQ0Y4M3UKTFhZM29KZGtuU3N1eGxDWUwweWZid1pBOFV2Ump3c2dOcEJ4RDEvc0hzenNtNVE3d09paDNRN2RFVEFHMEl6b0xLOXFnWUVtZGVPRQpGN3lrUmg5dS9iR0ZId0VROVFsTjV5WWhxdjJBZnZBVXNPZ21uU2FCK3BrWDNlRm1aeklRWE55ZFc3aE5LcnFORjRXWElYQ0JKNFVWCjd5OHV2YmFraktVZ0VBdzRaa1hsL1pYVkQzQTM1L3JubEM5VzF6NlhnMDd0MGFmWTlieXk4aWtFUGtKNWh3NjdlSU1PL0xxL0NDZmUKNzhjQVF2M2NJUFRJK2hmcVoyNTRkVzU0R2ZXVHZ6ZzdmemFPNXg0ZlFMTnpsMmJuTGxEb0xmTlpCU0R1NzRrTjVMakhMbldsNllkMwpBRElBaXR1QUNqc2dNWUNTdlQ1YzJqRlZId1VnT1FPVmR6S3NObzV4ekxucmlXTzVzRW1JdjViMVExV2lZZHFrNTV3RElLa0E5ZmJ4ClhvaTJEWWdNQkJrWXVLdlQzMytucis4MlJBSElsR1RzS2FTMkpLUHFOSG9KVEJrSWU0QkVQQTU5K25zdVVDNXgrcHFYT1JaQXJvRlMKQVJTSDZOUGJ3Z3NOSUZzRWlnSFVBNkFwN0d6bWQrRGhPT0d1VnJDeko5cmRWMm03QlBaWUFFcDNqMFFBaEkwK0ZXelpsbk5iNWVoVworVUk1Q2RVQ2FDZkZOUkJQaDMxREFJS1hZd1dRN2czU2lYSmJpN25OdkdaUnphN0RzazJ3b1pCSEFFVzV4SW51VHhwQTZSRUFqZEpBClk5SVBKbTAwREROR0FDVmJjRnlPUEY0NmY2Y0JqWGMvTmRMdkRBQnFZNkN2QmFEWVFCNTlUSkx1a1Y0aVE1QTJBT0o2ekJPa1Q4VlcKZyt6aFgzZ24wVTZVWEhRVEEvRk5hdjBSN3J4SVNUZVFmWmVpQUtUTFBHQ1UvZ0FNQkNneFExc09nQWcwTG4wZUQwQmFQeFpBZEVRRwpoVTc3c29kL1pYWnoxek1tczQvTFA4bzlCKzJ4WHdrQUFYb21aNDVEMkVBVHUzR25IMnAyeHVVd3U5VmhYQTNDUGlGY0dydEFCNkJlCndUMFBveHM0OEJWaFdEbUFuZ1dsKytRZUh2dENBTVhoSjZrbmVtRVJEYlNvK09yaTBrUGdDeUttK1BheTBydkFvRlcxajRGQk5QVE8Kd2RGM0RtOTRTTXRlN3dPYlVFNlZSOHZLYnk0dHZiNms5R0JSZEhkaEFSdUFaSjlEM2ZWTUY3RitJQUNhV2RsenFRREMrNTBBcEF4awpQNHNiSWZvQVFnT2w2a2NBNVBZK3V3RGlvekFZUUxqK1JRZWRwdTd4bzJlKzVEN2ZxZGVQOGRsYmVCcVhCWkNFbjdINk1kc2sxbXVuCitHQlJubS9YRGM0c0h0TUpSRzNSaGtHMDJzWG9FZmRBK0tXdUFJbHkrbnF1d0IyT3pNLzNVSmUwYlZYVzFqbER3ZnFOMDlFTUdlaTkKek9sdlhiRzVDdWxyWHV0clhsR3hNS3FmcDV5TlErZGcySnlDOURYeGdxZkFlcXBIN0Y2Q1NheEV1eXFsWFZGdGQ2RzVGd0lYNWZLdQplbW0zMStOc01sWUFVVks0NDl6aDhnL3U5MU01WVZMbENUTFRCTzBBU0F5VWNoUUdOMFRiYXdkQXFReWlSYkYwQUZYem0zM2lhUDA0Cjd6cHZ4Yzk0OU9GU1VEWDNRaVgzWEMyM0FmNlJxK2JYQTREQU91VndJMjhJNUFESVEwOGMvS0JMbjlXUXdvUVZFbzJiMGNUblRrbzgKNGpCaS9Qc09nRndEdFNrQytiYmdLS2tzOHQ5OXZHZ0FPZVdjVWNUODVlNS83L2hsVG15Lzg5Z0E1Ty9LWThmTDQyY1N6NmZweHdjUQpKWjYzTXZUNTJ2b1IzMVRpNWJDVllxRGtHbHpjZUNUOG9yZk1rUmNXUUFZM3Jld21pTThnSDBDeUpiVHU4bUg5L0J3QTVPenBQREYvCmdNUEhYTkROL2RRSnRBL1F3KzZ4RnlnZUM2RERmUEtYN29OK0JwUVQ4anpYYWE3OVRDc01nMzRtWjQ4OG5UczZKVzlXeCt5Wlg2ZFoKU0l5aEdkSEYyZEZscnYzZ2ZqODQyMlVDNHVHUWU4eExmaXNKSUN3YUxZalFRTFJSNGF0TGlxK0JnUllXSGk0dXZzbU5RY3ZON29nZgo0c0ZlNXBpTDl6bTg1aFduL0RZRGlNby9DQ0IxeklXZWU3L0JCU0hTRDVkL0xpSjBjbWNTeVo3ejZlTUFhRTRlNUhUWkdzZ1VnZUN6CnprN1E4U0JZV3dDbFRIN0Y0UUY0R1lQSE5pQnFlUmI5c0hLY0M5RVBqY0diV0FNWkFEWHNhZkFxeC9pRDB2dE1pMTluMlNoNjFsM3EKUFgzOTE4a3VHSUpMN0JoWjl1TEVLMks5Ti90N2JrQ3dFNGlmN0wwR2dmc2NwejVrWlJNdmJER0FSRHhTN09FTTlGeFZ1U2JwYjNDdQp4R2xlaHZRMUxsRE9DWUQ2NE1zcFl3SlFzN0t2V2RyYml2WTB3MTJOY0ZjOXdzV3Zhc1YxVDV6aUhuaStDUitVRkErMlNvZjBIVzZqCjlnTlBTcHlha0FMUVNjb0pPemhtL3RxRXFPeW9HcWJOWWFoMXRKSEJrQThneDBBZEFPUVR4MWRPaDdkR0JKQjBzd0ppYWdIT2ZFWGQKNnl2NUZ6U0FqSUU4OUhRQUVPdm5hd0lvSEkyQmt2L2V0M1dBcEEyQW5JK3IrTlRnNktFdC85MHh4NmtxNldxVGZzeXY1Wmo0LzZXYwpGUHJ3dEZlTW5nU0d4Z2dnSHgrY2RnQnlsc0FVZ0N4OUpqemJ2bjFuVk5FRm5vb0NrRFZRM045RHlubEJEQ1IvU1ExbndkUnhwd28zCkRDRGZRRDNkTDhicDJ0TGJ2UlhTbDNtSkwvaTZQN3R0SUxjZEFoY2lHRzBnUXBKTG44Y0RrRDdPZ281Mk53RGlnaERmcEJ3Y3pCeUEKVU5jelhndUE5TkduTVlDQ1l3UWdiSHltaXM0WlB1UnJTbkQ4NmR6aHFlRXhNL1pGRVFCeHBoZk96U293Z0s3UGlYQXhpN2tEMGZwaApBUEhaV3p5S0pSWUI5d3dWcmpHQU1BVTBrQUZROU5xaTZBMHcwSkxTMjlJZmpTM1N0RFFHV1ZYN2NGVU5ydDliVVhrWHdnZGZzSUhnCjQ0dWpWeGZCcnpPTFg3Zm5oM2RNOFBmZU5BM1I4S3ZEcTlUNmN4SGJmUWd1T3I1N2ZBRE56VitibTc5Q3VUU1V1emdIM2dVMlpkeXoKd05Ra1BNOTh0VEdRcDU5dFhBUXk5RkZIWVhESGorakh1dWVvbElMMGZRUlE3VURTUVBZQWR0bzltZWxqVDJoSEFNVkl3bzJWVDdlYQo1OEVpZ0JLendrV0RYWXdoQmxCL0g3eDdWUmdrb0pIMloyNEpHaGg0QlRJNGVHdWc5emJsRmM1ZzM4czJ0eWg0YmF0RWlDb2ZRSDJ0CnN4RFhQYmJ3SS9vWjdMMXVjM01pZkdmenVzM1ZPSzByQTYxTC9jMkxBQ0F4a0E4Z1NFOTlHSGRCckJ6VkFFcWNRcG9EL1J5bzRTRGUKL21JRi96ZkhUdVRDZnRjOUl3R29WVDdnQTZnZTRmTWNmdExHN082alkrYmV5eWNBUUx5RElnM01JNENFUHViUHRuUDdPSzRmN1VXMAp4ZG1sSXdBaUE2RjdlTjhkYlNEYkZwME9JSjgxRG9ZNm9HZEVBRlh5RzNIb1BmZENJYk1CL3dhK244Rlo1Y2NBa0JoSTZXZFZld0M1CnZUZzI2UVpLMndLUjNsWC8yR3U0dUE2UXBPbEhBSlQyVmE1VWJKNGtnUHhsTlQzVnBlTzZaeVFBdGR2bTUrc0RpTy9ic29vYlowVk0KOXQzUkFMTGk0WUZ6OHpJNXcyVXFScU9QV2RqaXZZSXNnRXJqVjVVbnJQQUFCTzR4V3hyQ2hWU2hlRGtzQmhBTnQ4ZWxIUXNneDBDOQptYzArZ0lRK09xQWZEU0RIUUQ1OXZqYUFZdjFNekI5S0F1Z2doQWUrdU9WNU1IT0lBUVJoRWxrQW1hNmdaOExqcUovdzVQekc5Yjd2CkhnYmlUSTlPUFpNL05xMXdmSEwyMERQQklidmZUeHlybnpPekN1Y0JRTE1LbDJhRjE3amZtVHQrYU9LZHp2a2krbEFmTkZkMzd2TTQKT2dPSXFqNjNwUUtFZXhVaWdCNHNqbDVId2RDaFhkd1Z4QVphV240WFR6WXR2U3NkUXFBZkJ0RHk4anQyTFF3TnRLVDRKbnpKb3NJRApDQlY3WHFGaGVHNEdjZ0NFdFIvUkQwMjJXLzJNcmdjSUFEUXZ1RDR2dUFvQkF3R0FabVhPenV5MkZhQjJBQklESmVrVHQvNndmZ0E5ClVnRXk1MkRRVVJqbDBtN2QrcVAwZ3dBQzdrQlNBRlRqdGg3c2EyWUFRZG9CU1BSRDgxYm5zQWJUY3dWRWdzVWVpck1FTnRCL0JRSUcKc3JrR0QwTU1qd1p1REF6ZUhKejRjcHplZTROOWR5YjIzK1ZNR3JqRHNRQWlBL1hmSUFQaEY0NEdRTEYrWWdCZFkvMEFmVGlEclJzcQoxeVFBSURMUWVUWVFKdFpQQWtEY1ROTmJRd1A1QU1wUFBKbGJkMmZDcFM5KzViMy81WmZmL3pmZE4zOVEyUG93bW5YUmRjOG9BQ1FHCkV2MFFnSENzTFA0SVBud0Vvelk1VEFKb0dBekV1MGlUZm1qeHEyUjJwaFlBaVlFc3RneXo2TmRoaklHS08zd0FpWUYrbmdEeW02QVoKUU1YZ1JValF2YkVLLzk5T0JyK3FHV3lHZndQYUFTanFXcHNhSDBDa256RURLSmlRWWlESUV3U1EvMHRET3Z6QmZkSjhvWXNWbXljRApvS1J2UkQ4TEdFQStnNUtqN0NwdHB1SFM2TVBiL05nZERpMkFDdU9YUTBZRElIM2ZwMDhxZ0lSQmlXME1XVHpqMTBINFpYbjhXZ1VnCjQ1VXhwVE9BNkRzUlFLUWNCMERPcVJmeFJzOEdRTjFiUmcrZzJFQ1p6WDNaTGYyNXJmQVRJaThkeC94Y0FIUUl3Z2VRQ1lEZ0R0Q0gKQXdDeVFRTnhRV2dTbm9ZaEFEb3NBSHI1NEcvTnFWeWUySFYwU25CaVV1Ync5T2pFMC9tRFV3dEh2SlV2dkFiOXpCUUFoVmZ3L0N5YQplQWY2VUxzUEF3aXU3d3lGdHhsRzdRQUUrcGtiWVNtSUFRUk1ZUUF0clR5a3ZFa0FRZ05SM2xrU3ZRdGhCcG11NTlLanBjVzNjUWErCjlORXkzRUlhbnNFdEVPRjdJRWtBM2JjQXVrb0Fvcm4zQUJ1ZkNUMjR3MkdzSHdzZ3RrNDdBSkYrcnM4UHIwSG1CWmRqQUNXYm9PUE4KRDJXL0h4eUpwN1pvMWsrcWdhajJzNFh5RXRkKytJeFNIZG11a0hKTVY0QjBLVWhWaktTNVIvcUJzQ1VJdTM5bzFwMVA0MnJXTDhTSApWelJ3ZXJ5dmRYT2c5M1p2Nzh0Mk1Rc3JPbGpkb1oxK0pMUXVabnFpSVJveGcvM1hKdzdjbk5qL0N2aW1mK0QrNE1SWEowMTZNSGt5Ci9od2N2RGV4L3paRUFTaVJTZjAzSi9iZEFOT1lyaDI3N09VVW5HUUZqYXBLN3BmZ3J3QUR3YnM5Ti9wYjEzV29DQ1RMWVpjNGRKM0EKVUtzMnpFZWlWaXY3QjhwSHBoU1AxbkhIZ1lPOW1mMzE4cEYvZHZ6ZGNiL3grK04rL0VmZi9wMmYvdUlmL0tkZit1T2ZmZWRQZnZadAp5ai81NHQvLzh2UDN5dVVqamVoUXZYR29yM0dvUDd1ajJ0dzdKVHBRenU4czlSeC9hdTg3LytqVDMvajJ2LzNEWC9qQmo1ODYvNFBNCm5OTURoZjJENGY1Sy9XQ3hkaEQrRDkwczdLK1dEdFFLZTRoQit4Sm1LdTFITTFGNnlvZmxHbmxFa0dKTGFVZzFTM3VxNFU2QUZDaW4KVnRqVlZ6dk1EeVNXMWFJRGNjeG5kMk1yZE53Y0hldEhyNEpwQUpYeUcrVjRDc2hZb1ZQTlk5dVFuMUptSTBlK3gzeG5mcU9xQ2NXYgpIK3B0b0JQN1FXZlhRbmg3UTRhT1UvVnhscjEwRTNTaUlWbzlFd3NKL2czMmJvN3dQWjVhT2tkRElZa0cwelU4K2tiak1jWGR0a2VPCjFCaS9NRFhKNWJBNC9tS1dYZUZha2xqYk1vaFpheG02U3Y4ZkMxTEpQQ3VhY1F3RTBiMUJta3A4elF0YmVzNUxMM0tabFMrdlltU2kKbHNZU2NFa3NpbGtNVVNyMmtJb2thTktYeWZob1ZkcGNVU2J3OGZkV0o2eWhQQXVwQVlDNjF0VzdOalM2bjRmQWhZVHYwTnk3anRQdQpreExySVZNb29qWWdiUDN4aTBCY0FlckxiSmZBLzh1V0dqT21Ua20raGQ4Z29XVzFuU3E3QnZONHRoZjhOSWs3Z2FqcHh5eCs4V1kvClp1VnJjdjRvVllEMEV0Z0JiQXpLN3VMbWFIaUo2MThobnY4MU9ZYzdPOXRkbm84L2t6LzJUUDRJSmpnMHJ6Yjh2NzcvLzgydG5KK2EKUFRVN3Vqd3RlNEUzZXFhcHNRdlRna3ZUQTNQays3d1N4V3d0aUxzdFM3dXhKUWpXZ2VRc1VpWVJyNUhaV2hIaWFXSDV0Y1hWaDB0cApIRXc2ZTZpditmN2k0cDJGaFZzTEMvRHpMbVJSNFRYUzBsc0FJSENQRklkc2J4QlE2Ukd1aFdFcDZEV2NpdWZHb09obHdBcHUyeFBnCjdEb2ZaRUhCODd5azc0Y240V1dxYTFidTVGQjRkaWc4UDZQN3pQekM1Ym5CeFpuZHB4WkUxRGVkTzQrbG9QQVNoRHVwWjJiT3RnVVEKRzhqc0NUUUtBUEVkWGdXakhZRDJzSUhLcGYyT2daaEJ2bjQ0RG9CWVA4cEFDUURobUJYdnpwd0dJQnZzY1RZclhQM1hjWThmUFFsUAordW5yeHpvUTBlVHFRTjgxQUJCNGlOZTVCZ1lmTUlBZ0V5ZmVIeEZBb0I4QzBMWCtsdWxjNXFvUDZJZnBZMnBPb3dPUU5oQmNRQVo3CmNDRXNDYUFMc2lnbUFPcXBuMklBOWRlTzlaWU9SZlZEaGRyQnZ1S1IydlNMMy9uZ1gvL1AvL1ozeHYzNGo3LzFtMzhLQVByMjcvM0YKdC8vZ0w3LzFoMy81clQvNlQ1RHYvdjVmL2ZPLy9tOFRQdnAzcFltbmVuSjdLNFdkMmI3OVU0Tzl1ZWJlZlAvUi9MMS8rY3UvOWROdgovOGxmai90Ly90OWYrc25malArRHYva1h2L3ZUOGZkLzJOdDdzcFhmRnpZUE5mSzcrNmw0MHc1QVRCYmZRTzBxU2VYOGR0QU10aXVWCjhRNjgyMXM5NUFBb3dhQVlRRFFxSDAvSXB3Q0lFdXZubXdDUS9oSytZejd5dFFIRS82eU9GVUNHTHg1MDJzWC9yUGtHanppUG0zL3cKQU9MN1BvRDAvNWtraVZxTzlZMWVEcE03N1FERUJuSWFmV0xmK1BUaDMrZzFSSnVvMDdnMGcyaUJ6T3pSckEwa0RVTVMva2dhZ05aMQpCcEEyMEpNQ0VEVkJJNENjOVMrVmRnRGFwZ0NFbWxIUnlzRmVJbTRuSWdNbEFHUTZvTk1BRk9zbmo1MDlZaUJkKzdGTFlQc0pRTFFsCk5JMkdQUjBjWVFCQjRqTXV5RUJUZ3FOc29NSHhPeGUxTGs3TG54Z3FYWHE2NjlSUThUcm9aNmgwZFViRU0vQ1haNFUzR0VCemk5VCsKVE9oeGtnb2dmcWxiaFhqNURBQzBxRUtzRVFNWkFEMGdBR0VXQVo0S0QyaW5uOWRwejhNM2wwVElJSGlZVzRKNFhXd1o3Z2VOdXdGeApOWWhtNCs4SmdIZ1Rad1VnTkZDaXpLTU14QWRmZ0d6bTVDL095VjdnMWE3cEUwN0NIUkNQYllqR1FoSGNBU1NOYTNma0JYdG9yQURpClZUQnRJQlVyb2RJaGpFY2ZBWkRWRHkrQkdmcG9BUEZleithb2RydFBZQ3FBZW5wdVVxN0xsajltazhPa2dRQkFYSnNCL2RoY040MCsKRTErZE9PazFMdjhBZ0FZRzdvNEdRSU85MTlsQWNZUStwQi9wSmVvQUlHMGdDYTZDVVROUU93Q3hmdmhrZUFCUVZEMHdVRC9lMnhvdQp0bzVWRnQvODV6Lzg4YmgvLzF2ai92aVB2djJiZi9idC8vaVQ3L3oyVDhGQTM0TDgzcCt6Z1g3aHIvOTIzQi8rOU50LysxOS8rWC83CnZYRG0yVXJ6Q0hpaTFEclExNzJyYTltVmYvcHZmdnNmL2VlLys5WlAvc3QzL3ZKdi84bWYvTi8vOUdmL2RkeGYvdWR2L2ZuUC90bnYKL0RUYy9tWXR1eHRQdWdpeE1ka3VoRkVUdEFJUU0wVWJpT1AwRXZISEpaVmdGenpRVXprSXJtSUF4WEtpQWxMTUlBV2daQkZJaHNJdwo2aWlNRlAxRTJLVDhaQUFrNG9HTFdyQUZZdTQ4Q1FBNUdRMWNZc0Y0MWttTi8wSHpjZGN4ajUxdkZrQitOdy9IcDg5b0FDUUdVajNPCjZRRFM2TkhSeTFnYUplS2VEZ0JLUUtjTmdCTGYzK1ozSlNvM3lXSlB2RE9oV1phU2w0bkRLM3d6T2EwOGNyL1d0WmFDOUVIOWRLL1gKQUdJRHRkSFA0d01JbDdRVWROckZBOUFZREtRQk5JakRYNDhKSU9yK2tXMFBzUU9hQWNRbmdnbUE1QkI0cFI4R2tNbU13dEhCOFh2bgpsTTdQTFYrZGdac2RYNWtaWHB5V096Y2p3bE15N0dFWGVOcVhHZjVTbytZSkExRVBzdEJIQUNRcW91djdDNk1ITkF6L21nZWdOd2hBCjl4WkZkeW4zbEd6ZTRBQ0Q4Q1BsdDVkWGNCNStSZlVkQ0tDSGdydEM4K1pBQzhKWDVnWFhZd0FsRHZOSzlQM3dPaGZqWmlqRVlmanAKWFdlV1ZHL05tSEJoZHViaWdzTFZtVjFuZ1R0c0lNa0lBT0t1b0hnb2JGUUFTblFGbWNOUU1YczRZQ0NKYlF4cW14RUJSRnN3bnpOVAo2QjZBK3ZyQVFMZVlRYlFXWnJxYjQ0MmVMWUNvVmNnQXlQVHhVTFVHZERKcDRBN29aOUxrMTJYOWF4UUFFcmlnZ1NqVTVjUDBNYTdDCjhQZDBCcEJta0FtMUJJR0JlQzZNQWNSellUNkFNSTBUcGVyaGV2Vm9jZEgxWC95MS8vTTcvKzUzeC8ySDN4LzNHNy83clIvL3lTLzgKWDMvNnJkLzgwMi85eHo4Yjk5cy9ZUUI5KzQvLzZoLy82Vi9qaXRoUGZqYnV2LzN0dUQvN2k4ckM2ODBjN21Jd1ZCbituOTc2bCtOKworNC9HL2RuUGZ1Rm5mL2RMUC9tYmYveVhmemZ1ei85NjNGLzk3YmcvL3F0eGYvRmZmdW4zZjVxOTl2M0N3SkhNaEUyVDZvZEVQNDZCCjlFdFo5dkk3cVlVK1BkVWoxY0srY3JDbkZ1MkhhKzRIcWljQnBCbmtySUxwa2ZoVUFJbCt2amtBU1o0SWdEQnhvMDljWmhncmdCQXgKSG5mOCtKOHluM1VkODlqNUh3cEFyQTBBa0p4SjRnQ29YVlhHVDZxSFJvd1BLVDhqQXFpZU1SMDVyQmt4RUxWUjYrSDV1SGVITzN2VQpWTmRvQVNUeDlKTUNJTDBIZFBJdG1oUXpNL0RZMDZOeDQ5T25QWUJHYXlCZVUwdmUzTldmeFo4ZEFNUmRRYnJaR1FBMEtYZUVpSFBFCjN0d3ZIZERTQTRRQW9pUUJwQ1NVT3p5dmVuNW00Y3pUWGNOenkzakkxMURwNnV6b01nREk3SHhZdkRPdnhDVWNuRy9uTTdaOEE4VnoKV0drTW9rMkFVRDhNSUJxR3h3MkIyRUNFSVFIUVBVQU14Z0pvVWVHMWhlR3Jpd29QTllOWVFoRDRGSStWVVhBOGZrRjRlMTcrSnAvMApiazd5b2syYytTQUwxZkZ6QVlzOStZdER3U1hhS09qU3pNeTVaZlU3VjdmOCtPQ2lYMTlTdmowbmUybEI0YnAyajg3SUFKTERNVVlDCmtPaUg3OWh4TU40UDJtRElTS2hVM09lTGg1TmFBWEtXd0FSQXZUMDQ4NFhoblFteEdoUURpUGZ5NGMyZGFYOW5CaEJpaU5mRm1FSGMKSzIzWHA4eStQbkE5c2YrVnlZTjNOWUJHVlFIcXBmZ01TdE5QQndCTjZvdGp2cFBUOHdvWWFLQjVQUlZBM0FxdEFUU2plREpzSEp1dwovT1l2ZnZHL2ovdFgvK0U3di9IL3MzY2YwRldWV2YvNEQ4MHlWUVNTM0g1djZzM3ROeFZDUW9DRXBpZ29TTys5SmtCNlFvRFFBNFNtCllFRWRuZEZSeDBxVkVub1hrSzZJT3UyZGFrR2F5c3c3TS83M2Z2WTV6M251T2ZlR2dQaGI3Ky8vZTlmNnJxeWJrNXVpNzd2R3o5clAKZnZZK2V1K1d3ODIzSDJsU2Y2enB6dVBJb0gwbm13S0FEcDV1ZHZSYzgvZk9TOGZPU21jL0FnazFQWHRCdXZqSlhhYy9kRDYyTXNWYwowTHBMdGJUMWdIVGlwSFQ4d3hZWC90RGsxTVVXRjM0bm5mdEkrdkNQUDMzL2QvZnZCUU45S0owNUh6UHZaVnV3TU5ZOFNtaFAxa1IzCktFWTlQZGd1cmQ0ZDQ5ZTdMRkdqNHl6amcrNFNoMm1zd3pTYURSQWFseHczVWE0YmhXUFFMUnBJYllnV1p4N2VRUUR4TjNBQTRjKzgKTFFESkJwSzVjeWNCcFA5cXc5RTU1clp6WndDa0owN0QwZE9uWVFCWlduVVQwQ01ISHJKcGgxb0FPYUxrUmg4Wk9rSWxKaEtBTkJXZApTSlJwK0t1TmpBaWdCa0VqVDJUbURPS1ZIb0ZIUEFRZ2ZMUHlveEJBaWRHOTlRQkNBOFgwZ2VDbkxQRGFhZWlMK1g0QW9nbEFicU1vCkd3MkF0RjFCRk95VkRubWlNSWh2cmdobGtQSm1jdEx0QTRndWdvRitRRG5VRmNTYWZ2QWFQQzhMS1FiQ09wQTg5bEJJaGdVM1kyUVkKQ3pLTWhWbVdzbmJtaXJZSWhabnBNU1c0NmQxYWxXT2JuZXRZME1rdVgzcW44cy8zQVJDNFJ3QVFsbTJJTWpLQVdQMUdvQThtMzdvMAp6N0tFQVFqdmZQSHdOeENBRkU3aDlmak9sa1VkVGZNSk4zeDREN3FISFhoMU1GVmdqSlVzTTNOTjFSM05zenBaYWpMYkZPWEgxbVFiCnFyc25MRzNYdXFwOUZEeWZBMitnZSsrVTlqR2xFSG9kRVVEaUVSZ0hVS1NMWUhvQTBVUHFpUllaWkxlTnB0QndJREVjUUdHYm9EVUEKd3VVU3lXVWlnREJzdEkvWE5ROEF4T2lETTUzOS9scS9IeGtVT3VsSE5wRGNHT1JGbmZDcjdCeEFxWUZhRGlCSW8zcUFHRk5rdTNqbgo4MTVtNnZoUkFNUnFQSTBEVUlwM0VVVEZVUEpDWmlDOEp5K09CZUlBSXYyd3pJQ0FYU3dwSlMzV2JXenl6bDVwNDE1cHl3RnA1MUhwCjNRTk5kcndIQmlJQXlVVWdkaEFtbmZoQU9uTDI3ck9mdER6K2NiTVRIMG9YUG0xKzRaT1cvWmRLQzErOGI4Tmg2ZlNGNW1jL3ZmL1UKNzM5MDZ0T2ZudjcwN2c4K3VmL0lwOUt4ajZUZi90ZlBUM3pjL09RSDB2RlQ5ODk0SnNFMk1mU091aHc5Z0hpOVIrTWsvaTJ1dU9tZAoyOWNPNnZOQ2lxY1VKSVIzOVZrUktKSis1TWcvR1g4T0dZalBqSTR6RDZmRW1vWmhoSVpva1VGM0hFRDhQWEdzRC9xMkFZUmh0UVF5CjBQY0JFRHJtRnQrdmZxUFdNYmVkSHhaQU5KRTVUSFQwK1Q4TUlINHNSZCtvMGM5TmlTTjJDelg4VUJNSEg0b29UR1RXTTBqZXVLNEMKaUplQ09IVFV5MXlKREN2eWNxNm9rTzVtQUJETG94b0FjZnFJQmtJRzNReEE3T2MvcGdkUXNtRVFBWWh1YVlGRndxWWhBSVV6a0xxNQpJdFJBR2ljeENkM2tDSXpmaWhmYWZSQkFiTXlQRENEV0RJUUE0dWdKQmRDVUVBQUpWOS9URFFXcDBRVlpsb29PamxrWk1lWFp0cG1nCm4yeGJGYTc5c3M4Ri9YUjJMSUhnaXdnQW9rOEJPaUtBMUZab0t6dlBDcFVOV29kOXBDSVFoYS8zQ2dlZ0phSis2SW44bkg0NC9qUTAKRUs1SHRTd0JBOG1idnhpRCtGRVhubllwQUtMcFBuakR5endQMHNGYzJjazJLNk4xU1NmcjNBNkdPZGt4TTdOaktzRkdBQ0RSUUR3UgptNkRwVTc3NEFnMmtYSVlQQ3lDS0FDQjhnODAyV0FhUWxrSHFqakI1VFJoYjZRWGhNR0lHVWdkR2l3QmlEVUFJSUk5YlhzSUYrdkc0CjZhYlZMQUtRejR2VkdtRzFSY2ljUTdibks2UTVtZ09JblgvaHBiQ2did0ZlZDFkNmdIZ1JTSGNOWGdPZ1JSQ0NDeGxJN3VOUkFTUVQKaDJWeHd3QWkvZkRnUTljaU1KQU1JQ3dDVlRZTUlJK3Q4TjR4cTVvc2ZWWGF2Rjk2WjUvMHptNXB4NkhtdTA1STI0ODJyVC9XYkJjZQpoSWtHYXJyL3pNK09mM0xYNFErYUhQdXd4WW1MMGtlL2IzYjBuUFR4YjZXRHgzOWNmMXc2KzdIMDBXL3ZPZlc3cHVkL0s1MzVxUG41Cml6OTYvNU9tSC81T09ucGVRdjJjbGo2NGVOK0I4NGJldGNRWGNWeGhLSVBvaG54STFVZXZINGpOT0NuVlA3TjcvaXBuL0xRNDI4UjQKeHdTMjJVTnVJUXBEbnhBRGhRR1F4a0Q2aS9IeTlmZzdCeUJDai9qNmV3SklQL2pudGdHRWxMbkY5OHZmcFhYTWJlZi9HZ0JwREVSUAoyRS9ENXpJdlFnRWswaWRNZEFkWWpRY1ExNHp1L2VxVis5Q283K2Y2Q1FzZ2VzS3ZxWWVXZVdRQWNmZndzQ3ZyV2dQaDJWWU1Gb0VpCkFTaWtNa1Ixb0RzQklJOUo2NTdHQWtobklCbEFPZ1BKM3lXY3BuMS9BTkVUVnZ1WlNBLzU4eUM3SUpabW1jeHVmc2tHb2tIUE5PdTUKcmJrb3gxNEpBTUsrSDFNVmZHeHZyV3ByS3N1MnpzSHI2NDdhdk5pbGFDRGJJazRmRVVDeWZ0aVFReklRNllkM1Erc0J4TnlEWjFXYQpJaEFCaURNb3BPUmp3Nk14VGVpbUdGMFpZelVoYXBmR2J3Y0RLU01RdFFaUzlGUEZSdnZJK3Vsa1hwQmpMdXRvbmNtS1JsVWRqTFB5CmJEV2RMTlhaTWFnZkRxQ1FDbEFrQUxIeXoyTkFINnNORjZEZUlvRGtOekFBRFF0cklKdDlORVEwRUFlUVlDRDVibndEQUdKOVAxV28KSHdZZ2RzTWNTTEhJNzFzS0JoSldXNmdqbmdVR0NjTVAyVUJuUlQ5emd2NTVBQ0NzMFBpWEVvQlNVL0Zqb3dHMG1KTkZMZ0twQnVJQQp3c0ZDRFFDSWZrS3FiekZGL29HdVdoMkFGUDJ3dFJnYUFObGRNNkltUE5YaWxYcnBwVzNTYTd2dTNYU2t4VnY3NzNybnNMVHRTSk1kCjc5RXBHSFVDTlFQOUhEclQ5TkM1Wm50UE56OTRUanIzaVhUbVEzalI2dXdmbTUzNTVPZW5Qd2JpTkgvL1lyTVAvdEQwL08rYm5QdFUKK3VqamUwOWVrTTVmYUhyK2s2YnZmOWo4MUVmU21Zc2dvZnYybnBmcWozSDkwTkl1dllSRUEya1lKQUlvM2xZWVp5MUlUcGhoTTQxMwpKVTRqQUNYR1RZaXNuOGxpRVlnREtGSVJLT3gweERzSUlEcno0cThoM3hOQURtUHZXSU02QVBwV0FXU1A3cWwvZUJ2Uk9lWW1DWjN5CkxNNE4rdjhuZ0xUV1VSSXk3MGVIbm5DZ1VTTU9UcVQzNkx1aGRlNEpBeUJ4Wms4RS9haHplalFHNHR2WFE5ZXdNMzhJQmxLYmV4UUEKRVhjNGdEaDlHZzhncnA5d0J0SUN5Qk16QWlMU2gzUnljd0FaQm92UE9XSXdYRFo0M1IzN29EVUFZcy9EQTBqVmoza2lOdzBUajN3RQpKbGlIVHNHbzZVY0UwRVFGUUt3VFNDNy8wTnF2OGh4SGViQjFRUWRIZFVaTWVhNmpCcnQvekJYd0tlM3dJZ0RsMjJVQWFjby9xbjVzCkM0ZzdIRUNzNHljOGdFQS8zV05YQ0dVYjBnL1paVGw5REFHUUxCNXNqdTVpcitXaEo1MHRDenRiRnJFUzBRcitRK0M3YUFsR3d3RHEKWktraC9VQTZXRXF6RE1Wc2JsQzFjalEyRTk2c09mL2lBUUE5d2lMcmgxOTlONXNmdFZqNldNeVBXY3o5ckpiK0Z0QVB4RFNJUmlPSwpESUxYOE1ScUhneUI5OFE2aHBwTi9SMzJJZkJkRHZzZ20zVUFDN3dZWkFjUFFheERLUTdiTUlkdFJLeDlwQnpiS0lkMVpKeDlMQS84CjF3NG55c1JPeEVXZThrUkVuQVlVbnpndElXbEdFaTc4cWtwMlZVS2NyakpJc3FmSzVaM2w5czcxK0hDQ013MHdoSTk0SXVhU24zRDYKOEhIUFhoOTJBaWs3NFdrTXROdzJCRW54TGFPa0JwWlNzRE5hT2NBUzFVS2pvdm1YQXQ3NXJJYkU0cDhYMHNjakhKUFJENEZ2OUxybQpzZHFWN0tHZ2R5N0xmRWlLYjRGUUI2cUY3L0s3NXJNYllUVSs1eXhQVXBVcm9VTGYvZU5rMStBVGtxZTFudkNFOVBScjBndnYzUDFxCnZiU0o2a0JIcFBwRDB1NmowcDVqMHU3M01QdU9Td2ZmbHc2Y2tBNmRrdzZkYlhiNC9OMkh6MEh1T1hMMnJtUG43anArdnNXNVQ1cWYKL2ZpdU01aTd6MTVzY2U1aXMzTWZRYVF6SDBpbno4czVkVjQ2ZGtZNmRMTEovaE10Umk1eG1jZW5HY2ZFV29ZN0xjT1RIT2dQK0wreQppQnN4eWJZeHVKZkRPcG9uaVhaMGhHd05tNklQYlYwVjlvdkpDelJ3ZDVpUUpPdElsdUdKbG1FSjVxSHhwaUZna1VRTGZCektBdzk1CjlNU1I0U0lrSHR5alN3SkF4emdrMFRRMHlUek1pZi9zbzVMTUl4Tk53eUVKeG1Id0pmb3F2VG5PMEU4SmJnZURxT3UrUXhObmZBUTMKeHV2U21FR0lqWUZSQ0c3RWI5RlJwdUZFR213b1FxY3g2QkV2bkRjeXpDVmRiMHFjaG1OdTFSbGZoR2dKb2FQL2RmUWJsZGZDRFhieQpqWTR2RkpvS3lQS0FuS2p1RUs0VE1jQ2F1SmkrOE50akRkMGQwUTlhV3oxb3ZyOWJ2T2tCK0F2NXQ4ZGhUNCtRNkI2aFh3THVQSlFRCjg3QTRGNUhmVktkcFBYRXh2ZUZGdktFUGR3OGVhVVVQVG9vYWxBVEVBVzJnVGdBeEQwUFUxZXZxa2dxUlBzTDVsM3kyaGZyQjR5MloKUklTWS9pSEhaRXJ3MjhXV0lNWWcrc2JrcUg1aDQ0eDZOSmw5MVJVOTBCME5JcEZyTm43VEtPVnkxc2pRVGlBZGZkZ1RkOHdnT2VyMgpETHpleFRVVE1JK0JxQUNDWHhRdUpDMzUvZWllY1g2Mi9UUm9HVXRQMEVQc2VoZUZTanVhd01OVTQyUUlXQ2ZWT0pWQ2haOFVVSkZGCjNndkdGcDJXUTNETnU2MnlyYlVpeTFKR1l3K3o0RC81NXRtNXR2bGQ3S3N3T0srNWp2WHVzQ010bXp5aEJ3THM2R1JlQ0VGL3dLZm0KV2xCSXhPS04vQ25POWVHM3VnZzZnbzN3UzZ3VkdwOWdqVWM0NmhLYmltam1JU1hmdkF3REFNSXN6cmNzb3VDZVZOWU4zY0U0SzhlQQpkOW83bU1vdzdQQUxuZ042R0o0V29vRXNOUjJOMVpCT3BsbWRMZFdVanFiS0RvWnlXbi9CaWtBbGtQWXhNeUJaTVlVTkFnajFRK2tuCkE4ZzhvQUVBQVhvSVFQQUNZalE4WnJjTmpBUWdwaDh0Z0NCeDl0RUNnTVlSZ05CQThiZ0JubzlEUkFBbGx3S0EzQ0tBWEpXTkJCRGYKZDRFdmZEWFlCQjJxSDc5L0VVdHRPQURKYlVCaEdTUStWd0hrVTdxQ05CM05idm45bW0vSEloT2pqeDVBcWI3RkhFQzBINE5hb1NNQgp5Qk5mZU0rUXhkS2lGNlhuM3BSZTJQU2psK3FsRFFkYXZIMUVldmVBdE8yUXRQMHdwdjZJdE9zOXhOQ2VZODMzSEcreDkwU0wvU2ViCkh6clY5TWhwNmZoWlpNM1pENld6djVWei90TW01ejV0ZXVhVHBxYy9ibmJ5SW8xUGJITGlnNmJIV1k2ZGIzcmtiSk9EcDF2WHZXR0oKSGVkdU15dzVkaXo4Sjk5aEhvSWpEVzIzQWFCeG9WdkRhRkZHaUg0RUFNa3pvelVBd3VlaEFHTFJBaWlVUWZKeGxUWU42aWNDZ0VabwpBQVFKMWMvTkFSU0pQbm9Ba1lIMHJHbDgvbDhHa0J3QlFMemtRNytGQ2lxNjMvNDlBTVFNeE4rZ01SRDhjQUNLclhWUDQzMmRrKzI5CkhORTlUQzN6RXN3OUhLMVY2SVJoa0RJWW1oZDdSUFFvUTNwQ1BNUlhrQ2JKRGNVNFRRY1poQVlpemZST2lubEVEeUNLY3ZnbGR2K2cKWXpob1FnSDBXRUtiUGhDOWdSUTJpZC9TRUlCUVB5cUFoaUNBaktNSVFMdzl1VEVBNHVkZm9mcTVNd0NDSUlDVVQ3OFBnRkEvNFFDRQorOTdONVJ4QTdVMHpPMWhyT2prV0NnQmFRUUFTS3pwMEFnWDBJZjBRY2VoNGkwSVNRZ3dKQUtKcFBhU2ZmT3NLOEJBK0RBV1FxaC80ClhRS0F4R08xRUFDcDlGSDBZMTJRWjVuZjJUSWZaTlBSUENmWE5MdURjYWJjOVd5cWtGdC9HZ1dncWtnQWFtK1lGaGxBcHI2aEFJSW4KajBFNGdQaWxNQUtReVFodjZBOGZ3VUNHbUw0QUhaQ1ExWEp6QUZGQ0FSUmlJQUpRUWx4Qll2elVoSVRKaVlsVDVMTXdaNGt6dVlMdQpmNmtBY2xjckFGS1BscWcyUTArVUxhZXM5a1BvOGRWZ0ZQMG85RUg5UUZMOWRUeHBRV1JRaW44SkdJanZ4QkFMUWl6YXBSa0tnQmFMCm9aTXlQQ3dUZmc0a3hiOVlEcUNIUjJpQ2xnSGtub3VqRVJVQVlSS0xJWjZFSW9nN2ZqcUVscXU3NHdydTYxUWhsVHd1cmY2MTlQaHIKTGRadHZQZTF2ZExiKzV0dE9nUnB1dVZ3czYxSG0rODQxbXpuOGVhN1RqVGJkVUxhYzFUYTl4NWVkejl3WERwNFFqcDRxdW1oTTgyUApuTHZuK0lXN1RuN1U0dlRGNXVjL2dkeDE1dU43VG4vODQ1TWYzM1BxMDN2ZS8vanVZeC9kZmVURHV3NS8wUFRRT2VuZ0dlbkE2Wjl1CjNIOS9ZRXA4OUZCdi9IalFnTVV5T0NsMlRCSXVLOVhTaHlMU0o0UkJyR21hanJxVW9VRlRLY21PS2ZLZEwyVUVvcWEzV296VE5ncC8KTzlNUGZHUXY4RUJLZWExbmtOcXlvd2RRV1Bmb0FjUXlRZ0NRckI4SXAwKzhzVDl1aGpjOFJ0RzVKd3lBUlBwb0xsb0xKMkphMWpRKwovd3NnUVQ5NHkxMDBrT1pvU2ZudGluNDRnQ0pFQUZDSWdUUk9Vb3RBaG54enk0ZHNyUjZ4dE81a2k4cXp0d0d2OURYY2x4UDZjOVNvCjE3dlk1aS8xRXJ1aEQwUVBJRGE2RU85d29YN3dNRXRlcU80MmpuUVpSakFHRFZGOFE1ZlZpVHZJb05CbzI1L0ZlMTZSQUJUR1FBcUEKTU1LRmVhMTdJZ0pvdUhMYUZhSWZBVUJoQmtDemh5cUo2QnRGQUpGK1JBUHA2Uk1KUUlTZW9IbThDaUNaUHZ5aSswUk44QWdzQW9EUwpXTmhhakNJNi9NSTVoMWo3UVFBeEExVmtXNnB5TExOeWJmUHpZcGZvQUxTVThLRlFKcVRNdytuVHpiRWMrM3RDdTVqNWV4UUFZZklzCjJLbERUVHcwK0VjV0V0T1BIa0Q4T2VjVVBlY2xueTc0dHkyUTlZUDB3ZTFkeWdvTFl0QXNDRzk4SnYzSUFJS1labEU2bTJjTEFHTDMKeFV3VnpFQ2x0d0VnRER4QkFDa1g0MFA2b3kzOVFEbUFHekFRUUFmY3crZ3p5R29lSEFsQXNmYmhlZ0FwK2xFTnhBQTBuZ0ZvU2tMOApwRVFaUUZQa1RpQlhHZDUrWjlmQkVFRHVjZ0FRM3VyeWhRd1kxQUNJS1FjTjVHVmpnV2ovRitrbkVGZ2NETmJDeDBCZ0NTWFZ2NXlsCkxpMndIQk5jUmdCU3BjS2lJc2FMSlNJbGdteTh0V0pVQTFHOVI2RlBhcUJXanREM0l3T0lxa0hzTmQwc1k2dkJhRE5HWlNRQUpTVVUKMkR6VDdoazR2OFhNWjZRbEwwaHJmL09qRjdaSmIreHM4YzZCcHVzUE5OMTRzT203MkF4RWw4S2E3anplWXZmeDVudU9ZMC8wd1ZOSQptVVBubXg3K3NNV1JpM2NkTzl2ODVIbnAzSWZTaFkra2l4ZWxDeGVsOHg4MU9mK1JkT3BpMC9jL2F2cmVod0NndXc5LzBPTFErU1lICnp3S0FwQjE3VytaWFlCWEhPakxaUHRJUk55TGVOdEpwdVdVQUVXaHdWcEF3TlZFQmtITHBYZENQMWozOHhoa0RFT0dHME1QS1B6S0EKOUF3UyszaEVBT25kRXliaEFUUlUxZzk3ajZnZkFwQk9QT0VCcE5HUEJrQ0NnYlNzYVh6K0YwQ0NmaG9Gb0JDKzZOQVRDaUIxUnpvWgp5TkVheXpsaEwzQUJnT3pSK2FBZmE2dUg0a3o1Y1RHOXpUOFo2ekpOU3pEMW9tOTN0SDZBUndhUU1xV1F1VWZ0M2RGVWdMaUI0dmg5Ckx1em1RZjNJdTdIWTdpckdvT0ZVQ2dxdDk2ajBZZWRaL2ZWMUhSbEF1ckdIRkgwRGtCajVTK3hITlF3Z1Z3eExOSzZGVjA2dnRMNEoKcXg4TmowVDZNUDNJN3JrTkFLa0dVZ0FFRVFERTlVTnRRTGNLb0JrUTBJL2MrOHpvQThGakwyYWc5bVlFVUFkclRaNTljUmRISGR2TQp0Wm9NUkJmWHFRQWpjb2VJSXpjMUN3KzVUaEFvcW41a0FMSENUMTFuY3kwcklBRkI1dFA2QzFrMmFuZXpmS3dtQTBoRWxTSWhocVQ1CmdKNHV0b1dVZk91OHp1WWFTRWZ6VEFWQU5WamdNYzNOTmRaQXFQV0gvVkoyY3NjTlpKckR3Z0RFREJRV1FObUdvcHNBS0p4KytwcE0KajFBZGlHcENZZ3d4andKMG9xTjZXOHdEWE1sanpjYUIwVzM2Z25KdUdVQ09FQWF4VXpBMFVHTGNwUGk0aVFueEU1SVNKeVVsc3A3bwpoT2s0Q3NoWnhnQlVDc0hOR0s1S2F1aGhRNWJGdTFmeUUzNDR4Vlo5NFJPL3R5Ymd3OTVrVWdpZGM0RnlNTDVsYVlFVmxQU2dIUFdyCm9aRy9VVGt5dzZoZkJjMHNFNU1DVHZJc1ljR0NFS2tvMWJkRUh4bEEvRVNNZFZXenh1bzVBZmRzdjJzV1hRU0xCS0RraE1MWXhLbXgKYWNVdGhzK1hxaCtYRnYxQ1d2ZVc5T3V0VFg2elczcGpEL1lEYlQ0b2JUMHNiVDhpWjhmeEp2VW5wTjN2UzN0T1MzdlBOTmwzcnZuQgpEKzg2ZUtISjBRK2FuTGpRQkxoejVyZk56djZ1eGFuZnRUang2ZDN2ZllLTno2Yy9rdDYvQUFacWZ1U0RaZ2ZPTnRsN1N0cDFRdHF4CngvRHdYS2RqYkx4cG1EdDJkRUlTTmdNbG0wZHFmWE96c0Y1cDJVQXVZZndQZlVRQWhWaEhuYjZvMHVmT0FzZ3dtQ0tXY3poclJBQ1IKZ2FqMlE1L1MyMGhPQ29Cay9jUVorK2pFRTVLRzBhT1AyQndkR2kxMzlQay9DYUJJMGZ2bXB2bUJBU1R2NnRJeGhTUWtxRVhYK0N4RwpuVUFZV2djSzk1TVJRUEE4d2RqUDFxYWJQYVpUa21GTWZ1Qlh3eDdjbEdnYzBBZ0FjZjBRY2VSU0VFOGk2QVFISHNxM3V2QmdpMDFTCnBpbUMvT29UdXprMTNCMDlqRmFOM2lxQVJQMXdBT0hiN2lDQVVEOE1RREdESXA1d3FZM1BjamUwR1BZd2hENFlvZkU1RElCQVMrRVMKQ1VCSzZCYVlySjhVRXlwSHNRNXV0T0NmUmdKUXVxVUVvdWluakoxNVZVS3liVlg0QWpkblZXYWJxenRaNTdOUlBjdHBPeW5WZ2VCVApYZ1NpUG1VYXVzT0dMK1ByN3JIWWZjd2YwdWhDTnJ3SHJhTzAvc2lWSVNJUmF5RmFRTWRQbmExenVZSEVIaU5SVWZTN1FnSEVyb0JaCjVrTEFQVXcvV0FIcWJBWUQ0VFlNWHY0UmIzdUJqZkJiekF1VlU3UEY4Sm9WalpCTllDQUNFRWpvVGdESTBzZHNmaFQwd3dHa1o1RFYKUXNGMmFhd0RXWWE0a3llWmpSRXJRQkdQd0J3WVhnMktkNHhSQVFRWWlodWZtQUFCQ1dGYmRMS3oySldFQnVJQXdtbEFqUUFRMXcvRwpRNXUvRUVCY1AxampBYW40NjlLREt4VUFyY3hJV1FrQVNnc3NKOXp3cnFDUUtCVWpPY3J6Tkg4ZEpEMndIRUt2RlFhRkhJMEpFdUphCllnYnlMUkM3Z21qaFJoRCtjZ1lnZDJLNUw2RVk0bzB2Z25qaXAwUGNlUDQxTFNtcDBPOG9jTVpPdXEvRGpLYkQ1a2t6VmtnTG4ydjYKek50TlhueTMyYXYxVGQvZUkyM2FKNzI3WDlwK0NMUDFZTk50OG9sWXM5M1lFaVR0UHk0ZE9pRWRQU0VkKzFBNmRrRjYvK09tSjM5Lwp6K2svLytqMFgzN3kvbDkvZk9JdjBza1BwZmMva0U2Y2w0NmRrNDZlYlhvQTlITmMybjcwcmcxN2JIblZ5Yll4Y2RZUnlmYVI4Zkc0Cm1NSnB1V1VBVVcrUXl6N2U3WmlnWkJMRUV6c1pQc0x6Wk5zNEpmQzJzZnhUK0pMNDFkcytBdE1ZU09zZXhUcVJBWVF2eFBjb0FKTFAKdkJxakh3MkE5TnpSUitlZS93WFFyVVRWand5Z2tDNmZ5QURDY3l2Wk9yM0RocHB5RkFiMTVBelMwNGRpdWI4blhxbzNkSWM0alJPSApQMWcvZDlvSGJ1c1lSaWdzSmpsYTk2VElhMHBEWmpxckZTQngwRFBYRHd0TytxRU9IdGI2dzF1QVpSbHdBREVERGRVRFNHR1E3bUNMClVVYTVGQ2Fmb0lYNHBrRURZWVRxa2FJY2Jkd3hBeURLYSt4aUZydDU5T0hva1IwVEtxRVErckNvRDRYZ20zWDBrU1ArS1BuK2wwb2YKOFJvOHRmc3cyZURGTGpGTVBPRUJsR0V1ZzFEckQraEhhZm9wejdGV1FiSXRZS0RLWFBPY3pyWkZ5QjNieW02eFQvQWlFQU1RR29oUApjQWJ4UUpUNXkvS25QZUpXMDBQbEpoZFNLU3lBOG5CVUQ5WitXSGtHbVVJR1lxWVJJaFNRdXRsV1FMcGFsM2VGSDJLdHhRTXZkdklGCjFnRytVQjFJYm44RzBFQnM4K0JuWXUwSEFJUWRQL002czhZZ0JxYjU3TWdNZm8zY3pJMEFBSUFBU1VSQlZFZ3RkUTR4QTgwbEE3RXcKQUJtcmN3MnNlWWpkSFdzOGdGUURnWDdNNXQ0bVV5K2o4V0VxQlluaEphTG9xRjUyMjBBQVVGU2JSMXpPOGQyNkxFeEtHSGRUQUdtYgpvRUUveXFmY1FBeEFFOWlKMkJnQ1VId2N0a1VyQUNyeEpCT0FTbHpKRmJqT3dsZWpiSGRuVzcyb3hzT2VCRm5ManNnalpVWXpBS2lXCnNJS25WMTZzNVlCMTBvT3JnVDVNUDZ0WXdFUG9HejJBMG9MTElCeE1MSGhxSnZjUCtaYW4rMWRBTWdJcklmQUNua0RvT0N5TWdieDEKR0FGQUxQTklRZ1FnVmdHYTJUQ0FuUEVGbWRiQ2hQZ0pzVW5qamUybTNmM296SHZITHBQbXJwTld2OTdpdVUwdFh0MGh2VkV2dmJNTApHTlJrOC80bUcvZEsyM1pndHU1c3RxMisrZllkelhadWwvWnVrdzVzYTdwblY5TTllNXJ0M1h2WG9jTXRUcHlRenA2V3pwK0MvSFQvCnFYc1BubXArNktSMEJOUDB3SW5tZTQ3ZFZYLzBweXZmc1BzS1BlYlI4YkdqazZ6REUrekFvTkdnRUQxeEtOVHlyS2RQV0FPNTdCTVoKZ3lhUWNoaDA4RDBzS29CaytsakhKbG13L2VnMm1xRDFCZ3FySHd4d1NnZWdrQ2h2b1BKUGhOcFBiejE5UkFEcG9hTVB2VlBubnY4RgowQzFFMEk4S0lCMTl0QUNTMWNJQUpIWVppMEYveElnTXdsWmxFVURhSnVqV1BlTU5mV3l0SHdZSnhVVVBqSThhSFlndGpHMHptRzhuCkZRR2thUUFTVmx0b0swQWNRRWtHOGF3S3F5bGtDTTM1RVFjUWNVYzhEcU1vdDlOWmRZY01GQUZBQ25wb1JZWWFQakpSL3NiUTZwR2UKUGlLQXlFREthMllnSFgxa0FORWRNWkU0d3BpZlVQM2c3T1lRR0lsbTB0TkhBSkFJS1IyQUJQMllDOUtNMHlIeWpuY1dldElBZ0JUOQowTWtYNmljYllxbGtxZXBncnU1b21aZHZYd0xvd2Myak1vQ3dDQ1FDaUhaUTBEWXV0c05MbnVLakJ4QlJTVmxoUWZmYjVmb044ODBDCkJoVFFUeldrczNVT2tJWFZnYlFBb3UvcVpsc2xBb2ozTzFPOVIwYVBlUkVERGJaRnM1K0FSMnhVWkdKMXBqbjRXN0JjdEFEOHhBQzAKbEg0VUZZRkVBNFVGRUROUUVScm9aZ0JpQnBMTFA3MFlnSHJxQVVRR3N0a2VzMW43VTFrSVpHTTJEa3lNSDJ1S2lWZ0JpblFOWHYzVQpQbElvQXFHQjZIVlNQQmFCOERnc2JvckxXWlNjV0VJQThyaEswRU1NUUZqUmFSQkFxbjRZZ05qbXIwVUVJQ3ovZUpjR1BIVCtSUUJDCkEra0JKQnFJOU1NQUpJTkprUkRySEFxZ2RVZy9tY0ZWRURJUWhQbEdOcEF5UUloVmdDSUFLQzJBcjltKzFka2NRSjZrc2tnQVNyVk8KZFNjVUJ1T25lR0xITytQR09ZSlQ3K3BUTFUyb2xlWTkxMnpWYTAyZld5Kzl1RUY2YWFQMCtyYW1iK3lRWHR0cWUzTkg4Tlg2UjE3WQpYZnprM3RYTDk3NjJlTys3Qy9idFhMQnZ6Nkw2K29YYjMxMWMvK2JLUGI5Y2QzRDV5NGVyZm5OZ3lwdjdFdzU4YURwNDdyNURwNXNmClBpRWRPQ3J0UGlodDNTdHQyaTJOV3hackh1T3pqSW1MUXdBbEFvQndBdER0QUloZXUreGpPWGRDTVRTZUZYNjBBQXJSanc1QU43MEcKTDg3dkVSTmVQem9BcVpVaC9qWVZRUDFGQUNtKzRiZmN0ZlNoNktGaloyVWVQWDBhcHBLZU8vcjh2d3dnYTV0OFRDaUFiRUtYRC9ibApLSytaaXNJRFNOOXpRNUVKb2hwSXZxNmxwNCtEcnNFYkhzVEc1NmpCampiOUU4M3cveDc1OGNhSEV3M0Q2TnM1Z09UeUQ5TG5JZllEClEvcWdoWG9QSFh1cEVuSWFIc1c3WGF4Yk9aazVBd3poTVF6VXVNRWRQUVRpaXNKTFlSb0EwVFY0M2dUTkFVVFFZZS9YQXdpM3hPc04KeEJnazYwZHpEWjVESjFKRURNSGZUMzh3NVJZQXBOR1BZUnl2NkdpanB3OUxTSzFJK1drUkFEUVZkM3VaaWlrMDBwQi9HaEZBcHZKTQpjNFVJSU5CUGpnMjNaWEVBZGJMTzd4cTdIRmxqWDlNdGRpMFpDQUZrVzNsVEFQRnFrRmoxWWE5VkFGR0hrT0tiQmF4SU00Y0F4SXRBCklvQzRmckROQ0FHMENnREUxU0wzTzVzV1VFQS9lZVphMUk5NVdSZExIWjJkc1RZalhtZkNYNVJ2blVjQVlwQ2lINFduWUVyM3RCWkEKdWFhcThBQWk5K2lqVjA3REVZN0Q4TFk4TmtGYmhvamg3cEZER0dKUnFrR1lXUHR3RmhWQTFBMk5vNEJpc2ZERE9vRW1zU013YkloTwpUaXhTVXNJd1ZPWnp6d3g0Y2Zrb1p4QS9DQXQ0UStiMHlFZGo3RzA0RERwMWdUKzlOaGlzVFhFdnpuQXZUZmZWcFFSWFpBRlpBa0NaClZhbkIxWm1wVDdSTldaMFJyRXNQNEdCb09jSGxrTlNVRlpDMFZFTFNLckVPSkh0SUx2K3N6Z3crRG1tYjhrUm1jQTNMS3F3R2dhaVUKcmlDbFN4cFB3Y1RETXZvMDNWK2I2bDBVZE04THVQRDh5NWRjNVhXV0E0RDh5VVVCWndrWXlCOWJuR0l2VHJWUFQ0c3RTSXVmN0hPTQpjeVZOY2laUGNTZE1CaTdZNGtaRXBZeUs2anFsU2I5cWFXcXR0R2h0aTZkKzRWNzN5c1RWNzd3OFo5UGhhWnR1REg0RE0rVE5md3g5CjY1L0QzdjdIaUhmK09YSTk1RC9EMS85bjVBYkt2K0hqcUkyVWY0NTc1NHVpTGFjVzdYN3A2UVBUWHoyVXQrbFFxL1hicFpkZmNkc20KT3kwVDQySW4ySkltMk9MSE9kajVsOWNLLzZNdzFPTVk3WXdibTJBZmpYZlU0eWNreDQ3em1FS094Z1ROUkF6elVOaE1aTUh5RDdwSwpkczlJQWhiL05ORXlndEJEblVDYTZOMmpBaWhDTktkZElmcGg5Q0gzTlA3TUs1YXBTRWlJYk1TaWpsNDUrRTdkNFF1Ri84ZGJFMzIzCkNrWGY4RXNSbjBkNlQyajdjTGV3RWFrUitseHVPdGI4TkFBV2NNclVxcXM5NWtGNGJXN2RqWjZFRFh6VjBpYmYyTEtyc1ZVdTROTFEKcXAycFZiNmhWYWFwVFh0YnF5NFFlK3V1UEk0MjNTRDJWajNDQmpnU0Y5TWJ5ekF4ajJLQkJ3Y1A5ckJIZHhVclEveGZXaXpOV1E3QgpCNTQwYVJKNlJFWGhhN2JrYjR5TndsdGFMTlMyak5PbDdleWl1NmFMaUM3QWgxWlRNUFNFMzRjWGsyaEErbEN0UlJrOEtJT0dkdzN6CjhvOVNCTUk2RUlVOWtaRkJIVUt1NklFQUVYWXpxNDh6cW5kU20xNWlGVWVNL0ZlMWVUaXU5VU54clIrTWI5TXpJZW9obkRQVTVoR0kKTStwUmVjQVBtSXkxT2ROclp4dTVHWWdmZURseENQVUF2Z1NlWmFqYk5JUlBOUXc1RnpNTURxbmlzTWlURW8xRFFEeWU2REVCeTNDSQpOMlowMERMR2ErN0RlNE8wTVF3UklnRElNQW9TTUk0T21zWUVUZU40VXN6ajhhTnBZcXA1U3JxNU1NT0NWUjllKzhrd0YyVmFpaW55CmRndExBU1RkakFka0JDRDRscmEyb3JZeFZaMWk1M1N3VldjWnEvTVQ1bWFaS2pyRnptNXZLZXBnblpkclhjaDJuUzdKczlVQmQ3ckgKclhrZzRla0g0cDdxRWJzR1pDUDMzTWk5ejZnWmVBaGZZbTk0c3B2OWNUWitjQld0SmxWR0dxb1JlWVFBc2xOdFpuR3ViWDZ1Ylc0SAo2Mno0a3pEVzJmQXBQT1MzdXZncFZWZmJrbTUyV3ZpRjMwN3pEN0dBQkY2eHptVUhXd3ZsZWRDczlnUDZnWUJ2OGt4THV5RzU0QTJWCitmYktmTnZzcnJiYVBIc2x2TG1qQWFjSGRYWFVkTFBON201ZGxoZTFob3BKblV4ek9ocG40NVY0VTFXdVVaMERsRzBvUVFDWlptUWIKcDdjM0ZMYUxudnhEQXNnNnFDRUQvV0FBOHJvcS9KNXFuMmMyeVlZYlNBOGcxVUNlZVI1ZkRiNEJYdnNYdWRPWGVkdXVDcWF0U3ZNdAo5NmVzQ0tTdVRFdDdJajM5eWJTMHRZSDB4MzF0Vi9uYXJVNU5yU1AwQ0ZrcEFrZ1Q1UWhzRlRjUUIxQUdBRXRSRGd0V2dMaDR4R0FMCmtiODJ6YmNRQUVSWHdLajg0MDRzOVNiTThDVE1jQ1VWSnlYT1NFeVluaEJYa0JRM0ZlSk9LUFRFVDArd1RyYVp4aWJiSnFURVRVaE0KR3RIR08vaW5YY1oxR1RCdjViaVhqNC9aK05YQWpkODl1djY3UG05OTErL3RyMGU5ODgzbzlWK1BXZi9OMkEzZmp0dDRZL3ltYnlkdQp4a3pkK2swQjV0dkNiWkJ2cG0zN2R2cDJ5SGRqMW44M1p2TjNvM2Q4TjJiSFB5YnUrcS9pdlFjcTZsOHQzdkJ3MHFRYys2aGd6S0NVCjZDRXBaaHo2bkJBN1Bza0dIaHJyc296Mkd3QXhPT1hTWlJuck5ZOU9qaDE3Uy9wcFVFS3lmaG9Kb01iVDU3WUJSRy80SHc0Zy9YMGwKT1pGOWM5TjhId0NGK3duNGhCV1Q4Q1BnQm1LOHZ3dEVMRFZwd3Y3cEhqRGRuK3VJZnREY3FqTzI4a1Ixc2JicExOS25NUUF5dGV5SwpyREgwU1REMkJRYlpXdmUwdHU0QkRCTC9CWEw5Z0ZUNENWUWsvZWdNeEJkc3lVOElRSEhSanpVQ1FQTDRuL2pvbmhFQkZLRUhLSFQvCmFCZ0FpZm9KbGRCUUdUMHN5VzBHTWYySUFIcTBBUUN4VWhBQ2lBeEVBSUkwRENDMTkxa0JFT29uSElBQU5PSndad284MURoR1BlWXoKRE1aNmoyR0NPM280cUNoZ25PcU5uaGd3Njl3VEJrQkNCU2htaEFBZ1ZUL1k5YXk4RUFIRXcxZDZ5WXU5NEtGNUtuc2JibnBualVINApMWm5XR2RtV3lyekU4bDZ1dHdvZmVMOWIzSFB0REpYdERVdnlrb281Z0ZpUHN3eWdCK05EQU1SRG5jaFlBWXBkQS9ycDdsZ0xBS0x6Ckx4RkFmRzI3Q0NDcUFQRTJaN0JPQjJ1TkNDRDROQlJBZEVwRkFGTEhDN0dmUUhNT3NhZEh5VUlHb01Xc3FMTVVLMEI0SExZRUdXU1oKbTJldDd1ckF3eTk0M3RrOHU2dDlRWjVsRGp6c1pDbnJaSzdvYXA4SHdLTHlEMTBFb3c3b1hHTkZUa3laTUFTb0tNZFlEQURLaWlsbwpHelZGMGxQbTlrTDZVVHFqRVVBM01kQXRBb2ltQVdrQUJCRUFoQVp5SlpWNmtzdkJRQXhBYWhFSVQ4SFlhR1lCUUxLQktHMlRGNmE3CmNNb09ycnhJWFJGTVdSRU1MTWNnZ0ZZSDB0YjQwdGI2VXRha0JCN1BDanplTWZCNEdxaEl6aW9LQUNnVnU2UzFrVXRCck9PSEFLVGsKQ1loOEhNWTZvM25YczlnRURjOHpnaXNnMUVDZEVWaVM2bDBRY09FUUlMci9SUnN3dklsc0VLS3pLTWsxUGQ1WkdKODR6WlZZNUU4cwpTM1lVSjhRWHUrS0svSTRDbDIwTS9FOURYOGU0V2wvMW1meTFmKzMxeSs4R3ZQUGR3QTNmOVgvenh0RFhMNDE5L1crVDM3d3ljZVBWClNadXVUTjUwZGNybWExTzNYQzE0OTFyaDF1dlR0bDBwMmk2blpBZmthbWs5NUhKWi9WZWwyNzRzM2ZwNTJkWXZTN2RjTHRseW8yVGIKZDBYYi96MTE4NDJaQno4WS9kYmozUlkvSEp5Y0hEOHMyVHJDWjhWeFB2Qi9SSHZjcEhqN0pLOTVrdHMyTVQ1aFFwSjlkSHIwOEVpcwpFU3REWWFQNUx1SHdDNy9hZUFEcHJSTTJldm8wRENDTUFpQm1vTWRpWS9ycWNLTW1nbjYwQUJJTjlJTUNDTnpRY0ptbmdmd1FBSW96ClBCVDkwMDQwbWhrZXdwOW5ZK1dvc0w4VXY2dGx6N2pvYnFhZjU5aGE1MXBiOW9EWTczL0kycktydlZWM01YUVhIYUtuRDRYOThBY1kKUWZyWVd6K2FiQmxzYmRYTDNGSUJrS0lmQmlEczlWSEFJUzlVMXkvUGFqQWFHTWsxSWZ5WmF1ZVEzQVN0dFA3Z3hHY2MraHdLSUg2MApGTm9TcERZQTZmWk95QWRiNGhGU2FBaEFZc2tIa3h3MVFBbGloUVNEQnRMUmh3TklOQkFMR3FneEFGSzZmMmgyTXpiOXNITXVmdEU5Ci9QMHZqOXpjUFp3aTNoVEQ1K1orUUI4c0FzVU05NXRHcFZvS1BWRVRBdWJSV3Zkb0FSU2lId0ZBWTBQMEV3NUFNblNFOHkveEZDekQKV0pCcEtteG5tVUZwYXk2aXRJdGUxRFgyaFdtOU54N2Q4TnRleVJzZThpN1BzWlZsUmRjUmdOZ1ZkeGxBZ0JzR29HZXd3Q1BzS0NYOQpzSlpuQkJEb2h3VVB3bGozRHdLSTY0Y0FwTkdQMEFDMGlDM1RxT2xvbmQzUldzMHlHeisxek9QNkVRQzBES00wVm1NUHRUeURVWjNpClE5ZmE2VnZvL1Yyc2k3czdsb0djT3BubUFuZTYyT1oyTWk3cVlsN2QxYmkwTy94d0UvNmlQTlBTWE1PU2p1YkZ1ZVlRL1hReXo2UXgKMEFRZ3Rnb0RBVVNIWCsyaXAyYTJtWHdIQVNRUENoSU5SSzAvbW9qMHVRMEFrWDRTbVg0Z3pzVHB5VWt6Q0VET2hCbXFnZHl6d0VBcwoyT1BNRGFSRVpCREc0MTNrUzE2UTZseVk0Vm1XSGx5UkVseVI2bCtlNFYrUkZWalZQdmhFdTVTbk05TFhCZHM5RzJqN1RFcjYydlRBCkUrbXBMR21yS1JvQUtRMUR3bG1ZVUFFU0FTVDNSQXRYdzRRTDhIZ1dsdVpmbWhHc28zTTNlSjNtVzVqaW1lOVBucTJzZ2kvek9FdHcKRExTM0VsNzQ0NmY1NHFlNjQ2WWt4eFo2WTZjSFk4c1NZdkUrZkx4MW5OYzZjcHlyZUVQT21rOGVmZlhQSXpkOU0rSTMxMGIrNXN1UgpyLzU5MU11ZmozdjE2c1EzdjUzMDlvMEpiMTJhdFBHcnlac3dVemRmTHRoeXBmRGR5OU8zUXNCQVgwL2ZEcmsrWS92WFJUdStLYTZIClhDK3B2MUd4NjV1eTdaQWJaVnR2bEx6N3o1SXQvMTJ5Q1hKOXhvYlBpelplS2RuNVZjR3VuWDEvUFQ2dHd1dkF3UWNKanNtSjlra0oKanFtSjhZVk8rMlNYY2JUVE5DTFJNVkpYeUxrSmdNSTJERkZDM2hZT1FLQWZGdXFHRGtNZnZPNnVlL2c5QVpSZ0dzQUJwTU9ORmtENgo1NUg2ZXlJRFNIdVlSZEc2cHhFQXVtMERmUjhBMGEvUUFBZ2VybDIyeCsxNExPWm5uWjNXUjBsQ2llYmVocC9uUmZ5OTl6OFFiOGdICi9jUkc1OGEyN3NVQTFJdHpSeDg5ZlNpeE1RK1k3KzltYndQL1lrRS9RN044QlM3cnNBVER3TEQ2WVFDU1YydUY2Q2Q2Z01ZNk9IbVoKd2pacVFmaVhiZ29ndGVXWjRVWXVPQW0xbjlBS2tMam42N0VrUXo4S1g2Y2xsMUp3cVFVQ2lKZDJkQUFTenJ4VTkvUVRYaENBK2pZTQpJRDRqVVdPZ213SklhSC9XQTRoR0dzcERmVFFHa2g4YXNUaWtqOS82R0h3N0FDaG9IUkd3RGdsYWNBcWkxelJRNjU0UUFHbjFvd0JvCmpBb2daZG9oVG4rR2g2RUE0dHRNTlExQWtFelR0TGJtNlVDZkxHc0pwWjI1RkpKcm05UFJNYnV2ZDFkSjc3UGRZbitONDU2dGF6dmEKNXdHQTJNMnZKYXpGQi9lSk5nWkE0QjVXQkZwREFLSUtrRmorNFFDaTc1Si9pRHppR2VzM0hFQzVscG1RVUFESjlLRStaUmswckpHSQpoa2NyelQwTVFOVGd6SVlKMGFsWlZ4c1dmcnJhRi9XSXJRTUFkVFl0d0w0ZmVMK3hybGZDaTRPZDZ4K3h2NUFmczdTTGVXNW5XM1Y3ClExbDdjMldPWlphb24wNW1MUDkwTUpSbVJ4ZlRBR2grL3lzcnByQnRGQUJvaXNSdWVJV0xqamlOam53OVhpMENLYU1SNmRPR0FhUVkKS0FSQWZCNTBXQUJ4QXdHQVZBUEp1MUZ4djZtOEpKVzZndndMbEtqam5uSGxoWCtKTzFqclRzSGU1L1pKUzdMaUY2ZTdsd1l5VnlXMwpXK1VINHZnZlQvZXRTUWsrNlU5N0tpWGo2Y3pNcDlOVDEyYWtQY215QmlSMFV3QVJkSVR6THp3Q0F3QlJiMURvM1hqNUpqeS9GQWIwCklmM2dsenp6QTY2NXRBSU14Lzg0eTczSnBaQWtWNWtub1NnMWRscDZ3alJmWW1FaUc1V1VsREROR3pzbXpUbGhaRXI1TzNsclArdjcKNXZYQmIzMDU2TlVyUTEvNzQ3aVgvenJ1dFV0alg3ODIrdld2Ujc3NXphaTNybzkrNThyb3Q2OU0zSGg1MGthcUFGMVJLa0NRR3pOMgpRUDVSVkErNVVienpIeVc3S0pkbWJ2KzZjc2UvU25kOFY3enJ1NkpkL3dJVmxlMzRxbkxYcGZMTjMxWFUvN3RrNTJjenR2MjlZdTluClpRZDNEM3g1ZmtwbGhuRk1pbU5DY2h3dXIvQ1pKMlJZSjduaXhyZE9HaWsyT0l2UjAwZVVEVjRyQzQwcUh0RTlURXQ2QU5GbGVMMXkKN2lDQWNHaVFQQ2RhclFEcGNOTlE3Tkc5SVNLQU5IV2dzQURTYnlPWFRhT2pqQndkZlNLOVh3K2RTUG1lQUtMZkplb0hBdTZoMTZBZgpVOHN1c1RFOWpmZmx3OGRJdnhjTFBIVENoYnNqSHFUYUQ1NTI2ZWlqUkoyc0k4WWVoUmZCMklXczN1YjdlanZOUStDajlmNUh3eW9rCmdXMFlWUmVuNDR6QmdXRjNpUEk0RFVOWUJva01rcjlkTGdqSkFHSjVpSEdodDN5SFhKNHUrQmoyR2xOUGo4SUxIbEUvb1FCU0c1bFoKQnBDSGVHbUhvbWdEcVVFdjVOTXUzV0FlWnh2U2p4ek5uOEhERFFSL1AveURjQU5GQXBBdzhKQkgvY01VL2RBY3d0c0JVRUxMZ1RtSgpOZW1XYW5mVVdQYk9FZGdERkJsQWZ1TndPWWFSUW1UOWtIVm95Q0ZOL1drTWdNUzBzeFJqR0hyNHNCOUlyblZSanJXcVl4eDRxS0JMCndzTDJwamw1Y2ZNN3hsYUNPUWhBVERrSUlEQk56N2luZThRK3pRNjVubERxTjZRZkJBMHZBajBRdDVhMVF1UE5yKzcyMVJEV3A3eVMKSXJjdEsvcFJoaHlpZmlCc282cTJBZ1FQQmYyd3d5emxTSXVQRkZMMFF6ZThGdENvUS9rV1Bac0h6UUMwaEhVNjR3L0pNeThFRE1ISAo3dmJIaDZWdE9QQ0w4eXZHYmVyalhOVXhhbUd1YVhhMmFVWjdhd0dFOW1Bdy9WRDVwelFucGlRN1pvWmErd0g5UkU5dkZ6V3RiUnMwCmtHUTFQUm8yT3RiY1V0QkFWa3QveUcwQWlCbEl2QVZHc3hEWlFneEZQeHhBOE45NEdVQktIUWppU3NMcllHNVhKZW5IblR4VE5WQUkKZ0dyOXZxV1ViUGZTREhjdDdnN3oxd2FEU3lIZTFGcFhXbTFHNnZMMndWVWRnMnV6VXA1TVMzc3FOZlhKYlA5VDNUemducWNwSUNFQwpFQmtvMGhFWUFValFqd3dnK1doTW1RL0VBVVJYdytoZUdHQ0k5SU9mc3U0ZjJ2K0YrcEVCVk9KeUZ2bmpaNlFtRkFlVFN4UGRoVmJuCnVMaWtNVDdudUg2QnlTOTJXdnJIWHE5Y2VleTFMd2E5L09YZ2x5NE4vdVdsSWI4Q0ExMFo4ZWFYbzkvNmJOemJuMDNZOE9Ya3pWY24KdjN0OThyWnJFemRkbjdRWk0yWEwxMVBmeGI2ZmFkanhjN1Y0QitSYVNmMzEwcDNYeW5aZUw5LzFkY1Z1VFBuMjYxVzdMbGZ2K21yVwpuc3V6OWwrdTJuZTlmTytOOG9QL0tkbDVyWHpIVjZYYi9sbTg4MStsdTYrWDc3a0tiSnF5ZldQUFgweE9LL2ZiaGlaYlIzanQ0K0lzCm94M1dzZjZFQWoxOUdnYVFuajRLZ0lZcjBRS0kyS1RvUndYUUQzMEVwb3lOeGg0Z1BQKzZGUUNSZnZRQTRta1lRTnhBRFlCR2pwNCsKdXZmcmlkTnc3Z2lBZU9oSmJKc0hqRC90REIvam8zc0NaV3ozZDdQYzF3VmU2d281OHRrVy91U1cvVjN3LzJiM2o4VzE3YTBldExUcApBSCtQMkVBVEd6cFJNR3lzZU56V004SFlOemE2ajZWbHJ3UkRmM3ViUnhLTS9jTHFSNm5jSUY4RTVReG1DWEVQVDdKeHFHS2dJYktCCnlFbDh3Nmh5ZjRybElUNCtoeFZVWk1ld3lFZGEyaU1uZmMySmhZWWY0dnhENDJCSUpBQ0ZDeXFFNmowVTFUMXRzRnVab3FlUENpQmgKTEJBMzBFMEJKRno3d2ovREV6M0lFejNFR3ozY0d6MEM0b3NacVV4a1Z1L3dLMlVoZGVLemV2S2xuSWkxaTYyZTNIdHZuN1p2cGhobgpwcGdMZklZSkVFLzBLRDE5UWdDazFROGVmaEYwaE1uT2JMMVhoQ013bXVzamhtNjVaMXZMMjF2S3NrQS9KaHp1RE9paEpwc2N5NXdjCjY4eGNhMjIrWXczMlBzTkQ4NUpzMDBLMnpoMG5FRktOQjRqVHcvSEVnN0ZQOVhDc0F3TXhBTWxWSERyUFV0OG1BSWpmMHRJRGlNYi8KQ0NPZUNVQnlDek8vbkVXM3dPQmhXUDB3QUNuVHBjWHh6Y3JBUXdTUWpWL3Zxc1VnZXVnb2JSSDJRWnZuZ2MrR3ByNTladVA1SjJkcwpmY3o5ZElmV0t6c1phblBObFRubW9uWXhoUjFOVlJEU1Q2NnhEUFNUWXlqS1lmVGhBQUw5VUVCQ2R3NUFvVVVqQVVCNERaNE5TRlNmCjJHMERieFZBOGxiVVVBREZ3K3Y0cVFRZ3ZCS3ZHRWdGRUtzREtRQmkxK01EODBRQUJmekxBdjQ2U0ZKd29UZTQySmV6MGpIb3VaWlYKYi81MDRVWkQ4ZXNKdzE1TWFydkVIMWpTemwzWHpyODZ2ZTNUcWRuclVqT2Z3Z09zMUdjZzZhbFBBWURTVXRha3BUeE9Cb3JVQksycApBUEVqTVBsb0xMQ2N1bnlZZ2ZEd2kvWmdCRDBMYVFFcXJRRERIZkp1ZVFNR3JyOVF5ajhlWjdFL2Viby9hWVl2cVNUUldlUkltT0tQCkd6c3dhY3FzWU5udkgvblZmL1Y3K2JQK0wxOGI4TkxsUWIvODg1QVgvamI4bFc5SHYzMWp5SnRmRDN2ejZ2QTNMNDkrKzhyNFRWY24KYkw0OGJ1UGwwZXV2VGQ0TUFmMWNMM2ozNjBMVUQ1MThYUzdHVVBmUDViTDZLK1U3cjFic2dueGR1ZlBHekgzWHEvZGVydHA5WmVhZQp5OVY3NE1YVjZyMDNTbmY5cDNUUGY4cjNYcStBOTIvL3VtamJOL0R0NVR2K1ZYbmd6NU8zUHZmQTZpNUo0eDNtSVlINEtXM2paaVRHCmFOMGpYR1hYZGozTHNZK1dCd3VGRm40U0xVUDRaT2RiQWxBakdhU25UeU1CUktPZkNVRDZmdWV3clQ5Y1A3Y0RvSmlIS0hTaFdqanQKMHRHblFRQkZZbzMrdVQ0L0JJREFOSEh3VDlHcU83a24wZkF3dmRZVmNoUUR4VHppdGM1N3VPT0w2YkV2MkEzd2IyeWd6ZFRCRnYybwpCa0EzTjFCMFQ5Q2tyVFZvc2pkOHhBV2xiRFFpQWlqYzdFR3h6TU5sSTBieGtKeGs0M0NJeGtENHZiaGxQUXlBT0NQWTZkVWdRZ3cyCkFpTmk1R09za0ZtRm9lNmhKT0xXOTZGcyt2TlFqQUlnR2dna2hoZDRRcDd6a3lrQlFFbHQrbkQ5d1B2MTlBa0JrUHJQSlJ1b1lRQ0YKM251WEFlU05HVW9BOHNXTWJnU0E1R2hBRXpSTkc5RGh0YTd1NXoydGk0UG1pWDdqZUcvMFJHU1FqajRxZ0hUNmdaQnlpRDZwNWtuQQpIWW9lUUVyN3MxWS91TmJVVnFsTU5jVEp6aUFlZ0U2dWZWYXViVTZPWlZZSHgvUmNlM1Y2OVBRSFhIVWQ3VFc1MWtXZEV5bzYyK1FSCnpNQ1VibzZWUFJ5UFB4Qzdwb2Q5TFFDb3UrTXBBcEJ5eFYwR0VCV0t1dGxaSzNRY2xZanFSUFNJRXFMak0ycmM0ZnFob0hod05zOHMKbGpsVXhlSDZrVSsrU0Q5bWZubGUzcDVCUXc0WmZlaDdjWXdRellObU0zNFdkN1BqaGxRcUJiSGh6alg1bGlVUEp6dzN3THVoVi93cgplY2JWMlBSam5aWnRISjlyS3FKclh3eEE4TEVjeXo5TVB6bUc2ZG5HNldMNUI5S2VsWVh1S0lBRUE0VUZFRDFzRElCb1BwQXlCT2dtCkFFcEtLQ0FBc2JGQVREOUp4VGdTbWdDa25JWEpiZEVDZ0hEYmx3S2d4UFNGanZFdlI3MTQ1Tjc5RjVvZnZkamkwSVc3ajF5ODU4U24KTGZkOEhMTnFUMkxmRjFPOWRkbEpLOXNIMXFhMlhldHQrMFJHNnJQcEtVOUQwbEtlNUFCS1QxdXRiZjNSWFlPbnBQdFg0YkVhaGowUApyc2hNV2FrWWFDbnJBVklYZ1drQXhDL0ErNUlyU0QvdUpQaW5udVJLbkphVVhCcVhYQlp3bG96eVZtM3ArTVMzZmQ3NHF2ZEwzL1o5CjVldEhYL3lpNzNOZkRIbnB5NUcvK1dMNG01OFBmZnZMNGE5ZkdvbjZ1VFRtN1V0ajM3d3k5cTNyRTlaL3d4cUFMaXVIWDFlbmJiMDIKZlJ1RStuNm85ZWZia3AzZmxPMzZ0bnczNUViRm51dWx1MjlVN3YyMllzODNaZlUzS3VyL3UzTEhQeXUyL1hmbDlxOW03ZnB5WnYybAp5aDNmVnU3NlIrVnVjTksxOGgzWFNyZGZtdkhXUDBxMzN5ZzZjSHpZcG9vT3l3RkFadnRFVjFKcEJQM2NCRURjUUtFQWtnM1VHQUQ5CjBOZmdxUWVJQUJRYnd6cWcvMGNDeU5ZYWJ6YUZTUVRRUkVxazkrdnAwekNBUXRBallFaGVISEYvTjF3ZzJxcTd0V1ZYdms5VWJ5Q0kKT2Fwdmx1dWxxY1BPZGtzNWFUUDJ0VVlOTjV2YW05c001Qk1JR3drZytGY0hBTEsyZWlqZTBBZDdmZkRmN1FPeGh1NWNQd3hBaW41aQpjTFVXQVNqVVBjTWlHVWdCa1BnR1BBNExDNkRFNklmUkVERjk2Qkk0Rm05UU1IZ0h5bTBjQnE5eGcybjA0SkNBaWxnNHJlZ3ZwSzN2CkRRTklmODVGaFIrQkp1cVpGd0FvcWJWY0JHb0FRTXF4bmJ3QWxSdm9ld0JvbEFJZ0ZJa3ZaTStYaWg2K3FvSkh2aGh2SHBScEx3OGEKcW53eGsxTHRJNEpXUEFYVE8wa0ZVRGo5SUlDVWt5OVJQNUJJMStERDZpZkxqdnFoc2M0NDJnZjBZNXNEb1R0V09lYjVuZTByODUwegoya2V2Nmh3L0t6OXVXYTVsZWI1TnZrTU9UT2x1WC9sQTdCTU5BNGoxTXVQYWRtcnhvUVlnM0FWbVdSRUpRRFROV1E4Z21nUEVBVVNECkVIbmhCd0ZrWFM0QVNMajV4ZVNrMUg3dzIvTnNOUkI1eG85aW9EenpJZ0FRWG00M3oreGltd3VmZGpiV2RURE95cmZqdCtkWjVuWTAKMXVSR3plcGtxTXlKS21JQXFtVGRQMlZZK0ltWkFmcVJBV1NjVGdCcTI2YVFBYWk0ZzZsTXNoajdoQTB4eUdKOEJHSTI5S1lYRUpPeApqMEljWVZlR3NpeU02NGNEeUc2V1l6UDFveGNPeXdBSUg1QVl3VUR5Z01RNHh5ZzJCWEZzWXR3RVNGTDhaSWd6WVFxRXJubkRRM2lkCm5EZ1Yvdk9mbkZDWW5ERGRCUVpLTEFJS3VKMFZLYTdad1dTd1FuVWdXQlB2Sy9YbHp1L1NmbjZTYjZFM3VLWmQwbEozK3BMNGxLVWQKa2xhayt1dWFsRDkxLzIvMk50dDdVdHAzU3RwM3JzV3VNL2ZzUFh2MzRYTXREdUdTODN0UGZ0SjYrYnZPekNYdDQ1ZDE5cXhMRC80aQpMZU9adG9FbnM3MVkvbkZsUHU3T1dKR2VzalE3ZFZseXI3VnhRMzdoR1B0UzNJRG40enV0Y21Zc0Q2U3VUQUhmcEszemUxZDdNeDdQCkRLd0VKeVZucm16dlg1WGxXWjdKNWd4bEJsWkFNckR0R3JJTWt1WmRnZ0g2QUlBd0MxSTg4eUdwL25rdVp4VklMdWliN1UrcTlDZVcKK1pKS1BLNlNCUGU4WkU5MWJOTDREdDR4ajNlbytWUFhaMjQ4OE9MZkgzdng4NzYvK3F6ZlM1LzNmL21MZ2E5OE9lalZTME4vODlXdwoxeStOZU9PclVXOUJBRUJmalgzbjhyajFWOFp2dURKeEkxNEJtN0taMy8rU0c0Q1lnYTRXYmI5V3ZBTnluWjJDZlYyMkMvSk5PVHNGCnU1VmNMZGwvbzNMLzF3VWIvejFsL2JjRlcxN3R1cUtyYlpRbGJxUTVma3B5M0ZUUUxhZzN4VFE2YUJ3VmJ4dWVFRGRLUkk5NEJPYTIKaitWeHdWZmhJVURIUEpLV2ovTGc4ZzBXdXBGT0MwcWRsdUU4U1pZaFBJbm1nVHdKcGdINnhCdjdpK2hKTkEvbTBaT0lJazg3cEpPdgo2RDQ4L0NhODVzeUxiNmtVZzFVSDNZVXZBcEQrQ1lYb1EraWhXb1d5ekNGOFJDZlJPNVh0VjdjV1BZbjBNQXFObGtRVWUxUjNpc1pKCjR2R1dHRWVyaHgydGUxcGJkZ09zSk1UZ3BpM3p6N3ZCUTB2TFIxem15YWx4TTczVzZYSFIvZTFzV2s5c1ZEOCtnWkF4aU84b2ZZaFoKaXUxVVowdTEyR1VySExTRDUxd2hXeXp3MDRTWTNzbzJkYmxQbWJVaFk5UWVJSlZCdzFBNU1SaVhZWVN5YTEyK3ZFMnY4VXN4bzloWAo4VG8zaU1RWlBSVDRvaDZFc1Y2ZnhDZzBDa1d1QUJrRzBSbVd6ekxhWXhySmkwRDRuR0FrZCsyb3AxY2tHL291dHdtUHdLaG9KSnltCnlSRXJTWkZnUkxVb2VFTkM2d0dKYmVnYis4TmY2NHgrV0U1VWJ5R0FtejVpNUk1cDFFOHZGalFRKzFKSUV6UWF5QkM2L2lKNkdDL3cKaUJCQkEvRUZwZEhEK2V2UVlZYnlSTVNBYVZ5YXBURFZYSUJTTVUwRXFRU01veUdJRzk3ckV6WTZCZ1dOVThSTkYrcCtVek9HWWFnQQoxN25MVjk5TDJwbW10ek1WdFRPV1pSbXJzczFzam81OVZxNjltcGFiWm9HQnJGWFoxbGtkN0hNcDhpSUlHUitJQ1JxbzA4WE9GcTJqClVXaDBJV01OYTIwbStyQU9IblhCTzYyazRNSFJ6Q3gwUlV2cEZwSlhvakwzeUUwL212REtEWjFlOFQrc3MzVXhKTStPVWVmOTRCMTEKWWVVRlFrY09YbWkzektFTlg2d0NORjllQ2tZemdkalNERnFTeXQ0Mkc2QURIMm1EV0VmekxEYm1welRIV0p4akxNODFWM2EwVk1ISApiRU5aVm5SSis1aFN2QU52bWc3Sk5rNXJiNWlXQmZxSm5wNFRVd0pJa3F5bXZoRnlhd0FTRFJSUzdGRUF4Q01BU0wwVUpoeCtDYmZBCkhMZ1pnd0JFMnpBUzR5YVJnVEF5Z0NZSkFKcE9BSEluRmNjbkZnRVJncDQ1QVdlMTN6WEw3Wm1aa2J1a3FPYklpc1hIc3p1dGNmdnEKMnJrVytUSVgrak9YWlFkWE9McldTUnNPM3JYM0RHN3gzSG0wNllIM214ODgzdlRnVWVuZ1FaeHUvTUdGSCs4OGRzL0pEMXB1UE83bwp2ZFlKMW1uM2JGTEdjNEYyejZlMlc0Y1h1MUpXeGcxNThjZHI2cHR2T1NVZHYzRFgvZzkvY3Vqakg1Mzg0OC9yTDhZdDI1L1o5NlgyCjN1VWRncy9rQko5TXozb3EwN3M4eTdjeTRLOXI1OFpCaXcwQnlMZFlCQkFaS09DZGxaRTRxNjF6anNkVkhlK3U4bm1yVTVNcVVoTEwKQVVOSlNZVjlmTVd2dGF2N1E0L24vOXJ2Vi8vVi80Vy9QL0w4RjQrOXhBRjBhZkJyRFFEbzZvUVFBUEVPNk92VDVDSVFCOURYcFR1NQpnZlRFYVRqWGkzZC9WYlR0ZXRtMkd6UHdpTzN6MGdQclI3d3h3bFBzczQ3MTJDZWt4RTVPanAxZ2RvejIyTWEydFU2SXQ0MXNHRUJBCkg5S1BCa0RjUFJCYXhoNFJRUEJFQmRCZzBVQVJHS1FsemswQnBERVF2YmhWQU9uTFBQcG9BS1F4VU1NVklMRkt4TFYwR3dDNjlXanAKMHpDQTlQU3gzZCtOQ2tKb285WmRiYTI2V0ZybXdRc3FDMWxhZFhPMDZSL2JlcVM5MVVCYmExeXVqait6dGJpTGxIRkhEWTdZNGFzawpsR0hOK0o2d0FJcUYvNE5HeXhlK1FnR0ViVUJLQi9SZ0FCRFZlRWcvYnVOSVdyU3VsRzNneVFpQWk4YzB5bU1jNHpXTnhSZjQ2WENzCjVTaDFJQ1g5R0ZPd1U0ZDMvekRvWUJVSHZndCtJTGVMQ2lDbGVabjNMOHVDVWVSRUFPTGZGWWxCSW9ERWNBQ0JmcEtpRUdRcWdFTG8KZy9xNUdZQjRCU2djZ0lUUnp5N2NBSDl6QUlVa25INkFKbmNLUUFFRExudW5xTGZmMmErZzhnOEJpRHFnTXkybDdZemwvSkFMWHNDbgprQ3lUdk4xZER5QzE3aUxvaHdVWGk3TE9uanJlNktORTNlcWx2S0d1dTJNNXBKc2RMMWpKRjlUWlNHVmw0WmQ4NENXc05lVy9OeVNLCmZqUUFXdERadG9naTd6cWw1N0o3ZU9hUllKaDdhSDJwQ2lENVBiSitFRURLdDl3RVFCMU1GYUFmK0FnQUF2M0FSN3dEenlwQTJBWVUKTTZOOVZCRWtKNmFzazZIaVRnS0lETVJlcU9kZkRzc2dpTjA4RUVLdlk2MkRJU0ZYNHRYVllNUGlIQ01nR2dEUktneGFpYW9CRUJXRQpraE1LWFRqNVpnWUxBaWdwc1JpczRFbXE4aWZOQkFZNWt5dFMyeThzbW4xMDVkSVRIYkpYK0h5TDIvcm1lMU5yY0RKUWV1MTlVOVpKCjI0ODMyL1orOHczdjNiWDV2Ulk3VGtrN1QwbTd6elhaL1dHell4ZWJiVG9pSFRuVGROL0pKcWMvL2RuT2k5NCt2MDVKV2RzdCtIZ2cKc05qZmRsRnc2TFBHcCt2djJYbXEyYjd6MHQ3ejBzRXowdEh6MHFHejB0N1QwckVMTFU1OEd2WHJZN2JwcjdkTlc5TTVzRGFyN2RPWgo3aFdkUEt2YWVWY0FnQUtacXptQUZQMG9BR0w2VVFDRStxSDRYWlZaemxudGsrWjRFbWNtdTJlbCtPWUZFbWY2RXNyVHJXT21CcXJyCjg5ZGRlL0EzLytqK3k3LzNYUGZIdnMvL1pjQXZBVUNvbndHLzVnQzZQUHdOQU5DbGtXOFNnSzZNVVNwQXpFQUVJSEVJRUJrSUFLUXgKVU1NQStxWnlUOWo4cDNMLzVlTHRYMVpzdjFLKzg4clVyVGVtNzdwYXRPL2kySTF6TWhha0dvZllZZ2FuSlJVbXhFMnhPc1o1SFJQaApmNmNhQUpCR1B4UU9vR1RyS0VFLzh2bFVlQURkbW9HMHhJa1VwZmRaMmZtbEdPaUhBNUJvb0Fqblh6ZzFKMnhDMzZOV2pQVHZ2TlBSCjBrY0VFUDgwRW9CSVB4RHpmUjJzOTNkTU1IU0xqd0VEZGJLMzdod1gzUVVlMnFJN2dvRk05L1UwdDN6UUZwWG5NSFIweEhTeDRWRmEKZUFESjAzUVlaU2owUkFTUXNIZWlGd2NRQzExRXgyaktQOG5Hb1M3VENBalJoL2xtRktDSDlBTnE4WnBIZWMyamdUNCs4emdJdklBbgpXTXRSQUVSOXpYeGdUNGhSNUMzdTdCaUxGWk1JS3lLQTVNdFF5bVJrMVVCSzlZaGUwTGZ3NkJrVTJnY3RodjIwTm9Od0lpSzdQQStmCnNodGhJZTdoRVp1SEtNb0ptcXdmZWc4Ly9KSmZVOVZITmhEK1V6UWVRS0hIVmZKTjlSVHplT1c0Q3ZSVFFEVWJCVUQ0UTdUaXVSbUEKNENlek1Bd3hSVkdVYzdFcElDMjIwZ3YxQTJsdm5OY3VaazZXRVZlWmRyQ3pmVjVZQjZxaHZSYTAycDNHSzNlMHordG94ejJqWVlQegpBN0ZsdUs0YnNDYmtxSXR1YjZuNllXOVkzaU4yQlRlUXNrMENRL1VlN2g2bFQxbnJuckFBVXBaZ1lEcFpGMEtVUWhFK0lkRGd3UllMCmFVWVoyMFBsbnpBQUl2M1F4b3g4SkJST0E4SXRwK2FaWVFHazdMdWdzWWRsUW9wd0RIUU1wQ3c3dWpRbnByeGpURlVudzh3N0RDQWwKV2dDSklRQ3BQVUNobStHWmZ1UUtrS1lWbWhsb29tcWdVQUF4QThuNmNTZXl4YWhKcGU3RVN1eVljYy94ZUdjN2ZUUGJkMTZaMTNHUgpONms2NEYyYzRwa2JDTTVQUzE2VTNMN3VSMnMyU0JzT1M1dVBOTi8yWHZOZHg2VDZvOUwybzFMOW1idDJYWkRxajBnblR6ZmRlMVE2CmVrdzYrcDUwK3NPZjdQN0EwZnVwaEpSMWFSMWZzcFJ0a1RiQzgzTjM3enQ5ZC8zSkgyMTcvKzY5Ny8rNC92aTkyNDgzM1hsYzJuOWEKT254T09ueFdPbkE2NmRFWDJ3Wlh0VTlkaTNNVWcydmJCMWRuK1ZZR00xYnBBWlR1V3dvUkFDVFRKODAzSDVMaXhqblhLYTdacVlsegpNbDN6VTkwMW9KOTJTVlhWZ2RJaitVOTkzZk9Weng3OHhWOGVYdmRWVDh4Zkhudmh5MzR2RTREdy9HdndhMThOZTUwQTlOWElOeThyClJhQVFBMDNhaEdFQXVzNVB3ZGhCR0RjUW5vTHhPbENqNlVQNVo5SFdHMVc3djZyYzlTWDhoS0tkLzEydy9aOVR0dnk3Y051ZkorMm8KelZtUTZoZ2VheHJ1amhsdnM0MDN4NDBQbXNVdHB4b0FnWDVHazNKQ28rS0dmRU85T0NLQVJBYXBUNFN6c0NUTG9NZ0cwa0pIaVh4Rwpwb3NLSUpGQnR3b2cvWUdYL2xCTWpBaWcwT010UFVFdy85TUFKRWJzRXhKbk45TTZDMHBzRkR6Smo0MUNFaUdNV25XSmora09EMjNSCjJkWTJuYTFzWktJakpzOGUwOGtXMVFYK0dhbXpSd1FRdjJHT2F5TFVkbWJhMnhVUlFEUmVVdWtFWW9OLzJFRVZ2d0xtQkVrdy9iak4KSTkzTVBSQ3dEZ0dJMTM3WVJ5ci9qSWZBQzdkaE5GQUpOSU1kUEF4QUZKcldJMS9kVXRBakhLTEIrNGV5TTdJUUFLblh3a01OcEJHUAp4a042Qm1uY0kxU1ZzQjdEUmdmSkt6SmNPQ1dvbjlJYnBOS0h1bnowQUZJTUZDSWtqaDcxaFF3Z2ZpMy9OZ0NrNm9mUloxS2FCZmVTCnN2S1BDaUQ1L1hyME5BaWcwTjgxTWhSQWsza0RVQ2E3NHA1bEtYdkErWFJIMjVJc1kzVzJ0VHpYVVlFR01sZG5td0ZBVlFLQWFrZy8KRURycVlxbFY2TU5MUWJWZEhVczFBT0xsSDVJTkdnamVFN3VNQXE4aE5OZUhJclQ0S0N0SWFVUWg4MDNqZzdmU2hOTTZWc3ZCMFloZAo3Umd5RU5WK2FHMEZCeEMyT2N2bllnUWdiQU1TOUVPWnd3RUU3dzhGVUpteTc1MXR2WkEzZjhHblpiZ1FBMU9SYTVnSjlPbHNtSjFuCm5QTURBb2k2Zk1BNmV2M0UyWWFFMVE5ci9jRWpNT0ZUZVVzOHZ3eXZBUkQyQThVWFFQamhGODRHVENyRFBtaG5XY0F6SjlVLzMrT3MKVGt0WjZBL01UZlpVKzl5VldjSGw2Y0dWUWMvQzFOUzZqSVM2MlBZcnBHZlczN1dlN1VMZnVxL0p0cjFOdHU2NmUvdmVlM2JzYTdaOQpuN1RuWEpOM1R6WS9jZ0hiZzNhZGtNNThmUGZoMzhac3VKRHk0THI3Vm14dnNlZjB2WHZlbDNZY2tPb1BOTmw5b3NtKzA5TDJBOUtPCnc5TGVZOUtCRTAxM3ZkZnMzVVB3VVhydlhNeWllbi9XNDltQjFlM1NjWUJRYXVyaldmNFZhZDRsR2dDbCsrb0lRR3psaGFxZlZPODgKU29aM0Zrak83WjJUbGpUYjc1cmw5SlIyY1piUERpejl0T3VUZit2MTR0OTZQdmZuQjU3NmE1L24vdGJ2RjM5LzVObnJqL3dTQUlUNgpvUVlnOFFoczVKdGtJQUxRMWJIcjVZTXdCcUJyaytVaTBIV2hDTVFOOUhXUmFpQzVEc1Q2Z2NUb1lVVEJrNi9TSGZpNmJNODN4YnYrClZicnoyK0l0bjA5KzlVclJ6aThuN0ZpWHZ6clRNU3JXTk13Zk45a1pPOGx1RDJtQ0ZnRkUrdUZsSG43c2xXd2R3ZDBqUnFTUGFDRDIKdmNMRG0vVUQ2VSs3K0MxM01YVG5TOTE5RVpvN0NxQ2VZU1BTUnpSUUtHN1UvSThEVUZRWGlyeWRWRWtrQUlGN3JDMjdXWDcrZ1BsbgpEeWFiQnRoYTlqVC92QXRLcUhXdXJWV2VuZDBkQXc5WjcrK01mVUxZTUNSM054T0FGUDJ3RVR2eUdpOEVrREo2Snd5QXlFQTBaU0FVClFMZ1hYVG1vR3NpWVFtVWVWVDhVY2c4SEVGYUdDRURHaVI3REJMZGhMQmlJOVF5UmdiQU94T2xEelVQODRJd2RxSTF3UnNzQTRoVWcKMWg5TkFCckJKK0tJeDJGY05wdytsSnNDU0NVSU41Q3NIM2tnSVRjUVJTZWh2aXB4aE50a212b1FSNCtRMEtGRUVRQkUzZEE4dkNRagp6dW1oMmcvb0o4MHlWVzVWdnFYeVR6Z0E4UzhGY0o4R1h3bzJocnFDMGt3RnBCK2dEMHRGTCsveitYSExzODJ6QVVBZDdMald0TDFwCkpnQW94em9URFdTdXpySE1ZdVdmQlowY0N5RjhsNWF3VGd0TExQbllCbFRiQlpmQTQ3NHR3VURLOWk3bFNFc2dsQm9Pb002MkJSRGcKU3lkRXpGdzIxUkRIL09pSjAzQ1V6ZTF6NVdNdk50cW5HK3ZqRVN0QTNFQk1QMW9Bd2ZjcTd4VDF3MDdOTE5Xc2JRaS9QZGRVVFFESwpOaFFCZ0lBNzdXT0tJZHhBOENMWFdKRnJySVJ3K3VTYjVuVXh6dnZCQWVRd0R4RVRheGtLaWJOcVc1NkZhRHlFQUJLbkFSR0F1SHVVCllBTVFBTWpqTENFQXVaMGxYbGVGTjdrNjRLbnh1bXBTQTR1Qy9ubTRFOTQ5SjkyMzNJdXJScGNBZzlvbnIzSG5ycFhXdk4zODlVMU4KM3R3bWJkb25iVG9zYlRyV2ZQc1pxZjYwdFB2VWp6YWZsdDQ2MlBUTjNjM2YyU1Z0cUcrNlllODlHdzlqaWVpTjdUOTZady9TWis5KwphZWVodTNjZGwzWWZsZDdkOTZQTmgrSDEzVHVQM2J2cFVJdk5CK0JMMHM3RDkyNDdjdS82OTUxZDFtVDdWcVpsUGhWSVd4Tk1lenc3CnVDckxzMVFFRU5NUEFnaGdsTzVmbE9aYnFQUSt6NlVBZ05wNWE5aU50am53ajViZ0tjNElGczFPbVhNaGE5M1ZMay8rcWNlYVAvUjYKNnZPSDEzMys4SE4vNnZQOG4vdS8rRlZmQkpCWUFTSUE0Uld3Y0FhNk5nNWJvYm1CQ0VBVXNRNUVOOExJUU5mRmZpQ0JRWHI2eUFDcQpxUCttZVBzM3hmWC9LTmtGUCtwUzRZWkxwWnN1elh6Mzc1UFcvMlBLOW10anQ3M1FmWFZXNHVnRTg5Q0FmYUxkR3JFQ3hQWERHMzJVCmt5OFZRR0xmVCtSUXU3UktJcWQxS0NUU1FaZ0dRSXArUWdERTlVUFh2dlQ2dVEwQTZXczhTa0xjd3plNlk1RkRweDhkYnY3bkFramoKSGoyQVF2VFRxZ3RTcG5XdkJQZ3ZxR0ZRbG50S3Nta2dHSWdLUEFpais5ajhRN21CK3NIWTFvOUVxZ0RKTCtRakxSYitVQUFRTFdEbgpBQkxNUlBSUlduUGtPZzExK2Nnblg0cCsxQ013aFVHamZPWnhmdk5rdjNtcXp6UUZHQVFZSWdhcGJkSDRFUnVvcVpFSWZvN1BNb2FPCnpQQnQyRUROd0tTWWhnT0lib09yQUZJTXhIMGpBaWdzZldRQWhZNkhWc2NNd28rTkd1eUpvdXZvSStHakI5Nmc3TXJRcjhnUTE1cFMKK09VeU5TRnpuK1dtSHhWQTdMYzNIa0J5SmNZd0ZwSmluSkJxbXBnRytvR1lwa0EwNVI4RWtKNDcrdHdFUVBKR01DdzE0V3AzdWZ6VApUZ1lRcm5QUHRTN0tOczFENkZpclFEL1pGaHhuM05FK0w5Y3lzNE81R3BKcm5nTVF5Yk12WkZuTUJ4SXFhcEc3Y3doRHBCbENrbUlnClBQQWlBSW5RMFIraVVWVDM0R3hEQ2s0NHBMdGErcWhydkdUM2hINVZQdFhDMVdEZEdJQklNMHBrQUxIZ201bUU1Rk13QXBDQ0lXcVUKbGh1R01LRUF5akhnbW5lMjV3dTVreFZkSkFJSXdzWUNnWDRZZ0l6VithWWEwTThQQlNEeEFyd0dRTnhBNGZWakhTazJRZk5iWUhRWgpudmNBMFMwd3BmQlRDQitUNHVBamJyOEMrdEIyZEorcnpKTmNucHhZUnB0UUE5NzUzbVE4QzBzQlFMZ1d1SHlMMGdJTHNCTW9lYlV6CmMxbXpSUzlJRzNaSUcvWkltdzlMYisyWDN0Z3R2YkZOZXVXZG43Mis0V2ZydDk2M2EyZnk3ajJCZmJ1ZEIrdURoL2FsbkRocTNGL2YKZFB0VzZlMU5UVi9lMHVLVlhkS2JlNXE4c2V2dTlYdWE3ejRrSGNDcXo3MGJEcmJZZlZ3NmRFTGFjVkRhc2svYWRVVGFmakx4QVR6NQpTbW43VkZyYVUrMkNUM1FJckdxWFdrY0FFc28vZFhUL1N3RFEzS0M3Um81bkRrcklOUWRlQSs4NmUwcG1aOVljeXFuN3V2UGEzM1ZiCithZXVqLyt0eDlOL2UyamRYeDkrL29zK2VQbnJqMzJmNXdEaXQ4QWdBQ0R4SUF3SFFETUFZYWdWbWdIbytwUXQzRUNhT2hBMzBEVVcKUFlPdWwrOEttOHZGMjI5VTdjYVpRTk0yZmx1NjdldlNiWmVtYi81cXhwWi9sKzBCQS8xbjZ2WkxZellzeVpxZFpSM3Nzb3h5MmlkSApBcEQrcUVzV2pIV28wc29qaHlvNi9EMjZnaEMvTWliMEJ1a0F4QTBrdGp4ei9jUVpCdEJSVjloMkg0MkJmamdBY2YwUWdEUUdFb21qClQyUU02Y2x5WjZPbHo4MEFoTEcxeXRNRVNHUzVyd3VneC9UVEIxM21RZkRDMmhMM204YTE2VzF2MVFOZXczdmdVN3JreFFRVEhrQkUKR1g2SGl6cDcxQzh4QUlGK1ZBREJ2MXNCUUhqc3hXby9zaUVVQVBIR1oxNEhnaEJOS0FBZzFJeDVRc0F5SldBcGdEQUdUZUlTOGhqSAowQm1aeHpnT1E1WlNlNGJvNEd3Y0ZaTjRJUWV2ZDhsTjBIeVBxV0FYZzlyNmc3Z1I5S09uajl3RUxRQW9aTWd5V0tUTlVBQ1FMd2FyCkxBaWdxR0ZvSU5xYndZN2JGTit3bG1jZGdHUUdoZE1QUTQvYzlDTWJTUG50alFFUUwvOWdKUVlCTkY0RkVPbkhpSWRUOG5VdGZ2NWwKSEk3YjNmWG9hUkJBOHJmSWgxOThIdlJrQnFDQ0RNczBlYnVGcGF5ZHVUekxWTjdXVUpabHFzaXh6cVNTRDd5R3dJdGN5eXdCUVBOQgpQL21PV2dpdGtwQ1B0R1RITE1SZUhMWktuUXhFQUZLcFJJM1A3S2hMWlJPN244VmJsYWxsQndLL1YvblZWUkMyM1lMRlBDdHNSQURSClJCOUtSemFMbVFPb0t3TlFkK3VTaGl0QWVnQ0Jjdkt0TlN5eWdlajllZFpaR2dDSnM1NTUyS0ZZQ1FUdnhoc3FjcVBMT3NaVWdJSHkKamJQeWpYTWdrczM4V05qY0VRRFpiUU81ZSt5bXdUY0JrSFdrQ0NDNUF6cDJOTHNEVCtVZkZVREppVk9wNzBjQUVLc0FNUUI1blpVQQpJS3dBdWFwU2d3dThMdHowSHZUaU5mSVViN1hMTTl1VFBqL29xL1o2NTJVRlZqa0ROVCt1ZmxKNlliZjBUUDFkNjdiOTVLVU44UnZmCmZtVG5yeGZXUDd0dC80dTd6eTc3N05qcXI0L1VYVG15OE44bmx2N2o5TEpMeDJxdm5WcjV4NU5yM24vdnVWY092bGE0ZDNOd3g0N20KbTNkS2IreTU5Nlg5MGx0N1cyeDdyOFdPbzlMbS9kSzJBOUxPZzAyM0h2ekorZ1BTNWlQdWg1N3NrUGxrSU92cDlxblA1UG1lelBHdQpTTTJVcjhGekFLVjU1UXZ3R1lIRllDQUFFQTMrd2JqeFVodjh6VUZuVGNCVGsrcXFtT2FlZFNycmlXL3kxdnl4NjRKUEgzemlpMTdQClhucncyYzk3UFB2MzNyLzg4eU8vZ0Z3ZStLb0dRRjhPd1NMUUY4T3dGUm9TRmtBWXFnQUpSU0JOUXpRZkMwUUEwaHRJVHgvS2xZbzkKbDh2cXI1VnUvYVo4NnpjbFc3NHUzSEtqWU1lL0MzWjlXYkQ1MjhKM3Y1ejAxcldwR3o0YnYzbEZUbTNBUE5JV055a1NnTlNDVGFpQgpOTzdoYVFTQXNIU2svclRRTmlBaFdnQ0JmaG9Ba0hydEsvVDVyUUpJMy9HakhJcUZCeEIzVEdQMHc2Qnpad0NrdjE5RzBiOVRpWlkrCkRRTklUeCtJOWY3T3R0YTU1dnM2eGtYMU5QK3NSMkpNSDJ2TGJuSFIzZXh0T3Rydlo5WnAwd1ZlMjFwMVl1L3Z3alpqeVBvUm02QTUKZ0tpV3c4SlB3YlFBSWdQUnYxNTRUbTFET0ZwUUtLandzeXE1YkJPRFoxVmtGN29GSnQ2RVp4V2dDZUNlZ0tVUVFuVWc5Z0l3TkJtKwpSTXBCRHhrblk1ZTBtdkh3VlFxMVRvTjdlT2kzc09YdDFKMkRCdUoySWZGb0FCU1dQcEVBSkU5Vmh0Y2ducWpoZE1Za0FFZ21sMndnCkJpQTAwQzBBU0szNnlBQmlmOEF0QVVndS95Q0FVRDhFSUhRUHo1MERrTklHeEtaQzQxMHd2Qld2bEg5VUFJRitJTzFNMDdQTXhUancKRUUrK3FpSHNMbGlaQ0NBY2NoZ0NvSlcwUzBzRUVOc2t1aEErcFJZZlZ2S1JWMjd4MWgvRlFBUWdMQ254QXkrMjBnc0Q2TWt4VlNxcAo2R0N1ekVXTlZlV2F3a2VlWjZnRlVEVXRvK2hrbWdWQTZXS09DQ0RTREFHSTdmQlNBVVMzNWVsNlBEZFE0d0dVRlkxVGY5aWhXRW11CnViU3pxYnlqb2JSREZLU3NVM1JGNTVpWmVZYnFQTU5zeVdicUZ6YTZzVUJZRnJKcDUvMm82T0ZqZmpRMzNrTUhJY29iVWpXRGZ4VDAKeU4wLzVKNTR4eGhxZjZZTDhIUUxqQlppeUcxQWNWTVpmVmduRUpaL1ptQURFRHNDQXdQNWdxVk81d3lRVURCNWRwcG5ibHBndnNjNwoyK09mNC9OTzkvc3FzUUVvY1VXbWMxV0tiMWxzeGpKcjUyZWtKUytuL2ZxZGVkdGYzcmQ3MlZjSHE3NTdiOFovVGt6L3o5bXlxNmNXClE2NmRycjEyWnVuMXM4dStQbGQzL1lPVmtHOC9YdlN2VDVkODkvR1M3ODZ0K083c0x6NDUrK3JUUjM4MWZNY1QwaHR2M2YzNlp1bFgKVzZSM2owcjdqa21iZC81bzgrNFdHL1pJcngrSTYvRnMyM2EvYXBmNkhOQ25iYzRLZjJCWlpuQmQyMVI1QkNMdUFrUDkxS1g3UUVMTAoyM3JyWE9uTEE5N0ZXUW56L2U3WkhtOTFobXNXOWo0N0Z3ZFNhak1UeXFha1Z2NHhZOG5mT3krKzBMM3V6MTJmK1V1UHAvNzZBSlovCi92N3dzNS8xZXU3ejNzOS8zdWVGTC9xKytGbS9YMzdlLzFkZkRIaUo3Y0g0OWFVaHIzdzU1SlZMUTEvRmkyQktCZWp5NkxmcEZBd3oKSGx1aGFTeVFwaG1vZ1ZJUXZ4MG1ZaWhzc0cySUJWdUlxSXpFK29xK21iTHRYOFc3dnBqODF1V3A2NzhyMlBYbmdXL1g1aXh3bUI5MQoyeWJhNGlkWVk0YTFqU3VJdDQyS2pSdnR0c0gvTmczVjEzNDBUVC9hd3k5MVJVWklkRDNVMnZ2emRJV2V3bzdWUW44Ung1RGhNUjZhCkRVT3h0K25sdFBSbmp1bGpiL05Jb25HQXZmV2pDWWIrQUoxSUNRc2dKYlJ4azYyNVlHM09lc28wUHBIUUUvb2VQVm51YkxUMG9WaGEKNTBGQzZFTmRRVEo2dWxqdno0ZFE5dzgxUHZPRXpFSnMwNDF2L2xKR0pxcGpEME91Z0xIQlAvTHQ5OGhSaGdNcGJVQ3RINHh2OHpBYgpUcWpmU2lIZnoxS0tRTlNxakozTGRQZ2wwNFNLUTFFanZUR2pjUm1uZVhLcXBURFZNaTNGWEJnMFRRdWFwdXFUWWk2QXdJdUFjUXFFClA0U1BQdE1rNmgvQ2RpTFdaZ1MvRHY0TThkeUtYdE1pQ0g2RGpOekRPb2ZZWWxTQkpueXFvVHRtQUJzNUdESE1RSExrSjJ4VkJYK0kKaDJKdCtybWk1RHRmOUZ0NFU3UEhvSzZYVjFWRVY4QTB2Yy9LRVpnNDQwZmpIdndEWW9iQy8xWUVUTXhHTWVDZUF2V0N1akt2bVY2RApqUWhKekRHeWFlUk9vSENoNmhwZnBrRVA0VzhJR2tjRkRhTWhLY1p4cWFieFdHZGlSYVowdzlRTVkwRmJNd0pJU1RGdWR6Y1ZJWUFzCkpkblcwdmFXTWtxMkZWZGgwRVd3RHRhYVBQdmlMZzVjOEo2UGN3dlpOZ20yUjUxdWZ2R0daWnFDU0swL1ZQdmgrZ2t0R2kzczRsZ2cKSElRdHpMTUJYS3JaMVhIc0lPYUJUM2s2V3FyVW1HZnlkRExqMkdXWk8wdzhZa2d6RERUeS9TOHdFS1NiWlNrazM3STR6NHl0MEVnWgo2NnpPRnJiR0M3OExlNktWMHk2VUVDdi80TEVYTzhtcXlBVWdtcXJwRDhBbEdIamhTMTUwbWgxVHlESU5rZ1A2QWZRWVN1SDluUXdWCkhXUEtjNlBMV0JHb25ENkYvQjhGa0xnT0xMUUhTR1VROWYySUFJSVhZUUZFUjJBY1FKb202UGlFRW5jeVhvQVBPS3VEeWJNQ25qa3UKZDVYTE85UGpuK2wyVmFiNWE0TCt1YjZVV28rdkp0VTdlWEN2b2czckswN3RXL0RaNFhuZkhxcjg5NUhLRys5VmYzWjgzcDlPTDd0eQpxdmJxNlNXUUsyZnJycDViZnUzOEN0RFB0UTlXWHozM3dtY1huLzNUcDJ2K2NuSDU5UTlYZmZmUnV2OTg5TXVySC83eTd5Zld6ZHozCm01Ky91MTE2dGI3NTgxdVFQdnZla3picy9zblRtMTJkbDdWTFdkMHg4NFVPM2pXQnRMcGd5ckwyNlU4eUFPRWVEQUFRSFlGbCtMRXMKbE8ycTh3YVhwZmdYdC9QTUQvaHFnRDd0RTJ2U1hQT0N3ZHFVNUprOTIxWWY5aXc1MjZYdVQvbkwvdEJseFYvem5tNFlRSmlCSVFiaQpSMkJpR3hCZEIrTnpFVFVOMGVLOU1Ld0RoYlpGTjlKQVhEL2ZGQ09BNUcrZnZ2M0c5SjFYSm0rNlVyRGhlc0hHcThQZStOZUUrdVBqCk5nenpUTFpZaC90Tm85TVRwc1JhUmlTYlIzbmp4OXNzUXp3VzZsOVdmY1BGRThsQWZEK0dKbnIzY1Awb0FKSUhPaE4zd3V2SE9GQlAKSHlXUHNnMmFEd09ERW94OTZUM3NvOVk5RFFOSWVTMnNPRzFjYWFlQi9OOElJT1g4SzZUOVdYTTMvallCcFBZeU54UU5nT0xiOUtRbApWclNVVkFzZ3BRMklsNEtVcTF2cXZTMENrQ2Q2RkFkUWltVUswd3pHYjV3WU1FMlNIMXFtcEZxbnlyRVVrbmcwSkFJQXlXZGhrUUVrCjA0SDl4MXY1ZTFRQWtZRkNxakpLcWViMkFLUk1hc2F2QW9EY1VmM0JRS1Fmeml3T0lLSFNJL3dON0FwWWVBQUpCbUlFa1VOOVBFQ2YKZ0Ftck9QQ2VnSEZzbW1XcUNDQXhwQjhOZ0JvSTZZY3ZGT1BQRmYyTVlRQ2F5QUVFK3RFQXFLMTVPZ0NvclhFR0dBZ0F4S0lGRU00SAo0Z0J5ckFBRGNRQ1JmZ2hBeXZtWHZBaE0weWRFcDJBaWdQTHQ4K20yRjVhQzJCeG5CVURZU1JNV1FQQlZTamdBS2ZvUkFNUTdtdmw1CmxnaWc3dFpsRUxyZnpxQXpHL1dqZkRzSEVBdlZnZGp0ZHdGQTdBQk9CaEFiK1NNQ0NQWERNaU1ucG9RTXBBRVFUMFFBa1hnYUFKRG0KMk91bUFHSVJscUZhaDRyamY4UVRNUmxBc2JRS25nQkVkK0J2QVVCdTU3d1Uzd0pQVXBVcm9TemdyZzU2YTVBUmdYbCs3N3JrcENYZQpRRTB3czhidExSL2FhODdlWDlaOWZYekdsOGNtWGpzMTQvTDdKWisvVi9IRjhYbWZuYWo5KzRsbG41OVovZFhwcFpmUExMdDhkZ1hrCjZ2bFZWejU0L09xSFQxeTdzT1kvSjUrODhkSFRWMzc3OUpWUG4vam13c3AvZjdEcXZ6OWFmZVBpRTkvKzdzWHZQbnI2cTVQUHo5djMKU3N5bWQ2VG4xMHZQNzVCMm5XODlZMWxPaDZjNitWNXNGMXpienJja0xYMVYyNHduMjZlc1VBQlVsK2JIeTE5TVB5dmFZbmQybmQregpLQ1V3UHkxbEFWZ3Qwemt2TzJraFd3NWZrNTVXdWo2NDhBOGRWLzY1WTkzSDNWYjlyY01UbjNkNStzL2RuOVFBNkxOSGYwRUEwaGVCCklGOE5lNTFmQjBNQUtYVWdGVUEzTTVEbWFoamRrRmVuUlRjWXNmWkRscm95ZlFjQUNQVHo3YlROVjBmOTVqL2p0MXd2M0xXN3ovUFoKaWVOOWJRWUNkeHpHb1VITG1MaVlJZkhZSWoxWWM2VEZyY052dkdzWXBLZlBUUUZFK2hHNXd3SEUyNHo0MVhlZGUzQnJKazZJTVR3RwpjTEcyZWlqSjNDOE81K2IxaWpjOEF1RFF1K2QvQVNSR2YvaEZhUXlBUWd3a0FFZ3hVQWlBTkFiU2krZG1BSkxYbU9OdTlqWjk2UDRYCnU3VWVwZzZrVklOQ0FFU0hZcUFmR3MzSFJnWlBKdFpnZ2NjMGlRTkkxWTkxYXBxdEFENlNpbmpnYlg2TDBEREVwaWtTZ056UjZpbVkKdUJ1TGxhUGtWUmdDZ05UYlhpNjVoUmxYVDZCUkJOeFFDQitSQUlSQVVRREVQRFRFSFRVUURFVDZVUUNrTEhWWEFCVEdRQXhBOEFiKwpIdmtBamtXODdzNlB2ZGlMRVhTU1JlOWhaUjY4QUMrR0xvVnhBSkdjOU9MUkpHU2pxbkQxbmV1SEFNVGJqRUEvbWFaQ0NCaUkwV2Q2CnBtbGFockV3MHpBZERFUkZvTWdBV29ocjNwbUI1UHRjakQ3a0d3SVFxK1hVc3BLUE1zbVFuWFp4R0ZGQlNMNHloZ0NTSi9SUTV6S1gKUkNRQTBYUkJPZXp3U3dGUWlINlV5MXp5UkIrTmZnaEFQV3hMZTlqcUlMamhLeFJBdE1zOUZFQzg4UmxuLzdBbFgyZ2dBaEM0RFVCRwpBR0kzdjJhSStva0VJTkZBRXNkS1dBQnhBMmtBcE5IUGJRTW9MSU5pN2NPcEFRakRBRVNUb1BrY0lBNGdhZ0RpdDhDU0UvQVV6SjFZCmlxZGdyZ1YrOXh5OENlK3V3c2JucE5rKzUxeVBjN1kzY1VFZ1phWW5VTlkrclhKMTVjcmY3MXowcCsxakx1MzgvOGo3RDdBb3I3UVAKL0IrTlNYYXoyZDFzSW0yRzNudXZpcUxZTzRwU3BQZU9VcVJYUWNYZVk0OGw5cTZ4cENlYUdIdHZJQWdvU08rMkpMdjcranZuM005ego1c3p6REdpeTVmL2YzKy9kNzhVT3d6Q2cxM3V0bitzKzk3bnZyUGJ2ODl0L25OdDBibDdEK1FVdFY1YTBYMXZjYzNYQml4c0xPMjR1CjdieTFyUFBPeXE2N3E1Qit1dTZ2UmVrdS83ano0Y0tPaDRzN3ExYThxRmo3ai9LTnYxUnNicS9lOU9UeHBwZlZtMTdjWC9OL0ZZdGYKUFZoV2QzVnp4S25kQXo3Wi85YlNZd05IcmtEMEdXcTl3ZEZod3lDblRjNk82eHh0bDN2WXJRRDlvRGpaTHFFWDRGR2N6WmZabUpYWQpXUmZhMmhTaVA0aXJ4UUo3aXpJam0xSW5zN1RsdG5NZnVpK3BIN2FnM21OeDdjaTFMVU0rYmhxM0NRRFVPSEVqTlJBQ1VLdjN0dGJwCjI5dG1DQTJFR1VTdWd3a00xQmwrdUxjNmtJQkI4a1Vab21vUVhaclJXOFQ2UWVtYzlRVjZxKzZFb3k5U1Buc3g2M2hYK1A3bjRVZi8KSG4zNjZJeWRWaHJUOVl5RGJYVWlyTFVpalBVaTlHUUJ4c3pjUXFqQjBLWWZlYlZHRUJGOStnYVFjdjN3UDRYcUJ3Q0UrM3RFOUlIbwpxVTRqSC9IcGxTNzY5MUk2eFVBRDJXV0MyRDE5QTRqL0VyUGdYWVNWMzVyL1VRQVJBOGtCSk5hUGdvRVVBVVFNQkFDU1AxWm9BeEtKClI2Z2ZBaUJxSUZqT0JRQkNJVVVnK2JoQ0JRbVJuVndVUUxUN0J3REVUaVhtREtTWlFQUVRpNGNJYThYVG9FL1JrOEFkQ05nSW5vRWIKWVZRL2NOYUdmaWk1bDg3MVFWTUFXZUt4MUJCU0JFSSs0KzkvTVFxUnQrQmdmL3dPQUhHdkpLOUJhc0dIWXV4RWFlNzkrWjRlK1EwMQpnWUhFQU1LVGpkUUNlek1ROUNGaDkyaUdvZUE2a0hxUUFFRG9VenE2VUF3Z3locHhCUHBCc1ZVUFJ5SDZnZktQL1B6TFVaYnNvcG1FClF3eEVndlhqcEpIc3JENGJpa0RJUUhqM3V5WStDRk1FVUtHbnpqemMvYU8zZUxRK3Y4dUN1YjR1QWhBM3laQzJCMEZuTkgweHZqV20KVTBJdXV2TjMzYlVMUGJUeWhpRDk5QWtnR3RvQXhBSklUQitoZnNpQ2Q2SWZPWUR3cWk4Q0lIZ1RGa0Q4NVM5Q0gxa0I3SGhuQVFUNwo1d1VBR2lwTjV4ZWdrdkFBd290UjhSUkVoYUFuNVFBU0dnajNRWXV2aG1FRENhS3I1WVBTRzRBVUl4OEZCSzNROUZZOERROGczQWtrCldJWEJEa0trd3c4RkFJSSthRndCTXNtek1KMWpiVG5IMWlvSHVjZmFaSUdMMVZKSGkva08xZ1dPcGdYaFhqbG5kdWExbklsclBoblgKOWNQY1IyZXl1ci9OZjNxMnNPZGNjZmZGNHA0ckpkMVg1blZmS1h0MmJXbjdyZVVkdDFlZ0lBTjEzRjNkZVc4TkdLaXJabVBidzQwdApWWnM2cWo1NVdyMzFlZldtN3BwMUhiVnJPeXMvYnE1ZDIvN2c0eGZsNi8rdmZQbXJ5azFmbnRtbVhweG41M2JTelhHRnU4dGlLOGRQCjdPMzN1N3RzY2JKZlBOUjZKZWlIQUdnUm1mMHozOTZ5MU02aXhNWmlvWTFac2IxVnZwMVpucjFwc1ozMVFpT3JJbjNybkdUTGpIS0gKNVhXZVpZOEdGVDRZdWJoMXlKcmFNUnVheHF4REFNS25ZQXlBbXFmaUloQUNFQmdJQU5UdXZ3c00xQm1JcjRNQmc2QWJXdEFQeE5hQgp1RFZoL0l4RWRsY0dMSTFuQzBKc1RhaXY4UFJCMzRqZUFjdHAxc25PeEtQZHljZGJrdzYxSkI1OEhuUGtsOEI5VHlPK2pMR2JKWk5OCjBkWDBOOUVNTmRNTU05VUlOTkxoYWpEc2pYVFFpZEE5ZkdWSVRKL1hBVWhJSHhBUGVVRHZoZUU1aDlEYTNCdUFnQy9Hc2htNktyajIKQStVZkV5MGhldjZMQUZMZW1DeDZHUmNXU1lvUlUrWjNoWi8zSTRpWVBuMERTTndKeElYY21XY0JCTFVmZ1llb2djVG9VYUFQQXlBSQpEeUF2ZzRINEl6NElJMnRLbWJVVjNMMHdDTnNTeEFJSTBZZm9Cdy8vNUlNbFpDT05RZHdCQmdGOTBEUFdHdHkxTDJoL3R0V09SN0hSCmlpTk4wUGlDUFdteTVtN1h3OCtDNWFCd0dSNzBBelVoOW5ZWTF4bk5JSU1HbmdRQXNmcWhCdW9iUUlwOU9RSElRS3grTUlEa1RjMzgKT1oyY1gwUS9xcjZJVGVoNzRkdmhaTTBhQXdqM0dNRmoyb0RNdzRWcmlPYlB0akJvRkNzOTlNeEwvckkzQkJDMC9najB3eHgrWWYzQQoxWGVrSHptQWVBT1JFekVPUUM0YWVCMVlMd0RLSGFKVmdJekNHVWgvRVhlcmk3blNCYlVjQUJCK2txc1BrZlZicERFWjcxY25VNElVCkFZVHB3K3VuQU81ODRhNW5CajBzaG1DMmNxOEE0bXMvakh1NFdUNGNnTWc4UXdTZzhicExBRUQwQ0l5ME51UEJoa29CQkwxQnNPT2QKTlJCK21WWStxUnZsSWc5eHZ0Rkl3KzFCMGt5S0h1UWhGQStaSEQzdWF1a1ErRlFDTkZGaUlPNHUyR3NBQlBwNWN3QngrdUVCeE5LSApBb2oyQTlHTFlPUXVtQklBOFF0UThRNVU5Z2dNWHdReno3VXdTN1d5U2pNM3k3UXdudXRpdGNMRnNzekJKTnZOc3F3NE52L3V3WXp1CkwyUGJUc2UxZnA5YS8rT3Mrb3V6YTMvS3JyK1kwM1F4cytWaVZ0dmxncFlyODF1dkxtKzl1YjdqNWxJY0FxQ3V1NnNvZ0Y1YzNmRDgKeHFibjk3YStxUHIwV2ZXT25wb3RYVFViT21yWGRWWi8zUE53Yi9QRGZjL3FQbmx4YjJsN3hhclc2dlVQVDgwSjlwbzN4SEdCdSswbgo5b08yV2prdWM3UmFaR2V6d3NOMmd5S0FGamhZbGNDMUwwdkxVbHVMUXVDYXMra0NjOXN5VTh1TU1aWnBGKzFLNzNrdWEzVXNMUjllCldqZDh5U1BQVlk4bnJHOFlzWVlGRUJnSUFOVGl2YTJGcndOUkE2SGdtVUJrTEpEQVFEQWJtaHFJTXFncmxwTVFNbEIzZ3B4QjR2NW8KVmtLOUJkd0RlUTRBU2o3Wk0vdFVkL0tKcnZnanJmR0hHbWNkNlVnNDhqeGszejhqVDFSRkhKMXNGS2FpTjhQVUlNcmlielB0ZENOMQpSUE40bEFKSW9VbElSSisrQWNSOW8wS2RDWmFoMHFHSW5IN2dQbGR2UjJCR1V0d0hqVDRpdmhqTGZMVS9taUw3WUNKNlh1eWV2Z0hFClAvN1hqOEQrM3dBZ09nY0krNFlCa0JJRHdkd2doY1lnQlFCUkE4RmlWREY5WGdjZ2JvMDVDVFFEa1lYdC9LcHpSUWI1OEVVZzlnSzgKSEVEeWFFWkNyTlFqNk9rWUd6SWZLTXBTR28wdmptbkZjZnFSeGREaGl1eVBNTWVERUxsRjZCQkxkUVNnRUhOVlRCL0tJTnJTaXlzcgpqRVhrVjcwMGxPaUhqUklBY2NGVkdiWUlwRkJoVXJqVkpXOVVZa3RRU0Q5S0FXU2h5aStFVnpRUUtmWmcwMWlwUmxvTVJBbEhEOFJMCktwVHBSdzZnTnd6UUIwTG9RL1RURzRBMGNUYzBEUnlCQ1FCRURZUUJwSjJIZ0RKTXE1Z1lhQUhYMUt3d3ZaQk84ZUdHSFBMNndaMDkKeUNqb0FlNzdJYStSQTBpbkNBTGxIekoyQ0J2b3pRSEVIWUhKTzM2d2ZnVDA0UUJFOUFPQkNoRFNEelJCQTRDZ3dWbnBFWmluRmljZQpFb1Z1YXdBUUZJUzRabWR5M1oxOUJnQ0VRc1ZEQVFUUGNBQ2lCcUlBd3FaUlppQ2wrbmxEQU1uMW94MGdwbytoVGdpS25tNGdBNkJRCjBFOGZBSUlvQVpCcG5ybEp1bzFOTm1tRlh1UnN1Y1RhSU1YZFBubGUvS1Q3eC9PN3Y4dG9PaDdiOUVYYW82L1M2Ny9MZnZKdGZ2dVoKb3M0ZjVuYWRLKzc0cWJqamZHbmI1Zmx0MTVlMjNGeldjV05SNTgzRmNCQ0dPNEhJUVJnK0M2dGE5N3hxdzhzSDYzKzV2LzduZXh0ZQpsRzkrK1dEYjg4b2R2OTdmMGxQN1NkTzk5YzEzTjNaWGIzaFpQditmdHhlOHFGamJkWDNEd3B4MXc4eFcybG92SCtxNTJOTjVpYjM5CktoZWJOVlEvanJZdytLZkUzcW9ZTi9wWXpMVzN5TFcxeVhjeW5ldG1zZFRFcHRURExIV05UV0dEKzd3NjEvbjNCeTJzSDd6czBZaGwKNVdPWHRudXVyQnU5bWdLSUZvR2F2SEFScUpVQlVMc1BPUVVEQTgzY3k0NUdwQ3N5Nkg0TVlSMklHQWdZeEJyb1dlSXBkbHlRZkhWRwpMK21acmZBcG9RLzV4b1REWFNrbkVJQitqam4rTXU1a1U5elJwdWpEdjhTZTdBeis5SjloeC9lUFhXMHA5ZEhXRHJUVUNqZFJEekRVCkRtUWdRa2NVNHFvTWl4NElYQllUMCtmMUFGSTRhSU9qTHU2V08zZmpYU3BmNnQ1YkU3U2hCbFlMS2VGTTExZWRycWZpYTZNZm8vUGgKYjc0Rjl2ODFBSWtaQkczUnJ3V1EwRUE4Z0JnREVRQ0p6c1YrTjRCWS9kQkFLWWhoRUc4ZzFabTRKWm1aZndqemdZQTE3SzV5RzFtRQpEZWtOQWdBSlFnWUM0YldwZUhhaVZnejZDTnN6NERDTG5HZlJJell5WlJGUFp3NWxBVVREbm9zcEJSQUxJMXJ6RUlpbk53RHhqOUhyCnd4Vk93VWlSQ2ZUREFBak82WlFZaU9qSEh3REVod01RTlJBSElQSkxvaGVUQnhIV2FuRTJhZ2wyR3JOczFST3RWZU5wVVFjbU5jc1IKbzBBaUlYR1VCdDZCMGdmclJ6MktCUkRWRHdGUUFtc2d2Z2lFQWNUclJ3bUF1SXRnZUI0UDFJRktSbWlSbGU5Yyt6TzBRc01NYUJ6KworUVZrTEdIUmNPMDg1QlhFRkZJRUFnUE5oeVpvRDUwaUhOMkNvVHI1TUlVSUJoRzlJWURrVGRCTXl6TUFTTDdJSFVJMllNQWs2RkhhCkM4ZG9RZkF0TUg3RnFSeEE0aVpvWE96UnhCZk5oQVpDcjRTaWtTeUhMTGpBVjcyR2FXYWdGeEQ5NEswWFVCT0N3TjE0dUNRL1NDMkYKWHBMLzd3RklYOXUvTndBQmZlUUE0ZzNVTjRDQVBoWW1LWUkxcVBnT3ZGbTJuY1U4Sy9OY085c0NDOU5DRzdPRjltWnpQWnd6QytacwpxOXNUOHZqWXJJb1RzeXUrU0t6N05xbjFtOVQyYjdQYXZzdXR2WkJhZDNIT2swdjVqUmVMV3krVmRGOHRlWHFsc09kaURnSVFHQWhhCm9idnZyT2k1dXhLbDg5N0hYZmZYdGxlc2FxOWMyVkc5dXFkMi9kT3FEVS92cjM5YXVmcGwrZHBmSHF6N3RXTE4zOHZYUDcrL3FmbnUKK3ViNzYxNWR6Nis4c25aaDZySmhUbXNkTFRjUE5wL3Y0RmJpN0xBTWVvQVFnQnhzc0g0Y3JPYzYycFE0MmhRUE15dTJOOHV5c002MQpOeXQxdFZ4aGFsM3FaNXBlN3JTc2VsQm1qZVBjSjg0ckg3aXZMaCs1ck1sejBlTmhDNXZIZml3QUVBNEJFSFFDS1NrQ1VRRHhCbUluCkE3RTd3bWpZT2hDK3NVVUM4eElGQm5vdGc3Q0UrTG9SNU1Xc1l5M0poem9Uai84eit1VC9oWjk4bnZCNVo4S3B6dEFqenlOMi9oeDIKdUMzeWl5aTlaQjI5WUhYZFlITlpxRDZldTROYmovc0drTUpjSDlFRitOZGNneWZ6b1BteGluZ0tJZ0JJUHRXUTBZKytobGV2MStCVgpKeGpMdkhWVnB1aXBlQ1A5V090RmU0MVliQ0lORjd1bmJ3RDkrNjdCLzI4RENFLzBJUUNTaDhqbTl3QklvVG42ZHdLSTF3OExvSWtHCkF5ZEFaUWl1aHJGMUlHTVYzQXdrQmhBeURlc1NPS1d5UmpEQ0RNSUJGY21yT0dRQ0VPZ0hBSVQzWnFqaDVhbUNlMmRjUVFnWGU0UjEKSUhoRE1CQUZFT2lITlJBRkVIdm84MXNBaEN0QUJFRGhmUUlJOW5Vb0dvaWV3YjBlUUFGeUFHa0UyOG9DQVVBT3NsbERqUEtIbWN4MQowOHUyVVpzRnZ6d3JHSGo4VzYvQncxZnRaSERtaGVPb0VhMEFJS2I4NHlpYlJRREVHSWh2QnFMbG44RmFjd0JBZ2xNd2ZCQ0cvbzNYCnpCK21YWWdOcExrUUc0am9oNzhKWHpaYWJ4RUtBQWc5aVhkNDRUVVVCWjQ2K1FBZ3ZnakVSN2QwbUY0aDBvOEFRTGpsNkhVQWdpWm8KVGo4S0Y5ZTU4Zy9TejJoZGJuY3BDeUJTN3lrYkpWc3dXck1NNldlczloTG9BWUlqc042dXdXUFd5TElZQTJFQWNhOGtBT0s1azRGZgpwcFhwSVVVZXdzK1FwYWZwMEFxTk44RDNCaUFkYlY4VWJTMGZHcTZwK2JkR0dZQW9nK2dLTUJ3bHRaOHdKaUZHdXFGR3V1SEdlcmpqCjFWZ3ZFZ0lMNFkwTll0bnlqNFZKR2tJUFJONytqTXMvV1k3NkdWYTJ4UlltODUzTjVybVlMVEl6SzF3Ykd2andjT2pkbzM0VnA0TWUKbmw1VWVheXc0YXZBbGkralc3L0xhUG94b3ZsTVhzZFB5VzAvRm5SZEtXcTdtdFp5cWJqajJyeU9LL1Bhcnk5RXdRemlpMERJUUYxMwpWNzI4dDdybjN0TE8rOHM3S2haMVZ5M3R1dnZKODN0N25sY3M3eTR2L2JWbWIrZTliYytxVi9WVUxleTZ2ZkxsM2ZVdmJ5MXB1Yi80CjZkVzg1NWZtejQyZDUrSlE1R1M3Wm9qTkowT3NWcmpab0N4M3RWbmlZcjNRMldxK2sxV0prOVZjSjZzaUI1c1NXNnRTRCtOaWE5c1MKWit0U0Y5T1NyKzBTcTV5THFseEtIcnFXVnJ1WDFRNUY5RmxTTjN4cC9ZaVZEYU5XMTQvQkJzSjkwSXF0ME5SQXRBaWtjQkEyRTE4Swo2d3phaXhPOEQ2VXg0dUR6NEFNL0IrenRqTmpmSEx1dkkrcEFUK2krWnhHSDI4UDJQNC9EQU9xTU9vNW9ndHpURm5udzUwUk9RdXdPCmVVZzNIL0NRSVBTck5PZ05rYXVBVTlSYjdSR0hmd2s2WEIreHN6bDZiK1cwYlE2cVhzWkdZVWcvUmpKZlkwMzhFVnhDSk1RZGhESG8Kb1pvSkp4dmpGVlpua0JxUGZBa0dlMnJHZmJzc0ZBZDlxaGxvSXZNM1JqOUw2bU1rNVljN0UvZUFnUXlrVTBuZ01hc2k4aHAxTDZVUgpLK2QxSWVnUlJVd1djZWd3YUZvMDBtSEdKTUtudEJWR0VQN0FTQmkrRWlNTUI0czNqaGc5RUI0NkNvR0p6elFLZDhGNkNWdm1FWVNvCmFCeEVEOThJdzVPZFdlZ29MTVJRTFBCQURBWk9RaEUvajAvQlZMeHBhQjNJbUwvN0RWMDEvTGtTZHh0THNXeERyb1pwWXZld05SczUKWEloK29QVUg3OEhBYTFOeEM3TkMrWVFwN1ppcWhpSWVJU1NSUGZOMEZ3Zlg1Z0wvMGdOcnFHOFlLM0RuUkNoY254QS9oSkFHanFYdwp5Qi9vU2xaMktNWkdVT0NSZHpxcit0dHA0bFloQzVWZ0o1MVkwdzluSXNlWXE0Qit1SU13L2dnTWpzUHdNd0lHNFJHRnVQZloxK2FqClRGZnR6TW5tMzVmRlZ3M1RXKytrbVVUdmlNR3hGL05IRS9vR3d1TXZqQW1XcUoyVWpQeVJjbDNQOHFxUFJyU1ROTVpaRnM4bkVYSEgKVll1N0FxWWswbVJYMlN3WWh6aElsalZZRTYvQ0dLcGRpRDZTRk9FMVlYaFJScDZIYnI2bllRR3AzRUQ3VHFtbnpvSVJaQU04MlE1RwppMERNK1pkV05reHpIcTVUTkVLM2RLUWVQa1FqOHc4WEROZWJQMHgzSG5xcm9YalpSWjZIZHZZd25Td1VEODBzWmZySmNKZGxETkhrCkxzT0xhajl3L29YSlFvL0FTQjBJaDJ2bDRkdWl5ZUwzdWZSTGNGVWVEMHRFM3k0ckdDYkY3VDdjMlJicGJnYlE0QzBXSEhld2dmQVUKUkZtZXB6UVhoV3kzeUlaNDRtMWZ1QWVJTytyaTlUTUVYNDhuREVMdTRRUFBLQUVRR0lpdDdyeFJsTGtIQ2t1L0hVRGhZZ0JCSDdRWQpRTmc5ZkxnUmlHYlp1QUprbFdtcW4yZHVOc2ZCc05EVU9HZjI1Rm5udDZjL1BoVFhlVER6MGQ2dzJvUDViV2REWDkxUGVYVjE0eSszClNsN2VYZFp6TzZ2NXgveW1zOFYxMzZXMW5TOXUrV2xSKzVVRktHM1h5Z0JBblRjWGM2ZGd4RUN0dDVkMjNkbnh2SEpIZC9uYXJ2dnIKL2w2N3BmdnVrdWQzTi81YXRibjE1b0lYVlN1ZjNsLy83TjdPWi9lM2RONWE4ZXp1NXJhYnBUMjNGblpkV2ZYby9LTHNpRldEN011YwpiUmNOczkweXlIYmxJTnNWYnJaTFhXMFdJUUFoNndDQUhNMUxuQ3dMblV4TEIxdVVXbGpOblcyUmU5a3g5NkZ6UWFYelhER0Fub3hjCjlXUTBYd1RpRGNRQ0NKcUJXQU5SQU1IRmVHcWdaNEg3V29QMjlDUisxaHkrcHp0c1gzZm9nZTZvd3dnaVB5ZWViQWsvMkIxL3FpM3kKNkl1b0U4K2lqejlMK0t3OThRaTlJMGFIUjlPQ2tDQmNuNURpazFSTzh2ZUovUXlYbXFLUGRVWWQ3WW80OGt2bzBkYVEzZTBoZXhxQwpEaFRZNXhqSWZQQ2ViVXdmaGZJUDlBRGhOaUI1N1lldDZBaVh4ck1iTVA0bkFNUWRlNGtpNW80NGJ3SWdNWEg2amxnbi83c0FnajhSCkJ5REdRS1Qyb3h4QVFKKytBQVFWSUVZLzBCYk5EOVFoYmNWY2J3M2N4dUx2WVNrYXFHOEFRZXVQcFRUU1hDTVV0eFpKNVRPYVdRQ2gKZjdieEVHcU5DTzdVVEF0R0JPRmVhVm9PQVFDSnczOFZLd0hSb1U4QVlmMjhJWUJJT3paWFljSkZJUDZpbWJWR29NRmZ2QjIwb2x6MAo0bGZtL3Vpb0hXMzB3UXdiYVJBRElKQVdBQ2lvTndBNW9EK211cC9GMytJSDZXYjZPbjlSbG5CL3RObGFCSlRmQ2lDKzlDVUhFQlRrClFEODhnUGl1WjFrYzBvK1RORTRBSUxia0k0Z3JMZ0xOSmtsMWxhYTdTVE1IYStLTllIQUZESUpVUklLZmg2TXJhSXNHQUpIWlB4eUEKb05ISFU2c1VicllqQUpIcVVTN2VacXBiakF3a24vN01BNGkwQVdFQWVXaG5EdFBLL0swQXd2V1lYZ3pFMG9kQ0J3REVmaFdlSDYxZApQQktHUVpNQ0Q0cUhqQU1Rb0ljQ0NBVy9RSmwrUEdWWjBBR05BY1RyaHdDSTQ0NVNBTEhYMU9VUit1YTFVYWFmM3dXZ01BWkFrU2I2ClVTallRQWJSU0Q4Q0FKa2JwK0xSejN5ZzlvUDBZMk9lWTJTVzVtU1hiMjJZYTJlYk1kNDkrK0txd051SGtoL3VESHF5MjdmK1dQRHoKbTdrVjM4VXZTeDRiNURiR2IvQ3dXWUVUenUrZisrekI4dFpyQmEwL0xtMzlZZDZ6YS9PYWZwcmZmbjErKzVWNUhWZm5vN0FNUW1tdgpXUEhrZXVuVHFoVnR0OHFlM1YvWmRXdFYrNDMxTDhwM3QxeGYvK3ZEVDF1dmZQejAzcHJ1KzNONzdxOXF1N1cyNVY3K3kxdkxHcStXCnROOHU3TDZVKytDcnVUTThjeHhzNWc5MTJEellUZzRnRitzRkNFRE8xaVVvTHFZTGhsamttNXZOSDJZeXo5RXEvNlQxN0NySGhaV08KZVN5QUhua3NSZ0NxODF5QkFGUS9haTB5RUFJUU54Rnhna0luRU1jZ1pjMUFBZ1A5NnIrblBlcFFWZENPcnBEOVA0Y2M2UWc5aVBUVApGWEw0UmRDaGx0QURMeEsvYUVMUUNUN3lNdW56N29nRExYSDdoWGZFZUFiSlphTllHUkk4RCtsT09ORVZpeGZSQTMwNEFKRTcrYy9DCmNDdDBkOEN1OW9pajF5ZDk2cXJwanlCaXFuajRKZGVQVnFEaUVaZ0Nla1QwVVE0Z3prQ1lQamdtc2dBR1FQeDJkOFh6THhTbCtzRVIKMVd6NENJblRkOFQwK2U4QVNGd1Q0aXBESXNyOHZvanA4MThHRVBQSDVBR2sxRUM5NktkdkFMSDBnZmxBOGpNZEFpQWFlbTVGdXFUbApSMWYwdUVyWXhFTTJwMExqTThJTjJRT1BBVVQ3YVNpQTRDZ042TU1kbkJFQWdZRlk5eWo4dzYvNERIeUtDek5NaFFudWxISGg5WU1CCnhPdW5Ed0RSUHhHaktQeHIyMm1HV0tnRzRNS1BlcGliUWFMNVFNd3BXZ0ZpT3FDeGZpaUEwRFBDZ3pEVlVCdjFZRHVOQ0VmWkxEZXQKRW0rWExRNGE2YmJxa2I4VlFJS1ZGOUJZamNLV2YxZ0FJZlFnQUlHQkJFMC9TZ1A2Y2RIQUQraFpHSVE3QmRQT3dvc3lTTnkxY0UvMApVTzFDcEJiY0QwVFdvK0xlWjN6elM5N21EQUFpV01seWwrSWlFRDQrNDc2bEZBQ0U5RE5NdDhTVGRFTnpBTkxNOHRDVVgzMW45WU0vCkpaZmtGUURFUnFFVXhBN3ZrYnVIeHBQZjkwNWZoajRpQU9FaWtCWlpDa2I2Z2JoV2E5elRnd0VFVDVManJXenNJVXdmdVg0d2dHUloKS055TmQ3N2tRekw3dncwZ3R2WG5kd0FJREVUMVk2SVhnNElBWkdJWWh3S2JVT25sTDNuNWh5N0JJQlVnUTRzME85dWlRUlpGeGtaegpkbVlGVk84TnZiZkR2MmEzYjgyQldTMC81aDVmRzJmL29iblpIN1c5M1N4OTNBYzc2YWxyU2Q1Ym5ESVpnYWI1UW5Iem1keldjK25OCjV3dnJyMlMwWHk1cHUxd0tESkliNk9iaWxqdUZYYmZYZGQxYzMzMGJYeFA3dWZialh4cFhQbXRZOXZlMmRUMjF5OUNuejhzLzdybTEKdHYzcWlxN2JTN3NyU3A1ZVdkbDFyN0R1eDVRWEY3UCtjWFBPMTFzTFI5a3ZjWE5jQmZweHNWN3NiRlhtYkRYZnhXWWVHTWpGY29tNwpkWW0xWlpHOWFWbTRaV2ExVFd5Tnc4SnkreHdBME1QQkMycUdMSVFpME9QaHkrdEhyS3didWFaKzFOcUdNYmdJUkEyRTc0S0pEc0tvCmdZQkJVQXFpQXhLZmh1MXZEdmkwSzNqZnkrRERMMEtPdG9jZTdndzc5Q3JxMU0raGgxN0ZmbEVYdHE4NytIQkQ4c25Pd1AyZGNZZWYKaFIrZ0xkSW9zRWZzYWR3SkZMWXl4TUlJMjBqMEpSVGNZYzAzWEhkR2thVWNrYmdDaE5UMWM5amhucGw3MmtJT1BQTTltbTJmcGEzcgpiYXJ1bzBRLzRCN29YQllaaUlXUk9Fb3VqbUgzUVB5TnBYNXZDQ0NoZnZvQzBCdmxOMEdudC94ckFGSWVNV1YrWDhUMCtiY0FpTDVHCjdCNnFIL0tBZFI0RElMR0JmaStBS0gzSWlnbm1QamtCRU1XRWZBT1hmRndRM043aStvSFlHK3o0RXJzVXR3SEIxQjhDSURMdW1RRVEKVkdqNHpoNnVaNGdMWC82aEFBS3N3RC93UWdHQWZzZ3NRU3ZGVzFyS0FTUy8veFhLYlFSajNVTnRSSnE3TGRYQ21YWnNlSitadHJKUQpDNVVnQjYxbzR3Lzg4YThrQytVQnBIQUZUQUFnRmtiUS9XT2xGbTRqODdOVWlUTDdLTkJCbW9FK1JYRHBEVUJLRllqREFBaDZoaWlBCjdQa0dJUGJhbDR0bUFnRElDVC9HaDErdW1yTXhkUEQ4UXh5aGdUUndrSDRHYWFZTzFrcHoxMDZIRE5ISlJFRVAwSk13SXhIMEF4OEYKQUNMZDBIZ25QRnlKOTlTZU8weXpnQXcyeEhBaEFNcW5BSUl0WUtBZlQ5M2k0VG9GZU45NzcrM1AzRE1NZ0lBbUNnQVNub2dwcHc4RgpFRVVTeldpdEVwU1Iyc1ZnSU93ZTdwbzl1ZlN1aVFDRSs1MkhxR2VpRE5YSUV1aG51RFFUQlFFSUdwOHBkNWk1aURpRDFXYlJ3RE1TCjRBNHdpSTJnb3ZPYjh1OEFFRi8rSWZyQk1ZenBEVUJjQXhEVEE0UUFaR2szeDBJLzM4NmtMSEpDYXZtRzhYZTJoNVJ2OG51OGEzcjcKaGREalMvMjBKZjNpeDloVmZ4dlhmakgyeGZYWjNaZXoxaGY0eXlSL1haQTQ1ZGU2L01idjB6cC9LRzI3bE5ad3VhRDFZakZLMjZXNQpTRUxBb001ckM3Q0VMaS80NWQ3SFhWYzJkdDFaL0g4dEMrcHZMcjM2NWNaOVd4TDJia3k0OGRXMnByc3JYOWJOZlg3djQxL3ViZXUrClVkSjl2YXp6MXZ6MkMzTi91VjNVK0UzS3k1OUtXcjVQM3BRL3o4VmlPYW45TEVINmNiSmNnQUZrdlFBTTVHaFg1bWl6ME5VaXg4eXEKZExkVjZtUGIrQWYyaFhjZGNBVUl0d0h4QUhya3NSZ0JxTTV6UmYySTFmVlFCRUlHSWd6Q0FKcklYNG5uUzBGc0hVaDRMNHdNU0t3TAozUG9zZFA4dmdZZGF2SGMrQ3puYUU3RC8xZXpQMnhNUHRhUWY3cHAxNUZYS1Y2MUJlN3JDRDdmR0hYbVJkTEk5YkMvQ0NqNnJZdWRICms5QXJZMjhTWFA2Si9hdzk0akQ2eHVleEo2QUYrMm4wY1dTdkoySDc4YWVCZTl1QzkzZjQ3ajAvZVl1QjRYUXpOVysrOFZsWStLRXoKZXhqZndGSUwrZlY0Y1pSSVNPYlAwVWZxWjZUaGk5TW5nTVNCWmFYaW1rM2ZVYW9mdmY4R2dJUkVlRTFFbFBsOUVZOUFoS0F2c2RhaAo0bmtUQUxHdkVmN2FmQ2lBbUxJV0JwQlFRcFJCaXNUNVRRQ0NjWWl3R3hXYWl6bWdNSU4yeEZNVG9TQkVoY0V5eUJJZm1ZWGlKaUVDCkdvUWhEQ0Q4amI0c2dPQ1Y1TlNHRzdTSUw1cHBSQ3JjTlJNQmlEZVFYRUs4ZmpBK1hnTWd1WEt3ZmdpQVFtam9reWcyNk5kUWp3Q20KMENjeFRhUkJGcW9CWmg4Rm9FOWQ5UlB3aG5tMVFEdk5FR3VOUU5yN1RJTitjNlVBUXJHVFJWcXFSRmpMcHVIRkYxcCs5dEprZXkzOAovcjBDaUdtZ0ZtNDhWUVlncWgrNjhnSzZuaEdBU0JFb2dRTVFqeDRLSUlHQm5OV1RFWUJJRDFBcXJmMmdETkhKWmdDVWhxK0dhZUtGCnFYQVFoc2lDN0lJRm84T2pSNnNVREVUS1A4V0lEa1B4Vk1OMDJHWktYbDg0UW04dUFSQTVDRVBmRHRIR0V3V2g0UVozRS9jQ0lHNDUKUEV3QWdqb1FjWW40ZHJxZ053Z2lmcDZjbDhtRDlETkdHeHFEOE9URFlWSjhCTVlDQ0I0d0FGS2dEeDlXUHl4MEZORERZa2hDOTNNSgpJbWJORzRiVnorOENVRGdLQnlDOUdGUDlXQWdMSUxvS0htNStLVzJDdHJCTmRkRXZ0RE11L1hLZS80TU4vcmMyVEx1L0thVGxRUERWCms3T00rcXRHZWc3cnVWL1UvRU53OCtua21nT3pXci9PK1BWUi9zY1pDVnFTUDEvOUxPUGxuWkttcjNJNkxxVS9PYmVrN1VJQkNtc2cKWU5Denk0dDdyczE5ZXIvMDE3cDFady9tUkl3Zk5jbkJQV0hHMk5pcEk3eGRQUUk5UnA3YWx2TFBwdVU5ZHhlMm4xLzQvRVpoODdYQwo1NWZtOVp6UGFqdGJWdi9aN080dll4K2VUdlJ6TFI1c0Q5MC9jZ0RoVGlDcitiWjJKWmEyaXozTTUweTB6UzIzU3Jsbm0zckhJZk9CClk4RURwMklFb0twQjg2dmR5emdERFZ0R2lrQ3JuNUFpRURVUUZJSEVEZEhpVWhEYkZ0MFpzcWZGWjBlVDc4N3V5T01kdnJ0ZkpaeTQKTUdOSm90bkVrZStieE91UHVlTzc4dFhjcy84TTNOOGFkYkE1YUhkejhqR0ZSYXAwcFh5VXd0MHhRWlZJOEF4OUhnRUlvVWNPb0toagpIYUVIR3lNT05vZnNidy9jMXg2eTc0bnY5bWNCaDZkWlJKcHFUTy90MklzQ1NORkFlRVZHcjBPaVJRQWlML09GWVBjQWdFamVFRUNjCmZ0U0ZGUjJsdUZFS0lEbDlWQ2JoaUZqejV2bVBBS2kzaUlqVGQ4VDArUmNCSktjUC9BanhiMGdpQUJDNUFnYkRuZVVZWWczRVRId1cKU2tqOEpMeVNHZ2pyaDU5L0NJM1BYTzFIQ1lBVUdhVHUzenVBU0pNUU9kaXlJSXZsVGZFaUM1KytBY1Rkb2xjRUVEV1E0cGtYWnlBdwpnYnpkdURjQUtaUjU1TkFSNjRjbkNBVVFmUjRISVFhQncxNFREK3d4K1J2ZXZHR25HWWFlNUFFazF3Lzh3cjBCQ1AzTzZJZmFhdnJhCnlhS3RwVFB3SENEMFIxRGxSaktLQVVTL1MyQWdXdzFJR0czNlliWjlLUngrd2RCbmhCNW5XU0lBQ05aZkFIcmN0RkpReEFaeTFraHkKa1NaREU3U2JiSTZiTkhPUUxCdkZUU01QUDhBM3dxQXNsSUhvZzU0aHBhQWM2R3NHQUpGbDdQUHh2WGRxSUZ3Qnd2ZTVXQUFOMXluZwp4SU8vQzlkKzVQb2g1MDNjK0J5bCt1a0ZRSlFtdlplQ2xJUytRQUFnVWdHQ3JpQXkraGt2dXlpZ0YrQmg0Q0VBQ0QwUTYyZVlSanFLClFEOGt5U1MvQlVCNFZZVklObThTZ1g3K0pRRHBSak1BaWhjRENIcUF4RTNRWEFYSU9zdkZJQ2R4UXVpRmVWNTNQNWw4ZmNtTVI3dEMKZXI3SUNCdnVLWlc4Yy85TTh1T3pzOHIzcGRVZUQycjhPcXZpVkdyTEQ3R1B6dVVPa3RxVXh2bjgvS0MwOVV4MjQ1blpUVDhzYWZrcApyL1Y4UGdyTG9JNHJwVSt2NXpiK3NQeEZ6YWFqbXpQdFBuSlpsQnhmZjcybzY4N2FueXMyUFB3cGEwMVdvdmw3ZGt0U3d6ckxWNzJzCldOMTVxYVQ1aDlJWHQxSmJ2NXY3L0hKSjU3ZTVIZDhHdG40NVoxdGl5RkNuRmRSQXVQeERBT1JrT2MvWnB0RENwbXlvUmY1YXkrUUcKeTdUYjFyazNuVEpxN2ZMRUFLcjFXSW9NVk9lNUNobW9nUUFJRE5RNGxqc0lFeGhJNlhFWXR5Z0RNY2gzZTJmd3ZwYlFBODJCZTErbApmWGsxY0pXcDVFOERKUDNma2tnR1N2cHJTTjcvZWtKeGQvNlhyL3dQTlVjY2JDR2RPdXpjSUJxMk1zUkdYaUpTZkI2OStGbk1ad2hBCkNFL29RVS9rVWRqUjBScDJzRFA0VUZ2dy9wYkFuYTBCMjM3MTMzZkFmYkc1anI5Uy9lQktENzRNTHpjUXhZMTRhaUo5Z1FCQXZKTjQKL1VoOUREVm1VQURSNFljc2dEQjBsT21uTHdBcG9vUUdMcmVqVUt6d2tWOWZWNHlRTytMOEt3QVNLNFFMZTlXY2laZzRmVWRNbjM4TApnT1EvUXZRbjR2NWNCRUNNZmdRQUVob0lBRVR6V2dDUjU4bGdhTHdkREErQVpvKzBGQUhraDBLMlp5aFpvRUUxUStYRWZTOS9meDRDCjIwekZBSUx6TDF2TkNJVTVpc3k5ZWtZOGNnUFpTdWxhZFh6NFJmQkJlcERWZlduNWl2d2FUQk8wSEVCc3BTZGNBQ0MyQmdNUG1FTXgKT3Rnd0VQME94aC80TzJoRjQxK0pqSHRHdndNOWhxUDZ3Yjh6M3h2RUhKQ1JQaVFwTGxiaGZuTzFFRXNOZjF2TW9CQ012ejRCUkEwawpBSkJjUDcwQWlGOTV3YlU4Ty9QYlR3RkFaUHNwQmhBMUVBT2dCTGdGUnZTVE5VaWFQMVM3WkxodW1ZZjJ3cUZhODl5MWNra3pVUG9RCkhWd1RJcC9pRy9LOGFVZzNOQVpRS1JuOE0xY3BnS2lCaHVFTFg0WER0SXJ4V0VYZFF0QVBBSWlPV21iMVF3R0UyNFB3dEdqU21DekYKSzhNSWdMTG9CWFdsQm1JakJoQUtDNkJSbXFXak5PWE5Rd3lBeU81M2ZyNHo3SzlBVDlLbUg2b2ZEL1UwRk5MZkk5WVBGMzVYUEE0OApvd1JBc0t0TFRKbmZFWDF0Lzk4TklEajVBdjJnc0QxQUNFRDhFS0EwUzlNNVhBTVEwd05rWTU1amFWYnFZQmwrUE5uLzhtcS95NnZIClBsam5WZmx4VU8yeGhMV1JJNVlFT2lPQzFPd09hVDJRMUhnZzZ0Rm5zZFZmUnpVZVMybTlWRExPZkZCV3VGdlh2Y3pXYnhiMlhKclQKZGlHdjlWd09HQWdCcVAxaUlWY0h3bzFCODUvVjVsLy9lbzJEcHZYMmxVa3ZteGEvcUZqODR0cnE1eGNXL0ZJeC81L05LMDd2TERINQpRUGZ3eHV6bmo4cGFycFE4T3orLytVSnUyNlhaTFY5a3RIOGIvdmlMc0lhanFXMTdBajNkMWlBRERiSmJBazNRS0VnL2poYWxReXp5CmJlem1EN2FhZDljc29zWml6bDNMd2x0T1dZK3RzeWlBSGc1ZXdCbUlBZENUa1d1b2dSQ0Ftc2JoRzJHc2dkamhRS3lCS0lBNmcvYlcKK2V4b0M5amZFN0MvT2VtZ20wVDJUciszSlgrVXZQVzJCSDJVOUIvd1Y4bWZhdUoydllvOStjcjNjRWNJMmFKSzBvMEFSSUxzMHNOSQpTRkFaRW9jRFUvamhYeEkveDhkZTZFSEM2YWRSeDVvRDlxQjM2d2pZOXpMNEtESlF2YzhuTDRNKzdaeTI5V2V2bzlaRzhpbUYzSmdmCjBJOHNoQjhJcE9BYkZMeXdYZXF2eEVDOUFtZ0dDdWhIQUNEQkNFUU9Pdi9qQUJKVGhvdElJVnpFci96ZkJCQ3ZIekdBRkpha0dxc0oKRFFRTTZoTkFzQ0tlQlJDdDRpZ0JrSm1HTDRrZkNqVlFid0N5MHNTWDJNM3gvWG1RVUREcEloSWVnYUVmWnlNTHB3Qml4MHdEZytpWgpGejBJczhiN0lwUUJTTVB2TndJSUQvN3BIVURremVHSE12aXdsZUdOOGVoSm9oK3NNYVFacENLK0VNWHA1N1VBTWxmM3NaSUcycEJyCmRNaEE2RStLeHlEaG10TnZBeEM1N3M3ZGVLY0Fvck4vQkN2ZkhXWEo5Tm9YbmZYc3Fwa3lTRHV0TndDNVNPUGROSk1IYWFiaUNVRFMKWEtTZlVZWkx4NXV0bVdTeGVhekpxdUY2cFlnNzVLdXBVUHVCTVluSU5BQWFEQ0F3RUFVUTJlNU9BVFJFRTcrWUdBaVBlMGFPOGRBcwpRaG1od3dFSTJwbnBNZGEvQUtEWEdJaEtDT09HVEh3ZWdmZGQ0S1lmSGtCNDZ6dmZPY1FCYUJoL3NZc0NDRDN3MU1JWHZtaUdTK2NBCmdJYXFLYTM5OUFrZ2JqVXBDY3NnWkJkQWpMREdvMDBpVnc1ZTc0VWlxQ0VKT0VVWG9OS05wMGE2NFNBZUErMVFGTDcxSjl4SUp3ckYKVUM4YUJYYS9HeG5HNHpCMzRPa21WRHdEMmpqTkFobklkSTY1U2JxRmFhYVZlYmExUlE3NnFPK1lGK29VLzFQSnhCdkxQRzhzRHJ1egpNZURLQnIvS1RkUHJEOGMrT1JwZmV5Q3FjbDk0N2VHWW1pTXgxVWRpNms0a1BqcWUySFE4L2VIMmhLdjcvWnBPWkQwL1hWYnpWZExMCjA0c2JyaVIxWHkxcEtzK3VmUmpiWHBuWlVwbFhlMzkyMTQzY3prc2xMeXRXeDR5Wk9NMTFSRlBWL0s3cW5JNkxhNTVlTEc2K3RxRG4KVm03SCtTV3ZHalprUkE2ZFlEK3E3ZHJtcDFkbTRUTFNqOWtkWnpOYnYwOXArRHErOFhSRTYrR2d0aytuSDArYmJtLzhzYXQ5bHJYTgpZaGZyeFRiMnhVTk1WOXJhNTluYUxIVTFXNVpoSDFWckZIL2JLdk8yVmRKanE3eHJUbG5sRG9VQ0ExVVBXVnd6ZEFsL0VMYnk4Y2lWCmRhTlcxWTllWFQ5bXpaT3hheHZHZll6U09INWQwNFQxVFpNMk5FL2UyREpsRXc3Y2pXZEdCSEdsb0tBOUhUUDIvSDNTemxjWlh5eDAKQy94QTh0WmJFb2xrd052dlNBWklCZ3lROUplOCsvWTdYcG9PcjBxL2YrVzd2elhzU0dmWUFacXU4SU1vM1JHSFVEb2pEa0s2SWcreApnZFptZ0E1Ni9Dem1zNDZ3UStpWnY2ZCtlVzN5Z3ZjLy9NRGdqeDkrTlM3blZjYjNyY0dIWHZnZGFnemYyUjZ5cHlkd2Q0L3ZyZzZmClQ5dUM5OStac2ZsVGkxUmpyVUI5Z3dnaldhaUpkb2lsNWt3Ym1aK3ViaUQ2M3pnS0kyRklSN094ZENZSjd1eGh1M3hvT09XbzQ4S1AKMG5EWDRFbm96UzhjN25JN1E1dytlM3JFOUJGSEVUSEtJMjVQWm1PZ09vSEdVRzBpaWc0Wll5am1FUlVWekNmVUhqZ1dJbFpJM3hFVApCMFZmOVRmRFNQek85UDNoQWNzZEVubXZ0TUpiZlRTYVJuL2dHQnJGOW1jNWc4U2E0ZExMVUVRakZXL0RnZE5RWVBTekVSNE16YWxJCjNBYUVZaTROSU50R3FYSlFmUEQxZVBLTU9LYTRkUm85bUFscjIrbnNSTUZKRnJnS1FjUk1aU1l4RU84U3BBUkVITTFJZm1NODNxVUsKUlNEMHBKMVdsSU5tUE95SVFCb3dHNGljZ2JUaGE0VzN3Y1B5VVg4OHNaQTc4eUkzNnNtNUZmVHVXS2lFb2xpcWhtSG9LTjUrWjR0QQorQ08yQldjVWpBeEtINklmN252aHE5QUp4RGZjRU9MQUMvQlhxWUZvUHpXcEpJV1NyN0pUZ3ZDZndwS3N6a0IvSXJhUGgzRWVOLzJaCk80eFRDMEt4VVE5RzRhcyttRDYyR2tFS3AyQzQvQk9GNGlpTmRKSkZrVXZ2RUdoOGpuUFNTRUtSYjdyQWQ5QVFnSEFGaU5LSFhZWGgKcWhrOVdDZCtzS3pJYVdDZXUyN0NFSjNNTVlZYlU3M081UHVkbmFCL2NJTHhlZy9EQkNRa1ovVzhZUWI1emxxejRUbzZGSFVnUkVKYwpodXNVa0tibVBQU0NJYkxzd1JxWjZQWHdMZlFTKzNEdFBFK2RmQURUY0sxQ3JnS2toUSsyMlBNdkdQck1SWnJERFNwa3FBUVZJNldsCkhRd2RjcFZkSER6cGgrZ0hNRVFQd29aSkMwbC9OUDZVUXhMYy8xTFA5bERMR3FxYWlUNE9VNWUzL3RBNzhPaEo1dEw3N0VIcXM1U20KMXlPdzN3b2d1UEFsQnBBQ2RKaHdrNTJaQlJjazJEcUtoWjgzQVJBM0F4cUhCeEJ4RHdBb2d3RlFycWx0YnRHMDVNdWxFMjhzSG4xcgpTY0NOdGY3WE5zeW9XTzl6Yjl2TXlsMGhGVHVESCt3S3FUa1VqUUYwT1ByeDhmaUt6MEpydm9tdS9pNnE2VXhxNS9jNWpUdXp6M3JOCnZEZG1UclZ2WmwxMGFWM3N2SVpaYzV2TGl1dlhGN2R1bi8vejRjV2RWM0xhcnMwL3RUN2p4SWJjOW9vVmRaY3llcTRzZm5wNVh0T1YKa3M0cldlM25GdjNmbzVWSE44ZWIvdW5QTjQvbS9ISWpxK1hIN05Zem1lM2ZwYmQ4bmZ6azg2akdFMkV0QndKYXQwNDlYK283MW02aAppMDJPcmQxU0o4c0Yxblp6aDFxdXNMT2Y2MkN6YkpETjRyVlc4VlVtOGJjdDB4OVlKSmZiWmQrMno3cHZYMURoV0ZUcFBMZlNiUjRZCnFHYklRZ3FnT3M4VkNFQmdvQ2NFUUkwTWdKb25ZZ0NCZ1ZxOTVHZGhiWHdkQ0tYUlovc3p2MzIvK096cmp0NDNROVhoVHhKSi8vNzkKSlFQZUdTQjV1eC9pendESk94S0pWcjhQeWdQV3Znby8xaDU4dUNOMFA0ckFRQ2dVUUVJSlJSd0IrdENETXdTZ254Tk8veEozUkZQeQp0L2VJdDdRbEgvdzB2dXpYdkI4NkF3KzJoTzFwQzk3ZE1YTm5sOTh1M0xJZHNMZkdmOGYzdzh2US96VHJHNFlaU2tNTTBMOG9NajhMClRWOGRuUUJ6YVpqUVBiUlFoTWY1VUFOeDNFRUFRdHhSYWlBeGZTQmNENURHRE1YYlhncjA2UzMvVFFDeDlHSHpud1lRUkF5YTN4cngKZTlKM0ZqOUpva3cvQThmOUZ3REVoUi85VEF6a2hmZGdRTWdlRExBTzNiWE82TWNYTHNremgxK0M0TzVwUE9DSDZJZXMraUtUbzVuQgowTkNGdzZNSHVuTzRCaUJTQWNMV1lkYXBSc1BPRFhqZS9LTXdaQ0RURDRQTVBnbzBWNEUyR2x4VGdib1V0eGlWMXc5K043STczUmE5CkF6RVE2TWNhMytkaTczL0pBWVJlZ0N0QXVDckR0ZWxnemNoZkppLy9RUFdGQWtqdUZRSWc4b3VSRjhDbi9NK0NNaFdwL1lCK1hnTWcKK25PaERnUkZJQUFRNkVjRUlPWVVqRnQ1Z1FHa3FCLzU3Qi8yMGpzMUVPMEVZcC9uRHNnME12QWhsMWFPdTNiV2NQMmk0VnFiRXNaKwpmZjd3azB2SEttZU4rMzZNMXBIQkdvczhkQXVjcFNsdVd1bHVzbnh1SGcrdkg1STgxa0FvSG5oN1JvNjdOQXVIQVJCVWJnQkFJM1JLClJ1Z1VrM21KZUdJUWQ3MkxHSWdiOTB4RCtuN2VCRUNzZ2VnejdEbVgwaGZBYStCMkdQc204UDV3M1IweGlOVVB2dkNGNXdCaEFOR3AKUDBnemJtckpOQ0lBS1pSL1hsOEJvc1FSQWtpaDNZZlREdzVmMmhGRVh5OEloV3gzcDhFclRtSFlqMUEvSWdBaDlBQ0FCUG9SQVNpVApBVkFlQXBDMWFlcU8yVkdYaThaZG16L2gxbUx2cXl0OHIyK2Fkbi9kek5zYloxUnNDeWpmRVlnTVZIc2dxdnBnVk5YK0NNU2c1cjJwCjFTZWpibi9sMjNoeU5wSlEvYkhaMSswUzZ6WG5OMm90THJlYzIrQzJxc3A4YnFWRDBRUDdCZWRka3grdHpPaStsVm1QVEhPdHFPZnUKd3RiTEsrcStMK2k4a3R0K3ZnaVBrTDZZM1hHbXJQTjZYc1gzK1FXaEkyOGRTWHA1S2JQcFRFYnpONm10WDgxcStpS2gva1I0dzVHZwo1dDIrelJzblBWZ3hKWGI0YkZlelBIdTc1UTRXeFRZMjg0YmFMSEt3WGV4a3UyUzAwN3h2akpNcVRlUHZtS1pXV2FSY3RjOG90ODVFCkFDcDNLSVM3WU1oQWdvTXdhaUFvQWlFRE5ZeGRpNlBFUUZ0WUE5SGpzQ2ZUdHo3ejNmczA1TkFqbncxYWtyKzhKNUZJM241TDB2K3QKL3YzZWVSY0I2SS85M3BYZ2l0QSsxOFJYcVYvM0JCMkIrZEZkSWZzaGVIQWlDVnNaWW1HRTkyekEybmx5YXRZZWNnQmZzMC83N2pPMwpWSWtFL3dTY0FRTW1xYmorSEgrOExmSmdSL0R1OW9DZGJYNDdPbWJ1YnZYOXRIbkdwODArT3g5UC9XU2tWcWloUVlpK1ZvaXVkQ1p5CmpMbW12N1p1Z0psbXVKZytmUUNJY2tlSmdVVDBVUUNRd28xM2N2SWw0azVmK25rREFMRkcrVjBBb2ljN0NoRzhMWk4vSjRCMDM5aEEKK3FwamxVYjhocTk3YzN4em5uMkdPNUxqb3o5d0hCc0JnS2lCaE81NUF3RFJVWWRjeVllNEIrbzY3RTU0V3N1QnN5cGVQOXpMakZWeAo1Q3ZEK0crQkJtcFMvc0g2d2VPYk5TSlFlUDBvN0k0d1YxV1lMY1MxUDBQNEl6RFFEeDJvNktLYlBObTF4RUVyRnQ5czBncUhiaHV6CmdUTUlnTWdKSGQvdmpGNVBqc3lpN0dUUktPZ0IxRTRBUVBpNmx2SXJZQmhBRnFvQk1LdVFSTFJTbmpsNG9nZGtMSUNZS2hGWC9tRUIKUk41QkRDQThGZ2phb3VITnVVTTBPWUJDNmZrWC9vbUsrcUVHVXVnQjRnRmtMOFhqbnNYNmdjbUgwQUJFMGVPcW1VSWl2UDhGTDNDVApjY3RRWFRYajNIVm11YWt1OHJJNHVDaisrb3BaRjN5c2p3L1gyT0ltelJxcWwrWXNuVFZJTzIyb1hpN1N6RkF0M0FNRW9XZGJidzZnCllWcTVwQUpVaEFBRUJvSW1hTGgxUlYvRFBqbGNLNzgzQUlrMXd3ZWZaRUZQaitMVUgvRXJ3VUI4Nnc4cEVjRklhQXdzTXZBUXJDUFgKanl3TGp6MGtjNThSZ0toK1hGV1RXQU94REZLcW4wR3FTZjhLZ0RqNndGNTNNWDBnQnZyQkF2MXd1NzJBTytMb1JCbnJnbjY0elY5QwpBQkg5RUFDbDRGdGdKdW1XWmxrb1BJQnlBVUFlcHNsZkZIbGZ5UjE5dFhqUzliTHhWNWY0WEZzLytjN3FnTHNiZmNxM3prUzV2ejJnCmFuZG8xWjZ3QjN2REVJTjZkdVhXSDQrck9CMzArRkJjNVJlaFRXZFRhbVprVlArcDZJRjc5aTM3bkdyWFJSVU8rWTJEbHpiYnJyODEKSXJ2bnhMeU9hNW1OWjNNN0xxZTBYMGhxK3JhMC9keUN4aDluTi85WTBIWWhyK044VHVlWmVVL09KTlNmUysyOHNnYWZmSDJYMHZ4ZApXc3VYeWEybkU1cE9SdGNmQ1hteWYyYnpOdS9HMWVOckZ3OWVQbkhHRUpNY085dGxqdVpGOWpabHJqWkY5cFlySEd6bWh6cGtsUnNtClBUQ0pMVGRNdm0rVmZ0azJ0ZEl5ODc1ZGJyazlib1dHZ1VEMElLeDJ5SkpIUTVVYmlHTVFZeUJ5RnFZd0lnZ1kxT0s5cmNsbmE4ZlUKSFIyUlI4b25MQjhnZWZlUHBPb0RLb0hIL2RCbjcvNmh3R2pxcjJtZmQva2Q2QWphMjhHdjBXQWxCSlVoTmlBaGFHMUdIMkh4YWx2dwpmdlR4VmVxM01XcUQvaXA1Qi8yblgzOUp2Mzc5M3BMODhhcG55VCtUVHNMZHRGYi9uVzB6ZDdYNTdXeWErZ2x5VzVmM2ptU0xWRE05CjNFOW1vaDFpckQzVFdOTlBUeS9JV0JZcXBvOEFRTVJBY3V2ZzB5NmxCbEowajN6UGwySUh0THpkaDhHTkFuMllocDQzaWNnbHZ4TkEKaG1xVFVGajZ3RC96NG5mK0R3RklWemxUaEJIVDV3MEJCQzlqM2tmeHgzRnpEb1h1RVFOSThTYjhCS0Y3WGdzZ0loNGltT21BSVZMTwpnWVllWE9aaE5RTUFndnZxekpmdzl3S0FCQVlTQVFoUDd1RUJoS2NTOHdEaWIyYVIrWW9BRjJnYmdpbkdwQldhSy9sQSt6TS9VREhVCjdLTmdEN04wczQ4Q3ljMXpMQlZ5Q3NiTlphYUhYNkFsWEVsU0JpQnlIRVpkSWovODRrN0hGQUVFOVJ2bzFHRWNJeDg1emZVZTBmQlYKSHc1QXpJSlYwQkorQmx2SHowTFZsd1FiaTg2R2h0S1JIRS9RSXMyM0VNRTdVQUN4K3FFQWt2Y0E0ZTZmYUpKWVpmckI5Rkc4LzVWQwoycDlUWFRYVEJQU1I4MGlXNUNKTkhLcWI1YTZkNGFZVjY2R2ZQc1p3NDFTejcyZFlmek5LZCtjSWcxSTNuZERCdWxGa0VHSU8waEoyCkRBOGdhTzZCWlJmVVFPUXgvdElRV1RZQUNQVERBbWk0TmpKTklkTFBTRjI4TTNXWVpzRlFLZUlPUGd0REQzRHJNV21PaG82ZjF3Q0kKNmZ1QlF5NjhwMEs3Z003N0VRNkdKdThEYjZYd2piVDFSd1NnRVRJY1Qzd2NsalZNSXdNQU5CenZ4eUJkUWZqZU96NzVjbE5MWWpOSQpQWmxtc01hc3dScEprRUhxaVNodWFnbVFYZ0drV09tUlI2bCtjT1RIVzBwQ0N6OWN5QzEzNWRHTkZnUEkyQ2lCRG9DbUU0RElGYkEwCmhCNEFrSVZwTmdvSElMUDhtUzRwWitlTnZwcURBT1IxWmU3d0syVytsMWFOdmJIVTUrWWE3enZyZk81dTlMdTcyYjlpVzFERmpwREsKbldIVis2TEtkd1RlUCtMMzZMT28ydU9SZFNkalc3OUthMWlXY1ZzMXRkSW82NUY3MldXUDVQdkRNcCtZTHJsdlZWS3pJTC9sWm5yZApkM09henhhMmZKL2UrSFZTNjdjNTNlY0xHODZrdFA1VTFISXVzKzFzUnVmWnd0WWZrbHZQeitvOFg5aDFMcVAxeStUbWIyYzNmNTdRCmNqS3UrVmprazRONElIWFR4aW1OUzBiVjVscWNuajVrakdXMnRYV1ppMFd4czIyWm5WV09nOFVLZTZ2aWVSWngxUVl4NVlaUkQvU1MKcnRyT3VXbVpVbUdWZmM4MkJ4a0k3c096QnFweFg2elVRSGhOR0Y4S2FxVE5RSmhCOGhGQkNoc3pmTGExVGZta00rYklyZUdsa2dIdgp2bzNMUFFDZy91L2dxMkFTQ1hwcXdMdWg2a04vU1RyUk9mTkFlK0FlQ0VpSVlrZ0FJNXFPb1AwOVlZYzdnNUdja0pNT2RvY2VlaFp4CjlPZVlFNTZxSnYxSW16V3l6enY0aDd4ZFpoZjRLdVh6VGo4T1FDMSsrS29haHRyRXpUMVR0bTBlTk05Y05oMzlQNnFGYnJpaE50NVgKYW1nUVlpaVROMGUvRmtCY3U0OEc3blJHb2ZmZStmdGYwMmtNTmJ6RlVXajZRY1RwQlVCdlRweStJMzRmaUxqR3cxVXkva2NBMUZ2RQo3eVo0WjBvbGVMMzhzVUtuczlBOVNnR2tVQWRTSEhJb0Q5TVFiYWcyaFlZRGtEcXRBK0hETEFRZDB1c2pCQkQ1a25JQU1lVWlPQkdEClMySG9xMzdjS1JneEVGNXJTaHFmQ1lDNHhhWHNkWG9MZFQreVZBc0xCdGFOY1UzVDNHcFZYQTBDRW9HS0VDTWN0V01zVlBBR2Rlb1MKWEtTUnp6emtHb200SG1yMGtROEZFQ256Q1BVRElRMUR1Skhaa2gvV0RQN2dBTVFmaDdFSFV0RFd3d0xJR2w4RXd3RENCU0d1aENPMwppMUlBMGZlSEg4MGV3TkczWWcwa29BOXJJSUYrbUpVWFhPdVB2UEREYi80aU43K2c4SVBvaytvaVRWZXFIL1NhSVZwelhUUlMzSFhTCjNEWHpuVlh5M1dSekVJYUc2WlI1NkJRTjBpaDJVeTl5VXB2bHBoWHZLazExVWN0ejB5aGdLMEFVUUREcVVBd2diQ0JGQUtFQWdKQnkKb0FpRVowYkw4bmtBRlhuSUNza2lWZHdlUko1L0RZQllCdEZHSHdvZ3NZSG8rd2d5UWxxRUl5dUFlRXJ6NGZBTEtqMjRBaVROOUZDZgpBeG1ta1k0SEhzTEpsM29xcWZGZzZMaXFKN0R1NGVtREErNmg5SEZWallmOERnRDVjL1RSRGtEdW9UZTU5SFhEZWduWDlJTkM5VU1CCnhNMTZwdnN1RkFHRTlJTmpsSUFCWkpBRXgxNmdIeFpBVnViWmxtWTVjZ0NaRnlBQUpZOUtPbGZzZVMxMzNLWGl5WmVMaDkxWU1QUGkKMGpHM2xrNjdzY0xyMXRycGQ5ZjczdDg4cytLVFFHU2dCNStHVnUwS2Y3UTNxdVpBZU9PKzVJZEh3aDhlaW5wd0xPeng5ekgzSW1JZgp2VjlVcXp2dm1tbHF1VkZtdVg3Mnplamtobk1aemVlVDY3N01hdndxcCtXYnZJNHorVzNmSXd5bE5aM05iUG9oci9uc0hBUWc5RXpiCjJkbHRaNU1mbjQ1dC9DS2grWXVrNWk4VG0wL0Z0QjZQYWpvVVVyL2J2MzdydElaVjR4K1hEcTJKTjdrMTFYeWFZN3FOWlltTCtWd1gKbTNrMmxybk9sa3RjTEFyM0dRVlhHQWZmTTRnczEwODhiNXQ1MzJ6Mkhjdk11emJZUUJVTytjaEEzRkJFMTlKcXQzblZneGVKRGNTdApDUnNwUHc0REF4RUdiWVIxR2ZTR1BIOUJiRXZudE8zUElnN2ZkaStXdlBVT3J2ZThSVW95YjczZEgvMWZQM3hPTlVEeVZwaWEreitUClRuWUZIWUx4aVhTUU5GMnBJWVlScEQxd0gwSVBBaEI2QUJoQ0FHb0wyS3YyN2g4azc3MkY2SU4rQlBwUjZMODlCOXIyeE94L0duaWcKeTM5dm05L3U1aG40aEs1ek92TFo1ZzZ2TFdlSHI3WlRuNm9qODdIVUNnVUFHZXUvQmtDTWdYRHZNOXZySTlLUGoxZy9panZiNlVvdgp2c1lqT09IcTVhaEx4QTVob0VkSDBLYWorOXNCeFA2RHpVYjhFL244K3dHayt5OFlTUHhXU3p3VElBQUFnQUJKUkVGVWZiOHpCeUNGCnExNVlOZ1lESjBEMFB4clBSZ0FnR3FGNzNnQkEzTEVYNmZXUmU0VTBPNVBaUEg2S1JTRGxSMkJVUElMd2Irc0RiMHVYaGNsdmhESDAKNGZYREx4WWx6OE8yVWFZZ3hGM0Y1elpiYVlTYkQ4UmxGVHRaaFBuQVFBUUNjeFZjTXVFQmhQV0RENys0RTdSWTZBR0NQbWlsd3d5cApmdUJMeEVuNGpoVWxDT2NZV3BYaDlNTzFGdlVLSUZJcllzbENUNit3aDBSSFlEU0NhaENuSHpnUjQzOEU3cmtXMFljSEVIdnppNy8wCnJzbnR1eERvaHlRZUFjaE5HL2MrNDY0ZHpZeEJXcG1EdFhNRTUxK2dIOXdmVGFiK3VNb1MzTFJpaDJvWEQ5RXNKYU9Bc3RBTDBEY08KMFNvYm9qblBYUWU5TE1GTlBjMWRsazZib0prb3RBRlJBRUhFQU9KUHVBb1FjZmdlSU93ZTlCSFJaN2htQ2IxWFQrNWhZZjE0a3FLTwpVZ0RCbmdveGc4UzlQbHdiRUYvK0VmakpVNk1RaFFXUXdxb3ZmTkU5QTlGbnFCcDMzWjJiOThQb3gwMGpVUXdnR2pmMU9CUlh0VmlJCmkyb01QT2dWUUhTN3V3QkFBdjBZNm9TUWlOM0RSVno3UVRFVTZVZHVJQUlnVXY3cERVQnkvZUNyNzJaWkNEMG9ISURNOGdGQW1aTWkKZml5WWNDVnZ3cm1DMFplTFIxNHI4YjlZTnZiMmtva0lRTGRYZTk5ZjUzdC9vejh5VVBtV0FHU2d5aDBodFZ0akhtK1BxOXVSV0xzdgpydUp3NkoyVE02dC9qS28rRW5Ndkt1ekdvUGlINWdWVnJ1bjM1a1RXL3pTNytWcGE2OTZVcHEvbjFKOU9iL2c2dmVsTWVzTzNHWFhmCnBEYjlrTmJ3WFhyRG1iU1dIOUlidjAxcy9EcTU2Y3RaUFdjekdrN0ZOMzRlMzNBeXV1RllCTkpQdzk2QVJ6dG1QTm93NmZHaUVROXoKWEtyOFRDcUdmdWpuSEd0clhleHFNYy9GdXRqS3V0alJjdTV3cy95emhyNjNUWHh2R1liZE5rMjhaRGJubmxYcWJZdU11OVlaQ0VENApGQXdCeUlsckJrSUFxaG0wRUJtSUE5RHJERVNPdzRRMzVNRkFMVjRiT3J5M1AvWGIvV2pVa3JjRy9CRVhmOGlaRkpFSmxIL1FmL3JuCmFJMzdOZjVvQzZMSnpGMFFnWVFFS3BJbllCK2tLK2hBbS8rZTd1Q0R6OE9QTms3ZjhmNGZCeUQ5U041N0Z3N1pKTzlJOVB0ck5JZDkKK2lMa2NJZnY3bzRadTZCUnFYM0d0dWFwbTV1OE5sV1AzRGhjMTlkSUYxZnBqWkZ2dEFOTWRZS05aYjNlQWdNQThRYmlBQVMzdlpUcApSd2dncGZyQkFLSzMxc1gwNFFBa1A2Nml5Q0FSRXdTSEFraHBxN0k0SXZlOEJrRHdYZUtmK0I4Q2tLNUlLcjhWT29JSUxuOVIvZUFICmpINllpbzQ4L3hrQXlZYysweE1yT3NjWjc3VWc4d2xwc2FmM0ptZzVlbWdkQ0plVStFNXFwcG1hQUl0Ym9xNndTaDNGVEcyR3Vib1AKZ3lGL00xVS9GTzVjVEw2QWpCdVE2S0FWWlUzdXZkdHJSbHFvQktFSDZLTTF2NWlDSy84Z25XQUF4YURRd2c4QWlQRVFGR01VOUdPagpEaWRsU2dIRVR6V2tBRUl2MW9qaDZ6cHlBREV2NDFiVFUvMlFYbXpsVGRCUUtHSUJCRzNSOEF0QVd6UVlDSTdlQkMzUFNnRkU5VU1CCkpOU1BOTmxSSTlaRk13a0JpRng5VDhlSTBjM3owQy9nKzRFVXBrSWpBRGxySkF6VnlSdXNuZXlpR2NHdkE4dHcxMWpxcWw2QzNzRloKbXVLa211WWlpeDJxTXd2cHgwMFdOVmc2QnhlQlJBRGlObHJ3UFVBMExJQ0dTTFBrcDJENGtBc0RpQmhJN2g2WUs4MWZwOGNIWkVnLwpmUUlvR3dMakNwblJpRGlDSnozUjc4ay96MzRqL2hJQkVIRVBseEd5UEJSV1B5UllQd0FncWg4M3RTUkVIeFFYOWRqZUtqM29TODVxCk1SQW4xV2o2K1BjQWlCdnF3NDN3NFphM2krbWpVUFdCMWgrOVNCb0tJRk9EYUpRM0J4Q2lEdzhnTXY3SEROLzU0Z0Jra2tzQmxEczEKNkh5aDcrWDhpZC9uZVp3dkhIaytiOW9QeGFOdUxCaHhkY25FNjhzbTMxdzU5ZVlhNzF0cnA5OWU3NE1adERYdzJxZlQ3KzhKdXJYSApyMlpIM04yRFFmZVBoZFp1U0tyOUl2N0JEOTVWQjhNYnRxUTNISXB2T2hmMzlGUlI2NzdNaWdzK1QwN0ZObjZWL3VUNzJLb3Z3K3ErCktYajBkZGFUN3hLYnZwdU5KRlQvWFhMZHQxR05YODF1K3lxNzRVUlM4eGNwOWFlajY0NUhQRGtjM0xndnNINlhYKzBuWHRWcnh0V1UKRHExSXM3czMzdVNPaGNUUE9jRGVydGpOZklHelZZR1Z6WHg3czZ4eHBvVTNqR2ZjTUpsMnpUanNxbFhTVGNPTVd6YXB0OHpuWUFEWgpaQ0lBQ1lwQUNFQzFUQkdvMW1NcEJSQVlxR0VVVXdUQ0J1TDJ4dE8xcVpBMnI0M05Vei9wbkxqbHFjK1d2LzdoZzM1dllmTVFrL1RIClIyRi93T2RUQXlSdnJUUHgveVh4V0Z2QTNsYi9uVnlERG1NZ2NWZ0F0ZnJ0YnArNXR5ZmtFSHFBUGtVQWVqSnQyMGZ2djZPT2dZVisKU1AvM0pQakMyUWY5UDZvZnUrcFp5TkhXNlo4aUFIVk8zOUhxaFF0VWp5ZXZmelRsNDg0eFc3MHN3cXlOdzh3RytwdnFoSnJwNEJuUQplT2VYaUQ0Q0FISGIzWGtBS2RVUE9SZFREaUQyZU10QVl6SU5kK0RGMEFjbU9QLy9Da0JrcEkyU2Y3Yi8wd0FTak9xaEVkUG5Yd0dRCllPU1BvUGJEOXZUOHB3RkVPb1JnNENFR0VCUnB5RDR2dkp3TEFNUWJDSnVtdDJ2d0F2MXdYZFg0Y2hrZE84VHRsdWUrU3dXSDRBYXYKbDBjZmNSQ3dBRUFhK0JJNy83d2ZZUkMzaFI0NmUraUlJRUFHMUZmTUIrSUpoT2d4dmkzRnpTdWk1UitzSDJzTmVlc1BBSWllaGZIRgpHRG1BQURRc2dLQU1BNW9SQUlpK25nSUlPcUNWQW9qcXgwNFdEZVVpOFRWNC9HUXZBSkxmQzhNOTE5emdSMzdlajVCQkFDQmEvZ0g5Ck9KSktqMExYTTkvNGpKNXgwMDRhckl0bi83aHFwcm5LNXJqcjVIcm9GMUwwc0NFVm9DeG45ZGt1MGtSM3pXSTN0VEkzN1NoM1F4ODMKV1lxVFpwS0xUb0NUTEFwWGcyUkpidW9wZzlUeWg4aFNBVUJrd3hjSElHZ0E0aS9BZzRGd0VhaHZBQUZyaUcvbTRodGgydk5HNnN4SAo5Qm1sdTRqZktqOS9wRzdwU04yNUkzWHgwS0RYQW9nMUVERk5OZ3BNOFlHUW9VSFpWRDk0N1laR0ZnWFFDR2tSQXRCd2pieGg2cm5vCkl3Qm9wR1krakRxa0oxOFFEQ0NOdE1FYXMxRUdrWk12RnpXT09MUzVoM09QU2h6RVdTMEt4VWsxa2dhZWtZQm0yUHRjdXByK0tJcXIKd2ZqcGlMcUJTbkZEU3pzS3o1Q3VaeWdSQVpMSWd2Y0lzQTVQbkZnWWI0Z2VjTS93SzhCZ0JLS1pRUkxFeEdDMnFXR0ttUkczK3dMMApZMldXQWFPZjZRNVVtSUtJVXVnVmZxRjQwc1dDSVQ4VVRmd3hkOXFGZ2tsbjh0MnZGVTYvV2pycHhnS3ZXMHVtM2w3bWZXdlZqRnRyCmZXNnY4N3U5QVZlRDRFU3M0dE9nQnp1REszZUhWdTBOcWRvZjl2QklaTTJ4NkVlZnhhTFVIbzlCUVEvcVRzWS9QaDFYOTNsOC9SY0oKVDc1TWZQSjFVc00zeVpBblh5YzJmSlhZOUZWODQ1ZHhUYWRqRzA1Rk5wNklhRHdlM25BNHJINWZRUDB1bjBmYnZLcldqWHU0REpkLwp5cVBOYjducTNqUHZIMi9oNDJLZWJXazUxOUVpejkweTA5NjhNTi9JNzBmVHVITDlrRXRtSVZkTVkrNGFwOXd5bm4zSFBPV09GVGJRCmZadWNDcnU4Qi9iNWxRNEZWWTdGS0E5ZDUxVzd6YThkWElZdmhSRUdzZmZDUUVMQ3RtakZycUNtU2JnNXVtUFNwcHJKRzNxOGQ3MEkKUHVDdjZ2R2g1RjJra2ZjUWdQcmh5Zy9PTzVLUEpQMSs4aXA5Rlh5bzJuL3Z3d0RjbXRNK2JWdEg0SzRudmx1N0F6NTlIcks3TTN4MwplOGcrZlBrcjhsQm45T0dPNk1OdDBZZGFJZzgwUk96ckN0clpIcjJ2TVhobnQvL3VMcjlkRFlGNzhIMzRhYnROLzZDQ21kVlA4bTUvCnlSL1JmL1Y3KzArU3Y5NmRzdVJsNktIVzZkdGJwbTF0bjdFRHlRd1JEVEVJaWExdXdzZkxqV2FaNlBoWnFRWWFhQVhwR1FSYUlkYm8KQnBwcUI2RUFlbURVSVRmMkVGOFdvL3ROdWV0Z1JocjhIQ0NHUG9xOVBsT0ZSMTBpZ29oSm9mZzhWb1dZUWVBTWNjVHR6QkE5Wll2WgpFWFRFdndtRS9RZWJEYmRZUTdSZVEvRm5zVzAwd2xHSEtEb2ZZcmhvZnpnU0JUMkE0eWZwWDRhOXRubjUzeEZQRWpyMWgzdGVFVUR5ClB3c2pRdnczUnFIRFBtYkRJb25GazZIcUJDTzFpVWFxa3d4VkpuTFB3TXFMZ2Q1R0tyajFCMDg3Sk5VZGM0MGdIS1lxbzFDaDRlakQKbkhOcFRFZVJYNXRYakZFdk1WSDNWaG81aHBoQUtZaFdnMkJZSXB5SVdTS3NhRVNqajNaYTRXWnEzaWpvWlVnOFVBR2lkK2xwLzVDbApOQktGN2FRR1FGaXJocUpZcVlSWXFRWmJJNnlvaFVCYk1ia0xSZ1lrUW1zUlZ3ZnlzMUVMbzdGVmo2U2hKUmw2Q3d3b0ErZFc4TFBJCi9CNVFWeVJNY2NUV1VjVVRGT1V0UG1vQlZxb3pVU3hWL05uME9lOG5pR0ZRdUMwK0Z3dGpaaDdpQ3BDalppeUtrMVljdi9PTEt3TFIKNVYvT1dzbk9Xck5Kb0FNNkhRN0NYTFJUbWFTZ09Hbk9jcFRoSlJqa0loaStEZ1lERDlFRHZCMU1mZFlnOUsrN1lnWkxVemdBTWFkZwpiQWMweXlCNG5ybmZ6cDEvY2NFOEtzRHRQbHJJUFdXanRCZU8xbG1FTWtaeitWanRaZU4xbDQzVld6SmFkOEZJYlR4V0VWOFdJOFViCjlweUxhMWhtR0VSQXczRkhQcnRaSXcxbHFEVGRRNVkyVERPZGZ6MHlVTTVRM01pTUgrRGdNVC9acE9rbkYyby9mSEQ3TTMwZmZ0SVAKcnZxUVlPaHc2RkdQRzZRUnp4OTFSYnVvUmptclJPS29ocU80cUVYZ3FFYVJ4UEF3U3VBQUpEQ1FIaDVzS05jUEFJaWY1YU5NUDNyaApVTmRobjRIdW56NEFSUFhER29nckM1RU5HR1lHQ2VhR3lTZ1dSck9RZnVSTFQwVWI0T2tBYUFoNlhEQTE5bHpCNkFzNWczNHFtbkl1CmQrS0Z2QWsvRkl5NGtqdjVVdkY0WktEclpWNDNGbnZkV0RidCtzcnBOOWZNdVBXeDc5Mk5mdmMyK1pNVE1YSkpIakZvVndneVVPVysKMEtxRDRkV0hJMnVPUkVFZUhZdDVmQndaQ0tmK1ZCeG5JTUlnRXZRNG9mR0xoSWJQNHh0UHhlQ1RyODhpbnh3TnJ6OFk4bmlQZjkxMgo3NXJOa3lyWGpLNHFHMWFaNW5nbnlPQ0d2Y1lkVTBtYytReFg4MndieXhJTUlJdHNCNHVpK1FiK0YweGp5L1hDTHB0eUFMcGhQT3VtCitlemJsdW5JUVBlc3M4dHRjMWtBa1RvUU5oQjNNWjQzMEdPUFpleHhHRGNqVWZGMkdMMGcxamh4ZmVPVWpRMFROalNQMy93UC8vMUgKWEZOeFgvSUFmRFByUFluazNYNXZTZDUvVzlKZjRpNlJkc2ZzZXVxMXZXMzZua2FmN1QwemRyNmN2Z3ZKNmI1Ti9rUGo3RWNtT1pXVwp1WFYyOCtvYzVqYzRMMndhdkxSdDJLck8wZXVlanQvMGJOS1dGMU0vNmZIWjF1YXpyU2R3ZDd2L3JxYVp1enVERC93Y2NtVElYL1Q3CnZUMEFWNXJlSXkzWGtnSHZ2dlczMmdsTG53Y2Z3TmZUcG0xdG03NGRBTlF5WlV2anhJMElRQnN0TXMxMDhhVVNRKzFnUGYwQUsrbE0KUSsyWkZFQUtDekUwTVhjRStnRUFDYWIrQ0FBazZIVHVJLzhGQU5GL3VkbXdQMWNSTkxnQ0pJNVMvYURmcHpjQTljWWdaQjBETlc1UgpodXl2dzNVK0dtVXNuYWoxTjRWdDdmK1pzUHJoQUVUUHZ3Ui9hV1Qwa1Z3L3JJRUVuNzRKZ0hCVUpnb0FoUFFEQU9KNmRFajNUeDhBCllvKzl1TjVuQWhjeGZYNGZnS0FJWktvNm5RYWVVZlFReGhCM0tJWnZ5NGVicWFCZjJOOUs1bXNwOVRFWjZFT1d0RE43dnZoTlpJaEIKK0E0YWJoNlNYNlRIcTlGbEVVQVp6Q0NpSHo3eVMxdDhVdzUzRU1iVEo1eEVBVUNzZ1JRQXhGZHJLSUJJRllvY2djRlBvWTNWNmtHZwpId0dBMEtmMHVydm96aGNlZUNnR2tHRHJCUURJVVRPZWJuMm5BRUlmWGJGK2xBQm9rRmFtcS9ZY2dZSFFheENBRUgzb1FuaUtJUUFRCmF5QkNINGdZUVBJZW9OOENJSHdSRE02OFJ1b2cvU3poQUtTMWRKek9jZ1NnTWJxTFIrc3M1RHFYT1FBSmIzNEJnS2grU0RMbzFHWXUKMG5RYUQ5a2NBWUNvZ2VDNnV5SjljRVlpYkFHQXVEWHZVUFhoN256UkV5N01vRDRCSkE4OHFSSU5rUU5JRUYwZGZ4UjVUN1JPQUZ6bQpVcW9mQ2lCRGZhNElSRjZtQkVBbSt0ekpWeDhBWXZTVGlPaGphVHpiMGlpVlhYU0tIcUJQSVpZbTJWYW1TRHk1S0RibWVSRDBPSE5TCnlwbEN6d3RaYmhmeXZTL2tqdmdwWit4UEJSTXZaSXkra0QvNlF1SFl5M01uWEowLytjcWl5ZGVXZU4xWTRZMFloSS9EUHA1eGJ3Tm0KMFAxUC9QRlYrUjJCRDNZR1Yrd0tmTEE3Q0Vtb2VuL1l3d1BoTlljaWF3OUhvVHc2RnZYNGVIVGRaekhJUUU5T3g2TWdDZUY4bFloSgpoSitKYXpnWisrUkVUUDJ4OExyRG9UWDdaOWJzbkk0UHY5YU5xMXpxV1ZVNHFDTFcrdVlVclNzV2Y3bG1KSWt5OTBNQXNyVXNRZ0FhClpKWG5hRm04MnREL3FrbmNmZDN3S3lZUlY0eWpiNW5PdW1veTY0Wlp5aTJMTkd3Z3kwekdRRVVJUVB5bE1Hd2c3bTQ4YVFtaUoyTGkKU1lseUNmRU1RbW1adExGKzBzYTIwZXQvOWQvVE9XT0wyNTlNSk8vZzJnOCtta0k4R2RCL29PVFBSNGJOZVJWK3VOMXJhNmZYamhidgpiVjNlTzE3NjcyNGZ2K0d1YkZiVnU1R1AveFJiL21GYzVWOWpVU3IrRWxQK1FXekYzK0lxVlJLcjFXZlZ5RktxZFRNcTlPZlV1cFIxCitPMW84dDNSNHJPajNXZlhQK0pPaDBsZC95RHBQK0NkZnBLMzhROTYrKzEzL3laNXY5VnJ6YlBBZlVnL2lENllRVk8yd0drZEl0cVQKOFI4ZmNDcXgxTVl0RjBZNklYcTZNeTAxQXd5MEF0anlqOExLaTljQmlGNTBWenp6WWdiOGtQS1BtRDRRUmZTd0dPTEV3d1k5S2FiUApHd0pJOE8rM21ENXZCQ0JGL2J3V1FFb01SQ3BBaUVHSVBraENpQ0FhZi9iNHIxU0FsRTk4RnYrTndlQkhnUmVWcGpjQUtSZ0l2YUhLCmVCWkFTRC9HYWw3MDdqcHRjT1lpS3NOQW9CbElmc0tsd3RHSG5hUElSa3lpdm1PcTZvVmlvaktGaG45bXFxa3ErdW8wemtNOGlZd0gKVGtNTXN0SUlSamhEQURKWG4yNnE0a3NCeEE5WHhGTVF1V2ZJL2cwNEdvT0w4WFl5RW8wSVJCbHFJQ3ZWWUM0aUFNRk1aNTQrY2dEQgpnRUVRRDFoSHJoLytxancrcXlJL2pqbUpZMTdEMzNMSDRjVWpTTzhBa2xlRHVMNGZZaUIrOHhlMFB3T0E4Q2tZbEgvZUJFQ0R0T2NnCkFLR1BCRVA0Vmp4L041NjBSUlA5T0tzbncxcDQrcW1yV2pJRkVLT2ZGSGF1RDl6ekdvclhZc2lib0lVQWd2V2xzTUpDeWswMTVLZjcKRkpLVEw2eWZNYnBMU1JhUDFWNEdBQnFuZ3dFMFNtYyt2YjBsNkZ3VzFINm9mcFNFNkFkS09BTDlVQUNOMU14bkEvcEJKS0lBY2xmagpGNTN5SjE4QUlLamxBSUJvcHpOVWVoUUJGTWFIWlZDa3hFQW5VS3dmWEJEU3hlaWhBTUlUZmZSQ0RmV0Y5SUdoUG5pdWozNlVHRURvCnV5aUErUEpQSkRUOUlPNklBWVNmNFZlQVFma0hBOGdvRlFCRXo3bFlBeUg5VUFDeEJvb2FNZWU3NHBHWGN3WmZ6Smw2T2QvanA2d3gKV0VKelJwekxIblUrZDh5Rnd2RVg1NDYvWERyeHlvTEpWeGRQdWI1MDZzM2wwMjZ0bW41bnpmUTc2M3p1YlBDOXQ4a1hNYWhpVzhDRAo3VE1yZHdRODJCbFl0VHNZR2FqbVFIajF3UWlVMnFPUjFFQlFDZ0lHMVgyWmdJL0dUc1hWbll4QitxazdIdlg0U0dqdGdhQ0grM3lxCnRrOTl1SEZDNWFwUkQ4bzhLck5jN2dlYlhSdXBldEhvaitjTkpDSG13VzRXT1E0V0JTaXVsZ1VJUU5zTVo5NHdpYjJuRjNuWkpQS0sKY2V4MTArU0xwc25YakZOdW1xZWk0RzVvcXl6K0lLd1FUMmgwTEtva0t6S1FnVkRvM1hpdUZLUjRJdlpvQk5jY0xUOFVHN3NXMGpScQpUZU9VemZYVHRxRFgvRi9vL2h1alMxVnhUZVp0SWlESlh5Vi9TdFFZOHpKa2YrZllqWWcremRPMk5rM2Y5c1Q3azBiLzdXMCsyNnBOCmMydmVpMjRkbUZJdFRhNVR3M21zbWxTcm1saWprb0R5VUNXaGFtQjg5ZnN4ZDk0T3JiTXE2ZzdhVSsrM3ZYUDZqbzZwTzM2T1A3WFIKTXVBZHlZQzMra3YrZ0J1TmNKKzE3ZHU2UC90dDYvTGJoZlRUNUVYR05rN2VqRnUySjJ4c0dMZStidHlxYjl5WDJHZ2h3UVFZNjRZaQorbGhwQlJ0cGNnQ2krbUVCSkE0Q2tLRzZENDVjUHdvQVlqdCtBRGRpK3J3aGdNQTN2eHRBdWgrTkV4Z0lHQ1NtRHc4ZzVWR3FuemNCCmtOQkFwQjBIeVFNeFNQYlg0ZWlqc1hSaWJ3MUEvOVlJOVNQK3UxS004RzlBSElXL1V0R0ZlYUFQOTRBV2hGUW04Z0NDRyt6UW5vdzcKbExtb3pJQ0lBVVRNeE9rSFJrZ2IvM1lBaVJlVFFVeFVKMEdNVlNhaTBFOVpFbEVNb1ZqS3Boa1A5RUxvTWZnQUk4bE16UnQ1eUd5ZwpRdm1ITWdpSExPTGdlb05nbndZV1NUU3lDMEtNdUE2a2dCSmFubEVQWWdFRTlCRUFpSVlIVUNpK3JJNnJUUnlBK050bm5JM3dLNWxKClB5eUFyTlVDNklrWXl4MEJoZ1Q2NGNjZWNwTVBlUUNSSGlBQ0lFZU5XQlJuTXYwWjJvQVFnSnp3S1JnR2tBdGVmNUdLOVVNQU5GZ24KZ3hxSTlFZW5jdE1SU2IwSGljZEpMWWxsRUFVUXF4OENvUFFobW5NQVFMUVpTQ21Bd0VCMG5pRWIwSStuOXR5Uk9tVzQ2cU83ZEt6dQppbkU2UzFIR2F5L0hJUUFhaXdDa1hVWU1OQTh1Y0ZHKzhBRGllcGxCUDdDcGxDMzVBSURneWpwRURDQXdVTzhBeWljQXl1b2JRTmhBCmFySDBucGRjUDBvQXhDYWNxd0J4YTBxWndQNEtiQ0N0UUYxdFBPWUhBY2pJSU5JQWVuM0lUUzQyYndJZ1V2NTVRd0RGY3dBeVRPRUIKbEFYUWdRSVB1QWNGUG9WbjRLdTJGdmwybGdWZUx0bGZGbmxkeng5eGZzNmt5L2xEY0FVb2Y5ckZETThmczBhZnl4NkREUFJUL2xoZwowSlY1azY0dG1ISjk4ZVNiUzcwUWcrNnM5Z1lHM2Qvb1c3N0YvOEZXLzhwdDJFQ1Z1NEllN3VIcVFMZ1VkSVEzMEFrT1FJOVA0eno2ClBQYng2VmlrbjhjbmNPUHpvNk5odFllQ3EvY0ZQTnp0WGJWMWN0VzZjUStXZVpZWHUxZWtPTjd4TWJ6c1B2QUgvWGUrMFgvSDF5TGEKeFRMWDBRTDk4b1ZPbG9YMjVvV0hEUDF1bXNYY01vaStZaFo3MlRqMnFublNUMllJUUdrM3pGSndIY2g4RGpWUXVXMStoVjFCaFVNKwpCaERwaWVZWVJNN0NIdkVHZWpRVUg0Y2hBTEhOMFd4akVMYzdiTVNxMXNtYkxrOWMvblQ4cHVhUkszLzEyLzZkWjk2a3Z6bG9TL3BaCjlGTXB0WnJaNnJ2OVY5LzliZDZmTmt6Wi9HaksrbGJ2YlUrbWJxcngzdGdTdEtQZVpmNzlQMFUycUNaWGFDUldxOFdqMUtnbjFHb2sKMWtpNVZHc2tkQTlNcTNvdnF0MWwwWXVJL2ZVK2VLUWhTay9rMGFwUlpmMGtmK3cvNEswL2tGT3dmcElCUWJxZXI0TDN0MDNmMnVTMQpDYVpYTjAzYUFIZjQwZS81ZVBUeUswTlgyR3Y1NldzR211amgzbWRyN1JCanJXQVRyWmxrR2FxL2tjd1BBcC9TcW8vSVFMZ1ZXZ0FnClFwK3BKSElBY2RaaG54SHg2UC8vQWNTRWVYL1ZzZXluWXZxSUFZUmVKdnZMQ0dPTnlacC9IV21rUHNsUWJhTEcrOFBSQTVGWC91MVIKcmgveFh3NzlLK283d205Uk5qWWF6dzBpVHlvRkVCaUkzdW9TQUVoZ0lMWUN4SVVEalpBK0FnT3hKMlhrZVNGOWVBQWg5MHdRQkQwcApWOUhBeVJCZ2tKazZmbUNwRVlCN2c5UjlMS1hRSklTdjJkUFEwZEs0ZXhydjR1Qm1DR0VBOFVNUm9ZcGpvOGFkaGVHb2g2SW8xWSsxClJuRHZBSkpmY1djYXEwTnB6elUvZzVGK1NRNGdPaktSQlJEbzU3VUFFdXNIVHI2b2ZpaDlhQlAwR3dJSTBXZXdkaFlPYnlDaUlzNUEKOU15TDZnZk93bnF2QUFHQThFRVlSSEFLSmpBUTN2TkZRdWtEd1owOTJ2T1FiMEEvNC9sTTBFRlpob0lBSkRlUWRobHNMUjB1SytEMQpnenVkYWZzemhRNTcyZ1ZWSHd3WHRmUWg2cG5ROGl6V0Q0U2YrS3h3Q2dhZkR0ZkFBRUx2QUtkZ2c0bUJsQUtJWG5GWEJpRGxCbEk0CkFsTUNJTzBnMkdDS0Q3UDBJeENBQk80QituRDZFUUdJUFFManl6LzQycGVaWVF4TEg0VmdBTVZCK3pNQWlCZ29qUjUxVWZIdzNDbTAKTVM5QXNUYkxSeC9ScDNhV1JmWld4ZTVXUlFjeWZLOFhqRHVmTWU1eTNvaHplZU4reUI5L0dla25jL1JQV1dPUWdSQ0pFSU11NW8rNwpXRFRoOHR4SlYrYVB2MVkyOGNhU0tiZVdUYjIxY3VydDFkNzNQdllwWCs5WHZzVzM0aE8vQjl0blB0Z1pXTGtuK01IZWtBZjdReXNQCmhEMDhFbDU5TktMbVdHVE5pZWpha3pHUFRzVSsraHpwSjY3MmROU2owMUYxcDZJZW53eC9mRHkwNWtoUTlRRS9YUDdaT2FWeXkvaksKTlNQdmxRMjVsZXQ4Szg3MjJoVDljMDRmZktYemgrTjZIMHl3bk8xZ2djKy8wTytQSHRpYjVSMDNubkhkSXZhcWFmeGx5K1FySm5HWApMSkorc3BoMXd5ajl1dWxzQktDYlp1bU1nZkpRK0l2eDJFRDgzZmo1TllNVzFBNWV4TjRPWTF1Q0JNM1J3S0RXMFd2dlRsbURxTkUyCllrM2I4QlV0dnArOG5MYTFmdnJHaWdrTHJub3RlaDZ3ODVYM3Z0cVJhNnU5c0VnNnBtL3BtclM1Yy9MbWhzbnJPZ0oydEk1WWNlOHYKMGJVZnhGYXF4TmVveExHcFZZMS9wSUxUOUpmRWlyL0Z0WHV1N0FuYzJUQnRjK2RVYktBV3YwOWZCZTRiOGI2bDVKMEJlTmppdXhMSgpXMjhmOThqNlI5Q2hWcS9OUUIrY0Nlc2J4bjJNOUZNM2VuWGRxT1gzM0ZlNWtCMHNDRURtMnFGV21xRW0ybUhBSFVFUWd4U1B2YmdBCmdHZ1BFQUNJci8zOGV3QkVTeXdzZ09pbjRpaTRSQUVseXY5ZEY5UG56UURFdkRsTUZId0RBTEVHUW8rMS96YmFRSFdDMWdlajhJcXgKRDhmQVk1RlgvaU5oOVNNNDZ1cnRMMG9Rd2N0UUVER3hNbnRibmFFSUlIb0VSbGRoUUIySXBqY0FrUVlnZk5XTEJSQ1NqZGc5RU9ibwpDbmNvdzJQMHBKZytFSW9lbzRIalVSZ0RjUUF5K21nU0Nqa2F3KytKbmpUODIxVEREM3lOUC9RMy9zZ2IzeVQ0eU50R0Zzb0NTRDV6CkNBTW9CSVgwUk1PS3NXZzdhYXl0Umd4VWdBUUdRcmloVFQ4Y2dIaXM5SFlFUnVuREdnaVRDTzZVa1d0bExJRGcvaHIzdG5SVkt2cEIKekxFWEM2RGVqc0RrOUdIMDR5RER2eElNUDhSWDM3VVNjRFNUc0hKNk9RSmpBWVNVUXdFMFJDZmJIUmxJYXc2VE5HaDVabHQvNU4zUQpvZzVva0JBWkJhUmdJTndQaEVjaktyUkN5ekdFMTUwV2NwdlZTZUFaTXA4UUFXamhHSjNsNDNWV2NkRmRNVkYzT2RMUGVPMmxLSnlCCnRCZU4wVm80U2dldmFxY3J1Z2lBNUMzUDdGR1hHRUJFUDVnK1Nzcy9FTEx0aTJ1Q3BneUN4d29BVXArREFZUXZ3RU1mdFB5aU82T2YKR0xsK0tJQ0VIbElHSU5aQTBQSU1JZVVmZk5vbEJoRG9od0tJUFIzckRVQklQMzBBQ0dvL3RQekQ2Y2NvemNvMEQ0Z0Qxb0hBcHdnTgpFRVFmZVN3V3J3N3p1NXd6NFZMT3VBdTVZODdtalR0VE9PSlMxdGh6bVdOSVJ2K1lNUXBqS0h2VWhieXhsd3JHWDVvNzlrcnB1S3NMCkp0eFlSRXBCSzd6dUlBT3RuWEY3L2JRN202YmYzZXA3LzlPWjkzWUczTnNkV0w0LzVNSEJzQWRId2lxT2hsVWVqNmo2TExMNlpQVEQKVXpIVnAyTnhUb1U4T2gxV2Z6cTg3bFRZbzJPQkR3LzVQVHpnODNEZmpPcnRreXMzanExWU1meG1pZXZsZEx1TDRhYm54bXArWmZQKwpDZTAvNzlGVEgyNlpiVzJCcjREWldoWmpDWm5tbkRDWmR0VTY5cUpWOGlXYmxDdG04UmNzRTg1WnpycHBpQUdFRFdTYUJnYkNveEd0CmN1NVo1NWJiNGhVWjVHNDhQZ3ZqcjhmUHEzWXJRNEVwUVFxWDVCVWxCRjFCS00wVDF0OGN0YVRIWTJYYmhIVWRFelpXamxqV01HSEQKUDhiditNZkVyUyttYk8rWnNLVjUyR3BFbHNlVDF6ZDViV2dhdjdaMTBrYjBzdllwRzF0bmJPbngybFJyTU9maFg2S2ZxQ2JYcUNUVQpEdVR5U0NVUnBWNGxDVDMvNEU5UlZXWTVuVE8ydEV6ZjNEbHRhOXVVemEzZTIrb25iZncxNlBEM25zVXl5UWQvbGtqK0l1azM0aU9yCm40UDN0SG52QXZyZzdteFMrMEVBcWgrekJ2K3FvNWRXdWExeTF3N1VNd2cxMWdtMzBnNUQvN3VNQU1SV2ZkaFNVRzhBNGhiQ2sxdGcKTElERUkzL1k2KzVLd3B5Q1VZV1FHK1lLN3VtRFBtOElJTUUvNUdMNjhBQVN2Z01mWmZwNVl3QlJBeUg5bU1xOGtIaE1wRk0wM2grTwpQaWFGcmtVZnhWajVUMFNnSDZVenJ5SGlaNVM2aDZhMzVhbmNjUmloRC9RR0dhcE1SZ0RDZCtDaGxVZlJRR0w5UUJOMGJ4V2czdEk3CmdDWXBEWng4WWVnZ29nMmNRRCtsaFI5YSs0SDN0Tk1KTVBqcmRMT0JJWTQ2OGRydlRjRVZJTFVaVmxLNlVWVWVHQXdOUytrRkFMS1gKeGRsTFkwRXdBZ094QUZLNHpkNUxFelIveFIzdmFXY0dRNGZaU2VNQlFFaENwUHVIcXd6UkRpSG9BYUpoMGNQbTlRRGltbjZ3Zmh4awpNYXgrbkxVVG5RbHg4QjMxLzRlNnV3Q1A4dHIreFQ5UWV0b2VhU0UrR3BlWnlmZ2tFdzh4Q081UjNBbEVJRTZJRU55MVFBMHY3aG9uCkFqR3NMUlNYdUJHc1BlY241OTcvN1YxNzcvZDk1NTJaQk5vZXViLy84M3lmUEpQSkpBejBuUExwMm12dDFVc1R0QkdBa0g1czAveHMKTXdQczBMcFRYMkU2MjBBRVFBeURRRDhFUUdBalV1OEI5SkJ1YUhZMWlBRVFNUkE1RHV0dEZveSs2UWVoaDRROEEvb0pGYTRLRStHbQpIOUVXME04d3UyM0Q3YmFOd2dZaUFNSUcyc0FBQ0UyRUNYTHBlNXl6Q0lBWUJobnFKOW1mdTVBMC9lQnpzUXlrSDd6Z2dnMGdmNXNNCk5vRG9xNStaL1YrVWZ1QkwrRFZVanhIU2ovVkNaZ3BNUC9STzY0Y0JrSWZGREJhQXFLNW5vN0lRUjMreG9hR0JldFNQRVlBWS9VQ28Kb3pHRERpR0RNZmhmQ1NDSjB3SVNxWE1pZmY2VkxITkpZZXNITUVROFpGVDEwY2p6NFNNQmtNeDk2N0t4RWRmU2gxelBDYS9PSEZhUgpOYlI4YVVCZHhoQUNvS3RwZzZwU1F5dFRRb0JCeUVCWmcrdHl3dXFXRG1ZWmFPUVBXOGFBZ1c1OVB2TDdYV1B1ZkRQaDd0N0lPd2VpCjd4NksvZkhvNVB2SHA5NC9OZVhCNmFrUHprNS9lRzdHNHd1ekhsK2EvZVR5SE1pelM1TWJDNmEyRms1dnZqeTE0V3owazVNVG5od2IKOS9Ub3VLZjdoajMrSXV6K3hzQmJlUjVYRTkwckp6bVhoVmhmY3YvNHBPalR2WFpDSDFtdVZMcEM0NDRBcEhWZjZ1R1djZEZ0YkwxaQpiclV5cVU2ZGVsMDZ2MFkydjFxV2ROY3BuUURvdHVzaVlxQTcwclM3N3BsZ0lId1dwamNRMlJpUERiUUt3amFRL3NKb2ZGOGlZVkJqCkNOVWNmUzk4ODk4RFBtOGZzcjB4Wk9QVHdWdTZCdTlxZ1F6NnNuSDQzdGF3cjU0UC83Smg1QmRkSWR0ZURkL1ZOR3BINTZoZERhTjMKdFF6ZjJUbm15NmVqdDNkSDcyblY1dC85OC9RV2k3Z25WdkZQclJOSW5sa2xQTFdNZjJLeDRMSDUvSHY5WnpVSHJYODkvVkRUMEcwLwpqZjRhY0lONmlVWisvV3IwdDMrZGZ2eTBmTGJpRTV2Ui9kMWVUL2k4SzJiL2k4RzdFWDJHNzJvYlJ1bW5OZnp6RmxUKzJkbytlTk16CjNhWUEyMWg3NStuT29ta0swWFFKZjdLTGNLb1RMNUlBeUZVWVE0N0Q0Rk40a3BsN053VVFNaEJyRFA3ZEFESjRoaFYySnhCTFAvOU0KQUJuUmgvenR6cjQzaUIxVHVKQVkvRmpXN2kzRFg4dmc5YVkvQkFMc0VId1dDbCtGai9BWVNBVDY0ZjBsMkJRci8vUVlsWC9JMGc5MgoyQmpxYlF6ZWxENFFXN1B3M3dRZ1o2dFJqaGFqaUlIb09oRFY1V01FSUdZS2pBRVEwd05raXA1L0NFQzBja2lsaC8wcG9ROTE4a1czClFqdWJqWlZ4cDgwWStVM1c3UFBBR2plcjhSSWIvSWJ4cUR6RElFby9WdWhhSXpBUXZGSXBRT2RmRU5DUFJyQkFReHVJQUloTXhVUG8KaTNub0s1aXBCbWZVTHMwcUZPa0J4TkRIRkVERVFBQWdjdS9pdXdHa3NKbllvNEY2RzRQdkNVQ282UWQrVTJqeEJkYVBUcFNJZTV5Ugpjbm9iZzM4SGdQeHRNekdBREF4RTZFTU14QUFJUHZWRFYvNzBCcUJGYkFBUkEvVUdJTEx1MUNob0N4Z0RJT0htSWFLdFEyMlJmZ2lBClJ0cFNBRUtsSUx1TjRhTDFnNFhyU0RjMDJlaE9qOFJuZ0hYZ0kyVWdYUEtCajZBZmlKOU5FcGwrRDBCRFlabW9hTlFUZ0JnRHNlbkQKMUg0d2dKYXdBSVFNeEFBSVgvR3N2L2FRVmY2aGxNTUdrTTV5UG5WWWhnL0lVUEJnUEllOXVKUWNlN0hEUGdJakRISkI3VHRVREFCRQpIWHRSTTJLa001ckJFT1VuaDFud1hhNUlQM09vdmU0bUVidkVrd2NTMXdTSlN4SlorUzRUSitNUk1IUUVSbFY2cEV1VmtqeWxKSi9jCmZLaVE1Z0VkVkxMbGF0a3FuRFV5UmY1UWorV2xTMGQ5bng1V2tUNm9ObWZFOTJsRGJtYjYxNllIMXFRRlZhY0VWNmVFVmFlRzE2UU4KZ1kvWFVnWlhMeDcwWFZiWW5lelFXOHVDcjY4TXViVm0wSzFOdzYvdkdIdHJWOVROSFJPKzN6SCt4NjhqNysyUC92N2JtRnZISmw0LwpOZlhSaWNuWGo4MXFLSng4L2VLOEd3V0pqd3RtTjUrZCsrQk04aThGb1kzblk3KytrRCtrNExCVlliblorV3QyNTR1bEJlZTJmTHYyCjhVcng4M3lIYS9rQnBZbk94ZVBrRjRNL3VleHNVK1Q0NlVTM2FKVWt3MHVTcXBBczEwaVcrVXRUcGU1THpybEUzdERHMXlzVHJxcVQKYTVTcDM3a25YM2RkY0ZVZWYxMlNkSU5NaExray91Q0doc0xRelVBS2FrVUdXWlZLR1BUWUkvZUpaeDdkRXJUOGljK0twNzRybi9tdApRZ2xZM1JDd2xrcmd1c2FCNjV1Q05rQUFQVTJobXlETllac2hMWU8ydEE3ZVNnVzNTRFBEWXFRZUEra2F2ck5qNk9mdHd6NXZHYm1qCmZmeFgzU08vYUpUbjNmaG9TclBObkFiZW5DZmNXUSs1czUveTVqWng1elVObVBYczQ4bTN0WG5kWTc1NVBYNXYxNml2NEFFNTNrSXQKUHNPLzZCNzE5WnR4ZTMrT09QRFRoUDJ2eHV6dUd2RWwrclhRd0JkMThvWG05c08ydEladWJndmQzQks2dGpWZ1J6Qi9Ja0s1Y0twTQpORVhLbitoaU41bHAvVEdLZnZlRllWeDRFM0Z3TXhDbEgyUGNHRUNIVmZVeGVsNS8veUZkaHNFWTZrRTg1STVCMCtmdERKdVJmMTJNClZVVEg5SlhHNlJWR3Z5THM3MlgzQnBsU2lYcU5pV1BZbWpHTjRheTd5ZHc3NnowVDN6amJqSWJROXhPeVBZU2VJUURDN21IZTh6Qm4KbTVId281eXN3NXh0Qm9uNkJ6a01DSE0wQzdjekc4eWNmNUgyWnhMMnVSalRGazA5cHFmaVFVS0lMSGpFSFYvMmcvWmd1RmlpajZnMwpDTjMzTTVaZEFXTHJ4OWtpQ3Q4R05CcGU3R2dWN0dxRGJsWjBzUjVKVDdNakFCSDlrQ0d2M2lvOTdDNGxFZ0lqZXFzcnVyT1I5QlZSCnR5OWFqWGZuUnF0Rk16UzJzNlhXazhXV2VLVUdONUtlZnFlUHdMaXg3RFdyOURnNjZzaEJST0ROMXdqaUVJTlFFdFQ4K2ZBOEdJVWUKL2tJWC8rZ3ZZc1lkelNvaDBDcFNZalZCd1VQclYvRnVpb2tLZmd4enVTTDY0U0FxSERBVzJjQktuM3pwdWNPMCtKaUc1WjZKRUpvKwpFM0dZeHVmcGF2NE1DRG5xWWxaOW9aSVAwUXkrM3BEZHpRT2E4YmRiUWpmMExFS1hIL0lTY0E4UTZvekdyQ0hLU2ZjVFpmaUxzaUFCCnRrdklBM2lHcVFQNWlkSlE4SkVXSFlRZUVtOStxbzhnQmVLTnJ3WHk1TVo3Y3VmcmVBdVlNWGh5OHFVUEhuRW5TMHoxWFQ1NDFSZCsKc0F6ZDdJenVla2EzSGFMZVo4SHF3Y0kxNGFLMWtLRzI2eUREN05ZUHQ5OHd3bjc3Y0xzdFErbWVhUGdxSG85SDQyRDZpVERNSVBvNgpSS1FmWnVETCtEZ002d2ZqSnB2YzlSeUVpajBaSkVHbzlZZGU5WVczWHBDZFgvanFaN0x5WWlIVFhvMXVQc1RkUDRpRDNBUWZiaHlKCjBZNExnOE12Vm5RV09KWWdvZW1lRnROd3BrSUFRRk43TXhDNi9CQURpRzZDZmhlQUNIZDYxQThGSUt3ZkdrRHpUT2xqRktJZk55ZkUKSUptWTNQZERlb0R3bVJmU0R3S1FBaDRqK3VTcjVTczBpcFZheFJvUDVYcUlXckVyU0xGMHk2UjUxM09IVldkN1YyUU1xODhhWDUzcQpYNUVlWHBVMnRDcHQrTlgwRWRYcHc2c3podGFrRDdxV0dud2pKYlJxeWFDcitlRTNscUxwc01yMUk2K3VIM1Y3OWRnYlcwWmMvM3hFCi9aY2o2L2FPcmowd3R2N1EyRnRISnR3NUZuWGoyUHdmejBkZlBUUG5oOU5qN2hZdXVIZHN5cjNTNkZjbElTY3ZyUmx4NlZ2TzJSck8Kc2R1ZkhpMzl3NmxUbkRNbG5GUDNiYzZWaFIvYVhwMnF1VHRYV0RFNThNd0VsM1BlZi81VytvZHZuV3pIdUUxWHVHY0RnT0MzbzVVcwo5Wk9rU2FUWnAxMmpyM3NtMUtzV1h0TXNxbFlsMzVhbjFJdmpDWUJ1aXBNQVFMZGNFNzkzVGZwZXNnZ005SU43eWgxWitsMTVCakVRCnRUR2UzcFhCM0JiTk50QnovOVdRaG9BMWpZRnJHNFBXUVpxQzEwTmFRamFSZ0RNUU5jSzJRTm9IYlcwTDM4YWtmY2gyQ0xnSFpmZ08KQktBaDIxdUhiVzhidmF0NzlKY3ZBalkydUN4KytLZEpULzR5cGQxODdpdWJoRGF6T1E4L21mVGcwK21OZ29UMjRidmVSdXdIOGJRTQorVnpmM0FNR0d2NEZpQWZ5WXVSWDhCRStwVW8rUTNlaHFzL2c3YVR3Zzk0WXZMM2dqVTFCcTU3N2J2WG54YUQvVFFxbnVnc25TM2pSClRxS0pwdlNoWWtJZk12OUY2d2VQZzdFQVpIekMxWHVNQWNRNmh5SWQwS2JRK1NjQ3lPaEFoeFZqZ3JEUlFIK3Y4VmQvWC80UkFQVWUKVS9yMEFDQnkwdzlBaDl5T3c3cWpXUThncGdKazhNZGlQdHJlZktUZ3M4RzJBd2FCYkd3SGhOcVpoVG1aSS8zMENKM2VubWRWaGhBeQpHRnM0VzZMdFhWTGVaSWlZR3dQb0lRTmZiUDJRWitodm9hYkRYTGlEbmN5amdUNWdJQUFUWGFwQjVSOWlJR3FTaXo3dFlnTUlOZlRRCjdqRUpCU0RxM21vYWFxUWFSTmFtZ243UTdkTDRTWGI1QjRYV0Q1bVpOd1VRUHArYXArTEZnWDRJZ0RCV1NCTjBEd0J5TTR1UldNWW8KZUpQdzh2bFlvQkxaUkVaZmI0Z054SjNER0loZVFZOXFRbVEwakRRVm1icW5Sd0FSL2RBQVlrOStVUUNpOWFOZmRrRU1SRFpYNEc0ZQoxTkNERjN1aGptWjZwQ3NGRDNQaGVTNThzek1oRHVPZVFMc2NrZ0RiYk1wQXdzVW91Q3NJTlFiUnZjdzRpRUcrdkdRSUMwREpCRUE2Cm9CZ3ZnUUJJUHduUE1JaGM4WXhYZDlHaFZuMVJkejMzQXFBaFdEOElRTFliaDl0dHduVWdDa0Rob3ZVTWdBYlpyU0lBd2l0TzhYb3YKYXFzWHV1NlpBWkErOUFpWUtZQVlBeGtDQ08vOHdvc3ZXQUJLTmdJUXZnVlJEeUFqL2Z4dUFQVmdJR28vaGlHQUlEM3FCd0hJM25oQQpqRGtVUXg3QzUyV01mdDROSUxUNG5kNTdpZ0cweU4wdEJRRGs3cHBwQ2lEUUQxWDdrYThnK3ZGVWJjRDUzRSsrS1VLenJHUmRZRTFLCmVGVm1lRVgyOE5xVXNSVkxnaW9XQjVkbkJsVmtoRlJrQkZXbUIxU2srMVNrNnVvekJ0WmxCRlZuaFZibURhcGNQdVRhcXFFMTY0WlgKYnhwWnZXbFUvZWZqYm53NTRjYlg0K3UrR1Z1L2I4ejFiOGZlT0RMKzJ2RnBENDZNdjNkNjlKMHpDVStPei83dXpJeU9ndkhieW5NNQpKOHY2SHFyc2Mvd0dwL1F1cC9JMjU5SzFEeTVVZjFqOEhhZWdzVy94UTUvRDIyL01kaXVlNGw0YnlEK3ArZlNRc3U4eUY5OFFjWks3CmU3NlhkTEZha3FjUjUvcElVdDBsMlVmY29tdThrdXExeWRXZUtkWGExRnZ5bERweDRsVjVRcjBrQ1F4MHl5MkpBSWdNaFgwbldVUXUKU0NTTE11NHJNeDZvTWgrcUZ6L1NaRkYxSUlqWDBxZmUrYzk4bGozMVhRNXA4RjNWaUdiRWFBUFJER29PMlVEU0VycXhOV3dUcEczUQpaZ2hUQ2pKaVVNdFE5S0F6ZkRzOEF3YnFHcm5yMWZCZEw4TzJOZGd2ZkdnMjYrRkhreHMvbnZia2p6UHVtODk1THN0NlBXUWI2ZnNoCnhTU3dEa0NIMms0UEg0ZnVSRHM2OEJYVnpGM1ZpRDRzL1FCOW1vTTJRQnI5bDkvVHJmTVNSRG81VEhNVlRKVUtKcm54b2h5Rit1RXYKNC9Ta0g3UUxESitGMGZvWmJ6VDYvdXREYi81aWQwRDNldWIxUHdGQXBsLzZSL0x2QnhENVhUQkhZQlNBck1hZ3NGWlY5S2dmK0ViNAprcDM1TURBUUJHMjZzQndLQUxJZEVNeHVmMllyeHdoQWJQMVFRZWRpZWdNNVdhQzFYM0xoTkxsd0JycXF5aklDM3hsTm5aU3g5VU0xCk8zT0h3L05BSDJlTEtLa2cwdGxxQktBS1ROOHJnSERZUjEza0dYWkROSTBlZG93QkpMRVpqOC9GeHJsWlRuQzFJQmNuamtQejhKWXgKNUJRTTlDUGpUV1FxUUlSS0JFQUVKVWdNL0FXa1FZY2NWSkdDRGJySUIyOXg3eEZBWkUwWWdFWnNnZlpqS0hoVEpCWlRaRmFvdjBkdgpJT3BuL3RNQVpOSUFOSTBCRURud01wcDFoMUFMS3pDQW1HdWRVY2hqK3BvZlVobnlzd1gwWkJQeERMVFBIV2kzTk1nK255VFFOZzhTCklNckZFbG9DSDRGSHFETEVYMHdITDIvblpSaVNDS25JaDZ2dmlUYjZxdDVBdlFDSTBROWE3eVZhd1FDSTBROENFSDNnUlFBMHpCYjAKczZsSEFPRSthRFFMQmdrUjVZU2lGUmxaWUNDRG13OVpJV05mYkFBUjZ4Z0JTSzhmZXZNWEcwQW1pOS94TFlpc1czOTZiWC8rTFFEUwpHd2lKaDFrUXhqb0NJOVVkSS9mMGFDQ21TUWc5cHZWREE0aHVkalp4ang1QXJNWHZiazVKRElEb0szOXczdzhOSUxra1Z5SE5Cd0JwCjVLdTFpblc0L0xNUm90TXU4MVJzOHBXdjNSdy81a2JHOFBxTUlaVkxBMjh0aXIyWk5QSkcwckM2eEtGMVNZUHFra05yVXdQcjBuM3IKTW5UbHFiNjF5ZjQxS1FQQlJsWFpRVGR6ZzY2dkRpcmJIbHkrYVdqbGpsR1ZYMFZjMlIxOVplK2s2Z016Ymh5Y2ZmUGd6S3BMTVJVbgp4ajA0T2JuK1ZQek44L1BhTDQ3TlA3ZmViRzgxNTlTMVBoZXY5aXN0NzF0MjVZT0NLNStjci96a1lrWGZ3aXVjY3pjNUY4czVsMzlJCnk1dFVNYmJQdDBIOWo4dDUxOXo3VG5LTjlwVGt1TXRXZWNtV2FDVFphdkZpblRoTkpzN2VJNDZ0OGs2cDkwaXQwYVZXZTZUZFZLZlYKU3BPdUtoYkN4M3A4Q25hTExnS1JyaUJ5UVNJQXlNaEFqelU1cEJURU5oQ2t3V2Y1YzJDUTM0cEcvNVVOQWFzZ2pZR3JJYzFCNjBsYQpnamRBV2tNMlF0cENLUWFSdEEvZUF1a0kzd3Bwd2pZQ0FCRUR0UTNkM2pGeVorZW9YZDNoVzFwOVZqWklGejkzem1oMHoyNzJYZDB5Ci9QUFdxRy9haDMzZU9nUzlySFBFVGdnOGdHZlFkdzNkU1FCRXJTckRCa0x1d2VOcGJQMjBCSzZETlBubjM5U3VWQXNqSE8ybnVna20KUy9nVFhYaFJUZ0lUOXpDaDczbzJ2UE53QW5NUEVLMGZrK0d2WHhlaUh4YUEzdFgwODA4RmtERTEzcDNmOTEyL0p2OStBREVkMENoVwo0eWo5MEFBaXF6OVlyVC9VT3lFOVQ3WldRWHl6SUhUY2hwdUJDSURzekVMZXF4OFRBQTNHM1VMNGVYWWR5QW9CeUowL1JjcWI2bW9WCkE2eHh0a1FkUW94K2lFVndjQzhSbU14aW5Fd1lDeTkyczVydWFCYnR4aDBMUDAxaUU0R0RYTUlBQ0xoREhZUVpBZ2llTkowTDZ3MUEKdUdOcGdwU3JieTJDd0MrRWY2MHhaSU1ZcXZmd0pwSlF6VUNzSXpCVS9oSE1RZjB4d2dSOEJFYVZmd0JBK0o0ZVpnYStCd0M1VzZIOQpYMUxMeVM0RHhzdDUwZTQya2U1V1V4UTJjZXdkcTlUWUZ6WVFYUllpWFVGa0FTcWE5akoxajRsK0RQcCtqUFREekh6aGxtZlU5Y3pjCjlVeWlFOFFUQTVGYkRiMEV5UVJBNUlJZlhBMWFETzd4dDhzT3NNdURnSExBUFlRK3dRNHJtQXkwV3dZSnRLVWtoRUtLUThLY0FFRTIKeEordngxQ0FJSXNwOEJEbytQSlNTWG9ERU5uelpRUWdjdFVoMmZPRlYzMnRJTHRPRVlCRXEya0FrWDduVFhnQWZqTURJS3lmOWFqOQpXWVFtNGZGYWpCVU1nTkIyZHd5Z1lDRmErOFVBaUxVSGcweklrMXVlNlJXblBRR0lYZmloOVlOQ2JUKzFSb3ZBQ0lEOFRBREVwcy92CkJKQ0RMZFc3WTh3Z0V3Q1JDcENwZTlnQVlqZEhHelZLczIvOVFkQnhTdWd0TklEUTFuY0NJSHJubHdHQVZOS2xLdWt5dVdRcEFFZ3QKVytXaFhJc0xQNXRBUDFyNVJwMW1yVWE1eHNkL2JhUkgvclVsWVhWcG9WZHpQR3VUQXVyakpmVUppdnBFcjVxRndkY1dEYTFLSFZPWgpGbEdSRmxtZkhsbVdFMVdhSDFPYkhYRno4ZGlhN09FMStVTnU1ZytwWGVkMWZhUC96VTNCTjdZTnF0czFwSHIveUlxam80cU9EeTg3Ck82enl3cml5aTNPdlhZcCtWQkw2ZVdIaWg2ZXVjYjZ0Ky9QRklrNWhPU3I4bkNuLzRFSUpwNnljVTNyajQzTjNQaXFzNlZOdzZRL24KcXAyLzJYNGx6R3pQb0QrZTB6aDlvN1lMRVNjcEpNdGxzbFU2YWJaR2txVnl5OVNLMDVWdVdkdmRKcGI1cE5WN3BkZDZwMS8xU3EzMwpTSzlWTExxbVRLbVd4dGRJNHV2RjhUZmQ0bSs1eG4vdm1uRGJEZVVINmNJNzdvdnV5cEovbEtmY1U2UkNIcWpTSDZvekhtbXlVQjFJCnUrU0pSL1lUejV5bnV0eG5YbmxQdmZPZWV5K0RBSU5RTUlPYWFBWTFEVndEYVE1YUMya0pYa2NsZEtOUlRZaWtHWjdCR09vSzM5WTUKZUd2TG9NMk5RN2MwanR6ZU5tcEgxN2d2dThkKzJURnlSL3VJSGUyamRyV04zdFZBbjVkMURnUGxiRzhPUTNpQ0IwdzlpUWs4MHpKbwpDNFRNcG9GK21tbjlOQWVzYllINEw3dW16bmUzblFELzQ1UndKN255bzUwRWtiOEhRTlRrRjlJUEMwQzlHZ2dOZ3ZWK0JTSU8rL2JuCjhIOFdnRXhKOFR2VFE3Y05SWXJmbE4vNnJreDg4OTZZMHNjQVFPUTlzQUNFNk1QYWVxYnZmVGFvaCtITnFTaDhmenViUUFkZWlKMUYKc0hCQUNMclVrZXA2N2tFNXZla0h3eWlVN3BnbVJTRFNERFNTdmgweEdrQ0RZaDJGUDQwMDFRLzkrZ2hIODdGeSsxRVNmb1JHc0ZKdQprNjJ5bitKb0ZmcGVBREZoQUlSdUo2THpEZ0JSdlVyVzR6QjZ4aUwwVUJrbjVhTGViWWwxcERzM0d1Z2o1MCtTODZoK0lLUWl2R3FVCkFFZ2puRXU2Z3oxczQ3VEMrUkRNSUFEUURJQU92WnlyQndEQmwrQTFxS0hISmxZdGluWXhId1lQakpiTUd3QUlUWmFoeTZaUjhKSUsKUWhtNVRYU1BNUUlReXowa2V2MlEwQUJDQmpLODhYbUJrWUhJYWdzL1VSbzV3OEtGbkd4c21uekdOeGhBeTJuOXJJTEFwMFlHSWs0YQpLTWlEQlBKekEvblpkTkNGUGFRZ1pCcXkwUUs0UThJc3VLQVduZkxKbW5jS1FBTUZPYmpUR1Yza2crN3lFU0xFb09sMzI1WGh0bXNnCk5JRFE1WWZEYkxlU1B1aWVBU1JjQVFrVDVFTkNCYms0MldIQ0hQWnlVOXpzVEMxREpmUWh3MS9zSGU5R0FHTEN1TWM0TmhsRVF0UXQKaU5ZSVFHZ0JLdXZZaTZVZmVzakxKTDBDaU5Sc21QNWx4a0RVOWxQOG1BeTBVOTA4UFkyQTRjeHhzcDlOUXRaY2tPV21tRDRHMXg2UwpNZzhwOFBRWXpDRGtIbnJ4ZXpJQUNOOEJUYTcvMFFOSTdiNWNLVjBCK3RFcTF1alVHNzAwVzNUcXpaN0t6UjZLVFI3eXozMDhkMm85CnRnU0lOMjZLbmwyVkhWaWE0Vkc2T0t3Z0w3RjRSV2JadXJYbFc3NnErUHhFeGE2Q0sxK1VYZm15cW5UdmxmUGZsaDAvVW5qbXlPWEMKZ3hldkhMeFlkdWhTMmVIQ20wZjIzamowMVkzOVcyL3RYZm5EdnJUN0IrWThPUmo5OU1DWUh3Nk9lckEvdlB4bzBQM0w0ZWZQRERFNwpkWkp6dFBhUGx3cjZYYWpxZTc2S1UxakhLYi9OS2I3MWgzUDFmYy9WY1lwdmNncHVjQzVWY1lxdTlkMTlmUGtZYllWWDN3dUsvajZxCnVXcHBsbEtTcjVFczg1VGtxQ1NMbGVKMGxWdTZ4alZ6dFhQc1plKzBPcS9NR3QrTVNsLzBvRmFWZGsyZFVTMUxBQU1CZ0c2NExnQUEKZmVjU1R3QjBSNHhXcGY0b1hYVFBQZm0rTE9XQlBQV2hJdTJSTXYyeGFqR0ViU0RDb09kZWVTamVTeUVOUHZrTmZzc2dqZjdMZ1VHUQo1c0RWa0phQmExcUQxcElRQnJXR3JDZHBDOTFBMGhtS0NrS3R1Q1lFQUdvUDI5dzBhRlBqc0szd1RPdVFyYzNEdHpXUDJONHlITlY0CnVnZHZmejBZdHcwTi9Sd0ExSXEwdElWSUNCNTBETjRHUWMxR3VNMlpDV2xJWXV1bjJYOE5wTlUzdjBTUjVXSTcxdFkyRnY2VDFJVVgKNVNpS0FnTVp1OGNFUUNiNk1WajIvdDRpa0JHQWV0UVBEYUR3Ly9rQVlzQmgvTEwzNWJlK01SUGZ2RGVtOU9rQlFOaEFwdE5ldmZ6Ugo0ZDh5QVpEQVBOaUJHMjVyRlNLeUhHaHZDUXpDbHl0YTlHb2QweWZwc2xBWTIwQk1Bekt1dnFEOTdTQWJzdjdkelFaMy85QjNIckwxCmd3QmtNd3ErNmk0YU4weDVma1BPNWFuaEJUTCtMQW1mM3VTbDE4OFk0aDR5endWeHNSZ05ZVDdWTnhXeGJrM0U2RUVTWWs3Y21DWm8KVjBzOWdPZ2RHbU5vZGFHdDhzUkFURGMwQU1oZHY1WnJGcWtBQVlCQVF2QVlUNFRGd1FNVmY2YUNoMWErOXdZZ2xXQVNxdVhZekpWWQpURkVLWWwwdGhzdDUwUktMU2IwZGdmMXVBT0dDRUFJUVF4OVQvVEFYL3pEVDcwd3BpTXgyc1FCRWRVTXpYVDRFUVBxSWNta0E1Uk1ECndVY1NHa0JVQlFpZGtkbm5CZ2taQTFFQW91NHRwQmQ0MFJjWTVwQ3ZFdkgwRnZxV1p6MkFtQzJucUpFWjNXZUk5QU5CRlNBREFHMFoKSnRvMjNIWjdyMGRnR0VDRGhNc2dZY0k4QXFBUS9oTDJkWWhrcnpzSm1ma2krWFVBWWphOVU0VWZwbGVhcmdZbFl3TWxnWUY4MFMyUgp4b2RmdnhOQStuNGQxaGdYMHdsRTEzN1FRRHZUemRPamdRaDlITzNRQThJZE9rYVhQczhuQUpLNEpQVVljdXlGM1VNQXRFanFtaUtYCnBPTVZwd1lBVXJ2bmEyUklQeHI1YXR6NnM0bm9Cd05vQzhSUGUwQXAyZTdqdldLWWNzUHVCZU9LODZZV2JkdHhlZStOZ2dPM0NnL2YKTGp4NjYvTFIrdk5ISzg4ZUt6bDdyS2prNE5XeWZWZUtEeFJmUEZGYWVLYnEwcG42cnk3ZVdseDZ5K2R5czBkeGc3TDhzZWZWSDRaVgpWc2VYRkc2NWRQckkrZU9WOEEwWE11K2ZuUEZEOGVTaDV3NS9kT3c2cDZEdWs3TkZmUzlkNVp5dDVKeTV4cmx3clc5QlZaK0NzajZYCnIzNVFjSjFUaUk3R09CZS83M09nS0NaK1RKblBKOXVWWGhMRlRwazAxME9jcFhQTDhoRG5LaVJMWkpKTXBUalR3eVU5eHlucXZIZGEKclRjR2tGOTZuYy9pV2sxNnRTYXpXcGxVSzB1c2s4UmZkMTF3MDJYQmJlY0ZZQ0JVQ25LTC8wR2NjRmVhOUtQN1FzZzkyYUlIaXBTSAp5bFF3RUdaUXhoTjE1bVB0NGljZVdVODlsMENlNlhLZnNSZ0VCbXIwWFlhQ0RMUUMwaHk0RXRJeWNCVUp1eURFTUFqeVl1QkdncDdtCnNFMGRnN1owZ1ZyQ05nRjl1c08zQUkrYXd0YkQ0NDZoMjhGR0wwSzJ2QXJhUWdwSW5VTzJrWTh2aG4xT3p0Ukl0N1dCZU9nMDRhWWYKUmo5TmZxdWJmRlkwNmJMUFNWSnM3VWFMUk9pLzhBQkFEcmJ2QnRCNGlPR21kMnJmTzczeW5UMzkzbXNuRUhVYmtLRittSlpuRm9DUQpmbXhCR1A5cUFKbFVkS2lZdnRMazlXeHdHTC9zZmZsVjc0MFZFOSs4TjZiMDBRUEk4S3dOOVR4UmJ3YmpodjROaGtIMGI4L2d6eWRNCjJIK3FHMzhHNzdOaC9BRWhEbHo0bWNGb3Q2dmhMWWc5TkR1YnRrVmJob0NCY05DMFBIb0JtY0RDbTFOUlBjWnFQTm42Ym5pUDh4aUcKUHBoS0krd3RnbDJ0bzlRT015YjZQeng3NEY1aXhIVTN5NW40T0l5YUFpUEI0cUh1OHVreGJBRDFkSE8wL3F2a1hZbXRvcVEyVVZoWApvN0dCeHJwYWpFZmJVdkZaR0dLUWRTUTU5a0xOUU55cFRBOFFEbUlLbWhJWHhMUG50bjROZ0dRMjBSTHpHWDZPUzZWbThWSkxOQzJ2CjRFMkNCNzAyUVZNWExlTDVlWHpIOU84QUVONzZUZ01JbzRjRzBDem1HU01EVVJVZ1lZSVJnUHlFQUNBMDIwVVpDRSs1bytEK0hpUWIKdXZ1SFNJalVlL1FuWHlqWkVISlFSZUVHNytxaUxtc1dzamRYb0xYdHhFbWszc09PZ1lId1R6QUUwRG9hUUd2ZkFTQ2lueEYyTzN0dApnallCRUxtcmtDbjVHT2dIUHVYbDBqRUFFTm51YmdRZ3JCeWluMlFqQUFYVHhTSFNFZ1FBd2tuc3NRSG85eHlCTVpveE5oQUdFRjM3CndUZjZrTFZmdlFNSTlNTUFpSENIWVJDam4vY0NpRlI5SUZKWHRQdWRiSUFuQUtMdmdFWUF3dVVmQ2tCcTJScU5mSzFHdmw0clI0ZGYKV3ZsbWlMZG1qVmE2dzg5enZkSnpsOWg5ellLd2xOcnQrMHFPZGhidEx5cmVWMUt5LzBycDNyS1NQYVdsdTB2TDk1UlU3aXNwT2xoNwovbURGNVFNbEZRZXVuRDFTazM2eVJuNnlqSFAwTXVmTVNjNkpNMzJQRm41d3RJSno3Q3JuZERXbnVKNXo3YnZCcFk5emErOVgzVHl5Cm91aEkvOTNuT0dlcSs1MnQvUEJjRmVmczlUNlhhdjV3dWZRUEY0cFJ5UWRlWEZ6RHVWVEp1VlRDdVZqeXlabExmOTVYTVNRbHV0aisKSTIvRlNsL1hCQUNRdDF1YW4wdUcxaTFISnNseWx5SUFlYm1tTDNhTU91V1ZXdU8xR0FCVTVaOVI2NWRWbzgybzBXYlZxaGZWS3BMcQpwUWtBb0J2TzgyODV6U2NHK3M1MUFSam9qaVFSREVRWUJBYTZMMDkrSkVkMUlDTURRWjU3Z0lHeUljKzljaHE4Y3h0ODgwaWEvSmFUCk5QdXZhQWxZQ1drTlhJVVN0SnFrTFhnTlNYdklXa2luMzdxT2tFME5nelpDUUVKZHdaczZnamVpcHVtd0RlMkROM1dFQTI2b0l6UGcKRVlRQUNNVEQ5RmszQnEzckdycWRQWFJHR0VUb2cwYjBCNjV2UkUwL2lENk52cXRBUDQzZXk1OXJGNTl3U1JTSVJtSUF4UklBT2ZJagpqTjFEeDhROVZPR0hBSWhta0I1QVZGT3pTVXdCeERUOXNBQTA1TjhHSUJNMzBHRk5aaGxNYWZVQ0lOTlhrcGkrRTlPWXZpdlRHTDg5Ck9yYm1ZVDNHeEQzR0FFSy9GK3FISXdDeDBZT0R6cllnK25mSUhQYmhGNFNxZDRkNzczTGx6cmExR09uRUh5b2NFT2hnTlVnMFlGQnYKWS9EdkFoRExRT1FGaUQ3VzRjN1dRL0VJT21JSE5nZWE2bUtMaEFZUXZyL0hlcXo5cDVQY0JUSHUvR2xqTkRVNjRkZnd3TkZpbEt2bApPQnhNRTBvNTVPU0xxdm93TU1JMllwMXcwZnZoNlYrUkFoRDVsQUJJekkxRWRSMWVqTmg2QXZ4WWljMVlFSStiNVFSMDVROTE2RWJ1Ck1ZcWlHNktua09Nd0JrQVFGWGVPaGpmZjROQUszOVFzczVra3RZcnVEVUJ5N21Sdis4elp3eTRNa201WDJpVEpiYVpKTENiSnJlZm8KOVdNNEJrK210TUFvQUNCbTFUeUtDWDErSllEb1RSZFlQNkFybG9xWVM0QXdnT0tRZmtTSlBtaTFCVElRMWYzRFg4SVlDTk1uSFNlVgprQWdCeUNFdjJIRnBzTU15WWlCUzcySFRod0VRcnU3UXkwb0ZpNEUrSkRTQVNEdHpmcEJnMlVCK1B1TWU2alZNb1loSUNQOFF1Z2lFCmZqSmU4NzRlcjNZM0FoQTZCU01BR21hN0ZRTm9Cd0NvdHpGNGVEM0VGRUFNZWlEMC9VQ29Kc1FDVUs0cGdBaDZEQUcwcUNjQVpRS0EKZ3JuNnRtaC83a0kyZ0V6YmdFenA4eDRBTWFOYnhzSG9ZVHlFWWpzZG5uZDFuczNueHNCSHdCQTVNaE83em5WZ3B0L3BhUy9ESWhCagpJRW8vK0FnTUtjY29iazVKVWxkVSt5RW5YKzV1cWZRQ1ZHYjUxeEs1VzQ1Q25LdVNMZ1A5YU9XclZmSlZhZ1Y4WEtOUmJQQlViOVlxCk4ya1VHM1dhN2I3YWJTcjNsVnJ0ZXAxdUN6d1k3TGR1V2NySndzTzN5NzhwcnRoZGNuVmZ4WlhkcFFWZlhTN2NWMWg4c096Uy91THEKcjhzdjdEOTM3VURKdFM5dVJCNjZ5amwxbW5QaUV1ZGlMYWU0Z2xOdzljTUxOUitmcSt0em9aWlRDQUM2eWltOXlqbDIyYXJnbXZ2VgpINnlPRlh5OCs4UmZUaFp5anB6bkhEckQyWCtLYytBTTUrQVp6cmZuT0FmT29RY0h6L1Q1OWl6bjJ5TjlkaDdoSERyOTV5OFBqUnkvCmZLUjB2dG85WmFEVGFyRmtzVmF4MU1NMXg5YzF6OXM1UitXUXJwVXVrVXN6d2wyU3orb21WM2tsbC9zc0xRL01MUXhjY3RzM3RVNjEKdUY2YlVxOWFoUFpqaU9OdXVNeSs1VElUY3R0MTVuZXVjNzkzbS9lRE9PNnVlUDZQa2dYMzNSTWV1aWM4a2lVK2tDMThLRi8wU0pIOApXSm55UkpYNlZKMEdlYVpKZis2WlJkS2dXOUxvbGQza25RTnA5c2x0OGMyRE5Qbm1OZnN0UlFuSWg3UUVMbXNkdUlKSlc5QktrdmJnClZZUkI3SFNFcm9PMGhmVVMrdXdNd3E0a3NaOXBDVjVIQ2s0UUJDei9kYzMrcTU3NzRxNXRuL3dtcjZXTkhybHRtdFFzMFV3WCsybFcKZ2dpSmNJSUxQOUtCQzhwQkQzcU1sRHZCM0RFQ25PUnFIYUg1YklJakQvUXpXbVV4VW1RK1FpaUtFTUlQR1RCT2JSbmxZRDJHTHh3dAp0eHJOaDc4enVORmlpMUZ1NWlOZHVHUHN1Y1BocnhZSnV1Z0ZYVGJqaU83N0dZVmlQZHJXY296SVlqU3I3OGVnL2RtdzhLQ1BxWDRZCkEvVVlBMHl3aldKQ2luODg3UGRweXAxZmp4NkQ5QUl2VVM5aFgwaklqdW03SlFHK1FFQTJ4RW0yNWlFaXMyQ0k2Wjg4aWM1aG5hZGoKcnF2MVZBZkxFYUFsb1prLytrYjQ4MFN0MEtnZlNNOGc2bVlkTkphRlFoa0kxWHZ3NFJkVk5FS3ZweGZJNDlxUGZzS0xIVFpXMkloaAptbmhBSWZDL1ZkU0ZnNmV4bVBFdWR1QkpBaDBHTk16UFp3N2dTQThRcUlzWWlMbjUwQ2hTTHZ4ZkF5MkJwd2ZOcUU0Z3VodWFQRG1CCkhJZEJGTHdwZUFBZWRTSXp0emFyQlVnODlPMkY1RXRvQkF3Q0JxSVRTY1U2QWdMVzhiWlBYYkdnWm96WGRwbEZvdEltd2QxeUJqb2EKUTFzMVVKUTJzOGtETlFBSUdXZ2FCQVFEbERIRWpXbkxNMzRTREFUZW90ZUJLV3dta2lNd1JrTE01WWMwaWFiaVg0SnFCakpxaFNiWApHNUx1SHg5aHBxOG9pN3JtaDdRQjJTMDJDc2htb0gwT0RuSVBuZ2pUZC8rUVdUQXlEc2ErcVptOXNDSlFpSHVpdVpuNFVBeGVzRFJZCnNBejRncnVGY3BsekxuZ1F3TXZ4NTJZSEFJQ0VHWUVDU0JvRWJJVEcxQVc1cU84SHR3R1JTUzR5eklWNmdQQU5RS1RSQjYxL3Q5MDYKM0g3N0NJZlBTUnNRT1FoRE4wRUwxdzhScllXRTJ5MGJiSnNQOUdFSEdFUW13a2pvL2ZDR2pjOElQVG1zR095NElCc3dJS1RBUXdjWgpDTkNEZXFKWlIyRFV6VURXU1FFMmlUNVdDVGhvSFJqYUNBYjBzWWJNQXRPb1BvdjE0ODFSRDRqd3NweWxzNXdDSHozTlo1aHVBYU5XCllSaTdodzVlL0k2T3ZmVEI0MTEyb2lsU2NSeTRCN2dERElLSUJKUEFRSWI2b1FCRW1vRm9BS0h5RDJVZzNPVkQwTVAwK3RDZlV0MC8KU0QrNDlZZHBmNllBSk00bUFGSzdMd2NERVFBcFpaU0JRRDhRVC9VV1Qra1dQODhkWHRxdEh0cXRYdHB0YW5IK21KQ05tL1BLcnV3dgpMOTVkV3JTcjhNcnV3cW9EUmFYN0xsL2VYVnk0dDZia3krTENRNFdWUjZybUhDbXpQSHlCYy9yY0o2ZExPWmVyT1JkcitseXE0VnlxCkJnWnhpbXMrS3JuNWNjbk52b1hYT2RlKzQxeXAvL0J5RmVmckU1ejFlL3A5ZnVURC9lYy9PVjgrcUt4azVMV3FpYmR1emIxM1ArSFIKbzBWUG5pUStmZ3dQcGp6NFB2YUhlOW9mdnJjL2Nrb1htZTJ0V0NCV1pHdGNObm01cmZPU3JrSy9OV21hV3BXdWxtWm9YRE05bkxORApYQmNkMUV5dTlFcXU4bHRhT1RDblpHRE9EYi8wR20wV0FPaTZPcmxlbm5oVE12K202eHcyZ0NBL3VNNjc0eFlIQUhvZ2pYK0lEZlJBCmx2aFFuZ1I1cEZqNFdMbm9pU3I1cVRvRjhzd2pBL0xjTTdOQnQ3alJLd3ZTNUwwRUFnWWlEQ0lHYXZGSEFNSUdXZzR4TlpCUlFjaUkKUWFaaEpOUWF1cGFkZGpCUThEb0kxWEkwY0Eya09YQjFxOC9LRnI5VlRYNHJpWDRhZmZLYmRVdGJQZklhVkNsVGJkQW1WS0V3Mm9VLwpEZ0ZJRU9QR00zWVBFd2VMVVdKUkZKREZWUkFsc0k4U0NpWllXWTh5bDhZNkx2emNZdVh1UDI3NzFpcHV2WnZEZEtGdEZOOW1sQk4vCnJJUVhiVzA1V0dnNXh0MGhraWNZWVFaLy93bEdPNWlQRi9GR0NIbWpSUHpSZHZ3eERueDBkb2IrS2pJZjljOENVRzloWStKZkRTQVMKOGo1TjZmTS9FMENrcnNQbzU3MEFzdnRza3BObGpKM1pDR0NUQzMrUW8zV1lvelgrczJVQlNOOFBoRm5EQUFnL1NRQkV2ZXgzQUlnZApBaUNXZ1JBKzhKT2tLUWNGbnFkN2RGQVlBQkVEa1FlNHI0aGNmb2pxUGJTQlVCM0lsRDRNZ0JqcjRHSVMrbFhJZTZEMVF3R0lHQWpkClBVZ2ZnWkU3blpWNFF6dnIrbVlhUUhoUXF3Y0FZUVBKcktjNGZ4Ymo2NVRpYmpGWFpnV1pxZUxQY0RPUE1MZ1ZtZzZ1MEpENkRSSU0KRVE5aHpXOEZVQTk5MEtRWlNEOFB6OHlDNmZYamdkcUFGaElBb2JFdjRXSUNJR0lnZ2g0OWh0RDFQMVNCaHcwZzZnaU1HSWp1R1NMMApZZlNqN3dRU2dXbFFXUWhYZ0paQ1FvVExBUzdCd3VYb0lJeTNoS29ZNFJJUmtBZ0JDQldCMGdQNHFjQWdBRkNRWUFtYTFSS3NaSHFmCmNmbG5PVmxxTVZpRUJzRUdDOWZnNElNd3U4M0Q3TGN3K21FREtGeTRKdHgyMVdEUnlqREJjZ2g5SExZQ0hwTnJnU2dBOGRDNmVHS2cKOXdLSUxMNWdBOGpvRkl3Q2tINGlqQVVnYTlRSlJBQkVWcUtTT2hBWXlKYzdDOFRqWlQzWjIycXV6aXJXMXlaT2F6WlpaekhUbEQ3dgpCeEFPZFo4aDR4dDcwVFNKYTV5QU8xSHNNay9Fbnl4MW13L2NzUk5PSlFkaGJQMFlBaWlPQVJBWjhnSUFzWHQ5bURBWC84Z2w2U2cwCmdOeGRNL0UrVkFwQXVBa2FHVWpsdmxJalg2MXlYNjJVcmtLbllJb05XdmxHVCtWbWIvbE9uV0s3aDJxcnptT1huODhlYjgxT2IrV0cKVU4ybUhjc3ZYTmg5dFhSZjBkVURsOHEvT1YrNDYyTDUvcXVYdjZrczNWMWFlTGowMko1U3M4TW5PUUNnODFjK1BWdkpPVnYrNGVtNgpEODdYY3dwck9VWFZuS0pyOEFEMDgwSGhMVTdSajV5emRad1RwWjlkS0pKVlZVYmQrWDVkUS9PcDlwOXF1N3R2dm43ejQ4OS9lL3pYCi8zcnkxLzk0L1BQZkh2MzAxd2MvL1h6OXY3dnYvUFRYYTMvNzd3dHYzaHgrOEhSdFlkM2tGU2RDaG0vU1NQUFEwWjR5U3l4TGM1VXMKVkVqVFBTVkx2TVE1M3E0TDE4a25sWGd0clBMTkx2ZGRmQ1VvcHk0Zzg2cDNkcjFIS2pLUUl1bUcrNEtiNHJrM1hXZmRjcGtCK2M1bAoxdmV1c3lFL3VNMjVKNTUzWHhMM1FEb2Y4a2dXRDNrc1QzaWlTSHlxVEhxbVdnaDVybDcwVEpQNlhKc0dhZkJJYi9UTWFOSmxRcHE5CkZtTURaVU5hZkhPYS9IS2EvWE1oTFFGNUlLSFdnR1VrYllITFNkcXhoRkFkeURRaHE5K2J0dUJWVE1qNUd0VnZoTnVQU0N0U2s5L3kKUmwvY29BMGZ2WE5iUEhOYU5kbnRtdXk3aWhSL2krRU8xbWpibDZOZ3JDczMwbFlVSStGSG1OS0h4RjRVcWV3L2h1c2E0YzRkdzdNZQpLYlFlNXpBMGU4Q1J3ajYxMXorb3ZkVy8vR2Iva3RxUGpsNFNCcVU2aVdLNEZpUGxuNDRRQ21ORi9LSE9meDVoYXpuR1ZqalMwVHdHCkhzamdyeDhMZE44dWRmSmxQc1RaWXBnWXpjRC9td0JrZEVSbFNvSGZGL3JneWZoNVUvcjhnd0F5L1NWNmpDbDlTRXdQeTloSFpvUSsKVE40QklQaXF2V1dJeUR6QURqZEJvOWViRFJiMkgwUUExS09CcUZpUXd5OXFVY2J2QUpDUmdjZ3o3TTBWNUVsU0pUSjZHZk9wNlU5bQpBNGh1TFVJR2VqZUEyUE5sakg1d3FPVWJWQ2NRRHJ3ZW5XR3hERVFEYURZWWlHRVFwUjk4WHpNTFFBWUd3b2RpMFdMeldLbmxaUGdXClY3TklHVGRLem91a2o3ZW0wSTArVEtneExnSWdrbDhKSUt5ZlNVYjZZVUkxUWFPN0VObUhYMmpsTzdpSGZNUk4wTGo3QjlBalhPeFAKVjRDWUloQVRRQS9kR1kybncvQ0ZRRUVPOU13WDNRYlVJNERvVGlEQXpaS0JvaVVNZ0FoeGdCb0FvQ0RCTXR3UGxNTk1lOEZYL2JuWgo5SXdZQUNnZDE0RVdvNXVhQVJ6QzVUajVkUEpDUlVzaDFHRVdBczNLUWNKVjlMVkFHd2g5eUU1NEJDQ2lId1NnTllQUkxOZ3E5R0tDCkovd3BNeGNHdUtIRlE3Wlk5S2lmSEtPYkQwbWpEenJ3MGpkQkl3QUZXS051YUpvK0pCU0FTSEFyTk9xR1JnM1JaQjBZTnBDSDJXelEKajQvMVBFMy9tVDQyMDcydForak00end0SnJOMndodUVZMURqWVlVQWlQV3Avam9mVnljMDJ3V2Z5aVR4SUNId0VEekRYSkRJNnY2Sgp3NkVlTVBvaDZRMUFZdWRFcVd1eVRKektBSWdjZ1pHTEVLa3hlQXdncFNRZkRLUjBYNlpWckZITFZoRUFvVXVBRkpzQVFBR2FMN1R1Cm0xQXB5R09iWEw1WjUvRmxnUGRlbFdSN3NHN0ZqdFdsNS9jVWxYeHp1bXBQY2VrWHBlWDdLb3IyRmxic3ZWSnlzR3o1MXRQOXRoM28KdDYrY2M2cXEzOGx5enZHeWowNVc5VGxUeFRsOXRkK1o2bjZGTnppVk56aEZsWnpqNS9zZFBDTXJyNTkrdjJGMys1dXJuVzl2ZDNiYworS20xNk8yVGdwZnRSUzg3aXJ2YnlsNjBWYnhvcjN6WlZ2bTY0K3JicnJwWGJkZTYyMnZlZE5mLy9LTG1iV3ZWMjdhaVY5Mm4ydC9zClBQdkRxSm1iM0QyVDNhWHBLbkd1cC9zeWxYaUpTcEtoRWk5S2NwMThXaHRYcGx0VW9rdXJDRnB5TlRDanlpK24xaXV0M2pQbGhuclIKVFZuOExjazhGb0JtUXU2NHpJTGNkWjE5WHp3WDhrQXk3Nkg3Zk1najJZTEg4dmduaW9TbnlzUm5LbUJRMGxQTm9tZmFaTWh6ajVRRwp6OVJHWFJxa3lTdWRNQWpGSnd2UzRydWt5VzlKczM4MnhTQ2Mxc0NsSkcwRDg5dUNWcGltUFhobGJ6RkV6MHA5Nk5wU1MrRHk1b0JsCmtDYi9mRWh6NFBMbnVEbXAyU2UzMFhOSml5YXJUWjNacHNvb2tpUTVjNGM1V2tlNjg2THNoT05kYmFKNUFuVE9aVW9mRWlrL1dtZzcKRnY3MmNoR05jYk9Oc0hlY2FuMmlrblA3SWFlaWxsTjhEZjRSOXkycDQxeXI0NVNWTzRZdmtWakZ5aXluOVJlTnNCTk85NEMvQ2F4RwpPTm5FT0ZrTkJqWUJnTndzUjdqWWpIQVdqbllTb01JUCtwbVc3TkgzZncyQWZvc2Vma2NNTWFGLzNwUSsvd2lBVEgvZDNtSktuM2NECnlJZytURXgvTW9tRGphK0RqYit0UlFBdUZJV0tCZ3dDQU9FanNCQWNBd014RERMZ2p1a3pCZ0F5dm8rSGhCRUd1NjREWVErMHM5M0QKMWcvYlFFWS9salZRcHIvMzJSQkF2WWIrc2ZRUm05VUlOMnNLWVd3QVVSVWpaQmN3VUt3Q2R3Smg4YUQ3b09rZ0F6RjNGVExYRlpvYQp5TTFpSEJoSXljZlRaUHlwS3NFVU4zTjBJWkRwcFlYc1QzOXJCWWhWL21FRGlBeVJvWDRna3hFdytpWm83QjRQUVNJRTMvSk1kZjh3CnR6d1QvWmdhaUswZkNrQTBmU2dBNmUrR1JpOExGbEdVUVpOZnVPbUhsSFlDQlBocVJDNXE2L0huWmdGeEJ2SnkwUm9LMGFxQi9IeDQKeHM4bXc5Y21qYndBd0VTdVVpUUF3Z1phVEtveTlQSUtTajk2QU9FUXZ1Q2lEc1dhSWNMMTFDWlVmRDAwQXlCU0sySXYwQWpIUzFLeApvdkpEK1V0WkFFTFRZVWJ1TVFVUWV4d01Bd2pWZTBqSko4QjZFWVRVaEF5UHh2VEJyMEVOMGNoQVpCMFk2UXF5bnVZNUlNSExjazZnCmFJYm0wM2p0Z0JsZU5ySGVWbkdtOUhrUGdQRDVsOEVSR0dsOFJ2Y0cyVTUzYzU0N2JmSStzY3M4Q05udHhiN2xtYlQ3R0xqSGdENVUKK2FkSEFFbGNrdHpkVWdCQTZPNGZmUDJQUXJKWUtjM0dkYUFNTWdqR3ZnZ1JBVWlKeHVEeFZVRHJkZXJOeEVBNitUb3YxVVl2elNaUAp6VWFOWm9OYXVjVlQ4MldnNzFFUDVWb2ZSZmFxMU5QRmUrdks5cFJWSFNndStQSmN5ZTVMQmJ1TDZ3OVVKbXc5OXVmODNmMzMxSEFPCmxIS09GUGM3WGNFcExQemp5YkwrcCtvNFJiYzVaNjl3dmpsaWNlQ292T2p5OWtmZm5ldHNxZXpzcU83cUtPdG9LZXhvcW43WlhkM2MKWHZ5eXUvVGx5NHJYcnl0ZnZiNzY2bVhWeSs0S3lPdVhOMS8vcjlLWC8xbmEvZGZhVjI5clgzZlh2ZXlFcjE1Njg3YjBWVWRwVy9mQgp5bWRUa3c3S1ZQQ2J6ZEZLbGlwZGNtWFN0RWluMlh1VU13bzg1aFY0SlZjR1paWUhabFQ2TDZuMVNhdlRwZDdRTHJ5bGpMOHRtM2RiCk12dTI2OHhiTHRQdXVFNzd3V1VxNUs3TE5NaVBydFB2dTgxNElKNzVVRG9YOHNoOTNtTlozQlA1L0tlS0JjK1U4U2lxcE9mcWhaQUcKemFKR2JYS1RSd3FrMlRNVjBvSWtsTmJzblk3aW13RnA4Y3RzOFZ2YzZwOUYwaGF3aEtROU1MczFNTGR0WUY0UENWcjIzclFPekdkbApPYVFsY0Jta09RRG9zNVJLWVA1em41d0dueVd0dWlYTjJzdzJUWHE3T3IxRmtiTFZjWTdJYm93TEwwWnNPZDdCTmtMS244ampSWWg1CjQ5ajMvYkRqSW9oeUhEQk1iaHRoYXpuVXpqSG1qNnYzZkZCMWkzTzI1dE16ZFp4enRaeUNlczZ4Y3M3bHE2amw2MHlCVUJNdmhIOTkKKzY2MGQ1bGsvNWV4RHRiamhGWUQwVFcrd3FGODdqQ2V6VkNJZ0RkTXlCMG1zZ2tYV1EyMnR4N3l6d1BRNEI1aitsZTRLVmIra2Z5cgpBZFRicjJqNlBCVzZFbU1VRS9kUUVaa05aTWZXUElqRXBJZWFDdEFIdm1xUHp2aUcyVnNNeDljaGhxUDNRd0VJR1loV1Z5L2NNWDNtClZ3Q0kzY3BqR2daQXhFQU1kOTRCSVBZc2ZZOEFJaTNQcHU3cFRUOVVlZ0tRbTlWNHFYVUV3SVVBQ0Y4Rk5KT2xId01ERVFDUjZ3cU4KREVUS1AyN21VYWhFWkRsSmJENVJMWmpwWmhZanRkS1hka3hDemJFekFHSnp4eFJBU0Q4bUFNSS9oSzc5NElsNm9oOXdqd2R2RHJQWgpWRWR0d0NBN0xxamhMM3A3RitKT29KRGVhSUZEU01RT29ROEtNL1RlazM0SWdJaUJxT2wzZXZLTEFJaE10cE9hVUJBL0w4eDJPYjdKCmNBWGFhd0hmSmFLR3hSQ1NLQUFSQStFTGdSQ0E4dGpOeXlpaXBZTnQ4eUdEUkxrNFdFTG9TeXZ3SzFlSEMxY1BFYTNCUWEwLytncVEKWUIwVGdpUjBPaVpjVDBiREVJQjRlZmllUTZya0U4cnJPVUdzOVJjOWpNU3pBQVMrd2NVZVkvb1lNb2dhQ2lNRzh1SEc2Y3pqZ216bgplNWtudVg4OEpaQ2Y3RzA5MDhjcVhtczIwWlErdndwQXBQM1pFRUF6M1p5Qk5mUGN4UWxTdDNoYndUUW4rOWxpbC9rTWZlQ3IxSVhPCnJKa3Z3NnNPS2ZyMHBKOUY3bTc0M21lVVZOSUVUUURFbElJSWdCZ0RxYVRMUEJTclBCUnJJRWc4cW8yZUNoU1ZkS2xPRFI3YTZLbmEKNE91MXhVZTMxVk85VGF2YXBkR3U4dFZ1OTVWdHpKNTd2bUIvYmVHK3MxZjJGNVR0cVRpL3IvanVnYXFrSFVmN0x0bkcyVi9HT1ZUNgo0YUVpenFrckg1eTV4Q2tzNWx5NDB1OUE0Wi8zbjNjdEtFNjQ5Mk5CKyt2YXB1YUtqdFp6N2MvUHZXZ3E2R3EvM041WjhPTDFxYzZYCmhWM3R4ZDJkNWQwdnFsNit1UHFxKzlycmwxZmZkbC85K2VYdGpwYzNYcjI1OGRQUHRXOWVsNzlDWDYzcmVsM1g5ZlBWMXgwbG5VM0YKM1IyWDI3cTNYZjUrM0l5ZDhOdjBsYXlWdVdlRXVpU3NFMGNkVjA0KzQ3M3d5c0RVc29CTUFGQ05YM3FkZDlwMWowVTNWUW5meWVPKwprODY1Slo1eDIzWDZYZGNwa0RzdWt5RS91a3k1NXpyMXZ0dTBCK0xwRHlTekhrcG5ReDY1ejNrc20vdEVQdStwSWc1RkZmOU1uUUI1CnJrbHMwQ1kxZWl5RU5Ia3VnalRya2lFdFhpbE4zaW5OUHFtUUZ0ODBta0VvcmY2TFNkb0NzbHFSZ1l6VE5qREgyRU4wMk9ocENWeksKaEpTVVNJV0puTHMxK2FFenVBYS9yS2M2ZEVqWG9rbHZVU1YzYU5MYU5LblBwUEhUQlRGMkRoTmNCTEdvN0crTGhsbnNlRkV1Z2pHbQo5Q0d4dFI3dDdCQXBzUnp0WURPZXA1cjE0ZmtTVHQyTkQwL1g5ajFiMlc4Ly9QT3Q0WlRlK0hCUDRRZFhydi9oUkVuZmIwNUx4Sm1wCmNhZkR0TXR0TFVZckhhTWR6Y2U0bUFlSi94SXV0aHdyTmgvalpqN1N6Unh0WHdMMzhMbmgxcnpCLzJZQTlZaVZmeVM5L1RSVCt2eFQKQU1TOGY5TWFENGtwZlg0OWdCajk0QmpYaEtqZ0F5K2lIMXV6Y1BoVVpCWXNIQkNFKzVxWjZOOFB1K21IZlNMV0c0Qk1YRUxGRkQwawpURm1JQVJEeEIxcFNRVTNDNitPSzFtajBEQ0RTcUdRS0lEYWhETU5xTGFMMTQ0YVdzS0t2RWdEaFBpRzZBbVROTWhCZEFVTHo2aXdECjBVVWd0TEJkenAxTURBUzRZUXlFZGw5dzhhcFVxOGtxL2d5SnhTUTNNM1FXSnJPZS9xOEFFT2hIeGFPcVI0eCttTm9QT2ZNaXEweHAKK2xBbEgyclRoUWl0YlNmNmdRU0tNaUdtNk1IdVdVTEc0TW5KbC83TXkyRDZYYThmK0JhbS9HTUVJUFJMc0xaYkRCVGtoQWp6QnRtdApDQkd0RHJOYkUyYS9JdFF1RHdCRVRZUUpTQVdJR29sSFQ5SUFJaGNlRWdiaExDZlJBMGk0REQ5RHZnb0FXa2tIWVlqb0J6SElVRDhNCmdBWUxWZ3ppTHcvakw0V0U4dklnWWZ4Y2Rrd0F0TmhvNVR2cEJOSlBoRkVBSXZwaGg2REgrRVFNR3lpUkdBakZPc0hMWWo0WWFKclgKdVdESHllby9MMFFOUUJhVFRlZkNTRGgwcGFlM1lQcmdBWGh5L2dYb2dZQjQ3SVRUSGUzUXB3cjNoZkRBU0QrTWU4UXU4WWIzSE9wbgp2a3oxUXdDRUIrRFI5RHNBQ0RSQUFJVEg0QmNUQXpFQUlwZEJhMlFyeUVTWVRybkJVN0ZlSzF1dlUyN3kwS3pTcVRmN2FIZnBGRnRWCmtsWGVtZzBCM2pzOWxkczkxT3M4VkZ2OVBMN1d5VmJPanR4MVltZDUwWjZ5Szd1TEMvYVZYajlRdG1YWHVRK3kxbk4ybnVRY0xmbjQKMndMT2tSTE91WkkvSExuSStmTGdSMS92SFZaODVXalR5OXFYZnp2VjJuU2k0ODNaanRjWE83b3Z2bmh4dHJ2amRGZExRWGRYeGN0WApWMTYrZ0ZSMmQ2RjBkVloyZDFTKzdxcjZxZnZxZjNTVi9LK3VNLytuN2R6ZjIycCs2cnp6OXZYTnQ2K3Z2ZXFxN253SlNMcjg0dG5GClY4L0wzbmFmdXRPYXRPeVVXQjJ2VXVaNHVhYW5DTU4zT2czYnI1bDkwWHQrc1c5R2xXOVd0Vjk2clUvS2RWM3lUVTNpYmNYODc5em4KM3BiTS9NNXR4bzl1aysrNlRycmpNdkd1TThxUExwTWV1azFCa2N5QVBKTE9mT3crNjRsczlsUDVITWd6eGR4bnl2bVE1Nm9Ga0FaMQpmS01tb1VtYkNHbjJTSUkwZVNZMTZ4YTJlQzFxOGw3VTdKTU1BUU9SdFBxbGs3VDVaNkFFWkxIVEhyaUV4RlJGZEhMWmFRbklZWUlQCjJyS2IvTkNoVzZOdkZxVEJaM0dqZDNxak5xVkZtOXFxVG1sUkxtelRwRFFvazc1M25PN0RIZTBpaUhJV3hEcnd4cm1LSWlWV2sxeDQKTVE2aTBhYjBJUkhaajdlMUdPbkFpM0N4anVGRnIvaTR2SjV6K0R6blFoWG54R1hPcFN1YzR5VWY3TGtFM3VYc3Y4eTVVQW5lTlJ1VQpvWE5KVVErSUVQTmlYUzNHODh3SFd6dkZtZ2xHbUFuR2NHM0d3STl5R1RCY1lqWlN3aDN0d0J0aHcvMDNWSUJZMVl0ZmNjVHpqNGU4ClQxUDYvT01BWXNQRmxEN3ZCcERwKzZSL0poczk3d2VRYU1BZy9xZm9Udy9jSStpUHFrRm9adDVxa0wxRjhMc041RUNHNGVtZTZONEIKMUhPWXJhVk1xR2V3Z2RnQW9pdEFQUVBJeFJyTno1T2Z5YndaNXJFUmdDQ0cvVDBHNlVFLzFpTlk1UjhLUU1SQUdFRGpKVllUd0RFeQo2eWw0RUd5bXdtWTJzNjRMQXdnTmhSRURNVHNyTUlBb0ErSEIrQmczOHdpWEFlTUJVaXJCTkZUN3NabnFia1VQdCt0M2wvWndFUGJyCkFjU1VmOWdBWXRHSHV1OEhndWlEZTMxSXU0K2VQclo0Wnp0OTJxWGZ2azRMaHEwZjlza1hVL1hCV1ViVGgxNEJScjdMdHRkTGZjZ1MKREg4ZWJtZkdNKzNrOUdxUS9ib1EwYW9BWG83T1BGblRQOEhETEFsZUUycWZpL2RwWkRFQVFtemk1d1VMbGpMSFZhU0poKzdkV2NIVQpmbWo5VUY4S2gwL2hTY0VLbkZXNElNU3FBMkVNc1UvSFFEOElRTHhseEVCMGVqV1FVV01RUEE3aUxvRVFBNUdaTHdaQUEzbFV5ek1iClFLUXRlcUMxdmdnVXdBSlFrTzBDemFmekl4UmYxeHg5T3RMaHFCOS9xbVpBckxkVnIwdFNld1VRMHdSTjZjZHhKbW54SWRZQkFKRTYKa0l2alhKQVFQQ2FEN2dSQUNEM0c3dWxWUDJBZDVqRThUd0NFbjA4aFUyRGtDa1NsTzNyQVhJZElyZ0lpdHdHaFZtakVvRldleXJWYQpHV1M5bDJxelRydEJJOS9xcGZnNlVMUEhYN1BEVjczQlg3dkZWN3ZkUy9PRmgzcURYSkh2NTczVlc3NStmT0RHdlN2T0ZYOTl2T3lyCjRxTDlCVVY3eXZsTE52VmR0cGV6LzN6ZmZSZjZIaW43NDc1eXpzNUROaWRPNWR4L1hQM2k1K3JuTGFlZVBEcnlvdVZrYTh2cHR1WUwKYmMyWG01dEtXMXNydTdwTHUxNFdkTDRzNm5wVjB2MnE0dVdieWxkdnExNy9WUFg2VGNYYnQ1Q3lsei9mN1BqNSs2NjN0MSs5L2Y3VgpUOWZldmluNTI2dkt0eSt1dmZycDZxdVg1Uzg3U3J1YUw3WThLZWxxUC91c01ldndHYTFtcWNvdGE0YVo3d29icisyUzJCUEs2UVZlCnFkVitpNnY4MHFwOVUrcThrbTlwazc1VExqQUNFTGlIQU9pK3k2UUhycE1CUUEvRVV4OUtwa0VlU2FjL2RwL3hSRGJ6cVh6V004WHMKcDhxNXoxVHpJTS9WY1EyYStZM2FCU1NNZ1FCQWpJRXdnMUFkeU1oQUtIUXB5RVJDMlQyR2phR1dnQ1g2K0ZKcDlzbHE4bDRNYWZUSwpoTFRvMHB1MXFlM2F0RFoxY3BNOHNVVzE2Skg3dkJwK3BDdC9oTVE2MGtFVWEyYzNYc3lQY3VrZkplVlBGQWhIbU5LSHhOWjJuSzFnCm5PK0FXSUhkVk03Mnc1eFR4Wnd6cFg4NVdOanYrQVhPU1VqeHh5ZkxQenh4QloxeUhpNzY4RWl4MmM0am56cE1nSDlCOC9qakJGWmoKSlNHWkZuUFdDTk8vNU9idjRpNVlhemtreWR4NUFzOThpS1BaRUZlTDRjNFc2QktnZndxQVRPZWhTUDZkQUdLL1QxUDYvUDhJUUxnYQpaRXdmK3M4dEZOemphQk5zYnhVZ05QUEJ6VUFEQVVQc2UzME1BUlNxditwUUQ2QVJ2eFZBN00zdGpIN2dTYVlVNUlMV2U0MkNrQ0lRCmd4NVNnR0UrN1JGQUVQb042SnVneVl5WXFYdDZCeEFLT1NCakFNUVlTR285Vm1JMVRtdzVYbUlaQmF4Qk5SNmJHVElyZEFNUWEyVXAKczdRTE5RT1JwV0JHQU1MRDhPT1ZnbWhYODlHbzljY0dQYS9rVHlVZDBES3J5U1JNTjdTN0pTaUhXdVJPaU1QT2J3Q1EvdGlMbVhWSAo4Ukltc1BTREwvdkJLMDROK25zWS9RZ3ptR1puUS8zbzE3OHpKMS9rR21oYVAraTdHUDJnQXpWNnFRVjd0UVhFaDV2aWJaUHNZNTBhCmdEZDhvYTVudklFcmtJdTJtUTV5V0JsaW13dGY4clZKOCtPaU15OENJQVpTQTlFSUdKcWNIeXhjQnlGWEdsSjlQTGlSR2MyeEMvTFoKaDEva3F3UkFnK0JMU0RZcndVQkVQS1lBUW8xQmd0V0lQampvOWZCZGRIb0ZFRjZKR3NMTEMrVXZaUTdPZ214eTZIRXdNdlNPV0JQSQpUVUlBc2tuc0FVRHdNdXRVWWlCNktBeDFBa0YwNXZORDdkSzEvZWNNdHQzcXo1L2xPU0RKdzJ5bXQ4MFVVL3BRQURLNTNsQy96c0owCnV3VTkwSTZnZy9WRE5UNnpZc3dnMHhvUDR4NVdGckpDUElRcVFBQWdoUlFkZ1JsbUNVUXB6VlpLYzFYdWVYZ2tIdTNFUUFCU3JQZFUKYlBTUWI5QXBONU1IWHFvdFBwcHRYc3B0UHVxZC9oNWYrbW0vQUJ0QnZOV2J2TlRyZlQwMjZWUnJBcjIzVEo5NDd2THVrc29ERjM4OApVSmE0OGxDL2hOV2NyNDV3RGw3bzgyVWhaL1dxSVJjTERqeHBMbWxwT2ZIOHdZR1dKOGZhTzA0M2RwOXRhVDNYMm5hK3ZmVmllOXVsCmp2YkxuUjJGWGUxRkx6cEtYbmFTWEhuWkJTbC85YUxpMVl2SzE5M0ZiN3B1L0JVQTlMcjg3YXZxTjY5cVgzZmYvT1cvT3YvelA2Ly8KL2FleTE1MWwzWjFYT3JvcVhyOCswL1Q4UW10VFlYUGp6cnBxRjk4NFg2ZTRNWC94WEdhcFBHWS9vVmlaWE9LYlV1NlhWdU9iVWUrNQo2THBuMG5YdC9GdXF1ZmNVc3g2NFRQMVJNZ1VNZE05dDBqMjMyQWN1TVE5ZG94KzdSRDl4aVh3c2pvVThrVXg4S3AwRWVlWSsrYmxzCkNxUkJOck5SUGd0Rk9idEpOYWRaUFJmU3BKM1hySjBQYWZGWUFHbjFqSWUwNlJKUXZCY3lhZmRaUk5MaG05emhsMmFVVHY5MENGVWYKTWttN2YxYWIzMktTVnQ5TUp0VDVtazhHcE5VcnZWV1hCbW54VEcxVEozWnE1M2VvRTE5SVV4NUlaclVycG5XNnhDV0tJbHlFRVdqNQpGei9HaVQvUm1UZlJoWWRtNE4yNDZMcG4xTzdEajdSRHkrRW5PUWhpYkxtUjlqYVJidnpSWXNGWW9XZzgxeW5tbzMzSCt4Mjd4RGw1Cm1YT2lvTSt4aWo3SHJuQ09GSE9PRm5GT0ZITk9sbkpPbFhOT2x2YzdjYm0vMjB5dTAvUS9yZHJ6U1VuRko5WDFuUHA2em8yYkh4YlgKL2JIeXhwL0tybjEwK09LZmgyYTUvaVhDa1R0U1pCM2thR1c4Z2VIZFVEQ3Q4Ync3OWlhbllFUVNJc3ZRSG1QNjRuZUhZWUVkV2dxQgo3MURHTit2QWo3SzNHU3kwQ01HZm9xTWkrTXZWM215RUhWTWlJcXUxM2hjMkZKamdXd2Q3Um84cFdYNW5Cb1Rhb1c2ZVVEdnpBRnV6CkFOc0J3WFptSWZZV0ErRlRPL05BVWY4Z2VBSDhMbEFkYUlBZk1NaVVZaVFDQzMrMElHWEFOQWwzanJQMUJCY2VXWUtCanNQUTc4VnMKQ0lTTkQzUVROTDRNbW1XVUVVellKRElVbGI1NFF3YTcySXU5MkdHT3dJeGpNRTNHT2x4alNrMUlPZkFSSGc4RHVCUDBrQlZncnBiagozTG5SQ2dIYS9jN3FFeUxEWWhGU0czUm5OUHhYQjc0YUVRV3R4ZURHa2xXcHpMVkE5SVZBMUdXR1pDb2V6OFBIZ3Btd2ZxTFFDUm8rCm40S1FRUzJtOXhrQ2owbVlUMEUvMUNXS05yRm9aUmgzSXJsa0NEZGl4MERRNVlkNkJ1bS9seFNObFBxTGY2WXE0QzN4WjVPVkhTancKZ0RkZnkxOUE5RU0zL2FDVjd3UkFqR3lNd3Fyb1VLSHBvNy9ra0g0bHVSTUkzWUpJNmNkdXNaOWR1cTh0MnFoS0trL2VBQy8rUWg5QgppbzhnamN4ekFXdHdVdjE1YVFIY2pJSG9TQ3N2aUorUEdZUkc0Z0UzOENtNmFaQ1BMaUVrOXgrU2htaHdFaDVOendzUjVvTm15SGtXCk9iR2lBaGlpUjdwdyt6TjFRSVlyUTduVU5UK0MvTUg0c2tSU1FHSytrWFFJd2M5RWgxK0MvRkJ1Zm84QUNoVmtrMTBaVEVNMFZmdmgKNXVKak1xcFFCQ1FLNFdZSDI1RGpNTndTUkcwQkkwTmhpOGdxZU1ZOVFZZys2U2k4aFNBa0NBakozM29Ca3dDYmVQd2d6czlxSHNUWAphamJFeDNLV3ptSTJLelBScUR3T3g5blJhS3NYV2VDbEQ0TWgxa0E3SVk2cGdaaHRYM0ZVRWVpM0E0aCt3WHNBeEJnSUFLUjJSK05nCkt1a0tEOFVhTUJCMnoyYWRjaE1ZeUZ1TnFqN2VxdTArNnM4SmdIdzBXMzAwbXlGZXFvMEFJRS9sYXFVa1A4QnI4N0NRamRzV0hhM2EKVjFKM3BFcTBjQmtuKzZzL3Jqdk95ZDBXZGJWbVMyUEhtZFlYeHg4K1BOTDQrR2g3MDlIbWxuT05uYVlBS3NBQUt1Nm1ETVFBcUJ3RApxUEp2YjY2OTdMN3g0dFhWTjYvaDA4ZS8vTEtyK09MU2xXc3Fueis5OS9mL3F2djViV0Y3YTNGbkp5anFZbHZ6bWNhblI1dWViTGx3ClY2MmU2ZmtYMlRpTzFUYTd3VWNsMHk1NnhsZjRwZGI2WjF6WEpkL3lUTHpwR1g5RFBmdXVjdFk5OFpRZkpaUHZpU2tBZ1g0UWdGd2oKQVVDUDNHTFlCZ0lBRVFNMXlLYzNLbVpBbXBRem0xU3pJTTNxMlpBV3pieFdiUnlreldNK3BOMXpBYVJERjkvcWxVRFM1cDBJYWZkSgpJa0VHb3RQcGw4S2t6VCt0bDFBU1ltcElwS3JVVEQ3NnBMWjRwYUI0SnJkb0YwR2VhdU03VkhFZHFvV3Q3a21BdGxiVjFEdUNLZUhDCnNjN0NhR2QrbENNM3d0RjZnaXMzUXN5YklPYU5FOXVNQXVzZ0ZZR0J1Qk5jYk1iQmZ5VkxyRWNxUldPZEJCUGdQNFh0ck1aeEhTYjEKKytaNFAxUUJ1dExuU0hIZmZXV2N3eVdjNHlXY0UwVWZIcm44cDRNWC9yVC9JdVRUZ3lWLzJIR20zNldybk91M09lVjFIeGRlNzNlKwo5b1BUTlI4VjFLTjd2WXZMUGlpcU5QdnlIRGRxdVFYOFJXSVordXZwOHo4VFFFeDVpWFdaTWpLUXJWV1luZlVnQUpBZEZnK3EyYkRlCmpCR0EzdVVoazVaaE92OWFBQ0h1NFBxTm5YbVFyZGxBSEpDUVAzeDBzQXh4dEVRWENLSGZKcHFaSCtoZ0hXeEtIeEw0UitERW5lQmoKdjIvZWhBdkI0dU1Td0xmWlpQM3lWTHIyMHh1QWNFaVB6bnNBUlBiSnN3eGtRaHdjOGhyVE1QcGhBRVFkcnRFQXdnWmlBd2c5UUlVZgpWQW9hZ3diZGVWZzVKZ0FpQm1JRFNHb1RnN1prY0dQaEk2bjBNTFB4VEZSOGRETVFZTVhkZWlJQUNDZENhaFdKWnRTdElxbFFCaUxGCkcwbzhSZ0FpOUtFQmhQUkRvdVRGSWdQUjQyRHNVek1TMGpuRUJwQ0tCaEQ2eUo4SCtqRUZFTkdQbjhGVVZ3OEE2aWtHK21FQVJMUkUKYWovd1k0bCt2QVRKMU5FYlB4RUE1TTFQQmdDaE5lKzhERitzSHdwQS9IUU1JRVFmYWhNN0d1bGF6Z0lRYWg0aXJVSjQ5QjNSQjE2TQpqcmN3Z0lBczFHd1hubXczQkJDcEFGRzkwb050ODlCMG1DbUE5S0gxZzhXanJ3QVpsbjlZK3VrTlFGUnhDQU9JMVJOdEFLQVVQM29lCm51cVZKckhPRE9JbEE0K1lleEg5clJOSWFBQXRvQUJrT1pjWXlNdHlucGZsSEZabWtidWhPZS9XRHp2c0czMVlBSnBycWgvOUtWanYKQURLTXdTb016Q1BjQUNSSkJ3QXBwVmxzQUxGYW9iR0VjQVdJVElScDVhczk1T3M4eVB5WGFxTk91UUc0Z3dDazN1cXIyZUh2c1F0WApnTkNYY0svMGVtL05CakFRWXBOeXJWYTVNVWk3TVdubzV5ZldGWHg3c0pvekljbHEzcnF4QlRXSG03cU9QVzg5OXJUeDhOT25oeHFmCkgybHBPdFhTZHJHcG5RSFFoUTQ5Z0Fwd0J6U2s1R1ZYQ1FJUTZLZWJwT2hGZTJWM1Y4M2JOelV2WDEzN2o1OU8zYitqMUhqWmZHcWwKVVhzVjFOUS8rTi8vRzdWT3YzbHp1Ym5wVW52TCthNldBOCtmbm10K203TDVpTmpKUjlsdndOVFBITGE3RFQrcW1GN3FsVmpqdmZDNgpaOEp0cjhUYlh2RTN0TE4rVU0zNFVUYnRublRLUGNuRSsrS0o5OXlRZmg2NlJqNTJqWGppRXZIRUxRcnlWQno5VEJJRGVTNk5iWENmCkNHbVNUWVUweTZjMUtxWTFLYWMzcTJZMGEyWkNXalJ6U0ZxMWN5RnRIdlBhUGVNZ3Jib0ZrRGF2ZUpKMjd3UXF0SVF3aGhZeWFmZE4KN2pFZGZtbnR2cWtrYlQ0cEpLM2V1TTNJYXhHSzUwSjBBS2ROYk5Va3RxZ1RubmpNYTFITmI1Y2xORXJudGlpbmRMdkU3c1JidlJ4NQpDRUF1L0VoWDNsZ3hiNHlFUDFZc2dPZkhTcm5qa0lSNEUrQ3ZLSWx0ckJNdkF0Qmp6NTFnSzVnQS8rNlc4eWM1T3Mzc3UyWVA1NHZqCm5HL085TnR5Z3ZQMWlUNWZuK3EzOXpTNnMvdm9lYzd4UzV4anhYODZYSWFhZ1U2WGZGQjY0MCtYNnZ1ZXIrRmNyRVA3M1M3Vzl6MTEKbFhPNmxIT2hpSE9tdUU5NS9SKy9PZDFmR3VQeUdkbzU5ZXYxODg4RWtNbGhHWDFrOXR2Q1B2WmlCd0FFdnpyOFFDRkZuekNST1RvNQo2dTFiak4xakNLQ2VEUFN2QlpCb1FDRFFCeGlFUzBGVTdRZjBRNjVKRlBRZkNDRkxNMGdia0NsOVNFUm1ZMTE0RThNa0YxZWwzQnJ0ClVla3VtdWowV1p5RDJSZ0dRTFIrcVBtdjNnQkVNMGgvYUlWV1orQlhHaG5vM2REcExleHhlZ1pBNUlTTG5MWGhNemdxR0VCRG5TM0MKaVlFUWovQ2VlZElBeERSSzY0dEEzRWdHUU5TT01Ld2ZpWFcwekdZU3VSK0lmVTBpQkFCRUtrQmtFQXdYZ2ZBOVFGWVJyQ0FHMFczTApxSDVEQUVRTVJEK2dmRVBYZGFqN2daVGNTYWFOMHN5c3U4RnRoeVNnSDd5MGxlaUhBTWlEcnNHUU1neHVlY2FIWDZ5ekxaTlFKUi8yCmpndW14WWNBaURrZHc1L1MraEZsQUsySWZqeDVpUXlBdkhqa0RTVDc4bEtaK1BOU0lOUllPMjdyb2E0M3hBRENSYUE4Y3YwZzJaakIKSG4wUDVXTUFDVmFRUGg2Z0Q3bmFoMnJmUWV1OVZqRVhHNUwrYUF5Z2ZBSWczQjVFTFkwbjAyRjBxTm9QVmNVeDFJKytycVBYVHc4QQpnaGV3QUpSRkFNUTBRYk1CUkYyS2lNZkU4RnFNVFBSaUNEY2RFbVNEbW9IUVdaalZva0RycEVDRW9mZ2VER1E1MTlzcXpzZDZ2by8xClBJaTMxVnd3RUdxT05wL0JCaEJqblhrNFBlcUhBZEFDRm9DUWdYclFEKzc3TVZuMTFXT01TY1NVZjVUdW1SU0FwQmtRTWd2R3pNTWoKQnJFQVJGcWhVVGUwYWgxcGlQWldid0lEa1lNd1ArMU9ZSkNQQnAxL3dVZm1CYjdhTGNBZ2YvVkdQKzFYV3NXMm9lclY2NllkVGNuNAoxdi9ydlY4Mk5aNTk5T1RBblIvM1AzaDBwS25sYUVQemtXY054eHNiVDdZMG5tNXRoWnhyYTBGRm9FNDlnQXBmZEJRWkdvZ3c2TXJMCnJxbzNMeXQrZWwzVjFuSG5sMSsrcUN6emM5TkdCSTl3dDdEWHFiMnZQSHgwOTVkZnpyYzJsYloxd09zUE5UODUzTmkwLzlIOUUwK2UKVGM1YzN2OFBuNms1L1ZKc1pMdmRvaTZxWjFibzV0ZHE0bTU2enIrbGl3TUFmYStaZVZjNS9iNXM4bjNwcEFlUzJQdVNxRWR1VVEvZApnRDZSVDkwbXdFZjBRQXdHaW5vbWlYNHVqU0ZwQWdQSkowR2FGWk9iVkZNZ3plcXBrQmIxZEpKV3pZdzI3VXhJdThjc1NJdm5IRWlyCmJpNmt6V3NlazNidkJVdzZmT0tadFBzazloaGtJeHBNcEpnRUliV2xGbDA4aXNlQ1Z1MzhGazFjaXdyb002OVZNK2U1Y2w2MzY0SkcKOFpST2FYU1h4ZmpoanFQc3JHS2R1TEd1L0dnM1lUU2dCKzB1NVUydzUwZmJDeWJhVzBVNWM2TmR1UkZvK01WcUJQenIzcDAvVnVjMgpaVmJnek5Ud2hkbVJlVWtUbDRidi9OcHY3OTZCeDQ2RkhEem1mUEM4emY2VGY5eno3UWU3ZHZmYi9zMEhPdzl3ZGgvbEhEckYyWCtXCmM2S28zNFVxenFsU3pwbXlUODllL2V4UThTZjdMM0FPbFhHT0Z2YzVYc0xaRFZvcTdITzh5R0pzcHRObkJqdXpUTGxqR2xQaXZEdjIKLzJJQXNiRmlCQnIwQXF1aElndTAzY3plWnJEQWZLQzlUWWdwZlg0bGdFd005SzhGa0JBQVpJazZnVVFEY0IrU0picjdCODE4bVE4VApXYUNPSzRRZWRCRmlrSEFBaW1FSHRENjJOanBIN2tnNU4yKzA3MEVsZDUyRFdheUQrWEFuR3oveU8yTDAweHVBNktWZ2xHbDZBQkNPCkk5M0VBd1o2SDREWXROS25Od0M1V1k5a0FBVHVZZUppT2NUSmZEQ0VsSVZJaXhLZUFpTWRRbm9EVWRjaFdpTURTVzJpM0xuby9Jc0IKRU9uc01TclB5S3lua0F1Qm1FbDQvQnJVOGVOdU5WNXFPUTVuQW9SSWlBR1FhUXpyT3ZUdGlHZ3hLa1VmdXQ1RGlZZTUyc2M0b0IreQp0Ujd0RjVzTEg2bGRwNVIreUxnN3Z0L1pXRHc5QUloY2NvanVPYVJPdUpCeW1OY1l0UWRSejlobWduNjhoU2s2ZmhJQXlKTy93Sk9YCmdBQ0VEUVR4NFM2QytQS1NjUmI2OFJZU0E2RkRMbXdkWE9QSkR4V3R3QVphQ2s4R2NzbWNmQTdadlFWZkJkYUU4TkJIMHNpTXA3YzIKUXVnS0VHSU51Y3FaTmhEcGhsNXVDQ0JxT294WmcwcHUvU0VYLzVBT0h2YkpGNk9mZHdDSTZJZVZKUlNBK0JuTVBVRHNJQURodldCQQpueERlWW5oeEdBNTZ6QU1HWmVKRHNWUW1xR2NJQndOb1BzUVFRUE45YmVMWUJtSUFaS1FmZmVqN0RLbWd1M3pvNFhaODJRL1ZGY1RXCmo4UTF3YVQ5MlNSVWZjaWc2b09ERHNYSUhvd2VBS1MvRzVvMmtCdnFoaVlUWVZyNWNvME1YUSt0bGEvMFVLd2hjMkZBSEoxeUV4akkKVjdzZEdBVFA0TXJRWm5BUFZRZFNiL0pXYndsVjdQTDEydWJxdVU0ajJ6VE1kVTNtNGpOYjJwN3ZmWFRqNnpzM0R6YzlPZGp3Yk8ragpKeWNiV2s0M3RLQTZVR2Z6cVpZV3lPbTJaakRRaFk0MmJLQTJDREZRSVRvTG94aFUxbzBaOUthNzlFWEhsWjlmVjNWMjFmL3kzenV1CkZBZUpkWlBDeGs0TEdtbjdKNnRGMlV1ci8vcTI3S2RYRlowdkxqUThQOW5WZktHMTY5dEgzeDFwK1BHYnVodmFrSEF6RG1mTUo1YjUKM0tEajhwZ3l6OWsxSHJOdmVjNjU1VFg3cHNmTTc3UXo3cXBuM0pkTmZDQ0xlU0NOZmlDTmVpU09mQ1NlOEVRODdxa2JsV2ZpOFpEbgprZ21RQm1rRXBFa1dBMm1XeDZJb0pyWW9KMEdhMVpNcEJtbW1RVnExMDlzOFpsRHhuTVdrWFRjYjB1RTFCMktJb1RnbWJBd1pKcEdwCkhqSDFKRkplUWhVbWovbm9BRTQ5cjAwMXQxVTVCL0pLTnJOQk11TzEwOHhHYWV6ZitCT0t6RWJiT1krUVdFNlg4Q2NDZ05DV1UwR1UKdlRBRzZHTW5uR292bXVGa3Q4Q0pCLy9DSFR2RUxUSnpXT0tocExYWE4reHYySGV1NDhqUm4wK2QvZVZ5OFM4bkw3OHRMUG5yMmFLLwpueXY5KzZuaWwwV1hPODlkdm5mczhwbWp4WXVQbGc0OFZHTDI5U1hPdHRPY2J3NzMrZnJVUnlkTDBVYmJFNlY5amhSeGpsL2tuTC8wCjRZR3lQb2VLL3JEdjhpZmZsbkQyWFBwZzcvbFBremJBWDFmL3J3QmsrdVR2UzY4QXdyOGRSNnRoVkp1MjFUQ2h4VENSNVhEVDN4R0oKc1h2K1h3TUl6WFpaQjhKSFVmOWg2S1lmQ3ord2pxTkZ0SjNGUkZ1TENBZnJVUTdjY0JDU1lJQWYxczhnMWoxQUJoRmFCSW5NUjZCTwpML1B4cUFabU5kelJLaFNkZlAwV0FKSGVIY0tYbmdGa1NVM1g0NTlHRllGNmpDbDkzZ3NnOHQ4RGJBQTVvWHZNdzJrQURYV3pIb0ZMClFjUEZOaFNBOFBFWk5RL1A3Z1FDL2NoNE1YTCtKQmtQTlF3eEFHTHVpYWFDaTBBTWdNZ0w4QWg5TkswZkNrQzBnU0taMmc4VHBwWEgKd0QxMGpHcEN6SkFYbWUwaUsxUU5nZ0ZFYWo4QUlBK2VFWURvOHMrN2FqL3ZBUkR6dmVTeHdZL0NHek44YmRPOGhZdThCQXZCUURwKwpJZ292Z1FvMzBSdHQra3lrSG5BVElEN2NKRDl1c2o4UFhYdUk5b3p5czlDU0w3emFBaCtFNVFHQUFybmtnQ3dQM0VQMlZJVHl5UmdYCmRZdlBZUDc2Y01FR0pDRUtRT2p3QytnRGppSGQwSGcyM3VDQ1JBUDAwTXUvU0pneEx0YkpGeHFBcC9UREpaZEJNOUZQZnJIcFEvU0QKd2x0TTlHTUVJR29YR05FUE53dGVQNGlFeTVJVE5oQk9Hb1RNek5NR1NpQUd3Z3hhNEdzWkJ3K1k0aENCRWNldzB2TWUvUkFBb2J0OAo5QUJpNXIvd2lsT3NIOElhWS9IMEJDQmlJR2JvSGJ1SEpJMDYvNktIdnlqOTROQWJVbkV3Z0VpUWZtUkxsZEpjK0lobjQ5SDlRS1RTCkF3WUMvWGlydHhMMGVNalg0VTRnK0JRa3RBMHlVTFpEb1Z6cnFkdm1xZHNlRXI0K3Qrclc3bHZmZlhQdjZmYkhkNzVwZXJyditiTUQKajU0ZWU5cDR2TEg1VUZQRHdmYUdrODNOa0ZPdFRXQWdjaEIyc2JNVmNybXpBMWVET2lGRlhWM0ZMMTZRbEw1NWNRWFhoQ3JmdktyNgpyNS9PUDdvZjdCODZQbURvYU8rZ1VEZXRUdXQvOGVtVGtyKzlMbXB1clhyWmZiYXI1Znl6OWxNTjkvYy9xUC8yL3IxVmg0NWJEdWd2CjRYd1E4MmVucjV5R1h2S1lYSzJiY1ZNMzY3YlhySnVlTTM3d21INVhQZTJCUFBZaHhCMEFGUEZZRXZGSVBBNERhQXprbVhnc3lYUEoKT0pJRzZmZ205d2tvc29obWVXU0xJcXBaR2RXaWlvYTBxaWRDMmpTVElPM2F5WkFPanltUVZzOXBiYnJwSk8xZU01aDBlTTAyU3FmMwpISnk1dlNTdXcyc2VTYnR1TGttYjV4enlzVTA3dTEwOXEwMDFzMDA1bzFVeHZVMCsvYVhiMUZibnlkMHVzWTN1RTE1OE9pWk9PTVpPCk9GNXVOZFZkRUl2bTNnVXhUclpUbkVRVG5Xd2kwTjJ5Rm1QOXpVTVcrTTg1bXJUbC9yWWpML2VkL0huZjRmL1l2Ly8vTzN6a1AwK2UKK3ZuMG1aL09uZnV2TStmL3ovbkx2NXd2K3VWQzBYK2Z1L1RMdVN1L1hLcjRwZWphTDZYMXZ4VFh2N3BVVlhQeTByRWp4OVhmbkxUWQp0SnV6OHdEbjhNVitCMHY2N3YrLzNMMEZWSlRiSHJEUDZYTThCamtkRENuUzNXRmdVSXFCSHJ0YlVXbVFFQVVFRE1MR1JnVHA3aER6CnFOZ1MwZ3d6ZE5sOTVyLzN1MmRlaGhuVWUrLy8zbSt0NzF2cldiUGUyY3k4ek54MWx6em5sNlVTbDRzbEVvdi9PRi95dytVaWliZzAKaVN1RkV2SDV2NXpLL0gzWEFTQUUvNWI5c1A2TEFpU3lHZU0vWFpFaC9na0Z3Sy9Hd2o0RERkeVc2S0xHM0toSTJqRHE5NFVuNHVvagpKa0FqSGVoL0swQjBxYW55Y3BaQVdYQUJVaUk0NjlEOFpsa2MwWi9veFNJc29zdk1vTXRhTTJXdFdVQ1ZaR2VJcXcrQ1FiQWtTMXFyClVtWXpwZURVUkdXU296SnBPbFBhaWlVWUM0UUxFRDlDSTRqb0NJdlIxd1FJT1pCZ3plb29PaVdPdVByOEt3S0Vna0I0L2dzSUVPWkEKS0JSa0Q3MkhDRXVrd2NXSTl3NDcwRHdSQVVJT0JITmhmTVZaQ25OaFdPQUhKY0pRRVRTcUFVSXRZSlBrWEdBWmtNQjdNSWF6WUNMVgpQN2o5NkpGV0NWak5oN2dXTUd4Rm1CamhBMzZRNHVEd042ckNrQS9jODhWUGZwSDVBbVRLY0xXZzdyS2d1bHZTUEdDSEY4UEhoZ0dYClVjQ0ZYS0xlTTBLQXhGTmdYeE1nV0JqRThzTUV5QXVMQU1GZU0xUDZUaVJBSmtJT0JJekhoTFROaUF3eElXMEJJQWN5SjduRGhpK3kKSjNBZ1BBZ0VtRUxiQ3pldVk2dFNrZnJNa3NlYTNtRURGeXo5bVVWSDZvT0EzVnZnSE1WMUJKT2dNZGNSTk1iamg3ajBZTzdpSjJBNApxQU93cGU3QjdRZFBhZjBMQWlSUUgwRXNaekxGQTRDbHZURDdFWXhHUkdrdjNINW1VUDFuVUFLQkFDRVRzZ1huSkorcFJHOE1Ud0JmCmdMRFdNRlFWWkVIWUJzQUVpQjhURWdTSG9BTUpDNUNRK3JDMkNBc1FQdFlaRnlCZ01FaUFCRUFCd3UwSHEyVkdBclFURngwUjhFSnAKSkVBbzVBUEhIcW9EeFlFem9KRUE0VVhRNEJBWElCUUhRdWM2azRKZ0ViUkdFUEllMkJjMktVQlhJd0QxeGtNQjBvVlZRWmdBeFFBcwpqS0tzakk4QUt3SW1oTEpqS0RKa1loQnVxbnRNVysra2pWNjRYK0g5cU5xSHg2b2VuSDdhZWJxMTdYanQ4M1BQRzVMWVVIMEFWOW81ClNhMXRLZTNzVkRZN2pkTUdIQ2l6RXliQ2NyczRnTHp1VGxRU2hEU29xQnRxRUNDL3Y3TmlxSys4cTdQa1pYLzVpNzYvKzNybXJsOW4KcFdVeXo4N2UyWER5SklyeXNmeThhMS9lWFIwWUtHNXR6K0d5ODFxN0M3anMrTG9IWjU0OVBudjN2djJ5VmVNa0pBeC9sZHdqYTVDZwpQcWZDWU5rZC9aVVBqRmMvTmxyOXpHQjFqYzd5NXpwQWdCYlhheTU2cnJHd1lkTDhCdlc1VFpNdzZWRnpSclJPbW90b1U1OEhZR3NBCkI1cmZycmtBb3UzQzBWa0k0T291NHVvdFJuVG9MK2swV0Fyb01sd0c2REJjQWVnMFdnbm9NbDZGdzljZzA3VWlkQU1UR2hYakRZQXUKby9VSWxGOEQ4Tk50K21zNmRWZHp0VmR5TlZkd05KWjNhQ3p2VkZuU29iU0lvenE3VTk0K1U4cGVqN1ZnRW5rRi9DZVl0a1NWdWtTUgp2a3lSdmtTVk5NOVFkdFk4QmVlZGVzdHV1d1czN2ovMitsVDhwL01KNzg1ZmZua2hhU2d4ODAxRzhWQjJSVTltYVZkbVNVOWV4YXVjCnlyZUZOMThYM2hncXZNNnRyT3d0cTNoUlZQeW1xT2hOZWRHN2E2WHZyNWQ5cXF6Z0pUM0tTNjFjZUNsNXdzblRFcWN1U0Z6TWtieFEKL3V1cC9COVA1MHJFNTBxY2djVkRFbWV5ZmptYU5uYkpib29jdndWTXpCNitpcmppZkp2L3RRRGhieFQra1BCTHlUZ3B5Tmt6cEtmSQpFNmNCejVza3Y4bkdNTlp3WW93aStJTXRhSHpqdnhJaHJqNmpDWkNRQS8xdkJZZ2lhVXVUTmFYS21OR2taakZrWjlMbHJGUXBLOHhWCjR0dzNQSGEwUGp1UnNRRUxhRTFoRVd6a1pTWXpKQ2ZEZ3FGUmtYT2tTaytHd3hKbGpFaGp6ZWpTbGl4cG1LaEMzMkpVQVJyWjI4VVgKSUpFRUZ2Z1JQNFlrTjVOZkRUMWFVOWdvQ0lKR0lnaUxpN0FNSVFFU2xFSUxDeEJzQkVQRjBXZ0NFTXFGd1JlUGRDQitZenlXQWdOZwpEZ1Q3djFBV2pELzNtUTkvU1NxK0d4V213d1NMVVpFQUllTlJoeWJrb2k0TGwzYWhVbWhoQWNMdFI0ZThBa21QUGpBYkFHa2R3SUM4CkhpQSsyVm1YdkE1R2VzaWJBZnFVTGFJSUZwMEM5VUZnVFZqYkJmYmpLV3cvM3hBZ29hcm5FUXpyenNneUlIeFJ2QVdESC80QjltUEcKQUJjd0NJUlNZSmdBYlVYU0F5Nk15RnVNeUp0TXlKdE15VnN4QjlwbFFmWUFBZ1Nid29CUzBQWmd5MDFEVVNJTWRyd0xoaG5hc1NMdAptSEJJRCt4WGg2VS9VZmJNR0R0R3RCM2pNSlFoK243Z1JpaXJKV0kvcVBhWm4rR2l3WFl3Zk1tWERkVWJZRTN4c3FINm9ySnJWSTBrCk12VUhqK3ZnQXc5SEV5QlIrL21HQUtHMDF6U2tQcGo5QUdhU0E2ZFQvQUMyWkY5TWdLRDZDQVJvZUVDaWlBTUp3R05DbTZFQUNSZjMKOEZIWUNzQUZDTGNjRVFFU2NTQmNnQVROWFB4WnorTHFnd3NRY3FCSi9OMFhjT1FQUUVjRE9aRFhzQU1OQzlDd0EvSHRSOTBQQm42MApnbUU3R1BTZUlHeGs0bTVjZ0F5MFFvRUFHV2tmZ0QxZkJySEFlQXkwOWxzYVI4TTJlTmdNSDQzS2cyQ2JtRkdrcnNGUlM4Mm9sVDdaCngyODNSOStyUFZMMy9IamRvMU5QbXkvVnRTZlVOY1kzTnlZUGRXVzhIc3dmR0x6YS95cVpEUjBJQ1JCS2hPVjB0bU1PQk5OaHVBTUIKQVVMa0RYU1c5SFZWZG5ibHZld0ZGM1VmUDRTbVg5WlIwWnJwT012WnlGcVBNakh3NUtuYnZNOTVYRzQ1cDdPZ25aUEQ3a2xwYUVodQpxVDMvL09tRlo3WDc0cFBJSkxxTWhNVFduMWduNUtmbWE3bmMxRmxjcGI4Q0NGQzF3Y29hN1dWQWdPcTEvNElDcExsQUlFRE96Wk5FCjdRY1hvSFoxWjdiR1hFQzc1anlPMW55T3pnSUFWOWVsUSs4dlFLZitZa0NYd1JKQXQrRlNRSWZSc2s3ajVZZ3VreFhEWUJyVWJiSmEKakxXajBtVzhEcWZUYUMyaXczQk5wLzVxUUlmZUtxNzJDcTdXY283bU1xNzZVczZrSmUxcVM3aXFDeHNtVGgrUW5MeU5QazJKc2xDTgp2bTRTYWE0YWVaRVM1UzhnUUVxMFJicVVPVXMxWEM0djhlMklpTytPUHZmcVpQemJ1RXR2VGwxNGV5SHBkVkx1UUVwcGQ4clZGK2tGCjd6S0tQMmFWdml1dWZKVmIybHRVM0Y5VThxN2kydWZDMngrS2I3NHV1LzZpOU5xcjRzcTNCZGMrNU4zNG5IZjdUV25LeCt2bFgzTC8KenI5ODFmUlNzc1NSdUo4T1hmamhRcGJFMld5Sms4bS9uOHNjSDVNaWNUVDFwME1KVXBhYktUUkhjY1Y4K2N3YkFBQ0FBRWxFUVZSaApZWXRMeFE4UjRvcnpiZjdYQXNTVW5zRmZoaVg0ekh5aGtaNmpTSENnU1ZvcGtLZXpTTTRHYXQ0dXMzSm1tZVlyRVIyRUhlaTdBb1JpCkcrTDhyd1dJSWVQSUpGclE1Y3pvTWpQcE1yWVVhWE5sNGxvcjFaU05pNnVtbVp5ZFNOOHFUNWhMazdHaFNwb3hwQ3hSczlpb1VLUk4KV2VRcGxBbW1xbFNnZ3pad2pOQUVjNWFzTmRiSkx5cEFzTlVMaFhOR0xzZjRuZ0FKT1JBZUh4SnFuaCtCc0MwSjhRMEJ3aDBJYndGVApsSjZwSk8yQVVsM0tNdndwaUVMZDhzTU9oQXVRVUEvOFFsUURKTlFGQmtjL1k1T0JWbW1UNFlvTVBkb0cvbUpVckVRYWp2OFJyQU5ECnpWOUFmUVQydzg5OGdRdEJ3bXQ0K0tFdVphV3cvU0QxUWNzcmh0ZTU4OEhzUnlCQW8yaVFRSUNNcU5DQndLTUpGUXFRd0g2OC9pMEIKRW0rREZ4R2dZUVFiNDgzcEhvSmVzNTNtVERkKzl4bGZnTFlLQzVBeFpUUENsTExaak9JS2cwQVVOMHNTY0NCdmF6SWM4NE1FQ0NYQwpCSmt2dU5JTDJBL3M4NkxCMm1kZ1B3N3kwWTZzSXdCd0FYd0lFNkJoKzRFQ2hHZStNQUZDOVQxNHRnc05hN2FtZWtBb1hsZ09EbFprClQ2SDdZd0lrakwrd0FBazVrTEFBaldJL21BQzVqU1pBdnVpR3RpUHRad1lwUUNCQTN0TklYbEI5U080SWZIMFlYNEFJS0JHMmJXUTAKQ0tqUFpqUFpUUUFKTlA0SFZRS3BZUHZiUmFxZWhjSThJL2Q1Q2NZOTh3dUFzRFVYYXZ5cTUrRnlaaUhqMmFxbXVHbWl3a2J3T0VscApzMkFSR0wvZEhRVjFJQ2pKaFU0d0FjS2xCeHhxcU1MOEYxQWZYUTFvT1FDQkNmbWpybmpCZU9nOUJockJocHBRZ0ZCdlBDd0QwbzgyCmd4MWhoMkVYbU40Qlk5MXdFNzBJY0lGcW9pMDFEcGlZSHRPWmZUanlXczNCQjNkam4xYkhQSzQ3V2wwZFYvUHNXRTNkMmRybS9ONUIKdjlRck9sTm56SEJaRm52OSt0VlhyeTkzY2M1eG0xTGJXM1BhMjdPNDdRWDkvVG10N1dtOVhla2QzRndnT2wzZE9iMDlXWDA5V2QxZApoYjE5dWIxZFYvdjZTOW5jOHA3ZXdxSCtvdGRERmIxOU05ZHN0cUFyTHpDZnBrQ2t4NXc1Vi9QeGZYNVBSM1ozUnc2M0k2dWRuZFhXCmxsUlhkNm1tT3FubVdWeFo2ZHhsSzM2UytGbnRsMS8yRUNhVjA1MXY2eXk3YWV4NFg4T2xUbmZUUFhPWE9wMzV6M1VYMUlOSHJibU4KR25QYU5HYTNxemx4Vk94YVZPM2IxQnpCMHpiTk9TMmFqczBhRGsxYWpzM2FUbTFhVG16dDJRQ085aHhBaHhhRXF6bTczV0FlZ3FzLwpyOE5nZnFmQi9DN0RCZDBHQzdyMS84THBNVmpjYTdpa3oyaHB2L0d5YnVNbGdCNmpKZUNrMzJEWm9OR0tGOFlyWHhxdjdqWUZlc1MzCnBSNnpWVDJtYTRBbndSaVM4VHFPOGRwMms3VmNzL1Zja3pWY2c1V2RlaXQ2OUZjTnFLLzdSMjFGbjliOEJqM25icDJsZlpvcjJ5WXQKNmxLYTI2cHAzOHB5R0dKT3o1UzBvU282Zy84V1ZGQmFxRVVDOXJOR21iVmNudUtpU1hZNnJiZDRZTU9XL3BEZFE2R251bVBQOWgyNwpNQkNYTUhUK3l0Q2w5S0hFektIazdKZXB1VU1aQlMremlsN21sQUQ3ZVpWZjlxcXcvSFZSeFp2aXF5OUxJSzlLSzRXQkozblgzaFZlCkhTZ3I1QldYODlKdkhydVlTVDU2WENMOCtDOUg4aVZPcC85KzlJcEU1TVVmeithTzlZMzdUV1crcXRRVWNjWDVOZ29qUzIwUThsOXAKcmNJWTdrNFhSaDViV1lWdGFjQnFkZUVuZ1lnckRsOTB4Rlplb1BzTER5ZkV6K0dIbEhHU2w0Rkw3MW15ZGtvRVp6WEtNaTM2RmozNQpYUW93NlBWdk1YcU5sTkFud1FjOHdobUdxRE5MSEhIRitRNVllZ3NiaWdpWG5vTGZxRVIwVktYTXNWQTVxczhNbWtoY0I3NGRROFlLClZrWmpMeE45dXdCNUdXc2NRVHM5UkdCcy9MWHdVR1V3M1VIQ2grWURDZHdJaXBFZ2grV0lqekhrQjI4RVBpUWNOSUlJVWxRWXFJS0gKUDByeEc0elVJRFJYR25zcU5INGF2eWZTSGR5UXNCOTk5VmZ3NDBDb0s1NE00MEI4K1BVOXNBWm91QXlJdEJLTzZxR3NRQkVnNFhHRgpJK3ArQkQ0RTBDRXUwU0VzQStnU2x3UHd6SmMrR1FxUUFXVXR3SkRLZHlDRWNFQUk1Y1hnaFNEbmhTcWRZY2lIdmdWZ1JJSG1BU2NmCmt2Zm95QzNldHozazVlRHUxcHJBWGN0Mm01QTlyWm5CMEdOWVhrQ0pwaWg3QkcrUEtFN1pWWlRpTzVrUmJNVnlzNVRmYmNad2czSkQKRi9SNVljTU1NVHd0bVY1Vzh0NVc0QVVNSDJzRlQwdjVYZWIwUUF2cUlVdFdpTG5TeGltTUNHdGFrQm5OSGZpV0lYbWJDYzNOaE9GbApUSGMza2ZNeHArNHdwYTR6bzYwM293TDEyV1pLM21wRTNHQkczV1JDM0E2OFI0K3cwb3krVFY4T2ZDUnZZL3BhUzlvMjRCL1d4TEFwCnhBaGdQRE9aZ1ROcEFYYjBmYmJVY0h1bFBmWUtFYmFVUTdCcGl4a3lsUnh1enpyb3dEd0NzR2ZFMmpOamdBQUI3Sm1IQU5PcG9ZSVYKRnRCZHB0T0NVYjhZRmt6YXc1OGtCTU04Y01qUVpEaGkwUk96SHkrWWxxSkFMNWxPQzVoRkcvWWtESDdyTzNJbUlRRWFidkthakJYMAo4TUVQc1MxZ0FMeWdCMXlnWW1kYmtqOE92d0FJWTBRUnRGRFowRlNLTitvT3czQkhEV0pXY2p0SERRSUJKRVNhMklXelhjSnByNUdyClRER0VWMTRvYjhhTGU3QnladjZBSCtBMzBJZFV0OE95YUtCQmlsdUEvUWdMRUNyOXdRVUlGdmRnb29NUUZ5QlUvUU1EUHlNRmFIZzAKb3FBZUNBbVFvVFljRHoxU2dMRHdqNmdBeFZqckhOVTJDdHR5dU9MZzdlcndPM2NPM244WTlmQVpFS0NvMnNmeDlVM3BuUU1IQzh0LwpIME1ZSnpGbTNDL1NFMzRsUjZUbGxMOTlGYzlwVHVXMFpYUGFrMXFia3RsdCtlMGRHVzJ0bVYzY3JJSHVqSTcyZkhaN1JYOS85cXYrCmhBOTlWNGVHVXBvYUMvdDY4cnM2YzluczRxNnV1NTgvQWRlWk0yZXVISUdpYTJHVjkrVFJyVmNEbVp6Vy9DNXVQb2VUMWQ2YTBkS1MKM3R4ODVmbno4dytxTHY5OU8vRGdJY2tKc3VNbEpKYjlTVXhnV0pXb09kN1FtL1ZZYjlFem5UVVBqRjBBejR3VzF1c3RhTkdZeDU0RQpCYWhGM2FsQnc3RmRmVFo3a2xPYnFrTzdpZ05YMWI1VHpiRmJ6YWxYZlU0dmVGUno2cGswdTB0ak52QWU0RUR0dXM2QUxxMEZnRzV0CkYwQ1B6a0ljanNGaUFOZHdTWWZSMGs3alpVQnVnT0lBdUtZck9zeFdBanJOMTNTWXJlNHloUlZDSGNhcis0MVg5cHVzQXZTWnd2aFEKcDhrcXJpbGtTRy81b082eUFaMmw0TEZYYnlsSDk2OFdnMFV0eG9zNzlGYjM2QzVwTTNKcDFWc3dxT3JTcTdxUW96Ni9SOFdobDJ6WApwR0xML1VQVGhXNmpRVmloU2xxbVFseXN5bHlzeFhRaEUxMk1WQllVYVMxc1dibXoweXRxMEN1bU5XWi9UOHl3QUEzR3B3RUJlb0VKCjBHQjYvb3ZNd2xmWnhjQ0JYdVlOTzlDcjRxdUExeVdWSW56TXV0WjE5ZXFia3FJWGVibTlaUlc4M0tjUEw5dzBQbmYycDZDWVA0NGwKUzBRbi9Yb3NTeUk4N3NkNU8vVmxaMCtFL2RXaWl2TnQvbHNDcEVTQVFSU21GS1krY0ZxeHJhSWM4S0d2RmtmL0t3S0VYb0RPRlFrTwoyRWNGdnd0MmZpa1NuSlRrWEpUbGxvcjV6WGY1MXdWbzZuOVJnREM1R1JZZ0pqQVZXTk1ORkdHRG9zeFNwcFFUWFdveVF3WmJDeTlqCkJhN0Y3NEFRRWlCK1RBZ0tFQnlyK0IwQkVnb093ZGpQMXdSb2hQUUl5ZEQvTVFFUy90RTNFTzhMNDFjRkNRUkl0QTVhR0tHcHpVaDkKK0szdmdxR0lBRng5TUZZS0NSQU0veUQ3d1dJL0d3UnhJRmpLZzZwNWhLK0ZCUWgzSUlBeGJaT1ovQVk5NmhvRGtxczVhL1hwZzk0OAozbTdlcHhBZWIzOTZ3dVpweW03R3NyNlRtZjZyYklPZlZvVisrQlRFK3hMNTRkM3VaVGJCMHlaNkdGTmR6Wm51bHZMdVFJQ1EvWWdJCkVBQzgxNG9TYWtrTHMxSHduYUxzQlhOZWRGOGJSUTh6dXF1VkFoeCthRWh6TldadU1XWnROYUM3R3RLOHJKaXUrakliTGFpZVppUlAKZmVsTmxvenRsc0NOQ0Y1R3BPV21SQTl6MG01ajBrWUw1bW9EMGpwem1xOEZVQk5tbUJYTno0THFQb1hwTTUyMVp6SmxuelVoYUJvVgpycmFZUm9xZVJqNWdyN0IvQmkxcUt1bVFnK0pCTzFiNGFBSVVoY2VCc0tIUHFIeG5EL0NoR2JRd3REY2VEUnhDZVM0a1FDai9oUVFJCmdLSXl3SUhFQlFoSmo0Z0E4VnZjQlhLREdMWWZJUUhDbVVieUhTRkFaRDhoQVlMUkkvNU5ZT0d6WUZJaTJWM1lmaEJRZ0FpdW85cVAKQldHVEJONjl4VWRwT3hJZEZZV3RRdDdqQ2hBc01SMmxrQmxsc2xEYUN5dm9nZXZjZ2RsZ0FSNHNJNFlKMENTbHJjQ0JnUDBBMERZTQpmdW1QWVBHN2hxb1hLb1ZHaUFnUWtpUkIrSWN2UU5nSm1vc0lCMFBqeXpHRUJRaXIrSWt5MFlzeGhYWFFmQUhDN0NmQ1ZCOTJoR0hqCmd1SXNIUTRlTG5rV2Z2Tit4SjBITVUrZVJUOStEQjRQUEs0NjhhdzZyKytGOHlhUGNSSi82TWtvR3N2cnNINGd5VEhWTDl5K1cvQnkKSUtHMUVhaFBFb2VkekczUDVuQXpPOW5admR6VTE5M24zblpjZXR0VjN0YitOUFYyYTBCYTNiSmpGZjd4OTU2MlFnY2E2QzNzNkNocwphNy8xK25WQmMwUElsY1RFQi9lclByek42bWpONys4cTdlL0phMnJLYm0vTmFtbktibTFPYnFnN1czVW41ZUg5aElJQ0F4UHpueVhHCjZQN3d3MTZ5WXBhSzViVkprNnQwblI5cUxYcXNNN2NHaXdBMTZNeHYwcHpYb3VuY3F1RU1CS2h4a2tPdEJxUmUzYTVadzRHdDZjVFYKY09LcTJiVXJ6MmpSc0d2VnRHZHJna01IanFaRGg2WmpsL2JzSGwzbkhxQWRDTTBGblpyek83VG1jelhuY1RUbWRtb3RCSFJwTHdKMAo2L3lGMDY2M2xHdXdISVoyVEZiaEJVQWRwbXNIVEZZQmdBYjFHaTd2MW9QMEdhNGFORm5iYWJxNHcrU3ZUcE8vdW8zLzZqWmMxRzJ3CnNNZHcwWURSNGxhRHBXMjZDMXNNWE5oNkx2M0s4L29VWjRQUHlWYWQwa0dmOVVISzVOU2Z4c29NWi9EZmVYVEZWZXJVcGFyTXpSTnAKVGxQa0oxY3EyUGU0ckgzdkd0anJFOU1ZY3V4RjVMSGUySFBERWFENHRNSExHVUNBWHFUa0RLYm12VWlIUWFBWEl4M281VmNjYUtqeQpkbjkreWF1aXdvK0ZSUi9TYzk0WFZMd3Z1ZnN5K2FybjBjUXh2aUVTSWVja0RxYU1jWXVXbWpoWFhuS3lnY3kvVWYyRCtHOEpFQXIvCklNRGZZd0I5Z2cxQVhIMitpN2dEQ1pqQ0lreG1FV3pBSXh5V0NOTms0bjd6WGI0clFOT0ZIVWg0OVljdzRtcnliV0Q1c3d4YzlRV3YKTVFkaVNNRjhIOWIwYmsyWGh1b2pMd2RiNVJuU050aFNNTkU3SUVUc0I0SVZSd3N5ZHlNRUNJSlNmbUxyVVhFQkduYWQvN1lBQ2FldQpNSnkvTFVEQ044UmZnUDh1RWRBdWVzR0NldjZDRHJnakRFdHNZWnZlOFhuTkkrd0hob0t3bG5XK0F4RVhvZkhOZUI4N1NuanBrVlpnCmlKVThZeWt3bFBreW9tNUVDU3lVdzhJdnhBOUY5QWhnUXRzQjMwNkRlNzZzRmR5amc3ZDkvT2orK1lQbmg0KzdnQW5WUC9YZTRMUW0KeGpmc3k0ZEQ3ejlzNC9GOGVSK0RYNy9lNWFEbGJVa1BNS043V1REOUxPUzNtSkYzaU5qUE1FdzNTM3F3RlQwVU9JME5hK2MwQmJqZwpZakxkMzVUdWJpSHZic0hhWWNUWWlqbVFsekhEMTREaVowNWZZMHJhQ1NjZlVuZFkwbmVaazMwTlpYWlp5Kzh3WjYwMEpLdzJJVzB6CkllNHdrZlUwSndTQ201aVROaHFUUExCZjdRRWNDTnY2N2orWkdqeVZGanFGSERpZHRuOFdDNDVndHBjLzVxaHdiQXA1RDRvQVFmdGgKeERySUk1QUFIZWF2ZkdkQ0IwSVRmZERpQzd3MURKWCs0QWFEN0FjWElGU1hBM05lWHhjZ3dYdjljUHNaVllEUU9ZcmZpQWdRZENDQgovU0NRL1FCdys4RUZDR1crc01sQWNFc0dMa0EycEozV1dER1FlQUVRckFFYUVjakJRanRDd1I1b1BJTE43YnNRTUtzRm40NXdJT0EzClFqdTgzSUQ5QUZsQkFqUmNFODJQQUVHZ0EyR3ZGQllnWUQvcUtwNkNadmpoeUpDd0EvSHJma1lJRUg4b0lnci9BUHZoNzBiVkNEYlMKRERYU2dUT0JzTW1INGdJRXdRVkl4K0RveHIzWkVhWFg5OTI0RVg3blNlelQ2a01QSGh4KzhQUkNiVzFrN2RQTXpqNWI1eFcvL3lLcApRbFBTWUtxcEsrdU9rUmkzMHN1LytNVkFmRXRURW9jVDM4Nk9iMnRPNTNBUzMzUWxzaHNMcjFYZGo4cHVYSE95WVVIVS9YWEhiZ1VuClhrdXFMTDVYbmZtaTkrd1FKN20vbzRETExlRjA1SEc1Wlc5ZTNuai85dGI3ZC9rOUhlbWRiZG5kbkFJdXU0elRudDNla3RQV2t0blkKY0tXMk9xSG1TWHpWclN2WHlsZHUzU3d6WHBrZ0liRjgzQi9KQ2pxVmloYTNOV2M5MEo5WHB6UHZxZDc4R3QxNVRkcnpNZldaMDZUdQpXS2ZwV0tOdHoxVno0RXkwNTZqTUJIU296dXBXbmRXbE1yTlRlVVlYYlhJM2ZRcUVPcm1MYU5WSnNPd21XZmVTYmRwWlU3bUt0bHlWCkdWM3E5cDFhamwyNnN6djE1d0Q2ZGVjTzZNMURnT3MrSGVkZTdUazlXclA3SnM2QktNL3BWWnJkcStEVXgzSWFrSjhEYUZOMWFsZDMKQnM3VXJiK2t4MmhadHhGTWgzVVlMZXZSY3dIZUF6U0lZNzY0M2V5dmRzTkZYRjJYVHUwRjdicnplaVk1ZDZ2TlpXdk40NnJQNlZXZQoxYVU0dVZuSnRJdG1lZTlISlRQaVFnWGlPaFhHUWlYRlpScDBGd1psZ3kzWjhqYlo3TVZNeDZIbFc5bzIrN2NFN24wUkd2VTZQR0ZZCmdNNGxJUUVhdXBJMWxKd05CR2dvTGY5bEJnd0NpVGpRNjZJS2xBNFRaZ2c3N0Mwckd5Z3AvcEJkMkplZjIxK1F4MHNwZWxueDRPaUoKbEFudVFUK3UyMGZSMlVRa3paRWlUVk9rd0xqQ3Y4Vi9TNEFVQ01nYitMNmlRbkVBaitEUHZJamMvQ3ZnNmdNakpmaTFGSnlTTEErYgp5VEVJMCtER1VOZ2VMNjQ0MytZckFpUmFzY1JYSEhIMStaNEFpUzRDUTBBQkd0NFB6M2NndXRSVXBwd3hVODZFS1d1QlRRbmlMdzc3CjF1NncwZXdIQ1JBR3Y2a05GeUJVQkkwRVNFblFCbzhMa0xEb0lBRWFXVVhFRnlENDN2K0JBS0dYaWR3VHYvTzNCVWlvdnd3NUVGK0QKSmhFV29CSFBhRkU4RHZJaGJjb3lBQnBSS0todWh0RWdiRkVYZjhjNzZ1VENVbDA0YTRRYnZsQ2VDOW1QUUhlMndEazYxSzM0QmNLWQp0ZzAzSG1FOUFoaVFYQTNJbTgyWklUQVlROXk1YllIUDV3LzdlYnk5dkgvOGVCOFA4RDZHOEw0RTgzaUIvM3p5NWZFaVByM3orZkl1CjVNRU5mMkE4QnJJK1Z2TEJ4aFF2SzVhYk5YTVh2aDRWZVk4NTNjT2M3Z2FoN3JhZys5cXEraytXOXpHU2RyZVZENXV1c051TXROYVMKdnNPWXVOV2NzdE9LdWR1TTZtTk1kak9qdXdLWE1xV3VzNlM1bVpHOGpPUzJHeEhYV1RJM1djdHYxNVBlWUU3WmF5RG5ac25ZYWtuZgphQ1MzM3B6Z1ppeXp4WWE2QmJ6WW5MYlZoTGpSbk9RNWxSWStqYkovQ3RWN0dtUExOSWFiTmRGN0JpM0tsaG8yamJsdGhyeVBMZVVRCk1DR2dQbmIwR0FBV0FjSTFLQmJiNXhWaHg0VGJUMkViRnhiK2dldTkrTjFoKytDV0xxeDJSMWhpY0ZCV2F5clZENjI4RUN5K0dKNzMKSTJRLzJIeG5aRGxmRnlBVXdrSG5LTDJGZFhoaEFpU3dId3hmQlBaS05BaFJlRG04RzdJZkJCUWc4aTVjZ0lRbUEvSHR4MHgyQTR3QQpvY3dYdjZCSEtOVTFjbkVwTE5ZQjhDdDdoQndJWmJpQTlPQWpmUENNRlJBYTdQV0NybmhGdmdOTlV0b3FQTzhIMnM5RUQxeUFNRzNpCi8waFlnR0JYdkxyZlZ3UW9RQ0JBKy9nQ3BMNFBFNkFJWkQrbW1QMllHUndEcm9QVlBzTXlJRHovWlc0UXEyVjkrR0RXMDczbHBmdHUKM1F5Ny9UajgxcjJEZCs5RlBYeDIvTzc5Zzg5cms3bTlpN2Y2L3ZETGVDWkRrVVprcUtqcEtmOU9VemV4U1dscFN1UnlMalMzSkhDaApBMlYyZGJaNUpOWXNPUFRZTHVUZXh1TmxGd3FUbnowOVBkQjZsdGVYODZJdjk5M1FsUjVPRnJlOWpOdFoxTlplOG5Jd3NaK2J4dVVVCjlQUm1zOWs1N2UxRlE3MlozSmE4OWxZZ1FGbnN4dHkyNXF6bWhzVHFKOGtOMWVmdlhUdGZVYkQzV0pRMmF3cjlaK0tzbjM4N1FXQ1UKeVJ0ZW5XaDlSM2RtdFpaRHJkYnNhcDA1MVhyT05mcHpudXM0dG1nNGRFeTA2MWUxNzFhYzNpRS90WlZ1MlVBeHJTT2JORERNMnBScwp1Sk5zYTIxbU44eFkwRHgzV2V1eWRld05Xems3M1R2OS9McjNCSEdPaG5KUDdPODRGZEYxN2xEM3hhanVoSmp1eTdHQWppdEhFTnlrCldBQW5NYWI5Y2pRN0llcjEwY092WWc0TVJZVDJCZ2QyK3ZoeWQ3cXp0N2kyYmR6V04zOVRsOFBxZHV2RkhMMjVYWk9jK3BXY1hzbzcKdnFUYjkydk9IOUpjTUtTNWNGQjdFV0JBZTNHL3p1SSs3Yis2TlozNk5lY09UblR1Vm5YZ2FOcHpWS2YyMFN4ZVVpMWJ4aHN1SU9neQpxQ3NWcWR2bDVlY2JrbDNVeUF1TnFmWWw0MVFhRFdjTXpWdmV1WDV6bTVmZkc2OER2U0d4ZlFkTzlNV2M3VDk2WWZEa3BjR3ppWU1YClU0Y3VwU01IZXBHUzl6SVZFNkRNSWp3TzlDcTM5R1ZCR1FEWElKeTNPY1Z2eTY0UEZGVjA1cGYybGwxOWsxLytLalczT3lmblkwNEIKTC9mMnViZ3JkUE9GTEJsbnhqaG51dUxDY1hJVzRvckRGeDJoUC93aWlMOFlGaUNMZXMvM0JRZ3pFaWdyNUhIVzRMWkFXUlFKOXVKKwo4MTFHRlNCQkFkRElyYTd3ZTRrcnpyZjV6aGNYK2lTaTB2T3ZDQkRTRjNGR3lzMXdob3NoWTg2UXNRU0hRSVl3c00ycE1Ga21lbWMrCjByQk5iS1Q2Q0s5S0hSWWd2c3A4UllCRWlxQ2g2SWlWUytQMjh4OElFRCtFZzY4QXcwd0ZjeURNV2tZS0VIWnplRU1sK0l0R3BNUFEKaVRqNC9RVy9RdEFoTDRldGlJY3JUbDNRdGkrMHZRc3BrUlo1cVE0VjFqSmpyb00ybnZLSDkrQTlYR2l1andHRlgraURkM3NKQWF1ZQpnY1NnNmNuQ3hvTWNDR2tRK2luK0ZKM0FYYWNZWnZLYlRSanJES21lUnJSMVJwUjFkaE5EQjd2RHZud0k0TDBQNWZIQTQ4RlBiMkZTCjdNdTdRTjRuTjk3SHd6eGUwQ0VmVDJ2NUhaYXNyVk9VZzAyb1htWVVQMkFobzlzUDNRM28wVlRsUUhQUzdpbXMzYXVtK3gzZkYxQloKNE5QTkNYMzN4aGVvVlcrWDE1TzdQaVhKQjBLMkJ0dXJiellsYkxZZ0JadVFOeGlUVjVrUVBDekkvaGIwVFNhVTFYQUVJdG5Yak9KcQpRbDVuUkZydHJPOTZZdStCeW54dkx0djF5NmZnejUvOFg3M3diSHpxbm5sbWwrZGZyczZxUHJhRWlKbTA0N1lNUHl1Q2x4MHp4bDR4CmRETEZEZmJETTZJZEdURU85R2g3V3BRRExjYVJIanViZVhTTy9ERm4xbkhCU0dqK1hndiswbFBHUVRUM0dSc2p0RmZJZ2Z4SDFPdU0KZENDUjNuait1bE5CcGZQSVVUMUNCVURDOWtQMEdsV0FSbFVmREZqb2cwK0N4dTBITHBCSFU2RUowSHVBL1FnRWFIZ3VJajRCQ05pUAptZHc2L2lCRTRSb2dWQWFFRnpXanNwNlJsVDFJZ1BnT2hHSThXTTZMUDh1SEwwQVR2WUhRQ1B3SkN0QWtjRU5GbUFoVFY5NkdDeEFPCnRCK0JBSTBhQWNJRlNJQy9RSUQ4b1FCaDVjOUlnT0JPREkwUVl5MlkveElTb0tQbWhzZXhhVUREUVNDQkFCMlp1dnBFWk5IVFBWZHYKQnR5NEZYN25hZWkxcXNOVmp3L2RmM0x3d2FPekRhM3g3TzZBUzJsLy9pS2pJRTFuRWVWMXlPcVQvcURRMUxUam5qek02T3VQcTZsUApZTGVmYjI2NjJOeFlHcGVmV25qakVydnAvUHVleTI5NzAzdGhWUkNRbmtzOTdNdWNsaFIyUzBGbloyRkhSM1pyYTI0SEY1Wk85M1lYCmRYYVdkWFFWY21EM2UwNFh1NkNMVThodXpXNXJ5RzZwTDJoclNhNTlrbFQvK09LalcrZHZGQi9OdUd5ak4wK2JOTVhpWjdyWG1BbHAKTlBXeWlWYlgxSzBlVEpvQ3E1dlY3WnZWN1ZzbXptaFJtTkpNczJxam1MZFRMT3JVclJ1Tlp6YmJ1YlNzV2RmczU5RVV2YmY1MHFHMgpqR1BjMHZQY3EvRWROeSszMzBscWZaRGM5RGlsOFZsYWZXMTZ4LzFMa0ljSkFPNmpCUGJEUzIwUDRsc2ZRdG9lWFJLbjlubFMvZk1yCmpYVlhXbXF2dEQxTGJuK1V4SG1ReUttNjNQTjNXdGZWeE03Y2MxMlhqM1VmTzlTeGIwL3pqcDIxcXpkeUp5L21tc3p2VkhmcWtwL1IKeTVnMW9EaW5UMjFlaitiQ3Zra09ISDBZVWhwU210R3BiTk91WU5sRHNoeVNzZ21YczFDaHpsTm56Rk5qYmxTaXI5SWt6ZEVrT2NjUwpWQWFvckRiYnVkMEx0bkUzdWIzMERPQUVSUFlIUkxOallvRUE5UjA1andSbzZIekt3TVhVZ1lUMGdjU01GMWR5Z1FPOVNpc0FEZ1I0CmtWazRoR25RVUU3eGkxeEJORWlJd2JMeXQzbGxuelBMUG1SZkc4aXY1R1NYOUdjVTg3SXFCelBTUHVUbC9wTmNITHNxUUZ0bW10SjQKSnlMSlNaMDhlaGNZSmdxaTN2TnREeER6bnU4SWtMeGdlNWNpY1JaVGVzWWsranltOUV5Z0xPSis4MTF3NmVHckR6b0h0NUlCZDU3Sgp2eTFXRFEwUTg1dnY4cTB2anI2NytFY1NSOVJMY0tFUlV4OEVWalkwTEVCNExSSE1oV0VsUWNBWEFjTVpNYkU3anhDZzBlMW5GQUg2CldncE12QXRNUklCdy91c0NCQjFJYVArOHVBRGhEaVI0d1Nqdzc0OGhtQllOVVpPYkMwQU9wRUhpcDhNQXNPTWRtM3lvVFZtR0NkQ3EKRVpON2dBQmg3ZXNZYXdISWZpRERaYzR3aDRWbnNvYkRQTmdFSFNQS2R2Um9TSWJGeGJDbEhPdXJNaGFNVnphbDdUQ2o3elJuN09Jago3MnJLY05VanVWbXd0Z09uMFovZ1YzWERsZmNoa3ZjNStOMWdFTytmWU42SEVONlh2YngvdkQrOUR1WjkzUC9sN1lGNWVsNlRtVUhnCnhlWjBmN2pIbExwdkNndDJzNHZiRDhDTUdHakQycm5XWVVkcDl1RTNidzk5NXZuK2ZXOWxaSmpkK29WVGxqcWFiVnBzR3JYZjV2NjkKcFR4ZTVPdUJBeGtKSzUwTTFoZ1NsMW5TUE14SW5vWXlPODFJUHZwU084QlRHM3FJTVdudDlrV3VqMi9IdlA3ZzkvclR0cnpjUlQ3Ygo1cm5NMEhHWlpyTjAxdFFRSDl1YUordDV2SU9jMnVoTGg0SWNsQU5zU0g2T3lxRzIxREJMcVlNT0NqR3pGQUp0YWZ1RUJjaUpjV1NPCi9JbTVDcWNBL1BsQWdnVVgrTEl3dUNVRE8wSGJ2bXlwZTdEUlB2N0RRb041RCtxS0J3aHBFQ1pBbENBRTN1MkZCR2hVa0FCQit4RUkKRURLazBRU0lyejdUU0Q3VFNGNEFnUUJoVlQ0Qyt4a1dJT0lPSVFIYUFRUkl4SDRnMkpKVXVBMGU3a05WWEl1dHM5Z2dnRzlDS0N5RQpMQWVCZ2tCNGNBZ1hJR1Evb2dVOXFsNjRQTUdYS2JzQ05GUjJhS3E2Q25TS0grK0I0U1dCQU9FcE1DUTl3Z0lrS0hubWQzNWhSZEFRClFmOFhIQU90cnhrR044TnJoaHByd1NWZnFBQUlDSkNad1RFUkFUTFZoM09pa1FDdFBwUzRPL3V1YjJtVlgrV2QwRnNQSTI0K1BYeXYKSnVKdVZjU2pKOUgzYW1JZk42YXh1OVIwTFFnL1NLcEl5ZXNRTmRRbjBPbmF1ckgzL3I3UzBYbTVpUjNmMUhhaHBUbWh2Zm4wWU9mRgpidTRWTHZjU3UrMWNCL3RTYjJjeWg1dmJ3czF0YmN0cmJpMXA0d0FLV3RyeTJVQjNPRGs5blZrZHJibnNsckpPYmtrWE43TzlPWjNiCmt0SFduTTloNTdEcmM1cWVGN1EycGpmVVhLcTVuMUI5Sjc2cS9HUlJxcjNqYWgybHRRWmpyUmFQR1JkRHBCUW9tMVZPTkt2U3NueW8KTitPeDZ1UnFoa1VEdzZKZVkyckRMSmZHclZ1YTkrMnVUVDdZbUJuTExqbmRlVDIrNi9ZbHp0L3h6YmZPTjF3LzAxWnhDdEJlRWNjdQpQOFVwUDlWZWRoTFJXbmE4cmZ3RWdGMXhrbE4ra2x0eEN0RlZ4cWU3UEE3UVUzRWEwSHYxRExmaVJNZlZrNTJWcDdzcnovUmNPOXRYCmVRN1FmL1ZjeTYyenJiY3V0TjJKWno5TTVENU40VlNudHo1SmFYeVV4TDEybVowZDEzb3N2TVhEbzMzQm1tNlR1ZDN5MHpvbm1QU3AKMmJjcnoraFJuZFduT3FWZHdYaUFhdDVLc0VxUk1sUmxPUnFPWDZGTUI1S3hrRWxlcFVCejJDNXAwQ0pKYWpZMGV6M1RoYjF5NjhENgpnRGF2RUk1Zk1DZjgwTUNCdU43b00wQ0FCazdFRDU2K1BIRDJTditGbFA1TGFmMlgwd2NUczRlU2NsQWNhQ2d0ZnpBOWZ5aWpBR2pRClFGYmhZSFlSMGlCa1FvaUJISGo0T2FmOFEwNTVmMzdweDl3S1hucFpkM0xPUUVGdVQwTFNxOHlDTjNGNThSdkNGVWhtazJSbUtQNXAKSy80WEhTSHVQZC93Z1A5QWdCVEkwNm5TazBrVHJCUklkdXFzQlpiNkc0RXYwdERhaDlGQWR4dXBGQ084QjdjZndTdFIwTVVXTmNsago2b01RVjV4djg3VXZQdnowWDNFZ1VTL0JCUWlyOVJGSFJJQlFVeGgyam00NFRWQmJEVi96alNKb1FjbnpDUHRCcFZmaUFnUlZCaE1nCjhTSm9ZUUhpdTg3L1FJQ0UxVVJZZ1BDWFlkS0RwaUNLQ3RDM0daNFNKQlFLQW1EMk0wK2RPQjhEeG9HQURQSERRb1NGUUlCZ0VFaXcKb2t1YnlKL1hqSHVQb0gxOUkrNDlxTXRkcUtZSFJuVDRjUjNLZHVROS9DbUMyQ2dkZElpRzY0QkhiTEVvSE91TVRYWWVydEV4b1lJVApmeU9haHpGMWw1N2N1bG5hS3lxTFYvenpQb0wzeFIwbXZ6NUgvUE0rOU12N29NL3YvWG04c00vdmZSdWVlRTFUY0RXVUNqU2h1RnN3CmQxdXgvQzNwUVZaMGQwdW1sMENBK09wandRQXZjSnNpNzNVdXlxK3YzN3V4ZFplTHM1cmNHR2tXaVU2US9wVThua0dYa3laTFM5QmsKeHRBbGlmS0VjUjQ3VE42OGkrbmhSdS9lNkFZTGZZaTdZRDBRWlQwd0lWT2lweGwxZVdGeXlPdTNmbytmYkhhZW9TSHpLNFUwbnN3ZwpqV1VRWkFuU0VtUTVDVHJ4QjhLWXNST1praEg3TFQvd2RuYzhqOTAxTDNBYVpUKzJ6VFRRamhrN2l4RTlWeTBXQ0JBQzJZOHo2eVJHCm5EMHpDaE1nd2J4RWJHSVFYSmN4dlBFVWN5QnN3UVcydndLMm93T0VCUWlXQkFuNndwQUE4VnZvcVh2eGZuaVJkbmRoQWNMRFAxWUUKd2VoblFaUUlDUkFhZFNodVA3RDFIWFo3ZVFBRUFyVFRCcmdPQUFnUXRoUU1DQkFHdEI4cnduWTg3WVhiRHdJSTBDcUFzdUpxRmFWMQpxc3JyQVJPVk53S0UyK0Q1R3FRQzEzc2haUUhxZzlkRUN3Um9GUHVCV1MyaHJlOUFmVEQ3MmFtdEp0d214Z2ZZRHlxQ0ZoRWdaRC9DCkFzU2ZHRFJTZ0xEbXIrOElrSVhSaVdFQjBqMkVMY0hnQzVEWGxjemR1ZmZkOHg0SDNYcmlVM3BqLy9XbllkZWVSTnk5RzFWVnMvL2UKcytpSGpVa3RIUkhadVQ5Si9FbVNrS2FRVldVbHhxamJUTTdzN3pyOXZENitydlZjVFVOQ08vdHNZKzNGNWhaQVlsdDdjbE5iNnZPVwo5SWEybE1hMjFQYU9IR3lEMkdWT3k1Vk9kbnBIZXg2WG04dG13OFB1cHR6TzV2ejI1cUl1ZGdhbk9hY0hUbFBNYkd2T2JXL0lhYTdOCmJxak5iS3BMcUgwUVgzM253cjJ5dUxLTTFlN0J1dHErUnJRbHpuSkVyL0ZqcmxDMFN1VDFia3pVdnl1ai9VQmo4ck9GeStwREFwNWYKaWEwcE8vdjBUc0xUUjRtdDE4NDJWY1ExbEJ5dEw0eHRManpTV25pMHRmQUl1K0FJcHpDV1hSZ0RhQzJLYVMyT2JTczUwbHAydEszOApXR3Q1SElKZGZwcFRCdUdXbitrb084TytkaHJRVmhtSFFFL2JyNTlCSnRSWkVRZGQ2aW84Yjd0K3B2WEd1YzdLVXdEb1JvQ0tZV2NDCm50UjVKNzd0U1dMcnMyVDIzY3Zjak9Qc2lLQVcxMjE5S3JQNkpwaS9KdHEwYUZnL1Y5YjlRakI3S211OWdLZ2twN2hhaS9RWGs3cE8KbGU3TW9QOWxRSnRUOVN0eGdLYmNOWGx1ODhMbExldGRPZTVCQXg2aDNNQ0l2c2hqUTJFbmdBRDF4NTdyUDM1eElDNEJDRkRmK2VTKworRlRvUUFtWnlJR0drbk1IVW5JSFUvTUcwdktBQmcxa0ZBd0tva0g4MmlDTXQ5a1ZyN05MZXd1Syt2UHkzMlRtRGViazlSWVd2TTB0CjdNdk1mcHRaM0o5UzBKRlR6TDZZR1RodHBUTEJra0taSTI0ekNISHYrWW9IOEExQXpIdStJMEJNd2xTNHJ4UmJXVXFlTUhVaVl4NWwKd2d5NnRKMjRPaUQrRlFIQ1h3bm45NUJzRklpVDRacDArT3VHUDQrWTMzeVhyMzF4R0UvQ3Y3NzRCeFpCMUV2K0xRRVMyQTlOeWdLTwpOSlMycEV0YjBLWE5VQ1VRcG5xMjRuZm1neFdZQzlmOTRMWG53Z0lFSFdpa0FJbTB3WDlOZ0lTbFIxaUcvczhJRVBaMFJLcExYSDBFCnZ4cEg4T3Y0QWpSSFNJQ2c5d0Q3bVNqTFQ0Mmh3aUMrQUdIeEhuMHFNQjdvUFlqaFJxMWhBUkt1M1lGcExINmVDNHYwQ0FRSTdtOUgKY3dYaFlsSHFEak9HbXpuVEhUN1N2VkNXQ2xVcjR3WEw1dkxickJSOFRGZ2JUT2liNTVuNGxXWUM5ZG5IKytMTjQzbDkrUlQwOGUzKwpqKzhEZWJ4OW56NEVmWHp2LzgrWFFONW5uMGkzUFZNVVljbU9sZUl1QStKTzJBQlA4N1dTOTBZT05DeEFURGRMZWZlSy9FMXZCOCtGCkJ0Z3daQ1ZreC83QW9QNHVKeXRCSkU2UXBVaklFSDZRbFpNa0VxUkpoTjhJQkFrSzhXY21WZkxhZGFkWFE3RlJlN2FhVUplYnl1M1IKazlwcVJsOHhmZEs2NmtlYlh3K2NXcjlZaHpUbU4rSzRzVXpxandTaUJFSDJGMW5pZUJrNVdWa1pNb0ZBSWhER3lzcjhRQ0wrb3FRZwpWLzE0L3V1K3NERFhMWk5Kd1E2TUJGdHlqRDNyOEhSNm1CTXpGakJiSHRqUHNia0twNEQ5ekpFL05adDVFczBFbWtHRFF4R1JBUEVIClJzTTUwU08ydmlNQlF0c25vTk5nT1M4a1FGWlUxSHZsQ1J4SVNJRDJqaXBBMDZoK0FCRUJRdUdmVVFWSU1PdDVPUE9GMnc4bVFKNEEKSkVCODlVRmczaU1Rb0IxQ0FqU0svVUFCRXFUQVlETzgwRW92L3Z4RFBBS0VvNm5paHRCUTNxV3V0Qk1BcnJXRWxBVW12N0NhSHVHYQpJYjRBVGVTditzSmxpSS95TG5SUGNCOE5aWERoanRCUzlkQ2U2S21qNWdYUVZJTzExZmlXRE5UOEJSd0k2L21DYlY5NDlROFNJRmoxCmpJSHBUalFhQXcxSFB4dWRORGNBRG5UWTBDRGFXQ2ZLV2p2R1dEZmNhdlp4ejV4YlhybTN2UE51K3hYOUhWQjZaMC9GM1gzWHEwSnYKUGpqMDk5UEl1NDhQM0g5OCtPSER0SGF1MzltTGYxQVVKQ1RHU2pEVkl2UExNcnA3WTJxcWp6UStQOVhZY0xHeE9iRysrV0pqVTN4VApjMEpUOCtYbXBzU1c1aXN0TGNsdHpZQzB0cGEwdHFaMGRqTWdrOTJTeGVFRGk1MDVyWWc4VGpNaXQ3MHB1NjAydSsxNVpsTk42dk1uCnFiVVByank5ZmFHcTVOVE5iRi8vamFvcUcvWFZBaDFaSzNkS2FjWkpqc3NrTVBLVmROTTlGdDY1NVB2ODc5TjFWWmVmWFQ5ZVd4SmUKbnh2VmtISDVlYzZoK3R6RERYbFJqZm5SemZreExRV3hpUGJDbzVDaVdFN3hFWXdZQUxja3RyMDBHc0FwaXdGd3kyTUJIUlZISUZkUApqZ3IwRzV5S09FUkgrU251dFZPY3lwUHRWMDhCMkJVbjJlV25FRjBWNTFvTGpuTkxUN05MVHJXVm5leStlYUg3OWtWQVU4YkJldit0CmZUU2p3VDgxK3VtR2o4bjZXNlFtVFNJdlUyWXRwOU9YbWNqOXBVSlpxa1phZW5TY1ZJMDByVjNQck1YQmhidG9WZmU2WGQydXV6dTgKUTdvQ0QzYnZqKzJOUE5ZVmZiSW45blRmc1hOOUorTjc0eTczbmszcU81L2FlekZ0TUQ0TjVzSUFsN09BQ1ExZXlSbEl6Z1AwcGhVTwpaSmIwcHhjTXBoVjh5Q2w3bDFVeWxKYjdPcWRvSUxzWU1KaGQ5Q3E3K0gxZWVVOWlKanpNekh1Wm5QOHl2V3d3cGZERnBlUjNpY2xOCkp5ODdhempSSmFlVFpLZlRwS2VwVXgwVXBhYUNQdzlNNlprc29nT0wvUFdkV2FQSjBEY0VTRndGdm8yNDBDREU3eXgrZitGemNXOUQKWU11d1JrRmNkOUFnUkFiQlhKazZtL0RiWWxXYWk2bEtOR1hDTEhtQ0hWM09DdGNJRVlTSElnb25tNFJyZW9iak9pTlB2Z1o2NWJkQgpoVDdDYTFERlA4UElqeW8rMjFvb0dvVEJWeHpCMXZjUitTOEJ5Z1JucHVRc1pZSWpmYnd0K2hGMmsrbEM5ak9Da1dMRUIyN3lHbEgrClBLSVVXZ2c0STFGWnhoR0FmellSbEdWbmpvcXFyRDFnb3B3RFFJM2dCSmdvNXdpUmhRNkVhWkF6QUYyRFF3M0NmRTBpYkhmSFNwN2gKc2xKc1h2TTZmZEltZ0FGNU14SWFBZHRIVmk0UGwvZ1kwTmZwVTdZWjBuWm9FOWNZTXRZYk1iYnFrM2NZMCtGVVpVeUEzQUNtTkU4egp1bzg1d3hlQWpURU10S0h2QVZqVGdxeG8vdFowUHh1bXJ4VnpteGxsMjJUcUFjK2xQZ09jZzdEcStYTXc3MVAwbHk4K0g5LzY4RDc0CmcydmVSMi9lNS8zL2ZQTDkvTVdEOXptQTl5RWtJeTU0S3NQZlVNWjlpbUtRSVdtWEtjUFBsT3Btb3hBS1ovUFF0dGl3QXN3cEh0Yk0KamRkTDE3NTVFenZOVXA3eXh3Ulp1UWwwYVVtQzlCKy95dnlvTXA0NlRtWUNpU2hOSVl5VGsvNUpUdlpIa3R6UHdHWms1SDZUSkVvZQpEclBndlF1SjJ4T3NSOStxUzlnd1M4MmpzWEh0bTZiait1cS9Ta3IrVHFaSmpaZVdVSkNSVUJnM1ZsYUs4aWRKaWlvanhab3dqaUx6Cmh4enhEem1aMzRpU3YxTUprbktFbnkrZFdNdDd2Mlh2NG1BN3huRTdhcVE5UFhBS1kvOXMrckU1ak9QT3pCUHpXS2NBYytWUGdtdHcKWWtjN2huckI3SmhvV0NKc0VITmdIWFNnUndNY0dWRU9ESENIOEZtMHZUT3BRVE9vY0FZUEtqMmVUUExFMGs5QWZYWlprM2J5azF3WQpxRFZzT2kxZ0JqMXdPZzB1UFVXSDJMdmdycTVwVkIra1FYZzBDRTd4SVhvQjhOVVd0bGp0TTc4SG51d0h0MTZRQTdCRExQeEQ5cGhHCmRnT2dGQmdTSURUdmh4L3l3VDZWOEVZd3RCVE1USFlUbW44b0RCeUUrQTBCUW4xaEF2WGg1N3h3KzBFQ2hOeEZSSUJ3K3hFWElOeUIKdml0QXlINkVCRWhvVFJnV0FVSUNoUGU5Qyt4SHNCQWVMa0RsQ3hCdVB3QkQvU05RZy9RT0dCZ2NRZ0prWWhBNWEvRkZqK3libmprMwpnUVA1Rk56YVhYdzdzT3p2NEVyb1FPRTNxc0p1M1QvNDRNbitPL2VPUDZ0T2FXNkxMYTd3T0hZbXF1UmFja1BybWRybnNkWFBqamZVCkgzbjI3TlN6bW5QUDZpNDBOTVkzTkY1cWJFaG9hZ1FPbE5UU0NMalMycFRhMmdpQUR0VGFsTUdHWkxZM1o3SDVBQTBDMG9QSVlkZm4KdHRVREFjcHFyY2xvckU1NS9qQ2xwaXJweVkwTFZVV25ibWE1N3ZVeTB0bGhvTE52b3NwT0Y4YnMwSEd5eDFpUzEvY3VxeTg0L3JRNAo1bWJldnF1WmdWWFpCNTlteHo3TFBseFhGRm1YSGZrODUwQjk3c0dHM0lPTmVZY0FMWG1IQWEzNVVXMEYwVzBGaDltRlVlMUYwZTFGCmh6bkZVUkJNZlVUdHArSUk5K294RVRvcWp3TTZyNTBZQm92NllKd0dBb1FjQ05jZ1RtVWNvTFA4TEx2NGVFYzU4S1RUN1dVbjJrcU8KTlJiRnRwWWRiNjg0MDNIckRPZk1ubDROaTg3eGFrZms1SFdKTG1xVUZjcVVwVXJrWlJNWml5ZktMWnhKc1MrZVFHeFVuTmh1TWJWdAo5bDhkaTlmMGJ0alZ2ZE8vdzN0dlYxQmtWMWhVVDJSczkrRVQzVEduZW8rZTdUMXhzZmRVZk0rWnhONXpWNEFEd1dLZ2l6QVVOSkNRCkNSeG9JQ2tiTUhnbDk4V1Z2RGRacFowSkdTOXpTcmlYMDE5bkZYN0tMWDJUbWdlVktCTU9UdXhOemdZTzlEb0xVRGlRbHZNNkxhLy8KU241L1NzR3I1SnloQzVlSGt2TlNBK0kwSkcwVUtJNktaSHVtMURRRnFSbmc3eEJVSEpJRGt5anFEVi9qL3pvQkVndndmRFhlZ3dTSQpTYkNsU05sTVpEcVlLc1dkaU03VVl1NmlUSmloU0xVUlY1Ly9ad1JvZEFjU0VpQmhCMkpLZ3E4OFE1WHN4SlNhVHA4QWZ1a01OYW9UCnVMKzQ1ZnovRmlENEZBV0VsUEg0a3hqaTZqT3FBUEh0UndEeUhtRytMMENDbEJiZmdZWUZTSkR3d3ZhbEc5RjNHdEkzR05LMzZKTjMKR2RKY0RlaHczYWtSSmNDVTdzNkg1b2tMa0FYVHo1cStHd2pRWkVZd0FEb1FQUUFKa0RVbGNqTEwvY2hlMTdjdnd2L2h1ZkY0Mjc1OApjUHY0ZGlmdm42alBIeng1dkpBdmI5MTVieU5nR2RESEE1OC9oUDd6MGYzejIzMjhEOGZ1WGZPZnBibkJrTHplUm5tWEdYT0hCV3NICjFoSG1aODd3eGhaNGJiMFV1K2Y5aTNoZ1AzU3BuNlRsZnlQTFNNZ1NmeDFIcGRJZC81TDFDS0VkUHkwVGRZUVJIajF4Z3lkUjEyYWMKTEVWT2JoeFora2NaYWFJTTRRZmZIZWE4OTM2SHdyYlk2cTV0ZXVMenVpdFVUVUdhSlMwaFJmaFJraXhMa3lIOVNTV05kMW5BOEkxbQpSUitWT1htQ0dudEVZZGtXQWt0ZlNwWk1vVWpTSmtnUUNHUHBjajhtWDNKNDFSZmpZaEJoUno5aVMvWjJsTC9nUkR1S094QUNYSU1UCjhJSlo5RU16NmFHQVdmUURRSWF3QXFCd2U5b2hlOW9CQUJJZ08vQUNhakJHRUJBVXZLQUhacUNvQU0vaFFoK0JBS0g1UU9JQ0JId0YKQ1pDdy9lRGdNMzZFUzMvQVU3ajVTeEFLRWdnUWRLQ3ZDUkJ1UDlia0hiajlXQkxoSmxTRVVDTVk1S3NDSkNpQ1JpWE1zQXNNSVJ6KwpRUnJFUHhIVUxPUGhIOEZiUnRqUGR3VklQUFlEQU5mb3ZTakZKbGdFTml4QUJscWhBRnlBc0Iyb2FBbThxQURwNjhaWXdJTG9nL3I2CkIwMTBveTAxRDVzYVJyaHNTUFBJdm9Id3pMM3VVM0JqZC9GTjRFQjdLdTZHWHJzYmN1TmU2TzM3WVhjZmhkeXBpbno0NUd4TCs2WDIKcm91TnJjY2ZWeCt1dW4raXV1WlViZDJ4cDgvTzFqMEg5blBoZVIzZ1l2M3orSWI2aE1ibmw1dnFFNXNiQU1uTjlTa3REYWt0OVdtdApEWUQwdHZxTVZqNlpiUTJ3NUJueUhKRFQrank3cFE3WVQxWkxkWHJqazlUYSs4azFkNUtlWHJ0UVZSaDNNMlAzaVFqalNidTA1QU9WCmRVUDBXQnZXVTgzaVY5a1g1Q3pOVGRoZW1PeDNOVDNnVHZidTZ0ekltcXpqVDdJajcrVzcxZWZzUnpUa2hqZmxoRGZuUnJUa1JlSzAKRmtEYUNnK3dpeUlSYlNXSEFPelN3NGoyc2lnRTkycXNNQjJWUnhDY2loZ0I0UHdJQnRLam80aGhZVUlSbzlLVFhDQkFwY2U0SlVmWgpKVWZhaXFPYjhnKzJGa1Z4MC9hM1prYzl2QnN6dEg5ZDhoaFpUZm9TT20wUmk3cEdUVzRwMENDRzBpTHdiL2Rlb200emtjWTFOR3lkClljZFpzS1JyeGZxK3plNDl1M1ozK3V6ckNncnZEam5jRXg3VmRlaDRUOVRKbnRnNDRFQTlKeS8ySUFjNm05Ui9QaGx5SVFYTGlHWDAKSjJSQ0VyTmVYODU1ZVNXMzczTG1pK3ppL3N5OHZ2U2NOeGtGNzFMeTNtUVVBejBDM2pPUWx0ZVhsZ2VyaFZLeTRVekZsS3orbEx5ZQo1RUpnVWE4VFVvWXVaZmFuM1F5ZTQwWWRaNlZFc3FOSncxR0JDakFDQkRkTHNJZ2pWZURyL084RVNPUmMvTTdpOXhjK0YvK29Bc1NsCjUxc0NCTWNJeWN4aFNqbUIvNVgwV0s1TWFUczRmRmxhMUh0d2hJVkRXSWJFZFVmODVCdUlHOCsvSzBCaUgvVmJBalNLQTZIRTFrZ0IKZ3JVK0JEakxXL0RGd1MrZHFrcDIrQzhLMEloeGlFaUFzQnlXdVByODZ3SWtZai9DY1NBTVdCYU4yYzlDd2NnZlhJRFc2Sk0yaUJRMQpJd0VTRkR1TFZ2eVkwRGNia1QyTlNONm1qRzNHOVBXRzVPM0FQMHpwdTh5QTlHQ1kwNzNNYVQ0V2RGKzBma3RFZ01BMUVxREp6Q0FIClRiL1hMeU41dkkwOFh2akhkNTY4ejRkNHZPRDNiL1o5K1J6QSsrVFArK3pLKzdDUDkyblAremRCdkg4Q2VmOEU4VDVHZlB6azl2a2YKejRxOGZXYk0xV2JVWUNBOVZrcGJ6Qmh1SnJTZDFzeGdRL0xhZFE2ZWd3UEJlMzJ0cVdNa2dmM0lFWDZXblNCRHRad2hmL3FVMHFVcwo2ZnpDWHpQTENIbjMva2k3SlpGN2s1QmJSdlVOa2xIWHBJMGRxemllU0NSSi8wbVMyTFhTalBjbHBHUFErKzJRdXpwVGlrU1VHU3M1CmdTNG5JejNtTjVLOUEvTmk2dmpzY3Vtc3ZKK3pTMlN6YnZ5U1dpRlJmSjJRVjhqYXVwTWd6eVJKL2lRbk9aWW85d2VkOW5zRGQzTnAKMmlGYitrRkgrZVB6NmVlQUFDRUhFZ2FjMkROaVp6RWkwQ0ozV0FSTlB6Q0R0bjg2ZGQ4c2FoakFqcllmMkE4VUlOcCtBRHloN3dNYQpOSTBTaEFxaVlZYUxoaUdjNmhJSUVHSzREbHFROHhyVmZ0Q1BjQUVTWVNZdEFJOC93Y1VYZkFIeStJNEFDZXdIRXlDNC92MC9FQ0E0Ci9rY1F2K0dIYzlTaG9Bd252NGJ0UjNuRVNFTU4vZ1NnMFFVSU9kQTNCRWpFZnI0aVFNT2puL1d4Z1lmQ0FvUk5mejRFQkVqRWZzQlQKSTcxb0s4TVlDLzBEQnJvUlFJL01OQTRDQVZxK014K29qM3ZXZFVoMnBjQ0JiZ2VVM2drc3Z4MTI2MkZ3NWQzUW13L0M3endKdkY0VgpkT2RSMkpPNmlBY1BEejE4Zk9UeHM1Z0hENDgrZkJ4WFhYT3l1dnJFczJmbmFtc0E1K3VxTHo2dnVkUlFsOUJZbTlSWUI3alNYSmZTCi9Cd0FIQ2kxcFM2OTVUbWt0UmFRMVZvbm9DWWJBNmhQVnN1enpPYW5hUTJQVXV2dXBWVGZUbnBhY2JFcU4rNVd5cTZJWFdhYS9rYTAKUFdicXUvVlVQUTBZSzdZdlhIWHgrTXlNYzg1NUY5YmVUUEYrbU9WWGxlSjVQOFgvU2ZiZVI5bTc2N1AySWhxeTl6Vm03V3ZPQ1czSgpEUU8wRmUzSFlSZUhEVk1haWROZWRnQ0hVeEdKdzcxNllKakt3d0tpaHdHR2REVWF3SzJJNFZNZXl3OHNsY1IybHNWeWk2TmE4eUxiCkN3OTFGa2V4OHlLYnM4SUdML25YWFBib3Z1RDZOR2k1SW1PNkltbXBHbU9ibXZ3Q0RjSnlGZW9LVmNZOExlck1hM0xVVGhWbXI1VkoKczVNVGQvR3k3dFhyZTdlNmRic0RBUW9HQXRRVGNyQTM3SERYd1NNOWg0LzFScC9xUFhLNjUvZzU0RUM5Y1pmNlRpZjJuN25jZS9aeQpINHdHSVExSzc3dVVBUmhJU0gyVmxQSHFjbWJQaGVTdXhJd3YxLzUrVjNxTmQrM09wN3lyZzRrNVFKSmVweGNDQWVwTnpYMlJrdk0yCkxYL3dTa3AvY2s1dlNsSEh4WXkzVjNKNlRpVU14ZWMwbjB3M29zOVFrTFJoRVp6a2lYUEFJL2pMeDVDZXBreHlGUE9HMGZrZkNaRDQKdWZpZHhlOHZmQzcrVVFXSVM4KzNCQWpjVnBrTUZHR09Bc2xTN2xkN0JlSVUyRkFtSitvOS8yc0J3bC8vTmZCZWR5RUgrbHJzNTFzQwpoSTlHRkhVZ01RRkNGVDhzV1J2d1M1bFMweG1TVXhYa0FQQXpZQ0l5T3YrdUFDbkw4S00rZkFFU0ZBT0pxODkvSmtDcXN0aFR2Z0RCCmdtaU1CZnp3RCtrdk5PMFFGVUZqQXJST0lFQ3d4QWZWOXhpUU4yTUN0QmxGaGxERkR4SWdMYWx0cGpSdkM2WWY4QjVkdWMzR3RDMFcKOGg1R0pGOGdQUWlnUHJqOXdNMWM5TjNBZGFZdzl3S2dBMkVDQlBkOE1UMXRsZnlhNnNMZWYzVDcrQjVvVU1ESGQ2R2ZQKzc1OU5uMwpuMCtoSDJFUC9GNGViL3ZITi80OG52K25mOXorK2J6bjA0ZWd6Ly80Z1BQWEx3OU5WbHRpUVlzMFk2MHpvRzIwVW5RM283dWEwM3h0CkZMYVc1MGExY2R4WVpBbFp1WEVrYVFtWjhkSU1oeDNTNmNVVHNrckgzZmo3bC9RcnhMemNQOU56WklydWpDKzZKNUZiS2xWWkxuOGsKOWdkOUM1WGZmNWVTSHNlVUk4akpTdmh1c25yUnVaV2xSWkdiUUphVS9VV0JNbzRxSnllL2NwTmtSclpFUWY2NHNoS0p2QlNab29KZgpNM0psOG05SzUvMHRrWlgzUjFrV0l5cjBUMDF0aXV6UFZObXgwcEpVVzFzbThMbU5NOFBzNU04dW9oOTFvc2VPaW9NOEVLRHc2YlFnCkFMWUVJM3c2TlJUNHpRektIaUE2czJnaGR2UlFUSU1pSURBZ0ZBRk9CTnN6NEFJTi92Z2ZvWlNXY0syUHNCVWg0OEZmZ0l4SDJINm0KQ2txZVljZ0hyZjBTZ0FSb0JoWE9QMFNidjc0dlFHTDJnd3VRMEF4b3ZnTjlRNERRWWk4OGdTVVFJTldkR2lQNnVlQlRlREk4QUJyNgpqWERtUzhSKytQekxBb1FTWWRpNytQa3YzSDdnQm5nWS90a0hCQWgzSUxRQlhqejhnNHFCakhTaUxQVU9tZXRGQWdFeTBqMW9waEZwCmJMaC9qWGVKVi9ZTno2enJIcGxYQVo1WmxUNjVOL3p5Yi9rWC91MVhEalRvOXI2cjkvWmZleEJXZVQvODlyUHdlN1g3L240YVV2VWcKL1A2am1JZFBvdS9kUC83ZzhlbG4xU2VlUG82cnJUNWI4eFJ3dnZiWmhicW44ZlhWbCt0ckVoc2h5VTExeVUzZ3NTYTFxVGExdVRxdApwUWFRMlZLYjJWS053TlFIZWc4Z3B4azhQc2xzZnB6UjhDQzE3azV5OWJXa0o2VVhxakxqYmlWNWhPM1UxdHBsTmpIQWlMSFJRTVZQClJkWFgzSEJkbE4vR0t4RjJXYkgycFdjWDNVemNVcFhtK1RERC9XbTZiMjFLYUUyYUQ2QTIzYmN1dzY4K1kzZERwbjlUZG1CelRsQmoKam45VGJnQ2dPUyt3SlQ4QTBGb1FDR2dyM3NzdTJZZG9MdzFCY01wQzhRc0F0enhzbUt2aDNLdVJPTGdrZFYwOUNPaXNPTkJaY2FpagovQ0NBVzNvSTBWbDZ1S1A0SUtjd25KdS9uNU1iMnBhK3AvR0tMenN6c083U2twZGhhMHhwRGhNWmkvVUlxeWFSNTZqUkhTZlNsaXRUCndEK2RUZ3NZbGkxMEthNnVZc2MwVS9hY09keGx5N3JXcisvZHZxdmIzYmZMYjAvUG50RGUwQVA5K3c5MEg0enBPWGkwTC9wRWYreHAKR0FRNmZxNzNWSHhmM0tYKzB3bVFNOUNCVUNobzRHSTYwS0RldE15T001YytYczRaT3AvR3UxNVZGSGxvdVpuRlloUFQrak1KdkpKYgpyeEp6WGlUbEFPUHBUTXJzdTV3K2NERjFLQ21sT3o1bElMV3dMeUVIM09IVnhaU0JVNGx2TDJXSHJ3eFdIMi9Ha3JXank4MWhrV1lyCkUrMEFvK3dLL1FyL2RRRVNSL3llWDd1LzhMbjRSLzBlb3d1UUVzR1pMbTBCVzY2azUyZ3FUUVVubExHemxNbmlQdkZmRmlEWTNDNWwKTFg0dXJqNGlBaVRrUUtPckQxcGYrcDhKa0RBQ0FacWlSTEJYb3l3QTEweHBHeVVpWE9pbUNPdU9SUzNuMndMRUwzWVdRMW5HVWFRTwpHc05lL0hzaHhOVUhvU0pqSitSQXcvWWpKa0RZVENBQ0Z2c1pudmdNOTdwREFhS3NGdGxwYXNnZjJRelZoeTlBZ21KbkRGY3J4bDVqCm9xOEZMZENjR21ETjhnUG1ZVXAxTXlINVc5RDlFSmFNM1Foc05lbnVyd21RQlhYWEZGcXN0Y0s2TlhhNy9OYUVSUVVFSEFuMnpqd2YKT3RTM0gyalFQNTk4M3cvdCtlZnpGaDV2LzhkWEorc2VSTlUvaVhod0kremg5Y05KNTFmNXJQVXlvKzB5SXg2MFZIQXprL2N6bDNlMQpZdTAwa04yMHdOVDk5YnZRVmNzMDVjWkowS1RHeVJCK29sallTcVVYL0ZaVThuTmh3VzlaNVRKRk44ZFVaa2htcGNpbVpvelBLZmdqCk0xOHVyWkNXbWllVmxESFcxSWcwZGl4SittYzY1VGZXSDcrd0NDcS8vVG1HTGlmREdDc3hRWGE4ektiMWtua0Z2K1ZkSFpOVk1LWWcKWjJ4QmxrUnA1dmpzTEVwYWdVeG0wYmpzUW1KdUNUVTVlOEt4MHhPb0V3aGp4Z09SSXZ3NW9hdlZJL2Q4bUtQcWtRV1VxTm1NSXdoYwpmZEJUUjFhTUhUTUNLOVlKd0JKaDRVQ0RwbEVDNExaUmFoRGZnWkFBWVJreFIyYWtBOVloTDFpZ0VZeG1Ib29Ma0FqUWJ3VEJJVnlHCmhNTS82R1cyWkY4MDRobTREZzcrVkxENGZiZ0krbXNDSks0K2d1NzNmMWVBUkJ2Z1VTSnNGMTkzQkFLRUk1TGtFcmFmLzB5QWtBT2gKQzB5QWNQdmhyejZGaXk4MGd2VGh4dE5oQVFMQXppODQvWGxFK1RPNkJvY0cyZ2ROdFNMTTlQYnI2NFFCQWJMUWpqUXlEbHZqWGVTVgpmUTE0RHhJZ2oweHdmZDA3NTZaUDdpMmZrdHVlK2RlQ3krNkZYbjJ3dCtUdjRPTGIrMHJ2SFByN1dkamZEOEp1M1l0KzhQVDQ0K3FqCjl4OGN2VjkxN1BIRDQwOGVuSG4yOEd6MW8zTTFqOC9YUG9tdmU1SlEvK3h5UXpYZ1NpTWt1YUU2cGVrWkFEaFFldFBUak9abkdTMVAKQVpuTlR6SDFnZEtUalpIUjlDaXo4WDU2L2IzVTJsdkoxWldKVHdyTzNVMDlkZjNDUmo4djFxUlZtcm83dENhNWF5bjVhYW00VFZMYwpZS2kzWXZjQ3A2UlFsNUk0cDRLVDh5b3Zicm1UdEtzcWZsdGRnbmQxc2h1Z0pzVzlOdFdqSWQyck1jTzdLZE9uT2N1M01jTVQwSlRwCjFaTHQxWnJqM1picjAxN2dDMmpOOTIwcjhBT3dDM2NEMm92OEFaemlBRzVKSUtLak5BalFXYmFIVDhVK1NIa29vcU1zRE5GVkVZNFIKQ2Vnc2orZ29oWEJMd2p2TEl0dUx3dGo1SWQxRit6dHk5N0pUL1R2Uy9ibHB1K3RQYjZyeStjdld4SVZKbnFVdHZkcUkvQmVOTll0QwptcUhBV0tJSVEraXpvdWs2clpxRURqT05KZ2Z6VGhkbjdxcGxYUnZYOWJqdTdIVDM2dlFON0E0SzZRc0pId2lMN0ltTTdqMFEwM2Y0CmVIL015ZDRqZkFmcU8zbWg3eVRVSUFqVW9DUVVDZ0swWExnMGxKais0bHdLcit4dVJzQSthUW1KY2JERVhXSzlxY1hML1BJUGFVV0QKNTFJSExtZjFKbWNQWHNrYVNzd2N2SnpXbHdCN3lvYVNjcnRPSjcyK2xBSDc3ZU1TSHNhbXpxQlBWcENjeGlMUFp4SWN3WjlNVmJJRApVMVFPdnNyL1dvREViL2lOK3d1ZmkzL1U3ekc2QU1HMGpwU2RDbm1HSXRHYVBnSEw5Y2hhTXlWbmlmL3BSZngzQlVqY2djVFZSMXlBCjhJNTM4WThuV043K1ZRRWEzWDVHQ3BCd3o1ZVNuQU5MYWc1TDBrVlpiajc0dlVDQVlCeElCcC9YTE1wL0tFQkM5b1BlSXY3VkVPTHEKOHpVQkV0Z1AveWxXQncxYjMxSG5Gejd4R1IvNmpPRHY5aG81N0FmTGk0bmFqekYxaHpGY0V4SGdNQ2x1bFhYbVpJVWdTM2wzVTRvMwprQ0ZzTDJrQUxIYm1BL2UzQStDeTBxK2t3S2F3dkNjelFpM0lnVFpNVHlzbXNLaWRzeWFGR1JDMkg5bTc4K01uSHg3UGovY3BrdmNsCjVOUHJDTmZGcTZ4WnE4d1lTNndaSHRaTWR3djZKbUJnVTVYMkdGUFhtOUkzbU1udk5hWHZCT2VUNVYwUCs0Vjk1dm1ReHBKSU11UGsKcEg0ZFN5VXhUcDBZbjFVTTdFZXV2T1MzeklJSnFSVS9wMldQTFM2UktpbVJ6c29ibDUzN2Uyblp1TUtyaEpRSzJmZ1VzclhPcjFJUwpzaFBHeW9NM3kveEFJWXhUa3ZsSmRvSU1aYnYzMkp5U1h3dUxwVE55NWJJcng2U1VrYk1xL3N5NU9qNzM2cmpjMGorekN5ZmtGa3ZsCmxrbG5sRXVsVjlDZE54RmtmMmVNKzVWRitUMW9pd1B2M2Y2WmloR0xtTU1DSklJajZ3Z21RSHNBc0F3SWt4dVlEcU1HemFMdG1VWGIKQ3lOQTlGQXNFUWFEUU1CK3dEVTJJaWdVYmM4QTltTkRHcVhGZmRoN2hBUm9PRlAyMVFqUXNBT054TWVXN00yUC9jQTZhRDdmRmlBUgorMEVDSkd3L3VBTjlWWUR3QytHRlg3QU5Yc2g3a0FhaEUyUTh5SDZFdlVkWWdBVERFcjhsUU1CK2NIRDdFUllnYkJKMEFGQWZQYzA5CkFHQS91QUJobTc5Zy9nc0lrRWpnQjlrUHdFajdrS2xHcUxsdW1JRmVxS0ZPaExuT0FVT2owQ1Z1T2NoKzNETXEzRE1xRVVpRDNMS3YKK3hYZkFYam5YdytwcklxOCtTaWsvSGJrdFR1SC8zNTg0T2FEZzdmdUg3NzdJT3J1dmFPUEhweCs5dmpvL2J0eFQrNERnQWFkcjM1NApvZVlSY0tCTHp4OG4xRDFPckgrY1ZQLzRTc01UUUhMajQ5U0d4Mm1OVHlCTmo5TWJvZTRnc3BvZUFPOEJaRFJVUWZ1cHU1MWNmZTNLCjA3S0VSN2xuYnljY3I0eWJ2WEtqcnFHSGxwYTMya1J2M1lsZStzcHJEQ2J1VUZMY2FhejhsL3V5TlFuN2wrYkd6aWs5dGZqRytmVjMKTDI1NG1yRGhTZEpXUUhYU3Rwb3IyMnVUWGV1U1haK243QUEwcHV4b1N0MEphRTdmMFpLeHN6VnpWMXZXVGtCVHBtdHoxbzZXN0oyQQoxcHhkYmJsdTdEeDNRRnVPQjRDZDZ3bG96L1BpNUhzak9vcjlPNG9DQUozRmdaM0ZlN3BLZ2hHY29tQnU4VjVBUjhtK2pwSlFBTGM0CkJNQXBDV25MMzlPV0U5aVJ1NmM5M2JjOXhic2oyYnMyYnNQZDdhdE1sVjBtS3N3bGtaMVZXSDhwMFJZcXlzMmpLUzFRb3JqUXFQTU4KS0hhbGlzck5KZ3BjVzlQbTJWWWR5K1p4MWl6cjNMeSthNGRycDRkSGg4L3Vyc0M5Zlh2RCtrTDJkNGNmN0kySTdqc1kyeHQxdkRmbQpCTDhZNlBnNUdBbzZjUkZWUnFPa1dPL1pKTmdqRnAvY2NUS2VWM0R0d2NrTHhCOSsra0ZDUXVJSGlaOGtmcFNUa0doTXlmaVNWZmI2CmZNYmdoZlN1aFBSdVRIMEc0OU5lSkdUMG4wOGVpazlEMVVYZHAyR3ZXZWZKeEwxT1c5V2tKclBJY3hseWRrd3A4QWZNamlIbkpPWUgKby9NL0ZTRHh1NG56dGRlTGY5VHZNYm9BS2NqYXdqL3p4S25rTVZOVnlPRGFRWkV3RFFpQitKOWVISEVCZ2p0ZnhYUkgvRVFZWElCRQpIRWhjZmI0bVFPSWZETGVmN3dxUXFQMWdSZERpOWdPZlNzK3owdkJXSTJ4UWxQNUxFZjcvd1ZwUmJycWk3R3h4eTBIOHV3STBxdjJBCm00aC9PNFM0K3VBQ0pPUkFvZ0lFKzhMazVxSmgwTmc2TUxqNVM3RHRheFFCNGlNMDdsbTQwUjNaandsdEoyQ0d3ckhnNVg4bmh3NDUKcVoweWt2R3hvTG5hS3ZsWlU4T1E0a0NZUVFEY2ZyNVdCRzFPMjJwSkNacXFFQUc3MmVVOVlSaUpzc05HZWRkaWE4OFBieU0vZi9iKwo1OE0rM3BmZ2xtZkhiQlc5ckNtUjAxUzJBc3N4cFhwWWtBL2FLTG9aa3p5c1dUNld0QkI5aXJjbHk5dUs1anRGM3V0cW52KzFHeXZJCjQybHlzT2RMZ3VZNFgrRmkydGdidDM3TEt2ODlxNUNhbmdmVTU2ZWlHMUk1VjRIQlNPV1gvbEpVL0hOKzRkaThVcW5DcTcva1pjdGQKS0pZMFlzclFhZU9rSlNZU3gvMUErVVdTOUpQa3ptQmlRcUpVYnNuWS9Ocy81UllUY3pLWkdZVi81dHlYekxrbW1YdFZPcmRDTnJ0awpYRzd4Yi9sRnZ4ZVVqczhyWXgzSkdhUHdvNktVRkpId2d5RkwvdjJiemU0TFRzNm1oczlteEFyalJJOUJPRENCQUVYT1pPd0ROZ09YCllOQWlNUWNDMHJOUEFCUWdIRlFRalNZRFljT0JBcWRTZDhPRlgzd1JFV1V5Q1M1bUZ4WWcrQmF5UHpJZWNVWU8rNEVJdDc1UEpYcGkKZUNPK0owRGJST3puUHhNZ09CRVJtd2tFSEdnTEJyYjJTMm43MXdSSVBPb2p0QitETDBERER2UXZDSkF3cVBvSG4zK0k3RWRQSTloUQpPd1FEdHgrc0FBaVlqVUdzU094SEFCUWdDNzM5UUlBTXRNUE5kTUwxRGZZdDJKYUdZajlBZ056U3IvSkpxM1JQdjdZcjQ1cEg3azMzCi9CdnVoZGU5U3EvN2xWN2JVMTRaZHUxV1JPbnRxQnNQRDl5c09uVG4vdUY3OXc3ZHVYMzhZZFdKaDFVbkg5MDc5YmdxN2tuVjJhZjMKTVFkNkVGL3o4Rkx0bzhUbmZKTHFINmJVUHdJQUIwcHRmSlRXOEFDUjN2Z1FlUThpN2ZsZFFFcnRyU3ZQS2hNZkY4VS95RHg5NitLUgo4aE5PaTFackt2bWJLeDB3WW5vWnFtelJWRm1zeWRwaUpPL0JWUEUwMWxpL1k5N0NoS0JaQlRHVGk0ODVYRHU5NU5hNXhmY3ZySDF3CmNkM0QrUFdBUnhlSGVYeG1GZUxSbWVVQ2xnS2VYRmdPZUhweHhiUDRsZFdYVnRVa3JLNjl2S1l1Y1cxdDRvYTZwSTJBNTFjMjFTZHYKQmpTa2JBRThUd0ZHNVZxZnVxTWhiV2RqdWx0VGhudHpwZ2VnSmMrdk5YOTNXNEUvdXlDb3ZYQVB4bDVBUzM1QVczNGdPeStBbmVuWAprdXpPU2ZHc083VWh6ZFZDaGJsQWt6R0RUcG1uUmwrbVNwcW5SSmluUVZpdUpyMXlFc0dab0xUQWt1cDRWNXZlYnF6WjVEaWx3OG1tCmVZMHpkLzJLamkxcnUzWnU2M0IzaHdJVUVOUWIvUCt4ZDk5aFVWMXIzNEJKc2FGU3BqZWFDQ0xTZTVOaXJ6SDJXR0l2aU5KNzcweWoKaTRxOWk0cjBYdTJhbU1SS0I0MWQ2VTBzMFlSdnJiMW1OcHNaOENTbnZHL09lMzNuK3AwNW0ySFBnUHd6OTNuV3M5WVQweFlWM2NLTgpiUkhFdDhZbXR5YWt0Q1R0YTA0KzBKeHlzQ1hsTU53WEJpVjBISFlGUVFPZEFRR0NhZDkzNnYyWi9KN3NVanVPS3FDUHpQaFJNbDkvCjlaWE0xNlN2Wkg0NWVmck4yZndQeDNONmptVzJuczRDQUdvK21kNTI3QUo0VmRleGN4MUhNRUlkVFc4K2V1RTVlTGVVUTVlaUR1dVIKN1prS3MxWHBDelFaMktrMnRDWHF0UGxEUnNJTi8zVUFRcit3ZElZSEVIZ3JCM1hLUXZDWFVaYWZnOVozQURXa1AzcUpJUUlJbTNqLwozd1NnSWZTRGJZTkgra0ZIQkNIOWdPZ3JiNDN4dlA3OTNCTjZIRWNOMmtJMWl2MUUybXhWeFg5YkJVaGk1UXU5dzc4T0lLUWZrTW0wCmhWaSt3VTREZ2dBQytzRUhvRW9EeUlRRjZUTXc2eFFiOVFVQkpONFNUOVFQN0RWbTg1ZnJud2xhK1pNTk0zeWFhZ2ljSHNxRUhjM1QKVktLeFlFdGRZZ0RaY2dLSDJ3WnZyK1p1elJSWWN3TE1tRHVtYVhoYkt1KzBVUTZ4QWplb3VOYmVpWUZUd043SC9QR0g0NTRJejJsSwpYSHRWVDJ0NmtoWGJmN3BtZ0FWbkd6eGNFVGI5K0Z0eFBLelYvYWVxQm9GM3RxUjR2WGptdzR1Y3p5U1BvdEZIYWNyVEtUNlJpZ1dGCkl6TFR5S1ZYRlRJcXg1ZVZqOHNxcEdjWGo4MHYrYks0WkVSUm1WeGVDUlgyTWhjcVp1ZVBLU2tjWFZoZ2VPZ0hqb1lxaHpTYVFoMHYKUjZLcTduQWJrWGVlV25ocFpIYkZ5T0pTdWZ4Y1VrSCtxUHpjTVlYNTFLd3Njazd1dVB6OFVRWDVJM056NVhMenlia0ZDbm01OG9WWgpvd3lWbUtNVlNCVDVpVXp5SCs4aTlvYnp2dVdrNHVMQnM1Q1RCQUtib0pWaW9YNGdnSGh6T1BBTTZMbkszQVVxUEpENXlsd1FqRDVSCmN6bVJxQ0EwUjNRd05Kb2VEK2VlUWdPSlJxK2p2ZkVEc2FkN0V3R0V0VVVQQ3lBSGhoK3VINkp5c0M5OXB0Rzh4ZkVGUWQ4ZEhrQWkKL1dBQXd2WGppS09IWUNNWWZCYllEdnprUTJJSUsyS3dKZ1FDRElRUFR5V093dENldEFzRUlXbUtscXRvQUNxd2tiamtROVFQSkpFVQpnREQ5d09ocmVhTXY5YlY4a0g0bVQzRFRtUVFub1JycGhxTEREdzIwdzRCN0xJMzVRRHlJUGhaR3NlYUdRblR5b1pWeG9vMVI4bFRqCjNTRGd3c1k0MGRvb3dRclF4eURPUWo4V1hGZ1p4cG9DL1ppQWwvRGhMckFsYVQ2Rmw5d3ZsQWZrM1BCTnYrcVhkYzN0WExsYmVwbEgKUmdWaWtIZjJGZi9jcTBINWwwT0xyMGFWWG9zdXU4NnIvSUYvNldiczVadnhWMjhtM3JpUjhzT052YmR1cFA3OHc4R2Zmemg4KzlhUgpPejhkdlh2cnhMMGZUOTYvZGVyQmo2ZXJicDJxKy9sMDdjOW42MzQrVjN2clhOMFA1K3R2bm1zQXVaN1Y5RU5XMDgzc3hwdFpqZGN5CjZxOWsxRi9LcXIrYzNYanAzS05yRjVvS0wxU1ZBdjJjcWNrOCtNdlpneitrY1hNRGJJeDhqU2Q3d1BabnJRQTlkUTl0MVIyNkU3ZnEKYTJ6UzF2YlExUWpVWSs5YWJMWTgyV05CWVp4dFdZejlqWmp2eXZteks0VnpMOFhQdlp3dzcyclN2SnQ3RnZ4eWNNbTlZOHZ1cGE5KwprTEcyTm1kRFUrSFd4NlU3bmxYc2VuSFI1ZVVsMTVmWHZWN2Q4SDU5MDZmNUI5L1dXLzV0UHdXMC94elk4VXRRNngyWWx0dUJJTTIvCkJJQzgvdGtmcFAxR1lOdjFnTlpyL3MxWGZGOWQ4bjVSNmZtOHd1Tlp1ZnZqQXJkSGVTNU5XVHViTW5ZMHBUcytQTy80S0gzSGt3dE8KMWJsdWpabE9yWm5lemFlY1g1MWJlL3Y0dDhHcloxdlNWa3ppck5Qa3JORmtyOVJrTHdYUllDM1RZSzdVWUs0eW9pempNTmQrejdLKwpiek94YVpaYS9XS0hsMHZudDYyYjgzTGJtcGFkbTFwY3RyVzY3Mm9MOUc0TkRYb1JFZnlTRzlrU0U5UEtGN1FMNHRwaUUyRWRLSDV2CmErSys5dVNEN1NrSFFEcFNEcmZ0T2R5MkY1NlVDQmZGVWs5Mzd6bnhSOUhGRXA5UU9SbVpyMGZKaklZVm9DOWx2aHJKb0k3ck9KWHoKKzdFOFFCK2duTTZEWjd2T1pUMC9jYWJsMERtUTFzUG4yN0cwSGp6YmtucW1lZC9wNW4wbm44Y2QrMjdLSEJYbVhGWHFZdml4elp3SgpleXd3Qkh5R1BrUlBRRE1ORnluVy9QbEljMmVJU0ZVdlVDUjZZL0dJRnJhSVZCSXRkUTM2N01jLy9xVS9Zc1VoQW9LNDdDVWlpRVNrCnVTT05HR0trU2ZUNW9NTVNCenhFUVNkQXppVCt6c1Rmay9qN0R3cnhNRVBpa1Q5U2Ywa1VYWnI3TkcyZXpjUUlMZElXRGRJU0FKUUoKaWpQaE5uWFNMSlNKNU5rZ0JJdUlHSVJsNFBSQzZiM3VoS3FQcUtOSS9LcloyRHZQUWRjRG9jd0VrYVlQeWlUcTdFblV1U0NhQUVOWQpUL1RBbVVEa3RaUEphM1NZMytwemx1blJ0K3ZSdCtxeGxxTTlYOWhwaDl1eGJCV2RBWTJkQjQxQ0JOREFmbmp4YVlmb2NHZllmTVB4CndnNTM5b1dISE1KK1o5anVNMDJGaXdVeWFJWnFGTWgwbGZCcHltSFltbGNJNWg3UkdobjZrbkNDODhBaDBlQkpXM1pvWEtEdnAzN3YKajUrNHZYMEJjeVo3MjdPU0hGUURZZWNRa0pOeWtJTktNQXE0QnBtcXRNT1NHV0NuSEdQSGllaDc0K080Mms2SlFwVW5qeGpESUxPVAo5NDdOTFZVc3pQcjZVcFpjWnVuWW91dTBuRHo1L05JaHcwN1BHMUZTUExLaVdITnZLbE4vNmhpNUNXeG4vN0VGQmRKM29pZ1dGTWxuCjVwTnp5dVh6S3NZVmxNc1ZsWS9Peng5WlVpQ2JuVTJhdjRKR0dzVldWSkJuajJwNTYxSXEzRDFYTmVRYmxTUVFlSzZQVWdJSXRzc2QKQzV3Skh3ZVh2ZGpZTUZST0JEWVJMQm9ZU0R3ZGJDRGdtWUhlWjdpNVBjaUI3ZytDZHJuam5jN1k2Y3dRSmRBbFRBK01KdGgwQzNoYgpLSlFUSzFMVUlpMFZBb1lncDRnelRmR2dJVjhvMCtpZTAraWlZUmNnZGt3MzFQdU0rY1pwS3NQUmhyNGRCZ0xJZVNyTjFZNE9ZMHR6CkFabEszUWxpUTNFQ2tjRmxJK0Vld25Td1Fma01nUENWTXUxSkxqaUFKTW8vdUlGMEo3bmpEZFRFQ3BDaHRpOEFrTFk2Zk5KUTI4OWcKc3ErSmJpQjRSSXRmcVBzSGJmNHkwWXN5TTRoQnJUOXc1aGMyMnd2b3g5SW93ZG9rU1VJL0NFREFQUUJBZ0VHV0JwQktGa1lDVEU2OApCWE1PZStYRDhvOXY5alhQOHhkOU02LzZaRjMxdkhBUkFNampBcXdHZVdkZTlNMjVHSmgzS2JUZ1luanh4YWlTeTl6eWEvekthOEpMCjErS3VYays2ZG4zM3phdDdibDNiOS9PTkF6OWRQL2p6alVPLzNEeDYrOGF4TzllUDM3MXg2djdOMHc5K09GbHo4MHpORDJrMU44N1gKM015b3VRR1NXWHN6dS9aNmV0MjFDL1hYTXdHQW1uN0liTHh4dnVIYTJib3JhYldYejk3N0tiUDZTc2FEU2dDZ28zZlNEdHcrZk9ENgpnYTJDOVVaVC9PQ2V1NG51ZXBydUJwcXVlaE9kOWRWM2drelNYamw1NG5aak5WODdkZWVWSmt0Q1Y4MDZHenE3SW1uZWo4ZFgzVTViClc1TzE1VkhScnBjWFBkcHYrUGIrSFB6K1hzUzcycWozZGRHL05YQS9OdkkrTmZIeGZHd1NESm5mSGdsUlBqd1U0SGtQWDVLQThyRXgKSHVTM2hqaVV2bXBCM3dOKzd6MXU5eStSN1RkRG1pLzd2Nmp3ZmxIbSthTFE1V0hham9aakcyc1BmNThadE5MSmZwa3BlNjA2YVpNbQo2N3RKN0ZXYVNpdlVXWXZWR0l0VW1Zc21zSlpPNUN6WDRzeFRVbDI2VmRXb1lTcnIxU3pXMDhXMkxVdm50YXlaOTJyNzZoYVhUUzFlCmpzMit6aTJCWHMxQnZpM0JBWjNoWWMzUjBjaEFyY0s0MXRqRWx2amRyUWtwd0VCdFNYdmJrL2UzN1lhTlFXMVlOYWh0Ny9HV2ZjZjcKOXAvNW1GNjQyY2dDNkVkbWhNeVhYMzQ1Q3Z4SFJzWmxxa04vOXFYdXd4bVBEcDVxTzNtaDllaTVad2RPZHFXZUF2cHB3d0xwY3lDdApkWDhhME0rclBTZGZKQng2RlgrQ3U4Uk5nemxYaGZJdElJc1NiWnFtZUJmWTN3ZEEwdDhWM1NORkgybktETUtLRktIRWxaNUJ0dzJBClNkSTkwZ0Fpd2dMdUF4OHkwcXlSUnM5L0RrQkUrbndlUUlPSFlBeHMrSkttRDhwRWhaVUc3RzA2OUMwVDVKWk9KQzBBQlBtckFFSW4KTmY5VkFPSFhlRFNvczJDazZDTUdFTlFQQWhCeFJ4ajRjaklGdHY1TW9TL1JvYS9WcDdzYXNWeU1WZGFKRDNyZVpzemVZY1J5QkJmZwpTN0dLMENnTWtYNVFNeEFSUUtiaTJWN1FRQkJBQXdiQzkzelpxWWlXd0thcFJFN0hBSVFaS0JKYjh4b0VJR1NnNFFBMGxSM2tvTEhoCmFWUGk3Ny90and2eUJxaXlZWHZaS3ZtaHBpSUhsUkNKekZRUHNGVU90ZUw0ekpnUStkdUhnRTFMN1drS1gxSVo4bFFxbVphYVNpcTQKSnB1WlJjckprQzJxb0JaY2xjdlBsNllNQ3EyZzdPdkNVcG5pVW1aSmtmTEJmWXhZUGp2OXd1akNDdWs3VVJSeWkrUnpTK1FMeThmawpsb3pMTGxITUxWWElMRkxNS3lhWEZOQm1MbWZUNVNnS2lpU3FUSE9IYzNGUzJHeWx1QVhpTEZTT0J3RVhxS2taT3dWUk1KdkRKUUlJCkxvR3A4SEFEd1crSmcvUXpMSUJFblQyRWtndzJsZ3VMTDNabkVETFFBSmdrSW1vWUVpMmZpWW82UTlFSHhZR0dEN3VBSno2THovdUIKUi80QUFJbjBnd0VJUGtrVDBVZWNYU0NJUWNNQ1NEckU1bWdKQUVIckVGcUY4TUZobUkwa0FZU2lwK1VCZ2hpRTlJT0M2QU1NQkQ3cApnWHVtVFBSQVJ5TWE2c0NkWDlqK3IxQzg5eG5yZW9iSEhpSUFvZEVXVUQ5bVVEOFFRSVAxZ3dGSVlLN0hCd0FDRitJbE01NjlWVEtBCmprZldaZGNMbFhEeDY4SWxuNHdyWHVtWDNNNlZBd1o1WHFqd3ppajN6U29QektrSXlhMElLNmdJTHl6bmxsYnl5eThKS3kvSFhicWMKZU9WaTh2VkxLVGN2N2YzeDB2NGZMaDI4ZGVuUVQ1Y1AvM0w1NkM5WGp0MitmT0xlNVpQM3IyVGN1Wmg1OTlLRmU1Y3VQTGg4dnZySworZHFyNStxdWdaeHV1bmk2b2ZKTVhjVzUyb3IwMnNxc21zczV0VmZ5YTYvbTNNOHJyTW5KdW4vMjdPMjAvVGNPSC8xeDMrR2lBOSt1CmNnSi9BU01BUVMxdmZRMFhnd25PaG1xN2pGUmN6Q2U0bTAzWVBzdkVjZGQzN2x4WDUvMGhHNitsT1hmYzlYdFg1L0ttbHZ1dUFmTGwKNDYreDRQRjlFKzlkSXhla3V5NXF5UFRXUjZQMDFFV0JkTmRHb3J5dDUrUHBxK1BoNmF6amRkWHpVYm9iQkhnNkcvZzlqY0kzRCtQZQovNXJ3NFZIQys0Zng3eHZqM2pYRWZyd1gvY2U5K0s2YmZzOHFYYzVFYmwxaXRNYUk4LzBrNWJuYWpHWGFyTyswV2F1MFdOOXBjbFpOClVsbXRvYnhNaGYwTms3TllWWDIxcDViTmN6dVY3aG1zRjR2TW4zODMrK20yYjFvM3IyeHpYTk8yYTMyejI5WlgzanRmQkxpOUNQRjkKRlIzVUVoSGFFaFhXem8xdTQvSGFCRUl4ZzVKYUU1SmhFdmUwSnFjQ0JzSGVvSlJETFNtSFg1MDgxWHYwZ3JFQ1RlWkxHUm1acjc4YwpPUWI4RC9qdnZRQkJmMXJSaTMyblh1MC8wN2IzNVBQVUUwOVNqNzg5Y0E2aTUrQlo0SjdYZTA4QityVHVPOU95OS9TcjNTZGFFbzYwCkNJOW11c1pxeXRtcWtiL1JZQzlpazZmQmMyN0V4UG1NZnY0T0FKTCtDUDk4aHZ3UlJBQkpmTUJMdVVjQ1FJUDA4N2NDa0dqY3JCUjkKUGc4Z1ZVVTRFd01CU0lPMkVEeUtha0pTOUVIQnpERlBuVFJYblRRSFhFK2tUQWNBQXF5UkFCREJRSU1BaEkrcStCY0JCTi81endBSQpvdy9lQmdTaXpad0Z1MytvNi9TWkc0MDVtNHc1V3d4Wkd3elphOUdNQ3pUbXdwaTlIUVFEMEJZakZnemlFZG9Tang4TE5PZ1FJUEYwCmQwdkFJQkEyUHVRTHJ3UEJmZStZVWNJZ2dOUzRNMVI0SU5OVXc3RVZNWWlld1JVZzBVd01Zc0NURHFxQlZreXZCVVlidlRadG1xSHAKQXQ1d3hvVHdxUnhQMkVpRWRSZUJOOFFEbjFFS3RWY0x0VmJaQmQ2MnA4dmJhWTB0a3lSRHBzaXo1TWRPMkpQNlZmWWw0QjZsQy9sagppOHNwMlJXeXhVWFNsRUVCZGxISXZTaWJmUW1nWjBScHdhamk3UEdGWmZLWmw2WHZSRkhJTEFFM3lKYVdqczR2QlBwaDVGWlNNc29vCjJSZXArY1VVTTN1cWdpeURJOGVoa0Q1OThEa1o0ZTdBaXB2SDRZTXNVQll1VklrRndZNDNoRTNOY3poQ2JPczcxQTlnRGR3TXJ4U0oKZFVNUDBzOU1WcVFvbUg3RUFCbzQrcG1vSHdRWDhRQjJPSkFMVG1XSHRSemNRQU5EVlNVeWd3MFBWOFJyU0RpQVJPOHpiR0JkQnhBSAo3K2tSOWYySUFRU3JRWFFYVzdxYk5JQlFJSUFrRElSelJ4cEFrelZGd3pHZ2ZyQ2VhQnc2QXdBYXZIRU1CeEJ1SUQxdEh4QkFIQkJzCjI1Y25YZ3BDSHRLZjdJbFd3YlRWM1kybStCdE05b2NmK2FMYXo4RFpQMEEvMk9JWDdQaXhBTDRCMWpGSnNqYlpiV09hTXRWc0Q2NGYKakQ0aS9jRG9DeTEwK1VBL21JVGcycG01SVI5azArNDh6L1FyTzg0V2VlVmZjajlmNFhHbTB1L0NOZmV6NVY2WWZyd3pTdjB5U3dPegppNE56aThQeWlzTHppMk9LUzdnbHBZTHlzcmpLc3ZpTEpZbFhTdlpjSzkxN3ZTejFSc24rbTZVSGZ5dy85RlBaMFo5S2ovMWNkdUpPCjJjbTc1ZWZ2bHB5N1YzTDJmbW5hZy9LMHFvcXoxWlhuYWk2ZXE3bDhvYjRVSkwydUJMODRXMTE0NWtFKytHNWFkY21SZTJjUFBVZy8KZUMvajRLMlVvTDJCQm9ickRkVmR6RFc5VENhNG1LcHVubXU4MFduRnBzVFFuWmxIL2VvdkNaN2Q0blhWQXJ0RXZhc1YvTjY0KzQrRwp4TDc3NFoyMTRWMTFFU2pndXFNbURBUmNBT3QwMVViaXdRSFVBK2dEQU5RUUk1azZMc3FiZWg0eFJQUVEwL1ZJMFBOUWxGNHNmVTB3ClBmVjdQNzVJN240WTh2RVY3L2ZtNUs2SGllMk5TWFhYd3k0YzI1VVVzWFhiMHBXMjJvdkEvNG5VcHErY3pGcXV3ZmhHbTdwbENuT3oKdSthTTZobVRteGRPZkxiTTdObEsyMWZyWnovYjl1M3JIU3M2ZDY3dGRkL1M2K3ZjRmVqZUhPcnhQTlN6T1N5Z05TS29MUm9ZS0xLVgpHOTNLNTdYR0N0cGk0OXJpRTBCYTRoUEVETnFMSlBUczVQR1crTU1xWThiS2ZQMzFGektqdnZoeTVGZ1ptVm5ha3orbUZYWWNPdnR5CjcvRzNCODkzSng3djNIZjY1ZjZUei9ZZWU3WG5KS0FQZUFUb2VaMXlFdWluTmVYVXE4UmpMWEZIMjJPUDNnaElOWkd6VTVLZnA4NWEKcEVLYlNSVFAvekVBU1p3MGpRTkkrcVA5VHdCSVVqOS9Cd0RCYTVHQlprQURTZEZIRENEcGZ4RU1LcDZwbzc0Zm1uamlxWlFMOFdneApaZ0wwcUpObmFOSm1hOUptYWxCbmdHdGdJQnhBVWdZYUFrQkFPZjhLZ0VUSytUeUF4UFRCOVlNMVBuK3J3MXlzUlZtc3g5aG96Z21jCnFzYXpVNHUyNGdUWktBV2FLYm5CZzV2WnUzQUFvYUduMktNb2hHSHZVRHhFQU9FTXNtQTdvK251Rml6SUlLd1VCQTgvaENOSVlSVUgKbG1vQVRhYXJ4c3hRNDg5UTRmOVZBRmt6ZmVkcmgxdFRrcWFyaFU1VERiRm11MDFseE5xcHV1SFZJOFFnUFBaS2tRN3F3ZE1tK2RpeQpvcDQrOUUxTm5NMGh5OUZwaWpUNUVacE8zbCtVWEpVcnVLNlFVNktZWHpZNnAzQnNDZHl4TldURzVlWXE1SldUOHE2UHo3NHNsMXNPCjdpZGxsOU15cjByZmlhS1lWVGEyc0dKMGNiRmNYZ0V0cjVSVVVDNmJXeUdiZTNGaStzVXh5a3dtVFg0c1UyWUtiZElmYjEzNTIwUEIKWHdQMjkyRGp2ZUM0VXhYWTZZdzFPL1BSRkRDc3FSbjE5SWdNUkt6NkRJcjROclNaQ3gwSlRkalNKVjYwRXRNSE5pT0RSM0FOSjVWNgoyelA4SE9ENDk4Rnl3aUo2aGtBZlZFQkM3ek9WNWtvTWVrLzR0aGg5aVBxeHBEbFowaHl4emUyaWFWOElRS0xmNU04QVNJSTdFbDkrCkhrRDRNK0luSlJ1aUpReUV0cmdQQnBBTGlwNldoNmFxazZsZTRKU0pIc1k2UVZNbWVobHBCK3ROaGdaQ1c5OHhBRVZqcTFjQzhVRFQKeEFINm1PMjFNZDBEOUNNR1VLeWxnVkFjMlBWc29jY0ZNWWVCcFNCTDR6aFRmZjVzeDRNQjZUL3ZTaTkxeVNtRksxOW5LdjB6cm5wbgpWUHBsbElFRVpJS1VoR1FYaGVVVWh1Y1dSdVFYUkJmbWNZc0xoQ1dGY2VXRjhSVjVTUmZ6ZDEvTzMzTzFNUFZhM29FYkJZZCtMRGg4CnEvRG9yY0pqUHhlY3VGMTA4azd4MGVvQ2xHTTFoU2RyaXRLcWl0SWZGR2ZlTDg2cEtzK3NLanRYVlhLMnB1UlVRK21KeHVLakQ0c1AKTlJYdGJ5dzYyRmk0dCs1cy9KMDA3clhUM3FjREYyeGJZMlRndm02V1k4VE93SE43bzM4c2luNTZsOWRleCsyb0ExNFJ2S24yZTE4ZgoybGNkMW4wM3RQZCtlRzkxYUc5MTROdjZ3SjdhTUpUdW10RHU2bkNRbnBxSTN0cklOM1hSSUwyMVVUMDFrY1FBUXFGMDE4V2c5TlJ6ClFicHJvbEY2YW1Qd1lCNFM5TmJ4cFlOZWhhZTNnZGZYd0gvYktHaXBGZlE4amV4OEZOSGRtTnhkdjd1M0p1WlRRL0p2OTA1MjF5ZjAKUGtvQWJIcFJGZk5MZWRTWmxDRGZUVHVYV3EzV1VwbW5SWExZUWRmNDBZamVQV05DOXhMVHRwV1duZXVtdjNSYzlHcm4wdGN1SzF2YwoxclI2Yk96MGR1ejFkK2tMOEdnTjlXd1A5KzJJOU8rSUNXNlBDVzNuUnJRTG9qdUVNWkJCY1VKTVF2R3RDWWx0aWJ0YmsyRGVIamo4CmhwZXFnSlY5dmh3OSttc1pHYU1Sc2kxSHp2ZWtaVDVKT2ZJMDhkQ0xoRU12NHcvMTdqbmRsblRzMFo0akw1S092VXcrL2pycE9FQVAKU0hQUzhkZUp4MTdFSGY0MUpyVXI4VWhEMU5GVldpdlZhTit3NlhBY3FUcHpJZFlYUEFSM3BKLzVyd1lRK2luL0JJQ0dwZytoRGZsZgpCTkJmRGhxWU91ak5wME1EWVQ4ZC95VlI0TlkycVgrUk9JUCtYSVMvZytSZlVuUURhZTRFUlNRUzBlTkV5a3cxUlh1aWdYQUFZVmdSCk5UNVBGQTgwUmNyNUh3SFF3STUzUEZNb20zUVlLODJVbld4VlVwYm9scTIzdkxaY04yZTJ5aGtyVlg5elpROEFJSVFlekVBN2pGazcKTVFtQlp4d05tZHZSVEF3VWJQQzdhQm9HcWdtSjU0S0pwcUtpeGlBMEF4Vk93RkIydFZKeXh4YXovR3lWUTdHRk1ONTBGVDZ1SHdRZwo4UjZ4VUx4b1JBeDQwazQxMkpqaU1VMDF5WklSTmsxTllNME9zVldLdGxOM3cvZVVpWGVXaVhiYVQxY0xBei9YVmkxNEdpZnVZcmJ2Cnc4WXQ1Skh5TExvY2xUYWFwbVBGS2lpUnlTOGNrVjBFZ0RLeW9IaGNZYUZjWHNtUUdWR1krVlZPOXRqQ3l2RjVGOGZubENua2xjSVYKcnJ4eWFmcUlBSlJiTGd2UWsxZE16aWlnWkJhT0tpajhzclIwVEhHRmNwaFFuaWJIWUNqSTAwWXVzdEQ2MU9PenpqSmttZ3BjMVVLUgphT3ZCWU1URFR2UVJUWHBIQmhMMytzQ2dwVEY4MnhldUgwTFZ4OStCNVd2UDlBSEVzYVY3MkNLdmlKYWlYSkE4c0tPWlBlMlpYbWpjCktYb1ZXdkRDOThtRGdCc3dLbmtpMytEdlkwTnpSc0hmRmdYVEQ3N2Jhd2VnRDhwd0FDTDJBT0hyWDZJbHNIOElJUEhpMXdDQXBKZTYKeEFjblN0WitwQm1FRENRR0VLejBFUFdqTzhuVlJNOG5VVkNscGVhQ05RQUY2MHowTmRVTjA5Y09FbTE5eDZhZkFnQ1pHL0t0VE9LdAo0Q3gzU0I5TVAzdHR6ZmVCUjJ1VEZQSGlWeHdCUUh3WWZSNHdrTGx1REdTUXZnQThiMk1jRHk1TXB3dENqOS94eWJtNjQxeXVkMWFGCjc3bEx2dWNydkRKTEFYMENzMkR0QjlkUFpGNUJWSDQrcnlCWFVKUXJMTTZKSzh0SkxNOUtxc2pjZlRGenorWHNmVmN5OTEvTFBuZ3oKKzlBUFdVZCt5RDU2Syt2NHp6a25iK2VtLzVTWGRqdnYxTDNjNDlVNVIycHlqdFptSDYvTE9Ra2VhOHBQVnBlZXJpazVWMU9TV1YyWQpVNVdmZHo4MzcxN1c2UnZwWjIrY1NMdTYrMFNGNE15bHlBc1gzYzZmZC9xbCtHUnpiV1JuQTdlemp0ZFJIZDMxSUxyblFYanZnNUMzClZjRWQxZjd0RDBMYkg4UjAxc1MwMVlhMFZBZTAxb2EzMXdwN3FrSUFodDdVaEwycGpzQVNpZEpYRXdQeXBqcTZ0eW9LQlZ5RDRPNlIKQ0dJTjRBNmV2Z1loeU5zYVBwNTN0UUk4eEdVeUZGUkErdFMwK3gwVVc5aWJwcGgzaitMZk52RjY2c0o3YWtOK3EwLyswSmo4cmlFVwpWcFVhZWIyUGhEMFBZOXNiaE5jdUh6bWZHcEhqdXVEbmJ6a1ByQlR2V3pMcnBxazFMelI1djJwVzM0WjUzYzRybW4zV1BQUDkvcm52CnB2WUF4NTRBcC9aZzEvWlF0NDRJNzQ0bzMvYm9nUGFZNEE1dVdBYy9IRENvVGNCdEYySUZJU0FoakVFZzdYRUovU2N5TnhnWUtJNysKUWxGR1pxNksrcy84eFA2MDNCZkpoeHI0eWUxNzRBRkN2KzQ5K2lMdVlLZmdVSHN5ZE0vTGhLTWdyOEJqL0pIbnNZZGVDQTZDUEFjawppdHRYRzVpOGFmSUtGZW84Sm5PaE9uVU93SUcwZGY1dkFBaTlTZ0pBSUZMdXdWOGlUUVFpZ0FicjUyOEdJR2dnOFMvd0p3R0UvOXZ4ClBpcDFyQm9rL1pjVVJYN1JSTkkzMkNyWW5BbUtjK0JhR1BnUmlyWUFRRU1hQ0FjUUZ1SnM5bjhTUUFQSytRY0FFcDE1aU55RGpUNkYKaHo1UG9YNXZ5TjQyVlZXd1dEY25mTU5QWndWM2VkdktWK2prMjZpRldLcjRtYkJkc0dMUEZ1QWVPUEtkdlF1dGkwRUQ0WWNmTW5hQgpFR2FCRFlvWjIzSEFRT3hkQXdaU3hwcUUyTUJBdnZBTWFOSFc5NmpwYW5CalBHNGd2Q1ZvT0FEWnFIamFxWVk0cU1WWXNZSWQxSU10CjJkN1k4NEZ3OFB2Z29MWm9PMlZmYXlWUFMzYXdIVE1tMHNtbHZ6L0tjQ0liRGpxbGp5R1RHQ3dQci9IWHl4Unl5bVNMS3NlWFZJekwKejVlbUR3cTl0SVNVazA4cktGTXNyaHlSWC9SVlFjSDR3aEpLWVprMGZjUUFLcFV0QkVncVkxd29scy9NSDFsYXBGQmF4RHA3WWN4VQpBeWFkSlVmNmlqU1duSFhrbTZjMXNRQWxNemdKaUR2RTlTeDBqY28vczVXQWNrS2dRckNxREdZZ0lub2dnMmF3d3JDZFg2TFJGbGkxCmhnZ1h5QnFnSDBBV0d5cnVsWjA0V1lBL0J1WnpZWTFCcU1ZajZwVVc3K0VpbG5sdzlId21oTDN1dUg2MmdWaFJkbGhSdHVNQVFqMUEKRWdDU2JJSWV6a0JFK2hCdWd3YVNBQkNnRHdMUWxFbnVSTzVnWXpFR0dRaG5rTDZXSHhGQVV6U2NzZXpVbnVnMFdYMm4vbVE0WGdNNwpDc2hQZjFLQWtYYW9hTis3N3NEaUZ6enRFUGI5d0tNT2dZRWdla3ozQUFEWm1PeXpORXhCK2tFQXdnekV0OURuZ1ZqcFJsc2I4aENBCnJBMWdTeEM0MDlJZ3p0Ukl1RFd3d0QvajZzNzBmTS8wNG9Eemwzek9GM3RrNVFQOUJHZVZobVNYaEdZWGhPY1VBUDNFNU9mSDVPY0sKQzdOaWk3TGpTN0lUeWpJVFN5OGtsYWZ2cmt4UHVaaSs1L0xadlZmTzdiOTI3dUNOOUVNMzA0LytjUDc0clFzbmY4NU12NWw5N3NlYwpNNzlrbjd5WGNhb3E4MHgxK3ZucTh4ZXF6MlhmVFN1NmYrN1MvZk0vM2srNy9kT3h1MWYzM2kyTHYxdkF1MzA1K1A0Vjc4YnJRUy91CnhiWTN4YjU5a3RoNWovOUhiVXAzRGIvalFVekh2VWlRcm52aHZWVVJmVldSdmZmRGV4b0Q0ZkpXRmJlN1Z0QlRIOTNaRU41Ukg5WlcKUXl6OFlEVWVRSnlxS0JCd2dkSmJFd1B5cHBZTGdqTUZEMTdzNmE3alNhZW5udDlUeXdQQkN6ODRqL0RuRVpYZU5JcnlvVnI0dmliMgpmVDIzdHpheXE0YmZXWlBTM1pEUzgxalFXeU40V3gvM3ZpSHBiVU5pWDMxQ1gwUGNtMForWDVQZ1kwM00yN3JVUDE0ZjZuOGkrSGd0CnZQMlk0OU9BbVMvWFdUeFphUHo0VzdPWHF4MmF0eTVvY1ZuUjRyTytKV2pyaThDdGJZRTcya09jTzhOY084TTljQVoxeEFTMmN5TmEKZVJGdC9LaFdRUlNRRUdCUVM2eWdOUzd1UlZKQ1Y4cStyajBIOWkxZGRtTGwydGFrZysvVE1oN3hFNXY1ZTU0bTdPdExPUHdiLzNCSAo2dW5IdXcrL2pqMzRLbVkvUWcvSVN5R2t6elBlL3VmOEF5MXhSeC91UHRISVMyd1JIblhXVzZWRW1jdGlMOWFremxjbXpVQ3lrYmJPCjN3MUEwdTNQbjIrQ0h1SWRCZ05JNmlXU1JDQUFTRW8vZnhzQVllOFBBYVNpT0UzQ1FKaCtQaFBKZjZuMHRubGlOTWlMSnRFV1lOMC8KV091UDRudzFoUmtUU0hZSVFMaUJQZ01ncUo5L0ZrQ0RsUE41QUpHL0FVRW5Qb3ZuWGNEb01yOHpaRG5acSsxZlkxNXhKT3pXM2RJYgphWUxpYmRhWHBrNEl0MVFKTU9XNDRnQ0M1UitXTTF3VUF3eUMxNktEZjBTQkIwTi9Mc2hBNWh4bjRCN1VINDFkd040Z3JDc0lIZ2tOCnJJT1d3QkI2VUN1MEdFQ2lNNk94QTZPRDBUVThTMXJaejFiVmIrYkUyS2xLSVZaSzdnNGFIamFjWUV0R21LMlNEOGhVampjS3VBYjAKQWJGVjluU1lHRzZsNUcvSDhWdWk1L0w2RVRjMWVaa1NmUXlOTklwRkc2K2dxYTZ5TjVHVFZUSW03OUs0b2tyRi9EeHArcUF3c2tySgo1d3NVMC9QSUJjWHl4V1hqd0dOdWtWeDZyalI5Uk1rcmdBREtxNkJsWFFRdkgxOWFxSHprc01wR1Z3cERscTVJbG1mSkdLblJQM1dGCjhmMGpaN0RENXlrblRHZUZnWUJyaWN4a1FSVUJBTUVON1pobXhITk1Cd0NFRElRQVJGejV3Z05YdnJES0RRQVEwSTgxZFJjVzJJZ0QKRjZTb3U2eG96dFowRjJLQVA1QkY3Qmx1SUxoTElKNVFCcFFERjdhczZKTEJscnFjOFAzdEZ0VHRGdFN0b3RDM0VTdEEwRUNFSnVpcApWR2R4UlBxQkFNS0tPcElBd3I5RVZSK1Vmd2dnYld3N0dBRTZjRGc4RGlEaVFVRUlRSHFUZkhVMXZlQ2VKaEdBZG9Mb2FPN1NuUVFQCkZ0TFg4amJVOWpQVURqRFZEVFBSQ1RjMWlETFdpNEJGSUhqMkR4ZHIzRUdiM3RIQXI5MldSb0JCS1ZOTlV4R0FBSG9JQUJJZ0FKbnIKY1MybVJOb2F3Z3FRcFQ3UHhqQU9Xd1VEOThUYjZDYmJMb3gzUDFudWxWZnFtcGJ2ZjY0aUlMUE1LeWMzT0tzWUpEUzdDQU5RWG5SZQpIdEFQdHlCUFdKZ1JXNVFaWDVLVldKcVpXSFkrcWZ6YzdvcHpLWlZuVXk2ZTJudjVUT3JWdFAzWHpoNjZubmJrWnRxeEg4OGR2M1UrCjZWNVd5cjJzQS9lelR0ekx5THB6dnVLbnN6LzljTzcrdGJUWFYvZSt1Smo0YTJsTVUwRlFVNEhYa3hMUDE1ZDlPcS83dDkvajlsV0gKZmFwSitMM2hRTnZkbUs3YVBiMDFod0IzdXF1U08rOEplNm94UUZTSEFObThxZVYzUHhEMDNPWDFWVVgzM0EvdXZ1LzNyanJvWFZYWQptN3NSN3g1dzhlNmZ6cHFJenBvb2JHMEwycVdqTHBxWTl0b29GQnhHUkI2QlFPc01GZGp1STI2Q0pxYXZLUlp3Qi85dVo0TW9QWTF4CmZZMkpQWFhDdmdaKzMwTnVUMU5NenlOdVcyUGttMGE0VEFhZTc2bUxnNm5udjJtSTZXdU02VzBLYW0rSWIzdVc4dnF4OE0yend4L2IKVDcxOUdkOWJGZjQrM2JkRHVMRmx4N3kycFE2OWkyZThXNy9rcmN1NkR1OU5MUUhiTUFQdDdBaHpiWS93YUk4VUdhZzFKcVExT3F5RgpHOTdLaTJ6bHh6UUxZbHFFZkpEWEFzRVRic3p2OFh2NlQ1MStmL1Q0cDlqVUZqNmNLdC9LM2QxKzZHVHRCcStmREpjMis4VytPbmIyCnhiNVRML2tIbndrUFB1YWxQdVdtQXZjQS9UeU4zdmRLY0tneitkUW05bVNoalVOSDRvbGdxNjBxakFWVTJvSUo4ck0wNkVOd1IvcVoKLzBrQUVaZXVpSkdtenorSUZLZUlBQ0ordEtQN3BVRWdCdEJBUVdWQVAzOG5BQ21UcGlFQTRRYjZNd0FpZGdpSjZZUCt5WkwwRVFHSQpNbWNpeFVHTlpBM1FBMDlQVUppbklqZERuUXlYd1A2akFCSy93eUFBYWRLR1BRZUlBQ0I4NEJlYythWEgyR3pBWGdlNHMxZ25JMnJqCnpmVDRHOEx0bGQ5UHVUVjFRcVNsY3FBcHh3MWIvTnFLQUdURTNHWEtjUWJCR0lTR1hZaEdYaENnNDBpTUtYc3JqQWhBVGhCQVNpNWkKQUxsakp3WjV3cTRnYkNnWWZHUUZXak1EUUtheVJSNmFNU0VTWkRnQTJYTGk3RlRDckpVOHAwN1lEcTVOcWVDdEFod21oTm9xZVlGTQo1WGlpZ0d0NE1MU3lOd0NRRlNmTWhPbmtvT1pzcGVCemRzL092bmY4U1dwa2xxSXNrL0lGVzNIMGwvcW0xTFBacEl5clgrVVcwWVlICmtGek9sZkhGVjBibEY0OHZLQ1RuRnBNeml1RGhoMFdWa3U0UlJ5Ry9ZSFJoa1d4dWhVTDJwVEg1WmZLNVdXeXZnSEZ5a3pSR2o2T1QKUjhzcHlhUnlGNzl0RHB1aEh6S0RIVDJENW1mUENIUmdCazFuaDh6Z2hPS0JYekloYnVDYUZ5Y0lWWFJtc0FObmNVTEU5WjVCNjE4ZwpDRUJ3ODVmNCtHYlU5WXdBaE1vL1NEOG81aFJBa3gwSUs0UGdRbkVDL3JDbDdiS2pPNE9nMVNob2thSDBJd0VnOUE0b1FEbFdsTzBnCjVwUXRvdEMybXRNM0R3Y2dHOG91UFBqNkYxd0NRNVRCRnJZZ2VyQSs2SUZERWNWRm9JRmxMK0wxb0dpNEU0YW5Fb3RBb3EzdjJEUHUKZVBTMDNFQXc2OENWTHdBZzdZbTdRUFMwMEZxWW05NGtiOFBKUWFhNkVhWTYwU0JHdXFFQVFIZ2R5RVF2eXR5UWEybk1GL2NBd1RNUApzVG9RTEFWQkQ1bkVtMk1uQTJHRklyampYUVFnckE2RWxzUFFOZnJTeGpESnlEUmljM0NtZjlwbDM2eHlqL1Q4b0F1bGtSY3FZZU56ClZtRjRibEZrWGtGMFhvNndJQyt1TUplWGt4NVNrY3N0eTl4ZG5MYXY1UGllOHNQSmxZZjNWQjVKTFQrMjkxTHF2cXRIVTI2Y1RMaCsKT3ZGNjJwNGI1dzdjUEgvd3h0bXNtL3ZLYnU3LytXcHE0NlU5VDhzVG5wZnlucFpGUEM0UGE4aHhiY3gzZjFqczlmaWkzL01mUXR2dQo4N29hNHQ4OFN1NnFpZTJxRWFKMFZnczZxM2tvcUg0am5hNEhrWGdHUFY4VGdRZmYwZ1VqN3VtUmFPdEJsWnNoSWtVZkVZQlFIV2h3CmVoc0V3NlkrZHNpOGFZZ2JNcjMxOFhqZU5DUUFQTDF0U25yM01MbTM5Y0M3Vi92ZjFpVjJsQVU5MjczaGlmdjgxK3NjdXI1ejZQQlkKM2VHN3ZpTmtXMmZvem83Z25lMUJMdTJoZ0VFK1BZQkJrZDdOMFQ3Ti9NQTJRWEFuTitSTlpQQ0g4TEEyZmxRYkx3YjJTdk1GclR4aApNeStobVpjRThpZ3h2algxeEs4V3U2cGxGbFNQWHY3RTBxc3Q3RURub1RPdkV2ZlhSc1hXY2VPZkN2WStpa2xwakVwNXUvdnNnNTBSClgzenhsUjJkMFJOL05tU3FveWJXbE1xa1RaL0lFUEVGK1laSUgrSXplT0NkZjZKYU16aXdSWGVvU04vNXo0VDQrL3laMzAyYU9DTG8KRFBQYVFRQWlXb2VJSVVKRTlSZ3NROVJwaG9nVWNiQkkwNG9JTE9uZ04wam9aN2lHNktGcVlBUExZZEpSSjhPdVo1UUpwT2tERVFNSQpNOUFjOGJFOWM0azd2MFRRRVE4NnhZUFRCL0VJTTlBZ0FBMWErY0xvZ3dlZEJrUThFMGlUT2hjRXRUeWpsUzlzM3ZzeW9COXQ2Z29kCitoSkQ5bG9MRlkvcG1zbExqWXJXV3Q1Y2FsZ3lYZjJZcGFxN21aSUw3QUZpT29HZ2tnK3MraWpCb0IxZUlMQ29Bd0FrVVFGaWJ6WGoKYkFNeFY5cHV6dGtwWGdKREFBS3YzV21odE11QzdZcDJoNkY5OHZqT2RsdTJyelhEQjZxRkZXWW1IN1ZJSit6T2haZEpqdmx3bEpoSwptQlhiejA3WmY0WjZDRHc0a1IxcXo0NndWZzIzVWdrQlZyTlU4Yk5VOFFIL0VBc1ZOMHMxOE9ZK0lGWkt2dGJLZmpZcS9pamcycHdlCllhY1dic254czVxd3dZb2RNVTB6c0w1NnowOTN2Mk1wanFOUVNCUzZIRnR4aEtLQnRzYkJ3NlNDeXBFRnBiU0NZb1dNWE1XczByRjUKbFhMNVZ5Z1hTc2taQmJMRmhkTEVRUmxYWGtyS0tTSmxsc29XVk1nV2xKT3pTMGc1OEg1bWRzblh1WG1qQ3N1b3VaYzU2U1djWGI1awpSWkl5UlVhUlBKS2h5TEExcFgxNkwwandkWjdGVHJKaE90c3F1enNvQncwWmU2VkFkR0hIQ2JCaHdyOFZlQVRYOXJRZ3VEckdGamhRCm8reHBFYk9WWTJZcGg5dlJBNlpSNEp4VWU3SWZNSk05emMrVzZna2VIZWlSY004NXRnaUZhakFBSW1hMFRTRG10TzBnV0hsR0ZMZ3kKQlE4a0ZCMU9pQWZicU9VMHNBUTIwUG9qZVhBek1jZzNWdFN0SUphVUxTandTMHhGbG1TMEZvWkdnTzJ5Z2V0eDZQQkRxS3VwVkdkcwpMY3pWanU0bW96M0pCUVJERExFVXRCMWY4OEtKQSs4VTcvWkNyeUs4MWhrZkZrWmM1MElBUWhkWUVRaVdpeENBQUgxdy9lQUdBc0dlCmh4dmpEU2I3R2swSk5ORUpOOUdKQU1IcGcxYkJUUFdqSlFDRU9vRVFnRUFzVFJJdGpPTkVod05CQm9rclFHTDlTQURJWERmU3lrS28KYXhjZWVlYTJUMXFoYjBaV2VHRzViMXBCU0E1TWVGNStSRzV1WkhZR0x6Y3p0aUJEa0plK3V5Zzl2dlFjditLTXNPTEU3ckxqcWFYSAo5NWVkMkZ0NU1yWGt5TjZLWTdzdkhVMitjdWpBMVgzcDEvZFdYRSsrZVMzcDU4cTRxc3E0aDJWeHo0cGlYdVNGUGNuMmFjenlxTXR5CmZYNHg4UFgxOE03YjNEYzE4Vzhia3NESGZFZXRzUGtCZDBqOWdCQ2hNMXorR3dFMGZDUUJoQXpVMVJnTDh2YlgzZjNQRC9VL09kcC8KWjNkZnR2L3oxRzNkRytaM2JGalF0dm5iZHJmVkhTR09uZEd1SGVIT3JRRk9IUUhPYnlKOCs3Z0J6ZUZlejhLOVhuSDlYd3FDbi9NQwpXN2poTGR5SWxwaW9scGlZWmk2dk9VYllIQjBIOGpveDluV1lzSDdpcXFlalZ2NHF0LzYyN0pMckUxWStuT2ZWRW51a1pmZkplbjdLCmF5L2hDLy9FeHVDRS91UjBMNE9wTWwvSmZEdEJvNHQ3MnN0OE0yejFVSnlqekppbFFwc3BvUjhjUU1NeWFCZ29EQjlwK3Z4L0FQMFgKQTJpUWZralQxVW16cEFHRXFqNy9KZ0JKbG44a0RTUkdFdERQSkpxbyswY0NRR2pvcVNGcm5Ra0gwQ1RRZmtMeXJFbUhwbW5zdGxTSwpJdW9IQVFpdGZNRk9JSTZvb1VjVXBqTUdvQjFER3dnVEQ5RkFLQ0lBY2R6RUFQSkVCL3hZTXdQc1ZEeHMxYmRacXpnNXFBVGJzb0lpClYxM2ZZbHBreWZHM1Z3KzFWUXVacWhKcXF4cGxxeHpwb0JabEoyNlJGblVMY2NMZzRkSHNVQkFiOXE2cEhHY1FXeVVYWXV5VlBhem8KM3RiczdUWnNKMXRsSnd2R1JxY2x1OTcxSnB3NnNKYkNsdUdRRkttS0pDcUxKbXRrcEhUNHlQaUN5aTh5U2hSS0xpbm1GWkx5aTBibQpGSTh2dUVUTHYwak9Iblo3dkVKV0FUV2ptSnhUS2x0VU1iYXdncFJkb3BoVlBLYW9XRGF2a0ZaeVpWeFJwV3h1N3NUdHZvb0txcU9WClNXVEsxOHFNMGJxcWpPNGVqN3VWc2JhS2JnNVVYd2RhckQwemNnWXphc2pNNU1CRGQ3Q3RXK2pJWmo5d01aWGlNVmNwZERyZHg0SHAKTVZzNWFMWlN1QU05MEo3dU8wUFpHN3poZEpiUE5KWW50bC9kWjRhU216MTdweVhaRVRYaVdOR1JnZUJxRkt6RXdBd0NFTmFlUEpBaApHRFNvaFFqcUIxV1NwT2t6SklEUUJRamhwNGhlQzM0OVc0YXIrSVd3TTBuY0N1MEtJZ05QYmRaeUZWTm1ZS2xMdlBnMXdCMEVGM3paCmkvZ2wxdjRzV2ZzaFJyd0tOdEEwRGF4RDFBL3lFQ1FSMXZxRDlHT3NFMlNpRTJvOEpXU2dCd2kyUHlQOThGRmRSMm9MMkI0YjB6MEkKUURDWWdkQmlHWkU3K0lvWWlnVmNEZ3ZUMHdyVE0rYk8vVDQxNnZ6bGtPd3N0N09uZ3dyS3czTHpRS0lLY3JrRnVkRzU2Ynk4YzdHRgo1K09MTDZRVUhFc3VQcGxZZW1wdmNkcis0ak9wSmFjU0tvNUZYejRzdkhZdzVjckI0NWYyNVpmdi9xRXN2cjRrNWxsaDhJczh2eGVGCkljL3pBaDlsZU5hZjIxbHp6ckVoMS9uRlJiL1dIME43YStON2F1SkF1cXRoeVFmampnRFNwMG9BQThRalNneElaMVcwTkhla013aEEKMVFNaG9xZTdob3RIMGpwREJpNU9EUkhZY2lUMXBCUmkvcFVNQWhBS01CQThhN0ZCQ0F6VTFoVGY5bXRpNTlPVXQ4OVRQN3c0OU51dAoyQS9wQVgyUjY3dTNMZ0FTNm5CYTN1Mi9zUzl5UjFlc2QwdTRTMnVnYzIrRTE1c292N1lJN3hmUnZpOWlnMXFqQWx1amdsdWo0T2xCCkxaRlJMWkV4cnlPNU1QSFI3YjZSVGV4dkg0MWUwcVM0NmZtNDlkVWpGdGZJTG42a3RmSHAwcENPeExPOTRRZWZCKzErRnBYNkluZ3YKWmN3SW1kRXkyNmNZZDRXZjJLYTNScG1PelRxZ3oxV216WmIweldBQURXR2dZYUF3ZktUcDg3Y0drT1Q3RHdlZ1lTS0JtLzh0QU9FRworcmNCU056bVRDejU0Q3RmNGd0UitZY0lJT2lib2ZRekpJRFFFSXpCeTE1RExJRU5HSWlnSC9CYUhFQ29BUWhOZlVjQTBtZHNNR0N1Ck4yUnRnbWY4QU1wd1BNMlYzVTJWZHFKT1ozUU1ORG9UQ05zUER4OUJCdTExeHdCa0p0b0Z0aDJmazRvV3Z5VGNnMjhUUTN2aklZQUcKRGt1RXNWRCszcEx0YmNtTU1hRjcyV3Q0V1ZEOTU2b25UMWNPdHA4WWFLMFVhc1dLZGxDTG5UWXh4bDQ5RER4T1ZZNlpxZUxsd0hhWgpvZUs4YUlyM0NtUGZsYVllSzgxY1YxdTZyVGIzbGNnYUN6K1F0ZFplSzR3Q3dBM3JyS0tXR0RxdG54cXd3aWpvekI2bkQ1LzRCMk9tCk14Z3lIREtETVhvc21UWitwSkd4MnJFelgxejhTUjRZS0N0M1RHR3VYRTdoK0p5eTBYbGxDaG5EVm9ESVdXVzAvQXE1d3BKUlJVWGoKODB1cFdXV2t6TEp4dVpXUVBubWxZd3Z5MlRzOUtJb3NWU2FRMW1nNU9rbWJwdExkNWRIN09uNmo3YnIxbGs1ckxiYXNzdzVlWmhTNgozanhzeUd5eGlkeGdFYnJXSkJCa25Wa3dlRnl1NjdWb2tzdDBwaXNjdjBVUGduTW42RzdUMmU0ejJMN1RtYUZ6MVh5bmtyMXRxZDUyCkxDY0hqcE10M2N1TzRUMU5DWjZ5TXhWcjdzRlhxUkI5aUFBUzc4OGFJZ1FEaWVoRFhFZjdUSER4NFByQjE3eHNSTE12ZGlEOVlBQVMKMVpORWZkbURBSVFjTTFET0lYYjhpSHQ5c05vUFVUejRTcFlFZ0NSMnYrTVN3dlRqSVFFZzNFQzRmbUEwZmZTMVlPc1AwQS9NbEJBTQpRTUhBUFVUOVdCb0xRZERoaDNEd0JhWWZXL085K0RaNEJDRHdMV0FnQUNCVGZiNjVIbGJ5TVlpeE5PU0NnQXN6dlNnVWMvQ2VVMEtuCkdzY0NBK2tiQjJ6eFB4V1ZYdXFYbWVsVGtCR2FuUkdXa3htVmw4RXJ5QlFVcEFzSzAyS0x6c1FWcDhVVkg5NmRmelExNzlTK3ZGTkoKSmNmakt3NG5WZTdiVTVtU1hjb3JMeFhjTG9sdktCQSt6b24rTlNlMEtTZWdJYyt2OGV6MjZ0T2I3NTNiWEZmbzh2SldXR2VkQUh4NApkOVFMT21waTI2dUZiZFg4MWlwZSt3TWUzTVpWeFpWS3REaVMxaGt5LzVjQWhLTkgwa0RWc01PNnUwSFEwUWczaTdVM3hIVTF4SGMzCkp2UzgydGZkZHFENytkN2V5eEh2a3JlOWRWM2M0N2lnMWVYYjNvQ3R2VUdPblVFN09vSjNkb1c3OVVSNDlVVDRkSVY0QVFtMWhmdTIKUlBpM2hBZTJoQWMzaDRjMWgwZUF2TmpOZTdiVHQycjhqQ2E1RlZXMGRTOUltMStTMWo4Y3U2eEtaazY5N0xlL1R2ZXMzUkxaR0pyUwptWGptNUpLdDhCQkZXWmxvaXpudHdhZVhhaXhsTWVhcE03OEJuKzRxNGg2Z3p3Qkkwa0IvQWhtREkwMmZ2eStBcE8vL0Z3R2tJamFRCmxIditFWUNHaWZTZG92c0p2d1B4ZC82ZkFaQTQvemtBRFdVZ3dqTnd5aGdHSUxnRlROd0JqUUFrbXZ4RjI0QVo2SHNEMWhyd2FNaGEKWjhUZWFLSUVoMkFBRXVIblFlTkJ1OENHQkJEeURXRlEvRFlUMWhhSi9mQUVBRG1EV0hKY0lJQ1UzTkZ5bUFYTHpWb3AySWpoYWFrYwpiS2E4eTFKOUkxd1VZOFhZc0Z3YzJMSDJuQmc3VHBRdEsycTZhc3kydWNLRHZQajg5SWphS3VlTzFvamZQOFovK3NqOTdiZXcvdjd3Ci92NlFqNy83L1A1N09NaW5UMkVmUDRhaWdHdVFkKy85K3Z1alB2d1crUEZUOE8rZmVMOS9GUHpSSHdidS85UWYwditXZTVBM2c4NlIKVWFTTVZWS1FIVWVURzY5dndEeHhYajR6WDZIc2lteDZIaXUvWEtHZzZJdTh2TEhGdy9iNmpNa3ZseTJxR0ZsWU9LYWdnSlJmUXMwcQpJV1ZWamkrNG9waHpjVXhlcm9xSG41d2lqVWticFVUN1dvVWtxNjAyb2JmWDk0L2ZRMy9yVHU3L2d3ZCtzYjdlaVBlL3UzN29EL3JqCm84K1ErZmplOTlNSHZ6OCtCdlIvQ2dRQkY3Ly81Zy9TK2p5Zy9xN241UnpQNC94ZzcyV2hDelZoV2NpTzVtRkxEN2VrZURtd3NPMWEKZ0VIMEFHQWdTQXBzM1FydmNRWUdzZ0FHb3U0WURrQm9pV29vQ1NIOTRNU1J2RUVpK0xJWEVVQTI5TzBpR0EzOGxJRTZFQlpZWkVJQQpRdWNNeWVBaXdaZTZ4QldnZ2VPZUNlZ1p0SXlGNjRjSW9DSFh3cVFCaEE4Q0V4MEdMUTdRajhGa2Z3QWdpQjVNUHlDd0RxUWJhYXdiCmpVMjlnR08vQUd0UWRRZXZBS0h5RHdJUWlLVkpzcFZwa3JWSkVyakIzQ0FPcXdCaE1ZaEJBZWd4Qlp6U2pVUUFzdGFOTmRlT3NOQUoKTVRNSzBUSHg5aytxaU1tOTZKMXhLanpyUWtUVytZaXNzekU1YWZ5Q3M4TEMwNEtDRTRLQzQwbkZKK09LanZNTGo4WVVIK1NYN1QxVQpsbHhZbFBCVFh0eWpIRzVUVm5SalZsaFRkaWpRVDJPR2Y5VnA5enVISGUrbmJYcGM2dGwxbDl2WG1OaFJGL3VxaXR0Y3crK3NqMnQrCndBVUJBR3F2d1ZhNHFubGk2d3h5RHg1cDdram5Yd09RWU9oSUtlZWZCZEJBUmVmUEJCY1BiaUNVZDAyd0FvUjJuTDF0akgvZm1QQysKTHU1dGxlRFZFMkZiSTcrM0tmN2RxLzF2Mmc3MlZNVjJuM0xwQ1Z6YThmMmNYc2VsZlY3cjNnUnQ2UWh4YkF1R2pkSmRvWERQUEJhUAoxbER2MWhEZjFoRC9scERBbHBDZ0YzSENGOXY4YTJXbnZ5Q3RyS2F0cVJtOTVDRnRWUzE5NlMvSzY1K09XSEpIeHVhbitidWVCZTkrCkczMThqWWJSZUprdnZwQ1J5VnZtMU9SNXlJNDluODFZT0lHMUVId2lxdElYRE1jZDZXZitid05JK2s3UkZ2cGhZVEYwMEw5dUtOeEkKMDBmNkhnSm9ob24wbmFMN0J6dnNQd2NnQ1FaSkEwanNsWUd6ZjRiVWp3U0F4QmtFSUt5dUE1OGtCRGI2Z0JEMEEyOFc2WWNHcDU4TwpEU0Q2ZWozNjkzcjBOUUJBK3N4VmVveFZ1clIxdXRTTmFOZ0ZHbnhCelBBQTJpVUdFRG9kVVdRZ1k4WjJ3bW5SQTNVZ2M1YVRCWHNuCk1oQVdOMVFUc2xKeE1WVlpiOHB4TldhR21DbTVXYXQ0MmpBaUhOaThHZXpJeFZNaVFqYkVYTTdsZG5jQ3hEaDE5KzY4ZTN2amdSUVAKNSsyejUwN1RuR2FsYm11bWJqU1paYUt0T3QzU3dIVEtaQkFUYlMzanlaUHdnQzhOSmlrYmE2c2JhK25vYVpITWRmWDBKdWdZNlZETQpKMC9UbjZobFp6alJaaUpMbWNvaVVaV3BwUEVjMWdnTnhnaVdxUTM3elBHdjhzczV1YmRrTS9KbHkvTGtpdkxIRkErNzNYMU1Qanp3CmNHeHVNZENQWWw3eG1KejhVWVZ3a0NvanQxemROWWhDNGRBWm8rVm9NalI1R1E1cGpKRUsyMlN5aG9HbWt0RkVOU04xYlNNdEZmQ0wKbVdoUDA1dkNNdGJTSERKR1dzcG1PaE9zRERSdGpMU3NEU2VCUnp2VEtkTXQ5ZGN2c3ZQZk5mZk00ZS9xcXAzNis4UCsrQ2k0Y3lQdwpTTnltYjAzWDJhbHR0S0J2czZKdnQrUHNzbWQ2MlZDOGJTaGVxSGxacEIrYU13RkFjQ0VNMzU5bEtlNUt4aXMzQTR0VzZGdGkrZ3pVCmhBYUdlUTBSQ1FDSnlqODRnQWdHUWdCQzIrWlJoUW5yZzNZRytyRm51TXNndm9oQ21QT0ZkbnZocC9zZy9VZ0hXVThSb0hZQUFJQUEKU1VSQlZBZHZmLzRNZ0hBOG9VaTRod0FnV0FHQ0Jwb015ejl3LzVkdWhPbkF1Yzg4YzBONGRDR01VUUljN1k0QkNPOEJJZ0lJR3NnNApFZDFtRHNlZ1lxYy82MGVqQVBjUUFXUTZKZGJha0d1cTdXT2k0Nit2RTJ4cUgrRVpseTNJS2VibXdMNGZidTY1Nk93ei9MelRBRURDClFnZ2didEhoNk5KRDNJcURxZVdwT1FYSlAyYkZObVRFUExrUWRUODlxakU3NW5GT1pPTlp6N3Y3Tjl4T1hmc3diVWRIc2QvYnUveSsKdS95ZSsveXUrL3pPQi96T2U3ejJPekVkdDZNN2F2a2RWZHoyQnpHdDk2TGE3a1YwUElnQzR1bXA1bmJlanhJblFwUUhZVjFWNGRMYwprYzVnQU1HMU14UWllcnByK0hna3JUTmswT1lzcVhUWHhrby9LZTJZZnoyU0Jxb1R2bW1JNjJzRXo4ZDExUXRCNFA2eVI0bS8xd3ZmCjFnczc2MkRKQ3FqbzQ4T1VkMC8yZEQzYjh5RS8rSG5zMmw4ZFozVnRtZC92dXZhanorYld3TTFQdzdhMkJ6bUJ0QVh2YWd0eWFRdHkKYnczeWJBM3liZzMwYlE2UGVPTWUvcFEyLzljdlovOUtXdjU0L0xKSDlPL3VVYjZwVmxoZSs4WHNKNm9ybTN5RXJ3TVRXMTFpTmNlTQpCL3BSazVGNTRoSlh1Q1pLbHp4ZGpibUVSWnVqVHArcklxV2ZJUUUweUVCL0FobURJMDJmL3dJQTRidlBobEhGSUZnUWcvOERwWEFqClRaLy9JSUFJdi9PL0IwRGl2aHc0Q21Ody9pTUFJbGhIOUx5RWdTVHFReGlBNEM2ellaZkFtS3VCZmpBRGZRK3U5UmxyOVdnYmRDbGIKRFpnYlFReFptK0RxR0hNalZpV0N6eUFBaVE3MUVUZEJ3MkRYZUlFSE54QUFFRElRRGlEVUZRUUFoQWRWZ3hDR0RDa3U5dXJCVnFxKwpSaXhIRTlZV1k0cTdGZE5qa2I3TCtZTWJuamNHOWZkSFY5M2Q2cnZMekdxeW1qWk5SV204QXBra1F5Ri9RYWVPWk5MSE1tbnlESW9pCmpVU21LVklaTkZrVU9uVU1NVXpHVnlUNTBUU1NQSU1oUXliTGNKZ0taSVZSSkhsWkNuVThpekpTanZhRm10d29UZkk0UmVhWFRBVVoKcXZ3WEtuSWp4eHFaVHp5UktaTmZNYjc4c2x4dW5seHVqbnpPc0V0Z2xKeFNhbDQ1TmF1TW5sTW1tMXZ3UlhIKytNcGloZXhNcGsvdwpPSW9hbFRTR1FmMlNSdjV5UEhXMENuVWNSKzRyUmJreFRKb2lteW5MWU1xUUtES0s4Z29reGZGVXBneWRJajlrYUdSWkVEcGxMTG9BCmI0aStwTXQvelZRY3FVd1pxMHlXVnlhTnREZVhTOTA3dmIwcitPT25xUEs4Z0swTG5lMDVRUllrWDZBTlM4ckdxVFIzVkxrQjlNSDMKWjZIYWp4bDFDOGpBQm5YQ2loV3hiRFBBSUdLQlI2d2xERWFTdFovUFY0QWtYbXNqYnJKR0FFSWI5UWNCQ09QTElBT0o2MENTK3NHYgptdkVRWk9NaDNmR0RNbndUOU5CQkl6SUFnd0NBZ0g3Z0VwVnVqSmt1ejFTZkx4cjRoZEZIS3FMVGdOQnhpQ0JXcHJ1aGdZeGdCUWdBCkNGSUpNNUNaWGlRS2NCWFdZUTErUktTNWZwU3hmb3lKZnFTNVhxaWhWcUNSZHVpVUtkNkdWdTZoOFFWaDUwN3pjaklFZVJuY25EUmUKN2ltc0FuUWNSSmlmc2k5L1QwYis3aCt5RWgrZUZ6NUxpMjVNQzcxL0x2RFIrWWpxbzU2M1V6YmRUZjIrSVczcnN3cVA1cnNoclUzYwpyZ2ZjN25zeFhYZWpPMitIZzNUZGpleDlFTk5idzJ1L0c5VnhMN3J6Zmt6WGcyaWduL2I3a1czM3dscnZobmJjQzBkQjlNRWp6UjNwCi9GOENFUDV1RWdEcWJvRHBhVXlBYVVyc2JJcHJiNHB0YVJSOHFJTUFRakI2ZzYyZ2RUOUs2bnk2dTdVekZmRG9RMGxRRDI5ZHMrUGMKNXMxek90Mi9leHUyclQxZ0s1YnQ3ZjVPclFHN1d2MWRXdjFkVy8zY200TzhtLzBDbmhzc3JmblM1dkg0YjUvS0xtMlNYOVl3ZHZFegptVG0zbUF1ZmJnNnBqNHg5N3NjclhySjlISndoSnVPcmE5WHBtc3kzM2FwQm5xbEdXOEptd2g2Z0NkU0YwdU12aGdUUWdJSCtCRElHClI1bytmM2NBRWJmZi85TUF3Z3hFTklvMGZUNFBJTHNoSTMybjZINHArdng3QVlTY2dUT0k0S0VCQUJIV3Z5Q0FjTlpJMCtkUEFtZ1MKYlI3eFcwUURTZWdIL2hRQ2dLU2JvSFVaUy9VWXE3QTYwSG9BSUFQV2FyZ2N4dGlrejFpSDlRYkJEaUZ3algrSjJvQkV1OWxSMks0RQpBTzNFRFlSZGlNby8rTm5RQXdaaU81cXh0cHN4ZDRBZ0E2RlNrTU9FVUFPU2p4bkxmWnFXQjNpY01jbnBJRC80WGRlZW5qZDhJWGYyCkZOVnhsREdqT0dSWk5uVUVteUpIVjJDd2FRcE1paHdEQ0lBTVdETVNoRTRad2FDT1JENGdCbGdCaEU0ZHJjU2l5bzhiQWJRRU1NU2cKanlETGtkaXMwUXo1a1hKc0VvT3FRS09NVUpTVlVhZVBWV1FyTU1qanliU3ZkQldvY3VaVG1lZlQ1SE5MRkxJckZVb3VrVE9IblJLdgprSldubUZVc24xNU15cW9jV1ZBOHRyeFE3ZHhwRmE5QUVvVThXcG5FSm8xVklzdFNTQ05aakhHaktGK0JheFpMZ1V6NW1rU1ZvZElVCkZCWGxPY3JnTng5SFU2UlRLS09IREpVaUQwSWh5NEVRcnhuczBWVHFXSUFuWUR2d0IyR1RGVmp5Wk9aNDVrSmI4M3Yzblg3N3c3c3kKTjJTVjdVNUwrbVpnRGh1S0Z5cmJFSFo3aVpxZ0VZRHdQZXJTQUpMZ2l5VjVHd3BCUlp1eERISVNNZElBd2tKb2lDWVlTTlE2alFGSQpmQm9RYkFPQ0FDSXVUdUVBRWk5c1FhOFE2WU1tZWFFUUdVU0VFWTRlL0ZWaUZRMXNnNWRZLzBLelVRY3l5UnM3QVNnQ0Rhd3cweFhBCkpoNVUrOEhFZzJvL0JOOGtFZ3dFaTBBSVFPQjU3RnZZVGpGd20zN3NjQUF5TWd6VmgxUEdJcTJNZU1CZVJucCtlcnF1SnFiZTd2dFQKTVFPbHgyU2ZpY2srd2NzN0VaTnpKRHI3MElXc2xJcHppZmRQOGg4ZmkzcDBJcVRtZE5DZE13RS9nU1N2dVpXNjV1N1p6YjllOU9oNApFTkhid0FQYUFPNTVWUjNlWEJYZVhoWFJVUlhXL2lDMDlVSHdxd2RCTDZvQ3VtNUhkZCtKQmg0Q1FmVWU4S3IyK3lMOXdOd1BKUUFvCmRLQWdORGovN1FDU2ZoT0pONVJZQ090b1RBRHByay9vcVl2dnJZMERlVk1INzJsckZIWTB4Z0lQZFR4TWFHdUtiMitLNzZ0UCtLMHUKcWIweHV2T3g4TTNydlIrZTdPdTlHTmtTdDdGdDIveSs1VFBiL0RiQytHNXU5ZHZXNnV2WTZ1dlU3THVyMmRmNW9kK1dKd0wvTnhzOQo3eW5hLy9LbFE4UFgzOVNQWEZvdnMrRGVwTzhlTzBZK0RoRldiM0RyQ283M3RiQWZMU016N3F1UlB6bUZ2RnJQM1RubFd3MzZ2QWtLCjMweFFYYXhNbTYxQld5dzlBZ3hCUnhwR291LytDV1FNampSOS9qK0EvbHNCSk0yZ0lRR0VPV1lJQUduUnZ2MHpBTUtWTXhoQWd3eEUKL0gxRVB3WG9oLzdOY052Z3Rha0xkZW5mNmRNM3dzSVBIWGhvTVNDUkRtMEZFZzhLQWhEUWp4RWJWb0FBZ0lCN0xKVmRVWWdBSWhvSQpGdy94Uy9RTURpQlQ1alpUaGlNeUVOWVA1R3JOZHJOZyt0aE5DRFdtNzlxNjJQblhldUdIZHlFcGZDc2xCZ2tvaDZ3d2lzbWcwR2xzCmVVVUZFbTBVaVMxRFYveUtUUjNGb2NteUtiSXM4aGcyWlJ5QUVZczhua0VaQThLa3l1SkJ6MURreDdIb280R1FHQ1FLdUthU1pGUTQKWTJta01TcmtFZlJ4c2hRbVNZSDVOVVZKZGp5TlRCdFA0Z0FjVVVZcFVyOVdJbzJqV1V5am5jcis4c3E5TDgrVnNQS0duUkVtVzF3NAp0cVIwWEc2bFhPSFZrY1hsOGxrWmFyRDJNMFdkSWtNYkowTW1LM0xJRkJaNUxJbjZOUk1ZaXlsSGxwY2prYjlpME5pS2ltTVlEQm5TCnVIRktWRElUM0V3WlBXUW9wSzhBMGVqVWtTRGdBZ1ZjeTFGR0t0QkhVUmhqcVBReEZOSE5BSGxmS1lGL29CeHRsdFdFeGdhM3ZyN0EKUFRIcnA3Sy9zeVlGaUEvajJUWndIZzk5TTRncFpUTVJRT1ppcVZpUU40TklNOGlDdEJWbTRMdWJ4Skc4azRnZTRqVUNFSG9WL2lQdwpoVEMwSlI3VnE4U0hJcnJZVUp4bDBQazlhQTFyMEtLVmxxdk9aRGNkTFEvZHlRQTNubkI4NlJSZkVEM3RnZWhPOWtIUndRNHR4S2RiCjZFM3lBdEhYOGphWTdBT0NEejBsVG9ESHpvQ0dweUNpNS9YQmo4Q09CUUl4MFBZdzF2RTMxWU5id0V4MDREbEFacm94NWtheEZzWUoKNWtieEp2cHhwZ2J4RmtiSjFxWjdyRTMzV1prbVlUdmVFeXlNazBEZ3NwZEpDc3pBeVVCSlZpYngyRjR3UHB6OVRnQVFIbWdnM1VnegorTE5DVGFhRUdHc0hHMnNIb2t6UzluZDFPY0EvZlNZbzcwaFkzcW5vN0tON3p1NHBQNVY2NzJqS2c1T3g5MDZHM2pucVczMHNwUHBRCnlPM0VuVGU1YTM0NHQvSmg1YTd1KzJGOU5WSGdzZk51Q0VyNzNUQ0pJTiswM3d2QkE2eURwK3ZlRUlGdktFVWZzWDdnWkF5VTdxb1kKUE1NQlNOSTM0c0I1cUlBMU5VbWRWZUNSMjFzZi9hWSt0cWM2b2FzK3Jxc3V2ck0ycnIwNnJxTW1GaXU5Q0xzYXVIMFA5M1hXSm9Gbgp1cHVFdlkrRW5RMzgxdHI0OXJwOWtDWU5pZUFSdkFTOHNMY3hDUVI4aVNvMzBwRW0wYjgzZlhYZ2Q0NERQR3AvRlBmaCtaNytSeWxkCmxmNDErNy9yWEdyVnNXVjJ1OWZ5RnY4MUwzM1h2dkRkME95MXVjdGpXNGZMeHFlKzIxK0d1TGR1M2w1dk5PdldCSnNxODJXUDVtOS8KNmh2ODJzWC9GeWZuK20yZUg5M2kxaXBweXNuSXBFMWYzNzAxckhTWmt3NXRuVEpqam83aUxGWEcvQW0wWlJOWVFEbERSSTBpNlo0LwpBU0JwNHZ3N29RTUgxNU9YNmFzNHFpZ3NodWNpMHV3aFVCUVhTZE5IRkNtYWlJQkNHbUp3K29SQk03OGs3cGNreFdCZURKQ0lzUE9jCjZDUVlpVHVKR1lKQmcrZTlENW5CRyt5eEowbTJtSkFJNjJYWUR5VmVxeEdHWThCL0hXVWFFSTg2ZVlrYVpZRXFkZW9FeGxRMTZzeUoKOUFYQXZxcUtTOVFweXlmU1pxc296bEFuTDFaUm5JVm14WXNteGxQbTQ1bEluamRrTk1nTDhkM3ZXcFJGcUM4SEJGMmpXVjFvYkFVYQpYSW8zOTZEZDdFTm1jQkVJUlZ6NG9YMkxndEZITlA0Q0hZR0lyNExwMEwrVGptZzVERnNkd3pBRWw4T01XRnV3RWc1Yy9NTGJsaTBaCjdoWjBOd3Uyc3psckY0Z1pjeWNJdWdaUDRuMC9vbk1SV2R0TldGdmcycGFTb3dFYkxxdnBVUjNOVlp4MXlDdnRORnpCMjg1amJiRm0KZVJxcitPM2wrL1cvRDNqOGk3dmhSRVV5bFVTbWpvWmxIdEk0QUJNeVRWNWRYbkVGZFhLeTlzSmJ4azczTGQwZlRndDhPVHU4YlU1VQo1K3lvbmpreGIrZnkzczdoRHBQb3Y1UytPVnlRM3ZtOG5vWDg3a1dDenNYQ2pxV3g3Y3RpWDYxSUdES3Zsd3VibHdsYmx3bmJsd2k3CkZndDdGd25mTEJLKy9VYjRkbGJNWDB6VWtPbWJHUW1DWDcrWkVkRXpMYXpiSWZTUmJkRFBGaDRuOVZidlVMSTBWR0JTU2VQSDBzZU8Kb1k4ZXFUSk9pVEpDYmR4WWhqekpaNWRlL3dmdk81VitDdzFYbTFGMm10RTJtVkMybTlGMkdKSTJXREsyVzlBMldGQlhtVk0zaXJQSgpqTElSaHJ3WkJJbEVPcWlBSk5JU2RSTjRvUmxsQTRncGVUMEl1a2JCM3habUFGamJSQTNYUkNlSnEwb2dDRmlpSXBQNGh3SVl5UkNYCnJnYlhiRHpFK2hIUGI1L2lCeUt0SHhSRDdRQUNnS0I0MEdJV0FKQm80aWsyOUJRSEVOQVBGdmk4R0VaUVAvcVQzUTJuZUFNQW1lZ0cKWWoxQUVVQS9Gdm84TTBNaDBJK1pJZFNQdVZFaUlNNndBRExkRFlNQkNHc1BRcHZoQlVRQUVmV0RBZ0drRzRZQWhCbElCQ0J6dldCdApiYStaUzBMY1VwTERzdmNtbkUzT094SC80QXozM21IdTNTUEJWU2NEN3g4THZacm9YY3JiZXV2UXV1ZWxXd0JUZXF2Z3lDMXcwZlpMCllQdnRvSTQ3d2VDeDdVNG9pRFNEaUFBaUdnaXhTZHBBQSt0aWtnYjZhd0FpVm9DSWVkUEloeE1xcXVHWlBXK2FZcnBySTd1cWhEMVYKS2UwMXZOWXFIb0FPY015YnBtVGdvWTVhZm1lZG9LTldpRmtucGJ0dUQwaFhRMUpuZzdDOWpndmNBN2xUbndEMEE0SXVvSk9rNlBNLwpBNkIzMWNLM2pmRTlEK1Bic2Mzekh4NGw5VDlNNmE5UDdyc1kzaHk2L01WaTg0NjFNOTk2Zk4vdHNmNjE2OXJuM2hzYi9MNS92bXROCnA5UEdOcDlkcndJOG03MTkydDM4MmwwREhtNTFlYm5kNDlHNm5VMXJuSjlzQ3p6anNQVHd6T1UvYi9LL004ODcxSGkxRm1XcEJtZnAKUk5waWRmcHlEZElTRG0yYU9nMTg0QzJRTnBBMGZmNTNBYVFLTjJRdDFsSGFCTkFEeElBQmFMcUtJdHpMTm1Ta0tTTUd6VjhEa0RSWgpVUDRYQVVUVXo0Q0IvaUtBSnRMbWE5RGhhRmcxeFVXcTVMa1Q2QTdxZFBDdEphcDBNM1hHTkhYNmJCVVNnTTRpZGRvTU5ZcWRCbTNSCmNBQWludmN6S0dJQXdjSVBRZzhoWXZvTUNTQVJia1JOelo4RGtLandJd1dnZ1FrWU9JQ2s2YVBMV0FVaTdnMGFBSkFSZTdNUnRxc0wKSytGZ0FPSzRBUUNaTTEyaGdWQWRhSERBazBoTCtGRkE2SlFnRStZMlE4NUdYZXA2TXlVWFkvWU9ROVlHSzJWdk0zcUloZkwyS1N3LwphM1gzRy9rK3YvZTZKa1FzWkZOSEtDckljQlNwSExJY1JYNE1lL3k0eFNwVFR0cXNmamcvb1BlYm1JOUxoTjBMK1gzZnhuNVlIUC9iCnQvRWZGZ2gvbXljQStXTis3S2NGdzBYd2wvSnhEaDhFdk9lSCtRTHcvb0F5NE1lQi9ERS9ic2k4V3lpRXY4WUM0Y2Y1d3QvbkNmdm4KWXBrRHIvOWE1dlAvVEQ3TjQzMmN5LzF0VHN6N3VZSzNzM25nOSt4ZndIOHpQK0s2d3c3L1NWTXR4bE5vWTluS0RGblNlRmxsSnZWTAorWkdUcGxEYUcvbVBXM3kzTEZ5cHI3REFrcjdUbkw3SmdySFJtTFRaV0dHREtXVVZnU3lZZnNRR0lxS0VtRUUxSkdpbUFmRU1wUi9SCkcwb1lDRVN5YUNUMWc0Z0FBcEdSV0xyQ1Y2L1E5VUM5WjdLL3ZuWUFDSzRmSFMxd3B6Y1JRTWhBaUVGbzBqdGlFQUlRTFBZUUFDU3EKL1dEM0RLaG9FdFNQa1k0UEFCRGFBdzhBWks3SHRUU0FEVURtQm5Hd2w5a1E3Zm1DalQ0Mkp2dXNUZUJXTDlUc2pLMklpUmJDY1AxWQptY1FqQUprWnhKakMzdWVoQVFUMFF3QlEwQUNBTk54MWRiMm5hQWZvR2djdmNJbzZjRUo0L3p6M2x4VC91MGY4ZjlrWGVEWE91NUsvCi9Xckt1cHJzcmExM2ZkOC9nVlVmSUo2V24veWJiL21CUndRZzZlQ1ZJZWtnNkVoOEtRRWdhUU1SQVVRMEVCRkFndzBrU1IrVXpwcVkKM3ZxRU4vVjd1MnQyZDFhTE5ubDExOFlDRDJHTk5RbGQxZkdkVlhHOWRVbHY2cFBCblcvcmo0SXYyNnZDVU9tb3N6WUJxS2luaVF1cwpnOXlEZ3FwQnhHY2swanRzSkNueno2WHZBYit2V3RDSDlVMTNOOEFEQ09CT3NjZkovVS8zLy83cnZqZDUvbTNPQ3pvWFdMLy9mbjYzCjY2b25Ma3VidHkzcDNMWDZwZlBxQnRjMWo5MDJ2ZDZ4K2ZIV0RiVk9teDl1MlBMcmhoM1BWanMxck54eGYrMnVxdVdPelJ2OWYxNnkKdld5eC8yemxGVnFzK1ZvcUt4aU1lZUFqVFpNeVE1MWppd0EwbElFazZmTy9EYUFaNENONUVuT2xpdUlDVmNvME5ab3QrT0JYSmMrWAp1azBVS2NlSTh1OEMwSEQ1VHdNSVI0K1NvaDNJZ0lIK0lvQW1rQmVvVTJlcFUrZW9LczVUSmMrWnlKaWx5VmcrbWI1VGg3TlptKzZtCnkzSFNaS3hRSnkvUm9NOVRJVnNENkF5cG44OEFpTGoxWFlRZWJFaUZLQVFBYVpMbllVZVREK3htbC9ZTml0UjZtYVIrTUFBTjBzOFUKK2dvVUhmcHFQTHFNTlhpd3hpQkpBQm16dDZKdUh1dzBaN2lESFRjUWVwUUllTklNR3dJUE03QkdCaGZDREJqYnpGVzM2RkYzZ0RlMwpWSEhVSjdtQTl6UmxlSnZvdXQyNjVOL2Y2N054bVJaVmNiUVMrMnVLd25nU25hd3dic3hXVGZPYjFvNzkwOFA3NThRQ1V2d3htOXNQClB1L254L1l2aUlPUDBCa0NtSG14L2ZQaTRKTkRacjdncjJWdXJDandiZUZQK1dNZURQelJRMmEyY0lqTUVzTGY4QzlsTG4vb0RQNzEKL3BqSFIrbWZHd2QvMEV4dS82eVkvdm04M3hjSjNpK0lhcHNlY0VSN29mWVlsaHhiUnBiek5abkVZakpVeVJPL3ZGcjI3ZHZPS08vdgp2QUE3QUVvTTVkZWFNYjRERERLbGJCME1sd0VERGRJSklhZytCQ082VTVJK1VobmtLc0pDbTlUQzJURDBFUUZJdWdLRVFxU1BPSUg2CjJrRkUvU0FBb2RzUWdMQklyb1VoL1h3R1FMaCt3SGVOcHZpaDhvK0pickNKVGlpc3plaEhBd0RCSm1qOVdBQWdJSnVwWm52c0xGTFIKM0ZOMCtyTVlRT2hVYUt6cWc3NFU3WllYbUJ0eXhRQUtCekVGMW9FanhrS3hId0d2QVgxUWdIN0VBUElITWRQd050T0hLdExXOE5mUwpDL2htUm5qY2p1aXkzZndTWVVpcHdLZGNzUDNCeWMwOXR6dytOUHEzVlFVMS9nanBBOUw2Y3dDQ1R0c3ZnU0NvQ0RRY2h2NGtpU1FBCkpHRWdDUURoQnBJQUVNRkFrdlFSVllBYUVqcXJlUjNWa2IwTlBJQ2VqcHI0anFyOXZiV251K3BDM2o2SytmZzAvdVBUNUk5UFVuNS8KbHZycDZiNFB2eWIzUFBZQzdQdnQ4ZDQzOVNrQVREMzFmQ2dNY2ZtSENLQ0JWYkNoSXVXZWZ6T0EzamJDaldNOTFmeGViSmMrQUZCTApQYitsVWRCVkwyeDdrdERiZXVDUCtqM3Y5Kzk4dGRMbXhVS3pIc2NGdjIxWjBlcTQ3UEdPcFMrM2Y5Zml1T2JKcGxVUDE2MTh1WDdOCm8wMGJxcjlmWDdmQnFYcU5ZLzBxeDlvbG0rdVdPdDZadTVGbjcyaWx4bDg1NjRTOTVYNDExZFc2N0lWS2xMbnE0MWJqQUpJeWtDUjkKL3JjQk5FMVpjWlk2N1J0VjhseFZxcjBhRFg3cWYyWUdtWlJqUkJrT1FPRDVJU05ObHMvbmZ3WkFTRDlFQS8xVkFFSDNrR2FpNmFkcQoxSm5xOU5sYTRJTkJSVGhUdTJpR1ZwbjlwSE5tNnFHVGFLczFhY3NBbGNETGg5VFBud0VRUUFsYStRTHUwU1F0SkFKSWt6d2ZDdzZnClFVM04veEJBVXZwWkFrSVlBU2JXRDIwbHR2NDFoSDZrQVFUWHY3QUtrQ0VUemdWRDR5eGdEeEMyZlYyYVBuak1XRERJUUhCcW1LaEoKYUtjQjNkR1F0VUdIdk1XQXRzRkVhYmtSWTcwQlpiM0Q1RlcvWEEvNjJNdHowRk1seVRMbDZiTHlwRkhxRkJsVE9kVWZiSGErbWhjSwpQdGZCcC82SCtiejM4TE5maUVtSUw0cTBGWWJNSE41ZkN4RTNjd1dpbnpXYi8zRWhiOGpnUHdpNUJDL1ZTTDd0UHd6ZzNaQVo4cDh3Cmw5ODNOL3ozK2RHQVBoL214L1RNaSs1YmdOMDVIZnlod242ZDY3TmNYWWRHa3BtZ0pETmUva3ZtMkxFYURMV0M5QlcvOWZKZGxtNnoKWTdqYk1OZFkwamZxamw5aFNsOXZTdjRlQzc1NkphN1pFTHFDaUJrRUdqR0EwUHJYWnpKSVFwaWZMTWdiVVNRTUpFMGZIRUFpeWhETApPWGdrQUFTQ25wY0FrUDRVUDhQSlFmRHduaW1CZUNrSVh3c2JHa0JZQjdSbzhRc3RoR0hsSXFNcC9zWTZBVUEvbUV1dzdoejlhSGhvCm9ZRUFBUWh3eDg1aUh4RkFJRUJGUlBGWW1jU2pTYWpZTUZRQk92YlFYRDhLeEVJL3dod1k2UCt4ZDk5aFRXZjUvc0NaMmQzWmFTcnAKQ2IzM2tCNTY3eTJFSkpEUWUxTkJ4WUtDQ0NoVnNPdVViWFB2N3Q3dC9kN2ZiSmtaNjR4ajd3SXExa0drZzFRQk1iOXp2aWY1NXBzRQoxSEhuN3IxN24zMmU5OFB6VFVpVCtTT3YrWnpQK1J4dHZjY2dTRDhZZ0tCK1FIanU5VUxiS3BIYkZsL2hOakh3bjBNTjM2MDJsRjFWCkVaUDYxNE5iK3IvWU1udTFZdTVLOWVDWE5UMm50dzVjcXgyOXVIWGtRalg0T1hhcEJsd01udDA4ZEc3TDQ4dmJoaTlVRzJRRVBOSW8KbzVkcXRQbDZBRUo3NW8wWmhFWXBFaVpLYS9MNGV0dml1YlovdkJNZVZqcldDVTlJSGU5dW5mbHExL3lqZlU4ZmZqaDByZjNCbVliNwpwNXB1bjJqcStMUzIrM2pqMEpWRGs5MC9tTDY3Wjc2M2RiNjNiZkxtM3JGcmh5YXV2ei9aZVFDSUIxVjlVTkJDMkN0VmdKYUtJWEZRCmpCdW9VZERLRjZBUDdIUHFhSVZscmU1ZG85MjcrdS9EZXlhdnRUNitmMkM4LzN2VFo1dUhHbFczWTl5L1VvUi9sWmZRVzVyY202TzQKbTU1NE8xOTF0eWp6ZGtZS1lORDE5TFRPOU1LcnlibVhrakt1eDJaZWs1UWVrYXoySTZkRWlUN1l2Zk16VmVaSEx1YjV6cVk1RFBOWQpnVm40TndlZy8rNkVXcEhEcmNub1RVUHRHS0ZBQTBhUDBjVllPYzhIa1BHZDJoaVM1Zm41WndHUVBUVUJBUWllaTBLUHRLTkh1N1BLCkl0Zy9WL3AvdVM3OXk3VFFUd01jZnVwQ0szSml5SndaS2dkNmpERjlIR2p4RHBvVFRCZkoxd2NRSHAxKzRDc3NBYUJGOWVOTVM5SUMKQ092N3dmU0RGcnkweXRHRXc4eEF3UUdrM2Y4Rjk4TmpBQUlNS2hKYWxLQWlFTm9GOWh3RElRRHBqazNGQVdTZTRrN0o1VFB6Qk14aQp2a1dDa0pYaGExVnk3UEM2bWRrTkFqY09pN1RjZ3ZvV2pjV2tzVjdQc2hSOWxiUjlKbUxIVTBuYk05bnVoWVJkc0I0VDNiNFEyemFUCjJLNk9hOU1sb1YwdGFWY250RDJOMzZsM1B6SEdOWnZuQnZGRlcyVWhKTFpsMFJEZE14L1hPaGNQTTV2UWF2ektMNGd4M1RUdnEvMFYKNWg3TlBiRTdaMk4zekNZMHprbGFnSUhVMFczcUtQQlhhcHVPYVZGSDdKMkthVlJMRC95SW0rRDQ5bXMyekhmTUxGYlEzeUxibXI3NQpoOS83emM3VXJaU21lNU1MK2FhWlh2UkNMalZKU00zVUpodEVSTXNSMFhKRjJxVXI0eGpoUmlNYklUbGowZURBTW5pOE55V0hZQ0JkCktjaVlQaG9BNFNVY1BLalhSMXNLMHFySVpUTUlZSkN4a01DRHVSNXdiQS9jUE9WZWpRekVkZDJDRnNLV1dnTFR1OGIwdzRYcmFMb1QKTUxCU0RkeWY1WVdON2ZIaHRubHoybjE1dXdPRkI0UEY3d1dMM3c4U3ZSY29CRDhQZ1hzQ0JBZjgrSHN3OGJScG96MEhucUFmOEpwTApBUWluRDVZcUVBUWdkNDl0QWU0YlJlNFY3bzdWM3ZZQVpOVnUvUFVDbDhwL3F5KzdjMlR2eExXR3dkTnJSMDVYajV6ZU1YeXVkdkQ4Cit1SHpWUU5uS3Z0UGIwTDBBUUgzQUF5Qm55aEFSY1lCWURMTUVrVWdJb0QwRGFTWkc3UW9nSXdOWk9nZWJjYXZIUnk1MGpweXZYN3EKYnF1Ni84TW45NzkvNC9QR3ozNitxbFpaVlJheE1sT1lrY0pPVFhKT2xqaklWSnowNHNDU3RWRzE3YXNxanYxODAxQm55N1BlSDZpLwordkdUMisrTlhOOHgyZ2w3cFdIVEQySDlDMnNNMnJkb0pycVdpS0Y3WGhGQS9WMHRJd0JBM2J2aE1NYXV0a25zSi9pelRGeHBmSEliCnpsRWN1OW84ZkdmWCtQQ0gwemYzVG4rOCtVWmUrQjE1WUs4OGJEZzdhU2hQT1pTdGVwQ3R2SnFsZUtDVTNrcE5mU0RKdUoyWWZpWkoKZFMraCtIcnNoalVjOFBXZzRGazFTeUoveWZOb2NxT2xPWm1wYUF5WjAzZmxSQURwRzhpUVB2L2pBTEtoaGdNRDJkSWlnQmpzNkpBTwpSby9SeGNneG12emZBTkRmdndRRzNBTWJuR214MERITWFDZXplTDdOSnBuUFg2cEsvdmE3bjMyeVkvMm5jZHpQT0daYlhNd0JmUktNCmF6OUlQeThEb0pkZUF0UHQ1OEwxZzcrQ1p0ZVl0cXRhOThwQVY0d2tWNGFjQUNCczI1ZFI0ek9hQUtTWkE0VHQ5a0pCQU1Jd2hMYUQKWVRPQnNGbUlnRUVDODJKa0lOMnBxR2djb2xGRVdCQjlpRXRnUERPWjBDeFh3Q3dVbW1meUtLdUVyS3hmZkxSNWVyWkI3RzlqYm0xQwpJaStqVU4vMUlMMjV3eWxzVEw1VEhibG5RYjVQSGJkTEhiRlRIYlZ6WHJKclByRU4xbVBDb0RhZXhyYWdBSEFBK2l3QUFFbU0zUE9xCkFKcUxiVUhSa3hCY0dtdFpQSXZWb3VCVGpGNzVCVEY2RVIxMzBJVzI5cU43UEhpWDZLWm5rVTFZcldnblhMQ1Q3SmtMM2FhTyttQWgKcWtFZHNmdHN4R1kybVVGYVlVcGltdEJXZk11ZVNUM3hSZVRqMGMxeXNZSy9MRjFFeitCVGNnV1VEQlI5QStrdlhla0JDSUVHTHhwcAo3aWVpUjBCS3g2TXZJWjJjdk1nd3hnWXlwZythSjJSaW9CODgrTUFld2dRZ1Evcmcrc0VCaE9wQTJpTFFGcXdsYVBFbWFJNHJQQkFlCmJZWkgra0cxSDN6MHM3Yjhvd0VRMEl3UEYvaG1EK0FPaGg2WUlORUhHSU4wQUFMaThlVzMrQWxhNFFYUUQ3Y1ZBMUFqMGc4R29Eb3YKejFveGU1dklvd2FFVVBLcEp1cEhBeUQzelVLUExVTFhqWHlQQ205ZXBZOXpUWWpyK20yck4xLzl2SzNuMUxiUnk2MjlwK29HemtDWApESnpaT0hoMjA4alpTa0FjM0QwSU4xcjZiRGJJeUlVdFdKWXcwQklMWVFZQUloZ0lINXlvWnlEaWtSb3ZBNkNoeXczVDNZM3FnZmFaCmUvdFAvbXA3YlhaQm5FT1NlRmxTS0VzZWJaMHVjY2lYdVpRa3U2OUtkbDhwZGM2UHM4c0lzMVFGMEpPRG1Ta3F2bkwzNnBWWFA5NjUKOFBDSDZ2NURzRkVhNjNvRzZOR3ZCaG5TNXg4RElEUVphTFJyNTNBSG5KRTQwNzBIWlByR3JtYzM5ejdwMmdWczFIOGJMcEE5dmRROApkV2QzNzlRSDZrdTdoNXRTNzhmeEg4WDdEbVFsUEVpTHY1Y1NQNWlsZktDU2RLc1U5eE5UZXhTWlhlbTVsK1dyRG5vVk9OUEQ3Rmx4Cjlxd1VSK3RLdG1XV3UzazB5enpVaWhIbndrZ3dBQkRCUUliMCtaOEZFSWFlU0N0eUtBQVFZSkE5SThiNE1jUVlPVWFUcFFDMFZJekoKUXBDRW5uVnNzTGJvLzI0QUVRMmswdy9sYXpkQjI5UGdCamNIbXNTT0lnRUFjclZNNUZwVnhQSC9XSkQwNjMxTmZ5akwrRTJJeTYvYwo2R3NBZ0d4STBVdnA1emtBK3ZwTjBJVENENnI5NkE4Tk1nWVFxdjBBL1NBQUFmMDQwK1E0Z0xRclg2amZPZDJZUHBwZ3U4Q0lBSUpoCjVuR3hPaEF5RUFqYUZBWlp3eXhCRzlyeG9IdUVMSFJ3R0w0Tlh0TUV6V2RtODVtNTBFYm1PVHhLNmZhS2lxbTVyZVVGUEFxRHlhQ1oKV0RPb2R0OWQvcjYzUkoyd1Z4MndVeTF0Z3MwOWtjMnd4eVVHS21jdUhpQ2dTUjNScUpic1ZDZTBQb3NIUUdsK0d0c0VBaTdBeldleAp6VXRFZzVpWGp0N1R3WXVqUEl2ZnVXalVNYzJMWmlHbTZXdkZjSkZMbTRXWXhUTXR3YnF0dzhHZnFFV2QwUDVVMmo0TDNqU3lhVTVTCnA0N2RvWTc3WUQ2eGZpNXNhM2RFdS85eWN6cHpHWm54R3RtVTVteHVmdnQyNGEwckc0T3NKVnhUT1c5RklaK1NhbUFnQktBbFEwMUgKQUJKVHM0Z0F3bUZrV0FTaXBNSG83c2tpQWdnM0VONFNaRXdmUFFEaEMxdnV6aHRRdEdlOGF4aUVkMGJqTlNHaWZ2UUFSREFReHFERgp0OEZ6M1NxSUFPSzVWV0lyWDlYbzlGT3NPd2ZPZ0VaTFlDQVlibllqQUdIaWdVRUFBaDRDQVBJWDdGMEVRTHJ5ei9ZWEFraHJJQzJBCjNEZnozU3I5WGNxNG5GcSsyeDYrZlYxQ1ZObnZQdHcyZTc1cDRrejV5Sm1Lc1FzYkg1MWUwMytoOHRIWnpWOTl1V0g0L0thKzArV28KOEFQRUF5NEd6bFNDZ0F0TVJaVWdpekZvOFRyUVVsMUIrUDU1SXdaOVBRQnBEbHMxeWtKUGkvckJqNjc4NFdDMW9qU0lJdlUzelU1eQpYcE11V0pjcUtsUUs4bE40QlNwQkVVZ0tQMC9CelZEdzBsT0V4VkpPbHBLM1V1cTRRZlRkN0JDNlpOL2E0cDZ6YmVyK2oyYnZ3ODN3CmFCczhZZjNMa0Q3L0lBQmhUZEFUWFcyUGI3WmptOWZnOUNNQW9OSHVYYkFacUxObDRrYjdWSGY3MksyZGo3dGFacSszRHZlMnF3Yy8KbVA2dnl0dTVBWGZEdVVNcFVYMDUwanNaa3J1WjBvNVUrWldNdEJzSzVYMUY1citIcC9ETi9HbG1NbXVxeE5ZNjBveGN6S2ZFTzVxRgpVeXdpM09sSmx2UWdoOFVNaERISWtENy8wd0NDZlNvQVFJQkJscVlSOXZRNFd5bzBFUEh6Nk1WSU9hOEdJSHh2MTZJeFVNNC9Ca0FHCkJ0TGMrWFVCUkE4RkJuSm1KdG1TRWgyWXNTNFc4YzYwWWgvYkgwYTduVW9MUGhYRCtTOGZ1L2VjYWRudUZzbDJaS25CRWhnUlFIcHEKSWVUcmI0UFhQZGVZUGtzQkNKVi90QUNTTHdvZzFPdGo2QjRzY1BhUEZrRGFhVUFRUUJ4R0xzODhuNGMxQTJFcFFwdkNBSUNFekVJNAoxSWRWQk1jYm9nRS9yQ0p3SjJFS291YWdlTFFOSHU2RXAyMFJNTXFGMUVwcGdIUm9wUDdqUCthWXYvVWRhOUp5RW9uaXVQeU5ROExvCktlbWhaekY3RnlTdHorSzJRMXZFdGFuajRaclhmSHp6ZkVMTFUwa3IrQlhpamhwNENDV3VSUjBIZmtJU0xSRkRzancvc0tpRGxyZmcKSyt0Y1pkaXpyTTFjZkRNSS9JVHhXaW9aQ3V3bFkwd3hHSVBlWjkzOUVXM3F1TjF6Q2UxUDRuWUNENm5EbTlSaERiQXNGTlVJSGo4UgpVd1U3aEJMMnFTTmFMOFJXQzAzSkpLdlhTU1FXYTdtRjJQV3QrZW05UDlsZkJQakNKNmNEQU9FR0lnSUlWWU9NQXdGRVRjZjBvd0VRCjJ1aU83aUhVaHpRU0VwQlRRUXdNQkVJQUVGd0wwODBUMHQvOWpnWWtncGpnNG5GeldvOWZZeExTakhJbWJnclRBUWhiRHVNQTM3aFgKOHp5MmdRZzg0UHFYcHZEalVnMlh3N0REdk1BRnVNa0JqNGVEZjFBUmFDMkl1OE02RUEvSDlYRG9zOXRtZFBRcFhFSHphQkJ5ZGdnNQo5WHgyamNCem00amJJT2EyQ0QzaCtWK3dzMGU0ejErMEgvWDlCSWpmQy9SNlAwaThMMENJYWo5d3dRc1BNSkJXUDQzZVhCaXNDTFNECjYxNGo1dTBRZWNLTjdvQkI4UEF2OXlxUnkyYVI2eDRCdTVMSFhTM2kxdkZjYThWdWRYN3N6ZDdPWlJ6dURxNXpnNi85dXJxaWRWMmYKVlkxY1h0OTNjczNBcVhXRHB6YmdHVHE5RWMvd21VM0dHVGxiU2N6b3VjMTRqSmZEa0lTMFhVSEUvdWc2RU0wK2VUMzlvQW1LVFhqRwpyc0xCMHlnajEzUVp2UTZQRzBNWnU3NGI5a1IzVms5MzdYMThyV1g0V3NQZzFiYjV3YTNxbnUvL2V1c0d6Z3FKOTRwVktaNWxTbUZHCnVyaFV6aXRYK3FRcnZUTGs3QlFaSzE1cEdwOUJWYVRaWk1xY2N1TWNrbFRMb2pPZDB3dlpXY2tCdVFCRHJxUzRjS3RWdjk2OVZUMzgKbzRuN2JlUGRCNGF2N1orNS9kUEhIZnZnMEVKajRtQXhKdEh6WVFSZWF0R01YR3RGc3huQlQ3U0ZEZmI5QVBkME5FL2ZhSnZ1YUoyNAoxakRWMVRKK28za1FwTHQxdXJOeHVyTjVvcXNaYm5QRERoY0RONmZCWDZhamJmUk8rOFRvd2NrN2JRK2JGVDBoM0pHWXNGczUwaHVaCllaM0o4aDVWK3Qzb3hCTUpxVEZtRWpvdHlab1pqd1llR2dmVmU0ajBBU1FDSWZZRC9UMW5nUm02NUZWai9NcWExemZTREE2ZFJXTk0KRUswTWpPbnovS0FKZ2ZoTkRZa1FnMUQwMzhMd0U2SlltWVpaazhLdFNhRzZKMkprQWFCWklzR0xodmkrZWxrS1FOZ1dNQ3h3ZWN1QgpKbkZteWwzTmt2bVdKVHpMUXE1Rkx0c3NEY0FDVWdiYm4rVkFrNkk0MGhQQmcwRVFoZ2lPMFlzVE5kcUpFb3R3NDBLRGg3VERHYzEwCllKZElGNm9jL01xTmx1YktESGRuS0p4cE1TNlVGRjF4aUxoU1JnRjRTbG9xMkp4RHZPVVpCdHgwcDZWNEFQZlFsV3hBSDcwb3NjQnIKdE9hbEdYN0l5TWNPUTgxSDNUOW9KTFRtekZRelRhc1EzaUlOQXJ0NVdQbFFOcnJEVUV2d2c4QlEwTEVZS042ME5aN01ISzdsR29GMQoyckdqK1dNUHE1M2ZOV2ZTMzZJd1NlK1MzbTV5Q2tXTE8rUGg5ZXJFUGJQR203TmVHT05GcFZlTDhTTFVxOFg0bGIvWjExOGlUNk9iCjBSOEVxQWo1NlVuNGpoSGZMWTdMcVhUcWQxZFFUY2cwcDdWWjNqUHE5VVZCTWo0cFQwZ3VFakdTQlZTVmlKWWxvS2FKR1puZ3A0aGEKcUYycjBoWjdhQm1hYU9pRDlJTzNQd013NFdiS2hKeWlwb0hYaEM5TElCRXg0QUhna2RpMVppa05Ld1hsKzJISGtNRlNFSGJzQnRJUAptZ01FVFlQVEIrbkhHRUM0Z1RTTno5cGQ4VGlBK083d0JGTUVJTmdOamVsSDZGR0xDa0lJUUdqSE81YTEyS0xZQm5BbjE3VVNXL3pDCnpuNEhCdkpvZ0FlL3Myc3hBTlVCQUlrNHpZc0NDRTE4RGhUdC9Wb0FBdnFCdThBQXJUQURDWnkzQUFENWVOYkFtWTNPVmI3c1JxRjcKdWJkSG5kQzVsdU93WGN5dEV0aHNTZkJlOTh1RE8zck9iWDkwY21QL0YyV0RKOHRIdjJnbEFzakFRSXN5YUNrRExka1l0QVNBTk9PQwo5QUdFR1VnSElLS0JGdFVQeVBqTjdjT1hXeDVmUFRSOHBYcnc4bGJ3ZlQvZjg5N1l0ZDlzU1N5MlpnUm11dWRrQ1hLeU9JV0Z2TndzCm5rckZYNVh1a0tsZ3laTWRzOU9VRFJsN2ZxZjZ3OG1NVDY4VUhiMVovdGRMeGEyL2l4YXZWREJrNmQ1NXNhS01iUDhLbFhtdTRGMi8KcG9JSzlkQlBwdTd2SEwrNXYvL3FOcWdjWUtET3ZZdkdtRDZ2QmlDNFl4OHJCUkVCQkM3R2J1OGU3bXdiN2NKNmt1RE02TDJUTi9jQQpMUTEzN3h6c2FCeTV1bjN5ZXVORVI4dG9SOVBnelozRDkvWU4zSzVSZHpUUG5tbVkrT3FRZXVUZlJuOVIwYVVNNlFyMkc1SmxQRkpsCjNaQXEvNUl1OTZiRjJaREIvM25MYk0zQ2pPbWpqV0h0UjFzQit1Y0cwTkl4cE0vZkFTRGl6VVZxUXJiYXNoRG1EK05QQW9QcFp4RUEKR2MrQTFvWlE0OUd2OXl5ZWx3YVFFMFBtd2xLNE03SThtSmtlckhRM2h0S0ZMb1BsRnRoeEhJL1JKd2xMSXRGQStyVWN3NFV0YlRRQQp3Z3lVNEVTU3VkRlNIRmNvNGNNb0VnK1cxSkdrclF3dEVrUDNMS1VmbEs4TElJMStzSTRmQkNCdGZVamJKVTNZSTRZQWhBd2tZQllTCm9oTVBmaWdZaWplempNdFl4V0hsbFdldW1abHBqUThpVzFIZkpGUGZlcHY2anNMQ3RUdTJVaDNkTkIvVnNKQjJZREp5aHpwdW42RnYKWGhoamFyeGFqRWp4enhWVUh3TDZtWTlxZ3BXaHVKMkFSTUJBUC9SVk9sQVpGclR2MEVqTG1SU1QzdlBWWDM1WjYwOEgrQ2poVTFLNQpwR1FoTFIyaEJQQ0ZUNFl1MFNNTFZ2akIxNyswMGZYMDRDVWlyWDVRVklZclluaG82VGlBTUFOcGRvUVJ4MGFqSXpKMFRkRDRsaTc5CkdHNk0xeklJVy85eTNRTG9nK2xuSzlBUDE3Mkc1N1laaTJibEMvWXlZd0FpOWtUakFPSzR3c0lQb0E5NmxxYnhtVjBEVUNMMGJPQjcKYk9lejY0VWNnSlZHTWR6LzFRSlBBY1BPdmtCVGY3RDV6akN3RGlUYzR5L1lqWFVJdGVINjhlRzIrdkpiY0FDaERtZ0VJQjllQThBWgplQzh4cHhZQWlPK3FYZkR5cVBMbHR2S2NWb2tjdDNtN1YzdDVWSHNMMXJ2Wk5aYkZsWi82ZlZQZmhhcEhuNjk5ZkdiTjBPZHJobzV2Ckh2NVNUeitMR3NpQVFRWUF3ZzJFTjBjYk1vZ0FJSzJCZEFEU1h3aGJCRUM0Z1JaZi83cmVNbkM1ZnVwVzgraVZ2Y01YVzhjN201NzEKN3U0NWUwREp6ZlNuNTJhNEZVYndpcks4Tnliek03SkYrUXB1VmhiZFgyR2FtYjNxbzh3emQxUEdubVFOTDZ3ZVVKY09xMU9HbnhXTQpxaXRtMVRXbkJ4TWsyNlRVMkd4aHRweWZtY2N1bExtdUViNlpYQ0hObmJ5emY3NGZqZ1dhdUhVQUdzV0lQdDhzZ1BDRk1NTUtVTmVoCjhlNERJN2ZhaDI4MUR0N2MzbmR0MjNCbncreTl2VVBYRGo2Ky9kN0VnNE5qOTlvZTMydVo2OTJqN2p1b2Zuam82Y2h2eHg0ZVVJL3UKVlkvc25oelpxMWIvUm4xcDM4UHl5TFBCVWRjaW9yNGZtc0kxVTVsYkJWbXhNaHd0c2wzSnVuay9MeGtpZ09ESzEvOGRBQzBlSTk5OApyU3krS1BZeUFMSWhSeUFBNlF4a2pKdVhpVEY5bmdzZ0ZCeEE5dFFFT0JxS0lYV2lhdGFTUUp5b1VoU3N2UVlHOVJxN1lDZGFFSmUzCkZpbmVhT21EZ2ovR2tTVEJGcVJXQ3ExSzNhaVpUcFE0K3hXeEhpeEQzeGhBWjdFb2lQM09lSkIrWGg1QXVINFFnTkI1cVBDOE1IMzkKNEFEaU1YSkJFSVA0akFJOFN3Rkl3RmpGcDViN1dHUjBuTnY5NWJFeStySTM2V2JmWWxvc2R6V2xuZ3hicFU1b1dwQTBMMGhhSitPYQo1dVc3MVdHYU1zYlhpREZsWGkxR3BQZ25DL1pQZUJiVkRNY200UnZIWWxvWGtuYXRZL0ZOS1cvYWs3NURNMzA3VEVpYm5hdGFxMXpKClhaSEZKK1h4S1VvdVNRR0xRT1JjUGprTDNCUVJ1M2xRSHcrV3hTUUVCWU0zRXVrRGlManl0UWlBc0d2WUZiUW9nUEJqTkx3cCtiQUgKQ0c4QVF0SGVOS1NQOW5CVHJQdEhVL3NCK3RrSzlBT0NWWUIwQmtLbWdVdGdPdjFveGdJaEFHSHV3YnFlc1pVdjhGUEVyb08xR1U0agpBSkNBdmNPTDErd3IzT2tqYU1NUFFQVVY3TldPUFVSVG5yR1R2d1J3eHp2UUR4WmQ3L05TQVBMaWJJY05SbXlOZ2J5NGRiRDN5TDNLCjEvT2dqNkJhNkxGZHlGNG5jdHZpNDdJcDJMMnFibjFON3hmYkh4eXJHRDY5YnZ6MGxwRVR0WU5mYk9nL1dUSjBadTNBbCt0Um5zK2cKRjVhQ2lBRFNNNUErZ0RBRDZRR0lZQ0FJb0pITGpTaUdFaUwwQU9ubFN2dmpqdWFSSzlzbXJoK2F2M2VnNytLZU5LOEUwYnVTSEc1YQp1bnRwcW5oenFHaFZscmdpeWtVUlJRcE5sRzlKdWRDYisrQkowYkE2bzJkT2VXTWk0OFpNWnZmVDFPNjVsTTVKK2NObnBYUHEzR00zClVzeFVwVTdwOGVLTUZINVdobGVPa2xQdTlWYnV5dGpFdVo0UG4vWCsyMGpIWG5pR2hoRjl2bGtBWWU3QkF3R0VNbkdsZnFxcjVYRlgKUzM5SDgramRuWFA5ZTU0TnRpLzBBL2sxTER6Y01YT24vdkgxK3ZITE84ZE9IYno1dTliakJ5cC92VkxSS29sdWttYzBxN0wyRlNXZgovUGVOMDdkL3FCNy9yZnJuNlZ2RXllNXZ5ZTJ0SWxrMHFhZEZtanNsMFlxbU1DWU9DbHJ3V3BvK0dnRHBEUFFTS05FRGloRmxYaTNHCnI2eDVmU05TdkZxTVRQUHkwZXFIRmdhakw2R1hBUkNXTUoyQktDRzIxRkJEMzd3d3h2UjVMb0RRUDFrRElFMFJLTjRSMzJvT2NZUDAKSTBOeG9TdXdJQUJwREFRYmNRd0xObG9HRWFwQjZINnNCMGptVEpZTHJmT0tKYi82b1A2aWoyMGwyMHptemtoeFk4YS9oSGowUWtRUApQdTBRRGp6OE93Q0VkcjlqSjZUQ09oQng0eGdHSUVnaUhpTUhSQU1nZlFOcEpRUnJRdmdDR1k5VjVtKzJ0amloUksxdUNIQ25NQmp2CnZFbCttMFY2WTU5SC9OUEVablhDenZHNEhkQXhrUzB6a3RiNW1IOEI2RldEL3hQUVB5ZTZSU09od04wUFkxZDdNRzJaYjcxaHpuenIKVGFySm1VOHlybnkrUThoSUZKSkx2TUIvWlZPSm1BNG5SUE5KT1VLNndrQS9XQ3VQRWdZdWJHbDlRMFNQdm51K0ZvQXdBNkZPSUwzegp3akQ5NUlIN3ZjZzVlazNRaTRaWUZuSjNoaFdnSlFBRVFXUEFJR3p4QzAyRmhpZC80Wk1QT1M0Yk1mckFlVDhnaUVvSVFJQStQSGZ3CnN4R3RlYUU1em40aTNYbnZ4TEdIY09ZaFZ2dng1dXdFUVFDQ083KzBBRUlOMUxoK1FMeTVNSUErNExPQjkvVjBocU9ybzhQM0pZUWMKQ0JRZTh2YmV4dmJZS25hdmluQ3QrZld1eHI1VHRZT25pd2RQYmdicE9icXk5OWphb1ZOVkQ3K29lSEJpN2VDWDY0Z1pPbFdCTW5oYQprNkV6NjRsWmlrRm95eGpxbTlhTFpsWVFjVmhpTGNnTEFXVElJR1A2WUJtNTJqUjY2ZjMrYzl1ZTNLc2I3emlVN1NQMVcxR1FFMUNZCklVNVBGWmFvZUVYWjNJd2s1NFEwZWt4eXpiL25kcXN6QjlYS0J6TXB0eWZTN3N3b2IwOG5kMDJxYmt4bjNablB1VGRmY0YrZGVuT20KWkZoZG5MbFBhYWxNNEdkbUNJdVMrZklVWGthSzUycXZ0N1AzbFcyWnZyOTcrdTZlNGV0dHh2UkJHZXRhUE1hUDFNU0lQb3NDYUt3RApudXdCTW4zakFQZ253dzF1ZmJzWDd1d2VPOU4rODdkTkovWlUvbGZkeWordEwvalB3dnpmcVFvUGhtZVhPRXA4M3cyd01oRXVOK0haCnZDNjJOL0dtbWZoWW1BUzdtQWdqckQxcjg1T0hqdjlnVDAycG0yMmdvN25Tblo3clNZcHpvMG1abGdvRW5hVmlEQ0I5REwxNkU3UXgKWlY0dHhxK3NlWDBqVWp3L1JuejVPNk92bjY4UElGdU5nVjRhUU1iRWVYNWVBQ0NvSDlUUGhLNmQ2Ykdhb3llZ2IrQytLbWVxQWdRQgp5SldSakRjZEl3TVJjS1ByY1FZQWdnTitzS2svMkc4MWExWHVESVVMUmNFMXo4a00vM0g3eGhOYzVscHNGVXptVElzeDhvMXVtdk1MClF3UVFMaDVjUWxvUExRNGdEZ1B1K1RJd0VJOVZpQmtJbG9LMEFOTDBBL0dadWRwb0RJVEVzeFNBdUdhRndXWnJEdjlwMDlWTHBYYkwKVnl5bm01aVpXWGd2bzQ3SGJIOFcyNnlXdHM5Rll6Mjg4YnRtb3hybmt0b05mYU9OY1R1d3BpblltREt2Rm1OUy9OTUZGWDZ3RVFBTAprVTFQSXhxaGdjTDNUc1ZYdnNkV1VSaDBFdjExTThzM1BiZ3IxTlBWMlRFcDNPVjVJbG9XbnlvREFPS1pab3NveFNLbUROY1A2bUxXCjZJZXM1SkZUK0JTbE5sZ0ROU1loL0taQkROMURBQkJzdXpZR0VMVlllMXc4QUZBK0hGMk45VXFiNE1kN0diakg0QjVpZlFnSGtEWTQKZ0JCOTRDUm9iQmowWnF6MVJ6TU1HdFBQUnJUeUJZSTZmaENBOEluTUFFQmN0enFlK3c2aFo0c1hWM1B3dTJhMm9lYWtkOE81ejdoKwpFSUJRdkRrdFN3R0k3d1pITEhweDYwU2UyOFM4ZWdDNHNLRDJtaTBuRCt6NVU1cjBaNTRPaDN4NDIrSjlOLzM1bzhiZVkrc252aWg4CmRLSnM1TXltaDBlM0RINVozWDltVGMveHF1R3piUU1YeWdaT3JnVXhZQkNNRmtDR0JscWlJSVFEeU5CQW1ubUp4Q0tRSVlDMEJvSUEKR3I3VUFHTEFvRVVLUWxlYXRMOXFHempYL3VUV25xbnUydHEwcElCbCtjbnM5WEpCbXB4WEhzbFB6aE5rNXpnbUo5SDhzdC83ZGRHUQpXdG0zSUxzM25YcjNTWGIzazR5YkU4bzdrOGtQcG1YM0ppVzNScE83UitXZFkrVTNueFgzcStXMVA0dGRrVmpFSzFYd0MxSUZxN084Cml6Tzg4aElkVm91WHhYejZvd2IxeVB1UGJ6VWFPdWFiQmhCYS9FSTd2d0NBTkIzZkhhMDlIWHNXK24rc2Z2RFJWLzlWOS9HbTlOMUIKRVZVMmtadFo4bHBxZElORlVwTnQ2Z1p6ZWNxeWNMODMvSGtyUWdTVzhaR1VPRzlhZ29nbEY2Nkk0TC9POS93VzEvRTFIc3VFNS9oMgp3TTlxczA1LzNPNWtMZk13bHptdnlMUzNTakczOW5WZ0pDNGE0NXFRUWY3UEFjanduSE9qZHVhWGpHN1pTNmNmSXdBUll2aEppRm1VCkxOOU1sZ1FRbkFHdEJaRG1IMlZQaThZUDVFSmpCakh1Sk1Qb3JUZWhnOVpsQnUwNCtKM09GS20yaFptb0h3Z1VUN05VQUNBUGFnbVgKVmV4R3pRWm1jaUluZXByQjF6ZFkxVUtQTithTzVyZllKaTlpTkR2ZS93NEFDY3lMK1daRktIQW5QRE1QL0JaamtLYjhvdzhnallGZwpQeEI0dWo2QWRMSE1pclF0bXA1Ymt5RVhPeksvczV6eXJ2WHk3MzdQTzBzZDA3NlEyRDRYMmFpTzM2T09hNW1LckZjbjdZYmJ3bzNvCjh5OEF2V3pRQ0dsc0Y3MW1TaERzRFdxZWkyMGJqOS9wU0tHOHUveGJkSnJKbXlUVCtaNktYLzZnd25PNWtyTWl6ZHRNSmFSbWdtc3YKV3FtQUxzWFh2SEQ5OEVrcElGeVNna2RPQmd4Q0lWZ0hWNUdlaEF6ZG93MWlrd0dBdkxGRFdPSG1MNjErdkNrNVhwUk1FRDBBR1NpSApHQ0tNWUxSTjBKaUVJSUI0OERRTU9QV0hlQndZRGlCdDRRZitGbC81MGhnSVA0d0NuazFSejNPdkYzR2FzWTZmZlQ3OC9mQW5CRkNiCm54QjJQUk1CaEpiR2dIdThQRnRCakFHRTFyL0VucnIxTHhGN096em8xQjEyUU1PMU9mZHFkNWRLc2FDdU1PLzM3VzIvVmNaK0dPUzQKdnppaDV0d25xeDZlcXBvNjNUSndKR1hneTFVUGoyenFQN214NTFoWi8rZDFJNmRxSGh6T0dUeFpqZ0MwaUlFSUFOSmowQktMWWtRQQo2VEZJQ3lDQ2dSWUJFR1lnSFlDTURVUVFqeWFhUjE3Yzk3aWpadWJtemw4MkZVVlp4Q2JhbDJmNkZpVHg4dE81aFRrQjZ5UGRKUWtXCmNTWC9kbEU1cnBiM2pXUjNEU3R2enlYZG5aRSttRTE1TUovUlBaUFZPYW02Q1JtVWZITXc3ZEY4ZXNkTTFvQzY2TS9YWmZTVUhOZTgKUkg2T2tydE83cG1iTGlySzhNNUljTWlKdHBJKytQS0QrYjRsbDhDTTZmTnFBRUsxSHdRZzdGVFhGc0NnNmU0OXozcmJ2enF5NDFmbAorVlZPMFJXbWNkdk5sQzEyaWliYm1FUG1pbVliVmJGRmNnZ3BqcmNpem9zbUMyT2toSlBrQVRTdTJNUTI4QTFCRkR2VE4zaXRUMEJaCnFGT0tQNURRNjQ1bUpsNEt0OEJiWHh5SWoxeHBRWXBqbTBWYm1VY2EwK2NsQVlRWjZGOEFNczVpK3FHRnZCcUE4SWNSeWZMTlpBa0EKNGZyQlRzUFFyWWpCRFYrVUtEU1QwSVVod2ZlWnUxTDFER1FBSUx4Z2d3Tkl2NWFqSzlLNDBpWE81R1EyTTlPRm5Pbk9nT0p4Wjhqcwpsa21JK2lGV2RKYk1FZ0R5WktaK0xRQ2hxVDhFQUpXQThGaFFRanhXSWI0Y3BnRVFLNDNIeUVLcllOcm9Ta0ZFRCtsaWxyNjlZUFdjCmVyTzFtUldUWWtKamtEMisvWHBQSWp4b0FrNHVqbTlUeDdZL2lXNmFUbWhTeDZMenJRenA4eThBdld5aXRRZHJFR1luUG9tc1U4ZCsKT0JuZDBNUU9zeUV0ZjV2NmppWFpkRTlUeE1QN2RUNFdLVHhTcG9nT2F6bGNzZ3kyUlZObGhMNGZsUTVBNUdRT1dZSENwU1J6S1NrZwpQS29TQnFvSVJnOUFaTjBneE9jQUNPMGpRd0RTbkFXR0xYNTVrYlBGNUF3c2FZc0RDTVFBUUliQkRzZlFHbWdyalBic2R5TUR3ZnUxCnY5WG9SOGlHQTZOUjhNVXZvQk9CZTUzUXN3RndKMEI4QUhESFY0Q2FuWUdCMmpEOUhBb1FRd1BoQUFKQitubDVBSGx6NExtblh0dzYKb0I4UnQ4NUx1SVBMcmdyd2J3bnorVERJbzJsYllmV3RvOVhEWjlmMW5WajUxWkhTd1MrckJ6K3Y3RCs1K3RHSk5ZTW5OL2Q5WHRSLwpQSFg4Wk5uWTBjMDRnQXdNQkhmSUd4a0lNbWlKeGlCOFlMUWhnNVlBME5DbEdnTUFEVi9hamtVRElHTURHZElIeThDNXB0bTcyODc5CnJqQlhIQnR2bFpFcExwU3lDNVhlZVhKQlliR2RLcElhRmJYN1Y4VWo2dXo3YXRuVnVkUjcwMFdYNXpPNzVoUjM1dVYzNTFLNzU5SnYKUFVucG5wSGVtVlRkSHN1Nk15dnZtcEU5VmljZHZpcjN5RS9pWjJWeHMrU2VlVG4rSlVtZWlhbjg0blRlZXA5bDhmdFcxenpyLytCeAp4NTVGWTB5ZlZ3UFFXRWNiQ0dLUVp2R3JlOC9UQjRjZS9uNUhqWjlqM3J1c2RrZnBIcnYwV21aQ3JYMXNsVk53dFZOaXJrVjBJQ1hRCmd4ekVOWXNPdEk0Skova0dtemlMVEFMOWlnNEVmbjQzK3I0NjlxRTZibGdkMy9YWS8wZkhndDhSOFpZbE0wM2kvS2tlOTQ0MmxoY3EKTEdsSm5PWEZ4dlJCSVM1NG9TeTJLUGJQQnlBanIrQXhwczgzQmFBUUVDSjZkSStCSGpMOGhQclJBNUExT1ZnZlR5K09vWHRlQkNDdApmalRsSCt3dkZtRlBpd1QwY2FERWdEaFNzU0lRUXpPUUVBS0lpdXRIZ2V0bktRQUIzR2hEcU9MUUFJQVMyTXgwTjNxU095M0xpUnJ1ClFsRzQwTUE5bWNZQThtQXFRUXpkb3cyd2pyRisyTXpVcndzZy9Pd0xiZmtINm9mTEtFRjFJTmdTQk51aTlRREVwV2R5NmRuYWFBeEUKUkk4K2liSVAvM3JkbHhmV2tHaHZXTkNXbVpKTXlnUkJUNk5iMVFtNzRTU2JwRjJ6Y1hDeXMxcTZDMDZ5Z1dONERPbnpUd1lnbzVHRwpPbzc4QTJMd1hwQkU3ZXJncGxscFcyZFFoYzFicjFFWU5yYkxUY1FpbTJmcW1oaDJsaGU5a0dPcUVORXpSQXc1MzdSQVFFdEduYzU2CkFBSzRJU2Q3a3BJOFNmSkZERVNSYXcyRTFzaWdma0NJVTZHSjRXUERoNGdBOGlLRDVIbVRDMkVvK2VDbXlEUlRhSm9tSXFWaUFIS3IKUXBwQmgxM2dSMTdnaTFsbzk1Yk9NZGhCR1REYUo2SXp3bkFiNGFKQ3FQSjBobXRobXBZZ2JFd2kyaDJHN1NPREc5MVIrT3g2RUlIbgpkbnlIRjk3eGd6YTkrNGtQK25zZEN2UjZEeGdJa2dqT2ZZYng4bXpHQThRRDRzTnJCdnJ4RjdTakVZamVYTmo0REdtRkhTd3Y5dmlCCm1MM1RqNy9PaTEwQkQ4SGdiaGR3Mnp3NXJTRlc1UWMzTnR6OHJIN2c5TXIrWXlzSGoxWDJuNmg0OUVWQjMrZmxlUHEvV0xOb2xzSVEKbnFGVEZYMm4xdldmcmdBWk9MTWVaUERzaHFGekcwRUd6MjdDUXh5V09IUmgwOUNGemNNWGtZUUFnN2FCREoyckhidFlOM29CU0FpZQpyb29hcFlldlZJTU1YZGtHYzdsdThGTDk0S1VkSUFNWEdrREdMN1dNbk5zK2RxSGg4Y1ZHY0RGOHJuYmtmTjFqOElET3VpY25hOXF5CkZWRnVLb1ZIVHFwbnFseVlveEJrWlhobnBMNFY2VlhZbER6OUxQWEd0T3JXYkVUUGJIclh0UExPZlBiTjJkU084WlQ3MDZyN2s1blgKUjNKdlRLYmRtY3Jybml6cW1vdDlNQXUwbFByTG96SFUrQkpPUVRvblQ4VXJVUXFVUUQ4cDNIeVZVQ1YxWGhWcUxyMTU0c05uOS8vagpjVmZUVkhmTDRKWHRFemZheDY0ZEdMdStmL0oyN2VNYit3QjNSanYzalhZY0dPczgrTGpydmJITzkwSEdPL2VEVEhRZDBMUS9ZNXZZCng3dDJFY2NlRXZ0KzRHSDFWL1pPZDMwdzJMbTc3M2I5NkwwZDZ0c2ZkdjVrNjBhcjRDcmJvTzB1b1R0Y1EydnNBN2JZQkc2MkQ5OWsKRjdtZUt2RXlpK1ZRSk5Hc0JESFRQNG91ZGpIaHVuS0x2YzgvVlBTcmxVUHF1SHRQRWg3TWdaK0pQVThMWnRWK1AvM2M5OXN1VWFiZQoxaVp4M0RlODcxMnVxeW1ydEtQN205T1NuQzBMTE1ILzdwdUYyVkJsenVhcDVxUUllMFl5VVQ5NFM1QWpVd0pDNkJEQ2h3WnBBR1JICmowYkJhV0pOaVFBeHBvOFZOZHJlUE55YUhtSzVJazFzZDhEUDZZYzJwQ0liT21GYm1YNFFSOEEzc1MwMXlJYnFiMHNOUmQvTitQYzAKSHRRK2JQQ211cmZXeUFESGtPYVZIU2xSOXVSSVp6cHM5YlVtd1ZkMk1vdTJwUWNiK1VZVEk2bm8zdDM0VHVJVFVXWGxPYS93bk5jaAozRW53RFFZajdhNHgrRSt6MDU3aHV0VHJZTysrK04vQklBaEQ4Rnd3clhUQmYyNXcwNUVSajBKc2M4WTdmbEJmTXc0Z1lsbklnNUdCCkpRM1JSTXNndUJDR0NFV3M5R0RYa0VyNFRVQWxsRVhMUENEQUl2QVVDeVFlZXBwMnUxYTZGanBHb2FkaEQ4UDNjK1ZvaHo0WFlEdmgKQy9IRkwzQU5iN0pXd3NDQ2tJWkI0SWxzZW9iK2pqQVl6RU9aQWlZTW41SEZwK2RneVJVdzhnU01BaDR0ZStTcnRSczJ5ODNvTlBxSwo3OUROdi9NRnQyUk8rcjZoUDc1eGlIeFRNZjZFL3pzL3B6RzVVSUFwUXhxbTVlM3pVUTBTa3YwSzByc1dEQktUK3M3VHVmcnFsUklCCk9WWEVTT0F0S3hCUzVXai9GOTdYakphMzhBSVBsNExwaHdURWs4bW5adkdwR1R5cWdrTkp3QjlnRUcwTEVSWUNnTVNrTEJCQUhIU0IKSmlMNkVNNGFRMHRqQWxJbWlnblhZd3NDRFZFdzhIQlRYU3VQWGhYSDAyMFRGcjFTRVBHTU1MMUNrUnZVRDVvTUJMZUd1ZFdnK1VBZwpjTlhNWXh0UlA2OEdJS3o3cDhYWVFEN2NWdFQ5Z3dBazlLZ0g5d2VLZHNlRjd3dnhiUmF5ZC9IWk5kNDhlT0NHaUZQbXo2djcwWTZxClU3L2Qxbk42YmUvbk9iMkhpL3VQVlBZZHEzajBlUWtSUUM5cG9FVVpoUFJEQkpBMmV2ckJid0w2QUFBTm5hOGFQS2M1WG43b1BFRFAKdHRFTE5TQTRpWWJQMXcxZHJBZnB2MWc5Y0ducjRLWGE0U3YxdzFkMmdBeGQzajUwdVdIb0l0d2hQM3lwWWZEQzlwSExPOEFqSDUzWgoybmUyWnFxei92d1BDa29EbzhMdDA5SUZKWm5pUW9Xd0tJMmJrMnNobHdvTFZhZHZKQS9QcDEyZlRMMjNrTncxS2JzekZYTi9XbjczClNmcnRtYlR1NmVUdThaVHVxWXg3czZydXFZTE82YlFIVCtNZVRNbUdKa3RqZDBqTkpBbkNyRXhlUWFxZ1NNbFBUeGVWZ0lzMFVZN0MKWTVVdk5Xclh1a0oxenc5SE94b2VkK3daNzNoLzZ1YUJ4OWNQamx3K05OYlpQSGFqRldTMHF3VUVYWTkwTmc5M05NRU5YNTE3WVlrSQpUbTdjRGN0Rm5idkdPdHBIcjdlQm44YVp2TGxyN0ZvYmVNcElWM3R2UisyVCs0ZHUvbjU3R2QrdTBpbXl5am1peGkyeXhqVnNzMlBJCkJ2dXd0ZlpScTIyaXhPYmhJdE93V0hKU0FDazAxRHpLeThUTksyR1Q0dlp3VXU4eklKN3dHNDlETzBlUmdhSnZUOFhjbVM1OHBPWjcKcnhhLzVoNXJrVUF6Y1lwMDg1N3ErdEY3VzZ1ZHpZT3NWa2lkbUhJN3N4QUxTcXcxUlc3SGpMZGhSQnJYZnA0UElKdytTRC9QcWRCbwpBUlJqUVFtMG9BWTRtMmNtK0gya0NQbU5wODBhYzNLSU1YMTBBSUluVHlVNDBPTEJWN0l0T1FiclZsbEVFaThCSUNJRk5GL3p0cVlLCmQvTU1Oek1WTnRnbXdaNFJZMDBKZ2Flckd0Rm4wVGNsdnJ2eG5jUW4vdjBBUXMzUnVzb05MY3llSHU1QWg4VXFXKzE3b1Q4Q3VqQisKSGV5UkdpcHBveWNlZzV2d0htMGNDQUFDWG53K2dQUURhemtFQUVFRGFRRUUwV084em1WdzAzaDV5NkRNQTZJRGtONzVwbG40emNXaQpzNHRHUHhpQU5PSXhCcEJaaWNDOGxBQ2diQnhBS01BOXlFQWdHSUN5SVlBMEJrSUF5b3Z5TEZ3WTN4b1Y1MEpic2NLTTlLNDU5ZHNQCm91cG1ZL2NZZXVKL0xTeit0OFdZT0M5SWt6cXM4VWs4a0ZEemVudC9NblVGaS93dW5mTDJwYk9GUC91Z21MTThXY3lRQzB3TCtPUWsKVENxYVlZWm9KUXRyOThIMFEwTHJYOGtBUUJ4U0tvZVV6aVduWVJVZ3pRT01nMVdQRmpFUWNnK3VIKzFJYU0xa1JhUWZQUUJ4M0lGNApLcldzMFFYcFIyc2dqRDZvbmRsMXZUYWEyZERFTG1rY1FIaWhDRHNSREJ1TmlLMTJvVUFKc1dzeC9jQ1JQekRZMW5laFo4TlNBQUw2CkFRSDZRUUR5RmV6MXg2SnRndFlaQ0p0ODJBU0xQWjVBUDQwK1BIZ09Cb0NPTDc4bDFHZC9hOU1mRlpKZitIbDk0QUhla1ZmbDdiWTkKd3FOMlgrMjZPMStzN3oyN3R1L0xvdDRqQlFOSDFnNGMzZFI3ZEUzdmlkSys0MlVnL1NmS0RmTWlBeGt5eUxnckNBczZLOE5nL1F2YwpnNG1uR2dSY0FBTU5Zb3RpOEpSNDdLQU1EWURPYng4KzN6QjR2bkhvUXRQSWhSMGdveGNiVU5CTjhJQ2VzOVVEbCtzZlhkZ0dNblIxCkI3b2V2dGJRLzdlU2YxdVRtQ2xTeXR4WHBuT0xaT3hjQmE4MG4xZVE5dTJFbUQyL0xKMVJLKzdOeUcvT0tEdW0wKy9NcWJvbmxMY20KVXp2Rzg3dG5jKzR0QUFuRjM1bVIzSnBXM0hvU002UXU2cHhkTzZGTy9kRW5pYlRFSkRlbDBxOUF4YzFUOGZPVHVSa3FmcTZTVjZEaQpGV1dLeTJJZGt1WGNwTUhMelZQZE80Rjd4cTUrZi9qS0xqZ2E4ZnFINE9mWTlmMVk0UElXT3VrQ3ErNjBUZDZFQjErZzVTM05CbmpvCm9YMElROFJGTWJTVU50TFZpSGEvUDdxODdkbWpENGRQSDJxVUJxOTA0R3owak4vZ0hyM2VMV0t0YytocXg3QlNwNWg4bTVoMHN3Z3UKSmN5YkpmT3o5UEVqU1VVbTl1YlNyYmxEb3dsamFtQWRRQjhBSUhBUjFUMFpjWE1jL0FTUkRhc2xPdy83dkdYdC80YXZ0ME1NeTBUYwpXQ2hWUC9qM1hUVkZiSHF3SXluRmxoSGpaSlZBWHhadXowb2dBc2hBUDBzQkNJaUJhS0JGTVVTTU5WVmlUUSt6WmdSYVUrTzV0aFZpCnAyME9qQXh3anpGOVVHeEk2RnNaZnNkckJRQXVGbUhFaXdCRWZMQ200UmQ4bzR0c2Z5RHgrMTBJNzRBanZkaUJsZ0tZWmJraTJJRVIKUnJRTE1jYnZpNys3OFozRUozNWRBQkVmVEFRUTJoMEdONGhoaTFub2ZtdFNPUHJudnhCQXhNK0RLd2Y5S1lnR0lnQUlXeElsbkhlQgp6bDBub29lSUlYd2hERnNMMHkxakdRS0lEaGV6OE5JTzBneGlqYWJZbzkvYXJIMmlKdTcwVkJCd0FVLzFZbVdBYUFDa293L2UwNE8xCk5oUE91eUM2eDBBL2NQQ1BFWUNRZ1ZBekVBSVEzNndBbnc4RURJUkNCQkNmbWEzVGo2NElCRk9pS0ZNLzIyN2w4RHAxK1hKTHNpbUgKc21JK1pmOTg1RDlQWmVWL1d3eDk4NkpneDQwOURXOVF4N1g4ekR1ZFNpY3gzbjJUUW50N1gzUFF6U3UxbnN1VHZPaVpJa29Pbnl3WApVQlFDVXBhV1BpclU3QXpvZzhJeGxYTkpRRFlxTGtrSkxyQW9lYVEwWS9xZ29OWnBQa2xsWUNEOEtBeUQ0UFF4aUltbm04WTBIaTRWCmVOamFRWVhhNk03ellydXRnekZpa0c2REdPR0FNSGhHR0dFMEl0cnRoUUFFNkdPZ0h4R25VY3h0ZVNHQXNENW9PQTBJQVlpd0RWN2YKUU9BbU5nTWFBUWdiZ2RnY0tOb2Q2Vi92elc5eGRxNFgrbFNEanhIcHNldkRxdGFlMDJ0N2pwYytPckdtNzNCRjM2Y2JoNDVXRGg2dgo2RDI2Q2djUUhoeEFmWit2UnVuL29veVlKUTFrM0JXRUFhanYxTWIrMDV0QWtJUlFoclJWSDlRRE5IUytDZ1VZU0xOd2RuNGpxZytCCmV3WXZiZ1VadVZBL2ZMNU9VeGE2c0EyYkd3VG5Sd01iZ2ZTZjNRR2NOSEN1b2Vma3R2NnpqWSt2N3JyK3ZkZzZXUVJ3ajVKVGxzN0wKbDNIelU0VXJrMjBrQ1o3cmxOMkRxZmRuVWp1bTQrL05TVHNuRlErZTVOK2FMdTJlTGV5WXpybnhSSDU3Vm5GL0llUDJRbnJIazh6dQpwOUVkSSt1bmdJRWVxZXl5VkZaSjZkNTVVbEVXMEUrNkNCYUJVb1U1eVp3OHVYdHB1cWhJSmNqMko2ZWQvRVdGdW5mLzQ2NEd3SlRICk4zWmdGN3ZnWkdxai9oNXdQMWJzYVIyOXZoTnI2OW1GZmd1UU5ISVZLd1hoL1VOWWNXajAyaTZRNFk2VzBhNzIvaXZicCsrMFBMMTEKOENjYkZjV3U0TCs5dEp3VHU0b2RXZVFTa3U4UWxPc1VudWtZSzdPTWlhS0VCekFVSWUvNCt6T2ozZDV5b2ZQejBxWm1JNGZVb1RkRwpvbTlQQVFBQjhTUThtQU1HQWdDS3ZEVUJJaGxUaC8zZ1U5RTd0dUgwS0I5S1BJOFNSVE1KT1BFZmhYTjkrOS9iVnVGS2luQ2lKOXViClMyeFlFWFptQ2RhVXBLOExJQWZtSWdZeXVFY2ZRRklyV3JnMXc5K01GR2hGbHRyUjBpeEljWmJVSUdQNmFBQkVUckJuUk5qU0EyMW8Kd2RiVVFHdWFyeTBkZlBISEdIKzdQeDlBQkhsbzlZTjluUWZ5Mzh0Vi9rRVdkY2pKSXQwUy9Jb1dDM1FGdnVDSlZuaWhXdEM3Rzk5cApBSTZYZWFubkFBZ0xvYmxIMDgyamN3K0swVk4wMGJwSE8vRVoxWFdRYkxBQ0Q1RkVtc0NoejdvZy9Ud1hRSW5Zbmk5d0ozWU9sM2JSCmlnMnN3TXdFSVFJSXhKV3FPYVNkelFTZ1VlRWVJaTU0SWVoZ3lRVFdRZGRJUXVnYUFZaUREU3JFOWNNenk4R0NUclNBSXcyUldsQUkKUE5MUUIwMEFNZ2krR1Y0TElOUVloTTBId3A2SUF3aUVDQ0M4RkVSY0YrUFNzM2RXYjFxWTJrUmptVEFwcGxhbXBqSnJsMmZTWGJEWgoyWmcrL3dMUXk4U1lPTThObkRXUXNGTWR0RjBkM1hReFpBMkZac3BhL2phRi9rNm0xR2xtZXJ1WUpSZVFjNFcwZEQ0bFJVQkw0cE96CnRPNUJ4SUcxSDAzSUVpNVpCbVZEVmZDcE1oNGxDYXBvaGNxWVB2b0Ewak9Ra0p5QjluWjVVN05Rd0RYcWQ4WkxSQVpOMHhCQUJnWkMKMThSSnpXaDdGd0tRcDh0YWp1czZPTW9aUmR2NGpCOE5oczhINHJOcllQQm1aMnpERjRvR1FPd2Qyc0lQSFBmc3pZZGpENThQSUxRTApqQWdnUC80ZTNFQllON1IyTFF3REVKcDhpTTMrZ1dVaGNLZkFwU1ZBdUV2QXF4SnhLb1BZdFhzMzFULzhjdDN3NXl0N1B5a2JPRnc1CmVMaW0vN05OL1VkVzlSMHI2Z1U1dnZyUjhaVW9mU2RXRWRNUDZFUElBS0FQbGlVTFFxZVc2SThtOUFBUjI0Q0d6bGFCREorckJzRjMKaDhFQmllY2FRWWJQTjRBTW5kc3hkSzYrLzF3ZENIWU5iNElNbnEzRE0zNXgyK2k1YXBEeEMzV0RYOExOL0kvUDEvZDl2dm40ZHI5MQo0VkdSOXVuSjdMeFVmcFpTWEpnaEtvaWcrY1UyLzJmSm1Ecmgxa1RPbFdsWjkyeGl6OU9renZHc2UwK1U5eWF5NEFTZ0o5SGQwOG83ClQxZDFMdVJmbnBUZm1sZzdxYzYvMGlzTDN4aTdJaXBMa0pzbXlvM21wZWZ4aTFLNDJhbjhZcFVnQTVhQ1BNcVR1Um1wd215ZlpVWGYKMzdCUjNmT3IwYzdha2V1Tms3ZmFocSsyamx5RkpSK0VHQ3g3VVRYbzhmV0RNSnAyWmd4QUNFYVllUENTRC81RWRIUDQrcDdoYS92RwpiclROM1d0OWRLeXVPcHk3aVI5UUxRd3Y1VVFVZVlUbU9QbG5PQVJrT0VVbU95WkVtOFg0bVVaNE1lVUpsTENnYi90YnYrMGVkZkZoCjZ1aXpxSnRQZys1TVNPN094ZDkrRW5OekNpU3Vld1lrOXRZMHVJNGZWa2Y5OWJMSFd5RytkSDZvYVdvd001NzF1bThTSjBnOXRIT2kKKzRQZGxldmNhWkdXeStLZExKSnNhQWsyMUpTbDlMTWtnQmp4dXVVd1FyOEk4U1lSTlBZMEdlUUlJOGlHRmdRdXdLdGhLbG9TUU9ERAoyTUFwT05FZUZ2bnU1bmxXNUhBclNnQkExVkpmL004QkVCYnRFbysycE9ITTNCVXEraWlJMys3QXpMRWtTK3hvY1VCSTltUU5WbDZHCkxDaExnZU9WQVdSOEovWjAySmlNZ2xxdHRZM014UFpxaEtSRlhvY0FJTTJTRmk0YlIzb0NDTGhZOUpSVFI2MTdVT0FSRmtzQWlIQmkKRjl3cEJoQ2prUW9BRUdZZ1ZBZlNsSGFNQUlUb28vMkpsM21nbkR4WldTRG9jQzVpTFVkYjBkSHNTOWNXZFJDQU5FZTQ0NkJCdTlsaAp0UHJSQ01ub0FVWVMwaFdFOEJjRUQwT2RRRGlBa0lFTUFLVFZUeWFYa2Y3amc1Vjk5d3JvNXQ4MXA1dWFyVmkyd1RWZ05xb1Jyc3NZCmY3WC9LeThUSStJOFAzQ3lRSHlyT3FSUkhkWDBNTFNTUWw1dVNWMEJBQlFodEh2NmJFdVVlenJQTkJmclgwNFIwbVZjMDNRZXR1Q0YKU2o1WUZFaENISElzaDVTRTNWVHdhWWw4V2dJZ0VWWVcwZ3BKUHp3UVV3MkQ4T1V3SVNXTkNDQjBEZlFqTXVxVjFnR0k2N0VaQmEyRgo0Y0gxZzgwMjFCV0JjUHBvTjN6Qm8weGh3NUNCZTdUUkhIRktBQkMyM2IwV3VBY0Y2TWVMMXdyb2c4WWVQZ2RBZm1LMEIzNi9BWUNXCk1wQ0lEYmQ5d1JQZ3VUdDhlTmlPTURaNHIyYWhlNVBBc1NxY1hiTnI0N3FCcSt1SHZpenYvVXYrd0djbGc4ZldnUFFmTFhsME5MZnYKZUc3ZjBaTGVvMnY2ajhHZWFHSUdqcThDV1pSQk1Fc3NpaEdYdy9DcGlTQURaOWFqM3FDK1UrdUlnUWFDTFVId1NQbkJNMXN3RE5XQQphUHFIWUFWbzAvREZ5cEZMbTRldmJBRVp1N3B4L0hybFpHZjF6TTF0VDI3V1BibTVIV1RtUnYzVFcxVWdDOTAxNmp1MWN6ZTJxdTgxCnFlODNmM1dzNUplcmZOZEZLaE5jc2xJRmVUSmVSakk3VyttaGpIV0pTVHgrTjNOUUxidjNSSFZyVnRVNW8reWFrZCtla2R5ZGpPc2UKVm5WUHBkMmFBL3BSM255UzNqR1YyVHViTXFsT3VkSWRHN014d3lSWTRwOG5GZVVBN3NoRStYbnNYSVZucm9wWHBPQ29WUHpjTlA1YQo2Q0ZoZHFUNXlyVlJxVTl1L2J1NnYybjZUdFBNbmZieEc2M3dHUGJielJOZHJTampuZkNrRGpTdEVaN2FnWFgyakY1dnd3SkxRYWdECjJyajdCMVdNSG5mc0c3aXkvekdjYjdTOTkzQjlaUUMvMmllc3l0ZDNKUys0MkRNZzM4MHZ5eVVvM1RWU2FoOGJ5b3oySWNlRVVTTEMKV1VuMkptYkN1cC9tREk2a2RLbER1a2VrdCtiQ3I0OGwzSmtGREVJQUF2b0JBVGRqKzlUUlp3Wjg2R21DTjhYaERHa0VJeUtFNUdkago0dk9uL2JucTRiMWp0L2R0S3lvUVdrZ3Mzb3F4SmlYYU1qVzd2VjRlUU1UcnBhSnZtbmpBRndkbXBBMHQyTUkwME1JMDJKb1NCbXM4ClJ2UkJBYisxb1laemJWYkovSDZiNVBjcnRtV1JKU2tJNU9zQ1NLK3FRZmlPdDZZbDJiR2s5dVlTTzFhMFBRTmpDaVhXamlJeDFnL3gKWFl5ejZLOWVBVUMyMmpjeStLZHBYd2Y2aHRnRWJXVWFndVlsb3ArNjN5N3hlZkEvQWxFL1JBQVpCSjZHd1pDNjBIVWgwbWRSQUdFWApjUDBMSVFhSUIvS0ZtVU1FRUtvRFlTVWZGVklPY1cwTGo1NSttRGtjNkJWVTF6RmtFRkUvQ0VBSU4wVDk2UGxHV3hreXFQM29oTFNFCmhMREFOVElVOURId0hpQzhDRVM4QU80QjRkRFRRSDczMFlicloxSkkxSGNZdExmTVNHKzNla1ROUnpXcG94c052OWYvbFplTUVYR2UKbi9tb0JyZ0tGZ2wzeUkrRmI2V1RscHN4VE1ua04vMWQ3V2ZuTnloOHMzbWtUTThWY21nZ3FvSzlYTWFqeUxsa0dXWWRQUUJ4U2ZFOApVeVZ2ZVE1L1JUYkVEVG1PVDVFSUtJYnUwUU9RMWtEYWFZbzZBT0ZCNVI5akFPRXg0WHRXODloVklIcnJWdUFlakQ3YWFJcEFlTDJIClVCeUNhMXN3K3U3UkRvbkdEc1RBZyszL0FpS0JYY21lVFNBaVRqT21uMTFJUDg4SGtLOEkzb21OaE42TGVvQUFmWXdOaEMrSGlUM1IKOEVQNGR0aE8rRVp3SjUrN3cxOVVIZTdhdEc5OWJlZmZNb2ErWE4zemNlbmdwNnQ3UDh0L2RMamcwWkhpUjBjTCs0NFY5Qjh2N2p1Ngo2dEduWlgxSFMxRU1HTlIzUXBQK3oxZnA1VVc5UVFZR2VuU3F2Ty8wbXY0emF3Zk9yaHM4VndGK2dvQ2JRK2NyaHM2dkg3bFFPWDZsCmRxYWpjYmFyYmE1cjkyem5IdlZYTmVxdmFwODlxRis0MXpCL3UzSHVWc3YwamRhcHJwMzlGMm9mbmF2cE9iWHQ3b21xbTU5dHVmNlgKVFpmL2MvM0ZQNjQvOWZPdEovOWo2MmMvV1AvblEydCtzN1B3bDgwRlA2bkxhY2dOYVlqeldobVNMWFBQU1JYbEpna0tzenhMcExhSgowcURjK000aDJWZFBGTjNUMG50UGttODlTYmt3bHZKZ1B1SFdSUHF0U2F3TmFEci94b0tpYzBMMmNLcGtZQzdueUhVQlB5M0NORndxClRsZDY1MlY2RnFRTFY4bTRlU3JQakRUQnlneHhhVEkzVlNYSVV2RktVZ1VGU242bTFEVW5SeHg3K2xmVmZSY2ErczhkSEx6dzN1T08KQXhOZGg4WTc5eis1OWY3OG5ROFc3bitnN25sZi9mQ2d1bmVmK3RGZWRmK2VoUWNmTFR6NDRkUDczNXU5ZTJqeTVwN0hYUzFqblkwZwpjQVZOZTlJRm12ZzhjcTE1K0dyVDFJMDlROWQyOTF6Yzl1eGgyOTMvVjUzbmJGOGRHTG5HMTJPdDBMK2M3MXZNOXNsekQweHpDWXUzCkNndWlSZmhSNDhMb0ljTFhCWllPMHNEQi92eXYxSXJyazNHM3BxVjNwcU52VE1iZmZnSUM5SU9xUVZGZEV4RWRqNU1HMWRGL3VPNzcKcHAvdk8wbEJwR0FSWFJSRFQzSjlMVWptNFRmV2VYRGlYdFhRdFE4YVZoVnhtS0VPZExrVkUvWUFMYXFmRndLSWFDQmp4NkNBWDFtUwp3cUJSS0hCcHpJRUp6V0ZMQTJRSk4zNndCa0MwR0N0YXFCMHR6Y2RwdjVmRFhtdEtzams1d0pJS2owdzNWb0x0aXdCRS9OWUgrckdqCnhMc3dVMjFNazZ4WFNCeW9Na2M2bWdLQS9TdjBBV1R3THNaWjlGZXZEQ0R0a2Fnd3hGZkcxNzlnNFFkcmd0WlVnN0JqNTRHQlVFRUkKTTlEaW4wY0hJRDNvU0l6MWcwamt6RXpDWnY5b28wV1BHMTEzYmFRZk5PMFFsWGFnZmdCOUFGK1FnUXdBUkVRUDBVQ29aMGlqSCt5NQpDRUM2RlN2dHdwWjJWVXVuSHl5YVhWMEdTMkI0RnRVUFB2R1pHTTNqbHdBUTN4eWFEREFJQnhBS21obXR0VkU2dmcvLy8vM0hobE9mCnlKYVRTV1RLdDVqVU4vZTd4NmpqZC8yckF2VHFNU0xPODdNQUFCVFZ1QkFIbnpnUlcyOWhha3FoTDZPVDN4TFlXcy9PYjBzSlN1VlIKbGV3VnlWeXlpa3RKOFNRbndyVXRCQ0NOZ1NDQUlJOUlLbS9xYW45NmpSK3RTa1F1NHByS2VTU3BnS0pyRWpJTWZBQTBFS0VJcEFRQQpFcE1Yai80QVJoandqaUFtaUNrZ2hNR0c4Q1pCUHpvQTRUTitpUFRSOURYcjZ3ZC9RVlQ3TVFDUU4zY0hvQThJdHZLRkhmTXUyZ05QCnZZREhuUzRPSUQveFFRQWdiRHFpSVlDMEMyRzd0U2VDd1FBRFlXZUJOV0lkMEhVaTluYlVHTVRoNy9CeDM3VTVkK1BkbzdVakp6WSsKK25QWndOL1dEaDFlMzNka1RlOW5aVDJIeXg0ZUtlLzVyQnhjUC9wc1ZkL2hsVGlBREF5RUE4akFRTS9aS1lZd1JBVFE4T24xRTljcQpwenEyUExteGRiNjdkdUZPUGNqVDIzWGdHdHd6ZWIxcTlOS20vdE1iN2gxWmUrMVBKVi8rUitiaEh5VC92cW5vVi9XRkgyM0syVitTCjFxQkszaFFqS1EyTXp2Y0t6K0pKMDlnU3VXTnN2R1ZVSkNNaWxCd2V2Q0lTeE91ZGFPR2JFUjRtUWR4dmhiTk53bHhNZ2oxZmkzUTAKQ1VxMnM4M2dweWs5Y3BPRnVRbWNWWG1lYTJPWk1TblNUWEY5TStrM3h1UHVUU2JmbnBGMlQ4WDB6S1ZlR2xmZG1WZmVlQnozWUVyYQpQVlBZQ1FjaDVvK3BWMzk4MWN0TXNmTGRXS1VvTGRGTG1jM09TaEtYeHJJTDg5aUZLbEcyZ2wyRW9TY2RBQ2laa3djd2xNTExTT1lsCnB6clVGWGpsRlBtbXIvVGRzRHB3emZyby9NcjQ0dnFVaXVhc3ZOMUZ4ZDliWC82enV2Vi8zRlg1dC9lM0hQdW82dVJQdDEzNWVPT04KdzlWZm5kb3hlTGtaUUdlcWUrZnN2ZmFuUGJ1ZlBUeWs3bjBQWmFIbjRPeTl2VlBkN1JNM2Q0NWRxeHZyMmoxOHEzbXF1NjdqMTV2SwpCYUlTanZlYUlQY05ZcjkxUXA5VkhLOENkOTgweDZBb1ZxQWZLUVFBS01RbXlNckVnYnZ6eDlXVDZ2QjdNM0dkSTdJN003NzNobUN4CkIxdnpRclVmRkhCVE5hb09XSC9JMzhRMnhDd3gwalRlMHlhY3k1Q0tTVkVPSnR5VFAyOEJZaHUvc1hYZytzRmllVEw0enJOaXdVR0kKeGdCeVlpVXVCU0FVNGowSUxvQTRJQWI2Z2IrbGhUa3dZMjBvNEFId0hrdy9rYkJQeUlnK0tCYWtPSHZ6VUd0NmlBTWoyNTZlWlVFTgpzR0g1c1paclRrMy9XZ0RTYkdMU2xqcUFmbXpKY1k2VU1IdEtPSnB6QTI3YVVlRG50eWJyNElLajVCOE1JQ3ZUTUJBY1FOb1BBRWRMCk96S2kzU3dTUEcwVGVRNHlucjJDYXlmM3NFb0VkK0tyWUM5VEFTS3NjTUdEM0JmVmo1Tm04cUVtQUQwR0lRSklzL2lGclk2aC9lMmEKK2cyMitPWEp6Q1VBU0xjZjNoaEE2QjVjUHppZU1BQ2hPWVRZMnBaNVBvb1dOOFJPWjBPK0dNY0FRRml4QjI2QVI4L0MrQUtqZXdXOQpzcENtVVJwRWFKbVBEQVRMVHZSTURrMnpFS1o5QmFnZkFvQlMvdkt6RGNmL0pLV3hMRWpVMTVqMDd4NXlqWGttMlExSCt4aC90Zi92CmpCRXBOREYrNUQ4bWFOU2hjWXcvSVFvY0w5azRGUTkrTms5SkdxeEpwSGVwYjFsUTNuVm4wWjR1dE1nQ3BIeGFzcWVwaWtkSjVaQlMKK1hRcEJpQXBEaUNrSHhBeHBURFlyRGJHNW51UmxvZjhhSnU1eTlNNXkrVThVM2lXNnVJQno4VU1CTWNJNlFDa1F0d1JrVkx4TEFvZwpwQjhJSUdMaFJ6Zmp4MzB6MnFZT0thUDVGZHdwQm51RFlBUFFPcTdiQm16ME0zYVF1d1pBc0oyWjUxR0hEb2ZIQWlFbDRNQlNFSWlRClV5L21OWW80amFqcWc4bzJlSkJqQW9UN0FnUUg4QVFLRCtMeEYybFd2cEIrOE9EUEpaU0NnSVIyZWJsdDlSRzA4amg3d2ZzR2VMWUYKZXV3SG40MHRydlozYnQrUW12WFZwK3NtVHBUZitWUHh3TW1Lci82YVAvelhjbkRQZzA5V1AveDBaZi9Sa29IRGhYMmY1ZlovbWp0MApwT0RSc2RVOVI0cEJlbytWUERwZUNuNzJIc002bzQ4VkRSNWZPWFJpMWNEUmxVTkhWbzRlTFI4NVVqYjQ2ZXFCbzZzSGpwY05uaWlICkxVRmZsZzJjS2g4NFd6NTBmdTNrNWJLNXp2WHE3czNxN3VwbjNkVlBiMjZadWJicDhZVzFENCt0dXZWeDBZV2Y1eDMvTVA4L20vTSsKV3FOcVQwdXNTNGpKRDBuTTlJcFhzT1BqN2VOQ0dGSDhkNE9jWHhmYm12RE5UZnpOVFh6TlRiek1USVFzRTY2NWlkRHFOUy9iYi91NwptWVFDMy9DK0hTVjRJMHI0WnBUNDdSaWZaYkgrcGduZ085NlBtdUJMVGZTalNiMm84YjRzU2FCVklvOFVMR1p4VWpqcFdieVNORzZPClVweWJ4TXVSZWFTbnVFcFZWNmRTZXRYUmQ2WUJldVJYeDJLN0oyUVA1bkt1VE9aMHprYmZHcFVOenFaZEhha1lVSmQrZmplUUdaTnAKRmlielVpbUZHUm04N0F6M3ZGUjJYaHEvS0UyWW44TExUUFVzU2hFV1N3WDV5YnpjTkc2ZW5KT2Q2MWVlNVp5VHdrdFRjc29VN3V2awo3cVV5dHhLSlEzbWlZMW1NWFhxYzllWm9pL1hoekxKUVJuRW9veWpjckNEU29pREtxaURSc1RDRlhacnJVN1l5dkd5OXBHeHJhbGx6CjBibzk1UnQvWEZuK20rMGJEcjlYYy9HWERUYy8zdjdnYU4zUXVmcko2NDBUOS9iTlBHaWVlN0JOUGJKLzhuejd1a0RiRWcvUFRlS28KdGQ0K0FFQ3JQWG1yK043Snp1R0I1SVJBZXJJL05kcm5iYkhOTWxmSjZZblVvYWN4RHlaamI4MGwzVkRIM1IrUHVUMFRjMmNjU0NqbAp4a3o4OVpuSU8ycnZqdEhZU1hYSzZYTmMwMURwYTJFaVpyU2ZXVXd3T2N5TEdlN0xDcmMxNGJXdktsRDNONDljM1AyNG83bjM4Z2ZLCnNBZ1hVNG1qWmFRVldXRkpsamhieFFEck9ORVZidVl5UjRxR1BwaCtZTk9QQVgzd216aUFqT2xEL0MzaUVSRkpCbTNVeE1CSnhKUXcKMjNkaVhLbkp0dFJnbHFtZk5UM09raDY2YUt6b1VSYlVDSE5LT1BocFFZMHlwMFNDbjFaMHVKU0dWWnZDSEptUmpveFlSM3FpQzFOcApSMHAySUNVNU1SUEF5OEs1aGZSSVcwYThnMW1pT1NtTStBbnhXQysyK3d6Rm5nd0paVStPdGxnT3B6L0R3VVcwQ1BDTzREWGh5OUlpClVLRUxCWHdZSzNJdzJtK1BCOXlFb2NXWW1ZWmEwVUl0cVNFZ05veHdyT0lGKzZVc1RjRm5DSEplTGp2OXVlVFplTHQ2WWMvMDAyM1AKbmxVOWUxcS9NTi93N09tT1p3dTFUK2RxMWVyNitmbktwMU03Sm9lcko0WTJUNDlXZzB3T2J4N3RXOS8vb096aGd5MDk5emM5ZXJoNQo0RkZkMTVXdFgzeFM4OHZ2YnlyUGl1SlpKRHVZUnJneFk5MllzTlBaZ1NhMVdoSHJhcFlNKzUyaGZ1RFlROWl2QXdjU3l0MlpVaGN6CmxRc2owNFdSNWNRS2Q2U0Zlckl5WEVqWnp2UXdWNHJjamFwd0E0K2txdGowRElRTVR6cWFub3pLSVZwYk1ISkJQRmdsYkdZK3VIQTMKelJUUk4vRHArVnk2bkcrZXlHR2xlakt4QVlhMFZHeVBsZWFRQ2dHalFNZ3NGTkNMZUxROEhpTlhaRjRnc3NnUm1HVndHUG5vekhZKwpLNTNQU3VPQkMzcU9nQUZzbEluM0F5SHVJTUY0c3NEbktlS2JyUlZabGJNdG9nV01WVUpHc1lDYXcyTVZnNWNDQVkrRTc4aktGVm9XCmdsZm1zb3A1WmlVODh5SXNCVHhnTDRzQ0VOeGIyT3Zud0Y1c3MyUlBsZ3g4RWpoaWthbmltYWU3MDVMQlRWZFNPdCtzNkcrL3lQbjgKOHhRVzA0UkYrYTRwMmVSOXQxeDFZcXM2cnRyd2UvMGJEL2ppWHp4R2JkZFlwbU9iMUVsNzRCTWhHbmFpY3lSQW5zUTJxbU5hMUJGdwpTdlZDNHM3cHBOYlp1Q1pBQ25WSWt6cDZsenF1ZlNxc2ZpNnBmVWJTREFjNVJtaWV0VWdNUDhhTEV0MzB6U1NtYVQ2bUVWc0NhMXlJCmJhQ1RscGxSM3FGUjNuQ3hOcHQvVnEzMEJiS0J3MzQ0VkNXWERMdVY4WDFlMnRwUE11eVBwaXFETGZMeTdJNzliZk9sWFpLUG95amYKRjVxbDg2bFozSGRVMnBVeUdBTURZZDNRY0RvaWNSY1lzY1pETFBid1ZxVHlUZE1NQXU0MElSenBwU3NDNFFkY2FINmxBOUJHdkFNYQpkZjlvQ2p6QVFMcGRYYlhFSUFDQkN4RzN3WXNIU3o0Z1hydzJJbGtRWXFCK3ZqNkFjUDBRUzBFZ29hSmRmT2RkWWxFMTMzTTd6NlV4CldMUWpRTkF1WU85SWoxeHo0WThIaGs2cysrcS9Ddm8rMjN6dms1V1BEaGNOL2JYazRlSDhSMGRod01WWGg0c2VIbDd6NkVqbG95TlYKRHovTjZmMHN2Kzh3Z0ZGNTM1RTFENCtzQkJoNmVMU3c1MFRldzgvendjOEh4MEFLZW82WDlKMWNEYmd6ZWJGdzhuTHBrK3RsYzEwYgo1bTVXVG5ac0dMcTBwdmRNNmUxUDFwLytXY0h2ZHlaL2Y2TjBkMkZTblNKcFZYQlVKaTg0bUJFaVd1N3I5aDJ1N2VzZTVpYnVkQk4zCnNva0grVFcydFltN2xZa0hFSStEaVkvamE0SE9id1M1dmgzR05vMFVMdy96TmczM0pZZjdVY01DS0JFQjVLaEFTa3d3SlQ2WWtSaEkKUy9DbnhQbVI0d09va2lDNkxKZ2hCd2toUjBmUTQ4UG9DU0hVdUVCS2RMaFpmSmhGRE85dE1admtrc0xOenVLWEpiT3pGY0xNRkhHaApuSjBSVFBFWC9malA1ZjN6a3A3eHVPN2gzTnN6a3M2QjhOdUQ2WStlbEhiUHkyNU9abHlkS0J4WEsyLzBScmhreFRCaU04VFpHZHpDCkZHNXVFajhyV1ppcjR1Y3F1RGtTZmw2Y2Q1R1Nsd2MzdzN2bVpIcm01ZktMNU93c1lDeVZWNUZTcUVnVEZxb0F2SVNGT2I1bEdjS0sKZE1HYVhQK1NMTitjVEovc1RPL2NUTy84TEovQ0xPL2lMTzlTa0F4aGFScS9PSVZkS0hNdGxEZ1V4TnJrUlpybmhUR3pReGpaSWN5TQpNUE0wZ0tkRTF3eVZJTHNncUtROHRyeWhNSC8vaHRLZjdGajl1NTBWdjlsZVVlVEZ5ZloweStkNkZQQUZwWHhSQ1p0VHhCY20yUWY0CmtDSURhWWtCOUREM2J6bDVlQ2xYUDFKTGVxWmk3a3hHM253U2YzMDI0ZDVrOHJYSjBJZFBGRGNuWXU5UEsyNm9nN3VHRSs2cmMwYWUKY2xYcjNML2pIYnNpeG9jVkc4Q0lEcUpFQnJCaXdIOElwOWVFRXRmb29jdDFUKyszakZ4dTdMdlNldS9DandJYy9jeVh4VHF5b3JpTwptZVlyRXB3c0pJNnNHSHRxb3J1bDdMOGJRTVNkWXNSWTBpS3Q2V0gyOUJBN01raVFPVWxveDRvMkl5a2NTTkdMaHhLRTRrZ05jYUtGCmdwOE9sR0RnSjJ0U3ZCTlRiaytUMmpHU2JPa1NDeko0MlFoYlpvUWRyQXdsMmNMdGJ4SWdGUXVTdnhVNTFBNlN5UEJ6YWo2dEVYMVEKckNsZVZtUmZPMW9ZNEpRREk5R2FIR3ROam9aL21TVXJTWXVQYkFhdlkwc0xzS2VIV3BQQ0xaYUZXNXRHZ1F1NHFrV09zNlZJckNrKwpYTE9ZSjlQVkRadDhBa1hML2IzSm9RSFcwYUV1NFlGT29mNE9jUkhzeEJoZVVod3ZXY3BQa1hySUpTNHFPVHNuWFZTUTdWT2M1N3V5Ck1LQzB3SDl0TWJlNndxOW1nMC9kRmxIemRzOWYvekwwWVcvNU0vVzJod01WSC8vbjJteXAzSmtTN1VvR3lrbDJwa1c0TUVLZ2daaHkKRjViTXpTTEoyU3dhem9hbUo3aVlLVjJaRVc2c01IdFRxYWRabml1bDBKMlZiRWVXZTVobnV6TGs0TnJEVE9YT1ZIbXcwdG1zTEhkRwpoaXN0ZzgxU3dWSE8rSUJtVmdiSExKTnJuc1d4UzNOaHBuQXNGRnlMSkU5R09zODhBM3RNQWFBRG11dWpYZHZDS2pIQUxveDBBU3RIClpGWXNNbHNsWUpaeUdTVmNaaEhtbFVKZ0YwOWFpUWVsbUVNdkZabVZDbGg1YktyS1lMY1hYc1hoVzJRSXpBdjU5SzN1eTZ1RVZ0a0EKUUJ4cXFvOTVvUXN0bVcyV3hyRkFIenNUNEl4clhzSzNYT25ES3ZCbTVuc3g4cndZT1Q2c3ZBQ3JnaEM3a25ESDBsQzNyREMzWEpBNApmcW5NWjIyQ2NGVU1yMUFpWGlrVjVFb0YyU0FLNzF5cE1GUHVsUlBIVWNWNXBwMzZmeldYTG13aHJmaVdCWlZzYWYzZEF5NksrYWdtCmVGS1ZNUkcrMlJpVEFzWDRrWnJINzN3VzFid1EwUWdQRTAzWUJYL0c3WHdhM1F3N2lHT2hIbUJpWURWRkhkYWdqbXhWeS9aT2g5YkQKaTZoMllLYkhzZHZWU2UyR3I2bjMra2FmUlBONW9GRVdpVEZsWGkxTEFNalppZ1VBcFBKVDRnRGlrSlFRSWhCQVdOZXpxUUsxUENNRApoVnB0cXd3K2Z1MUhWMzVSOFpuYzdzZnV5L0k5VmlTS21HSWlnQXdZOUxVQWhLTUhQUXkvcVFjZ29vU0lBTktPU1lRQThuU3BJQUpJCnR4Q0dBUWhGeUtuSEkvQUVOdG9HTHJ6NHNBSFppOWNLOU9NajJBVjg0OC9mNzhmYmh3S3VrWGlXQXRDaStsa1VRTWhBUWNMdmVYblcKQjN1M0NYbDFZcTlLbm10N0FIdERESy9tN0I5Mzk1MnM3ZjFiYnY4bmEzcysyZEw5NTZLQlk4VURIK2NENkR6OHRLRG5rMVZmZmJybQpxMC9MN24xYWNPOUkxdjFqYWJjUHI3cDN0TFRuV0dIdmtaeSt6N0lIL2xZNCtyZnl4MzlaMS9mcCtvSEQ2OGRPYnBpNVdEbDdmZU5zCng5cXA2eVVUVnd2dS9hMzQrdTl5ajM4djg3ZmJWWWRLNUZVSnNibThBS210aUUzMXQzMlRTek54b1ptNE1VdzhhU2FlWkdnZHRzMGIKSXJzM3hJNXZlbnU4RzhCZkZpeFlGaXg4TjlqcjNSQ2VhUUNmRk9oRkNmR2hoSHBSZ3Zoa0h6NVZ6R2VJQmZSd0lUVk1RQWtWVU1LRgpwQ2dST2Q2Ykt2T2xxWHlvd2I2MEVEOWF1Qjh0MG84YTQwK0xEMlJJZzFteU1FWjhCRE14bkNFSlpTUUcwK0pDelNRaFpqSGN0OFJ1Cjd6ckpQTE5TZVdVcHZBS1pJRU1oeUVubDUwYVpSZGo3cnM2K054VTF2Q0M1T0ozV3FaWjJQY3U2cTA3cWVxSzROUXIzd1BlcE15YWUKeVh4WFM5OEpTUXNzbHJGekVnVDVpWUlDS1RkWHhzMUxGUldDcFBCelVnVjVpWUowbVNBVHZLeENrSmNzS2tnVEY4azVtVW1pTEptbgpESHlENVBpdXl2RXJBc3JKRkplbENVclN4Ym5admtYWlBpWFpQaXV6ZlZabmU1ZGxlWlZuaU1yVCtPV1o0bFdaWHJDZEtNdDdGZmdWCk1CTlFVYVpYU2JwM1JhcDRyVXEwSmtWUUp1T1VKcmdWeERqbFJEdG1oNWtYQkRNeWZjbEpUaVorL0RkQ2hHLzdoekI5WSszRmlVNXUKYWU2OGJEWTNteWVJdC9QMk5nMzFwOGFFTUlQTlRhais1ZnNxcDlSeGQ4WWxOeWRpN2p4TjdKaE91aitydkRFcnV6a2VkM3RhZW0wdQo2dTZ3OUtaNjliT0Y2RzAvNVh4TDdQVk9ZSWg1dkM4OTBvOFM1VStORG1YRUEyV0t3VmV5aWZqMHJ5dlZQZldQcjlTT1hLc1p1MTEvCi9GZE40RnZOelR5Uy9tYWtoMDBlaXhUc2JKbm9iSkVDR0VUUWp4NkFsc3J6QVlUYlF2Y3dJL3FnT0ZqRm0xSDhMY2hSZG1RcEFJU0YKcWRpVzRXOU9pckNpUmk4YU05TndnQnNzVVNDV2xHaExjcXdGS2NhYUhPeEFqd0s0c2FDRTJ2OS82dDREdXFrcmE5Z1dZQnNYMVZ2VgozSHRWYjVaN2szdnZ2Y2k5Z0RIRzlONGhRRWlmVE9wTXltU1NtV1NTRUhxdjdwUUVDSVJxWTRPN2pRR0RRZis1dXJaeHNNUE01TS8zCmZ1KzMxck8wcnFTcjY2c3J3WG0wejk1bmM4TnNlZUUyL0hBcmJxZ2xIZzU4eUJwTklDcmdrQlFMWmpTUEh1TElpWjZvRjdNbXBHY3kKTDZyUE9MR1dyR2lnV2RaSUpKOFJiTUVLSWQ0dlJ2VFNJdHRwa2RoQ0lTVFd6Q0FTRzFZd1lPSnhXMGE0QXhSank0aTBvWWZaTWtQdApvWEE3VnBpRmFiQWpGbWtEUi9NWUVyR05yMDYzTmtqT2cyZXpPSmc1QmhueDJDWTg5bXdPTmh0c0kwd0RoRFhUbkVOam8wWTRNb3VECkdZS24yS2dCanN4Z296TUJYQWJOQm9mTklhbzViQUxnTWcxczJIUUhQclI2aGZqcXRibFBkRXR1dDlkOThsNVZjbENpaUJQaHhBaHoKNGNTU2J3Rm9rRDJhYVlObTJiR1RIYzNqWExFWUFTOWF5RTl4NTRlNnNCTmRlRUV1dkhnN05CSUloQXVlQXRTSGdKM2x3YzBUOFBJOQppQm1yVWhHM1RNZ3BGYkJMQk93eWdKQlREaER3Y29YY1NnRTNCeHpLQlUwV211YzRjMUxkZVpXay9RaTVHU0l1VWZrMWtjU2pqOURrCkFTc1M4VElrNXRrU3ZsYktxNUp5YTRCUmlmZzVBTktyeEx3Y0FIanRid29RVnE3Z2x3cVJVbS9IMUxlMkZlLzdidG5wVTVWblR0WmUKUEYvOHkrWEt0aHZ6YmwydnVudW5acUIzVWMrOTJzRyt4UThmTEh6MGNOSGprU1ZQSGk5NU9yb004T3paMHFkUGx6eCtzdWpKNk9MSApvM1VqVHhZOGVicHc5T215SjZQTFJrZFhQbjYwVFBkMDdlampWWUNIdzR1ZlBDWjJmdlpzOGRNSFc4NjBGRmhaTUhBYXlvSU0zdlZJCmVSYXhSaGV6NVVVLytNT1pxaG92RjZEUUxib2d2WlpGYkFhS05zRkl4TWJSU0gwN2p0RE5PczBXWGZER0oyRWJIc1pzZmhLMFZoZTcKalZBbGZ5S2hHMGpHbzdDMXowTDBuZTJuWmVxWi9OOFdvTWRQRjZkN3A4bjBxeDE2d01uakFqUldCcThYb0RHYkFUdEk4SXBBNktONQpzc05aZHA5NHdVdEVhTHdZeWhJWUZYa3c0Z0hUYXBEZW5JZ21xV1BUVzJSaDEzOHJRUHA1cm1rUXVxNGdIWWdJQ0UwVm9MRnM2RW5KClFHUzhoN0NmTlFDWmNDMEpxVUZ5MFRyU2ZzZ09wa0JsU05lWmNLRC9SSUNtMm8vblJOem8xMFZoaEFOSlhsT0xOaWpkZGlya1M5MkYKcXhUQzVjRk9TejlkditUT2tab2JQMlIxN00xcDIxMTVjOS84dHNObDdYdHkrL1pXZEIwcGI5OVgyTFpYUytUOUhDeTd2YStvYlgveAp2YU9WUXdjSysvZVhkTzByN2RoTHpJTDFOcGNPL1Z4MC8zcitrNHVsUGZYYWEzdnltdjlXc0h0bjN0dlY4YlhSM3JsS29aVHI3OHhVCm1CdTRvaFJiaUdLRFVPelFHUTdZVEVmYm1TcDdBNVd6aWRxZDV1TkNVem5UWks0TW1RQlZDa3psUXFxbmhBRjB4MC9JOUhkbitMdlIKL2R5WWdUSzZSazdUS0trYUZWV2pOQXRSVUlNVWpDQWxLOFNURlVhTXUyaVFGK2JyalhwNm8wb3ZST0VOSzlSWWdCY2U2STJIZUdIQgp3SUc4TUEwUm4rQkVlbkhpUFBFWUpScmp5WWxYNHRGcWJvd1hQMHJJOUhVeTVNVzdaYVNJcWxKa3hRblNyRmkzOUN4WmNib2dLM0NtCnA5ZktONHI2bjJqdjZDTE85U2RlZTVMWTJwMXhkVENpN1g3RzNhZDV3N3JBc0VYcDFQQmtVYnJHSXprYnVJdDdacVk0UDFsWUVDOG8KVEpZVHljNFpidW41TGlrRkxsa1o3dGtab2dKZ1B5RWlRckJ5aGJuSm9peGdQTWtDYmJxME9FOWRBZFFuVnprL3o3TUdLQTRoT3ZKeQpJRHBBYm9qd2o2b3dXNlhOVWhhQS9iTVZwQkpWWk1yS01tUWwrbjNLTXFTNW1iSzhIS1UyVjFXWW95ek1raGRreXZJenBIbHBzZ0pBCnFxTEkzeUpSeFk1VGNTTEFkWGFnMnFzNFRxR1dvZ1I3WWJLck5NemF5eE1POVVZaUE5aCtHSVhtdDMzWHZMNGhJRDBKbCs5SDNkSWwKL2p5Y2NITWs4ZXI5Mk1zajBkZEdFcTROSjE3VFpReDJoYS80dXcxVkVrRlJBWVAwNUlSNFFVRktMTlFMRFE5Z2hmbWhVWjU0bERYRgo4K01WRmJxdTdRUG5heDc4dE9KTzQ1elJHMjkrOGVjVmppeGZBYmVZcUlySEkyMDVTVlo0dEEwN2ZKTDkvS29YMkcveGJ3WG9SYWFvCkR3blhMTktCNjJlUGhGc3pvcHlRR0Jjc3pvNFo3TUFLdDBSOHA4V2FxSnduZ2xKNndRSkhCbjh4M0pMUUNGOEhLTkFSMVRoaXhGcC8KK2d5a0tLQStsbmlJQlJabWhVV1l3OFIwbFJPWHlJeTJnZUltQkdpS0EwMVZId0lnV3hab0VKK2xzc0tVbHFqQ0NsTmJ3djdtck1DSgpQQ1N5Tjhoa0p2S1RKbVBCQ0xISEk0a1NkOHpMQmxkWXdncWlvUmdVWms2VFdqTEJPUWVHZWlZTVAxNGtkK1h3Y0l5QlV5d1FHS1ZUCllCcUZqeHJ5SUJOejFCaHNjRm5HWElnSjRNRXNBSWRGWnpOcDRKWUxNV0FtaFlzYm95d2psR21Lc2N3Z3VpRUdHL0E1eGp5cW9TME0KeTV6d0hac0N1M3VybitrVy9mempvdmQyRklSSlVwUTJjYzVJakJPVVFLUUJjV0tjdURFT25CZ0JwOXlXa2VnQUFkZUp0V1BFT2lOUgo3cGkrUmgzTmw3Q0xBU0tzVUlBVWlyQmlZbmFKWFNGbEZ4TGd4VEoyaVp4VEt1ZVVLN2dWQUNtblJNU2E3OEhLVS9BS1JYaTJPMWJpCndVKzNSNVAxODBkcFFrN1d1QUNOT1pDQVhVVE9SaEZHeFNsMlJ3c0VlQ0d4UGlFdlI4akxGWEMwUUxNay9BcXdteHVXNTQ1UHZPckYKdkdad1ZoNUlscHlmc1dOVjFaUFJkWWYyWi96em02RFBQb3Y1Y0dmY1c1dkNYMXNidG5hKzM1SXlyNFZGUGxXWnl1cHM3OVE0UlZxOApNaVBSTXoxQmxSSXJqd3NYUmdTNWFQd2NOQ3FsUmlXUDhsTnFQRVZxZ2EyWHdORlg3T1lqRkNnbFZtcVp2VUprcTVZNWUwcWRWQko3CnRkeFdJZWI3U1dCM053clZsR0dCOERtNDhaK0Y4U01oS3dtVG1Lb0lmeXhUVmVQbEFoUzBRUmU2Q1RqTmFQakdaNW9OdXNpdDQ3TmoKK3Zaa1lVUTI4V2pvT2wyRXZybEU4RHFkWnVPem9EVWptalZQb2pZU0R3YXVCWWIwTFBLM2M1dW1uc24vVlFFaXA4Q3kvYk5rK2hwNApVb0FreEJUWWhBQ04yNHcrSDBqSXpSY3hjM3lSU2lVZGJLUjRRRkZpTE16RHpKOFVvS2thTkRrQzlKOEwwT1Q2cnpFQm11akc5UUlpCnQ1V2tBK2w3blM0ZWIyM3h2QzNHcjJ2QkZwTGFCQnhvVElDSVhCODl3dFdFL1l5SGYwajc4WmFQeVEzcFFCUDI4d0tUWldqQ2VGVGkKN1NyQ2I0aHQ0bEMvSVVCS3lRWWY4ZHN5cDlVcTBldEt5WGFsdzhMWGFsY0ErN241ci96ZWc2V2Rld3ZiOXBUZDNGOStiVS91blQzYQplN3NxOWZaVDFMNjd1R05QK2IxOTVWMzdpdS90eTd1M1AvUHV5ZHlCNXBKSEYrYysrb2xvWW5yeFgxVzdYczE2dnk2NktpWWxXUm1rCjVJbnNqUjM1RkZlY0lrWXBTcGlpdHFhNDI4MFNPczJXdXBrcFBXaWVBcnEzRzFYdGF1WXBOSE9YME1RQUVVMENrTkFWWW9aS1NGT0kKVGZ5bFpvRXlXb0NFNWljRzBIMGtrSzhVOWhORENpbWtrTE04RlV3dkJkTlh3UXFRTVlQRXpFQlBPRklGaFNsWm9RcW1Sa0VQVVRFagp2YUI0SHlSWlJVK1NtOFdLWm9kNUdBUjVHQVI2R1BwN0dQcTZHM2c1elFnQU9GSUNIU2dCZGhRZmw1bitiZ1orNWhTQmtzN01raWFuCmlrcmloUVhKc3R3RVFWYUdwREJEbEJjclMzVmsrMnQyL2kxOVlEU3RUNWZmcjB2cmYxTGE5NlQ4cmk2di9ycGZjR1VxTlR6Ukl5ZFMKVlJRdnlzN3l5RXdVRXFHamRGRldxaUF0MFQwdHpqWXhIby9MeEpJUzhLUW9xN1FreXpRdG1RM3RucVVWRktTSWNtTnM2alI4clMrYQpHR2FaRTh6TjEvQ0t3TjB3aThJb20xSkF0RzFKckgxWmduTjVzbHRGcWtjbElGczJKMGRlbFMycnpBYUdKQ3NGbHBhdEtNcFJGdWNBCkt5SW96NVFXcFV2eTB5V0VEMlhKODFNa09jbnlyR1I1aG85TnVCQU44RUQ4SFZrS2Uwam9Tbk5Xd0lJQXRrZW9oVGlBNysrRnhQb2cKQ1FGNE1OZUFLVnJ4U2QzUWNITGI0OVRMRHlKdmpDWmZmUmp6eTNEVXhhSFlEaUlQT3FWTlY5RFRwMXoybWVzTVI3V0JkeWdTckdJSApxMW4rdm5DSW5CL2h5NDd5TXcxU29oRktQTUNlNHJPcHNGVFhzYlcvZGRGUXk3cVJ5MnU3NnBkMS9iSzJKaXZYZ1I1cEM4ZlpjWk90CnNIaWdRWGFjaEFuN21TeEFMOGpOYi9HaTYwekxGUFVoaWZiMU9ucHcvazhYVmx5NXV1RHE5WXJMRitkZHZGaDQ4M3JWalV1MTA5SjIKdmJUalZzVzk5cmxkZDZvSjJtdnUzcTV1djE1NXRpVjMzNjc4UCs4b0swN09sRm1IT0VHQkxwakdDU1ZxMzZ6UllIdWVueDBlQU9TRApTSXNHRCtLeS8xYUFnRC9aNG1FOGhxOGRKOGdPRDdSRy9LeFpQbzU0aURrYTlBSjhKQkJnZ1drQWxuZ29DZGcyUjBQNFNMQUY1bXVKCkJmTll3WHc0d0JMMzQwSnFMalBBSElxMmhUMXRrU2h6ZXJCR0ZYLy95U0tacXlXS0dkTjVGSVl4MTlvQzUzSU0yU2dWb3V1THE5bFUKTnNLQ1lETVlvWUpiQ0RGQk1ETVVwNks0S1FEQmpERzJLY3FlRFRZUXpBUkJHUWlDMEdrUUg0SzUwR3dlTk1zYWhpM3BtSi9VNGk4ZgpoQTQvcm5nNnV1eHMvYUxOaTBvanBjbENQTllkam5kSDR6eXdlQnMwdzgwcTJwR2Q0SXlrNU1ZbGZ2SnV5ZC9lSy8zc3JRV2Z2MWY0Cjl3OUx2dnE0RE54KzhVSHgzejhzKy9LajhxOCtydmpIaHpWZnZWL3o1WHZ6L3Y3bjZzL2ZxZnJyR3hVZjdTejk4TldTRDE4cmZ2K1YKNnIrK1B1Lzl6YXNXRnBTSWtVdzV0MHFBbFUxZTAzbThyRjIvcGpNM2g4aVN4cE9GM0ZTSmVaYU1ueXZsYW9rSkwyeWVsRGRIeENudwpZS2NLZUtsQ1hyYVFyNVZaelprSUhiMGdRRXFiZkJHZUsyTm5mUEgrZ212WEtsd3NqTGkwMlZ5cU9SdUJXVFJURGdyaENBMWlHS0h3CmJBeVp6ZU5RT2RCemdFZE9ZTW5GY0lpS1FiTlJhQmFPek9MaVpPQnRObzRhNGFneEJwdXlVVG9iWlNJc3FuNkR6alhoY1hFSWdkbHMKSmgwY2RxZWRSaGU5a1ZpYWI2b2kvTEZNVlkyWEMxRElocWNSbTBhaU5qMEMwaEN4UlJmK0NwSFFFd3BjWi8yem9GV1gvS3Jma1NibQoyaXN5ck1RNzNDTlBxVXV1UlM0aGtwbkNOenlLWFA4Z2ZDM2hUMEViSHhMVFpGT08vRy9PWjRyNi9BOEtVSDV3SGhBZ0NaSkNUb0ZOCkVxQ3hkWUE4bUxFa3R2UVlOeWhCRHBYSjRXSWdUQzYwV1BDc21KNzRFZ0hTTzlBZklFQ1RwNjRJZHlFaE01cWZCNEhHSFlqczhUNWUKQy9ZY01tbDZUSUE4MXBKRlhzUUtoNVBzUnlIYVFzUnM5TzBzZkdWditramZJUEdXdkQ2eC9YSUJJdTFucWdDOVlEOEFsWENUai9oMQpYL2ttTC9mWHZaMDNsa1d2dUhHaW9tMTNUdmZlNnJadmk0QUczZGxmY25OUEhvQ0kvZXdxdWZaZGR2disvSTVET1hjT3BmZWV5aDA5ClYvSDBmUFg5TTJVM3ZpNDUvVmJXZTlXUjFXSGUwUzVTTWVKbVlXalBvbGh5S0U0QUhzWE5hcGJJM2xUaFFGTTQwcFVPREpVVFZlWk0Ka3p2VHdLM014VXdLY0tYSzNPa0tOeE4vQVRVSUtLMnJzWStMcVpjSDNVL0E4SE9qZW9QZHdMTWlscWVVNGFtZ2U2ck1WR3BUbFhxMgp3cG5wNmNKU3V6S1VMbVlLQnlPWm5ZSGNhcWJTbktMa1U2UVdGTGtWUlc1SmtWa1F0eXByaXE4dEpWQkE4VllhaHdUQ1VlRzh1Q2pMCjJEamJ1RFMzbEJ4eFJvVnZRRzFvMU1LSTJMclE2SVZoTVd1VFV6ZW5wOWRwZ3VkNDIxVDVSU1c2WjhhNDUyYnFVM2FTM1BPU2hUbHgKTG1sYWRwcUNFYTNJM1pyeHpUbi9ieHQ4ZHAySy91SklRUDZybms3cFdYUk5xaklueTYwZ3ppVXZVVldVN0o2U0pDaEw5aXhMVW1URQoyNFdtOEVPenhDV0p5ZHRENW41UnRPMVE1bzRmWXVOV0pGbWxabnZrWmdyejhrVWxFZTQ1V1pLVTdhVUxkbFNXNzZpWSswcngvQzJGCjg5YmxsRzNJcTFxU09HZGhYTlg4eUtxcWtQSVMzOUo4WlJHd3NSVDNuR2lyMG5CK1lRZzdWOFBKQytQbmhadm5hcmhaZ1ZoYWtHVysKeHFZd3dyRTR5cmswMXEwc1FWQ1JKS3BLRWxka3llWm5TTXNUaFprK1ZrRUt2cStJcTdCak9mSk1jRWRUWnhIVlhVbHpVck9jMWFpWApHa253UmhQOWNZM0ZEQmpURkM4ZDFLWGZmcEIrOVg3TTFVZHBWeC9IM0JnaTBvQitIZ203K1NEdi9xamYxcTlkS2RiK1JpSFJXS0NjCkZ5cENBZ0poVFJBYUp1V0crZUlSZ2ZRUU9UZGN6ZkcwcC9oWGgyZmV2N3A0NlB6bTdqTWIrbG9XM2ovN2F0ZTUycDVMYjhXcE5jNUkKbWpVV2IyY2U1c0JMc0VQSEZralUyOC9ZL0JjcExsTjFaeW92dXM2a0YvNWJBZnJ5UGUzVDBlWHZ2Q0hlc1ZYMHh1dktWemZHdkwwago1dlV0NFcrOEVqQXQ3K3lJZVcxejJPWlZmcXNXS3BiVnlGWXVVSzVkN0xWaG1lOC9QazgvMTFvK01ycmtpVzVlZDIvTnhiUHIzbGhmCkhTb0pjb1RqYlprYWU4UmZZQkhod28yd1lZWGF3ekZFMHJlK0Jmb0V0aEN4T2lKZ3F2cVFjSmxpQng1UmlPNkFSRnRRdzIwWmtYYXMKTUh0bTZOU1N0TEdBRUtRaFp3QmZ1RW9XcUo4VkdtT05wRmtoeVVSM05yWXZEMWJhY0FOdFdjR1dUSTBGTTloWEhQSkV0MEprYTRNeQpHRXpjTUtiSTRxdjZ6QVBYTXZkZktkcDNxV3pQNWV6ZGx6TDJYQ3plY3lWMzc5Vzh2Yi9rN0x1V2UvaDI0YkU3UllDajdZWDF0K1llCi82WHcwT1gwM2VjU1Bqc1V0L1hEaU53NVNva3ZUKzlHWmdoQ0JjTTJGNTNKWnMxZzAyWmJzWkJRcGNXM1g2WG9kTFZQZEJYSEQ1YXMKcVM2T0VLYTVNOE9kTFZKdGlXcXZMR0FidCsrczZCdXN2SFkxci9WTTl1WExXZGV2Rjl5K1hkeldWa0xldHJlWEV0dHQycmIyd3ZZNwpSWGM2aXU5MGxMVGZLVzVyTDdyZFZuanpabUhuM2JKNzk0cmFydGJwUnJkVXBLYklPSWxDTEdWaWNaMkpRaXI5K3M1a1VSZ3hFU2JqClZBS2tlS2tFMThyd1BBR2NyZUFWU2ppNUhtaWFtSmVqc0M2Vm1KZDQ0SVhQaTd6R0hHaXNVc3lCRlE4T0lrTHpQMysvOHZ5RkhOekUKeUJwbnN5RUV3UTBnZENhTXppWjhFYU5qT0F2RldFd20zUkkzSmFKcnlHeWdpU1E4eUlRUG16SllzOENlYkM2TkJSdmpIQ3FYVDJmQwpGQmliQVo1aU13M0IvbXptTEI1c3hJT051U3hqUGt3MXg4MVlDQVhsR0NPMFdWeVU5WTVyckM1bXcwaFEzWXQrOEljelZUVmVMa0JoCm0wWWpOOStQV1ArWUNQQnMwUG12ZlJxMjhYSGMxbnVSeTlZN0JWclRtVE1oWXdobldTRUlEMll4TUVZYzIvRndRTWxveUFwZDhPclIKcUkzRVhGalkvM3NSb01KUUxTbEFFeEdnaVF3ZU12WXpJVUR1YUpnQUNYT2x4Z0RSRWFHeEhpeWlXdDZEVHR5ZGRncHNQQWcwbGdQMApud2pRWlB1WmNLQmZDZEJrQjVxbzZwb1FvUEhlWHM5N2hFM1lqNWlvR2x0Q05qY2RELzhBQWRvazlkZ29FNjZWQzUrSGY3eGtPL1h0CkxBZ0Jtc3drRTVwZWdDYlVaNm9BdlpEOVEyNzRpVjlYQ2piN3lkLzBFUzZKZGx2Wi9QWDhqZ1BWSFh0emJuNWJjbWQzV2RmQjh1dmYKWnJidHp1czVYSDU5Vi9ZdnUxTDZUdFFNTjljTW42dnFQRjNZK2szT2wxc3pWbVJFcFVtOTNFMWtEclBjTFNsMjVoUWJTNHFEL1F5UgpxNUdYd0NSSVlLSVVVUUVLb1puVXcxUW9vTG9MYWU0aXVvZmN6QitnTVBXWEdmdEtaL3NBd0liU3hFOW9LaEZUWlZLYVNteW1GSnFxCmhLWnFrWm1YaE9ibmFoTHNiT3h2YStETnA4ZzRGQkdiSXNTSTlDQTNIa1ZtUjFGNUdLbWxwa3BQbGpxSUZ4anBFQlh2bHFDVkI4NEwKamx5ZmtmUk9WZFpmbDJSOXNTYjk2dzFwLzlxY2R1VERqT2F2aXE3dXI3bDVaTUdOd3pVM2psVGZPVlhiMDd4MG9Ibis4TmxGRDg4dQpIVzVaUE5Rd2Y3aXA5bUh6dkx0SDhqOHVGaXpWK0tlNUpTUzQ1YVZMaTFNRUJRbnV1YW5TL0dSRlNxbzhyY2doTmM3TVg4UlVpNjFDCm9teGlRb3pWVWV6b1BLdlVKSGx1bkZ0cWlsSmI1Rm9RNzVJWm85U21LWXVUK0FsSnJPaGtXVVg2a2s4TER0d28rdWxaVHZOb3dUVmQKZHFjdTliWHZRMjJUazEzVGtoVUZTUjZGVWpUMnRacUEvaC9YUHJpMmVPam41Y00vYjNyNHk2YjdQNjhidXJTQlhNNm45OExtcnRZdApIUTJiYjUzWWN2WFFoc3Y3MWpWOHNlbjR4K3YzdkxueW0xZFcvVzNOeWc4WExYK3RiT0htdk9xRlNRdHFZbXJLUTRnRTZqU0pGZ2laCnhqTERCMHYwUjVMVVVMUW5ITzVBVWJuTTluZWE3V1ZsNEc1dDdPUkNkWkxTWEZRME94WEQxaE5SZVdGeGFqVFdCdzhTR05tWk1kM1QKejNRVTN4dE4rMlV3K1pmSGFWZWV4dHdlU0w0eEducWxMNzl0Tkg3ZldVY2pVUkRGMjVmckphUDVlM0lqNUVoSUlEdktEdzFYb2NHKwpjQWd3SVFVMzFCUDFkNlo0SmJnRzkxOWVPbnhwWTMvcnVzRUxpM3NhMTkxdlh0Ti9hV0hERCt0Y2NKa3RFbVhEQm1OemhETW5qcEhPClZBQUFnQUJKUkVGVTVRVUJtdFptU0g1Zld2UlU5U0U1L2tQMStSYXRGVUxoMHVsZ0JPTFFNWFBFak11Y2pTTm0wNExDQmdBd2lyTXgKRXdDT21vQWY4UUNjYVVRTVA2aXBzN1ZwbVZaNDdHako4TVBGejNUVlAvKzQrSU9kODBLRWlRNjBhQ2M0d2c3MXNtY0hXVU1STHdqUQpoQU5OVlI4U29xNmVGY3cxVmJqelE2M3BhbnVHbndzYzRVaUxkR1FGVElzVFN3TndaSVpNTVBZSTV1ZUFoRGloa1h3enBTVkQ0c1QyCnRqQUxjR0NtV3RJMEZpeGZPend3UktrWjFTMlhXTmxZSUNpQ1FNbno3QnY2YXBxR2MwLzFhSnVINWpiZXoyMFl5bXdZS0R2VFY5UTQKV0Z6ZlgzaTZ0NkJob0toeHFPaE1md0dndWIrb3ViK2tkYUNxcWJlOG9idTBkYkRzM1AzUzVvRzgzUmR6Tm55ZzhZbXlnZGhVQ0taegpPQ3cyWW94Q3N5eFFKcC9KNWRIUitDamJveWZTZGJwVlhWM0xUaHhjTUsrb1RPSG83NFlGQzdEVUIwODJwQ2M0OHVoRzFvZ0JoemtiCmpQMFdLQlY4VEVBUkFNQVZPQ3dqSHRPVXp6TGpzMmdBYzRqT1p6RklMR0NPT1d5S21WSmN6S21QSG01Wlh6ZGZqR3ZGZU5HRXFVd1cKSUFKdWtwaVhKMkdYZXJBS0pXaEdsRGlqTnJmNGpkVTFyNjhyV2xGUm1PS1hxVEJQRnlDRkhraTVBQ3VXbUJPTlM4ZjRkYlc4TzY5UQp5QzF3aHpNL2ViZmt3c1VpSHBQT0o5NzRMS2JaYkJ0ekRnZWx3Z3dpZzRxRHplS3laMkFJQlVPSVVKQWVZd0p3enJBcENoeUlQNVBKCm9MQlJLaHVCRVNZTFpURWhoaWtYcCtNc0hzcEVMUGtvZUJhR0tCdzI4YlVFMzBNaVVJZlNhZkJzSGdMK2hORmJMaG9nRnM5Q3RyM28KQjM4NFUxWGo1UUlVc2tFWHRXVWtZcU11K2hVaW5LUForQ1I1eDgrYUpXSmJLd3NZQ0k4SitJWmdPSU5GbjQxVGpXMllkR09hVVFCaQo4UmYzMk5FRVlwcnNRY0FxL1ZvNy84OElFSmtEVkJ4ZUpHRW1pdUZrZHlqSmcwa3M5dlBjWVBRelgrTUNGTzNPQ05ZM3dZZ1ZZd2tDCm9ENnNDQ0VVTFlJbjFrdDhNZlpEV2hGWlJUOG1PdVQ2enYrdEFJbmRWazh3c1RvenlTUUJJbWJCeHBwOFBWOEhpRmdjaUxRZllxRWcKZmFtWFZMQ0tOQjY1Y0NNUUlMMERrUUpFWlA4UXFULzZkdTZleElUWG1BUDV5ZC82L3k5QUUvWkRRZ2lRNEIwdjZTYWw2TlZBankyZgpiNnR0MjdlazdmdUNXLzhxdTdsSEM3anhRODd0NzdPNjk1Y01uNXcvM0Z3OWRMN29sMzlxdjF1ZnVESStNTkhSUzBaVldsS0VPRkdUCjVXeHRKTEdaTFhVd1U3b3d2RnlaM3M0MHVSTlY2a3lUT05MRUxuUzVDMTNoU2xXNm1ubTZtL200bWZpNnpQWjJvVXNuY0tQSko3QTIKOCtJYVNJRGNJRFBka0prdUVNV0JTYkZqemJDM29TaWNaeXBrZE04UVM2OE1XZEM4OElpVnFiRnJzNkozbEVaK3RpTHp4THZsbDcrZQoxNzZ2dXV2bzNKN1RjL3JxNS9TZHJSdSt0SFQweG9wbnQ1WS92Ykg0eWJXRmdLYzNsajY1dk9MaGowdUd6dFlOdGk0WWJBVzNkWDFOCjg3dnJxN3ViRnJlZnJHay9YdE5WdjZqaitMd2IrMHR1SFN5NnViL2diNldXS3pVU3JTd2x5VDAvMWprN1JhQk5FV25qeE5rQWpVZHEKc21kQm9udDZ1aUF6MnowenpTVTFTWmhSNEJvYktVNkpsUmNtS0lxalJHbEo0dlJzdDd4SVdXays1aDNvRkJkYzlTZnR3Zjd5UzdycwpNN3JVSXdPWngzcFQ5bzBrWGRaVmZkS1k2cGFYN0pRY0tjdUprNVI2OGpPLzIxYjgrT2Z0ZDVzcXVwcnFpSGF0emN2N3o2N29iOTNRCmUzNDFvUCtuMVlPWDFnNWYyZkR3bDQwa28yMnI5YXg5MXI3eFdmdW0wZHViUm02c2YzQjEzWU9mRnczOVJMUkM2emk1NHViQnRULzkKYS9XeDl4Wjh1N1g4N1FXVnI4NHRmN1ZxZnI1dmtzWTJ6Tm5JZzBmaHU3T2NCQXc3RmN2WkI3YnpSbXk4MlFvdlRvd2FpL1RHL1lJUQpUeGFGNWZ6bW9kcUh1cFNyZlpuWG55WmZHZzIvMloxeGJsRHpVSmQ4ZmNBRGovR2tDQUt0L0tXb3Y5d3lLZ1NPVnNPaEtqemNHdzBECjZ1TUhCZnF5TlRMRTF4OVBjNTdsRnUwUWV2dk0wb2ZYbDNTMTFuYTNMdXU5VURkNGN0M3dqeXR2bjEvNnAyM3o3YkF3V3lURmhSOUYKalAzL2h3Vm9hb3lFcFA1WTZmSGppUnlHSVJmbWdkL1dHTnNVUWlnY2pNRkd6S2FGaTRGYkV4dzJCbU1ZQUlkTkFSeUVqckZwTUVJbApJaHdRRll3OWJQcE1CNjVwWEpEa3hGSHZrY2RWajBicUxweGZ0RzFEdWFkYmlCV2tzY2ZpN0pId3FRNWtOMTBQTWhJYmVwSVZKRXVKClU1ODZ2YlN0czY3dGJubEg1OXoyOXBxTzI3Vy9RVjM3emRxYnYxUmYrN25xNnFXS0t4ZkxTVm9hSyt0UGxaeHRybXlzTHp6WFhMUG4KbjR0em8rSWNhZDdXekJBYlhNV2h5WUFBalR4ZUxMUGhjMWtVSERQSW1TYysxN080cFMrN3RiZnN3a0JOWTNkRzYwRG0yYjd5cHU2Qwpjd01sZ0piZXdyUDlSWURXUG1LamNhQkFUMkY5bjdhaHZ4QnNOUFJyd1NObkJpck9ESmJVOXhZZHZGSzQ4YzhhZFJDSzRBWUl6R0JBCkZKUTlDNWdCRGdGZjRWaWlKdG9jKzliV3VVOGZyeHZzWC9UZFY1bHpzMm9HUit2U0V0UThDTVdSV1FoTXgxQW1pakJnMkF5QW9qUWMKSjJCanBnRGdvMEJTZ1RxUXRzcEc2U3hrQm9KUitEaUNVVTBmNjFadFhsTXNzU2pRTDNnNFB1ZEYrQXFoUHFRR2hjdXlTMUlMMzlwYQpkZkx3L0xzZGkwZWZMTlBwbG95T0xIendjTTZ6cDh1ZmpHeTllZVdWejk1Ym5CMlZKZVduaS9BcWZYWFltQURwSFdqc2dNNTRxUXM3CldjSlAvUGpQK1djdkZQQmhPZ3Vpd0poWjNqeTdkNy9NL09zdTdZZi95djUwZC83NzM2UisrRzNheDk5bnZMOG5IZkRlN3JUM2RtZTgKOTBNbTRQM2RPWURQL3piWDI0c0pNeWptdUJrUFp1cm55SXg1cUNIZG5CS1NZdnYybDhVZjd5NzQ0SWUwOTNlbHZ2TjE2a2MvYVAveQpyNmpOYjJldytCUWlKUXRCM25JTzBhZlI3SHpSRC81d3Bxb0d5ZFNWY2tpQTlJUnZmaHlpcndJRDI5R3ZkRVN2M1FuN21XTjBvSDBJCllncityWkZTeThWbzRMb3grQkNGTmt2RjRCejFMdEd2eExPUkVLQ1g1RFpOUFJNOXowTFhUY3VMSHZPNytRMEJjakJuajR3dUFnSWsKSnBhQlRuSmpKYm96a2tUTWxPa0VLQm9nb1daSmFQa2VVTEFIRkNWZ2FDVndEcEFiTjFiSVZQV1pFQ0M5QSttRFFHUTdNTDNUL0pZQQpUVWdQR1NpYXVFc1JlNnlaRmlBdUFMS3lYWjhUUFZZazcrRzhCREMrU2hBeDUwVkNib1A5eVo2bWN1Rm1Bc0ZXY3Y1TEtkN29LZDNxCkpkL2hMUjlmMkpDb2JDZENRZDd5TnlmanAzamRWLzZhajJ3bk1CdHdTMEp1VDU3dElnRjNWZEwxbnRMTlBwTHRmdUpYL2NTditZcDIKK0VtMiswaGZVY2cyK25odjhoYXRXNUMyL2RMdWd0dmZsSFY4VzNkalY5a3YzMmZmUGFCOWVMcmlXVk5WLzlHSzQrL2tyOCtKVFpNRgppbGxDbTVtT09NV0JReEZaR2lnY3FHcDNsc3FOSmZVd2xRc21NRkc2VTFYQWVKeE41U0pUbGRqTWszaGt0bHhncGdLUVNUL09wb0YyClJsNldNMlE4UXFIY0VJb2pnRDNUMllXaVZqT0NvcXcwYVc1K2xiNitXN1BDUGwrY3VudFR6dEYzSSt2L2tuanhtK3oySTZYOVRUVVAKTHl3WXViemc4YzkxVDM5ZU9ucDUyZU9MU3g3OXVHajQzSUtoMWdVRHpmUEJEdDFuYXJ0T3p3ZmNPMVZ6NzFUdDNaUHpwOUo1b3VZNQp4d2p1SHEyNWMyaHUrLzdLVzN2S2J2MVFDamkrV2JrbHpuYXVPQy9OSlR2R0l5TlZXUmJubHA4cFRrOFc1azBMY0tBRVZVbVltemJkCnJTeEhVcElpenNqMFNFcm5Sd1E3RjFUOTZjeVNYM1FsamJyY2c0UHBKd2FTamc5bUgzcVFkUEpPZG9PdThQUGVVUHVNUW9la0FFRlcKaEh0bGltUGU5ZjBsNEt5SUJtY05TKytlV1hxdmZrVVgyZEQrN05vSmVzNnRtNkQzL1BwcEdmaHB3K0RGOWZjdmIzeHdaZk9qWDdZKwp2ckYxOU5hMnA3ZTNQN3YxenFNYkd4L2YydnJvMm11M3o4eS9jYlJrVmFxYmhJTEVtVHRIOHF4VHJHeFQrVTdSWEI4eEsxeUdKdnJBCkVVcnpFR2VLdlFIc05POU91L2Jocyt3ckQvT3VQWXUrOWlCcFdGZlIvaUFvdUZaQXNmQm5LMzA0a1o1b21Bb0tDMktGQjdLaUZad1kKRC9Nd1Q5VEhDL0pVY1VNQ21GRnFqcGZMak9CZ0M5WDlpeC9vZW5ZTVgxbmNmNzYycTNGcGYvUDZuc1oxM2VjWGRmMjBMczByM1JXTApjYllJdGNEaUxka1JWdXdJU3p6Y0NpTWczSVZNa1pta01yOG1ZbHJHZWxEbzErSWJUN0locThSZktMWWE0NmZ6K1Y5L21XVEpOaVF5CmVlbUdwdllRQWxQQS83a0lialE5bU1tMHNGQURoRzJDWW5RWW9xRVFEU2dSRHd6R3JGbGNCT1BBaGtrSlZzZE81SS9xbGo1NFdOZDgKcW5MYmlsQ2xRN28xdzljQkNYSkdRKzJab2E1WW5LMlp4cGtWNVlEN0FCMTBSSkx0b0ZnNzFNOE85YkpoQnRreG81endJQ3U2ei82OQpsZmY2SzlZc1NscFU3YmRzb2QraUJiNUw2N3luWmQweThaWTF5dGUyK0wyMVBRaEF6dCs5dVMzdzdWY1ZYLzRsK2RNL0ozMzVhZWpmClBrcTdmWFB4eFd1WjFqUWZCNmEvSmNmWEhBMEtsVWFOak5SNDJIRUoxWUNwMmZOa3JmM2x6UU41VFgzRlRYMkZqVDBsallONWpmMGwKK2tqUGYwVUplSGt6Y0tNK2NLakNjMFBWdTM3TVd2V0J1MWVBQThvMUlES0hnTmF3Nk9DNkViRTB6TmlPTTd1Mnl2UFdqU1dQSHEwZgplYm82SmNIT2tvc3phV3dXamMvbG1jQW9rRE9FeGFUaUdJdVFUbzRCanRDbUJVRzU1aWdFb2VBek5SMTVVUHJHNm1xcFZZbVFteXJpCkZFdjVKYTVvc3BDMTBOT3lxaVF6NU5OM0szODZ2K0NacnVyeDZQeUJ3U1ZuVGxlc1hla2ZGbXpqYkl0ak5QQnA0anlFN3F0bWYvSkoKMVBDaldwMXUyWlVMUzkvZG5CTXZXeWpDMHBUbStSSk92cFJUSk9FVnVxRnBJdk5NRVR2T0hac3JSRXErZW1mK3hlWkNIb09CMHhtVwpLR1hOdTNHdGc4WEVSZWd0YlJrb0FwZWlaVEMvcWJkOHl1VWFvMkdnTERySEdZUHBmRGFOTUFPVWh1SEF2MmNEODZ0YW9XcnNxMndZCnlHM3RMejNYWDlIWUMzWXVBWGUvdjVJUEkzUTJsOHFGWnUvMGlOV0Y2eVZqaWdyOEd5TDB1Y1pUbWJvbnlWUUZlYW1JRUJJVHZKR28KZXcvYU1oQzZSaGU3ZVpkUHZqVU1FVE9EZEF0ckh1WGpQNlgxZFM5NjhtQjU4OG5hU0M4Yk5zT1l3V0Z5bVFiZU5zNGpjV3QxL2d0MAo0VHVlaHYvMis1cXFKdjh6YU5ZUnVkdEVUR3ZkYU5nYWhFWDhSb0lSSXlkTDlzalQyc0t3WEFtVFdQZlpEVW9RUVBybG0vV3RUTWRtCndTWUZnY2pjb0tsTWxoNFJuUENjS1hzU0pxUXZDaHZuZWV3SElHV21UaUJqWlV6d213SkVCSUhHdTdYclhXZHN3ZWdKOVpsc1ArTWwKWUdQelg2UUFLVVJiRk1KWHhvdS9ObnRLdDVIelg2VG8vSllBVGRnUHlWUUJlc0dCZkJTdmp6MGkydTR0QnJldnFNVmJ2Q1JicGNydApjdWNQa3FSL1B2OWQ5ZDA5eFIzL1NyejVYZHBBaS9iaDVaejJBNFhIZGhUdVNFdE9zVlc1enJMblVCeHhBekdYNm0xSlZiblE1UkthClZHd3FFQmxMQldacU54TmZNZDNMamFaeXBNcWNHSEpubHN5SkxuR2xpUVEwc1dDMkN0aVBpNUhVeXNDZGErQ0N6SEtrVTZ4cE0yMXcKaXAyZGdhc25SeDdqN2wzZzc3YzRPZlRWeXFTUGx1WWMrenpsN0E4Rk4wL082V3FzSGpwWC9lUnk3Yk1yTmM4dXozbDBidFdEMW1WRApUUXQ3NitkMW5hNjZkNnI4M3FuU3U2ZUxPMCtVNmltL2U3S0NZS0xiL09scXZmclUzRDA1VDgrWTdreHZQeWRxT283T0l6aGMzWDV3ClR0dStpcHU3UzI5OFh3eTQvcmVZelJGT0MzM0UyVzQ1c1lMTWNHRnVobWRoZ25QYVZQVWhpWkptWnJya3BBbnlRcVRwOFlyMFBIRm0KdUVWTXBHTlc1ZGMvMS95a1N6MzlJT3ZnVVBtSmtieGovUVduSDJnUER1V2NmbFI4N1ZuTzJvWndTKzk4WVY2OHV0U0RIclVsczBJdgpjQXZ1bnE3cnFsL1MzYmlpcDJuMUN3STAyWDVleXBvSnVzK3VuS0RuN0lhK0g1ZjNuRi9lM2JwaDhLZlZ1anViR2orcGlNQTVTVGF1CkNUYjJhWTVXK1k3T0VSeXBBZ21YNC9GKzdQQmdLQ0tFR3dWK2NLS3FoSXByblRXRHVpVzl1cXJCWjJsbnUzMzlxeDBvZUNRY0Vva2sKdVVQZS9wd2tIenhJZ25qTCtSRis5SWhBczFBdlBOeUxIZXFQUmFyd0JFOWM2WTBreStqQnRjbUpmM3NsbyszTVlsMzdSbDNuaHY2TApOYjNubDk1dFdOUFpzdUxTcVZvWHBwOEZOZG5PSXBLMEgxS0FKaUkzZjZBQVRVNDZuc3lObnlzKy9GTWtGekxFSWJvbDF5Qnp0ZWFyCmZkcnZqNVo5MTVBM1BZMlowL0o5Yy9MbkI1TFh2QjRTbmVwZ1pXZEdvODFpTXN4NE9JSkRISERMUTRpTURUQ29sK1NLbXVyTEg0L1cKUFJ5dWFENDFaMzF0Z2NJNjJJNFJic21Jc2tWakxaRm9LMWFvTFpSbXdmS3l3Z1NPL0NBK0k5aUJFMmVGcVN5b1hnSitXSGZ2bGlWMQpIdFlvaGNlaVdLSm1sbXdpODJOYVVKWVJEaHR6TVRNT0NuNU1tMkRRYkhBWGJQQ1pCcFlzWXdjY1lwdFFyQ0ZLZEtCdFQvOEtYK2RVClIyYW9PUmJBZ3dQaWZPS2VQcTBUT3BpakNBTkRqTE9xcFMxOVpVQ0FnTUcwREJRMzk1WDlQZ0ZxSFFBanRMYTVINHozMnZydXZKYisKOHRiK21wUHRsYzFkR1Q4MHB5OTdKVURpeVlZUktodEhZZGdNUXd5NWlERk9ON1RFRE1VTzdIWExZMzJWRGpoaXlPUE5DSTV6WGJURgpmK1ZyQVN0M3hDemJGcnJtOWVqbDI4T1c3ZkJkdVQxOFdxS1RCUnhrQmhIVnc4MGUzWi96d2VZNmQzM2ZDU20yMkFPUGt2RFNjcUx6CnJseWQvMkJrWTF0bjVkYU4vbUVxRjZFTmFnbVpjaGttWU5EbFFNWnMxQWlCWnlBc1V3NHhOaHZ3V0V3cmlLWHhzdmo2N3lrNjNjcEgKVHhiLzJMSm0wK0s2UUpjQ0phOVN3WnNqeGt2RWVKR0lHKzJLWndyTVl6NzljOHE1OHdsYzNCaUJjQzRMV3ZGV0ZPRTkvZm5nU29JTgpjR1ZlTGtDTmc2VkpSVUpnY3VDakpBVUl4WXhKQWFwZTdVVUtVRXRmRVJHVDZ5c0dBdFEwbEwvM2wwSVcwd3hubS9KWXMxOTFqOUdGCnJ5ZktyS1lxd2gvTFZQVjVxUUFSVFVNanlQak41Z2RSR3g5SHJGM3ZISVF5cVF5NktWRFZ2MzhaUFRxNlZxZXJlL2FrNHRuVDZ1SDcKQzRJOGNWTm9OdmhpMjdPZ1cvNjF1ckFWajRMVzZhSzJ2RGlUOVlkUGFmMjMvQWNDSklUaVNRRVNNY2Q2dVU4Vm9QR09ZRk41TGtCRQp1L2h4QVNLZm5lcEFrelJvWElEMHF5RCsxd0pFcXMrNC9SQUNSRUxXaUwyZ1B1UDJzMnBDZ0lEOUtFWGJBQ3JKSytTTWxWcjZHckFmCkg4VmIzckszQWFUOXZDQkE0QzRwT2hNQm5na0JtZ3E1ajUvMFQxN2lOenlGWUh1Yld2YUtwNVJvcktHU2JsT28zdzl3ZStlajVlVmQKKzFJNnZ5elNuYS9zT1ZGNTdJTzhOekxqMGwwbHRoUXJCc1VaTjFBN3NnTGNtVjR1aGg0aXV0S0RvWFpsK1RneWZSeHBuaDQwVHdWVgpvVEtSMkNCS080YmNoYUVVczd5RVZLWHRUSGNnVEJqRjBaQWlNcHNwd2d3RmpuUVBmeXRacHRpdk5paDhmWHp5bmsxaERlK21YZisrCnRQdGtkWDlMMWNERjBxR3JKY00zUzRZdkZRejlXTkRYa24vM2RNNmQ0N21keDdVZFI0dmJEeGNURGVTUEV6M243eHdwYlR0UzNINjAKcE9ONEdmQ2VqbU1FbmNjck92VU5WaWRhaVkxMzFhaCt6dkdhYWVrOE5nOEE3T2ZPa2VvN2grYTJIYWdpQmVqNmQwVy8vRXZiOWwzTwpQMnJVeS95UU9WN0IwUzRsd2NLMFJFVkJxanV4cXVHMFpJbHpFd1VaQ1pMMEJHVktvbjFZbkpGUGtLUXM3MFI3N28rNmhKUERPYWRHClMwNk9GaDYvbjNleVAvdFlYMW45YUZIRFNPVzVaMm5KVytJc1JBbVMvR2gzcmNZeTQvUUh4ZjFOUys2ZHFyMXpZajRRb043bVZhUUEKZFRldjYybGRPMEh2MlhYL09mcVhyQ2JwYmxuVjNiaXE3OEt5L2d1cmVsczNkalV1Nm0rdDdEbTVwRUxORFdWeTBweWQwNTE1SlVMYgphSjZMR3RjbzhXaHYzTThIOXRPd2cvd1JiemJGeHRvMlVweTVPbWJWcC82Wm02Um1HbmRUVnhVZUptQUhpZEhnWURUR2g2WDBSMktDCmNJOGd1ampBVksweERmUXpWS3ROUEFPUkFIQVFGU3ZFbHhPcGdxT3RLZDYyRkdtd2VjRHE5UFNENzFUMFgxcisrUHBHM2IzMTNjMEwKYmplczJybThTR3llejJPRmtJR2Y1K0dmZjU4RS9hTDYvRDRCNnJnKzc3V3RRWHlZamtFd2dsQXEzOVA4ZUwrc3BTY05qUEcvUWRtMApOSGZOYis0cGIrblBhK25MUFhRcGQ5dEhNWnA0SnpwaWhQQXBER2dHZ3daK3dhTThiQmJHcE5qZ0xIdTJUYTFXL3ZPRkJTT2oxWU9QCjVoNDdPbmR1YVpvelgyNkQramtnOFphbWFVNDhqU1VVeXFjbUVaMDZPTWtjcHNZRkMwdlV4STdxVnNpY2VUeVdJUS9ZRE5VS29kT0oKU1ovcElBdlVBVnlJeVdFeEFHQ0REd1poQ0VNWVZBNlRaWUZTZWRBTUc4eFVwMXRSV3h6cHhJem13NkU4eEM4dE5GNm5XeVMwdDhZdwpjSEFqVW9DYStuT0p6SjdCRWlBdVlJajlIUUlFeHZ2NmJrS0F6ajhvQVE3VTBGUFExRnZhT2pDbnBYZk91VUhpdWpWMTUrOCttemwvCmc5SkR4WUk1WmhCS3gzRU93bVJoTEJxUFM3SGlHVUlNQ2hjM21yL0Q2M1JYWmV0d1dVTnZSWDF2U2ZOZ1JXUGZISEErRFgzbDAvTEIKMTdrOG9pVE5CSU5OKys1VmZQYjZmRmNzUThLdEZMTEQ1YnpjS0huK3JUdFZWNjdWcUlWOEhwVmh3VEl4aDFuQWUzRFdMRDdIbU04MQpRMUV6QkdWeU9Ed21rRTV6Smd3eFVSYVRDNXV4bWJOc3dBZUEwZEtqblE3dUtRUWFkUC9Ca2xOSFY4L0xLL1Z6ekJZaTJUSjhqanRlCkllQm1mUDZubXRhV0FnWkVZVnVaZ1lGd3lXdGhUWDFhSUVDRUFnNFdOLzhIQXBRelYwVlVlQ0hFVzBBeE9vTE9Kb3JDVUxQYTliNk4KL1JXTmd6bVRCYWk1TDNmZkw0VXdFQ0RVR0FqUUR0Y29YZVI0aTRiL28weFZuNWNLMEhEWUdsMFVzUXcwc2ZCUDlLYUhvYXZDTVJzRwpTdmk2Mk1QczRjaFMzZFBGVDRjWDZrWTI2a2FXNlVZWC9mRDNQSnpMQUY4SWpHWjhXbFNraTFrL0dyNzJHZkYzcDZqUC8xb0JHcTByCkRNdWZKRUJKdjBPQWZqWDVCUkdIR21OOGg2a0M5TnlCU1B0aHBnQmVJa0NycDJkOFltdXlBSW5kbCtuWE5od1RvTWxCb0RIN0VhNmQKRUNEU2UvU3pYV1JMTDczckFQV1J2a1V3bmYwUVRMczg5SzhEUXBNbHlWLzhscGZvVmJDenQySzdsM0s3cDJ5N1NyclRVL3E2d21OVApXV3hkMjlIczBUTUw3KzRyK01mNmhIeTFqOUJBeGFkNG0xUFV6bFJpVlBOZ3FOeW9FZ2xMTG9mVllyTWdrYW0veU14SFRGVUxtU28zClNPVUV5ZTFnbVp1UnduYW1pRTF4Z1NqMndIc2NETVgrYUVpeVhjcVNHTGRYaTd5K1dodDc1aS81MXc5V2RqZk43Zit4WXZoS3hmM20KMGdmTkZVTU41WDNIaTdvT0ZuUWRLT3plWDl5MXIrak8vaUtpMG41L2NjZkJpbnRIcXU4ZXJlazhNdS9Pb1htZFI0bzZEeE5OTnZSdAp4UWpwdVhPMHJQMUkrZVQrcVpOMXAvTjQxWGk3c2VrZGlQU2VDVHFPVnJjZm5rTTBPRHRZMmI2LzR0WWVJRUNGVjc3T3UvajMvQnRmCkpHNkw1TS96c2txVDVvWkx5c005Y25Ja2M2ZXFEMG1NSURWZldwRGltaG1GUjRSem8zTVhmQUIrSFdmOCtDemw4TU84b3lONWg0WUwKVHp6TVB6NVVjR3lvOU5UajlOM2Q4eTQvcnY3Z2x3akhoSGdILzBUUFVpK0dkbjFLVm45TFNmdlJ1WGZBaVoxYTBOMnd0S3RoK2IzNgpGWGNiVi9hMHJKOHNRSk1kNklYSG53TmVRakpwNTc1emF3ZGExd0R2NlR4VDE5ZXl2dk4wemEzRG1TUG42ajViTFBjeE5FdHpkRWx6Ck5pOXc1U1padVJCTGFlT0pLc2hIeW95V3NpSjgrTkhoU0tnbnhkV2VXS25TV2pqVE9XNld1dzhueG8wZG9lQkVSTUVoM3BDdmkzVmsKTU10WGJ1SWlNaGFiczN5RjVra0IzRlFmTEVMT1VDdjRhajg0VmM3dzhlSkdLZkZZR2Viblp1amxRZ2x4b3dURU9JWi90RHovMXRFNQp1bzYxVDIrdjdyN3lpcDl6aWowYU5PRTlFL3dQQ2RDTmlpMnJmWGtzQmdwakdNZTQ4c09FcG9IU2h2Nzh4Z0VpZjJVYXBxZ1BDWkVVCjNGOENYa3ZJQVRDRzN2SXpuVVhIYnVWdCtuTlVVTHc1SFpzQklTdzJCNEVnSXI4Vmg2ZzRST0ZBVkZkYjlwd3k0WlhyeFRwZDdZT2gKNVlkMkZkZk5DUmViaDlqUVF0ellLUTVvbUMwYVlrRlBjK0JHT2pJaTNuczc3NEd1d29MSkpCS0IyVlFnVlZ3ckNvd2JUd3VackkwaApoZ0I5eWJRUkc1c05ZTExOZ0Y0d1lFTWVqd0daNGp3NisrS1AxWHUrS2JXamhwakRNZVpvVUhwNDFPalRXcUc5TFpHSGdSdVNVMkNrCkFKRVJvTjhuUUdDOEIwZG83QzBneHY3QmZHSXVyQmVnUGROYjFucS9xcjYzcUw1UGUzYW8vTUp3VGNQZE9mOXNUSzdkSEdZbk1XYXkKWjZBNGd1SVVoSUZhY2F3Umh0bVN0d0thQmlvYmh6THIrN01hQnRQcUI5SWJCd3FhNytlZEdjcVpscThPYTFsbVpnaUM0WWhaKy9XQwpmN3hmS1RiUGxuT3JGWGlabWxOMzZhYzExOXVxckJFcTI1VEhSMHc0VERNWU5zRXhGb3d3YUV3VEptSm80MHFQU0hWZnNEWm13OXVKCjZhVmlHN2ZaS05jQTV4RHBSemdNd1ZTWXp6Q3hobkI3akZHYTczcmhvbGFuVzNhdmM4M1huMVhrQlZlNXdZbHl5NVRQM2lvNGZ6YVgKeDZHWk1VM1pYTU9GTzBMQUd3ZHZIMXlRLzJ3S3JLaHNhUUFicFdLUTBZUUE0YkF4RUtERlc0SW1DVkFwT0JRUkFlckozbnM1bjR1eQpjSGcybjJGRUNGREVodDh6QmZiZk1sVjlYaXBBRDhQV0VnSVV2UEYreEhwZDVDYmdDcllNSm90RHQrS1lKRVc2NjNSYkhnM1Y2cDR1CjBZMnUxT21XUDN1eThIS2psc0V5Z0ZnTUJEUGI1MUh3T0dMdGFQU2FSOEVyWHZTZS93Y0VpQkFYZHloSm9HL2FOU0ZBWkJyUVJCWFkKVlBXWkxFQmpHdlFyQVpvME5hWS81cS9SYXhEUkovWGZDUkJaOHpXNUVJd00vRWc4eHZxYmpzZCtKcWE5Sm5wK0VZenZ2SHBzNWNOSgo0Uis5QU8wRVRxTW1sakhVSi8xSXg4TS8vMDZBeUVUbXFRSkVPdERrQ0pDL2RKdVA5QlZnUDk2cUhXcmxxOEIrMUpJM2ZhVi9pdlhZCi90T2hSYmNQVjcwN0p6SEcwZCtPRW1SSmtibFQxVTVZcURQTFg4anlCdU9XMUV3aG9hb2tERi93dUlnaEZER2tFcHFYME16ZllaWTMKaHlLQktHNFlSY0NudUVqcHNoUVgzenBONE50bFlidDNKcDcvUWR2V1ZQbndRdFdUSCtlT25LdDhVRjg4ZEtLZy8yQlczOTcwd2YyWgo3UWNMN2h3b2FOK2YzNzRudjNOZlVmZkIwcDREcGZmMmx2UUE3emxRQWg3cE9GalVjYml3NDNEQm5hUDVIY2NLQ0FFNlV0UkJ0TmNvCnZuT2tsT0JvUmNleHlvNGpGU1NkUitlTVUwMUF4SVNlOTF1OWQzSWVTZWZ4dVpQcE9EWm5qS1BWZDQ3TUpRWG96b0hLMjN2TGJueGYKZFBXYi9BdGY1SGQ5cC8xaGdYeStncWYxa2lhS2FtTGNTNVBkaTZlcUQwbXFQQ1BDT2lFU3o4cEpleWZyeS9NRlorL1BQYWRMT2pDWQplZmgrNGNtUm5DUDloYWZ1bDU1NFVMQ3J1L3p3d3dXdHVycXpEMUtEbDBYZ29TbEtyY2F1Sk1sS2UvYWpsTHVOSmRmMmxRRUJ1bmRtCmNWZjlFbjBPMExKN1RhdTZtdlhCR3owVDRaeC93eVFCNm01WlE5TFZ2SExvM0pxK2xxVkFnTG9ibG5jY245ZDVVanZVVkhicG53bFoKdHV4UWpKUHA0cHp0d0VtemNmS0JBdFZJa2hlbUNlQnBYSG0rS3ZOZ1A2QXZzSzhmSnlRWUMxZkNHazlPaURjcjBwc2RGR1RxN2NrSQpFdG9reU9qQnJqTnRCTHo4ME5wL0JQL3Q1N2g5ZlhGSCtueXFQNVZTQXYwWlFiNjRseTlQSVdjRnlaRllUNTYzbXF2eXdRTjlVWlVqCnhkZUZvbFFaK1d4S3ovMTVYOGxJeDVyamUwb2RxRkUyTDAxa25vNFgxZWYzQ1ZCM2UvWDZaVjRjeUJSaVVUazhXc1dIeVNlN3lwb0cKYWx2NkM2ZG5JR2RhR3ZvcndmQlRQNUI3WmlDOWZpaXQ4WDR1a1FqY1c5VFFuZFhVVTNMb2N0WDZQOFVyQXMwWm1BR01HOEhzbVdDZwpOZWNiMDZrVWM1akZNOE1FbGxEZEhJZTduV1ZQZFRXRFE5V0g5eGZNemNwelJRSWNtRDdXWmhGT1NMQUxLNm1odVdEdm9UQUxvdm9KCmpMMnpRaE9jL3Jvbi9mUEQrZFB5eWZHc0YvanJzVXpBNThlelBqK20vY3VCeklvVjdodzJ6RU1wS3hjTDI5cnluVkVsSDQ2MFlvY2wKaDRROEdaMHZjckNEWVVLWWNtcmtad2NxeUJ3Z01CNDM5WmIrdmltd2h1N2kxc0V5b0ZBTlBmbEVCa3cvNFVDdFE0V3REOG9iQjR0UAo5eGEwREplQjIxTzllUmRHS29HQW51N0pieGxZK01XSm9zcmw0UTVpWUhJb3pvTE4yWVpyM29sdDZhNXQ2aTFvN1FjSHpHM3F6UU4rCjF0aGQwTkJmT0MxZkhNN0dJSmpETnVleVRTNmZ6L2pIbnlzazNISWhWQ0ZGTXc3dnJoc2FxUkU3d2x3bTNkeWN3bWVqd0NyczNPbGgKeVU2THR3U0RhM3YwV25GVFZ6SDRFMmNIQzhCSC9PTndWV1BIL0k5MjU2WVVDY3dkVEZBMkRVWWhQb3l3SVFNdVFyRkVxZVowbHFzVgpmY2ZXZ0lIaHhicVJ6UzMxQzViUGlkNy8yYndmejlRaWRBcVhaNGJTVEJlOXFtbnEwNEwzVHFoa254WW80TXNGcUg1QU8yOXRLRkZzCnlESWtiakU2aXBxd0VSTndxaXRmRFcvb0syOGF5bTN1TFJ3WG9LTFcvcnpkRjNQTjJRZ0tHNDFOZ1FIVklCWVlmRkZCZmlkVFZXT00KS2VyelVnSFNSZW03WGdSdkpKcC9hWUNpcmNVWlZCaWo0UXhLWHJMbnM4ZGJkWStYNjNRTFJ3YXJuanlzMWoxWjluTmpubjZKS1dCMgp0SDg2Wnc5cFZveEVyTlJGLy9iNVRGV1QveGwrVTRDNHBBQkpDWTlKQkFJa2hQVkdBaE1POUlJQUVRc2hUbEdmY1o2TERoa3hJdmt0CkFacDBsL2h6Uk15Sm1TSmtKUDhiQVpwd29JbVpMNGxncWRoakNXQ3lBT21qUG1QcU05bCt5UHI1S1FMMEtoQWdUNktBYXljQWJKREcKNDZONEN6QzkvZndIQWpUWmZnQytrZzArMHMxZThtMXErVTYxL0hWZjJSdUJzamREWkc5c3lGcjN4dnk0Y0d0L0owcWdCU1ZPZ0VSSQpPUUVTTE1qVHpGL045RkZDS2dsTExxQ3JCQXcvQWNNZjRHRWl0WjBwd0NndUdNWFZ3ZGd0eUZKVTd1dTFPU05zMzlhUWxrOHkybzdNCjZXMlozMysrY3FDbG9QOWtjcy9CeUxiZGFaMzdzenIyWjkvWmwwUDAwTmlydmIybnNQMUFTZGZ1WXFBN2QvZVd0TzhyQm5kdkh5cTkKZmFUczVwR3l1d2VLN2gwczdqNWMyblcwREVCRWZRNFZBKzRlTGI1N3BCUnc3eWdSQVNLNWU2enExOHg5enZFS2dtTlY5NDdQR2FlNgo2OFE4OHRsSnRqVEdDd0xVdHEvODVxN2lhOTlxTDMyWmQrWFQzS3NmcHI2WEl5eVVRUG15OEdUWGVVUS8xQ25xTTA1S25LdTJaTVBCCm9uTzZrcXU2dklNUGMvY05GaDU5VW43cWNjNlIzc3JXa1RuMUR3c1A5SldkSEpuZnFsdDJTUmUyNElNSVJrU1dSMnl3YTRVL0srdVQKdXVTSFowcXY3Tk8ySFo1MzkwUWRFS0RPVXdzN1R4TnBRTUJhN2pZdTcybGFDZWh0WHZVZjB0KzZEdERYc2xiUDZvbkh3V0c3bTVaMApOUzdxYWx6Y0JxN002YXJPb3ptUHpwYnRUQlhMRFdjazI3bm5PbHBrTzlpSDRQNXlSclFQSHUyRnhhbVlrZjZzS0c5VTQyMGI0b0ZLCmxKQkN3dzd5WmNWN2NYMERvRWdmYnJqS01jNlQ0aW1uQ0dRWkd6VUhldEovMXZtZjEva2RlUng3VFJmMnhZOUNQTTZUcXBaVEl3SzQKTVhKNmdJSVJwRVpEUGFGb0dUM1ExOExiSDAvMmc1Tzk2Y0V1RkRlRlFkeUtqTklyOVl1TG95ZGtoZUIvVW9CNjJoY3NtYWZnWThZSQpic0RtejVyN2FleVp2dXo2M3JMVzM2UmtXdXI3TXhzR2Nwc0dpNXFHeXBxR0tob0hnQStWMWZlWE5nOVdOZmRWdEE2V3RBN20xSGVuCjdiK1VzL3JOYUxtL0pRNVJFVHJkbW1mT1FWZzhOb1BGbUlWQ1pod1VFVnZhcnFqMXUzVnJ2azVYTnpCY3VldnIvSlNnVUVlVE9DRTcKY25oa2VXV0pCMGFmd1lFdDZkQ010LytSZHY1KzlZdCtOZzQ0RTdJQ3E3NnZBQUEyU0U3M1pvQjNkL0ZKemRkTnlSQm1iTTQyVUFzNApPdDJ5TUxVbkR3Nnhac2NrQlllTVBxMlZPTm1CLzdWeGhKWlZMZjFEa3FBYmV3RmFjQVJpSG0yZ0NHalFtYTdjaHQ3Y00zMFpSRWhwCm9LajVmbVY5WDhXSmUwVGFMMUJKd2lDSDAxcEhrb2pYZGxZbVpMbkNFSVdOenR6d2JzTFpuZ1huQm9yUDlaZTE5T2EzOWhWZUdLaHUKdktkdDZTdVpscjhkUytXeXpWZ0lEY2RtWGpxYnMvdVR4VUpzanNveTgrTTNTa2VlTEEzemNRUDJnN0VwTEdTR2g4eitueWNLV3Z2bQpudXVmMzl3OXI3NnpxcW1uNnV4UWFjdFFUdk5RS3JpRzRHNVR6OXl6ZzhXdFEybkhiNmZ2L0R3aElrV0FZQ3dVaFJHWWhiQ01MWGltClBHUW1IekxtczJpSmZ2WS9YaXdiMWRYcFJ1YWNPNU52RGlNOE5ndWpHUy9lR1VvbVFoRXFxWStCL1RzQnlxL2JGSUVoUk40UEVDQWkKQ1JvaktxU0FCcTE3SzZvQmVBODR2VDR0K0FhU0FuUjJJSC9YajluRTBvaVFvVGxxdXMwOStsbmtlbUs5bktrSzh2dVlxaHEvVDRDSQoycXMxUkxWVXhFYWRadjJ6aURYbUNBTkdUYTF3by93MDhaTW5pNTQrbnFON1BFK24yekQ2YU5uVEo2dC9hVnpNZ0djeWdVeXdXZDg0ClpZN0dySHNTdGtZWHVuckthZnh2RnFCRmhhSGE1d0lFNlJ1d1R4S2dDZnY1RHdXSWpQMU1GYURKRHZTckJ3bjdTUkl5RWdFdkVhQ0oKcGwyL1R1N3hXQ3h5SnhDNkxTSUZpRXowZVc1SVUxY1BJdFkvL0pVQTZSM290WEVIZWxVL0VVYVVnQUVtMjgrRUFCRlJvdDhXb0FucAptWmdnSTNZUWJmQ1d2Z0tPN0NrbGpoT3MzS21SYkF6MldGN2lsU3MxVG5LY3FWU3hBLzM0QWVDM3Zvd2VKWUo4NUN4UFQwaWhvSWxVClZKbVM3dWN5MjV0RGNXZFI3QzBvY2wrZWI1bS81cDJ5NkJPdnA5Lzh0ckR2Wk5udzJiazlwN1A3VCtiMkhNcnAvQ0hqOWpmcHQ3L04KdTcycjhPYnVrbzRmS2p2M1Z0N2VYWHByZDlHdHZZVTM5MnR2SENpNGRVUjcvV2o2OWFPWnQ0L2t0QjNPdlhNZ3IzT3Y5dTZld3A2OQp4ZTBIOCs0Y3l1ODhvcjE3dUlob09BK2s1MUJwNTBIZ1NVQ2Jpam9PbGR3RmtuU2tsR3c0MzM2NEdGak9tQThkclFTTUI0U3FDRDBhCmQ2REpodlNpOXh5cElybHp0S3I5U0dYYndmTGJCOHJhOTVmZDNsdHk4NGZDNjk4WFhQa3E1OGRQMG03K3ZhRDVOYzJXY0tzYU5UZkQKTlNGSk5OVjd4b2hsQnNVdmZtOUZoeTcvMktQc0k0OHpHcDdtSG45VWUxeFhjL2hSK2NuaC9FUDNLZzczbFo5NHVPeXFidFBaa2JTbApuMG90L2JKdEM5S0U2U3BlMnFhTWpEdjdrbTRmTEd3L1BMZnorQUlnUUVCVDdwNWVkSzkrR1RFTDFyUUNDSkErSVpwd29CZVlxajRrCllQOEplcHFYVDlEZnVxYTNaZG5kNXJwN0xRdnZOU3pxT3IzZzFvSDhnVVp0OHpzUk1SWTBEV3FWYmM4dmNMVUk0OG1VckZBVkV1ckQKQ1FoaEJ2bkNvZDU0cURmTjJ4c1A4ZVhHYW1aRktpSC9ZUE0wS1VNdDVrZkpLQjVDaXJsbTJaZTVOM1NlNXg0R0grMVZIZS94MzNjdgovdnlUK0YyWDVGWnhBWWFDQVBNUW1YR1lIek5TTkZOb1QzRVhHRVJJR1ltZXZHUXZPTVlYRDFNai9pRldZUXF6Wkh1S0tvU1QvZGMxClMyMmhVTElPZkxJQVRaMFgrOE1GcVAvZXdvcENBYzQwQXY5SlFmQ002cjlFTncrbWd4R2x1UzkzZW5xTHArWHMvYUt6US9vVUdXTDkKbTdJelBjVU5lZ3NCem5HbWg1ZzRheGtvYnVyUGJSM0liKzB2cmI5YnRxODVmODFPZjdHYVNXVlNHSkFKendLbk04MHdEREhuVURBVwp4UUxtT1ZyUTFxMEs2dXlwN095ZUwySUh6TTFKMGVuV3VscXllTEFSam5KaEM4ckJYd3FiaDR1STlPVHBtQ2hOSndIYlFCck9ENWFjCnZhOEZveWFRdktiZUNsdDNNeTZDV05BWnc0UEwxaTlQNGFNK2xtaGNjbkRFTTEyZHlORkNuMnlMcEZVS20zdUpoWHlhOWRJREJBaDQKM3U4UW9Bc1B5b2tSdXFjQWlGVExRQ2xBTDRYZ2lsV0NJd01mYWgwcXZQQ3dGRWdidUZ6QUdzL2NLMjRlTEFPNkJyYlA5cytadDBLRApzMDF4aUw3aHc4am12c3JtZ1lLR25zTDY3andpaU5KRHpLd0JxWnFXdngvTHc5aGc0Q1RXYmZxcHVXRC9Gd3RsL093bDVSbVBkUlVyCkZ2cGJ3RFFjcFhETURTUmVyc2ZiY3NEcG5iNlgwOVFQVHFZQVFPUXE5UlUzOUZZMDlsVzNQSXB2R013Z3pxMnZnaWpnNmdPWHQrcE0KUi9tQks2VnIzdFVvTkZ3R0JyNUNkQ0w1QnFLem1YUXV6WkNOR3NtRjNOM2ZwRnc0bjhOblV3Mk5LQlk4Nm1RQklwS0J3S2N6Vk5EWQpVemIxaXBFMERPWXRlU1VHaFkzMHF6K2JRREQ0a2hBckx3QUIydlJ1M0hNQjZnTTdFd0xVMHArMzUwb0JETkZnZERZWE1WNWg0LzgwCmVzTm85QjgzQlRaVk5YNmZBQVd0ZmhTMm1qQUdvckpzZlhmb0VsdUVCV1BFRWx6YVRObmpwMEI5S2taSHFuU2pHeDQvWFAzd3dlcHYKUHByTHNhRXhZQU9NamU1eXp0TEZyTk5GYnRPRnJKbHlHdjlMQmNqUmdqTW1RRXpDZUR6Z1ZCR1psZnhmQ3RDdnpHYnlGTmdVeHBLagpKODJPaWZRTzlEc0ZTT1MrQ0VBcy9LTVhJTkorOUx1OXVHYjBSUFNJRkNCeXlSOTlCdlFPSUQzNlpROWY5NVFRQWtSbUJaRUwrYnhFCmdDWXJ6b1Q2VEFqUVJJWVF1WU92YkpzZk9JTGlYVy81ZXdIS2QwSVVXd1BkRjNoYTVVbnBDazgwVmNrUDl1SDZlSnNHQkpnRkJ5QUIKTXBZMytMR3VZUG5abTZuaEdUS1lJblV3RlNZSlBEZGt4Qjk3UGZLWGIzTUdHc3FHV3ZMNnptUjJIOG5vM0pYVC9uWCt2Uit5NzN5WApjZXZidEZ2ZnA3ZnR5V3JmbTMxbkQ4R05QZW0zOW1YZTJwdlJ2amV6YzEvdTNiMjVIYnV6dS9ia2R1elJ0dTh1QUhRY0xPbzhWS3p2CkxWL1Fka2dML0VOUHlXMTlQaEN3SDBLQTloZmVQVlFPNkR4Y0NoeG9mQ0tzQ0tEZktDRW54VHFPbHVubndnZ1Rtb2dTVGJqUk9OUFkKRHlsQWJZY3JTQUZxMjFkNmEwOHhFS0FidTdUWHY4bjgrYXZNODMrTnYvSmhiUE5tLzJVcVNDdXpUWEFybjZvK0pGSE1zSkNpN1JYWApuMFdlN01rNjFKOTVlQ0N2ZnFUazVPamNJeVBhazhNbERjUEx6dXRXWGRWcHY3MFdtcnd1M0RpNHlpNDRXWmpqaTVacmZjdXU3by9xCk8xQnlZVjlpMThIRkhjZHE3eHlkMzNHU3FBSUQ5dE41ZWtsSC9WTGdRTDhTbWlrYU5CVkNnMXBXVEdJWkNYQ3BycGFsZDV0cmI1K3UKN0RpOW9QUFU0czdqVmJjT3BlbWFpbGZGUzVVbWNMSTVwSFZEUTdtT3ZweFFCUlFjd1FpVzRXRnlYcXdYSThRSEQ1SGova3B1cEpTWAo1TWVKbGREOGdpeWlGQlJ6M216YmtEZjNGSFRvdkE4T3grNjlIL0I5VitDUmdhVGRBeUhOai93L2JoVE4xbmhEdmpKR3VOaFkvdjMyCmhlZitXYmsxUHo3T0ljSFYyQWVuT0lrTlEvM1lrVDZjS0M4c3g4L0NOOFF5MG9zZUk2U283SWpxSjhLQlNDOGhWdTZabEJBOUhTK3EKejhzRmlIeGtLc05EUzB2eTNIRUdqY1BHT0NoVy9YNWFVMC9tMmI1eWZVWHhkQXdXVGt0VGQxbFRUMUVUR0luNzg4QnZldjNvV3dvRwpTMklpcHErNFh2OERIWXp4d0lHYWV2UE9ENVdkZnBCN3NqOGJqTzU3enBVdDNSUW9WME44ZkFZSG1zbUNpU1dGVUpURzR4cGlWRHhNCmd6M1diWkZaYVQ3L01IWHdmcTBGazJhT0dzUHc3TWgwNSthaHd0T0R1Y1FJUFIybitvdE9EeFNmR1N3aEFkc2tqZDJGNTRhcVR2V2sKdHc2V0pSWGFzU0UrbnpHNy9sVDhudTlyclhocVBoU1hFaEw5VEZmclljY2x5cTBoVGxLcFcyTjNNUkFndmJVVWt4R2dKdkRXcGd6VgpMNGZJL2dIajlHQVpjTVNHYmlLWDZPeGdaV052a1Q1T0E0YnR3c2FlM01hK0hPQ1JaR2JNMllFeVlqWEZnZEl6M1dDanFIcTFHZ0ttCmdtSWJQZzA3MDFkeXBqK252ciswWmJpc2FhamtaSGRoeXdOQ042Zmw3MGZtSUtnaGlrTW9SRHQ5S1BuZ1A2c3lRb3NlRGI5NWFHOFIKbjBuaFEweWN4V1B6NlYrZFNUMy9zQVljdG5XNHRMNnY0RXh2UWVOQWtSNWdzVnB3cWV0N3lva0VyNEVDOHNNRnF0VGNsMzkrT0w5KwpLSVVJVm5WWDdtcWV1M0I5aEl1QVJZZ2phc0xETVZPWXd1RWlYS3FKZ3ptRlRtZmlsc1l3eEZ6MHFtWkNnSWlOZ2VLWEMxRGpVUDdTCjdZUUFjWEhpc0N6SUZBZ1FCcGtBQWRyeVhnSXBRTVNFNElRQURlWWZ1MU9GNFN5TWF3WXpacFV6Qlk4aTFqeUsvTytUb0tjcXhiOWgKaXZxOFhJQkMxejJLV2Y4b2ZOMlR5QTJQSTlaZTlwdGp5NkF6Y0ZNK2FyaGhlZGF6cHh2dXRzMDVjeWo3clkxUkZkbHFPOFRBaGtsaAo4ZzJZS0lYRmdnOEo4a2MxUzNYQlc0RmtURjNSNXc5ZTErZS81UThTSUxJNS9GUW1CSWg0MVNUZElaeHBpZ005ZjN4Y2dFajdFZEFUCmZsT0FKcnpueGVKMi9melhSQTRRK1NEWVUrYStXdTZ4UmlGWXEyY2RpZHlEU0FEU3IzOUlySGs0T1FLa2t1NllETkdXUzQrbmRCdFIKcmlWNUJVQUlrM2dyVVRZdjJnS09RQzRrclY4NWVvdGE5b3BhUnV5c0ZyOHlMZDd1NitYSzdYTDFtMTRlNzBVSzNrdnlXdURyRUJoaQpGYWV4RHZkaFIzaWpDVDdzSkJVZUxrY0RKSENBaUJYSXBxZ3RLVEtSaVVlZXlQdmpPZW5uUGlxNmR5anY0Ym5jL3FNVjkvWVgzZm91Cis5clg2ZGUveWJqNWJSYllCcmUzdjg4aGFkdVZDMmovSVkvazlnL1piYnR6U05yMzVBTHU3TTBEM042YkMyamJsd2NnTW9IMEVGbEIKQi80Lzh0NENLcXJ0YmVDZWU2K0tDRXduclpSSWQzZDNkM2VqcUlnb05tSjNkMkZnb3RqWTBsMkNkSGNOWWNkOGU4K0JjUzZnOTczMwp2Zi8vKzMzclcrdTNaaDJPTTN2T25PSGUvZVBaei9Qc2tCbUJLVUZNVlVMb2ZSR09nQ3lRSWZTOENHY0QyRkpVNzh0b0FITGMvVHl5CjYxa0VUS0FHbnNTc0p1dDhIZ25vZUJZQjZId083UWZRK1FRS1VQdmpjQml5ZWhqYWtoN2FuQjc0NXFKRDlYbmJ1blBPajVQMHRoclIKb2tSbjJhZ0cyaW42dThrRmVVa0hla3I2ZThqNHVpdjVPaWk1QlVrN1NRa1p1YVJjM3RYUFdON0Y4Q3Y5RVBQbWEzek4xeTBkNzFZMApmbzh1WjRUYzZMRU5PYUt4d05xWXBCY3M3V0VwRTZORGNZNjNkQ2crNzl6M3pLSGpRV0RIMDZYdDJTSGRXY3Q2c3BmMzVzVDM1Y0ppCitMNzhsWUQrZ3NTQndxU1pZUk9qUDFHOEJ0QmZsRFNGd1JMd3VLcXZJR0VnUDM0Z2IybC9UbXd2dUNGUFE0Ynl2RXJQMjdudzhwdHkKMHJ5bCtCM0ZGcHJRZExSeHJwb2tmVDJhcFE3WlVKdXNwVU0yMFNHNEdCQmRkQWdHeGlRalphcXNMSW9xeXFGamU3N2N0WWxoKzJyRQorR21mVGVaSGs4Y00xU2ZONnEvYkhDdS9tQ1UvTlVKSnFsTk1wWCszTkYrZzFWKytsTkc5bE5HMGRhUWlQQy9OTGRuZjFFVEFjU0ZLClp4SEtXSi9nYkVpeE1hYVpXUXJaV1BEYTJnaDdXUXE1YUpKZHhiSDIvQ1E5QVQ0aklaS0ZCQWthekhScm1mSGtkS2JIZThCSlViSVYKQXZLYzl5T0pVUUd5L09TNWVCdzNpY1MxSk5XT1dhMzl0eU1jZjVmaW9lamlZVGo1bFl6Nmdva2ZUSWZYQzUzajk0dUxxODhsOE00ago4TkFFZWRIZ2Y1M0d1cktmdm03UkZOSnRhNHhQUFdNclJDSlRhVnpjSkZUS2FWT1lUelBpUDMza1h3TzBvNER1QjZiMnd2N29QV202CldDeDJBUjh1MkVkL2RHQzVITUZXbEtRZDRPbjhsWkVpSlVnU0lKS0k1TitjQXVTTCswUEE1Rm9NRi9WOFM4YVlKa2VIK1VBemtqOFcKVkR3ZWxnTnNCcmI4OFNzYkNTNm5od0doTElNTzRWTXk1Rk01RmxBK0ZnQmJJNDZHWjQvODlENERLNEt5T0JxYVArUVBKTWsveW9oRQpob1g5TUFJRVd3ckI5YmlKVk9KUldGdzJmUVNFOUR4WEhneWFsNFFISXZMc1FVUmRUWEJYeTlxV2xsQiswaDhVNG13S0dYeE8vTjZyCkZpWHZQSXZHdkF1WmVVNS9DNlM4SHlhSk14MnhaSERGK1dmdWdVa2lDK1pqeUx5L1VXbEVidXh2UWtRcWxvZ2lrbmlJK0RtSisweEsKaG1PWTRSOGsvVG1DV1JNWE9IMWtCT0EwcS9kWXdzUjVBSGtXZ1RTUFJNUlFDQng0SXVlK05DdllaQkltM1lPYkhBejhHK1lBalhtVgo5YS9TdHlOaThDZ0tBVXZGY2MybjhJalJlRVI0Y1dMOFhPQmdJUTIvZ0VDVkpSS0VTRndpZ2x5aTFOL0JTV0VTUmtLQUlFeWVKMExECmlKRFJFalRzQWlwbVJzUkpQQkpVbkFTVkpFb21pVk1wQ3lnNE1MNG9IN2NZaFNoQ3hvcVJNY3gveFltUzBHSUVqQVFKSjBQR0xxS0EKSDdIaVJMd01pU1JESW9oU01JTDhtQVVrYm5CZW1vSVhwMkFGS1JnS2hZZEluRWZFY3ZEUS9wQldFVjZrSUVRZ2NlQ3hzL2hKUFB3RQpibjRjRHkrR2s0ZVBlelpoanRJOGZMNzVZdUJQREpOTjcyeW4rY2QvRGJQTlAyRVQ4QjdtN3EzZ1lNT0VBQkU0Z0FCOStiNDZ5RFJRCkNlT2lSSFNUd2JzaEFvU29DWkxVakFpUURNWU93SjdmdzQ0aTNvVUZqT2pnWURNaE9ZempqOURScFBmSU1UT0taTENPc3JnZmhXUHcKZ1BsOFpEa01BYWtPUS9pbEFFMG1RVE1Qb1AwQWdQMGdzQXVRR3R6MDlJY0F3UzNmWVpqblR3TEVVaCtXQUNIMk0xMkFrRWJTU1BjZwo0RUNJS2sxWEh3UmR4YTFhMnJ1MU5jNDdxS1ZHbUczeU5YQ3pFRGV6RlhJeTVMY3o0RGZYNTlmWDQ5Vld3Nm5MekZaYmlGS1RSdW40CmFpc2Rpbk1vdmhRMDhNci9mYUVYUGN1ajdZRlhmWG9Ba0J0Z1BDMTN2QUhnQU5FZGNJREE3a0NJQmdFQlFtQjNJQUFpUURObzBKKzkKcCt0WktFTG5rMkJBRnpqREJyUWlOZ0g2c3d4RklEQ1h6Q0tSNCs3bjRhenp6RWhTT0dKRmdJN25ZVjNQSUoxUFF6dWVoTFEvQ21wNwpHQWhvdlJQWWZOdTcvcnB6OVhucjZsUFcxY2VkTTFjWjdyUGhENUZmNkNtbDV5VGxieSsvMkZZcDNFYlJ5MG5PeTFYSzMydVJoNTZBCm5aU2tsLy9Xek1VUEI1MnVkNFhjLytoMXR0OTFaNFhuc3Z1MlJtdTArUFIxK1JRY0ZTM2NWQU9zRjRhYWtaeFR2TXh6VDl0MjNBM3YKeWxqZWZpK3M3V2xnMjZzWW1Kak03Rm9FdXpqbXJ3Q21nZ0RiQWsyM0h3QlRkUDRuSUFMRVRBQmExVis0Y3JCZ3hWREJjdUJBdlZuUgpVQXFmK296a2hCMEtYbVRFZ1hNV0ZMUVR3MWdLYVdwaVRMUkoxc0I3TlBDNjJrUlRQYkt0SnM0Q0hPaVRUVFZSTWdvb1BVUG4vYlpQCldwMXJHVmFabjgwZXZOZkxIZEhMSERGOFZ1MzRrR0g4Yk5paW5xRnB1MEVPSmFKRE14TkZHYXp6ZHYzVXZMNi9LTEFuTzJLMGZPbTMKcHQyZjZzLzBWSzY0c1MvUVI5VmNGcVVwaXpMU3g5aWJVNTB0YUc1bWd1WU9ZdjQyNGo2eU9DdGhqSk1JbnlVL1VVT0M2TXF5R1hacgorUjh5b3dDSi9IbW9kL1NWa2Y0eXZNUTVzSUVoVTREZ3pQcWZGeUFZQ0JtRTFVQmx3QWFHL2NySG9pckhWdVQzeEpVTXJFcDdITW5ICk94ZUhRWkZ3YzR6MXBMNHdVcHcwZGQ2TnIvVjNsNlJnWnVGd0hDU2hPUThySTh0R3cyRUIxTFNSZjAzUllIakplRkR4S0pnNG8rK1cKK09PSW5DVGNYR1ZwQ3VQcmVrOVRSd215dnBlTHhYdkdhbWtoTWcySElaSTRYSUlVeTRiQTNRZ0J6ODhmOW9aQmthSGdYd2hRVlhkawo5V0JZeVhCZzRVaDRQbjF4NFhCYzhYQnd4WmczMGtRQXJnTU9oeFQwK3hjTUJJTGo4ckdmUnBLbUNKQjNtQjV6U2U1UEFvUjAwd0gzCkVLWVZUeHNCNGVKVEx6SU5UU1Z5Q1JOblpkejArZlExYm1Ra1VXRUJocGM0bDU5S21jZURpa2pVTEI5TXl1cnpLQnIxQTVJM2ZZUmYKQTljRUIrRjZHYUJnSUtCa09McGlKTEd3TjZHOGUrV1JhOWEyN3VKQ1lwemczYkhZdVh5d0hUVnExWDdUNHFFb1p2Z0hMbDhpQWdUcgp3cWFOalBBekFRSUgrNjlhVHhlZ1FuQzdCbGFjdWhPRTUwZFJ5RGdxamtyREVtZ1lIakorRG8zNEd4OXhsaUJ4SG9VSExZd2xVREN3ClNiRUFoWXVYd0VuR2N5STl6WVZwQkQ0Q2pvcm00U1BDaHViVG9SSFJOTkk4TXVGM0VqTWxpMHFhUmNaelVBazhKUElzOE5zQ0t3ZEoKV0FEc1FrbUNlOFZnc0Nnc2hRUER6OFZEblljak1Fc2dLVndFeWx3aUh4ZjRWMzRNQng5NkRnMC9kNktkTjRtYkQvT0hBSUVUL0o3RApsa3RVREpXS3hlSG40VWxvUGp3UC8xd09HNHJvZVhsSGh0TXVodDVtaHU0R21OczBYVTMrTzB6MW5yOFFJSEVCS2hDZ1lMTWdJRURNCnJUQ2dBQUhobUM1QWlBTk5WeDhFWUR6VEJVaWUrZHEvSjBDVEtVRlRIQWdLME1TYTE1OEZpTlg0aDJVL3lFb1o4QjZXQTZuS1RqaVEKK29TMUlFMmZ0eU1DaE94V3dZcjBJSllELzJuU2U5anRoK1ZBWUNpSTNGYUFodncyVFlYdHdISmdqNTlwNm9PZ3JiUlRUK3VrcHV4ZQpSK1VsbTd3WGgrbjdXQXJhV2ZIcm04LzNOT0szMHNZYktxQU1aRkQ2VmxTRHJiNm1qdzZaOVQzMytGQVFNdjRxb0RQZHZ1MkdYVWVHClc5czl6OGE3bmkzcFhnaHRkM3phTTN3Nzd2cUJnOWJiVUlhbWFOQWtQaDMzZlZsMFB2QkRtT0pEU0ZnSTBKRVpCRUIwaDExNnB2ejQKZzBsRG1wRXBWZ1RQUEEyYmtjNW5RUjFQSndKUjBNYUFvaUhxZHMrbjRaWnpjN3ByMDFYbk42ZXRhay9iVngrMWU3RkIrNUExTFVHVAp6MHRPM2xiZTJrTFIzMW9wMGtraHhsMDIxbEV0RUppTjFVSkhTUjRsSlNGRGMzVWZYUWtuSFdGN0xZcVNPVjdabTJJVUl1bm5LaDlqCklCRnNPTi9UZnI3THhYQ255dFB1UFErZFcyOTV0dDBKNzM0YTBmNHN0UDNwOHE1WHNiQTJMV3RKVDNaY2I4N1N2dHhsUFhrUUlFUHMKUGpSaFJZVXdPRFF6d0hMWTZDdE1SRUNPZXd0V2dwY0RCd0lDMUplenBQdDFUSHRtYVBjTHQ5Wkhsa0V5T0VOT3Fxc2sza1pNUUFldgpvME53QVFLa1NkRFhZZTRQcjBYVTF5SnBxbUswK0JlNjIxNnM4R2hnMkpWKzEzclVyNWY1d2ZUWkY3Mm53M29GL2Q2Wjd3enVOV2szCk03U1A5c3Y5cnFHR1YxS2ttb21ocEIrZkRQL2FsTnlWRmRtZkh3NC9YVjVDUjBIVWNPWFNiMjBKNDIrWFoxK01USEp5MCtEVWtVTHAKVzFCODdSZEVtbEh0N0lSZEhSZUZLMUFkK2RFR1lqUXJBYXdwdTdMOEx4MW8rcjhDeG9jVGdBQlI4Yk9JQkRRUW9NVVhiTUdzZzFROAovVWNCY3ovU0dMRGlIWGl2RUNBRTRFM0xSMk5LeDkwcStxT0pSQlNWT0JmTU5NWjZrdDhZRy9kdmNHSXdOb3J6b25uSktBSVJvMnJJCi8yWThIdnJUMkU4akh6K2pvQi9NdTM0RmRMK0M0YURTZ1hneGFSNCtNcGFHbS9OK2ZNM2huVjdpQlAwQWQ3TnhScnpVZkNvUUl6RFgKT3ZqSlRoRWdHTHFBQ3k0elUvZ3VwR0E0cXBpK2hDbVJQa1YwVC9DNTh2dVhnbGtmakZBeUdnc2U0ZlEvRkZZMkVGVFU3VDE5QkFTVwpBTUhySEk1MDhWZG5DdEE4UklBUVF3VUNCUHdEUFA1Q2dPNlZCdUlKSkJJQlJjV2dMcWFhZi95ODJ0cUluOHFKSmVNeEpDTGV3STVZCjBCMVIrUzZtZEN3R3lzVHczeGFnaXZGSW1NczhIRkErRHRPWkM0ZDhtYTJ1ZzR2SFBhcmVoVmNQSnI0dVg3WHpsQTJWeG9IakpsQ3AKM0VrSFRZc0dJMWtDQkgwVWRnVDQ2ZlgvUW9BT1hyZEZCS2lVSGdJRUNOeFM4R1R3SzFFNkVsSFF2U3psbU9VOElvcEM0eUtDWHlUcQpIUEFxMklLQjlBZUYvRHQ0SlBLaVNZUlp2SlJaRkRJZWo1OERMZytjcDVJNWlQalpST3hzZmlwNEM2aWIwOEVUMEVRU2xnaDNJNEVRCjhHaHdKM25KNEJaemtpa2NGTm9mSkNvS1QwUVJDYjh4ZHpSREUvZzUwSlJaZVBKY1lJSDhHRTRCTE96R2ljSDlnU2ZNcGhFNGhQRHoKQkprSjNUeWtPZk5JSEZ6a3VRUWFEeDU4UmhLUElBVW5qTVVLY2ZISUVXbG1pK1J1S2JobGE0ZDIyNng3YjVQODNScnVBLy9GYnNkNwoyMjFUdmVTL3hsVHYrUXNCRXVPbmZHVWtoWmdIS3pHWHNaQWthSG5NajMzZzJhdkFmaXlFVFFPUm51bXduc0F1UUlCZkNkQk1Eb1JDCndqeHM1ZTZJOGJCV3ZuN1lEMUxvaml4K3NRc1FvaXpzQXFTaHRBT1lEYUkrTFB0QkFqeFRCSWpkZmxnQ3BLR3dCYWdQNGtBQVRZV2QKUHhNZ2NCNitoZUk1QzdWdElZYisyM3lYdWl1NkdRbFlXd3Q1bWdzNHlhSXNGVkYyZmpLT1o1YlpObVI0ZkNnS3BiOE02OHB3NjByMwpiRXZ6YnJ2azMzTWpvdnQyUk5NTi8vcnIzc0IxMkdINUVMSVdOcE1HK1NDd2F4QmtjbDJNWFlNQUhROERFRG9md1FwNWhLN0gwSXBtCmhDVkcwLzlwUnNCUTAvaXhKQWZEVVEvOWdQZTAzWWZYM0hiWHUrMmVlOHR0dDVhYmJpM1gzUnN2T1ZlZU1DOC9ZbEo5MHJ4eXIySDYKa29YYjdTaUxOUVQ4NVpUY3BlMGNwWUt0RmthNlNVVTZTNFY1eVlmNnkvb0ZTN3A0aTVnNkNPdTRLcG41eW9VNktEcWJxemdaeW9YcQpDeXgyRnZEZGFXV1N2VTZ6N2JwaCszV1BsdXYrelJuT2Jabk9NS3lWdWFUdmVSeXlQTmYxSWdxcDl1L0ppdTNPaGdCalFKanNjQTNkCmlLVkhURU5henFLdklKN2RreEI1UXVqSlQ0RGt3ZkFTc21FSUdCTyswZlBGclk5ZGhuTHRYeHpRTjVpTE5pZngya2o4WWM2dm9vT3oKMXlGWjZwS3RvUDNncmZWb2hscGt0UVVvSWFPOVZVdWJHTVo1allZdnVpeWZqQm8rRzlISjdEZDlNR3p6dWw4NzQ0UEsyMTdWTW9hVwpWb0llU2xJUDUwRCtUU05ZVzNPd1l2VndhVkxIeThXRGhaRmRyNVlQRkMvcktnZ2R6RjNSbDUxQUwwbjQwaHozdVRXeTRsN1lHbWRQCmFaU1JQTXJkV1RqY1R6ekdsdDlMbTg5VURHY3NRcklYRXdDUGY3S2ZmK0JBditZZGZXVnNzQUlRSURCRGdMOWZnUUF4b3hUL2NRRmkKbGtBSEFZbUJkVUFqMElHS2h2MEF1WVBlNWYzUjRLOWhQaElKejhOaG9DVXk5bjVaM3RQZzFvNWxaQzVPZnQ3WkpBbzVQa1cvZkNRYwpxRXp4MkUrWFRuNUc1VmdzRklzeC82TFJnSEw2WWh2UEJRSzhCQ29XZmVlbVUwNU82SHhPalFnZmh3K01sWkxDZkhDelVpTGV3azI4ClpDQVVXUUlyR3ZVckdZUG04UXNCS2hyMXpScHd5eHYxenhzUHlxVUg1UTBGQVVXQWRkcmdYNGRDQ29jakNvRUFqVVJWakVkWGpVVlUKL1R5Q1ZUck1OSnZSTUVTQXJGemtFUUZLT1dQRkRQOHd2eUNnRGt3Qit0VVNXS0VuaFkrSFJzYndrMUZuVDNyN3U2bmlaOE05YXpGWQpMakhwZVZuMXl3b0dYWXJwdnFWamk1bDE2Zi9nZXc5QmNwbkJsMWd4SGdGMHRuVFV2MlRVTjJjc0pLZmZyK3FkZisxd1JEWTlVRVJpCkZwR0hDS3hsL1RGektEMVE0RUtBaVU0SzNFK3YveGNDZE9TV0EwdUF5b2FERUFIS0czRXJIdmVDcWU2OU1ROUtZeEozNk5sNDB6Uk4KNTJnWlM2cnBTYWpwa2RVTWVYVk1CS2xxRWhnOEo1V0V4bk9URjRwVFRFem1teGdKMkZpSW14c0xtUm9LV0ppS1dabk1ueEZURXdregpZekV6RXlGTE0wRWJjMkVyVTJGTFEwRUxmU0U3ZlJsN2ZYbEhReFVIZlZVN1BUa0hvNFYycGtKV1JrUnJJMlZKRVJJT0R4MElYRE9GCnlDVkE1dVluY2hKb1hGamlIRFIrRnByTWdlSGp3ZkxCOEk4Z2pndEh4Z2ppOGZyVStTc1c2cVpyK0RVYnhqTk1raGttMjc3cXI0SGQKakt4MmZEWGYvTTVpODBmTExkOU50aktNL2o4VEFXSUswQ3FrRDVBQ2N5OHdlWUtySEJwNkNic0F5YkZWd3M4STNEMWptdjM4QXdGQwo0a1p3TkRZSFVzQzZvYVo0RDdzSklhay83UFlEVUpmZlBGMkFnTEt3eEdVeWJMTURBY2dRVUNKbVl0QUVFd3RiQ3R0bkJBNHlLVUJxCnNsdW1DQkE0QnJEc0I2SzZVMFhtb0tYeU5pL2xvSFZ1UzMwTVhRekU3ZFRSZ1Vvb0ExODVvOHRySFR1ZUI3OHZEdWg1Nk54OHhiWDkKU21CZFduREQxWURtNno0ZDZkNGR0OTJicjdrMFhYUHZ2QlBRZk1zVDhNTjdibnNqb1NEa2NRWW1CWWlkS1RMRUNndkJ5QkRiOGhrNwpyS1cwS1hROTlBZXdqOEFjeExmem9ROUN4d052UVB0OUw0U0pOMldlWk9LSjBIclArNGYwQURLOFd1OTRBbHB1dTNUYzgycTY3bEo3CnlhbjFoa2ZMVmVlYXM2YlZaNHlyVHVyVUhEWXQzMjcrZUluU1VTZmVWZnA4WVdwcVh2SzJMcEtlVHJMQkpoSWhsdExMelNTV0dZbkYKbUt1dlVKUUowaGFQMVpLSTFSWHpkbG1rczlsVTRsRzg5TnRUQm8yMzdkOWVNYTVKczJpNDdkajh3TDN4bm0vejNaRHVSOEc5bVI0ZApqNE03TTBPNm5vUjJQUXREVnVzNlgwQW1jcjJaVFBRQ1lCYTdzVFYrbkdpSDNaOGJCNEJiZ3N3SVU1dFlBSkhxemxvQ1pLdmpXVlQzCjg3Q1crL2IwYko4OVhzcEtxRmxPWW1RSGNXRjlpcDRXMWxTUDRLaFBzZFBBR2VsU0xiU3B1cndvck96R1YxR05ETlBuVFNiUCtvMWYKdnpkOTNHK1cyYWVZTldqem9IZFJIY08raWFFZGZFYjVkejQ5a29ZV3lWNFVaZnI0aU51bit0VTlXU3RnVzZiY21QNmMrSUhDU0dCZwpnNjhUQjE4bkRPVWxnSk1ESmRHTTFpMWpiM1lWcEMzelVOSlZRWmxielF2M0VRK3pGUEdVSWxxS1VDeUVTVGFpSkdzRU1iSU5nUFhqCmRKWDVad0FCV2hHdGdRZ1FnY0NKQ05CL1lRa01USHRndm1TdUFUSGZDNmpBaUYvcG1GL1pXRnhlV3hnUi9KMk5nYXNTMW1hTHZqUFcKZmhsTFBuckVqSWFiUmNUTnhSRzU3cFVHRmc3NWw0MHNMcUQvTklMeU04cm9FWVZEdmlYalFhWHZZQUxLdHBPV1lIS2lFUWh1RGtKRApJK3NWZU5YQ1hSM2ZmMHNTRitTalVtWVRDVGhqeC9sQWdPQWNQeWxBOFA0TS9YVENMaCtPZWpPMnVIZ0FXSXQvNVR2L2ZMcEgvbGhBCi9uaFkrYkJQR2QwUEtzdElTQUU5Skhjd01IOElkcHVjUGdJQ1M0QUtZV3dqd3NCS25FU0NOd1FJRUxPaW52bTBFZGhPR25aV1pPNHAKTVNNWlJjRmNPQTRjRVVVamNNaUxTNUM0aVB3VUlnSExTUmFhZGVseFFFRlA0SnVQNFhtRGZqQWRHN1pxOUowK3dxK0JsWDJ3b1hONApmbDlJUVg5NDRRQmNtd1BYay9NdXJIQTRDclo4N0lxODJSOHR1Z2pMVDhUaFNLaVVNOWFJWnNGY2I3b3ZxeFpzK3NnSXZ4Q2dZN2VkCllLZUQ0YkN5a2RBeXFJbmhNQUwwM2k5MzJBdkdnVVpodzhreWVsZ1ZQYUc4ZjIweE1OSGh1SEo2Y05uUTh2ejJGZTZIUEhsRk9ZbUUKM3dTb3FFT0hMZDkvMnZydDY5WnZuN2Q5L3J6KzIvZDFYNzl0L3ZvbGFVYStNeElZMzljd3ZpWXpQbS8rOW43ajk0OUpqRzhKRE1ZeQpCbVA1bDgreFg3OHNabnhiK2ZuanVzNldWWm4zL0E3czBEZldraGJueDFJd3MzZ0pYR1FDTjRIQUJYTjljSE1wYUE0YWladktpeUdRCmVVam91UXBvZkppZ3drRjU2eWJGeUQ3ZGxSOHROMyt6MnZMRkxKbXBHaW5makpMZjI2UjhzOW54MVJqSTBGYUcrVTZHNlhhRzdrWWcKUmxPOTVGOW5xdC84SlQ4VElCSVFvR0R6QUVVTXJNd0NBaVNIZHdFQzlNTitKZ1Zvd21NbVM3ZW13aEtYU2ZWQmxzTllUMENHWXYwSQo3QWNSSUJhVEkwQ1htcTVCS0htcGlVNC8wd1JvWWkzc1I0dG5OZ0dhZENBMkFacGN0SUlnRWpPcE1nanNxMXEvUW40TGsyMHN0T1IzCk1uZjQraUZBaUFNQis5RlIzcU9sc3N0US9aaVY0bTVQcGNETkFZc2RsVDJsMExxbUMyUXZyYkpwdnJ0a3ZDaW03WUZEL1EyNzF1dmUKTFZlODJ0STg2OUk5NjI5NnZMM3U4dmFxWThNTmw5WmJycTNwenUzcExzMDMzRnR1ZXJTbGU3WGY5bVlIQ05ETVpIZ2h0Ti8xWm1mQwpNNmJSY2RkdlJsanlOT1g1blJtUWpqdGVDTEFDbjBuSEhROUErMjEzUUZ1Nkc0dldPNjZRREpmV0RDY21EbTEzSGR2dTJiZmNkUUswCjNuTnV1K3VNL0ZQYmJVZEFVN290L0RIZHFlR2FYZk4xKzlhYmpzMVhyZXN1bXRTZE5xODdabEY3MlB6dFFhUEtmWnA1MjlWdUxaYzkKNUNrYzc3Z3dYRThrV2tmTlQwSGJVVWJQUTluVVUxWXZRc2xnaFpwK2lxbDJhcEJHM21hOTFqTVdYV24ydFJjZENzN2FWbDl4cXJ2aApXSHZMNXUwTmg0WmJ2cTNwUWVBaTIrOVlUT29qTkVMZ2Y2ekFHQ3R3MVowWkRPaDVFZ0pMNUdDRGdCK1o0RWkzSkFSMlNRTDBaY2NnCjlPZkVBdGkzRFlGQnB0Y3huUy9DbWg4RWRqejBhNzd0MFhMSGM0bXVnQzRIcjZYZ2IwWUMwcG9ZVFMyTXBUN1ZVcE5ncUVXMDBLSVkKaWMwU0VsUHl0QzRmTmE1aG1OMzlwUHZ5ZzhHTE1mdG5ZMXBsUTU0TkRKT25JK29lZTFUbWltbnhhT3NTalhHelpVS2xEVDlVTCs3UAppKzE2Q2Q0WEdOdVM4YktWUFRraC9kbEpJOFhna21MNnM1Y1A1S3pwZnJXNk95ZUJYcjc4UTkzUzhmcDF5YTRlaG44NE92UEcya2tFCnpaK25MMGx6VzBCd1piY2ZkZ2VhcmpJejhwZHhvOUhCK0xYTERYaUpjNkJ6TUNOQXpJbm5QeTVBc0I4Z0xJeUNmWEdZR2dReldzQ00KQmN3Z3Q5T1BTdU9nVWxCOEZDNURIZUZQbjFjeHZxU1lHRko0U2I4UmNIZ0pCWFRsS0pTWU1ucmNQeENnb2dIWWl4azJCNkxEV2Y5eAplUWdhanlJVDBLSUNQQXpHL2lnMzYxQkhoL2RmTjRvSjg1Skp2NUh3UEVZT3dzd2VNOEZnT2krZys4Q0dQWFFZeTVrK01rTHhvRzlPCmY4TDJSMTQ3Y3dJejZIR3Z4b0lLZW4xcSs4S0x4OE5nNHZPd0w3aHltUHc3R3B3L0dsSXc5dE9JQzVzQWhaUU1ScWtaOEJPSmN5bDQKN20zbmJlR2VENFB3QWlacXFVWmdEZnowRVJBeUNpUHdaQktaRjBYR2tLazRLdXdsaUtlUitXYXQyVzMrWml5dVlOQUxKbmZUNGJjQQpES1ppUEdENkNIOEJNd01KNXJPUFJGZU1MU21seHhRUFJZSEhuRkUvMkVCeUxLU1Nucmo4ZFpqd292bUNSQktSTW1mWEpVZm1DMkVHCk54QWdwQjNpTDM3ZmZpWkFSRExYeWJ1dTB3VW9meWdJZGtla0w4a2JEQ3dZY2k4YWNZVVNOaHhkTk9KY1BoSlpQT29NRkxaeWJJWGwKQ1g5dUdnY0pnK0hIb2E1ZGNtRjhTMko4aW1kOFNXSjhqMmN3bG56NnNJVHhlZlZQaUdKOGlvVlAvcGpJK0xpRzhXVWo0K3Y2Nys5WAowY2VUcW1xaXIxeDJpWTVRVkpiRDhCTCtvR0RuOGVMd0JDcTRaZzRTall2SWkwVURBY0tqaGZFNGNSNHNBYytqUVJOY0xxYVpydXBWCmI3UjAxSEl0Yk5ob3Z2bXo5YmF2dGp1ZzYxaHUvWVlJa0FVd25pMmZ6Vk8rVzI1am1ERzNrVGNBZXJIbGk4M1djWWV0VTMzbFgyZXEKMy93bE13dVFoQ0RsODdlVkFTYStDbWg3QllLVEZNNFJDQkFzeVBxYkFvUklEN3NEL1RNQmtzUFlBOWdkQ0NrUVEwMFV1c3VzbWlqNwprbDJOdFA5aE5mNWh0eDhWcURzVEFzUktnbVlYSUFoelJZeVZIRDJSMDhPRVpVV2FpaE9xTk5WKy9peEFXZ3JidFJWM0FQdEJCSWhsClAzOFdvRU5HR2ljdEZaSUROSHlUbkVJY3BCeVhXTmlXWEhBZWV1bmRseG5RZU5XckpoWEtUZU0xeDRZcmpsMjNBeHF2K3pUZDlHeTYKNWRaNDA3bnBsa3Nyc0p4MHYrYnJQc0IrV205NXdvU1ZkQzhFY0F4T3NtSkNVd0h6Nk4rQk5Td3lNaHZ1Q0hBMWlwMnJ6b0RtTkNlRQpwaXVPazlpeTA1eG1CMmk1YXQ5MHd4YlFmTXVtSmQyNjliWlY2eDNMdGd5cnRneUxscnRtcmZmTUFlMTNKMmpMTUd2UE1BUG5HOUtOCld1K1lnak9OTnczcnJ4bzBYamRxdm1uV2NzV3ErYkpwNHlXRDJ2TzZOYWUwNjA3ck5wL1RiRHlqV0xGSG9tU3plTUhhaGM5WExueTAKYXRHVGRiTFAxMGdXcjVldDNDWGJkRVNyL2J4NS9YbnpzbE9HWlVjTm1vOWFEaDEzcmp4clVwL3FXSi9xWEgvUnB2V3FYZE1WKzRaTAo5bzFYN2NDMzBBZyt6bFZueUhXWEg5eHlhVTUzQmNDRnVkdkE1OXdCc1BzQVV3ZVI2RnJuQXo4a01OYjlDT1pVc1hLbjJDdnBlbC9BCnJVV1EzcElzWUhncE83anRjV0RIZytDV1cvNGRENjNLTHRpNkxpQVpZSC9YNWFQcDA2UzFDVHJhUkhNZGtxVW0wVXlUYkt5QzE1NkQKNHBLSjNXMVZ3VEJ1WU9pOVpXalhmaldyR0xOOFdLKzQ0Wkd5dk5NaWxLZzJsN28yelU0VXBhZ29xTm1lRWZibERldzIyWjhUMVpzVAoyZlVxdGo4dnV2dDExR0R1OHQ3Y21QNzhKUWpndURzN3VpYzdickFnOFdQVFlrYjlyZ01Cd1JvY3hpWUx2Q1dKTmtKb1J6R3kzUlQ3CllUblFkSldaenMvV3p0aFRndnE3WWpjbG12S1JPUDdMU2REVkgyT1J0c2pNNlhNaUJnQ245dEdBL080Z1BHa1dtWXdpNDlERzJoTGYKR2F2QkJNTlBtVVVsY2xHb2hMQ1ZDaFZqNFVWMHo0S0J1S0xSdngyeEFLK3RHSStBcllDR2dJR0ZGblNIaWN0dzQrRG1Zcmo2eHNVMwp6M2t0OVhMNjhEVlpWSmhFSVA0Ty9tVFh0eFZnRjZCQ1p1VjI4ZUJQYzFZYUJteHlQNjJ3dStPKzRHcTAySzNsSnVuK3V3cTl5NFlpCkg5TGpzejhtRnI1YkRDdWVob0FjUUxuSkgvbHArVGZjZ0F5R25TS2djZzFHeVd0U0VBRUNBbEU2RXNFU0lDZ1F2NHdBM2NnT29RcHoKRW9nWU1oNURvYUN3R0I0aWRaNkR2MURKd0JMWWxHZ1VOb3FFdlpyNkF5ckhva3QvTG5ZL28zaWl1UkdNK2lESEpYRFR0RWk0VnRnYgpuRFBrVWZRdXl1cGFnSUNjQ0M4V1I4QlREbHgzWno0VE5vT0dTMi8wcUg4c1FLZnZ1N01MRU93dlJRK3BmQmRUTVJhYjFSbFlQaG9ECnJBNFlHSE5mRjlqVHFHdzRvWkR1a2owVUNMNUU5Wk91ODZnb0FTS1BNSG5lb3dmQjM3OHVZM3hhd3ZpUXlBRHE4M1VwZzdHTzhYbmoKekh6YXhmaThpZkYxMWRmUHkvcjc0L0p6d3Zac04vZDJGdWVqb09GdXUyUk9HbVVlK0hYQzRyaUlaQkxRSDJic2g1Tks0Q0ZpdUlXeApCQnNoNlMxS05qZDBBa1pNMXJ3M1d3OWM0WnZWbHE4MnpIYUlKbHNaK2lrTVUyQTVVSFMrbThFTlU3OVliUDVna2Z6SktvVmh0L09qCjhZYlBwcHRnLzJoZ1NKYkozODAzZlRWZVA5VlgvbldtK3MxZk1yTUFMUlNpZnZ5NjNNL0lFd2lRSXRFWkNCRHdFZ1hzbjdhMllGL0QKbXE0KzdBTEU3a0FUQ2RHc0RjWFlCQWpXMi85U2dLWTcwRThGaUZYMy9rT0FZSFg2VkFGaW1RMUxnQkR2VVpXZFdDYWJVWURZSTBOVApOVWgraTRaY2lvYmNWaUJBd0g1MGxHRDRaMFlCQXZZREJVajFwSzdLWGl2bGxkNXk0Y3NOb2s4c0QrcktqUDZRNmRWeTJSMU13QzFwCnJxMDMzQnF2dWJiYzhHeSs2VmQ5MGIwdHpiNDF6Ym4xcW1melZkL0dOSi82YTI3Tk41eGIwNTBRM1FHcWhJU0NXSUtDTEkxTkJ5alUKMytNNkJGd0pvT0dxQzZBK3pSbFFlOUdPeGR0VVd4WjFaNjBSYXM5WUFkNmV0cHpnakFsQzdWbFRBTkNPaGdzV2phbVc5V25tRFZmTgpHcStiTnQwd2E3bGwybmJidkIyS2prbnJBMTFBK3lRZDl5SHQ5M1E2SGhzMzNkVnV1cVBSZWsrejdiNU82eDN0NWx2NlRUZjFhek5rCjYyNm9ObDB6YkVremJMcWsxcENxMUhoQnIvYXNXWE9xZnVNVi9hWnIrZzJYTkRzdWFQVmUxRzlMMVFObjNxYXExcHpWcUQ2bS9lYW8KWHRWSnZlcHpScFZualV0T21ydzlabEYzeXJEeHBHSDlVYk8zUjR6ZW50S3JQbTFXZnNLcDVvdzU1SnpGMi9PV0NOVVhJTFdYYkFCMQpsMjBCOVZmc0d0THNFZXF2T3piY2NBSWd3c295cEphN1BvRFdlNzV0OS8zYUg4QVVxNG5NcXNkSWIyN1llbUFDWnRwNFk2WmJ4d3UvCnRydGhYUS84bWpQTW0rK1p2RGhvWVlZVjBTQnlXWXFMRy9HcmFhSXRkRWdPMmhRakRaS0JGdFZlaVNERitSdFZYdEZMVFRkRjFUZDEKVWZnSkdjUFZLZ1QvUmJQbGRWQVVmWnlKRHRGZGFZNE96eXlGVjN1Q0diV3JtTDJkNHJ1ei9JRUFEZVl2NjN3Vk9sS3d1aWM3b0xjZwpwaXRuV1hmMjZyN2NGWDM1a1lPRllZTUYwWDFaY1oxWnk5NVhMV1UwYmt2Mjg1RG1zcGNrdWkza054WWxHckdrUjV4aUMyRDlPRjEzCnBqT2pBRTNKaWU1c0NkKzgyaHdJRUZJR0gzZlJudG13K0tlUmlYOExNSVhEY3FyUk1LUUtHb2FDUnFJTEJ5THo2RkV2R3FMd2VMd0EKUHdvL2oyWnRwUHpwODlLMk9oZCtFZzhaeTRzbmNweC82QXJrb095ZFczNy9rc0lSbitrai81cHladnBSTVQyMmFCVG1YSmNOaDlpNgp5bEZwSERRaTd2UTUrY3BDN3pYaGJrQ0E1Z3ZoU2VSWkZDS1hsZ1VWV1FLRHljdGovc0Jhd0xUNkN3RXFHM2Q5T0w3SzlMcUg3TlBWCmZLK1NjRTlpK1o4c25aK3hQT0NLL3VHS2dLelJGVlhqTVc4R0F5b0cvYUZ0RFA5UEJVaGFsWUFJME40MEY2QVhpQURCdmtyTUpUQ20KUTB3ZEFlRkJoUThuRHplSkJuZURCN01Sa2N3cG80N09hMDRvR1hNcFlyYjJ5UnR4S1J6eGgyUDJCMWNNeDAwZjRkZUFld2oxaFdregp4U00rNWVPQkZlOUM0QUxsY0VoRmIxREpwNkRYOUVDdDFHaUtISTJLKzQxRXhoMjU3UW0rZE9aWEVBaGVBcjcwZnl4QVp4NTRzQVFJCk5zVm1DbEFwUGFCb3lLdm1Td2hNelI2TUtobUpneDNBUjcyS2hnTktCbGVVdnZmS0h3MEZMMUU2NGM5RjRlSEQwR2g0N3RldmxqQVkKQ1l5dkt4a2ZreG1mMW56L3ZPYmJweDJNcndrelVsTVZjemZkSTNHWm1yWXFtWXFmQXh5ZFJpVVNTYkNVbll6aEpPTzRhR1FNM0VHVwp6RW1pY0dLSmZ5andFZ1BFNUM0b09OYnBMQUVHd3pEZEF1WEFmT3RuODJTR09SQ2Q3UXpqTGQ5TVV6NWFidnRrdFIwQWp1SEdIV1piCnZwc21NMk0vUUl5QVQyeUN5Mkh3aGRzWUpodS9XVzErYjdIaG0rVkdodW1HcWI3eXJ6UFZiLzZTbVFWbzBYemVEMStXK1JpNHkvUFkKc1FRSWlNdWYxSVM5aGM4MDlVR1lVdnpGQ2dMOVl3R2E0a0N3Q2t4ZWFxTFdYV2JoU2xXRkRkSUw0NWsxOEhEREwvQ0lDQkRTOEZCVgpBVG9RZ3FvODI1cVgvQTUxdWUzZ0VTNTF5YWNBNzFHUldhOGl1MVpWYmgxU01EOGhTWWdHVFJyUER3ZGlFeU0xMlcxZ0tGYU1Cd0VjCjZ5b0RHZG9PZkdnQ3hkMjZTbnNBMmlwbjlMUjM2QzFjNFNhNCtONnE2UDVuYmpES2NzbTM4WW9uUWxPYUIwTHpOWGRBNDFVdlFQTlYKNzJiZ1FOZmNXNis2dDEyREFEdGgyUThDOGlNN2lNUk1xb3p6QkdsT0NBM01DRTNqSlNkQUU1UEdpNDZORnh3YXp0dlhuN01EajNWbgpiZCtldHE0NWlXQmJmY0ttK29UZG14Tm1WY2ROSzQ2YVZoNDJRYWc0WkZKNTBPVE5JYXVxZzVhVkI4M2VIREI1YzlDNDZvREJtNE9HCjFRZjFHL1pZdkQxb1ZIVlFzK2F3ZHROUnc4WWplclhITlJvdWFiZGUwV3U3YWRCNjA2RHRqbEg5ZGZYdWU5bzk5OVI3N3lqRGcvdGEKUGZjMWV1K3I5ZDVYN2JtdjBIMVBGdEIzUnczUWs2N1NmVXUxNjZaYTV3M1Z6dXZxZ01acmlvMVhsUUVOYVFEVnVpdHFkVmMwQU0yWApWSUFNMVY5UWhzYVRxbFo5U2JQNnNrNzFaYjAzRi9STFR5cFVuRktwUG1GUWRWUy8vTEI2MlZHdDRnTUdaUWQxWjZUOHNHYjVZZTJLCnc3b1ZoL1VyRHh0VkhUR3RPbUpXZGRpaStyQjE5UkhMbXFNV05jY0JabTlQbXRhY05nRzhQUU04ejZ6dW5IbmRlYXU2OHphUUMvYjEKcVE2MWwrM3JyamhCZ0VwZWMydTg0ZEYwMDd2eHBuZnpMYStXZE8vVzI4ek1MVlpXMWdQdm5vZEJuZmY4Tys3NGRHWjR0MXgzYmI3bQowbmpaTG5lZmhpbXZoSVVvcDU4TzFWSlVUbVdlbmliQlhCVm5yRTUwTUNSWmE2QzE1V1pMU3Y3R0w0NGlpNk5vTW45SXFNeFRVYU9xCksrR01kUGxjeEZCNjByOHZ1cERrOEtVcXB1ZXhkOCt6OE43bkVYMHZJdnRlUmZXL2poN0ltbGlTWTg5YjZzOWR4cUk3ZC9sZ1R0am4KOGtSNmVZS2RySlVFMFZxYzMwQUk3OFphODRLd0IzTFlHaDVPbnJjQS9FeUFwdXNSSWtPMU5VdVA3OUlqWW1FcEw1R0NkanZxV3Y0dQpvR0JveWZTcENBRVlRTTVvV0JFOUV1Ym5EaXlyNlBGNzg5SDFXWC9LODlHSTJzR3drb0VsK1hTLzNFK0JlV01oZGYwT3ViQkZ6ZFFSCmZrMFJQZnh4blF1V2hLYVJpR1FjeWtKWCtzUDM1ZXZpSFhueEdCSmhGcDhJVjE1M0tQaUR2cEFlRGJlZ0gvM2JTMkNJYjVXOUM4dnQKQ1NvZmlTNGQ5dDl4Umg4SDl4ZjdUVTlML2dNamFQY0s3Ni9qVzZURkJORDQzNGdVbExxMlNEbXpIM0hoS053SG80d085OFFvL0huawpwbVl3TEpzZTVIUFBSdnpCQ3RMTEJLRlhFWkpQWWhjK1hzYjdaTW44bHdraFQyR0ZmTTR3N0JWVTNSK1pQL3JUaUFzenBoSUJmS0tVCkhsUTFFaUl3SDBzaDR5aUV1ZnV1T2Y5NER0MGZLWVAvUlFRb295U0lRdUxrSmM0aUU5QThaQklWTStkS1VYaEZyMzNPa0NmNFVKWGoKWVdVOXZwWDk4Q0J2TUFDR1RHQSs5UXprakFYbWp3WGx3NDhQYS9lQWxvRlBVZmd1YXZvbUpBZ3Y2Y0habnlMeSs4Rk5Yc3IvTUF3dgpoQ1lRMFdRaXgrbkhyb1Y5UytIaTNZZ1AvSXl3RVhabzBiRFA5SGRFQUpLMGVxYzVrQjd3QzhDSG13MTM3Y1hnZ0dIZ3liT3Z2d2dvCnBYdkFjVWFpQ3VtQitjTkFwMktSdEhya2tmbHhZTnNDMkc1eHdLdG1NTFpvSkRienZYZlJCei9WcllFVUNvcUN3d25oc0ZWbDBkKy8KeG4vL3RPbkQ1OFZmdmk5amZGekgrQlRIK0xxRzhYVVY0L09xd2Y3bEJUa2hKdzdhKzdwSUx4TG1vQkk1NFRJaWlSTW9Eb0UwRndEcgp2OGp6Qk5EZ1Y0aUhSc1NLRWtsbU5QRmtDZFBYYXVGOUJra01peTB6TTEwMS9tK1o2akgva0U5V1NVRExQbHBzL0dLMGFkaDZNeG1MCkpSQzRCTEJ6MVVYRlBuNzN0MWNPbHNhcndUQVAxcHZacVhsaXFRdUovVXptUHRzQnBxdlByMUVrdURGM1BKMmhTVFJyY0ZtTTR3L1EKZGdoTUIvcVJFNDFDN0VkRmZqMTRSRFpBQlk5d0k3Q1pCSWdWQjJJSzBJOWlkZWc5VUlDWUJ5d0JrbGtQQkVoRlppTVFJR1RaQzY1OApNV05GVTJNL3pQT0lJUUdMbW1JL2JBSUUxUWNKQ3lFQ3BLZThWMFB4dUxiYU5pdTU1RFUyUHQyM2t1cXZPOEo0VCtvUEFXcTg0djZECk5OZkdxeDRJaUE4MVgzTnJ2UW9CQndndDErRkpRTk5WVndEcnVESE5wZUdLYy8xbEo0UzZTNDYxRngzQVRBem00OXJ6ZHJYbmJBRnYKejlwVW43SUZ2RGxwOCthNGRkVXhxOHFqbG1CMnJ6eGtYbm5ZRkpoTjJYNlQwbjNHSlh1TkFFVzdEUXAzNlJmdE5pbmNaVnk0dzZoZwp1eUdnYU5zRWhkdDBBRVhidElxM1EwcDNhSmJ1VUMvYnFWR3dUYU40bjFieElmWEMzVXFsTzFYcURtazJuRlN2UGkxVGQxbTU5ckp5CjIyMnQ5bnM2TFJtcXZVKzBXdTdLdFQrUTczd29DYm0vcU92T3dvNmJFbTFYUlpvdkNqZWRGMnc2UzJzNnk5ZDhqaDl5VnFEcGpDQkMKd3drUlFDT1RwaFBpTFpNMG5aTnRPaXZYZkU2K0pWVzU2YUp5VTZwcTNYbWx0MmNWM3A3VWJqaW5VWE5NdGVxZ1R0RU90ZEs5U3NXQQpQZHJGTzlVQjRBeEM0WFpWaElLZGFvRENYZXBGdTdXS2QrdVc3TkVyM1dzQUtOK3JYYnBQRjFDMlh3OVF5cVRzZ0Q2OGI4Q1FqbG1BCit3azVhVmQ5eWg3dzVwUnA5V216bXJPbXRlZk5hMVBONnk1YU1ER3J2ZXdJQUdKVW4rWllmOTI1OGFacmM3cDd5MjJnUnhCbW1wY0gKc2dEWGVjdWpPYzNoL25ZYlYzR3NqUkErMW15aHA0cWNHdHBVZG82MXRvQ2VBYzdLa0dCaFFERFd3K25wRTNTTlNFYUdSQ05kcklFKwp4VXVYNU1DSDBsT2VwM2h6aisxWTJkS09SL0c5VDJBdmI2UTVFN0FmVmtJU29CY3lrYjdOWkhMejJ1eGwvVGxSby9seEg5OXUyaDRkCks0azNGNk9aaVZBOC9pMEIrcGtHVlpiSFhEeG1OdEhMaE1yamVNQUpkaVljaVowK2xTSlU5UGxYamlKYlRBVGxEaThGWjE0UHVRZGsKZXB6djhDMGNEY29EZjNEM1JaVDNSVlgwUnpXTkJMejY4TGNqQ2tCdUhyLzF4VlBSUk54Y2Z0SWY1dHJTbnhrSmVrcndMM1U4ZnE2RgppMFR4UUdUUmFFRCtNTng1bnJsSis5UVIvZ0pZZUFXN0d6T3JoNkxLUndLdnYvQWhVT2JBRFVHcHBMR3ZNYS9TWXhsZlZrdk1KOEV0CjVVazhxcHBUQk1qdjF3TDArbjNFMHkrUklTL2NaTzhtOEQxZlJYa2FSbmtXVGN5T1gvQmsyWUtIY1g2M2ZjcnB3YVhqRWNXam9WWDkKRVFXd0JjRFVFUkNRdUVqcHFEOFFvUEtoUUY1QllDOVlSSUNZV2VxaDhIRWtBRmtDWTdyQzFCRVE3cjBKWmNaK1VJSVVESjZBbGx4SQp6aHpZMUVqM0tCbVB5S1VINTRKeHhxTEs2R0dsdzZFVjQ3QUg5SFFGUVNnYzhxOTZINFVjRncwSHdCeXNVZi9pWVorQ2tjQVpBYjhrCjVhTkI1YjErajF2aVJHOUhrOGhZWGl5SEVJbjd3bk9Qb29FNFJJRGdEaDR3OC9wWEFsUTJHclp1ankzY0Fnd1BOQTRGVFk3MEI1NEUKbSt0Y2VSSlNPaFFJaHNycmp5aWtCMWQ4RE12dmcySEY4akc0elFpd0t4YmdYdVc5OHk3dEN5bnRpOGdaQzg0ZURwSGVGSURuLzQyQQo1U0JpWjlVM0xvVVJvSGVyR1ovakdZek43ei9zYTJwWitqamRJemxSelVTZEpFaWNSOExoZVhtcFJBSHV1U1FVbGNSTkkzSHpFMkRGCkZpK0dreGMzRDV5aFV0RnhvcXI3NWF4ZTZnVDNtcXhrbUNjekxMZDl0ZHo2enVML3JpUHozMldheXZ3elBscHRZdWh0WUZqdittS1cKMHFVWFQ4UndFU25jWlBRZnBzb0xQM3hhcWlYZ0lZMDFBTElpaC9HVXdkajlDTnY4cndXSVpUOHNBWnBjVUlOanNxcnJwd2pRWkJDSQpUWUNVNWRiSkxWb2xMN1ZhWnVGS2RhVk40QmpJa0t4azRzOEVpTjJFSnRhMldOay9remxBek1XdkRRaUlBQUhGMFZMYUJnQUhMRzNTClpCV0xNYzhqQWpSbEN6RFc5aGNzKzBHeWdsZ0NwS2w4VkVkcHU3M3M1dGNuZkllZkJOVmM5RzY0NnRKeXpyZnBrc2NQTHJ1eGFFaHoKWlFHY2hrWHpsUjgwWFhadXZPVFVjTkVSMEpqcTBuREJ1ZjY4VSsxWmg3ZG43Qkc1cVRwaFhYWEN0dks0VGVWUjY0b2pWdVdITFNzTwpXcFFmTUMvYmIxYTAxNnh3ajJueEhsTjJzOG5mWnBDM1ZUOTNpeDRUSGNoV3Jad3RtdGtwR3RtYklEa2JOYkkzcUFKeU5pZ2o1RzdRCkFPUkQxUExXcSthdlU4MWJxd1RJMzZ6NU9sazVPMFcxWkp2Mm15MDZOVnMxR2crcU5KOVJhRThYNlV3WDdVZ1RvdDhVSFVvVDdqdFAKN1RsRDZqaUJhejZFYnpwRXJEdEVyRGxDcXptMW9QYThWRU9hY3ROMWpjYkhwazJaWnMxUHpGdWVXclE4c1d6T3RHaDZiTjc0eUt6NQp2bUZUaG41anVrNzlkZlg2cThwMWx4VnJVbVdyejB0WEgxK0lVSE5Dc3U3VW9vWXowbzFuWlFETnA5WHJqc3RYN0pPcE8yeFN1bDJuCmVMdFM5a2JKbkkwS3I5ZW9BYkxXcW1ldjB3RGtyTmZNM2FBRmdKOXhveG9nZDVONmJySnEzbVkxUUg2S2VuNktXc0VXOWNLdG1sRDcKdHVzWGJ6Y3EybWxjdk11MFlLZEswVzYxNGozcXhmczBFSW9PYUFNcTlsdFZIckNxT21oZGRjaTg2b2pabTZNQWsrcGpwbFduSjNoegp4cUxxckdYVldlczM1Mnlxejl0V3A5b2hZZ1Q4dU82Uy9adHpWbTlUYmVzdk8zUm4yTHpZYnB4a0l1NG1pZ3ZYRTRxMWtyRVNVMVNZCmF5ekZZU0xIYmF4TU1GU2o2S3RURGRUSUprcFljemt1QzBtVW1EVEtNRnJMSWVlc3kyQkJhTmZUcUtaN1FkM1BJNUZlbEt3U3RoNVkKdndhWmNmTmFBQkNnZ1p5NDNwY1I3eXJXNTE1TFVhU2FMQ0JZaWxCY2ZpWkE3R2NtYmNhY3lhOEVhTG9ERmVTRzM3dHFUeUZ3QUFjaQowYmdzdHRvVkRudjlZb0l2SC9Dckdna0M4OS9ia1lDczBWaTRMY053dU54OVQ4bEhTYktwbnJZUFhjOE8raFcrOXkzcmo2eW54MlQvCi9VN05SYU8rRHlwRGNCUXVOQVlsUU9ZMjBaWjYvM1V0SHdZRkxnK0g1ZDV5M0FxMkhoNzF5eDBNaGh1di9vT2x1cEVnTURzV0RBZVUKdllQZGFJQmVsSFlsQ1MrYUxVREU0SGk0YXhyalBnNXVZREJXTHVERDRVaXpTQVN5b3FvUVU0Q0NvQUFOaFNJQ1ZQRHpSb2pOblJFVgo5TWhsVHowbEw4VUtQVi9ILzNvWjlYa2M3Y1ZLb2VmeFFvK1dPZDUweTZjSGxZeUZGd3dFbFBhRTVzSXR4cWFPTUVrSUxIZW4rOE9OClhYdjlLWHpjUkFLYVN1VGNmOTFsaWdBaGZYZW12WHlDZXcwUk5CS1lwR2NCL3lEenpCV1dvNjdJOXF3Qjl3MTg5bmV4T2UraXNzWWoKWVNyU1VGajVhRmdSYkNzd1ZVRVF3SmZPTERVUEFTK3NISXA1MHg5ZDJ4dGQzeDJGTkhpY1R0V2diOW1BUittQTcvcmNLSUhMVVZ4awpQTEFXQW8zbmVyNVA4ZUFTS0VCMFg1WUFNVVYyNmpzaTVQZUZyZHBsUmFTZ2FTUXlqWWdqb1BGa0lvMUt3MkVvcU9zdm9vcGcwUm00CkQ0dnpCZ05MM3dIMWdkMDFrYlI2bHZyQThZZERjajhGbHcwRWwvWDRsMzZKZkVxUEVWanB3a245RFhqTUFpRlVkMGZpNStHa3F0ZngKYVdjOEEzemtKVVVvdkpTNUJBb25pVEtQVE9XaTBORGd6bU81ZVFnOEZFR3FPQmVKRzRmbEVzRmdMU2dMMW9ycjNsUHpiak5jK3Rscwo3WUR0MmpHN0RWOXRraGxBZXN5U0dXYkFLclorZzJ0WTAxVGovNTFNVTVsL3hoZmIzUXp0RkliUmxzL0dHNnJVdy9ud1BIanFQREp4CmJyQ2J6RUR2ZWlrdVoyQWhUQUZ5QndJa2ozTkQ5T1hmRUNDMnJVL1p5dUNSMFg0SUVNdUJmdGpQanlVd0JSeVNBeVMxR21pUWduUVMKT0FEcUF3NVVGVFpORVNCa3R5K21BTUV6eUVuMk5HZWtaQjA1bml5UzM2QW1ON0Z2QnJzQU1jTkZNQnJFT29sb0VCSU5ZcmNmWFpYOQpQL1lDbXhRZ3BDaU1LVUQ3OUpUM2E2c2NORlk1R0tpenZpdlR1K0d5VmQzbGtMcXI3cTNuL1JvdmVqSnhuK0NTSzBMZFplY0pMam15CnFFOTFhRXgxQWpSY2NLdzdaMTk3MXE3bXRBM3Nqd3c0YXZQbWlIWFZZU3VnT01CdlN2Y0J1VEVHRk8weWhldzBLZHhoWExEZHFIQ3IKWWNFV2cvd1UvZHdVdzV6TkJvRHNaUDNjWlAyY1RYclpHM1VoNjNXeTFtbS9XcVA1TWtudFJaTEs4OVhLejFZcFBFMlVmNTZvQkhpNQpVdW5GU3ZsbksyU2Z4MHNEWHF5UWVibENFWkNWb0pTOVVobVF1MUlGSVcvRm9zSzFzdmxKc2dVcjVTcFdLVld2a3k5UG1WKzZtMXFlCmhHcmRqWDZiTXJkay9lK2xPN2pMRGxNcnpvcTh2UzdYZE1laTVZRnQrd3ZQbnNLdy9qZEwreHVUK2xvMzlyWnY3bTNmQmVqcjJBMEEKQjkydE96cWJkM1EwYlcrdlc5MWFzNktsYW1sTFdXeExTWGhyWVVoem5uOUR0azlucGwzYlErdW1PeVlOTi9WcTB6UnJMNnUrdlFqYwpTS0g2eXZ6U003U0tZMkw1VytSejFzam5yWlhNWFMxV21DU1hteVExSTlsclZMTFhLR1d2VWNoWkI1RExYUytidTBFYXdQeFJJWGU5CklpQjd2U0pMQkxQV2FlWnMwTTVMMXNuZnJKc0hTTkhPMzZJRFFDSmtUTFFLZG1nVjdkSkJva2ZBa0VvUDZKUWYwaXMvWWxSNXpLenEKdUhubGNRdEEyVW1MeWpQV2xXZXNxcy9id3VqZEJadWFjMVoxcWJaMTU4eGFyNW1CNDlRbHFuRzZ1Qmc5ZEx5NXBMKzhyTG1Jb1E3WgpTSG1ldGR6dlRndFJ0bUlvQXdWT0xTTkIvUWdOalV1cnJGb2ZlUTYrOUc5TkQyaTU1OUh4ektQcGNlQkVYMi9tRG01d1I5dlhFL3lvClZtTnVXOHR5b0o2c0pVTzVLMkhRS0d0RlI4RjZCeFZiY2J5ZEtNM3BYeGVnS1E3MDZsbElWcVlybVFBYjJ1SkljM1NUck1DZjQvay8KbjFEenhvQU5oR1NOK3RiUWZiTkdvNG9HdzZzR2xvbzlpMXJ3Y0tWUVpoajFkVHgvWnVLaU5PK1FGLzRaSFdHOU1EZ3hkWVJmVTBEMwp1VnNXaUNYUHd4Tm04eEk0RFRRbFh1ZUdDeEJua3doendGVDBxRHlvZENTaStKMS83bEFBTXdVNGV2b0l2NlpzSkJnMnloc09LQmtMCkt4d0lLeG9NckIxZlorWkdwZUJSSkJ4NjAwWkR4cGMxM3o4bGlnbndvZ2tvQ2hrdkxjZGJUZzhyR0FsRUJLaDBHS1pkLzBLQThnY2oKcW9ZajErelVRZ3ZNdzJsSkxGeHJKM1VqanY5cElsL21NckhuaVU2UEExNTlETTJINmhaY1E0K0ZsekZ0aEVuZzI4RWljL0R1WGI2dwpqQWdLMEk4bE1FU0FZQkx4TDNPQTBtc0RhUGk1VkJvbkg1NUxpRVRnTTVSUnVXRjl0MjkxOVdCVXhWQm80WGpZaS9HZzdCRll2Vjh5CkdGVHcvcWNSb01yQmtNSSsvNnBQc2RtandhL0dnclBmaDc0Y0Njai9oQlN4ejBEK2VHamhlLys4ZDJGV3Q4UDRkL2tSOFJSQkFvcUsKNDd6L3hyOWtPQVorZHlNQnpEMWNrWTZJUDMzZjhwSGxpWHZNMEZRVWdjeEY0MFBhSXM4RDlrT1ZRRjNQOXF0NkQrNWhjTUZRSkl4ZApqUVFWREFReU05aCtCSDVneHZvd2JMT1pOK3hiTlJaV1BPajFiTWd6dGNaWE1NS1NtOG90Z0VFVHVXa0cyb0lDWUh6TUxEeHhEcEU4Cmw0L0VDWVNiZ0VHVGNWd1UzRzgwQWtxSWlCTEN6WktrRURURkYxNlVjWHFxR2R4a3VlcWRROHAzYStBTm0yQzh4Mm9Md3hJOGJtWlkKcGtBQnNrajVacEh5MVRMbHMrWC83d1RvazhVMmhzbDJodjVHaHVuR2k2cXVDN0JvSHZRY0xKbjcrRUg5b3F4RUdSNVhPYXdyOEJJRgpQTE1GSXNZVFVaYi92UUQ5NE1lYWwrMmYrWk1EelpnREJBV0lsZnNzdDJpVnRFU0NpZjUrSkN1SVhZQ1VXZHVkd2dPNElRYlNGUnFSCkcxWTVHQ0pEekFPWUFjM0tsVmFYMzh4YUFvTXdzMzgwRmJjd21UZ0RCR2h5d1l1NXgvdWtBTEdZRUNCbVFqUlRnUFlDKzRFQ3BMVFgKWFBIZ252Qk5ieTg1dEZ3TXFMemc5ZmF5WjN1cVgwT3F4eVJ1N0E1VWQ4a0pVSHNSU0k5ajNRV0gydlAyYjgvWkFlT3BQZTM0OXBSRAo5UW03cW1NMkZVZXN5ZzVabEI0MEx6bGdWcmJMckhTbmFja09rK0x0eGtYYmpCRExBZVFsR3lIa2JqTE0zV2lRczBFL2U3MGVRdFk2CjNkZHJkVjZ0MFg2MVd1dmxLczBYaVJxQTV5dlZuNjVRelZ5dXpFVHhTYnpTa3hVS21mSHltWXVWSHNjcVBvcFJlQmd0L3pqcUI0K2kKUkI1SGl3SXlveVdlUmk5NkZpUDFQRmJteFdMWjNNVml1Y3NYdmx3c2xyVll1bUNaL0lzNDBlek5JczNYTlRyVEhVdE82alJuT1BlKwpDdWtwV0RKVWx6elFzcnUvNDJCMzM3RysvaE1EZzJlR0I4OFA5NThmNmo3VDEzNnF1K1Y0WC91SjNyYmp2ZTNIZXRxT2RyY2U2V3crCjFONTRvSzFoZjJ2OXZxYTNPNXZlYkcydVNtNnIzTmhXc2FhbFpHVkxVWHhUVVdSallVUlRRVmhyZmtoYmZtQmJybTlMbGtmTFM1ZWEKMTVaOVJkNjFsMXgyR3ZPbnlQSHRVZUkvcUNwd1FIbkJJVzNpRVYzeU1YM3FTU08rczJaQ0Z5d1hYTFFXdld3cmZ0Vk41THFIMkMxdgo4WXdBeVllaGk1NUVTWVBQOVhLSmJFNjhjdTRLbFp3RXhkeEVoYnhWY25sSnNubHJwUFBYU3VVbXF1V3RWc3RibzVHM1ZpMXZyVXJ1Ck9pVmdTSGtibExJM0t1Y21xK1p1VnN2ZHJBSEkyYUtadDFXM1lMdCswVFoxeUE2dDRwM2FKYnQwaW5icFRuREFzT3lJYWZGQm82S0QKQmxVbkxlQmk1V21MMm5QV2I4K1pOVjIyYWI1aUEyN2cyM01PVjVlcUhQYWRmeVppL3FrSWdZTytDL2E0eU85MTB0L3ZZblRjVCsvVwpTdjJjZlZZdEdmNmRtVlpkOSszYllBTUZ5N1lNdC9hSGtXM1BmRm5ibS9UQW5rYlFnUkI2WHYrNVluL1NnWHF5b3Z1ekVvWnk0anFmCnhRMlVMdHNRRkNSSnRKSGdkLzFQQzFEbS9aQTN4ZjVBZ0toRVRpeHh0bUtzT1poSVlKUmkybFNLa0VPUExCcUp5UjBQcmVqM3lCNFAKaDlrblhaR1VkSC9SSjJHTG5zU0xQbDRqOERoZTlNbGk0WHZ4V3JkRDdnL0N2Ky8vRm9XRGdSbGwza0NBcUJRQ21mQzdvYlpvUkxnOApIMkVPa2NTaG9FNHVHUWlIRzVLL0IvT1pQOHg5R2ZyYkFsUktaL2JPZ2RWUEFiQXQ0V0JRMWRqeURVZDFTUVFVTDQya0pJdGxmRXY0CjhqRmVjcjRna2ZvYkdZOFJseVNXRFlkQ0FZSzFTMkdsY0xFR0NGREk5SkVuZUI4SHB0dVVnM3JnbXFsNFBCZDFEa2FHSkdRcUpYblEKWC9WY1RNaWQ0TUtQTU4yNFlDQ2dZalRtVndJRXk4dUI0Z1NCcCtXMitSQ3A4NEFBVVFnY2lBQVZNNHZtWUorYmtlaEplNWcyQXBONwo5UUg4SkM0TVlUYVZnTUZqY1RnTGJZSDdvUTUzQTRDRmxQY0dsUFo3Rm40TXlCc1BLaDhJcXh5TnlJSVJ1NmtLZ2xEQVRERXVnOTE5CnZNcmYrWldNZWhmUXZmUG8zc3lZMEF4VWRxOHM2NHZKN1luWHVCUXRIbVhMaTZId2tuNG5rZWMrYnc2RVVSL1k5Z2tSSUVRbHA3NGQKaS9MUkpjY3k3SjNDaEVJVEZOYnROenFVNW5nbkwvVGwyK2ppcnZYbDlMaThmby9pc2NBaVpydElNR2I1U0RocjhRc1pHZmdRb2tUNQpkSmVzWHErS3NTVzVuY3MySExYa1VsZ3dEOC9CUitYRUVvQWRvcWg0MUFKZUtnYUg1aUtqTVh3WU5PL3YzQlJPUVFwT2l5d1lKYXlXCnB1SmViN2praThrS2hzVmEySHJIWkF2RERQb05BRzVyYXByQ01ONzhEZGlQUlRMY250MWtNOFIwOHplelpHYW04elRWK0w5bG1yTDgKdTN3eVhRdU04SnZwT29iSlJsZGhHZUY1M0JROG1zQ0hiV2dJUExiVFg0a0VnelN5T0N0NVpzeEdIdXVOV012L1hvRGs4QkJaTUFocwpmbWd2ZzdPZEFHTWxnN0ZoQTI0MEJtQmZBdnRURXJTaTdDb0ZtVVFaeVJWQWdIVFV0OFpGUDdPMU9LV2h2SFc2QUNISE1FTUlndXdMCjlzT0JKcE9ka1JveFdBVTJHUnlDaFdNVDZjK0lCazBLa0laQ0NwTXRUQUdDVlYyNktudTFGUFpwSys0SDZDZ2RRTkJWUGdqUVVkek4KUWxkcEh4TCtBUUEzTXBYWjltRGYydHBUZnUycHNSWG5YWUVBTloxeGJ6alB4Z1ZYRnZYbkhlclBPOVdkYzN4N3hoNHhuamZIYlFHVgpCMjBxRGxpWDdiTXMyV05ldE11MFlJZHgvbmFqdkcyR0JWdU04bE1NQVhtYkRaQ0l6a1JRWjROaDFucUQ3SFVHV1d2MVg2L1JlNVdrCit6cEo5OVZxblplcnRGOGthajFMMEhpMlhPM3BNdFhNT0dWRWNSN0h5aitLa1hzUUpYTXZBbkkzWERvalRPWk9xUFN0WUdGQWVxRHcKN1NDUmpCQ0plNkZTRDBKbDc0ZklaRVpKUHd5WHVoKzg2TGFmeEExUDBUVFhCVmNjaFM0N0NKODFsVHBxSkxwSG0zKzdLdjlxY1Z6MAovRmxIZmVVN255U05EVi84K3ZrR2ZlUmNYLzhwK2xCcVgrZUZzWjcwd1pici9aMlgrem91OWJkZjdHMjkwTmR5ZnFEMXdsRDd4ZUdPClN3TWRGL3ZiVS92YnovZTFuZXR0UGR2YmRycW45UlNncSsxWVI4c1JLRVAxdTlwcXQ3ZlZiRzU5czZHNWNsMWQ5YnJhTjJ2cnFwTHEKS2hNYktsYzJWcXhvTEZ2YVVCcjNwbXo1aDdZRHo3WUcrbkFRWS82UVhEbFhlaVhYd25odW1aVThrZ2lKNkVXQVZSZ3BoSlY0b1VTQwpZQkpGYUIydjhFYUIrWnZuaTJ3UkVka21KclpMU25pUGpQQUJKWkhqV21MbmpDUXZXVWxmYzVDOTRTVDdJRUQ4VVpENGsvQ0ZMMktrCnNwZks1aWJJRmlZcGxLeFR6bDRybjd0ZVBuK2pZdTRteGV3TjhxL1h5YjVhSy9OeXJReHowVkFETGhwdVVNdmJwRjZ3V2Ixb2kyWXgKWEhCVUw5eXBVN3hiRHp5VzdOTXZQMmhVdXQrZzdMQnh4VW5EcWxOV2xjZHQ2czVhZDl5dzZMNXAwcGxtMFg3UnNmV1NlZHNWczQ2cgpwcDNYamNESjNsdFdmZWwydlRmdDY2Nll0TjZ5YjdoczFuVEZzU2NqcFAyK1ExT0dUZHVkcFVnSEk2UW12NWU1YlMxU2dZOXNZWXRzCjNOYjNLb3FaSWgwTDZNc0o3M3ErbEo2YjBQOXFXWDllOUkzZGNZdndoa0lraC8rRUFMRTcwTzJyd2QwdDBWVFNIRDRLTjQ3RUlSNWcKVWpnSWQzZWZQcFVpVkE3RVZBekVsQXhIVnZSN1pZMkZ3T1FZZXJUVXJXRHkwd1MrMTlHQ0wyUEpUMVlKWlNVUXM2TVczSGZOZXYrMwpjNENBQU4wcDlrUXp1ekJUaUg4WTY0dEppV01wdU5sRU1xZi9Fc215a2RDOGdlRGk4WkFDNWxSZE92elQ2cUdmQVFWb0lMSnNMQ1IvCjJMdGtOQnJaMnVKZWhTL3Mra01pOEpQbk1iNnVaakNXaXZEajRTNEtHTko4VVZ6WlVIakJTREFpUUNWRDNzRDVmaUdJK1lOaCtXTkIKaDI4NDhwRm1DMkx3Vk14Y1BqeW5PSW5uZCtvZmFIbUtlNExXbStId3V1Rm91TEExRnMzOEZGTkhRR0RHZGNBVUhsSXhzdmhsZ3dlQgpEQ05BRk9Mcy9kZGRTcGp6T25TZ2tZQy9GS0RNZW44eW5nTzhIQW9RRWNmdllEYi8xVHF4aktnZFpWNFY3MWZWRGdXVWpIZ1V2UThzCjZnK3NIbzNNK1hra0p1ZERlT0Y0V0Y2M1YrVmdhTm5RMHBNNW5udHpJN2ZteCsvTERadVIzVG1MdHhUNjdpaU1FYis5WktHTkZobVAKNHliT0p2Qno1UGJBT3ZuaTRXQzRCZGh3QUZJOHo3elVxZStJVUVRSE56d3N0enU4YWp5aGNqUU9mT09sOUlEQ1FmZnlrVWlvVUtPKwpCYU8rd0liaGx2WGdsakwzRkdQRmZwQnNhSEJRK1M0cS83MWYwZWpxUGVmdFZSVi9GOFNoQ0FRU25zaEJ3S1A0eUZnS2tGUUtDa3ViClE4VFBsc1BoWExBTHRrc1lsU3FHdFJna2pGZ25mN2JkQ3JmY010dkNNQWFpcysyOU9TeGNaNEF6RnR1QStudzNUZjVpc2ZtejlSYncKK05FaStiMGw3RmdJWDJJSkpZbGhNczAvL3MrWnBpei9NcFpydmh1dCttS2IzR09jS0lqSEMrSFE0TDhwUHQ2NURFWlNzTDJkSXRFZQp5ZzNCUWhhRDFHcjlhMHRnaVBxdzI0ODAxZ2FDdGdSTWQ2QXBTZENzTkNDVW5GUUNFQ0FGbVZWQWdJRFp1TmlmMTlYWUJWeG5pZ0FoClo1Z2FCSnNsSWhvRTA1d25jMzNZUXo1L2JnSTBvVVFzQVpyTWxkNkV1QkVpUUVoVEgyQXppUDNNQUhQWmk3WHlOY2xCUTdWRDl1b3AKZVJkaXV5NHViampsV1hQWnArYUthK01wcC9wejd2WG4zT3JPdWdKcXo3aThQUU9NeDdIbU5EU2V0OGZ0cW8vYVZCMjJxVGhvVmI3UApzblNQT2FCd3UzbkJOclA4cmFhNUtjWTVtNDJ5a3cwQldac01nT2dncmdONHZVNy8xVm85aEJkSk9vRG5xN1dmQTkxWnFmazBRZVBwCkN2VW44V3BQbGlwbHh2M1FuWWVSMGdqM3dpU1lTTjRMbGJrZkpuY3ZSUDV1c0VKR2tQeTljUG4wSUprMDc0VVhuY1hPMm9xZnNCQTkKYkNpOFQxc2dSWTUva3pUZk9nbmFLbUZTUEI4K2pveUxJK0NXNExHTGVVU2owY0pSUEFKTHVFWGp1QmVGekJWeG1FVTBuc09aSEtRNQpVbk9KOFNHenBlVjQzMUJxWisrWnpvNXpmVjJYQnpvdURYWmVIdWhKNit1NzJqMXd2YlAvV3V2QTFlYit0SzZPYTVPa01ibmMyWDRKCjBORnhzclA5V0VmYjBmYld3MjB0QjlxYTk3WTI3V2xwM05uZXVLZWxibWZqMnkyTjFTa05iNUticWpjM1ZXOXFlYk9wb1NueFhkUHUKRTk0YTBaeDgrNmdHQndWMGRnbXJiQmZWMk1Hbk40V2QvUG9RcXNVT2l1bDJzc2tXZ3VGbW5PNG1qUFlHdE1aNkh2VWtidmtrSHRrMQphTmsxR09rMU9NazF1SVZyOE9KcjhLSnJ5THpycUh6SkFvTGJSSVIyU1MwNHFDaHhYRVB5dEk1TXFoM3Rxb3ZnYlcrUmg4R2lUNklsClhpMlZ6RXVVTGt5U3kxbXB5VVE5SjFIbGRhTGk2MFQ1Vnl0bFhpVkt2MWd0LzJxTlBQQ2h3cTJheFR0MFNuZnJGdS9VTHR0blVIclEKdk95UUdld3NjRTY3NXFSdTNTbkw1bFRMdHFzNkRWZXRtcTdaTlYyekI3VGNjQVRTMDN6RHN2YUtZV3VhZGZNbHQ4WXI3bTEzYkp0dQpXemZkOU96S0NHeTU1WWcwSzBJNkZYVm5Cdlk4Q1VKZzI3c05KZ2toSnRUN01yb25LNmp6MmVLKzE4c0hYOGYxdjFwYW1wNmdKbVRFCmg0TjE3ek1LME1UNVB3dlFBcUxaLzFDQVdLODZmOXpyUFgwbGpjVEpTNGFiRUpIdGRKODFlLzlDZ0txSHdQd1hXVG9ZVVViM3l4MkYKKzFlVXZJL1QzZWZCLzN3SjlmbGlvWmZSQWsraUY5ejM1MzhXTDVFWjkvem5vdkF6aXVuK04zSjhNU1FPTEhZdWxZUldVaVR6RWVmeApFWEJFQ3ZyRWJXUFk3QTZtNElRVWpjTFlDWmdMcDQvd2EyRGE3RkFNa0liQ0VaL0NrY2ppa1Fnd2p4WU9oSWxKWUxqUUhQeEVmTllUClQ4YjNCRUVxTjVITVJTSGdCWVI1RUFFcWdzWGJmeTFBdGZUb29tR2ZZM2VkQ0NRVUw1bUVJWEVCcmVRanpCSEJ3bG9oajJobElCQlYKL2JBQlVpNllwTi85ZE9tS21SWURhN0xBMVdaV3U4Qk5XNGtZSUVDSGJybkRYV0NSaFI2WUlmUVhTMkRQYWdJSUJFNHFMNGFLNDZCUwp1YWthc3ZNemxndGxKNnJmZGJ6U3ZiYU92clN3M3lOL3pLOWtLS1FNbWlWVXJoa0JkNkJzSkJoVzc5T2piZzBrMk4xMUZVb1BJYjlLCm9iMk1uSkVGbVJIQ3IxM1ZNc1Budll3VmtoSVF3TTdEbzNrVzBUaVkrNTdDR25WRWdKQ1NlT2FsVG4xSEJDQkF4ZU0rOE11aUIrWU4KQnBhTVJzTGNjSG9VdU1td21TUTlLRzg0c1BROVRJSXVHSUMxYkJOcXlOU2d5VjFXUW5ONy9aNjhTYkR3RWFUeW9RU3hIRFFlSGhMWAp2QVZZckNwNkRvNlhKSVltKy9ETG4xVnh5TkVON2JGYSs5RTZoV0cxazJHZXhMRGN5TERaenJEZTljbHErd2ZiYlIvc1U4YnNOakFzCnRnUHYrV0t5OFpQWnBpL1dXNzdaYmdPdXcreFl1UFc3YVFvek9NVEVPSmxodUJFeVhVSCtiNW11TFA4cTMyeldNZ3pXZkxYZmZrYkYKaTBZbEV2ZzVjVmlVczRubzRNQUszUVZRZW1TQmFoQ3NaTkZ1Y0IxcVVuVCtMUUZDN0dkQ2ZTQldVandXVEFHYUZnZmlzUVZNT2hBVQpJQVNVZ2t5QzlNTGxjbElyNWFVVEZXWFdxU3R0QnBhaktwL3lVd0dhM0NVZUNwRHNXbllCbXJJaU5wRWJ4Tll4aUNWQTZuSmJrUXdoClJJQ1E5YStKcEIrbEF5enAwVkxZeDRJdDhYbS92c29CSm9lQUFJSEhVSnM5cFZlQ21rNzZONSt6ckw3b1g1RnEyM0xPR1FoUTNWazMKcUQ2bm5XdE9PYjA1YVZkMXdoWm1MaCt3cU5odldiYlh2R1MzV2ZGMjQ4S3R4akM2QTFleVRITTJtbVJ2TU01YWI4UU9vanN2MStpeQpqT2ZaS2kzQWs1VWFnTWNyMUI3RnF6NWNxdndnVHVuK0VzWDdpeFh1UjBvRDdrVklQWmprVVlRMEpITGgvVkNKMndHaVZ6M21uM2ZnClAyNU8zYWVIM2FuQmt5VEpseUJDWFNwQWpxVlNGcE41by9IOFlkeDh3UnkwY0U0SlFNUzhSVkZjOG90NVZKZGh0Uk9JaHF0Skp1dngKS3B2SVNsdDVWYllSbExaaTFIZFNqRllSTmR4UmZESW9sSSttNkdCOUJ1TmJUblBibVlIQnRPSHVTeVB0cVlQZGFRTmRWL3M3MC9vNgpydmEyWGV0cnZ3RVlhTHZWMzMyVnlaWCs3c3VBdnU3VTNxNEx2VjNuaHRvdkFnYmF6L2UzbmV0dE9kWFRmQkxRM1hTaXAyRXZpOTc2CnZUMTFlenByZG5aVTd3QmlORnB4Wkl1VzdHYXM1aW1LODNHcStTRlJ3MjFpZW9kRmpOazVJbXFDY0V6VVlCcDZnTU1MVEE3Tk56NG8KYkhSQXlIQ3ZvUDRlQWQzZC9EcUFyUlNUTFdURHpTU2REVGkxTlZqNTFXaXBWV2p4MVJqeDFUenlhN0J5RzBneW0zZ2xVNFJFZG9qTgozeWNOOUVqc2hDWGhyQjBselVQd1RxRElvK2lGeitJa1g4WXZlaGt2K1dxbDNPTWxFczlXTEhxeFd2YjFXb1dzRFlyWkc1V0tkbWlWCjdUWXUzNmRSZlZ5ejZwaGU5U25UK2xTTHR4ZE1haTlaTlYyMGFrZzFhN3hvMnBKbTBwSm0zSFJadi9tS1FkczE0OWJMeHEzWHJHb3YKMjliZGNHeTRiVlYzMDZUMWxtM25UYWVtVzI1SXVSbHNEajdadGhIeU5BU0JxVUZ3Nncra1hxenpsWGZ2NjZYZEw1YjEvVC9zdlFkVQpWRmZic0QxUnBEUHRuRE5uS3IzMzNudHZpZ1VVbE41N0IrbTlnNHJkeEpaaXJER0p2ZmRPQnhWRnBZT29kQ3hKVENMLzNqTklDQVNmCkovbXkvdTk5MS9yV3V0Wlpoek9IUGVPTXVxKzU5NzN2KzJyMDBOWDA1M2R6WGZYY1pCaWVueEFnK05BTWxRSDI4d2tCa3NQLytQV1oKYksxYU1mbExQaDBWd3FtaVZFeFUyTnJnZU11S1QwendkMGRXMS80Y1VUY1dYanZ1QzF6azBYQnczY3NvV1hzcG1xcWtUSlNOL05lcgpXUmVTSkM1SFlqZlhTbDVNdXRqL3R3V2xmbnpOb2FzaE5JNFlGZm1Nam1JTW5JQWpnalFTRGNYSjF6dFdOZ3hITmJ5SnVqc1NBcnRTClFEOVlNM2VFVHdNRXFHVTh2bWJZcis2TjM1M2gwSnFSME1hM0FjQWszTDAwY1pZb25jSklDVlArN2FkOE9YRTZtY3JIb0M5a2NrU0IKN2MwUm9Ibi9YUFdESWZmZStYMTEweHZCQ2VEL2Z6SmRER1dLc2lpTHBGQlJFWVJ2U2J6TzNUZXcrd2VNcGt5RU40OThJZ0lFQlFoYQp6bERVNmFabFpJUmIvd1pkdFAzWTZ1a01YOTQyZUtBUm4raW1mcm5GRDZZTWt4WnhLSXVZMkdjQ2RINk5IK09vMTJQUWM1SCtwMzN1CjlTYy9mQk4rWTl6bndidm9oaGNCYy8xam1ydmpNWTJEZ2IwVFFhMzlLeHQrVGl6dml0Rzc2RU8vR2lWK01lRXZZWi9QeFc5SEtQNlkKS0hnakVpTXRaS0tDWWd5R29xd1FOLzA1RVBnZmVCdWhBTDJHcmNSNHF2ZVhOSTRtQXUrcGZRMCtMLzk3WTM2MUV3RzNoOVpBYlJyegpyeCtQcWhtTnJoMkxyaGtMdXpjUzFQdzYvTzRyejVsNVArQjQvMjBVc0o5ajk1MjBsTVZRb0Q0SWpxRmtFWVlvblNGaXk5SFlvTFdpCnpTTG8zZUtTU2FmMWs5WmxrN1lWVUgyY0NpYWQ4eWNkSzM2RGRYZUtKbDBLSjdrTE9yQkVvVzM1ejA2d0RNL2s0dEpKRjVnQTlNRysKNElOajRhUnpNWHpVSGxiMCtkMnA3RGRuV01BUThMdlQvTUl4VjAzKy8ySHVLL2xYK2RrbGY5S21lTlF5MzBGTUhpT0xFVmdFbEVtNAplelNXM3dJeEFBQ0FBRWxFUVZUbjFqVmZOWkVBVGJLM0JubWxHdGtaYm9PSFJYb2NlUHJ5Znk1QVVIMTQvQ0ZBTGlva1o1NEEvWVVECmNRWG9vd010bXlGQXlta3p5TkJXeWRSUnpRTG9xdWJxcU9UdzRPMXBCNENMZWx6djRhR3JsajNOWEFIaUxZVE5qQklCNCtGS1R5SEEKV0p0WFU3RVkrSkNwVHBXNTNub3p2VXBUM1hJTHZmWG11bFBCSG02Nnp3WXo3V29BNytSaitBZDZEdzhMN1gzYlltUHZmK25iK3ZYSwpwenZYZEgwWjlIamZzc2U3VnJidFhBNTQvTVd5eDU4dmY3UnQrWVBOYnMzVlN4cld1ZFNYdXRTVk9OOHJkcnhWYUgrendPNUdJZVJhCmtkMjFiTmNiMlU0M2M0RUFXWEN6bFUydlpacGR5N1M0bW1sNUpjUGlVcnJwaGJXR0YxTDF6cWRvbjAvUnZKQ2ljVEZSNzN5ODF0bG8KZFI3bndSR29UN2p5eFZpWXVITTJRdjVNbVBMeEFOVkRxeFIzT1Vsc3RxUlhhc3NXS0l1dmxXWWxzTmhSS0NkY1JEeVNYenA2a1V6awpJb1ZvUWVWWW9uSUNSVFVaVTB2SE5iUG91amxNL1dLNllTblR1SUpqQmlobm0wNmZyR2NETXpDdlpJTWZUY3ZGVFl2WnhnVk12Vnk2ClRqUlJ4NDRnRUs0dStmN1Z1VjkrdWRBNWNyUy85OGZ4dnJORHo3OTcwWE53WXZEa1lOL1I0ZWMvUVB2cC8ySDB4ZkVYejQ4QVhnNTgKTjRmdndaSDM2RUQvd2VkOUIzakJvWUdlcjU5M2Y5WFh1UnZRMzdVSEhIdmFQKzkrdHFOblpOZUxLK1ZGRWhicldiWWJaSXkzeXJodgpsWGJaSm1lelE4b0I4SVdNMDA1WjU4L2xwdGdoNi9TRnZBdVBYWEovc0h2R09iaC9HdkRyTzJRZGVHeVhzZDhoYlFmWUxtVUwyTXkyCjNzQ3lYTWN3TDZNWkZ5TUd1U1NkTEZITkRGR05ERkdsVERFWU9zcG5TQmRMU1ZVcXkxVHJ5RzdXbC8zY25ycG5CZk5MYjRrTHFUbzMKMHJWcnM5U2FDOVhyOHVWcjE4azNiZEpvM2FZSDZQcmFvdU1iay9aOUprKy9OZW42RnB5YlBmdks1T25YSmsrK01XM2ZiOUZ4eUtyegpzSFViMEtEdm5icVBPSFFmY2VvODRnam8rZDZsL1lCZHorRVZnTzRqa042akhqMC9yT3c3NXRsLzNLdi9oTy9BS2Y4WFo0TmZuQTk1CmNTRjA0RkxFd0pYSUYxZWplaS9Idjd3V1BYQWpwT2R5L0t0cmlhTzNrOU85WFdWbzNqSTAxM2x3bVlrMEVDRE1XV3FlbHU5UWt1YWgKSUcvMTVKdENCb05FcC9Kak9GVkduWk40TzdnUkN0RHNxV2lLaWRXMVEyRk5yNFBBREFUYmVrK3NhaHlOTjNCUUpqS0pvblFpaWkyVQpWMlRLQmxoTGZCRmxjangrQjF6dm1EUENKd0ZmNncvZjlDSlJoWENFakpNRldaZ0FTbDVFcHdsb09RalZ2RWk5LzFNQStLSVBDdzFQCmVEZE0rTllQeHphTWhEd2NETHc5R2doM2c0OEczdjBwcW5rMDR2NlFkKzNFR2pCaE43Mk52RFhxMHp3UmNtY3M2TWJyb1B2Y1JhVy8KcFBoTEl5cE9ZRkpRZlRuVzc1T1pVZ3grSms0bW9XUVU1MnNjanFwOTdRczMzby81TjQwR3dRcDdFMU1id3VkeUQ1YjQ4Ny9RdGdJbQpsOUNKVkpJd25TYUVVV0V0WUF3VFd4T3BBNlNrRnR3MkZsQUxOM25OdSt1cWRqeTg0VTFRM1pqM283ZEJjUWN5SkZtQ1ltU1lGYjdyCnpFcnU3akJmYmpzd1hpUFNzSVp4djdrajhEai9PSlNNTEVBeEVuQktURXlFemhLV2puVmdYczFqbjQ5am4wbzgzQjk4YzhMNzhldlkKcG43dnhuZHJ1STArWm8vQW8zRWtwT2xWU1AyN3lQUGpuZzAvQjk5K0VlZDNlaFh6WWlqclNnVHJlaVQ5Y2pqbmVoTDlVcno0dFVUVwpwWERKcTZGcUYrTFFHOEdzc3duRzVaRkM5SVVJemkrS0MybnB5YzRkK2Q4Rm1HWE5xNUNXMStIM1hnZmRCTTQwNGZuOWRUOEpObzZqClloU0tFSTZTbUdSU0VFUHpzVkVjckRGb1ZUUzdQTS8vMkRvOWY1YzVhdktmS1B4TGZuRXU1Z0dWRHU1dWcrbE5NTzNKdnZnMzY5d1AKanZuUUVTMXpKbTF5SnhjWGpTM0puYlJObjdTcDNxeTRuRW5tbzNDRStLbDhVbkxvNU51NHhGVjUyalI3VlpLVEZySkNqYmhjQi9Yawo2ZzRRSFpnVnhQTWVkZklTZUFMTEZicnptcGp5bUxZYzRFemdOdUJQdkJwQ1lCeGR6RXNiZ1ZuVnZFeG5ZRGFxUkZjZVBOR1pQdUhsClFmUFd2MVNKVTdHZm1SckV5d2Y2a3dBQis1a1dvR243K1VzQm1xaytQTGlpODVjT05CMGltaElnSGtaYVJWd1RtcXFMQ0hlQndaM3cKSmFiYTVTWmFaU2JneWtkbUpqNVBPOUMwQUZscDdmb21QYXB0bi8vamZXdmE5M2kxNy9aL3ROZmo0ZWNyMnI1WUFkVG40YlpsOXpjdAphZHF3dUw3S3VhYmNxYWJFb2FiSThXNlJ3NTFDKzF2NXR0ZnpiSzdsZjZSQTcwcXU0ZFVzWUR5MjF6SWRybVZhWGs0M3ZMaFcrM3lxCjNvVVVnNHVwaGhkVGpTK2tHSjlQTUQ0VGEzQXFXdTkwdU1HWlNQMXowYm9YNC9VdngydWZqMVkrRVNwNTFKLzVsYXZjRG11SktqMW0KbmdLK2xvM0hvNHhJVVdhb0lET01ueEVxd0FvWGtZd2hLU1ZRTmRjaWV0bW9hUUZ1VmNnMEFSU3hqRXZaeGlVc294S1dRVG5icUZMYwpiSjJrSmRDZE1wWUpjSjMxRXBhQURaSlcxVkxXMWVJUTNwVXFDUXZnUUVVc293S0dRVEpUTjFSVXpvS1BQOWxXODgzckMyOUhqL1c5Cit2NWw5NG5SVnorKzdEdjhxdi9JOCs1RFF3TS9ERDcvZnVUbHNaZDlVNG96emJRQWdSc0E0SDRBK01XWC9RZGY5QjBBdk96OTlrWFAKUG5BRUp0VGJzYWUvNjh1Qm5pK0JDUTMvZk9qcEQza3BZdXFiSmV5M3lKcHRrWFFEQXJSRnptNm0ra3hMeitjSzhMaFR3WFczL0JSNwpQckpYWWZIMCtVeDJLamp2NXJKTDNna2k2OGhqcDR3VGVJclBwUjIzeXpodWszYllJbTBQMkN4bHQxSGNiZ1BIcWh5OHF6U2RIRlFsCmd5eWJRcFJJRW1NbGlrakdJWkloS0JJclRjMDN4TGN2NHh5SlU3cS9aMG5MWnYyRzliclBkbHAxZjJuZnNkdXFZNjlsOTljMlBmdnQKbis2emJOdHIwcnJUb0hXSDN1TWR1dTI3REh2M0dqLy8ycXovZ0hYM042WmRYNXYwZkdmZGZ0aXE3YUIxejNmT1BRZGNPZzY0dHU5Mwo0ZUw2YlArU2pvTkxPdyt0NkRyczNuMFVka0hwTys3VGQ5S3YvMHpnODNQY1hyQ1h3M292eHJ5NEhQNzhlbkR2MVRnb1FMY1Mxc1d0CmtzVTg1M2pQZnhDZ21WV2UvOFFjOWVFUkg3MWljaUtYeFNJeHFLSUlUWXdwaC9tZjlLMGRtcmN1UytOcm45b2gySCtLS3h6UlFJREEKMGQ1VFhVcFVpSWFSeVdDcVF3U0VhWUlFUllTMlRHWjMyN3dUODN3MGpvY2V2T1pGUVVYb0dCUWdKcmY4TVVwZEZKQ3VVVCtjQ0o5OQpHR1l4dzlTUTEzN0F3Sm9td2grTWhONTdBNU5tYWdaOWI0NEhOUXlGdGt4RU5MNlBhUm9PYUJ3UEEwYlNPTzRIcHNOYmI4S2JZUVhuCjJjL0k0MlJUQUJFbnNCR2FKRlZvZkR4WGlpNEVuaFFtaXVCODlZTVIvNzBBMWNEYWZmNVhPendwcUJDT2k2RVVVU0JBTkVUNDd3cFEKM1VSRXpaamZ2YUhWOVlOZXF6WUU0cFRQd0lEL1FJRE90b1ZTTVQ0V0hTRlJGcktwRkV5TXNGQUxWZjA2a1hvN1YvdE11UDVCcCt0agprYmY3Z3gvK0hIcHZPT1RHOEpxNUkvQ0FHd05mQnRlTUJrT3JHRnI5YUR4MVgzK3UvbkYzNlF1WnJET2h5bmZpT1dlanhjOG1LbDVkCkszRTZRdnBzTE9saXRNQzlDTTdsREptNFpTSzBSUXhjR0tPTFdkbXB6eDM1MytYdWVIRGptL0M2b1JCZUFPeFVYU0JUbXNDaWsyZ1UKRVhHY29velN2dFZmOVpONythdkZCZHdVNXY5NzNkVC9MV1o3ekQ5bXR2cE1BUnpSbWd2TTdJYmU4OEcrNkRmYmdsOGRDMzViWFBMVwpLZitOUSs0SGw4SkpwMExvUUhZRmsxYmxCKzBDRk1VV3NNbmlGTklDT1l6L3V6MStUL3VMVFNXWEtvbGFhNk5MZ2Erb0VXSGRRazNxCmNoMXN4YlFBVGUvVm1oYWdhUWVhR2VuUlFWZXJrVnkwcUN0NXVVU3FvcXVVeE14aE1PbWpBTTJVbmpsTVpVQlA1d0Q5ZVNHTUswRGEKS3VtQWFRR2FDditvWmZQVVIxc1pua0R2K1NoQWM5Vm5PbUwwbHc0MFU0RCtwRUdhZWR4b0VDd2o5REVyaUpzeHJWNDBEYmNuUmdtdgpPOWpIM2UvVEFnU1h3QUIydXB2T1ZFVSsyKy9idXRlM2ZlL0t4enZXM1A5ODlZT3RTMXUzcld6WnRMeHgvWkxhQ3VlN0pVNjNpeHpnCjhsYXU3YTA4T3hqbXliVzlrV056TmNmNlNyYlY1U3hMU0xiSnBTempTMEI2NE5xV3lZVlVzd3ZKbHVjVExTK25tSjlQTkR3ZHEzc3kKV3V0TWpPYlpXSTF6Y2VxQVN3bHlaeUpsai9yS2ZMVlVab3U1VExHYVJKbzRKdzdEWTRRbEl2bkZ3L2tBa2pHQ2lrbGkybWxVbzB6TQpMQnMxeThNdDgxazJnRHltZFNIVHVwaGxVOHEwS1dIWmxUSnRLeGgyNjFuMkc1ajI2eGwyMVN5N1RSS082eVZ0MWtsWWI1Q3cyU1J0CkQ0NlZMSXYxYk10TmtyWmdnZ2RVYzJ6WGkxdFhpVnRWaUZ1V3NreUtHVWJKdUZJQ1N6K0lYODVTU0hSOWdPM3Z2MXg4UFh6cytlQ3gKdnA0RFBNVjUzbmNJK0UxUDE3Zjl2UWVoOGZSOU41ZFgvVWMvd3JVZkh2MEhlUUFOZXZYOEVEanA2L3JxZWM4M0wvdjNnNVBYdnh5Nwp1RDQ2NGpQcEhWSk9teVhOTm5HY2dRQlZ5OXB1bFhhYXl6WVo0RU91Z0YxeWk2ZlpJN2RrRm52bDNmNUFjUW5nUzNCVVdBejRVaDZ5ClY4NTFqeXlNRy9HWUdVd0NMd093VmNweGk1UXpmQnZGN2RkeDdDbzV0bFc0YlE1cUdrVlVXN1dJNVVnUTFDVVFyS2lFclFtcjN2U1cKOWo5TTdYdVEzUDh3cGFzK3RxY3h2cXNodXFzdW92K2FmKzhsNzY3VDdrK1B1anpaYi9Ob3QvR0RiVG90bXpTN04rbDA3dEh2T0dUVQpjOVNvLzRCaDc5ZkdQZnR0bnh4MDZOcHYxL210YmZ2WHRrKytnbldybjM3dDh2U2JKYy8yTFlNZDBBNHM2empzRG91Si83QzYrNFJQCjcrbUEvck5CdmVmQ1hsd002YjhjMUhjMTh0V1YrTEVic1VmV2hjbWpTK2Q0ejM4bFFIL2hRSFBVaDRlMys3TEpYM0xrWmNoTUNwZ2UKQlZDMm1OcytmOWcvY3M3VXdxTnh3aDhJRU94ak9nYTNJTldOZVlLWk9DamRTRmxVVkJ5bFVoaDhkTHFvRkZXRUlTVEVsQkQ4cnVWdgpSNERBcFBYTnhaVkF4ZWcwWVl5eUNBZnFnQ0preWtJdzhUZU9SZFdPZXNIY2p1RkltSHMwNFZzN0RFd2lxSDRvNk41Ym1LRlNQeEowCmJ5S2taU3oyNG5EYzZhSEUrcEdBbHBIUXB2SFkraEd2TytNQk4wY2phd2U5NXp6ZFIwWVNwRlQ0Y1FxRkljcDM5TENYb2poR0poRXcKSEVWeC9wcUJzTnJYZmtDQTRMYnprVUM0NURTL0FNR0c1T01CZC9yOXFKZ3dob25nS0ltR0N1REE1LzZtQUlGSDc0MzZ3cFcrRVQrSApQQStVc2dCbmt1Z2svcjh0UUUvREtOUUZrblNNUkY0QUJFaUt6QzlJSVVnc00wU3U1cW1kREdHZWowKy9GVlgzT3ZqR1NNU2Q0ZURHCmQvTkd5RzY4RG5qd0pnYklaZDI3ME5yaE5hMnZ3bXJIY25OdmUzTXU1WXBmU1VCTytjdmRTSk82bkM1eElWSHFVckxVK1hUWkMybmkKVjVQVmptYlFYUXh4UklCTkVxQlMrWmU0YTg4ZCtkL2xEdmpRMzRmZUd2QzdQeExWM0p0a2JJMGdDQVc4QTFSRXpKUkliN0tJbkZ4UgpCZWRwMS9KUjV3S1kxenhYS2Y1M01kdGovakZ6MUllSFV3bVAzeDJLZnJVckFIeHdMSjUwS2Z2RnBlUW5tenhvUlRCRHZPaTlkYzU3Cmg5eEoxNkt6OXBGU2l6NmpFREZKRm9GS1JlMzB4Q2RmNTBlSHU2Z1FIVFVvaTNYUVZkejA1NVd3RkJDc1VyZ0UyZy9zQWdiRFAxT1EKbG9Nck13Vm91clVGRkNERVY0MElON29EaWRIR3JYVlFUMDNVRnFZV2ZmejFPZEx6S1FHYXlaOEU2Q05RZ0dacXpmU1Z2d3o4VE1XSwpQa2FNcGgxb1pqYjBYQUhpd1FzYUdmQzZaRXgxdzRDYndnelVjN25rQXd5QklYMlVJU0JBZ0psSjBEd0hXbTVTZVdkWHhMT3Z2WnAyCitEelp0ZXpCWnEvbUxiNHRHOTNxMXkydExWOTh0OFQ1VnFIVGpYeUhtN24yTjNMc0FOZXpyUUhYc3F3QXZPV3R5K25tRjlMTnppZloKblUrMnVwQnFBdE42a3ZUT0pPaWZqak01SFd0K0lrTDVWSlRxdVJpdGkvSDY1MlAwVGdTcEgvU1UyK3ZHTHRIRWN4U1FCSVpZdUtoWQpzQUExVkVBaVJrZ2xYbFE3Q3pFRnJwT0RtZVhSemZJWjV2a01VeTdHUmJoNUtkT3FoRzFaekRZcjRaaFhpSnRYU2xoVVNKZ1ZTNWtWCmk1dVdzVTJCelZTQjZ5elRDcFpKcGJoSkdSdmNZd2tjQ0pnUWRCMjI1VHFPMVVZSm0yb09uTkdyMk9DS2RRWGJxcHhsWHN3d0tjU04Kc2lTMDAxSGRSS3BobUxDQzVjSUZQNVNGVGI2LzJ2dGlQeENnVnkrQUFCM3E2dmlxcitkYlFFL1hOM0J0cS9zQVlLRG40Q3hlOWg2YQp3WUUvNkRzTUh1M3Yydis4NTF0Z1F1QUk3S2UvKyt1eG9SODJlcnRHQ3loc2tYUll6emJid0xiYktPTmNJbVcxWHRvZVVDM3R3R09qCmpDT1BtVDYwWGNhWngrZlN6bC9JdUFCMnlycnltTmFqNlZqUm44SkZjakJpTkIwMG10SWdXV2VJbkIxZ3A1ekRGN0wyMjJYc3QwcloKYjVhd0JlL2JGcmJCT3JaaExrYy9CbE1Qd3pWZGhNV2xDWitwaWlIOUhkVnZSM2YyZFJiMXRCZjB0aGUvN0t4NC9yU2c3MUhtOC9hQwpnV2Q1cjU3bURMVmxEajVJZlZFWDFYTXpzUE95ejRQZDFzM2I5WnMzS1hidlVSczdaUEJpbjE3bmx3YmRCMnk2djdIcytzcnkyWmVXClQzWmJ0KzIwYmR2bDlHUzM2NVBkaXgvdmNYN3lwU3VVb1crWFB6dm8zdkhkcXE0ZnZYdU8rL2FlREJ3NHcyMWVkalhzeGFYWWthdFIKOXc0bnErRE9jN3pudnhXZzJRNDBSMzE0MkJpNFRFN202R3VoREFRbjR3SmttcURkbnZENitRdml3ZGpQU0JRMzFUUzRhU0t5WnNRVApuRlRzYzZHQ2FaNUtwQ0lMaVNnL2pnbEpVVWtNWk9HUlcvT1BNeStoZTgrdVFIRWlqdkhUcVB4QUlIQ01SbVB3WGVtQVhTenVEYStDCjYxK2pNSXNaTnA4YWcvMFo2c2JDNzc0SmFua045MGJCL2VwRGtWblgzSk11ZU54ODVkZnlNcWhwTkw1aDNPdmVtTi9kaWNRbW1EazAKOXhraHdLV1crU3ZSY1NxTEt1U3hURXFPamROb0JCUWpvelRCMjcwaFVJQkc0TFlqbmdCeEMwWE9IbUZxbkhHWXZsTS9HQUlFQ0VHRQpHRFFLaHZERFlzRi9VNEJxUmtKcnh2d2EzZ2JmZnhObW5lVU9MSXJPSXVQRVJYOVhnTTQ5Q2NNUVBqYVZqQUs3UlVneXVJZ2tUWlNNCkNJdVhyMUcrazhxK2xpMXpPT3o4Ni9oYnc2RVBmNDJzSDVyMzlWeWU4R3VhQ0c4WkRxK2ZDSzJiQ0dnYTlHOGVpcm85a3FSemNKWHkKVGgvSlNqKzVLai9wc3BXY3doWDBIRGRPb2J0eWxJdDR0SzJrdHcwaXlaQWlDN0pKUWhRcW4yK2s4ZHlSLzEzQXUzcDN3cmZ1amYvOQpGM0ZwQlVZQ0lnUWNsMEF3Z2hHRjJleWNOR2xiT0dtVysvdVMwcmRPaGJEbnFOUC9pd0JOTTBkOXVQem1YQVI3ZTRGelIxamZDR0pYCjhKdDFMb3dHOFdKQ2xybVRGam1UYmhVRFRoa25GSmZqWkVFcDBpSkpLcFZJSkVySkN2VThqN3AyTE1rUXRkWkNWbWdqSzFWRWw2cUsKZ1JNdldMY1FXUVkzaFVINzRZVi9YTGx3Qy9hUW9QMU1POURNOWw3cUpBOWQxRWNiZGRkR2x5dUtXbWdpVHVBY2pQbUhQLzFaZy83OApJMWQ5ZUtXQTVnZ1F6NEUrSlVEVEsySThBWnBsUDdNRjZHTVE2R1BTei9UMitObnFNeTFBK2pBYUJMdGtmS1FFTG9wcDVCaHE1SDJrCmdHZENBTGdjOWtjSlJKZ0t6Y1BIcHFEbHE5QzJuY3NiTm5rLzNyR3NaWU5uL1FiZmhvckZkNG9XM3lwd3VaSG5kRFBYRVhBanh3R1MKWlg4MTA1ckhsUXlyeSttV2w5SXNMcTQxdjVoaWRqN1o4RnlpOGRrRXM3TnhwbWZqak0vRWE1K0pVemdWSzNrdFdmVnNwT0xoTlRJNwpIYVFyZFNXelpEaHhDRDFVQ0EzbFV3N25WNDBUMFVpaDZHWFFETFBwaGprTWcyeTZmajVUbzRDcFZjVFdLMlliQTlFcDVWaVZpZHVXClN6aVVpeHNEM1FHVWNVekt4VTJCL1pSSm1CZXpUVXFsTFlza0xBckVMUXNsYkFvNXR2a3N5MEtXS1ZDaVlrbDRIWndYTUUyQU0xVksKV0ZWeUxNdVlacFVjMndxMlRUbkxzb3h0V2NxeUtHR2FGdEdOQzJpR21VeWpkS3BtQ2xrOVVWak5WMVRHWmhILzlVUDVrNU5YdXR1Lwo3SHEyZDZBWFJtdTZudTBlNlAybXIrdkxubzQ5L1ozZnpPVjUxejRlQTkzZkRuUi9NMFhQMTREKzduMUFlc0JvdloxZnZ1ajd0cWRqCmIzZjc3dEhCSXk4ZkhBaFhWa3VoNkpSekxFckZ6Y0N4VE5JdVI4cXlVQnhTSkdGVkttRmRKbWtES0plQXJKT3k0d0gwYUlNVWhHZEkKbTZRZGVXeVdjUUpza1hYbXNRMFlrcXdMRDE3MGFHWU1hYmY4a2xuc2tuZmtBUnhvcDV6ZERqbmI3YkkyRUhHclRaSlc2K1ZzOHNXTgprM0IxWDZxRXBaQ29ISUh3emJvVkh3YjNEM2VzRzNoYU90UzVjYkJ0dy9DanlyRzI4bWR0RmMvYXl0cWZsdlcwbC9kM2xnOTBsNy9vCkxnVThhMG52dWhEWXRkUDhTYVY4KzNhRi9vTjZBL3VNQmo3WGE5OXA4dXdMNHlmYlRSOXRNMzIwMWVMUkZwdEgyK3dmYjNOOC9MbFQKMnhmT2JidGNIdTl4YmZ2UzdlaytvRUVlblVjOGUzL3dmbm5jcitkRVFPL2xvSUZ6MFNNWHdqc3VwUmxKelBXZWYxbUFWTmgyazc5bQpMbkhnNEJTRXloQUNIbVAyUmV6dFlkKzVVOHZVQkRNV1hBZExBWVhDRGVRVFlYZEhWdGVOQjMxWHYxcVlJOFRBcU9KMFVURzZvQUM2CmdFNEhNKzZpN1NjOTU0N3dhUnJIUTNlZVdJYlFTQ2kya0lZdW9xTVVZQ0ZhUmlnUUZCaDhHdkhtYmdLS0FYZldEUHMwVGdUZUhQR3UKR1l1NE1lcmJNaHB3WnpBSXpNMDE0NGwyKyt3dHZuRzU5anE2RlZqQ1lFenphNWcvZTNjOHJ2bnR2SG0rOTBaOUsvWXVwVE5GNmFpSQpncFFJRXhIanNBV29WR0dVSm5TdFBiQm0zQjhJRUF5TURRZkFITjd4ZVpOMmVVdGdUU1BoS0M1S29RZ0FBVUtwaS81QkJLZ1J0a0VOCnVqdnFEOTVuZzVRbE5GUVFvWW14S0lKL1Y0QXVQQXBsTVlSeGtpaUNDMUlaVkRMbE13NG16S0VTS1JxNHhBOWg5SE9wK0pXRUZjZTgKN3I1ZVUvL1MvOEhRdkV1RXQzNEt2RGZvZjM4azR0NW84UFV4NzRaM2dmZmZ3SjVmTng0blNDa3RvSkxvMGd3MlRsckFRY1hZR0FtbgpMQVJ2STVrbEpveVJ5Q1FSRmtXQWlWR290RVV4bWVaelIvNTNhUnlKdVQzaFYvZDJ6ZFhXU0xvMGdTcU9pb2dSbEdta1p1djRONHNMCko5M1hUMXJudzJvOUt5cC90eXY4M2VaLzNpNnR2OHRzai9uSHpGWWZIai9aNWI1M3lQOWdYd0M4Qnh4L2R5Z0FQZ1NzQ0pZNnRJTTUKNERBbHlDNy91cDYvdTdncUh5cE1sQ0JKRUFYWUNKSE9ZSFU4ODNqVkZXY3F0MEpIMkZPZHRBSzRpNHJvY2kycXB4WVZtSkFiTndJRQpCWWhySkx5Q1BUQlBtU2RBcWlRM0FDK3YrV055TkVTTHZFcWY1cUhFdjFxUHRreE5iSWtXWmFtcXlGSWRjdkQwRFg5VU81emlyd1ZvCmV1VnJGdk12Z2YwWEFqUkxnK0NQVTBFZ251WEE1YkFaU3ZRbkREUnpERFR6cGtzRThmYUw2Y09vVDU2UlpqNkFKMERURGpTZER6VGQKQnBWWERTakNLZlBobnBEV2JXNE5HOWM4MkxTeW9YTFYzWEwzTzNtT04vSmNydWM2MzhoMkFselB0Z2RjeTdDOW1tNERwR2VtOTF4SQpOdVY2ajlIRlJKMHpNZW9uSWxSUGhxdWVpZEk0SGFsNlBGajJxSi9FQmtOT29RcWV4Q0NIaVJCRCtMQUlmcmtFVWQxVXNrVW1UVCtUClpwaUZHMlhUalhuQm5nS0dGYUNRYVZURU11WUJ6cm41UGFhQVFyWnhJZmVraEdsZXhMUXNaRnJuTWl5emNJc1N1bDRoWFQ4VE4wcWwKR3ljelROTVlKbG00UVE2bWswUTNTR2ViWkl1Ylo3UE5jcGltdVV6VFBCWjRGdE1pTnJBaU1JTDUxTEJNazN5NlFSNnVuMFl5V012UQp5VVBWRTNDdEpHRnRXd0xWU3hKN2ZtLzNyMi9QOWJaLzFmSDRpNWQ5KzdxZjdlcCs5a1ZQKytkZFQ3ZHp6eUU5N2J0bjB0Kys1eU83CnB1ajRBdERUdnJPdmMzZlgwOC9CQ0gyZE96dmF0dloyZlBITG14OGJEcFN0RUpKTW9lbW5NdzJCOTJSekRETllaaW5pNW1rYzh3dzIKSkl0akFjamhXT2F4dVVoWUE2RHRTZGdVU2RvV1M5aVdTTm9CZ0RhVlM5bnpxSkIyQUZUS09BS3FwTzJydU1Ha0RUSU8xYkl3aHJSSgoxZ2t3YlVoYjVhYjBpR2RJMjZUZHRza3NBV3lWZG9GeEpoa0hMbmE3bEpaWHNteUFOYTZUc3NsajZJZVNKTjBSWEoxQWlQTlZmajkyCjVHVmZkVmRYUlgvZmxzNm5HM3VmclIvb3JCanEyUHF5ZmZQQTA0Mzl6d0FiK2p1cSt6czM5blZVRHovZk1kS3pmdlJCZXZzUjEvcFMKdVVlbDhsMWJ0RHMrMTIzYlpQaDRvOEdqalVhdDFTYXRHOHdlYnJSczNXalR1dEcyZGJQZG95MzJqN1k2dEc1M2J0M2gwcnB6OGVPOQp5NTk4NWQ3MXJVZmZrZFVkUndPNnpubjNuWXdlT2h2eS9FYUNvNnI3SE8vNUd3TDBKd2Vhb3o0OEZMSEZiOGVUNDhQVUVhSWdCUmRCCkVBR0R6K052ajg0N01kZU9CUUx2QVlDSkdVN2tJMkNHRHJyNUloRG9EazFVaEk0S29Vd2lCZVBqb0NRYVRUaHpwLzNjRVQ1TjQ3amYKN3VNcnFDZ0pRZmx3VEJDbm9SU00zeTlHRzdoQzg1dmdobkhZNUJKTStYVWpRVFhEZmsydjRYNzQ1bmVKc0svblNNRHRvWkRhY2QvYgpiOVlxZit1aCtXUFE2Wi9TSDc4T3Iza1oxZ0NyL3ZqZStXVFBLVERPNlpaZ01TcHM5Z1MreGJJeEVSaC9najB2UlM2MStkYU1COTRiCmlab1dJRzRsNk5rajhKZ1dJSXd1UnFVSzRpZ0pRL2ovUVE0UUxIZzlFWHhqeUEvSWxtYjhZZ3dUSVNQQ2JPcmZGcURMcmFIZ25hUWoKSk5pY0hDZUxZZ3VveUNKeG5DTE5FRVo4akJXdnhVbGZ5WkE4RnZoTlgvRERzYWo3dy9NbVFkOTdEVmN6RytIK3U3Q2Jid0p2dnZHdgplK04vNTVWbnk3dkFxaTg5TVRwc0pBSStmU1pHd3FnaUdJMlBJY3JId29ra0Vtd3dCNXVLNEZRS25UK3IzSGJ1eVA4eWd6RU5QOFBnCldWS1JyakFxSWtoYnBJQVJNclJzSisxTEpsd0s0ZTUwaDlKSngrSVBqb1ZqYm9XVEx2OTdLalhQeDJ5UCtjZk1WaDhldjdnV1FkMXgKTElMOVBiaDk2VC9ZNXY5bW0vZk9LZmZueFFYdERpbWJkWlpZY21Rb3FKZ1lJc1JDaWFqWUlweE1seEluUEh2aU45U1phcU5pbzBiMQoweU41YTFJOE5NanU0S2lOcklRQkhoSVVJR1ZSMXlrZG1iSWZIdHc4NVkvd0JHamFnVFNKcS9WcHEvVEphL1VRUDAwZ1R5SStwaHl2Ck9KZHZwd1ZvamdiTmpBejlJVVl6czMvK0pFRHpKa0dyWmt4SGhuVFZNcWY1eTdVd25nYnhUcVl6cHJrVXpQeHhwZ0FaYXVVQ0FlSUYKZ1Q2V0M0STNUOGQrakRRTEFiejFMd08xUW1nLzNFWmdNeXNpbW1sWEo3cWxQOWdSMnJweFNYMzE2cnF5VlhjS2wxOHJkTHllNFhndAp4L2w2bGhNM25kbmhhaVpYZmRaYUFPTTVsMnB4UHNYOFhMTFoyU1RUc3drbVoyS05Uc2NZbm9vMk9CT3VjUzVTNDN5VTV0a3d6U09lCjZsdk1aVEtsYUJGRXNUQStxUWgrbVJoaHBTU2llaHFpa3dtRFBjYTV1REZ3a1FLbVdRSFRwR0JLY1l5TDJTWWxITk5DaGtNaDA2NkkKWlZ2TXNTN21tQmR4akF2WkJnVnMzV3kyUlM3TG9vQUp5Y1ZOTTJqR3dIWFNXUmFsZ25MNVJKVjBWRHVCcmgvTE1FeWc2NlpRMUZLRQpaVU9vNnFFVTlVaE1PNGxwbU1JMFNxRWJwREdNb0E4eGpiSVlobGtNL1d3NkY0WmVGbDAzRTlmSllaaGswM1RDRWZtMVpMVndpbFlxClZkZVNzQ2hCUzJPNDkrQXZvOGM3SCs3b2F0M1I5L1NMbnJadGZVKzM5YlJ0NldyYkN1aCtzbTBXUFUrM2YyVHJSelp6QVRkdkFvRHoKcnJhTlhVK3FCN3Ezajc3Y3U5WGJ5WjBnSDRmcVJORzFvem5HY1V5TldOd29rbUdVeURGTllKdkVNNHppNk9BUFpaaEVoNGEzbG1HUwp6SUtrc0UxVFdhWnIyV2F6UEFtUUxXNDVUWTZFVlQ3SHFrRGNHZ0NFYWRxV1NxWHNxMlFkMXNrNHJKZDFCUERFaUVlMWpDdGdrOHhpCmlLekxOT1dTNXV0a2JkYkoycFZ6clBKb3hyR281aHFha2pKaFFmd3l1US9QOXc4OExlMTZVdER6YkgzZnN5MERIUnRmdHBjT1BWdlAKWmNOZ1IvVlF4K2JCenMydk9yWUFKUnA2VXQzWlh0SDlvdkpWZTM3UGoydnVaQ2hmaVdhM1ZobTBsT3JlTDlPN1gyYndvTnp3Zm9YSgpnMHJ6aDFVV3Jlc3M3MWZhdEZUWnRxeTNhNm0yYjk3bzFMTEY1Y0cyeFE5MnVEM2U2ZEw1bFh2YlB2OG54MVoxZlI4eGVDSzAvMnFJCnA2SFBITy81ZXdMMGh3UE5VUjhleWpTUDd1NklMUlUyQ0psQW9oRnBxS0RLcHBDYkkvTkdBbXJIL1lFcjFFL0FXYnhtTkJob1VNMW8KVVAxcmZ5bGNoRWttNFlnd2pvdGgxSVdZTUQrT2t5S0tET2FPOEo5WXMvZWtCMHJERUpRZlF3Um9ZT0xFQ1ZzUHJwd3Vtc2RMUDRMSApVZWhEOWFNKzllTXhEZU1CRDRiODZ5ZGk2eVo4ejQwbEtKNUxscnFRVk5VVzBnU0w1Z1hCZWo4VHdYV3ZZV2YxT1U4M0JSQzd1cUVRCk9YVVNuVTZraUFweW1DSUlFVzdnUWpHeGN3KzllUUlFZk91L0VTRFlvbXNvbE00aUk0Z1FEU0VDamZzSEF0UXdBamZFM1JvTHFuc1QKb3hqaFFLT0pVbEFSOXQvUEFicmFHaVpHSWVBMENoMFZ4Q2hFbkFtVVRwQk1Gc1JFRjlLa09HcmIzQ1ZQSlRGdXg1aDg0MzU1YkczOQp5UHdSc2xjKzROMnJIWUkzTlAwVWVRdm81ckJ2ODV2UXUrT3Jta2N5ckZ6SkdNTEhRaWhVSXN4M1JzSDdodk94R0dJNFFxYmhRaFRhCkFnUkRFUmIvaHE5WHpCMzUzNlZ4SktiK2JjQzk1M0hpY2dReEdvSXhSQ3o1K0x1WGxzTHFQazZWY0thM2hkV1ozN3FDMmIzNFY2ZkMKMlQ3eHY0N1pIdk9QbWEwK1V3RDFzY245WUowOTZaai9tMXZ4MEpMY2h6YngxNDJDTWxUTXJVaDBCakJNbk1TZ0NrdUlDVW1UUlJtaQovTklvUVYrYk1UaFE4cncxekUzWFQ0WG1wVXgwVVJOeTAwSmdwSWUzMnNWTmY0YXR1LzRVL2lFN1E2WTJxLzhoUUtvZll6WThzekdrCkJacGlCU0ZXbjV0ajYwelpmdHFrQUNVaFIyTThiRnA5L3RUKy9iOFRJRjcyejE4STBNeHQ4SDhwUU9EaWZOdmdwNEVQemRnMXhtT1cKQUhHVG9Ma2p3SWNLNEdaNDd2b1hmRlF0YnlyN0J6Z1F1SzR4bFJZOVpUL2NoaGd6TnNtdnkzQlBiOWtjL3JEYXJYNjkxNjI4bGRkegozQzduVzk1SWQ3Nlc2WGcxdytGS3V0MlZESnNyYWRZOCs3bVFZbnc2eVJSd0p0SGtkSnpSeVJpREU1RjZ4eU4wVDRUcFhJeFIvdEZICjRRdGJxVHg1VmhTUkhzckhpZVJYamhmUlc0c1lwQ013MHBQRE1NcG5HZ0x5R1BvQTNqbXduMEtHV1NIREFsQk10d0xrY3d6eTJQcTUKTElNY2hrRXUwelNIYnBaRHQ4akd6WUcrcE5PTk11a0d3SFVTU1NyUlJQbFlUQ1ZKWE12QUljREFJMDQ3T0ZzMXRrdzFlWjFPVXBWKwpaSUd1YjJxS2trMEFvdWF4U05KUFZCRm9VQXlxSFVQVkFwNnhGdGRKcFdsejBVcW5hUVBTYUJwck1mVk1SRDBPVVkybmFjWXd0T0pFCkZSTnBHcEZrWldjQ2toU21NdFozY1B6NXdhZE4xVjBQTjNlMWJ1eHQyOUw1Y0gzbjQrcVpRS2ZoMHYxNGN6YzQva0YxMStNTmdMNW4KbTU4OXFPeDZ2SzczYVhWSGEyWHZzL1hQT3pjK2ZWRGl5eVI1RTdTaUVhMUFYSDBOcGhWQ1Y0eWtHUVJnT2tHb1ZpQlZ3NCtrNml1aQo1Q3VrR0NDc0hDS3FHa1pVajhUMUFORzRQaUNHYmdEMENBQThLZkhQSkRHTmVRQm5TbU9hWnJETU1ybVNsTU94Qk9TS2cvZlpBakM5CnlsWXVZVk1oYVFzb2t6UUJybE1oWlZFaEJZTTk2NlRzcWlSdHF5VHNTNlFzeW1UQW5aYmc4d0ppR2t2VFdJSElxSDhtbU82dS9GdlgKVjROUFMvbzdpanJheW5yYk53OTBiQmhvTDNyUlhUclFWZks4cy9SbFo4V3J6ZzJEWFJ1SHVyWUFEZXJwWFAreVorUHpqblV2KzZvbgpCamMzZnU5ejFKOTlZem05Smx1ak5rZXpQays3UGwrdnNkQ2d1ZGlvcWRRWTBGaGkxVlJxM1ZodTAxaHAyMWhsMzdqQnNXbWpjOHRtCjEvdGJISjd1WFBad2oyL3IwUlh0aDhOZkhndnV1ZUFkWkJVNngzditnd0JKSVk1ekhRaHEwQnoxNFNGTFd0N1lzUHJvMXl2b05BTEMKd0hCRWdGSHNmcTUvM21UaHVnay9XQUZvREc0SUFqUytqcms3SEZqL1pvMkVKSkZKUXhBU1AzQWdCbE1Zek5aVU90RTlSSHp1Q0orbQpmc3p6cTlPck1Cb2RRV0RhTEVhamtCaUU4MDJ4d0hocWgyRjdMTmdCWXdLVy91UFdBd3hxR3ZPckhZcHNIQXRvZWVuVDhDN2h4dURLCnZVKzhtZWZTYVZmVFE4NjYxZ3l0Ym53YmZIczRHaHJieEpyNitYZUIxVTZFTkwzeDlRNjNSVEJoSENXaFZJSTRuUWxNRGdqUW1mdXIKYThhRGVRSlVEelRyUHdrUWZIbURJVXdPRmNORU1Lb1lzS2gvc0FRR0JLaHVQQWdJMEwzeGFJNnZPUlVSUVdoaS8weUFFS1lnUWhWagprQmFKazhsMEtoK0tDUUEzQlViQ29SSXhjMDJwNnlIa2k0a3Fwek1MYThQQk96QjNCQjRQeDhOcmgveGdGWitod1BxaElKaitOUlRjCk9CcDZaeUw0enVpYWs3VUJESEVDUmthQlB0SVkvQ1NVU01VSk5ES2ZKSm5NSnZOeDZJdW9aSW9vOHRtbUkzOTdTZlR2MGpnV2RYZHMKelhmWEFuRjBJUm1EZXh2WGF5eWJ0Tnd3YVFNN2MvM2lVdkxPR2JacW43UXZuYlRoYnVHZTdRRWZtYXNhL3lQNVlGLzBsOHorNC94bgo1cWdQRDd1OGQzWlpqeTFpRDZxdmlHUHBtSkNaNEh1T0NDWUc1Qjc4UzZHZ1FpaEZrRUhpcHhNWG9hZ2dLa0hhdm43eFQyOXpibHhJCk1sUzBVNlRZNlFyNzZsRlhLakR0ZVduT1dvaWJKblVKM01GT2NsTVFkT0Z0aHA4V0lGVVNyMmdoRkNBVjRwSlpBc1J6SUVQYzExT3gKNXVMdTF0WEtEWHFvbHdacHVTN1ZUNFBzT20wL1BLWUZhRG9OaUZ0ZWFQcmlIL3UvZVBZelc0Qm1aZ0lCeStFQ2w4Q21sV2pLYkNCWgowL0NVaUtkSzAybEFYUElCZW1xRkFKN3VUTytsQnljek44UC80VU1mNndPQllmVTFzZzIxOGlIZ3Vsb2hnSnNFdlg2NkpoQ3ZMQkFBClhNejB5R25lR25TcjBPMUc4Zks2TlBkN1NkNVhDcXpPWmRqZVNIZS9tR3AzUHMzMGZJYnBtVlR6c3lsV0YxSXR6aWJxbjB1d09oRmgKREx6blZLVG04VEI1V0tZNVRQT3dwMktwaXVaYXBseW9BQ3Rvb1VTY2lGbzZacEJKMTB2RHRIaUxYRGtNazF6dU9oUjBHb1lKdUZLRQpHOEQ5NStMRzJlTDYyUnpEUExaNUVkTzZHTGN0UlN6VDZUYnhMTnQ0aG1rYXBwMkZhZ0RqU1VFTkFzUVZZa2t5YVFTWitJV3FxeVRzClRaMmk1R0xYTXdxK2xDcmZKbFc4UmJwZ2szVDJCcW1jYW9uQ3paSVZPNlEyN01KMm45REkzdUpndXRwTlVORmprYmd2cGhqQ2tBL0UKeGNNUTVSaEVOUW5UU01HMTR1bWFzVFQxUkZSOUxhS1JoS3NuWUtweGlHSTBvaEJGbFkya1NvY1MyY0dpVEVzQzlmdGNqNSs3dnU3dgoydFB5b1BMcDQ5TGUreVV2NjZxZnRGUjB0SzUvOXFDcTg5RUdjTkxXWEE2TzRMenpZVFdRcEs3V0RkMlBxcm1Ba3cxZHJldmJIeFk5CmUxVFMrN2lrdjdHa3E3bnFTVmZxNjVkSHZza0wxUHVNNkliSmVxQ0txOGxLM21SbFQ2TGNTcUxzVWhGeFQ0S011NWlhaTR5Sm5ZR2oKby9WU044c1Z5elFjWGRpbUt3WGszWW5LSzJucXE1bmFQcmlXRDZyaFRkUDBZZXVHVTdRaXFOcmhpSFlZcWgxSzB3bWg2UVRoT3NGMAozVmhNSzQ2bUhZTnJ4dEsxNG5ETkJGd3psYTZkenRETlpCdG5pcHRrY0l6VFdNWVpMSk1zY2N0TVNhdFVDWXQ4M0s2UWFWZkFzczluCjIrZHk3SFBZZGpuaXRya1NkaFZNODF4Snh4eW1icG00ZFFKZFB3S1Q5cWJJeXhDRUNoSlUzL2J0ZXZHNG92ZEJmdC9EdkJkdFJRT1AKaTE4K0tYLyt0SHpnV2NYQXM2b1g3ZXRlZHF4LzJiSGhWV2Mxb0xkdlMyLzdocGZ0RzRjNk40THI3L3EzZDF4T3FnN203TE1oUDQ1VwpxVS9WT0orcWNqOWY3MzZxV1VPMlhXMithazJSZVUyUnhaMENzNXBpNjRaeSs5cFMrNW9TaDhaSzE1WXF6MGViblZ1MkxXM1o3ZFp6CklLRC9ZRmpIcVNSZlIyYzVtdHNNcG9vaXlxQXVVM0NqT3grckdqb0JlUFdnWnlHRjJJUHI0TkUvbFVQRVhNR0FpalQ3UzZlaTI5cFcKVUdtQ0xGRWhGazVRamZES3VRc244cnFKcU5zakVmY21RbUVOdWxGWWNyQitLSW83NC80Rk9vWk1NbFdBVGhPRzlYc3dJUXdsWUxpdwo4MUxsdVhkK21wb0ozNTBuL0JEYVp5eUV6RVFGcVNSQmFiV0Y5Y093ZStoZjBqUWExRHpxYy9OdENIaWR0OTZGdG95dmpQZ2hndk5WCm1NeCtmK1VqYXg0UGViVVByYjAxSEg3eFo4K0dpVWdZSHBnekFvOTdFM0NYKzZhRE5pZ0dGNjBRb2lDZEpvQlJoUkIwd1lsNzROM3cKcTROSjFrRU5vNEYxWTVGM1lhbTkyU1B3YUh3RDZ4UURBV0pKaUlOSm40WUxZVFJCS28xQVFmaFJHdUlacWRrNEZuTnYzS2RtTEFJKwo0eHVld2Z3Rk5hTkI0Rm1hSm56TzlzZktPRnJpREZFeXVnaW44ZTIvenYwZ3h2eGhSek53SFBQbDlueUE4YkMvNU5MaklBUVRnQTNoCkVURXdSU0dZSUZ5Zm9vcFNhQ1NNSXNpbUNxcWt1a2hmVFJLODQ2LzduZlBsb1UzTkl5dHJmd3E4T3g3ODdBV3N1WHoxZlZqTnE0QzcKc01IVzdKR25hWDRkRHF3ME5NMldUQmVpb0FzWm1CQnMxbzRJbzlnaWxMRUkxbThrODlOSlpKUW04dTFGOTdtLy9tbHFKbnlhUmtQdgpnUS9vSi85N1B3WFVqSVMzREViVWp2alB2Wk5INDBoZy9ZaGZlcFU3aXZOVHlRaERsTC9YS3ZIWGY3T3VEM2M5NkY5ZzdzaGNabnZKClI2d0xZT3pLdmhoMjJPQmUrZDJoQ0ZhZ3RpM2habk9YZlhBc2ZtOWZDS3N5d3JXcUF0aUxBNHhtVndqenZ1RnZnV1ArNzdZNWt6WnAKay9aWlFHdWcvOWtVd25Rbyt6eDQzYXBzMGp4MzBnYllZZWs3eDhJdSs2d3JCbUU3eFozTjVlWGxLR1NtbUFBc2xFb1Z4akFoT2tNSQpvUkxBcHdtK29nQ3paNUFSRGhsWFlDM2FWR256eTA4bEE3MWxHZEhMdFdoT2FtTCtHaFF2VllxOUpnb01aalZRRUgwa1JrWEVYWTFzCno5MEM1cVpPZ2J2WjVTbE9TbFJIZGRJYWRlSnFZQ1M2ZEhNYlZWTjFpdE4wTldjVmtpdnZoTmZnUXBjVXQxVGhxMkNEMjI2eUIvVEkKY1VCYzFNUmN0VWhlMHhHZ1dVeUhqbVplNFluUlhNQ0wvSHNDeEkzeFpNNFVvR2tIbW9vQWZSUWc3dUlYRktEcENCQnZYejN2ZkZwOQo1aE1ndUVsZUU0YUNlUFpqcEZITU01N3BVa0E4QndJQ0ZMOHM0MjY1VDJQSmlpdTVLMjVsdXQ1T2RyMmNaWDAyemZGeWl1dkZWSnR6CnFSYW5VeXhPQU9tSnRUMFZhM2tpMnZCNGhQN0pjUDJURVpxbklwVk9oc29mV3FWWW9TVVRLWVlIQzFBalJEaEpGT1UwVERlRFpweUoKRzhGbEpxYitMQUhLWTVueFRySndxeHlHVFE3VE1vTmhtc293VEdMcXg3SDBvaGs2OFpoaE9xNlpUbGVLeDVWaWNZTWszRElTTlZoTgpWVTRrY0VMNDFWMlVscWl2VG1HV2JhVi92bGV5YktOY1FvNU1jckY4VXFsaWZJbFNmQWs0eWllV3k2UlVTS2RYYWFWVVNGYnZ3WTU4Cko1bGZhaUJuWWt0QWx2SnpBaWpxMFloV0xFVXpWa3cxbHF3U2c2a0RCd0xlazBCU0RDR3JoWkxWUWtqS29XU1ZNSXB5QkVVNWpLUVkKU3BSZkxrclRKU0RuOTRhUHY5clYzYmU5cFhuOXM0Y2J1eDVVZER5b2FyOWZ5ZU5aU3dXd25QNm5tNThDRFhwUUJlaDh1QTdROWFpcQpzN1dTUjlmVDB0YWFuSjdXZ2llMUpkMFBDMSsyVmt5MDVTNlQ1Mmdzb3RpUXBSeUVKQjBXaU5zdEZMY1VsTEtocXpySTZac3NkclAwCldXT1RHRzFic05hdVBNZTJOTWNpSzhVb1BzcFp4OHlGcmI2RVQ4S2R3UFlTa2ZIRUZEd3dlWGVLakROVDJaV2g3RVpYV1VaWDhhQ3AKckVLVVBhbXFYbVFWTHpFVlR6RVZMNklxWURWWnhZZW80azlXQ3lTcCtXR2F3Sk40WWFSWWxsRTh5emlWYnB5QkdpV0o2eVZMNkFQZwpDVnMzaWFVREFDZkFsdUlsYldJWm1pbTRVUWltR1VpVFhpRWlwVVRnMzFWbE5kYTFxYnNsdDZzNXEvdCtKbkNnbnZ0NUE0OUwrOXRLCm56OHBBd3c4cVh6eHRBcnc4dG02bDgvV3YramUvUEpwOWRDekRhL2FOM1MzbFEzM2JQcHRZTWRJYzNHMWpWSzVqT2lWSU8zTHlVcVgKSStUdnhldGZUOWE5bGFaNWVhM1J0UXpUYStubTF6SXRidWJZM015MXZWUGdWRlBzMmxDK3ZMYk05djZXWmJYYm5GdTJ1dmZzVy9QawpoMGgvTzNlZStzampTd0ZUMVovbkNOQkhEZnJQQWpSdFAvQityZ0Fwb0M3N2R2bE92STRDRTc4VWNCZmFBZ2tmKzVDenZuQWoyT3R3Ck1Oblhqc09NaXBveEg3Z0NOVEt2QU5rdWxvWUxINmdnUmhWajBrWGhmNUdvc0ttVjFOdzdQdzBRb0czZmU2STRINTBzeHNKZ0JSM3IKSmVLZkVLQzc0M0ZORTVFdGcxRk5nK0hYSm9JYXhuek52L1NnK3BqU2wybHhqZ1hkSE9US3lwdXdlNytzZWpMb0N4NmRPd0lQbU5jOApIbkNtSVJpakM2RFVoUXdhQ1J6Qi8rOEl5bmZzVHRCL0wwRGc3UUszdGJ6MlZsU2owWmw4VUFTcEluQTBtTVZNOG9wUWJoZ0pxeG56CnJuOGRXVGNSZG50NDNvbWNKMEFOWXo1SE95SWtMQTB3L0Y4V0lEcEZSSlFoaU5JRWFScE04ZS9qc2ZOUnlwZUN3NDRGUGhxUHZnTHIKWEsrcEd3bTlPeFpSTTd6bUhpdzhQZStmdDNFaXVIYkV0Mll3L0c1L3JJb2VtMHpsQStKSUk4SDZCWERmR1E3ZUFSS0RLc2hBRVBEWAo0OGNhdjdramZKcmFzY0Nta1doQTNYQmczYkEvT0drZWpZS0xzSFB1bkdJa0FPQVZxVTlGRnFGVVRCbWpqanBtZllCNVAzTlU0eDh5ClYyWCtHWE5INWpKWGZYZzRsVTJyejh6YjNqdVdBTy81emI0UXlwQlRDYXhKN2NUZHR3WEV5TDRFV05IUFRnWHZuUEpoQVd2bmdra1gKOE5DNlgrM0xQOWlWY2EwSXZJejhTZWZDU2JmaTl3NzViYVlKQi9TODRwVU1qT2dJbTh4SFEwUnhqSTZDZjhqVWhWQjNhQ0lraEUrTQo5QmxLRVdSaVZGVDBNMGtNMFZkbXhrY3BQTzN3bVp4Yys2dzFlVjNXRWtOSlN6V3FnNHFZaHdabGpTclpSUTJ4MFVDZGdNUm9JazZ5Cm42MHhrN0Z2cmtzNDlWMllwN1diT25HWnVuQ0FHalZBRlhGVkZuWFZJRHVWSlVTOTdFbjc4TDRxempOOFBnRlNGVm1xU3c0M3BXWHIKa2VNMWlaNDZtQXY0UlJqSW1hTStmOGwwQkdobXNjU1p6Tm9GTmxPRHByYkJ6OXdhTm51cGE4WXEyTXhjSDY3OVRHR2t4VTF0MWl6awpCWUdNdFl0NTVZWG1FeUJnUC9vYXVRQzRaQVpVU2EwUTJJK3haaWxQZW5qMnd3TUlrTEhHT2gvSHZKcUsxVTJaN3BjemwxN0t0cmlSCjZuZ3h4ZXhNNnBKejhUYm5rNjFPSjFtY2pMYzZHV2QvS3NiaGVJVGxqNkVHeDRKMFRvWXFuZ3lUK202TnpBWWo2U2dpSTVBZ25pQ20KbFV4VldvdHFadUQ2bWJnSkVLQU1tbUVtWFMrTG9RZnNCNUExZ3d3R0pKNXVua3kzV0l1WnAxUE4wcWpHcWFoeElwaU1jZTE0Y1ZWZgpSTUdickI1S00vTEY5WnlJMGtzVzBjTVdzYzExVnFnR3BWRzNmQ1d3NXdmUjRpL0Y0NnBVWW5PMDBqSlU0d3JVWWdzMFl3cDBZZ3ExClkwczA0a3VVRTRvVkVvdWwwa3ZaS2FWWVhqWDVtOE9NUGQ5cU9ZYlpFSlN0Q1d4cklzc2RsUXZGMWFJUTFWQXhwV0NpVWdSWk5aYWkKSG9Zb0EwSXB3SVFVUW9rS3dhSnlRU0t5UVVJeWdXTEt6cDlSelQ1ajFud1gvZk9MTDU0MHJ1dTR2eFY2VDNQcHM2WVNZRUpRaGxySwpBT0FLZ0hlbCsySDVGSzJsUE5xZlZmUS95dW1zTCs1dUsybXJTWjhjK0dKZm5pMkRRTkFnVUhYNE9acGlVbHFTbW9hbWRpYnVucGJSClVRNDU2YzdwQ1k1cjQ2eVRZa3ppdzNYaXdyUVR3clhXeHVobUpkZ1haMWxFUnhqWnV4cEs2UmdMU3BrUjZCWUVwalVmeC93enNobUIKWkVZZ2dxUFZaMVFIUHBxckFOdE5XTUlaVlhmRnRSYXpkTjA0K3NzNHVrdm9tcTVVRldlaW9qY0I5K0JuTDBYa2xqT1VWOVBVZ2lrYQpFU1R0YUtwZUFFTWprSzRSUk5jSXdiWENjTzFJWEE4WVVqekRLSjZpRTAwM0JRSUVERFVJMWZKR1pPMEl1Qkgvb2hzbmZBZWZGajJyClMrNXFTZ1AwdEdSMk5tUTlmMWdNVksvM1VTR2c3M0hKbEF5MVZRQVpHbmhZL3VwUjVWRGJ1cUhPNnY2T2RaMVBTb2I2TnI0ZjJmWDAKVEdZTVJUbVRwTFRQUmVhTWo4VGxjSTFqWVlvd3ZoaHRlQ0hPNUdLU0pTVEY2bXFhL1kxc1o4Q2RZcGZiK2ZaMVZhNE5tOTJhTm5qMAo3RnZXOWtQWVVrMFBudnJNRXFBL0hHam1QcStwWnFqekNoRFhnV1lMa0NyTnZUTFhhM0l5bFlHaGJJd0V2dUdoYmpwT2gvd2F4MzBiClJ2MmJ4bUQvaDFvdzk0d0h3ZjNQTUF0bnpwVERKVExWRUtNdm9sTDVVWW93bTBHRzlrQ2phT214NTk3NWFZQUFiVHE0QWxnSVRoSmwKMCtBa21saGd3KzM4TVB0T0hyVnZJdStPZVRlL0RIZzRISEozTkxCbFBGSGhpRCt1cHN4aXNEazNNcmMxSnR3Yzg2c2ZDcXFkQ0dqcgpDL2pFT0RWamNGMnBhVEJOUlFmV3MyYmlaQ3A1SWR4N2hmSWR2UkZRQTVzd2NKczJRQUVLLzRRQTNSb0pxQmtKYlI0TGxaR1RwRkZKCmRGU0VnMUdCQWVBNGlZcUkrRVNyUUFFYVdYMW5DRFp6L2NUckFSUC92WW53MmhIdjNTMmhURjBsWUpOVVZJQ08vVzBCdXZnb0VBZ1EKSFlXbHFHY0tFQnNUSVZNWEVWbkNKTkZGNHQ0MjlNczUwdWNTRlE3N251aElxZjBwR29qWHpUZitRT2FhWHZqWHZRc0V6akYzWkI3YwpybDcrTU8xcGJNM21nNHRGU1lKTWxoaUxMc1JFUkxnQ3hBOEVpSTZDS1pNQ3pxKzNSODhkNGRNMHZBNjVNUlJlUHhiYk5CSFc5RG9FCk9ObWxrWUM3NytZWEtaZ2ZGcXBoUVVVb2ZEaUNPa25LLzdxa2FOTDJmNzhBdVpRQnhRR2l3NVVoYnFkVlhqVElzV3pTdWV4M2w5SmYKWFV0L2RTejQzU1lQYm5PRHVkN0FrMHJoby9hbE1BZ0U2L2NVL3U1Uy9PdVN6RjhkYzMrM0xmM2dWRDNtc3U2ZVJlSm1SZnNvcWl6SwpGcURSRjdKUVBuR1NNRWVVeWlCU3dWOGJFcE5BUllnSUNuNFF3VkFxQThIRk1iS3RzVVJtdk0zOXh1QzNiK01tSjVON09wS09mcEVWCmFCZHNLYkZTVGNSY1NTQkVHd25TeGxhcGtwM1ZLSzdxbEJWcXNLalBDZzNVU2hmelhHN2cvLzduOHAvZWgzejRrTGIvQzM4ckdTOWwKa1RXS2dpdGNOT3l1L0JqejRWM3BoMStqSnlkekN1STk1eE1nTGNSQm5lUUMwNStKeXpUSXJwcmdLZUNQczBWblBqN2F6NUpaQmFQLwpzd0RwZnR3SU50TitwdGE1WmdqUXRBYjlwUURwcXhjQzE5RlN5Z0xlTS9Oa1pqN1F0QU1CKzRHMnhMTWZiaUtSdmlxc0F3VHN4MVM3CmZEcnBCNXhZNkZZRHdJbUpacFdUU2NYdGRmNDFjVXV2WlRxZXpORy9sdVp4UHNINGJJckx1UVNyczRsV3gyTXRqa1ZibjRxMVBSRnAKOFgyd3p2ZUI2c2Y4bFU2SHFPOTFsVTVpVUh3SjdHaCt3M1RVY2kycWxjc3lBM0tUaVp0QkdCYVpUSk0wWEQ4RjA4ekVZZTVPR202WQppaHVrMFBTVGNmMGttaDRnanFVZHg5Q09vK25IVWcyaXlRYVJaUDFRa2xhd21JWUhXYzBMMWZKQzFGYnpjL3dKbE5VTFpVeU4zSm54CitTSTdEb3R0M0U4cDNvT25iNUZLWENlZlVLWVlWeWdYazZXU2xLK2FrQWRrU0NVMlZ5MCtYeVdwUURHNVFDRzVTQ1c1VkRXOVhIbHQKcFd6U1J2R3FBNHh2dm1jblpjdXlkUzBJWWk1OE5FOFJDVytLdkJlcTVJbXFlQ1BxZm9pR0wwa1c0RU9TQTNnVFpiMkljandDUktXOApSVlRzQ0ZRelBxejFYTXJrMko2MnB1TFdoblU4NHdFTzlLU2hxUHRoWmU4amVPWDVrMm9nUFQydEZZRGV4K1U4ZWg2VkF0cnVGNzk0Cm10M2JWTmovTUcvb1dWWnZTNTQweHVaSGhCVTFiWlFjbHNrRitTdmtKbWl1eXpRb1htdVNHRzBSRW1vWkVXQVpFV1FkRVd3VEdXWVIKRVdZY0htSVFGV2FZRUdVY2syQ1VuV1ZRVmFwYlVxUWVrNnl5TkZETllwVzZrWWVGZFlDcFhiQytTNmoyeWxqTmtMV2FTWVZhK1ZYYQo1WnMwMSszVjNQQ1Y5dVo5ZXR2MjYyL2JyN3Z4YTYyS1hlckYyNHc5ZkMxMEhKekYxRmNTSk5jc2tIUW5TVHN4cFcwNTRpc3h0WldvCmhoZXE2VTNUOXNWMGZGQnRINm9Pd0F2WFhzblU5MlFvZXhCVlhVUmtiRVFsREFoWWdBeTlxem14dnpYOWFWMWNWM1BxbEFBMVp2US8KS09oOWtNc2x2KzloUVg5cjRmTkhKWUNCeDZVdlc4dGZ0VlVPdEpZQksrcHZyK2g2V2dvY3FLK2o0dWZYWDUyTERVOGdLR2VMR214UwpWRDNremprVEozZGtsZEtKRUwyVG9mcG5vMDB1eEptZml6Ty9tR3g5SmQzK2NwcmR0VnlidXFMbHQ0dnRtcmQ0TkZhdGVycmI4Y0hCCktCUE9DZ1g2TXNEL3VRQkp3elpoVXdJMEZUSGlDcEFLdGpJK2NOV3Z2eVhMc1JqZ094OE5wNGhaU3Vqc0MyMGM5NjRkWE4wMENqZisKMUE4SE44STlYNEUxNHpENTVpLzU0cWc3eWxnSTVtbndCWkdGRXpHRW40V2p5aXFzdVhkK21yb0p2K29EYmpBeVFSRmhZRUlrQ21IUAp5WUM2OFhsRm9XazB0RzVzOVozM0FROG0vTzhQZVY5N2tTQjlNWlJDcDZBa1VkYjM0U3NPZUQyWjhMMy8wdi8yV3hnaXFwbVlkd21zCmRqU3NidFNuZVRUSkwwWURZeXhBVWZEMVZ3ajJVVWY1RDF4YXc0MkJUUWtRckRRei8rdXBmUk5XTnhaNWZ6eEdUVjJiZ2RJeG9pQ3cKSHhiNkdZcVFTR1JCLzFqTmx0RzRCMjloM2VyR3NZRDYrY1VGSm1WUFJOU08rRmJjRHFRcE1zSHJRVEJoT3NiL2p3VUlGdFNlSVVBSQpRMFJDZEJHRkRqdk9zbEVxKzR0STV0VTAydlg0eFVjOGJnMUYzUmtNcW4vajh4Q211a2ZYalMySFBVL21qTXlqYmppcTZZMTN3NFIzCnpiQmY0NmpQTW05ZElTRUJqTVlQQklpR0NpQzBSUmhLQmdMRVFJbDBEbi9kcS9pNUkzeWE3bGRSdDEvQnhLOTdJMHZ2amErbyt5bnkKNm1oVTY5QzhueU1RcHRyQmFKb2tBU2Z6NDFSU3NLTHVwR3NKTEdROFZ6WCtJWE5WNXA4eGQyUXVjOVdIeTIrT3hiL1lGVUFCZ3NWNApTcm1ieitHSzJHL1crYi9iY2EwSVBHUURONnYvNnBqM3ppWHZnMzBSdU02TkRIRzdsVGtWd1UzczlybERobXR2NjRZVUtWcFowRGtvCmVaRUl3b2ZRUk1EZkFmak5oeXlHaWNLc0tUYk9oMkVFTXBXUGpGR1lSTEtXTEh1VnErcm5tNTM2ZXhJbUo3UGZqY2IwdHZrZjJoNlgKRmVKanIrU29JdW9BZEVSUjBFVlZiS2s2eVFOVzdrR2NsY21XS21RN1RjUkRuYnhhUld5VkJ0VkRTV1NGRnVKbUptczkrYUh3cDU5UwpQcnpQblp4TWV0VWZYeENWRXJ6RXNxYzFiL0wzbU1uZjBpWi9TL2psVFc3NEVxLzVCQWdxQzlsWkUzSFJST0NHZVZXeEZXcGlLN1VvCnErZTZ6bHhtMk04ZkFqVExnZjZEQUUwYkQ4OXk1aE1nUGRnVkZXNTYvd2gwR3A0TUFhZXhNS2h3dGQxdXJsL09Dd0lCRFFJWHAyMXAKbGdEQnJXSGM4SS9lVlBpbnhFU3JEQWdRVUovcFdvZzhBVExYMlFDVlNLZDZiMUprWGNieTZ4bU94N1BNTDZhNlg0NTNQWlZzZWpZTwplSS8xOFNpTEh5Tk1qb2JwSGdsVU9lcXZlQ3hRNlhTd2Fwa21PMEpZT2twUVA1VmlCcGU2Nk1ackVhTWtpa0VxYXB5T202Y3pMTmJpCnBpbTRVUXBkRDBJelRLWVpKbUVHOFpoK0xLWVhoZW9DSWxDZE1LcFNLRlU1Z0tibVQ5ZGNnNnV2b3FtNkl3b2VWRmsvWVJWM0FyNlkKSU9Rb0xHRm83aW01ZGpONTAwbmlwblBzN01ONHpsZTBqRTJjMUJJRklEMHBKZEpwNVdoYW1YSmlqbEpDdGtKY3BrSmN0a0pDamtKUwpua0pLdm54S2dVSmFwbkpDb1ZyaUJ1VzFHMld5cWhnVjY4azdkaEMzN0pZeHNKUmtLQ2tSTUNzQzVyRkFmTFdJcEljb1o0a29iWldZCjRrb3hSUTlSaGVXaThrdkU1RnhGWlFFdVlyTExoT2tyaUZKZ3l0Y2xDQmdSOGNaTENXOUdkclMyVkxiVkZ3SUI2bW10Nm5wUTBYbS8KbkJjSGdpZVBxcm9mVndKNjJxcTRWQUM2SDVjUHRKYzlic3dEcnRCemIrMzcxL214ZVo0RUpVdXBnQUMrL0V4YWNhNUNYb1ptVXJSKwpSTEJKcUo5WnFLOTVoRC9BTU14SEw4eFhMOUpmSnlwUUt6eFFOeUxJTURwY1BqVktLeW5PT0RuVklxL0VaUE4yZzIvMjYzMzNvODczCko1Ui9QS2R5N0tMUzhZdUt4eS9KL25oSjhzY0xuTy9PTTc4N3g5cC9nYkgvUFA3dE9Yei9HZWFCYytLSExrb2Z1aWgzK0pMcytWcTUKd3hlVUszZnArYVdZcVRsWWkwamJFTWkybnduYkM3RHQrRm5nNkN3aTZTSXE1U3pFQWJnSWkzc1FaTndJa2k3OExDZEJlVXVLakRaTApSWWtxbStPcE85aWUwWDAvc2FNeHZxczV1Yk54TFJDZzd1YU0zdnM1UFEreUFMMFBzNEVHOVQzTUF3QU5BdlE5THVwdksrNXRLK3A2CldOalRXdFQvcEF4b0VCQ2d3ZEdkOVZYQjJZSnlXeG1lbFRUckhKYjRWbXZaTS83S1AvaW9IZlZSUFJhZ2VUSmMvM1FNTERSMUljWHEKY3BydHhRenoyZ0tQMndWMjl5cVgzaWxhMnJ6Wi9uUmxoQ1p0MVN3QitxTXhLcytCWmdnUXozVStMVURRZS80c1FIS1VwYzZtTGg4KwpaSm1wcytBR0xwUXFyRUZXUGhBSEpwSzYwUUF3M3dNSEFwTFJ3TTNidlRzeDd4TFNqYlpvaFA0WlJ1TnVlcUlLWVJSK09rcVJsYWJOCnZmUFRBQUhhZUhBSm1PekJsRW1qOGxOb2hBdXRNYlVUODA3d3RZUHhqMGJDTC84V2RlK0ZiOU9nZDNtam44UVBubFNXTUlORnBxZGEKSzN5MzV0RWI3NVpScjV0dkF1Kys4N3Y3YnQ0bHA0YUpTQ0JBamFQaE8zN3dJT0lFS2xXUVFSTUQzZ0FFNkt2VHEycEdBejRLa0g4dAp0OS9DM0JGNDNCejJCN3JXOUhxTnBoNnN2MGZIK0pnWUJaYUlSQVZJS01FblZ2RldiMFRUUk9UZFFaL2E0ZFhjQU52c0VYaHdkOXRGCmdJOGc2M0l3TGttaXdTL2lvZ3hrMFQ4UUlDcktQMU9BVUd3aG1PVEVFQ0ZwVEl4RDRtZGpJdUQ3dmJTdEtuWTFrWG9qUXVaTTBONzIKdEpiWDhROEcvWnBmK3QyYUNMZzM3dE0wZitRUHRtT2I4QWJDMVBJMnBHazg4TmhkYjV5SjBPaGlUSW9vRkNDVUh3Z1FEZUhERUFGWgpOV0xqeU4rT0FOVy9Ta3E2N3VWMTJOZnJVUFNxZzdGdSs0SlcvK2h4cUhIK25LUTNJVGQ3bzhGYnpVYUFpNHRtcUpoekUyWG1GNDYvCnpWeVYrVWZNVVp4UEF3VG9WNGNpV0lXWm05d0RpeGpaY2JldzJjSDZoTzhkQzM2eHo0TkxXcTZsazg2RmIreXlKdHhMM3kwdWV1K1EKLzhZbTQ2Rlo5Qjd0NVg3UzJyb1lFNkVTZ1V5akdQaG9Gb0MvR0ZTTVNLR2lZbVFHbmNpSHcwMlhKSlNHMFZCY1gxVXlOOWJteGcrUgp2L3lTQXI0ZGpZeEUxMXozMzFHNkptenhTbXVaeGFwaTltb1VXNkFnYXVTbGlxSk9TaFE3T1pLWk1tcXRoTmlxVVozVUtDNXFGRmNnCkxpcEVxQ3pxVktBdnpwcVlveXJSWFVYVXJhVXVGcWpQTDIreUpuOVBtZncxNmYyN3RBKy9wRTlPcGt4K1NINC9ualk1R2Y3VDZ6UkgKbFZYekNoQXdIcmczM2xHZDRnSkxJNUs5QUdwRTkrbEU2Vm44YXdJMHkzNytXTzJhc2F0ckpqTUZhT1oxVGNWTWJlVnNZKzFpUFc0YQpFTEFjOE92VGV2VHhkLzhrUUI4emhPRGkxNVQ5YUZjYWEwd0JwSWRYQjRnWEFUTFFxZ3l3VGJ4VzdIOHQxZlZNbXV1cFJMdXJzZjRuCkV0VlBSbGtlajdJQ2ZCOXVjQ2hRK2JzQXhXTUI2ai82YXBTb3lNZVFwQ0lGdGRhaU5obDBvRHU2NlF5OVpFUS9sV1lDdkNlVmJwcUkKRzhlaGVqR29iaHhOUDQ2aEg4TTFuaW5wUWJXRFVhMGdWTXNmMWZRbWFhMGhhNndtcTZ3aXlTMFY0Ymp3MDUzNGFKRFBjRXVPanNxUwpRR3JoVm9IUGo0dHVPa1VwUEVqSzNJdWtiV0ZtYkpaSzN5aVZWaW1SVmlLMXRrZ3VzVUFwSms4MU5ndWdFcGVsR3ArdG1wQ25scGl2CmtnU1JTY2xUekNwVlRTNEU1d3I1RlFvWkZaeTBTcEVOTzBWM2Z5bVVuQ05tdVlMQjBwWVRrbEJaUU5aY0tLZ25JR1MxQUFGWTh5RTIKaTFBN0FkUlJDSFVTeHB4RmFJNkMwbzdDbUwwd3pWWllXcDVBMEJmQkhsN00rSFZnVDIvYnhpZE5aVzJOcFQyUHF6c2VWRDFycWVoNwpzcW4zNCthdm5pZlRiT0FCcHZ6Mmh4VjlEMG8vakswN2RuRXRRVmVYNE81RGpjcmt4S1FxeGEwMWlFMHdDUXEwOFBXeTlmTzA4UEV3CjgzYTM5dll5V2JOUzM4ZFRMM0NOUWFpL1VXaUFlV2lJVFZpWVRxS2ZUbEtRZG5LNFZrYUNaa0dPUm5tNVdzVUc1ZklOU3BWYkZOZHQKVjZ6K1hIN1RMcG5OZXlXMjdHRnUza1BmdEZkcTQxN0o2ajJjOWJzQWt0Vzc1RFovcWJMMUc0MXQzeXBzT1NXMzg0ek00VXZTWnk1TApIVHN1VjcxRExXQ3Rua1dncGJTNUVjdEFsNmFwVDFNM3dqWE1XVnAyMHZwTEZNMGNqRjJzek8wc25PMGRWL3M2eG9Ub3B5ZHF4WWZ2CnVabzYxSjdXMVJUZjNaelkyWkRjQlFTb0thTzNoY3Y5VEM1WmZRK3l1ZVR5Nkx5Zi9hd2xzNnN0SDJoUS80T0M1L2VMZ0FiMVBDbjkKL2ZXdWt5SHVoVUtHTzZWZE5uTjBLdG4ydVd5VDNTYmkzM21xL3VDdCthT2Y1ckVnblZNUmhxZGlqYzhtbWdNQnVwWmxkMzN0NGp2NQo5dGNMRjlkV0xHL2NzcnJJeDE4R1hhWElXTTRUSURtYTIwejdtU1ZBM0sxZW54S2dqdzcwaHpEeEJFZ1djVlppbWYvK1cwbmdVbWthClhSZ2hpb2hLQ2lqK2tISmpLTEx1RFN5NERCeW9HY3k0STBGd1VlYjF2RXNQVFlPUlZPWUNCQ1hCM0dHS0lJNElnbGxmZ28zTXZmUFQKMUk3N2JqcTBCRXpKVEpvWUVDQjVkYUdhRjlGM0orWVZseHNUb1krRy9LNU5oTndmaW1sNW0rUjZ5Rk1rMFF4QmFVd1NRZ1gvaTE5TgpPelh3LzFIM0Z1Qk5uZjNqZDRiV1lpZHViV3BwckpHbXJ0VGQzVFZwNnU3dTdnVmEzSjNCMko2eE1SOURLdFNBYmMrZWpRMW5VQzh3CkdKTDNuQVFLbzVUL3UrZTMvL3Rldit2NlhMbE9UMC92cEFMbmsrLzlsZVNSaGNTQnFjVHpmMFJDMjJGTFZsQXdNaXNkbkE0YnY1OXcKNm9kNGdBWkRZNVF3S0ZVeWFBeVl0VnMrOElPKzl4bG9lMFV1UUFudkVLQ0JoVmlvNUg0NndzSldoQWI5Q2FlRUJ0UkFMNlF3WWJHWgpKaWZIY2k4L3lEL3p1M2gwUHVIeVkvSDVPOHZuc3N6R3lPZlBKMlNjRkJOSmF3a0FFb3RCa0lIL2tRQ0IzOHVpQUlGeUFMN3AxMUdGCmlzSUFzaW9XV0sxZTRrVDdMaFg1UllMTjBZU3ZicVpNM0VzRjNYZjRmdERwKzdrWGZnOWF1cktDMGZtNDRla2M4T2R6K2s3aytFTEsKaGNtNDNHcEhOZFFLRWdwcUNvV0JuaG9ORmRNQksyMWNkZDZ4NWJjY1NhZWlXS2ZqTmI5T3BYeVJUUGt5Zy9aVlB1VlVjc0QrWlg5dQpRL094cDc1UFJHTlcwN0J3TktCU3o3Yjk4OFZXMFQvRkVwWDU3MWlpT1ArdmNJWFNlbDRBbWhDMEwxYjl4S1B1VDgrNnAwNVZNanRvCktPbEQ1L0s3cmlYZmlhTDZHYzVSQkJZWC9JY0FRRldaNEI4QUZhR0tJcUFRU0dVc2ZLVTZzRVlUczRhR0JIOVQ3MUd3cStnYVpHY24KZGtlenkvY1g0MlN5VE5uVGpQOWNqajk1UEtnMFhleGo2Y0xEMmJBUnJoeTBEd1BscFkzeW95T0Q5QkRldWdnN0J0cWNnN1BuNEwwWgp5RUJkZURBREJXMWRzZUdnZG9RS3NVSFFMaGpvUXlnZmhwS2ZuckkvcUM4bXBOREcvSmhIOTR0a3p3dWZQOHFVL2RFbWswVTkrU05iCjltZmRuL2RUWmJMaXA0K3lyL3hRcG8rMlcwNkFRSStCK2tjRGJuSTgrR2hQSVFZYWo3cFVmZDRRSU1XSGJ4V2cxeDBJdGxqR3RZZ2kKTGZyMS9TOG93Q1BmbG5xbkFOWEtxWG5WKzBjUkhOS3ZWR3grS2V4SFlVS2dGYjFSSHI4b1FPRGp5NVNnVi9aaklXdzJGelNCTEhZRApVcHd4NHpjYUMydU1PVVU5a3FTdmNydy9LM0Q3TU5QcFZKci9SeG5HSHlTdU81Wm9jenpKNWtpQzRZRm85dkU0ZzhOQkpqM216S1ExCmh1bHdRUUhCb0lBa3lrSWI1d0FXQlVUemZLSkJGaDZLOFNpa0o0Tm9ta1kwU2NJWmk5RUdFb3hRREFqaU1ZSllnQjhCNkllaU9JRkkKVmdDQzZZZmgrU0QxdkpUVlhWY1JyRmZpREpVMGVGaSt2cnFGdGw4bXFXUURvdStFV3RzaGJORjY5YnhPU25FZlVMWWRXZGxKTE9uVQp5bW5YeW1paVpkZHI1TlhxNWxWeXNrcllTWVdzbENKV1dqRXJ2WXlaV1E3Q3lxb0UwY3RyWldlVTY1WlZhRlhWY1RPYURITTI4S3MyCjZoVTF3T3MzWTVzMkU1czJBaFgxYTVOU1Yzc0Z3RTF0Q1d4VGRYVTJsYXhMd1dtQTc0U3BxaGoxdFhDTkZXdlZZYXZBLzl0MVZtRTAKMzBOb3J5Qm92WWVud21CVTJKclA5NlhkdTdGdDZ0YU8vMXhxQi9uMXgrNWZ2dSs4ZWFYdjJuL1czL2lsSDBUUi9CQThzOGl2UDNkTQpYKys1L2RPR3kxZGJUR0pDWUxZK3VQUmNjbnFoUVVvMlB5WkJHQkpzNE8xbTRlTnFHK1J0RWVCbEZ1UnJIaFpvRWhaZ0dCRmdHQmtzCmlnazNqbzh5bGNSYkprbU14ZUVtV1dMRGtqVEQ0a3lUdkd6VHdrS1RtaHBSYXlPdlpaTitjeis3ZVJPcmNST3pjUnVyYVNlemVUZXIKWlk5dXkwNmR0bDI2N2JzWkhYc1lIYnZZSGJ1NUhYdDQ3WHNNdTNibzkyeG5yZC9GM0hpQXZmVTQ1OERuZWlmTzBEOGRNTm0yVjlpegpoZHZTeGExcjR0ZlVHVlJXbXRWVzJqYlYyYmRXMlRibW0xYW4yRmNXT3BSbmlNcUxURk5TVDU3TW1MNVNmdjFpN28yTFJiK081TitZCktMMDJYZ1FlMzdoWWNQMVMwVXNIS3JrMlVYeHRva1RCell0bFY4WUtyMHlVWHI5WWZ1ZGk5ZTJKcXVzLzFOMzd2WGQrc0wrVGI5eUsKY3RoQTllN1RzTjdLdEtzbm16Y1QxbTF6MUQ0V2F2eFJqTVVIMFdZZkpWcDluR0o3TXQzMjh6eG5xRlZWcmdzb1FOOVVlMXpvOHYraQpMc2FYRzBnaEJMd2hRSXZwenk4YzZKWDlRQUtreVBYNVd3S2tTM1RRd0RqZXZsRzJ0ZGthZkZOSVFrQXRnOVVQcGV5NkdIVjJJWGRnClhqdzhFemt4SHc4S0VLUVJ5d3ZFNkdRVW5Za0dBQUNQV3lrZjRBWEZnV2drMU5JcjN3MG9RQjM3M0RGUStFZVpnRlB5RE9LQUo5OGgKUUlPUG84ZnZoNXlmaXI0NG4zbHVTdUxhNzBOeHAyRHdLMUVZR0kxSjVoMkw3aCtOT1RjckdiK1hQdklnWVhBbWZla0tDb2FuSlpBQQpQWWcrZnpmTzBKNEt1Z3NhcmtJQ2pRR3p0dStvejZJQWpjN0dRdW5KOGpyOHR6SzhrREF3SFQ5d045TFp6MDRaQThOcHc3eWp0SGQrCm5ESjBzMkR3VnVIRVF0YUZlY25BakZRZVVvb1luVjEyS3djcWRJY0VTQ3orSUpHTWdaRlE2SDlFZ0FEc1dsQ0FpR2hWS3VnbGlGVVUKekJvNFdRbUhVa0VpMTZxemlMb0hKTlR6K2RTajB2THo0dlB6MmFEdmpzeEhEYzVsWHB5Q0JwNjhsZkVIa1FQM3NpOHN4SXcvU0J1YQpDUis2SnpsN0paVmx0SmFFVUhsTmdON0RZVmRFSjY4Ym1sdjI5N2djZ1FmVFNOL2tFcjhxb0h5UlJmNDhrL0I1QWY3TEhKODlTVXV2ClZEQTRGM05pS0I2SGc1UFJLa2ljY3BPdTdTT1hSbm0yNzFLVitlOVlvakwvSFV2bDV0MDRLTWFSUXNWZlQxM3FucmszUEhLdG5YZW8Ka0k4cHJibnZYUEdyZmM3SG92QjhMWE1Sa2JZR3I0b2dJeEI0WlJTd2xvQlNvZ0NxVkl3S0NhZUN4eW9Sc1RBS0hnYnRTR0pRSEFZbQpMcHA1NG9UZjlHeWU3TS84UjVQNVB3OFZIVnlmbVJZVTQ4UUpNU0Q1TXhHZSt0Z2dEbWdZYUhjTzBsVlB4UTMwSGliT1V3ZnZ6TWJhCnN3QVhKc3FEZ1hCandKMllxSFVzd0pLTnNRS2xCMVFXYUg0RjRBYzZFMVBObVljT01NQkVnMG9rd0FUcXJmWHhNd2w3K2tlRjdHbTIKVEZZZ2U1ajM3RkcxN0duNTgwZmxzaWQ1TWxuSjB5ZGxPL3VDMldwK3l3a1FDMkVQdmhqRmgrQkxZaUVjK1JoUFB1WXZQWDdlQVJROQorbXNPMEJzT3RLd0F2ZEVHK25VQldyU1cxd001Q2dGNm1mMERuVkZFakVEdlVWeW0wQnJGTHRqTFlyRVhEdlNHQUNsUVRJYTNFa0hHCm85Q2QxMGZFZytwanltc0FFZkZMMllMeUNKT1VMM005djh5ei9qZ3o2S01VNDMrbE9YK1laUGUrWk4yUkJNdDlrWUs5NGR4ajBaYjkKdGtaSmNDQURZWkdIczhnbm1PUmdEWElKeHJsNDB5eU1TU1pnbUk0VGdhVGdES1FZZ1JqZ3hRSDhPTFF3RGlNQ0QyTFF2RWkwZmhpbwpQbXA2M3FvNmJzcWFMbXMxTEZlcVdjR1VRTXhVQUFGZG4yRVhURSt1MGF6ZmcyZy9DRlJ0eCtiMTRYTzJZQXQyNG90MjRJdDdpVVhOCm1ua2I2VVVicWNVOTVLSVdTa0U5UGJ0U0s3bFFLeUZiTjYxSU42TllKN05NSjd0Y082ZGNKNmVTa1ZmTkxLaGw1bGRxVnJSb2dNNlUKMzZsZDNxbFIxYXBlM3FwZTBVa29heUdWdGVHS1d4RkZiWWp5WG16Tk5senBaaUN6RjBpclJvcEw0ZUZaY0c4eHdqRU1ZZUdERURxcQpjV3dBUGFhcXVyNFNpYU5FMGxRaFVsUXgrRlZLTUJoc1JYK3Z6KzgzZHN6ZTIzL2wzK3V2L2RKLzllZStXMWUzWGdlbDUrcE9rRnZYCmRvSGN2ckh6MXZVZGNyYjlkbXZiblI4NkhzOXZ6R3JKaEprN1VaTnF3TmV2S1luVjhQRWt1Tm1UdlcybzNwYWFmalo2L2c0TWIyZSsKdjY5ZW9CczMyRXNZNW1jWUhpU0tDaGJFaHV0TG9ybEpzYnowZEdGNmhpQXpVejh2bDF0ZUxLaXJOSzJ0dGFpbzVqWTNjNXBidVMwZAo3Sll1Vmt1dlh1c0dSbXVmbkUxNmJadjFPall4T3plek9qWnpPamNKdTdZYTlXdzM3dGhxMXIwRHhMQnpzNkNyVDlqZGI5eXp5YVNyCm45ZS9uYmQrazJIUFJxdWUzbld0emRhVjVSYjUyWlk1NllZcFVxc3NzVWwyekxxY2RPdk1CSFoybGtHQytPU3hoTG1yMWJlL0w3NTEKdWV6cWFOSHZQOVJjbndDUFMyNTlYeURYb0tMckU0V0tnQkFvUnRmR2lrRnVEaGZlR0lOODZMZVI0bHVqRlRkR3kzLzdzVzcrd2JiOQo0dUM4MVp4dEdnRWIxTjIzMFB6NnFTNzllcTd0T0pjR0RuREFTL1JScE8yeENNc1BFK3hQcGppZlRIUDZMTWY5ODJ6SGMwWHU1NnVkCnY2M3hQTjNrMmgvdnpsZnpvR3FHTG02QjZlQzhYaFYvdlUyQUZKYnpkd1dJanJmUUp2b05ua244L3BzRUxBYW1qVVdUQUNXVlRZRTEKbjNoOFBwMXpibDQ4TUJNK3ZnQlYxb3plbDU2ZFduWUxiR3d1d3RCU0Q0c2hncmM2SWhacW80eEJyaUxoMUpaZStYOWdOcXBsdHlNVwpoOElnMTVBSUtzbjVMaU56MFdmbkk5Kzg3Q1VqZDVMTy9wRTROQ1UrdXlBZW13ODhlYS9weERjSm5YdmRHbzg1Ykg4L3BXWXM0ck5yCjRnc1Bnc2FuWTRZWFFnWW1sODFsR1ptVmdqZDc4SnF4aGRqWVRHY29NUUtMcG9LM2NJenkra09lUTdNSkx3Um9MdnJkQWpRNGxRTHEKeUE5UEF6cDJSL1VkOXhxK2x6bzBGVGU2RUQ0eUZ3aXVmK0YrNkhkVC9rUDNwYUFublpzS0c1NVpWb0RBN3hxYU56S2RFUFYrSWhrSgpJeUpSR0FEK0R3b1FHVURTRVNvSWl2SmEzQnFBZ0dZcFlaQllCRWxpUi9vMFIrZnJET0hlaUM4ZXBKNjU3M051THUvaWpaQ0xzOHQrCnY4T3pFVVB6b1lOVEdRT3pnY1B6MFJNTDBndDNVM3YyZTRFQ1JNR3FBTUFhRWc0TENoQ1JzREszQ3J4ZzJiK2Y1ZkRhbG9UNUlwZDgKS3BQeFdTTGpWQUwxbElSNk9pWDg4TEpiY2tQenNlK2ZpOFhqMEFTRU1vcW8zRVMzZnVUZS9NU3hmSW5IL05jc1Vabi9qcVdLODI2Ywo2cUVlMXM1UTQ1K25VRzFYN1pSTjhXK0c2ZDE4cjNBcVh3dUpVVVdwb0RFSUVoSkJnOE0xa05BOENqSmFDVWRRZ1JPVlZBaXI0ZmpWCk9Md1NqYUJxYmFaYlUrWTZOcHowN0hHdTdIblIxTFdpenc1bnRwWkVSemdrR05PY2RWVnNlZGhBQTJ5WVBqeUlweFlpUk1vcnVaRGUKQWpVL1F6Vi9JNFN2RU82dWozRGxJbDJaY0I4bXdodFVIRGJDaFExMzFrZTZjOVU4dVdyZW9KR0FYOEpHdUROVm9VZDl3SlVMMkxCUQpKbXkwRy9ncEE2d2ZWODM5NW05eHNxZHB6KzdueVA3TWUvdzRSeVpMZS82NFFQWm40ZE1uR1UrZUZCemRtOGhHQml3blFId3NhRlMrCkxGVW91NGdQQklCUHdVWDZjdUNCUzExbjBYaVdDaEFJQis2KzFJRkFZSXJNSG5uRmU2R0FWU0JYbjBJUnQrZ05BVnJrNWJEU1Z5TkwKWHd3dTViM29XR2dpYjJab3JGOE9Zc0tEQ3RvVi9tUXFyRElUMUlDZk11Sld5Qi9MNUJjb0xvYlNmZVQ1enZXZ1Jaa0s2czBOR2kwTgptMEhBQS9tVWpEcHpVSHBlVGcwRFQ4b2JKOVlaODJvTTJUV0cvQjRScnpMYU1lNVFlc0M1UFB0UGs0dy9TRnQzSk5IdG9KUjNRR0s0Cko4cnlZTFRwUGgvYlFvUkIwVXFyREtKNUJ0a2lqV3ljVGpUS3dCdW1Fb3lsQkZNSjNpeGV2cmNWaitHQjlpTUd1SEVJWnFTeVpzZ2EKV3NCcUZaK1Z5aTd2S2ErRHFaakQ0TVl3clBGcWlxa1NuVTB4NXdoOWRYMHkxZE5heVRVN3lXMkhjSTI3a2VYOTZOd2VYUDVHVW40ZgpKYWVmbU5XUHkrbkg1RzhGaXJmalMzc294YTFhK1pXNkdkbDZTVkxkUklsV1lpbzlLVk03cFVBbnRaQ1JYcXFYVWM3SXJ0YkpxZFhLCmE2RG5OMmdXdG1nV3Q5SkwyalRLTzlXcmVqVnErelRxKzJuMS9kaWFEWmpLWGt4cEY3YW9EWnZiak0xc3dLWldBOUlLcGFUaU5ZbUYKSytOeVY4WmtyNHJNV0JXYXR0by9hYVczUk5VcFpLMWR3QW9MRDVpSjB3cVI3UXFleFh0NmhqQXRIZ3hHQ291MHUvWHJSdG16UTFldQpiYmh4YS8vTkcwZnUvbkxneXQxREQ2N3UrZVBhN3QvdUhQbGg2dWd2dDNmTjN6MTQ3ZGREZDY5dWtUMzZjUFB4Qm5oQUdDYXptcFdWClJ2S3dnQm5vd1RScEVFd2RHSjhGRTdCQW9ZWlpHYW00cmlNRytuQTh2VTM4Zzh4RFFneERBb1FSZ1dZeGtZYUpNY0swZUlPTVJFRk8Kc3FBZ1MxQ1NMeXdyTWF5c05LNnFGVFkwR2pRMkdUUzNDbHJhZVMzZCtpMDkzTFlObkpmb3Q2OEhFYlJ2RUhWdU5PenFNK3J1Ri9acwpzT3pZYU5uZUQyTFYxaWZxWEcvYzN1MVYzV25WMUdSWlcyTlRWdXBRbU91WW5XYWZFbWNuaWJCUENIVk5pRFpLRGpQT2lES0tEelZMCmwrcWtoUEppbkZzNmkyUlg4cS8vVXZHZlgzcHZYYTZidVZoeDU0ZUszLzVkZnYzSHhwdVg2bTkvWDM3bmN2NnRTOWszeHZOdWpoZUQKUG5UMVl2YnRpNlcvRHVUZnVGQjE3NmZtOFhQWmQzNXNrOTNZYzZyTE8zdVZzSkZrMzZWbDMwa3o3NmFiOTJxdTY2WTdkTkhkZS9CMgovUWFpanhNdER5ZHd3Y2N2VTF3L1NYVTVWZUJ4dXNEK215TGZyMG84aHRvQ051Y0c4alhNNllRd0ZqR2FTZkpUWlArQTBxT0ZjUU41CmFUQXZVcDdmYWp6TEljK0RmbFVNRDBMQ21WTkpQaC92alhrK0x5WGpTSGdzREVWZHBaM2x0dTVnd3NSczJNREQ2SW41bU1HNXpNdHoKTVNQVGtRUHp5OC9BbXBhR1pXaUIzZ0NvVXNnWU11Z3VLR0ExRXJ0c0JHanBDZ3JPelNZMGJMR2g0SlFKeUZWNE5MSG5pTU9GZWNrNQpxQXZSbTFmK3N3elBRYW8zTkI4UGZpT2JQN0ZEb0ZUQnQ4aFVRQW1QVzltNk5YaDRJVzdnZmhSVUNDYnZRRGd3dTJ6andiL0w4Q1RVCm5IcnNvUmhjOCt4czFPQ0M1UHkwZUdnMjljSmMyamNQSllQMzQrTDZnMENESVNIaFdJSWFFYkg2L1F0Qm83TlFIR3Q0SmxyUkVSdHEKaWpPN2JBUERUNzZYQUZnMEdhTktSSzNFQThwWUxJeUVoeFBRS3duWWxWQnFEbm8xRmdXeUZvOEd2MThrR1Fkb0g1SGlUK1dndjhzSgpQUkgzN1ZUTWhRZk9FL01wUTNkVGxxNzhibXg4R0FqUXB4SEtTQ3djU1ZsTlFLeHQzdWQ5ZG5iWjNKMHgwUFptb0RiVFVKZklLZkdGCnVTUkk3S2JpQkx0VHlkK1ZrVCtMSW4wdHBaeEtScHpPUjUwcFhIL0tmK2tLQ3NCRmpnNUdnUXFPd2FnU3NLcFZUT3VuTGszeUNORC8KWlphMkVIdzNUbldQbmF1Z2lpM3dhKzJxWlM2TmY3cERCZTFQbk90bGJxMHlwemFaVTZmTW9mMnBiWjNNcmVaUGgxeVpRK2xqdStwZgpiS3VQbTZmbU1HMnNDVVFLUmdtT1dZMGxyTURqVlFBMEhJdFdJZUhYRWpFd0ltbzFuUUFRVURBTm5Cb05xY2FqWVdMOXVVZDMrZDI3Cm1TU1RTWjQ4cmIwMG5ybDdVM1NlT01oTjVDbkVlM0lSQVFKME5COXdFMko4MmFyZXh2ZzRqcHEzQVNhWXJSSUVIaHRoTS9TVWdqZ0kKSHlIT0J6UWJGaHdLOEFpd1hwRDN2QTFJbU5BZThpdGRRTUFERUE3U0Rab0dqNGptSWQxYmlpTmtzdnJuTXNuenB6blBIcGZJbnBUSQpIbGZKbnFYTC9xeDg5akJMOXFUOCtjT2lrL3VpN0JpZ285aHpVYlpjcEROSE5RaDhiUnowT2xCOUZCcjBJaC9vcFNTQjhBRHYxejdsCnNjaHJNMWIvTWhHTUE0ZWFMdjdWZnFDdE1kaGlycy9MOWo4Sy9pSkFyenNRNURSdmRhQ1hIUXYvS2tCUVNaZGlCU2pNSS84VUtFRHkKTDRFZUZmYXpLRUJRMzJkQnZVSnhGSURIaWtsaHI4MU1WWXhOclpQUERwT0hpNFRscHB3eWUzWkpzbjNtRm1ua3h6bXVIeVZhSFUreQpPcEs0Ym4rVTFaRUlrMk9ocHJWc3FHSThUY01zSHpET3hrTHB6QmxvVVE1Q2tBM1hUMGF4WXpFczZXck5wQlVhaVRCYURJd1NBcU42CnJkSndnT3ZZQUF3K3hZU3ZaYTNQYzJOYUIybDd4bXRFWkZDVGlxZ1pGWlQ2RGVvZE8wazlCMUNkaDFVYkR5Q3I5dUpMZDFFTGQxSXIKZCtITHRnQWwvYWpTZm5UNVptemxWa0xsTmtMNVZscFJ1MForZzNabXNXNVNxbDZDV0M4aGtTSEowRTNLMVVvdDBFNHIxRWt2WVdTVQo2MlpWYWVYVWF1VFZnMWRxRkxmUnl6cGUyRTk5djBialZ2V1c3ZlMyWGVTMjdhVG1MYmphamVpS1RsUlJLekszRVo1WnA1cGVoWXd2ClVZdk5WNHJNWGh1YW9SeWNyaEtZQ3ZkSlZ2T1NLdHNIcjFrWHNNTEtlNFc1K3lvVGw3VkdEa3I4ZGF2WjVqQURNeGlXelRYbGZmVkoKdFV6MjFkM2ZEOTc5ZGYva3JSTy9YdDgzZC92ajY5Y09UZDQ2TlBYYjRibHJoeGQrMmpWNzY2RHM2YkVQVDI4Z1JMaWlzcVQya1ZITgpCaTd0ZUxNVXNybUVLaEpURE9Kb0JyRjA0eWk2VVNoZEZLSnRFc0d5dExWMXBRUzYwa0s5ZVlFQm91Qmd3NmdJQTNHVVNXd2tQeVdXCm55N21aeWZ4Q3RKNVJibUMwbUpoUllXb3FrcFFYd2NLa0xDcFJkZ01DbENuZm1zM3B4VnlJSVg2OE52V0N6cldHM1JzTU9yWWFOeTEKd2FSN28yUExlc09lamNMMUcwMDZOeGgzckRkcDdUSnZhak51YnJhcEtyT3BMTFl1eXJISWxKcElJZ3pqQWszaUE4ekVBU2JSQWZ3awpmNTdVenlneXdDd3VpcHNRem96eWNrd0p1amFjOU1mMDdsOStLZm45eCs3Sm54dXUvRlIwODllbU96ODAzZjZoNmVibDhodVhDMjlkCkxybDl1ZXI2V05Wdll5Vy9qZWYvT0pnOWRhbjI5b1dpOGZOSnY5MnVYSmhxK2JZaE9uTUZxd2xoM2syeDc5S3diYUZidDJyYk5XczUKTnFnN3RkQTkxbU1EbWdnV2V4eHR2a3gxUGltMU9wbG9kekxWN290OHV3OXkzSWJMclFmTDEzMVFtU0VnV3VyZ2ZMU3gzaHdTVkFXMgptUDZzY0tCL1ZvQzBTQzVrbkdkWFJlanorK2xVSWc2UFhBM2dsVFNpN0RuN284YW1ZcytDNysrbndxRXhXRE5SWTlBODBXV1Rka2ZtClUydTN1S0JJTUJJUmkwYkJVRmlZcnY2YTZHUzNwVmUrRzdrQTJSSXdTaVQwR2d5QU9ub3VERlNUd2I4Zk9majdRRTJ1aHhjU0xzd24KZnY1VERKR3FTZ0FRUktRU0RyT3FmcU12S0VibkZ5S2hZalNvazFEaTROL2Z5bG1PaWZ0SkE1TlJRN054VU5iNVFzTElRdUxnVFB6ZwpUTUwzVTRtbnA4S0hKeU9EdTRLd0dBUVdDZDdSbFVFbk96WVNQS0tJRzBIaEh5Z3dveENncFNzcitQSS9DYUNWWXVFcmljZzFKQXdPCndLd0U0R2djQ2s0RXNBUTBsSjBOVmNqalZoRndNQndHaGdGZ0dGY2g2NHNNblk4S09KOUVmSElqQ3lyN3YrY3pQRis0ZE9WM2MrQXIKc1lhdXFnWmNtVUFrcTJCZ05QeXFyUi9IZ3hLNTlFb0ZvN1BRa0pNUnlFUWxnMUFSSEhRU3RCbnRReG5rRDNPWW55YnJmWmJCK1NTSAorbGtoNWZQMGc5ZVdqWno5WHhlZ3BTcnozMkVQVFJXVk9WWS9jNnVGcXJSc2E2RHhvdTdOejl6TEh0dm55MXdybjlrVnlUeXI3M3RVClhqSlAvNHdaNWM1bEdaTndXc3FyYVNxcjFOSEtSR0FORnZNZW5yZ1MvSlVSTUZEV0hSNnBURUtwa3BCcmRJZ3FKbHh5VVo3Ulo1L0YKM245VUpwT1YzTG1UK2MzSnpKNkszQ1FQcVNISmc0ZHhBMDFDaUFubm9VSTRDRWdwK0JoUHRwcUhLVUZpb0ZvTmpXckgyM0tRZGtLcwpseS96U0tCUnN5azVnWTBBaGNZWlZCayt4Z2NVSUlhS3cxTDFVYUNuNmdSNkQyUThyd0VGaWxUY1RjZ3VIeDhva3NuS0ZtYlRuajJxCmtjbUsvM3lVS1B1eldQWm40Yk1uVWxDQS9ueVlMbnVjSjVQbHl4NVUzN3hTSCtIb0xVQ0ZDNEVnQWVERldDdVA5S0FjMzJvL2kvR2gKMXdWSTRWN0xDWkRjZnY0aVFJcnprQUF0K28weHYyeXh2N1BDZmhZRjZNVitGcmZVV0Y4QjVEY3ZrVXNNdHhvRTBxQVhsZ01GZUNCZQpicE10Q3BBeE5QRHJ4WWpUMSsxSElVQ0wzcU5nY1ZTcUdiL2VYTkJnTGdBZjZ5RlBrcy9LZ05ZeHlETmpsMWl5Nmt4WXplQTZZVTRsCnZmRkpINmQ2bjRnMzN4ZGozUjh0M0p0b3ZNUGJNbG1ObW9iZ1poSE1zekVXcVFnRE1jQ0xwL0FUY0p6RVZkcUpNSjE0Slk0endjcFIKMjhuQzBGL2ZNVklyS0lVa0xjSVhOQkNxT29qTnU4anRleW5kaHlqcmp4STNITU9zUDRidVBZN29QVWF1M2t1cTJvT3YyZzFVN0FEQgpWdXdrVmU2bVZ1NGgxdXpGMU81Q04rMUN0Ky9CZGU0aU5HOGwxbXdrbG5WcDV6ZHFaNVhySm1Venhjbk0rRVJXUWpKVGtzV1E1bXVrCjV0UFRDalRUaXJVenlyUXpLeld6YTlUejZ0VUxHcWdsSGJUeUxscmxlbHBOUDYxaEs2MTFoMGJIWG5yM0ljME4relY2OTFLN3dKVzMKWUdwNzRlWHRLa1hOU2dXTm1KUXFsTFJjTmI1QUpUWlBMU29YR1prTGhHVURJVmxJMzBRMXJ3Umx0eWhsbHpCVnB4QzRYWUNhbFplSwppUnRjNkFzVDJyeW5ZYWFzd1M2dmlIeHk1L2pDZzQ5djNkNTU5K2I3MTY0ZHVYbmpreHMzM3ArNXRmUCt6MGZ1L1BiQi9XZUh2cGxvCjF3MWJSd29JODNIMTJjd3hPNCsxR05mdy9WWVEvQk1yK04vTW9CK1pRZCt6Z2kremd5K3lna2FaQVJjWUFVZDB2ZHdjbkFpQlR0UlEKWDM1d3NIRkltRzVDdUtZMFREOGxocGVXd00yV2N2TlN1VVU1K3FVRi9JcFNZVlVsS0VEQ2hucGhVN09ndVlYZjNBWTZFSyt0QjBUUQoxaXRzWHk5cTd6SHM2QVZGeDdTejE2eHJQWWhUYTY5QmI0OUI3L3AxelQzV1RSMzg5bVpCVTQxZFJhVjlZYnBkWHFwdGh0aFNIR2tTCkVXQVU2cTNBT01qZElOeGRQOGpCS01qZExEZ1FGRExRZ2JBQlRzbkpYbmV1cHNvbTI2OS8zM0RqK282clY2dHUvVncyYzZYdnpzL04KdDM2cXYvNUQxWTNMdFRjdU5Wd2RyNzA2Vm43akVsVC8vOFA1bFArTXBDL2NyWnI1dFdKN2ttYzhqRkcveHFTSmJONU1zV3drV3RZVApyWm9vZG5WRTIycWNUUTNSb1ozZ1hRZTRkbkhzUDA4TytERFQvbGlXMjBlNVhpZno3RDh2ZHp4YjViWTNPY3lXNXE1SGp0UEErdWhUCmZiUlJyem9BTFNZQXZaenc5YzhJRUlQZ1JjTjdpUDM5WlU4TGVCd3lGWVVsQUVpY05aZCtJbkY0TW1QNFBqU0FmWGdxZVhBMmNtSSsKOXR6czhsc1BDeEVuSjdKUTZqRHdkbXZycW5YMGk0UUxkeEpIWnNLV1h2bHV6czhsTkd5MkkyQlV5RmdsTWsxdDhHWXVLQVRneTFoNgo1VC9MMEdUaTBGek0wRHpVOHVmaWZLYlJPaUpVR3d4WHdRS3JTMXBkQnVjU3pzOUhnUUkwQ2cyZGtBNjlveEhmMzJUMHZ1UWNKRUJRCm80SEJ5ZGpocVppUm1aaVIyYWp4eWNTQmhkangrVVRyQmo4QWk4RVRsRWtBRElGY2UzeFVMa0NnK3J3UUlNVnd0R1YvUGllL0Q4WVIKVjVNd2Eya1kwSHNJQkxJeUNvVWk0M0VFUUUwT0FvK0dnejZFUnlOSVdEUUZoOE9SVndtNlEwbmZadUJQWmRrZUNSdWJ6UnY2SSt6cwpWTVRTbGQvTjVUbHBjcUVGZXMwcUhJNEEyakFKV1BISlJOYkEvTExKMVBKZFBLZ3hrandJRkRjd0V3VTFuNXlMTjl5WVJBa3kxUWdVCkVvT0VXb0hHR0Q4Uk85MW8vRTdPMGhWZXJQTy9SWUJjNm1UdTljL2RvUTZFRDkycW9SYk02MnBuUGFwazlwV1RWb1duTFZKcU9jNXUKTkMwQ2ZLVXFYbWtOR1kyREtpdFJvTHdDZ0FxQnRCS0xmdytGUW1EUk9nUVZ0RHFhd3FYUi9WelptL3ZjcjF4Si8vTXBLRDIxbHliUwpQam9xTGtzUDlqTDFOcWI0Q2JFQkFxd3ZDK0VvQU1MMGtjRThWQmg0d0VNRmNaRiswTVIxTk9nSEhpSnNTTGpvdUExK0E5U1VXUzFjCmlQRVdZY09FbUVpbXFxYys0TXJEZ0ZvRHRUUUVaVWp1TkcrcWp3TFFmcUIwYWFTYkl2QWozeU9EUG5Sa09veWR5WG44T1BIWmsyeloKc3hMWnM2cEg4L2t5V2ZhelIvbFBINmMrL1ROUjlxUUdsS0huajBxZi9KRWxlNUwvVEpiNWFHNWpuTGNMSCtQQVZIRVJBSDZnQVBFeApiM3JQRXZWUnVCR2tQbThJMEd1bFhtOFJvTVh6c0JmZG1lVzdWUEpFSDBpQTVBNjBHQm42QzBiY2twZVV2VWFGZ3NXSXp1S3hDYjlXCkVhcUJzbnhlZXMraS9VQ1h5WnY5S0xvZGdsaUlHa0hNRFY2RWVWN3g0cG9YOXFOWXdaUmZhY2l2TU9mV21MT3J3UU9Xb0lyRExQSTEKVEsvMkVwOU05VHdzdGQ0YXg5d1Y2MWdqOEpLczVaZlJURE5WUlVsdzR5aUNVUVNXbXdEVGlJUHBlTkNzVEIyaStLSFp0SkwxNnJWYgpLUjM3OEwxSGdlNWoyTllQeUEwbk5HbytvbFJBV3FOZXVWZXpZaSs5ZExkVzhTNmRJZ2hpelc1aTFUWnl4V1phMVdiMTJzM2tobTI0Cmh1MUEwMDUwODE1ODV3SHEra01hdmZzb3padHhGVzM0d2pwaWZqVWp0d3JLOVVuS1pJaVRXWklVWm1LNmppUmJNekZIUFNWSEl4V0sKQTJtbGwyaGxsbW5tVkduazFhb1gxSkdLMjBpbEhaVEtYbkpOSDZGK0U2RjVPL2phYUwxSGREWWUwdTA3ek9nL3JMUHhvRWIzSG1Mcgpaa3pEQmxSdEQ2YThIVlhTb2xiUW9KeFhyWnBkcFpaWmlVaXJRS2VXRThRbDJMaENWRlEySWp3TkdaS0M4Qk9yZVVhcnVvUlQ3WUlKCmxrRXdKN2RWWnE0d2tzZzJ4T0duc2U1bkQwL0liaHo3OTlWOWQzNCtORHQ1N09yMVhkZHZITDc3OU1zYkk3MytmRzFUUFg2dXVkKy8KZEd3dnF0dDh4ZkkreXZZNEkzRDZpdWY1amNCYndXa0QvKzlFQWQ4Sy9iN1U5eHBuQjQ2UnZQMGNQWUFJVDdhZkh6ODBSQlFlUms4TQo1VXBqdUNseDdFd0pLeStGVlpUSktjM1RyeWppVjVYeDY2cUZEYldDcGdiUWdZUXRyWUtXVm41Ymg2QzkwN0N0UzRGeGU3ZFplNWQ1ClI3ZGxSdytJV1UrUHdmcHVxL1l1NS9xMmRRMU5KbzNWVmhVbGprVjVEdm5KSm9uaDNDQVBwcWNUeDkxSjM4T1o3K1VxOFBJdzgvWTAKOFhJeGNMVTE4bmMxRFBReUNBMFFTZU5JNGI0d0xYWjZtSzdzbDhUbms3dCt1dEkxYzMzai9LODFONkhaRisxM2ZtbTc5WitXbXorMQpRSS8vcnJ0K3VmVHFSTTdGMGZUclA1YktwbHV1ZnBSVElUS0pobEVxQ0FiMUJMdFNEY055RFJOb1BCelJzcFpxVTBxeHpLV1laTk5OCk1qVU5xOVRkR29pbS8vSTIremJML09OczIwK0tYVTlWV0owcDhXaU5EaFBSUExTUlFReU1QNHZxUzhkNTZoRkNGb2RndkFvQy9jOEUKU081QXI3b0JNZEFlZEtLekRjL3IwZU1pTDNkMU9vcENSU09SbWhqNjV6bkhmc2thdVI4L3RoQS9NcDEwYmlGbWZDNW1ZR1paQVJxNQpuelk0bVZPL1N6UndNMzFpV2p3MkIycFR6S1VIeTk2b2x1VitZc05tSnp4R2pZaFZFcGlpTDgrWG5KK0tIWjVmTnZuNm4ySjRTZ3BOCnRvZFNjMEluRnFScHBXWUVvZ3JrZ3BpMUdlVldVT243UEZRQUwrOGxEYW5TMGhYK093Wm1vNkZteC9QUzBSbko2TFI0WWs1OEVmU2UKaGFqeGh5bG5Ic1NmbnBHeVN0d0FBZ1pEZ2xIUk1CUmg5WW54MEpHWlZHaTNhQzVXUGd0V1hsZTF2QUI5L2JNWWpWMkpRNjZrRTNFcQpTc3BFT2t3VmdJR3JZWEdyTWRoVkFBWjhYSVBIcTBEYktJQVNBckdLZ0ZBbUdBcFFKeFBwWCtSVHZrenJHSTBjZXhqLy9iVFgwcFhmCnpkaFU1TGYva1hCNG9GTXBrNG1nQUtrTjNaU2NuVjVXaUllbUZESW5IM0EyR3pVd0V6NEkvcjNOUy9qTnNUZzhBb05TaHVOVVNEZzEKSktCczYwNjZmSGZaSk9qL0xRSUVlczh6MjNLWmF5MW9QSE9lMVRLdjVqbTdvbTBtZ1Z4dE1oV3ZoRWJBb09BY21raEJrMmhZSkJrRApVMVJXRXRGcnlXZ1ZFa0tOQWxleDBLY25SN2w4ODQzLzcvZFNaYkxDdVlYMG9iUFNyZTJKU2I3UlRxeGdReUJhaUk0UW9JTUZtRUFPCjJvK2g1c2xDK2ZIeElUekFBNnJNQWx5NUtNaFJvUEFQRU1BSEFnMkFLRmZLWjZPZkRNYVlIUmRpL0tIUUN6cUNxZXpKaG5zejFaejUKV0dkOXdKR3A1c1JTODJEQmw3VWZ0bndMN0MrQkg0UXJEL0FVRWZ5R3YwMlRQYTE2OG1leTdHbStYSUFLbno4c2VyWlFMYStCendGTgpDRW9EZXBZSjZkSHp2R2RQVTUrQ2w4bVNMdzZYNkdNTk9XcWcvYml5NE01NnFrNkxLVUhMQ1pEODVDc0JlamxoL2xXaCsxSUJldjA4CjdGVSs4cXRJejE4RVNCSDRVV0RBS1RIa0ZobHlpbCtqOUNYbGk5S3pLRU1tVVBpblJsRWRCam1RZk1xcFl2L3J4V1VjYU8vc3RYSjMKa0VZTFlZT0NGN29qRHc1QkFxU1lEdyt0VUtIWVg0TUVpTjFpTGdJMUtJdlBLVEF5cUJMeWNrU01WRHR1UlpaTndxYm8ySU5pMHc4aQpyQ3BwWmxKbEl5bkdVQXhZWjhINXFUQm01Q3FCaTc2UFlXd2hvMm9EcldFN3FXNFhxYVNQV3RLdlVicFpxM1NiVnZFMnphS3Q5TUp0CklMVFNMYlRTVFpReUNISjVINlZxRTYxbWswYmRGclhhTFVEOVZtTDlWa3JkWmtKdFA3WitHNjV0TDJIOUVVTC9RVXJ2WHMzV0hWcmwKUFpUTVdweWtBSjlVUU1zcVplU1g2V1FWYUtha2EwbVRkWkpUZFpMU05hUVpWRWtHUFFra1V5c2xXenMxVHl1alNDdTdURE92a3A1ZgpReWxzb3BTMFVDbzZ5Rlc5K0pxTmhJYXR4TmJkNUs3OXV0MzdtUnNQY3pjZjQyMDl6dG55dmw3ZkllM2VQWnJkdTBnZFc0bnRtM0F0Ckc0SEdYa3h0TjFEZGpxbG94WlkwNC9NYU1ObTFxTXhLVkZvNU1xVVlKU2xBeG1RaEl0T1ZBK09VdzBOeG5sRnJ2V0xVZ21KaExGdWMKbWRteEQ2dittRDU2NytIbmR5ZDN6bHpwdS9icmlYdXlyeDc4WjlzbWJWYlhTdUZYVFA4dlNKYURiS2ZQQlo2Zm0wZDlMUXE2eFBmKwp6aURvbkZIb2VlT3c4NFloNXd4Q0JnekRCZzNEemdtRHZ4WDUvcWdmZGxFck5OREJDeEh1YnVEcmJ4UVJiaFllb1VpRjVxU0wyVG5KCnpNSU1ka2t1dDZLQVYxbk1xNnNRMU5jWU5OWUpteHNOV3BxRUxTMml0amFEOWpiRDFqYWp0bllRMC9ZTzgvWjJFS3YyRGhDVDdqWlIKZDZ0VlM0dDFZNE5wVTdWamVhRkxRWmFnSXRsQUhFUnl0MWx0eElMeGRONFRzVmViQ3BYV21TQmRiSWl1OXRwdWpseDNKNUdQdTlESApSVC9RVFJBWHJDY09nUWtNMXNBUXFYYmtwMWZUbjAzdW0veXQ5KzYvdTZhdU4wOWU3YjcxUytmdEsxMjNmK3U0L25QdHRSOUtybC9LCnV6YVJmWHVtK3VtMXRsTjVZdkZhcmRoVitId0tPeDluWElvVGxSSDRGUlNqWXFweE5sbVVTaFlta0RreEpMMG9zbTZ1QnFNR2IxT3oKU3YrNGtlQ1hQSytoTEsrenVkNWZwbHNraUp4TTZGNVlsS2NlUFFBMEZUcmdyVU1NMGlNdHpnSjcxUUx4Znk1QXI2ZEM2NkZjTkVnMgp1a1NuVzdkeXk4djBxWEFzR2JVR1ExQldmeityOEl1NGM1TlI0L2NUaGlmRjV4YkErMVBrOFBJNUhLY24vY2Iva0p6N0hacVhPVFFWCmNtRSsrTklmNHROM2xrMWVYbzdoQlVuTkJrY01BTWRoVmdYRzY0N05aZzFNeHczTy91MTEvaTZqYzBsUWxmc0Q2UUNvYmpQUit6K1AKUkFBd01oNURBTlRpTWtWRDBMWlhIRFFSWWpvYTFNSEI1YXZoL2k3bjUrUGtRellTUVB1NU9KODBPaHMvT0JWNWZqcjh3bldmQ2RERwpIbVFKczUyeGFEVTBEa1lEQllnSS8vajc4SkdaWkxrQVFUbEFpcWlKWWkvc3JYdzRuRUFrSTZHaElnaFZFZ1hlc1ROd3owbHgrMDZYCnBHeG5kMzh1UTE4TmlZWEIwU3N3ZUNTT2dNZGc4ZXFxYUJ5SnlDc0oxem90b1p5U21INFlmMjZ5K05MMVpjVjNPU1ptMDBmbm9uT2EKWExENDkwZ0FqTTBoamR5UmR6YWFqbjhyb0gxQ3lkMVRrbEZRZ09ZaXdkL0N3SDNKMS9ja3BQSWc4TjVQUW1Fd1dJUTZXcFdFUnllawpDdVYvalc4K280Si9USUNXS01zL3kzT1BSbWhRbDN1anpLRjJ3YnY2VDlmS0xoMTdGaElBMVBCWURBSlBXb1Vsd3hEQWUzaWlxcklLCmpFUmNSVVNyNmxDd3RtWmExYVhXRXhNSlQ1L2xQWDZRTVhrcjlZTURrVzJsY2VFMlluTmlnZ0V5Vm9RT04wSUhHNkpDRExCdVFzQ2QKai9ia0lyMDVLSDh1SnBpSkR0UkYrRUVsV29BblZEbUZkUmRndmZnWUwzMlVId2ZxcWh4a2hBOHp4WlN1bzFSejRmNDh0RHNIN3NySAoydklBS0srWmpWckhoSzlqd1YzNGdCL1Uxd2Y5cHZjc0FucVBJdnRuTWZZandIb2Jrd09mL0ZFS1d0cnpQMHVmL2xIeDVGSEtzNmZ4Ck1sbTY3SG1HN0k5aTJWT28rdjNaazJTWkxQZmhRcnJzV2UyZmo2cWVQeTk5ZEwvK1FIOHhIMlBQVkhIam8veFpxdjZncTBIdGhkN20KUUg4OTgwckMvcllBdmFqWWtqdlFvdkVzU3Mvcm0xOHZ6b0FDdEl3RC9TVWFKRGNiZVVwUWd5bS8wWVFQSlN3ck5zZ1Urcks0WmJabwpQL0tDcjZaRiszbERnTXg1MVFyTTlDdE11ZVVRK3FWbVBPanBEQVZsUW42aElUZlBpbDlzSXl3MUVaVHplTFZHckJJWHc2U3FzTWpECnlVR1pHUFZzSmVNc2xFWG9TbnJ3S3JxVGpoVW5QQnZYdEFQVGZweFd1Rjh6WXl1dGVBdWpaSk5PVVo5bTRRYk53bDU2OFhyTmt2VmEKcGIwZ2xQS3RMOWxNaGpTb2oxYXhTYjF5TTcxMHAyYkZiczNxdlZxMSsrbE5CelhiajJwMEg2T3RQMDdwN0tmVWRGS3lhOVRGUmRUSQpIRXBVbG5waW9VNU9KYXVvVWllbmtKNlNyaTVOMHBRbWEwcFQ2WWxwVkhHS3BsaXFKVW5TbHFUcVNqTjFVM0owMGd1MHMwcTBjMHBCCkI5SXNxcU9YdHFoWGRGQ3FlOGgxL2VTbXJkVFdYVm9kZTBBSFltMDR6TzEvbjdmNW1QNldZOXpONzRPdyt3NnlOaDdRMjdpWDBidWIKMGJWVHAzMmJic3NtbmNZKzlicGVhazAzdWFxVFdORk9MRzBoRmpZU3Ntc0ptZFg0ckJvZ29naWJtSVlOamtSN0pXTmk4OWI2QnNEcwpIYksyeFQrY09uRHY0YUVydHc1TlBmNTA3cmNqSjRUR3U5Zm9EdXFIbmRkeUdSZjZmeUVLL05JMGZFQVU5TDFKOUxBbzlweFo5S0JsCjNKQ1YrTHg1M0htVEdKQkJrM2dRMEllK3NvNzhXUkEzd1lpS2NQRkZoN2l3ZkgwNENWSGMrRWlPSklhZEVzL0tsREx6VXBoUUVDaEgKdjdKUXY3WWNkQ0JoWTdWQlU0Mnd1ZDZncFVIVTJtalkxaVJxYlRac2F6RnBhelZwYXpacmJ3R3hiRzhHTWVwc3NtNXVOR3F0Tlc2cQpzcXNxTXFqSk5DeVZSTWJHYk5SenI2SmFpbkVDSHhMWFNKMUpwTkZYYUZKZ0RCckNsSWQxc2xMM2RtVjV1QWpjSFlUK2pxd0lkNzJFCkFKM0FDQmlWc1JLMk50SVlOL2RqenZ6MDNqdDN1aDllNlp1KzJ2UDdMMTMzYm16NC9YckhsUjlLYi95NzdNSDF0ait2OTF6L09pUGYKUXVRTlU0OWRxNW1GNFJUU2VEbEVWaDdCckFJbEtNVVpaT0w1c1lCZUNGd3pRb1VlcjZ5ZHFzeW9oRkVya2ZhWm5CQkphSHgyVzIxNApVME40WTd0SGJpNkdFVU9uaE92aWZiVnBubFNhSzB2RFh4ZnJ6c0M1TGhVZ1JkblhQeUpBNERwTXRDc1ZiMHJIT293TTVweit5cCtHClJHTFFNQ0plV2F0RGJIOG85THQ3VVJOejRzSEoySUY1TVhoWGhpeGh5UzFId2NYN0dRTjNFeWNXTXMvZmhTYWNuNzBIWmN3TXZSaFgKL2pjWW5Ja3Y2N0FIMEhBMGRtVmxyODNBWGZraXkwYzQvaWxBOHdBMUF1b0h2UkFIQ3RDWnExS0FCTVBoNE9BYjhhQUUxdEJNa2tLQQpScWFqTDB4Si8wa0Jtb095WG9ZbVkwZW40MFptRXM3ZWlmcHVLbjc0WWZyUDAyRmpkMVAyWDBrMGlyU2dJbFNoZC84b3VCcWFjT3FuCnlOSFpsS0hwS0VpQW9CV2dVdmwzVllHTlo0TXFBS2pCTUdwcnNFVFlvZFBoNHpNNXczZWxFelBSWTVQeEYyNUx6L3lTZHVLOHBHdVAKWDBxcGtXOHNuY3RidTVLMFNwMVAwem91b2Y4clMvUFR6T0xocURNUGw4M2RXWTZScWZRemQ2TVBYMDRDc0d1b2FMaURwL3JvbmFRTApENU9YcW8rQ1FTaXZIQlFnS2RUYWV6cGkrSDdNK2Z0cDcvOGNoMDF5SVNMWGtKRTQ4SGRCVkhrUGkxU3RhSEU5TTdmczYvbmZJa0NQCndVZUhXbWdpcVYzbGM5K0dlY2RpT3h4MUpXWU5SUVdyamxmRjQyRUFiZ1VPQzdEb0ZIR2dhRitQNy96Tk9ObmpJdG5EbXA4dkZCN2UKbEZFWWwrQWhDak1pK1p2aWtxQng2QWgvUHRKUGhBa1NBY0VDZEFBMGR4MFZ6VU1FODlDK1hJd2JCK1BNQWx4MFVlNU13QS95SHB3SApEK01DU2d5MHNRVjRndGRBNVZSSVN4RXl3d2dmd1Y0ckZ1S2NPQWdYTGtha2ovQmpJOXpaU0NjZXhvbURjb1NTZXhCZVREVm5QVFhiCnBlcnpFc2g3RkNoTUNMUVE4RmtrbnZIN05zVjhmVEwxd3VuU0MyZmlCcjRXejl6b2Z2d3dTL1k0Vi9ha1FoNEhLdnQrb0thak1qZzMKM2x2aTd4SHU0R0hMY0dhcXVMRFZQQXp3VHZxQWpiYXlLWjlnOWxZQmVvTkYrNEYyNGw2S3puSUM5TVo1bUtKeDg2dlM5TDhhejJ0aApvUmNuWHdqUUVnZGEzQTR6NUpSRDBTQk9sV0xUeXRhMHg5YTB5OXFvM1V6WXNDaEFVSWJRaXpFWFVLMzdhN1JZR05RdFlpNThGZld4CjRGZVo4eXBmMkk5KzZTTG12SHdEWnJraHQ4cU1YMmpLekRMUkxqVm1Wd29GdVd4T0trZVV4ZWRJQXRnUlNZQlY2bXBETDVpNnQ0YUcKVG1RNnJiWk5vMk0zTzNlbmZzSld2YXhkbWtWYmRUSjdkWE0yYWVWdVVpL2NUQ3JlUkNqZFJDenBveFQzVVl2NnRBcTJnTkNMdDZxWApiS1dVYmlXVmJTVlZiaWRWN3lEVTc4RTM3Q2MwSFNhM0hkSHVQTXJxT01DbzY5Y3NicVdrNStJVDB2RVJVbEo0Q2kwcVV5TStYeXV0ClVpKy9nVmxRRGtXQWtqTTFKU21nOGVpSWs3VGpFalZqeE5veHNUb3hzYm94Q1l4NHFaNGtqWkdVeFVqTDBjM00xODB0MGMwcjF5bXMKMWlwdDBLaG9VNi91cHRadm9EVnVJcmZ0b3JUdlZPL2FvOTJ6bjdIaEVMdi9DR2ZUVVZDQVJKdU9nZ2o2andnMkhSTDJIUlQyN2pmbwoyU2ZxM3NQcDJzSHUzTTVzMzhwbzNRejZrRTV0cjNaNXAzWnBPemVyajVxVnI1R1VUWkVXVWtBSml3Mmx4RVhSSTJNRU9zUTJCNTFuCkZ3NCtlbkQrMGU4SFRucllIWU1aZkdjWS9KbVJ6eGQyd1Y5WVIxd3dTZnpKTkhuVU5QeThkZlI1eDR3aEc4bnd1a1FROEdEUUtoRmsKeUZvS2N0bGNjdFl5NWp2cjZEc2l5U2cvT3NUQkV4M3FxUjRieG8wSzU4WkhjYVN4ekhTSlhrNlNYa0VxcXppTFc1YkxxUzdtMXBUdwo2c29FRFZVS0RSSTExeHEyMUFsYkZTYlVZTnpXWU5yV2FOcFdiOTRLWWRKZXY2NjJ4cVMrMHJ5cXlMNGsyN2hFR2hJWGRwd1hjSW5xCmRVbmQrNkttNzZodXdMZGFYaDlRSFhiaXJmcXdaaEoxdHBXSkNkblZWdDNGZ2UvaVlPRGp4QTV4WjBiNWNDTGlpWUZPU2p3VEdBem4KdFk3eSsxVEYxTTA5OHo5M3pmemFmZmRLOTlTTjlhQUEzZjZ0OGZIdm02Y3ZiZnhxVzVZdkRIQ0dyUWpENnlZU0xGT1I3QnlNWmlwRwpMNWtza21KNTBTaUd2NHE2ODFxaTVXcXltYkttRGQ3UVZjZlJPa1JzWDlKcXR2a0FkZnYrdFQwN1Z0WnNRNWJ1Um1kdlllZHQxYkhQCjFpWUc2QUErdWhSdlRieXRIdDVORi92bUZ0aGk2ZnYvWElBVWtTUmRwQ2NWWjYxSmROemJMMzQ0bDBQSG9kRTRHQUVMWnlUNzZ4Nk4KUFRzVE56RVRQekFiUHpxWGVIWTJZblJtMlFnUWVOTWFuQXlEcGpWTnhRM1BwZzVNcGc3OG5ucHhJWC9wbGU5bVlEcW11TlVPRGNBQgozS3FkcHdMT1Q4VkNHMDl6LzFqT3pmSkFnWitCcWFTaGVTZ0g1Y0prM0RvWFRRQ3ptZ0FnUFVQb0Y2YVR3QitDUW9CR3BwT2dDcXczCnYveS81TnlrZEhCYU1nTCtuT2RqaDZhaGxrVUREL00rbThyODF4OGxEU1BaOWgvNGFiaUtLQ1RRdzlUUWFDUUpnL25pbDVpeHVWUlEKZ09UMWFLQTZTTUJYOVE0Qk9ubzZGbzlYMFNDcFVna1lnQWc3TmhRRy9pb0hKaU1HSnNPZ3p0ZnpjVkFudzVuWXdhbG9FQ2dTOHpEdwo2OXZKaDRaaVlvOUhtaDJKTmV6Mzk5b1ZmR291WStuSzd3WVUyUXNQY3plUFNYRUVyQ1llaU1vMG1Kak1PcmNBbGEyOWxZRzVDRkNBClJxWlN4cWFsUTVPUkYrNkxUODltOVowTEpnUmJZWEVyc1ZnOFJoMU94TURnT0pXR0E2SHYySUw4M3lKQXo2REJwUTNQSEt0azloVXkKajVySERrVTBwQnFLQXFmaE1CVEU2dUpFbXpQSEEyV1BzMldQVStkdWxaNzl2S0M5SVMzS044UlEzWU9OQ2haZ28vbW9DQzQ4VW9BUQo4MUVCaHRob1Exd3NIL0RqQW5aOG5CMGZBOTdMQS9rNFB4YlNTeDhJNUdPRHVZQy9IdEtkZ1hRVWtEeTU4SEFlTWx3ZkFXVUM4WUZBCmZSUlUyOFVEUEVCYkVnQmVmSlMvQUIwc3hOdndrUDRHT0hjT0hOSWp5R2FRVGt3MUoxQ0dJS05DdWVsajdKZDR6eXNCVXV3OUtiYkEKRkE0a3o0eDJacWxCRFhqNEdIdVdxcXNBSHBzZUd2Sk1sZzdWZnowdWUvb281NC81MHZRZ2lTRStpSzBLaWtnZ1c5V0JoM1RUUjl1eAo0Rlo2eXM3Z3ErSWlnbGdxcjJhRXZYUWRlY3ZwbDByMDhzTzNDTkFia1I3RithV1JJZGpMSEowWFRYMWVEL1lzQ3RDTERrQUtGZ1hvCnJ3NjBtQldrRUtERk1WNWVqanM4N0xjNVdxNjNNbXA1bWI0RENaQWk5bU5wMEdnbGFuNForNUgzK0htcFBvdjJvd0FVSUlYOW1IQkwKRnUzSGhGdHN5V3d3WlJjWmMvTk1PQldtN0dvemRwazVPOCtVbVdQRnJHRnowdm42K1Y3MHBIaGwvZkExSkh1dXE1V2tWcWY2WC9wNQorem5wZmZUOExrcHh1MlpoRDcxZ1BiNm9uMUMwZ1ZhNGtaSGZ6ODd0WitiMmFlWDJVNHMya1VvM2t5dTJMa0twM0VhdTJrR3QyYVZlCnQ0Zld2Rk96NnlDOTl5aWxZeCtsdmsranBGNDlOWk1VR1VFTGlpVDRoV0g5SXZGaGlhUzRMSXEwbUo1Vnl5aHNZMldYNktVVjZDUmwKNmtwU21lSmtWbnlpWGxTc1RuaVVUa1M0Ym1RVUl5cWFFUk9uRnlmUms2UXdrakwwVXJQME12TVpXUVdnQmlrY2lGN1pEanFRZW0wUAowTFlkMDdvZDE3NmQxTFZMbzNlZjF2cjkyaHNPNkc0NG9ML2hJSGZqUWYyK1EzSU9DRFllTU5oNFVMVGhvRUhYYm1IbkxuN25UdjMyCjdieVdyZHlHVGR5YURaektYbEpabVg1UkV6TzFDSnNVcDVZVlRaTUVlamlaRmduMFBrUVk5NncwUE1JMnVMWWo4N013dDYvWGNNYTQKdnQ5eEUzOFFCbzVhUkE2YXhVMllwazZZcHczYXAxNXdUTHBrR2ZmRHVxVHZiYVNYYkJKQkxxOUx2bVNUZE5GYU9tYVYrSzFEOHFpbApaTUkwYXN3eTZqZmorTk9HY1pGT0lTcGh2dHpJTUc1TUJGc2N6VXlKMDh0TTFNdE5aaFdsYzBxeVdaV0Y3S29pL2RwUzBJSDQ5ZVdDCmhncURwaXBSYzdXZ3BWYllXaWRxclRkc3J6TnVxd01GeUtTdDFxeTExcmEreHJDNXlyNjgxS1kwVDc4NkxTRXE1aFFyWUFMbi9oWGIKK1F6WDdRemI3WXl1ODNmYWpnTzZMbWQxblU5ck9WeEgybFN4TFRTdHpmRE90aHdYSjRHN0V5L0lreHZxcHhYdFE0OE0wWXlLeHRqNQp2WWNrUnZ2Uy81eXNXTGk3ZmU2MzdydS9kTno1dGZQR0w2M3p0emZLN2gxNXYxMnFCNE41d2hoaWxKa0V6cEVpdGFVWWRqeUttNERTCkMxbUZOVnFERjhMZ0JqQ0VNWXBtd0RYbStJWnhxeHFOOWh5bUgvMklzR01mcXFOUHZicWZtZFZsa3R2SlRpdm5GdGVxRjdVYUZYU1IKMkNINktEOGplQUFEOE5VaStXbGhGZmJ6bHg3US83QUFvWHhwT0FjTm9sMmgxRXYyckpoT0FOQVVHQVlOYUhtc0kzeVlmSDVCUEhvMwordHhjN1BoczRybUZxTkZwS05qd1ZrWW1wUlB6U2VmdlJWNlloeVJtNHBGNFlDcHdhTlp2NlMzcXhZMXF5UW9LQm1kaVMxb2R3WnM5CmhyRG13OUdZWVdnSUZKVGt1L1RLZjVheGhYRG9XV2JTaHFDcFp3bWpNNUdGTmRCUWVqd2E0ZXhISHA1S2hnUm9PbWwwSm1aMEp2a2YKZkQyRE02a0RVMko1NG5Qaytlbkk0WWVaSjM5UHJmallWdmV3aThISHBjRG5PV2p2ZGF2eEszRjRKVHhaV1IwTysrclh1UEVGS0FJRQpDaEEwcFBhbEFDM0gwVy9ETWRnVlJHQUZhSElvSE96OW9ValF0OGJtcFJmbVVnYW5wZWNuRTBBR3dWOEhGSzZEck9YTVpNYS83NFYrCk54WC8wOTMwcjJiRUZ4Wkt6OTBSajgwSExWMzUzUXpkRC9sbUppVzh5eEdKd1pPUWE0cmJBaS9OSkorZWkxeDZwWUx6czZFanMyTDUKc1Bla3dYdFJJLzZzTi8wQUFJQUFTVVJCVlBlVHZwN01hZnJFUjkyYVQ4R3Z4S01BSkFDRCtpRlJnTDZUU1QvOHZxd1EvOThXb09kTwoxVzlsNlpYdjVxbEQ5V08zdWlldU5jOWRxbVJPRlNBNHRKSTZXaFdIUkxPWXNQay9OcC8rTnJzc0s5elhJczVFUFpvRCtBdHdFVUpNCnVBZ1hMY0tHaVRCQmh0aGdZeURNQUI0dUFFSjRxQkI5ZERnZkc4ckRCbklCWHk0bWtJY05CNzhFUkI4YnlFTDZzRkcrZkZ3UUIrWFAKUnZySm96NlFMb0Qvendnd2dWeWtONlExZ0NjZjdhdVBjdU1qdzNob1o3YXFsd0R3WWFvNDhWRkJISVF2MU00SDdRN1pqSm9IRys3SgpoRHV3VWV1V2VNOExGa3ZBRlB0ZmlvSXM4SUFKOTRGeWo1Q0I0QVdnUCttcnhobVF6S2FuYzJWUHM1OHVGSU1hOUhBKzE1amtyTGNxClNoL3R4VUphQ3pHT2JDVm93QVhvUVBvSVA0NGErTW9kdVlEdFcrMW5DYStTa0pZVG9MZHVqWUZQQjFQMEoxeXMxWHF4RnladlZ3angKK2hBTVJXNFErM1h2ZWJYNVpjeXRrYXRQc1RHdkJDb1Q0MVpiQ2pzY3pUYlhOamExdGUxTmtXeHhzR3lROXdHQ1NzUE1oZFdMVVI4TApZZU5pQWhCb1Fvb01hRVcxbDBLRExQZzE4czJ2bCtHZmw1aHd5b3pacFNKMmlTbW56SnhUYWdVK2dtN0VMakJpNVJucDVmTDBjNnpvCjJTSkJuakVqMFVQWng5NGlYYWRoRzdIbGdIYldlcDNzRFNDNk9Sc1ZqNHpjUHRCNzZOazc2VG5iTlhPM2dPcWptYmRSc3dCS0NTS1gKYlNJMjd0Qm8yS0hWdUozU3VnM2Z1WjNTdlUrcis1Qk85MUZPMXlGRzB4Wm1hUU03TFU4bk9wNFVGRTcxak5CMWpxSDZSTkg4NG1oQgpTYlNJZEZwc0xqMnBVRHVybkpGZnhjdXQ1R2JrY1pLa2xHU3hZWGdxSlNGRlRaS0FpZzRqQkljU1FrTUlFYUhFeUJEMTZHQ2QyRkI5CmNaaElFcW1YbWtUUFNLYmxwbXNVRk9vV2xqT0w2eGlsVGRvVnJkbzFQZlQ2OVpTbURaU1dqYlNXVFJwdFc5Uzd0MU0zN05UdTNxdlQKczQreC9vQUN2UTM3b1JiSi9ZZDBldll3dTNkeE9uY3hPN2RxdGZkcE5uV3pLOXNNaWxwMGNzczBjck1JdVhHVVpFOGJOL05DWGY0KwpKTzhUaE9nWWVkMm5taTcvd3RzY1VUWDZGOWI2dEo3M2VZT1FjeWJodythSkk1WkpJellwWTdacEVQYnA0dzRaRjUyeXh1MXozbURNCkxodkNNZlZIbTVRUnU2U3Y3Y1gvTmt1Y04wajV3aXdxMXQ1eGRZUXJPOVRmT0NxU21SaWxuUlNsbHhhdm15ZlZLMHJSTFVsbmxtZXgKcS9PNXRZV2N1aEpPZlJtM29aelhWTTF0TGhZMmxZaWFpMFV0SllJMkNLT21Zck9HWW92YUhQT2FUSXZLTkt2Q0JFbEU1S2U4NEN1MApvTk84a0FGdTZEbDI4RmxXd0JtbS94bVc3Mms5cjY5MTNML1FkUGxLdy80N2ttTWx3MGJIemxURjIxTERjeDNYMDA3ZzU4QUpjR0FrCmhPSWlYZGxSWVpoMWljcGF0aldGN3JLRm9xbXJSNmV1dE55NjBqVHorMWJaL2Mzcm16emhNSmo2Q3FMWmV5b1dLMVN0VjBCVDZ3MWgKYWx5WXF0NUt1SjR5aGt3d1VEZnhwTWRsVW12YmFGdDI2KzQ5d2R4NlRMZGpMNmVxazF2Y3JwL1h4czF0NWVTM3NBc2E5UE9xK0RubAozSndtWmxtWHJpaEdGK09wUWZhajQ3dzFpRjVjNExYMDU1ZjdWdkl5TGxjZG9wczJ3WmtHbU91UXJiVHg3alNFdnc3ZVg1TmdxZWg1CnVKUy9tcERqSXRwb1R4MkNveVpnNFN5TWZ2NjgybXVkTmg2aGlpVXFZeGgwK3Vuc3JuTVozMDFIWEo3UC9lYUIzL2hDelBqZFpSc0oKdm9QRjNqQ0tXNTNpNU1YcCtIT1RNZWNXcE1QM000Wi9UeHE5S1ptWWc2cXJ6azBIRnJaNllyR0FCazFwL0ViQytHejZOL2Zpeno5WQpkc3RqYUNicDNKUmtZQ0hwL0lMazdGekM0Q3kwWVRjNkxUOTRHMHRYVUREeU1QcjhKSlFIRGI3TzhabWNvWHNSUjc0TFVzVW8wWkNyCm1LNEFLQUVYWnNMQXAvaG1QbXg0UHVyTWZMQzhEdXN0VEV5S3g2Y1NSdVNGM0lOekNhQTducDJOQVJtK0Z6M3hJSDVvSWZyc1RCeW8KSUZCUzBVSVMxQmRuS21KOExucmtkc2pGeWRUZEY4VWVoMzExajZjU1R0Vmd6bVFRVG1icGZKV2piY3BIWW1HYUFBbU9XME5BcXAzNwpQWHBvQ2lvWEJ4bDlBV2hteXdyQjNpL2pRSTJEeHRFajRSaXMydkVMUVFyaldYcmxmOGU1MllTeGU5S3owMW5uL3dnZG1mU0NFcVFlCnA1eTdFei8raHlUdEE0bm1pWGlVQ29LS0oyN1pIWFQra1hUZ2JqVFVBdnR0REUrSG5sdUlPVDhGVFpVZm1ZcTlQQk0yOUNneC9IMkoKQm91REpLaGdDV3BvWUFWVXBRL0F2N29jUERZVk9UQWIvVmJPeklnUFhvakZBbXV3YUJVQ2dLalFzcExIV29xWEtzai92OGk5cHdvYQpVT3BjTFhPb2ZPNWFpY0VvNHpCcmlUZ1VVd08xOERBdjNqT01oL1hsNGVQTWlmV1dWTEVsTmsrRVNqQUNMUWZscFkveU1TQkVjSUFnCkxpWVlxaEpIQjhvSjRLUDhRWlkyQTN4cko4QTM0S05mb0tnWVg0U0ZjbjByWEZDdzBINEtRTUVDQVUwTGhBbHRtWUVuZlpnb093YksKbW8xeDUyQzhHVWhuRmpLRWlmQm1JWHlGMkFDbXFyc0JTc0pGT201dHpaVEo0djU4bFBYc1NlMUhCd3I1R0MvdHRiNzYrSFc2Q0NjMgpsRTRFS2RSclFONjJ4SFhlbEo0M2VDazZiK29PQis2dVFDNUdyNW9sdmhLZ3YyeUVMUTY3V0NKQXkrMThHWEdxUmV5eVJRRXk0bFJaCkNGcnRURFpXVmU2b3FmZ2dObXlIbFdHREFiTWN2TWFVWDIxdDlNSjRGUGJ6dWdPOUVpQzUvYndVb0xmWWowS0F6TGpseHF3U1ExYWgKQ2JjRWZHb1JKMS9JeW9YZzVJQWFaTU11TU9XbEdYc1ZHNVZ0MEt2YXdzamF6TWpld0hocFAxclo2eld5ZTBIb09ldDFRTzhwMkFSSwpEN0d5bjFpL2xkeTJTNk43di9hR3c3U04rM1Q3RHJPM2ZLeXo0eE9OM1orbzcveFFjOU5oemZWN3RDbzZ0VlBMNkdGU21uZVlocHUvCnJxT2Zqa3NRMVN1VTZodE5EWWluaFVqVkk5TTFFbkkxVW9xMGM4cDFDNm9OMGtwRWlkbE1xVlJMS21WSEphbEh4dEhDUThRbXZwMGkKbnpZRDMzcVJiNEdKYi9RNlAzdVBRR1pvRUNrMnlEdzQzQ29pMWlaT2FpWkpFU1Nuc3pLeW1QbUZuTklLYW5FeHViS2EzTkJNYWUxVgpiOTJxMGJxYjNIWUEzM0dJMG4yQTJuTVFpZ24xN05YdTJjbm8zcTdYdFkzVnRRVVVJRnJQZG5KWFA2MjFoMUhieWlpcnBSZVhrSW9LCnNNVmlaSHFRd011dVdOdndmUlgrQ1RYQkVZTFJoeVNMWStvMnB4Z3VYK3E0ZktubGZJN2pNeWdLT21zVWROWXNkTlFzYXR3aVpzSTYKN3RLNmhNdTI0c3YyaWQ4N1NIOXdUUHEzY3lySVR5NXBDaFFmL3VpVU11YVMvcjFqK2lXbjlDSG4xREdIbEY5dDB2NXRuZnl0Wld5awp2WSt1dndzeXdvVWU3NmVWRkV4UGhLRGtSTEp5NGpqNWNaekNCUDFpaVg2cFJMOUN5cStXQ21xVCtYWEpodFdwcGhWcDVsVlpKclc1CkpuVUZKalVGWmxYNTFwVVZKcVZGbkpMMDZLaUVid1hSditpR25oY0dEUE84QjQzREJrUWhaL2dCMzNIOXpuQjh2MlA3Z0E3MExjUHoKaEs3akFOWDFVNkpEc2E2NWk3R3hwWm1ocVlVaHk4SEkzTkdHN0dIUGpnOGpSdGhyeHdXcnVFU3ZOamY4ZkcrYzdHN1R6UFdPeDNmYgo1cWU2QzFvcTFMaCtTQnQzNWVBRW5Hc1EzamtRN3hSQWRBNG1lWVpUZytJMDR6TVlHWVY2UFQzTUxWdTBkKzZnYmQ5SjI3UkRwM3M3CnA3NlBXOXpKTEcvUkwyN2w1emZyNXpheTh4cFpCYlhjL0NwQmJvVmViaU9qc0UzSElKcFBDZEVtKzJ0Z3ZUU0oza3lVZkZ6WFh3SS8KMERSVFVJQTBNVjVVaEN1b1B0b0VWM1ZrZ0xOaFc1VEhOaFlsWktuNi9COEVDSEJTUjl1d0tEWXNyTTNDZkdsMXNTVUpoUVp3TUNRVgpRejZVRUhiVWYyQTZidmhlMG5jTGdTTnpzV1AzL25ZeXJNSjdocWJpNU9HS0YvWURuWnlQblppS3Uzdzc5c0xkcUlFLzRrOC9pamszCkhUdCtUd0xhUUc2MUl3Q3NNYkhBajk2TEc1NlZnbDd5amkyd1M1TmhsNmJDTDg1RURFK0ZqTXhDZXpwUU1mbTBaR3ptN1VCRlJrc1cKQVRrM0V6WThtem84Rno4TTNvenZwWTdQeFh6MVl6eEZWMDBEQ2VoYUVNWW1TeTdmUzVpWXpCajVYZkw5bmZTSnUrbmowM0Z2QlpRZQppQmxJU3NhbVlpOU54djB3R2YvdmU5QWU0b1hKdEpGN2FSZG1Zd1lYZ29mbVE4ZG53citmREIyZVREdy9WVnI0cFlSN09JcjBXVGJwCnkyejFyNVBKcDZQb24wcDB2c3dqZlNTaEd1aGlTYXV4U0RYd2tZVlNPeSt2bGxKOEYrRFBjMFErb1A0ZEFyVDlrMGdNZmlVb1FFUVUKSElOVCtYQThlR0RxdjhuTldnN1FSVUJKUFQwVE1UQWJELzdrejh4RmZYRXo5c2VaMlBkL3l4Sjltc0RlbTRERndWRW9wUk9uSXdjbQpJMFlYVW9abTQ5N0toZW5vTStBS29CcE9oWTlNaXlmdWhYODlFK3UvTjU1RXhtR3dLL0RZdFNTY01nNnZSRkhIbkxrbWJ3RXdCV1ZNCkwyVm9UbkwwUWd3ZVdJUEhLcEZ4NkJxRzdYTzNodWN1UlVzVjVQOWZsaE1nTkVLWnFZNTlKaXRJY0k4eHhDYUtNUGxoK3QvbGViNHYKdGpoc1J5NHpBaElNZ1FnREFBb0Y2YVBEQmJnSU5qYmdKWDRzakM4SUUrTUZvamhlQ2hQd2VUdnlyd0xSQXp4ZlIyNGhiMEUrOHVMRgo4Y3ZZajdOOG44dUxpM1pocURoQTIzQkFvSTdhT2piYWhZc0swOGQ2TXBGT2tCaXB1VExoRGt4bDBEazhuSVRtQzFObE1sbjY0ei9LCjA4Szl3VS9wSVczMVVPWjY4SUQvYndUb1pXUUlVc0MzQzlDaUF5MEswR3M1UUg4Um9EY3I0VGxWb055STJFWGdlVWlBdUJXbXZBWXIKZzA0Myt5WWY1ejVIaTE0elhyTXByODVNVUdOdDJHeHQyUEtHL2J4Q0lVQXY3UWU4L3EzMkE2b1BDS1JCVEdoSHpFUlFMdUtYQ0xpRgpBbll1ajUzTDUrWVk4WXNzTmJMNEJubnM3RDdkeHUwNmVkMmMzSTA2R2Yyc25ENW1iaDhvUU5vNUd6UnkxbXZrYmRBbzdOTW83cWRXCmJLRFhiTkp0MnFIWEJlWFc2R3crcHJYOUErMGRKMHoyZnFSKzVHUE00VS9vT3o1bGJ2cVgrb1o5dExwMlZrYUpla2c4M1QxYzI5cFgKMTlKTHk4NWIzZFdQNnVsSDgvS24ra1ZSQTJMVlF4T3BVYUFBNVdpa0ZHcm5sT29VbElIaXdrM0pGY1FrNjBlSlZWSmlMUDNEbTR5QwpoalVDZm1BRVhORUp1cVlaOHF0V3hBV2Q4QlBzc0Y1ZVVMVWd3TlRYaXh2bW94TVh5RXlNTUpMR215VW44aklTTmZPa2hvVlZ2SklhCnZmSTY3Y29HbmNvV1JuV0hia092VG1zL3JXMnpSdHNtZXZ0bTdZN051cDJiR0YyYjlUcjZRTGpORzdTYnU5UWJHM1dyS25tRkJkeWMKbFArSHV2Y0FpK0pzRzdhSkJaV3l2ZmZDOWtJWHNBQVdxZ2dXZXQ5ZHluYVczb3NpZHFQR1JCTjdOTTFvaXJGU0JSWHBSV3lweHRoUQp5dExVRkRWOE03dUlCTmE4ejVQL2VmL24rNDdqUE9hWUhZYlpjWGFUKytTNnIvdTZDT21TV1ptUmpnRnVTVHk3UFpic1QrYXdQOElJClB5VTduYUROKzRMaGNaYSs2QUxMNXhMWHY1a2YyR0VmM0dLL3VzRmhWYk5iK0ZWMytUVlA1ZlVsNmh0TE5ZRFozUEpPdWVtcnUrV1gKK3AxditrUys5VWtEdU9XZCtzUFMxSnRldWh2ZXFRQXRQdHA2UCtDM2RBTUwwcnZGeWZuemwyRURYV2JITEdESGVOdEcrWFBqL1BrSgpnVFpKa1d4NUpFOGJMVXlORmFSSENUSWpoZGtSb3B4STF4eTVjMDZ5WFg0eXYxak9XNnNXbGFoZGNsVWVHY29sS2JHc3ZLam9tUERMCjRxaWZ1YkZYRnNUWHVjZTJPVWMxekExcmNnNXJkQXB0Y2d4dHRBdHRFSzIreEFzQ0JLaU9zYXlHSDlqQThMK0M5VHlOY2oyQWNraGsKQ0dnTE9UakFnVHdYY0FNOEtjSHp1SXBscVBoWTY2WGgzT2p3Tzlja2Z6ejVyT1hudzh0eTB1ZjRaMEFWV3kyeWQxc1d2dzB2MjQvZQpjSWl5OVdQV3JzODVlNzVndm4rQ3R1ODQ5ZUFYelBjT0E5QjNIcUJ1ZVorNjRWMzYraDJNMHMzQVo4VEoyeWpLM1dDZnRkNHVzMHlRCnVaYWJ0WmFmVlNyT1dzdk0zU3pPMjBrWHhRaHhJVXhVRU9BM2dBQnhKclIvbjlUN25ZNEtBTTZ4d1FaUkViNEVpNVh6T0tYTDUrMWkKb2lLbXFzL2ZDeEFENFVGSExxV2huZW1RK2MyTkNTM05zVGdyREFwamhzQlowTGRGOFQvMjd4cEpiZXFWTkEvR2dKbEEramV1dm5rVAo3WWFRVEZOdnZHR2RNM2pFcUVGZzFlT2hlSEF0ZDIvTU5iM2s1cEMwdFMvcTZsUEp4VjVGY3M0aURINUdyRnJjUGhRSHprYnAxWjA5CmIzemZ4aUZOeTRpNmVUQ3h2aWNhR0VjN25zaWJCNU9iaDFWdFF6RW1NY1pPakxjeERuZy9mUkZ0UXhwQWdOb0dwVTJQRTdwR1lqdjYKdEI0clNGaklMRFIvZXQxamJWZGZTQ2VZK3h6ZDBaUFkwZ3VNMHpLVEdLTTdZREwxb0J3TTgraVRqTk5NVi9wMXJmcW9xNE1oVFQweApUY0E5LzZxdGZTUzVlRGN4NEV1SjRGUWM2cnlVV0p0T3FzMUdWS2RnYTdTMEtoV2xLaEZmb1dUWFpWb3hrWERFTkRqQ0FrR1lUcHRwClpwaXVBalVPZUo0RzFRTzcxZjZOQU8zK01oU0ptWWxIV09EaEVDUjY5cmtiRVUxZ1g5dkpwLzFqYmo0R3kyYzNERWUyNlZWdFQ5S3YKUElrSEhpTWdtZ0ZmeFZsVkpUT1B5Z240V1FqMGpNdDNZN3NHbzYvMEpFMmErUm9Ia0o3TGVua3I4R1Q2WWpvSEZaMjlzUmNHRXBjZAprbURoTTRsb013eGtPZ0U1Qnc2ZnhiSEhOZlVwZ1M5UGl6N2VKTUNsdm1pS3hNTE1VTEFaZUlUVkdodVBGLzRiUjMyTHBpcklmNWMzCkNSQUdhU0dna1o2L0tJajFDcDlQVEo1UGt1YXZ2UER0NlcvVHZNdTlpTVhPVUZDQTdLRVI5dkJJUUM4TVM5eFh2Q0tRRDFzT0FsL0cKQSt3RUdXUVNJZUovQUxqT1JQNHFFQk9BZVFNSW9WNUdCSkNsci9DMlJmZ0xvWDRzY3oraFZiZ2RMSnBuNmNPSHVySWg3aXpyaGNBRgplZGErVGdRLzREU2V4WEpndTYwZy9zOC90djkwYllzVFlTRllaaHJsRG5nUzIzTEYvMFVDWkhTZ3NaMi9KRUdQQ2REVVVrQnpSV0RXCnMwR0F3T1BnUzdEQVQ2bWI3VVlBUUlQbTJXNDNDTkE2Vjl1MUN4MDN1NG0zVHBRZVl3V2dNY0FLUUdQMll4Q2dzZHhud0hYR0JjaG8KUDJNQ3hNcWVaMXZrNGxqaUlNNXo0R2U2Q0xLZCtPa2lsdGFEblMyY2x5OU0yVTh2UFV6TWZZK1Y4UjVEdlpPZHNZK1Z1b3VadG91WgovaTR0ODExYTdoNW0wVDdXdXNPOGpSOXgzdnRJdFB1WS9kNnZIUStjc2YrdzNPRkloZk9IbGE2SEs5bDdqOW0rKzVsdzU4ZjA3ZnVaCmE3YUlaYWwyUGlITWVaNVFqMFg0K1V2cDh3TlluaUhjSmVGY3J6RHFzbUJzY0FoeFpRd3hPSTRVbGtpT1VaQmxLV1JsR2owdGk1R1YKWTVPVHg5Qmw4T09Wc01SNGFuemtKOXl3WDRpaG5lS1FzdzZSMVE3UkRmYXhYUTdTVy9heWI4VnhOM2hSWGV6d1NwdUk3WGFyUWowRAo3RllzWThlR2lCSmluZVFKem9yRXVmSVUyNVJVUVhZbXZ5QkhXSlFuS3M3bmx4YnkxaGNKMTYvanJ5L2xyaS9qYkZqUDJyQ1p1WDRMCnRXd3p1WFFqcHpDUG41dkZ6dEtRTWlXSWxCV1VTUGY1QzhRaFRKdDlacHpEWnZ3anM4V0hVSTRmNFYyL3hpd29SN2hYSVJhZHhDNC8KUjFoWlJWaGRTd21yWjBaZnNvbSt5STF0c2t0cUZXamJSYnBPMjdTckRobGRqcG5YbkxKdXpNMjU3cHA3WXk3SVRaYzhBT1ArZGVjYwpnUHRPQmRkY2Nycm1adjlzbi9PamZYYnIzTXcycDR3ZlJCbnRIcXA3ekxnejFLQUlSM2VhdXdOMHNmMnNaVTdtcTF5SklRdklZZTZVClNFOTZ6Q0tHWkNrellTa3J5WnNsOStISVY0Z1VLNXprSzEzVXE1eFNncHpUQTkzU2x5OUlDN1RYZXFXRkxxdHhDLzdCSWFwdGZseTkKZTF5TFczeTdpL1NXaytLR1kyS1huYlJUSE5jdWpHb1JSRFR6UXdHdWtWZlVjWlpYY0piVzBqMHVVUlpjSU16N0ZPTllSaERhTzlFNQpMazVPaStZSkErZmlBOXhFNFlGQ3BjSXNRcnU2TUN6dGlGYVl2Z0dSZW9DN2RUKzZlRHVrYUt1MVl1MmM5RzFXR2R0UmVidklhL1l4Ck54eGlianJFMkhhSXZ2MHdaK3RoenVaRHZJMEh4ZXYzMjYzZFkxK3kzYTVvczdod0hUZXZUSlM5MWk2ajJDNmpVSmhkeU1zcDV1ZXMKRTJXVjBYSzNMTWpkVGVhRU02RUJiRVFRRzd1Q2d2Wm40UUp0MEVaZXRVRWRkeUNzbHczT240NzJZdUtXMEZIK1ZHZ29hRCt2T29KTgo1VTBDWklOYUFsd2NCM0VVNEpmdGZXZjFzejlTQ1ZaNEhIWTZEak9McVF3Z240dXI3OHNHVitnTUpEUU1KYjlhZWZUdllRei9nRk0yCllITXJNQm9FYkJzR3RmVjZTZXZUaUlhUjRJdDk0ZTNEeXRiSHFxNUg2cHlHNkFWU04ydk1XMFU3UFJ2Nkk1djA4ZGVHVWxwNzN6akEKQTZQbWxRRXdmNlZOSDljeEVBczJLKzJUTkFCbU1DZzN5WnNFcUhWWTBxeVhnd28xRE53dGNDUVNHSWF6dHMxSG83RklOdktENi9KTAp2V0dYaHlLdkFEZjhKT255MDZTbUVZbEpHdlF4alFPeFRZTnhnTjQxRHNkZkdaSFdQNVZkZmlhN05oVFNCT2pqTS9YVmtmaVczb1RkCjdRcXZMNlRNc3ltekw2YVNMbWF4cXRNSTU1THcxY21VYWhYem5FSlVtWXEvb21GVXBISS9VMW1URVNRMGxJeER6RUc4eFdTampRSUUKcHV3WUJBaDhtQU5ncDdhcFQ4Ykl0bzlXQWQ2RGc4L0J3UzBSS1BQSzc2UCtzd0owcTA5MmVYQmwyNGl5dVNleENmRElCOUZYbjJxSwo2ME9RWnhUVWkrbWtyek53VURNNkE5R3NEKzhjam1sK25HejhNa3dGRUtCNndCcUhWYzM5VVcwRGlaMzlNWmVlcVJidENjZkFwcEhRCjB3QU5KU0N0NFRCTG4xV2NyaWRxd0xjYWg2VW1BYjZvWHpWRmtWSFQ4Y2lad0wrNmhPbiszSGNUb0JkVEZlUy95eHNGQ0EyajRlZjgKT1ZxeW96QW16aWRZdlVwVEZudnkvZFREWlFrZmFBSnprdjNsQ2Nza0V0OVkyVEtaMUQ5ZTRoK2Q1Q3MxRUovb0V3ZmlHMnRFNGhWdApFcGxYakVrU3ZPT055THppSmhMakZXV1NXSjh3SXpIZW9ST0o5bDRWN2hrcTlaZEsvQ0lXYzczQWRoWldRU0tJdjdIK2tDSGZLSWhyCjdTbUFMYkZEcmhaWWhZdmdpeU45bGl3VnoyZGJnSldtQVhYalFWWnlvR0NTOWYrMkFCbnRaMXlBakE1a1psU2ZxUUkwYVZHWUU1Z2MKRFhiSmVLTUFDWXRmQ2REWVMwQ0pqS25RTHFMMWM0Vmc3TWRGWE9obVYrdzVkN3U3dzd0dkVpREFma0RBeE9jMVk0aUt3UmpQR3dSbwpQbmdEK2JhQ2JIdGVsaHMzeTUyWDVjTExFSE4xanE0RndzekQvTXo5SXRXNzVKdzlsTFRkenJxOWpMVDNhTHFkREVDQWN2WndpdmJ6CjFuMG8zUEtwN2M0VERydS9ucnYvRzlmOXArY2VMTGMvWE1rN2ZKN3p3VW5COWsvdE54NWxydDlIWC84T3RiQlFMSkd1Y3ZUU3dHd2wKbG13dmdnM1gxZ1hwTnMvYWN5bHhRUkJqUVFoeFVUREJONHp0SDA0TWlpU3RpaVdIeWNoUlNXU0prcUxRMG5TcGpJdzBrVHJWUGpsVgpIQ3VmcVlySm1oLzJBQlhhTEZoOXptSDVUWDVDbDBEV0xwSzFpQ1V0OXJJT2UrazFXK2t0WVh5SGZmQjM3QlUzU2N0TzByM1NuVDNuCkwxOUVqVm1LVC9CMmxDMEhoSUN0QzdOSmoyR2x5emlaY2s2MmxwMmJpaTllaHlzcXhlWVZvM01LVVZtNXNMUk1pQ2JGVXFtMkNvdWUKSFJ3OHpkOW4xbndYTXBmdmhXYW16cUR2TUtPL0QzRjRIKzl5aE9yK0ZkUHpjLzZpRDUyOVRqajdYUllGVk03enFQUDBhbGpxMyt5egp2SDM1cXE2Vm9WM0I0VGZDbzI4bzRtNnBKTjlyRTM3UUpmMlVKcitkcnJpZHBicVRvN21UcVpyRXp4bEtnTy9VS1YyNmxLc2F6VTlKCjZnY1M5UjJaNm9ZMHVUTk85a09nN25wNHhzL0xVbTQ0Umg4V2VDZmF6WFYzRWpEbk1xRzJPQ3NoZWhZWE9kMEdic2FBbXpFUlpreTAKR1JOckprTE9jaVphZTlqQS9ZVHdGWTc0WUZkZWlMdHo2SkszbDBpdjh4V1BoYnFyN21uWDVtdHZPeWl2elZNMEwxSjF1c2c2WFNVZApibkVkYnJGdGJoRk5yaUgxemlzdU9nVzA4U05hMkN1cldFdFBzaGQrWXpNUDREemVyZG5jYVE4V3RZQmhTNTY3a0wzSWp1Vmx4MWdKClBPZEFmbkk4SWpsL1J0STJiSGFaWU5NdXdmc0hSTy9zRlJRZVlaWHRKQlcvUXlyY1FTNTRtNzVtSjZ2c1BlN0czWUp0NzR2ZTJjOTgKOXdoOTV5SHF0b1AwTGZ0WTYvY0kxcnhqVjdEVktYY1RKMit0SUNOZm5KSnBxMHNUWmVjSThvcjVlV1g4N0EzTW5HMnVzdlVFMmlvVwpNa2lNQ2ViZ1ZwSmgzalNNL3lzQkFoMW9ZaHpJQnVkTmdYdFRrVXRZaE1XQUE5R1Fma3lzSHhYdCtsZlJlYzFmMDZWQjlhRWpsd0t3ClVQNTA1QW9hYWpFTHVUeEZHdlJ5TkVOQUpvQXBJL0MzY0F2RXdCaTJxeTJwQld3RWx0ZzBMRzhlL0xjckFoc2FPeGhHM0dGdzJBYUwKK2d6SWdKMmJlckQ2M3lVOUdGdTYvaXpoL0dORllubVk4MmN4em1kbDJIQlBjK3pNZ3lkRFd2dmpXL3RqT3dhVVRZTnZIT0NCeTRMTApsd1lrblVNSm9Qb0FXakNpYUJvQk81S2F4UGhiVTQrM2p5UmU2WTBIWldJd3ZuMUkxdFFmQVl6S3h4c2pZWEJMSEJXWFhSM1ZPSlRjCjhpeStmU1M4ZlNDK1RSL1IwUmRya3NZbmtwWmhTZXRBWEh0dlRQdmoyS3VQNDdyNkVtNE1KQU9Qcm1zNC90SkRiWGFGeHZGWUNyRXkKSFg1QmlhM1ZzTTRuVTg4blVXbzFoR290cFZ6RHJVZ2xWYW9nTlFyaEp5cDJkb0RaQWlvTVp3MnpzQ0FoWUJDNEJVeUVCLytCeGdTagpBUms0T3dsbWlCc2NhT3FUTVZDNk53Q050VElLRUJ3MS9jTHRHTVBDdXNtbi9XTTY5QW1YQjhKYUI5WE5mZEtPd2FqdmUyUmZQZEE0Cm5vcUZOR2V5cWpURW5SS00xZlI1N3FMbXAzRU5qME92amlpbXFzK1lBQTNFTnd5RHM0Y3RBMkVOZmJGdC9WSDFmMmdkdDYwQVY3K0QKTGE1Z0FFaUV0VExYdFdOUWRxVS9HSkF0MC9US2p0V0hFWkNnQUFGZjQxTDJvdWUrbTE5NkYwOVZrUDh1YnhJZzRETVNjTTFHbmhUKworV0xicjc4WC9QWTg2OFVmYTBaL3ozeitmTTN6RjNuUC8wei83V1hLN3k4ei8zaVo5K3NmbWNETzgrZXZlSkh4aWpRRDR5Ly93b3VYCm1TWjUrVEozSWk5ZTVCajU0OCtzZngzZ2ZsNk1GandmMWYzNlV2SHN1ZWJYMzlPNjcrZCtza2NkNE9oTE4xOW9qd2JiYVBDc0FzQloKTUN0dk8xUWd6eXFJWnhFcUFOZkpCOWdpQTZuVFBZVlFzR1lqSDdINGYxdUF4dTFub2dDSkRNdmdYM3ZQWlB1WnZDcCtUSUJNVDRFQgpKNC9WUWdUVG5NZVBHeGFMZ2FsQzgreExYTzN5QVFlYWI3L1pWZmoycEptdk1mdXhYVzlzQ1AvYWZnREVoZURLcnpkTWdia0pDd0QxCkVmRXluWG1acnN3MEI0YkcwU0hIeGFmTVViV2ZrcnFMbjc1YnJOakoxdTBScHV4bEo3NU55M3VQbGZjQnIrU2dlTVBIVHR0UE9MLzcKdGZPZWI1dy9PT1c4N3pSdi8xZjI3MzNsc3UxTHA0MmZjemQrU0NuYmpTdmNnTTBzWkdZVnNTWEpudk84RTJHY05ETzBlam9xeDV5OAphenFuek5KcE9jMFo0emJmZk1sU2hPZHlzdnRLNHVMVldOOVE4dkl3eW9vb1NuQThKVEtCR2llbkppbnBHaFZkQjZCeGxDb3BDZExGClFXR04rT0JPYmtTZFMxU2pLS3pETnE3VFZ0SnBLK3V5VDc1bXI3eG1yKzZ5VTNmWmFyOFhKbDkxa0xjNUp0L2dTSzhUd3M1Zy9RdVoKSG9GMnJ2QjU3aGFlbmpOOWxzd005TEZZSFlBSVc0V1BqU0FteEhBVklRSmxpSk0yeERNOU9DQW5PS3hnWlZ6eENsbHhZTm9XbjlTdApYcm1iRnU4cThqaWI2ZEdaNy9YZDlsVTNEMGRlLzJUbDdZK0Q3eDBMdS85bCtPTnZ3b2ZPUnZkZWlQMnhJZlp1WGVTamh2aWVKdW1qClJrbFBzMnlnUXo1NFRRVXdjQ05wOEdieTRIZUtvZStWd0hZUTJINnZIUHBCTmZDZFloTDZiK1VBd0s4OHVaVXljbE9ydjZZRUdMaXUKNnJ1dTdMbW02TzNRUG14WDk3WnBmbTFLZlZtdisvV0M4c0U1U2RlWmlKdGZKM2Q4THJ2eVlkVDU5MVlmMytCM01IL1JUdDI4TFVwbgpoY0k1TnNseHVVVHNHU1pZdWt3bzlaeTd3OVg3cFBQS0IzUUpvSXlYSFFCeFRHd1RKRjNsSkYxbHk2K0lGZGZ0NWRkdGs0M2Nza3U2CmFadllKWkIwY21McmhLR05yQlYxdktBTDNHVlh5RXNyYVl1L1lIaWNKcmpYUW5sSEVLSUZSQ0hlM3BHL3hJNnpWQ3dNWEVoT21FZEoKeW1CbGw0blc3Mlp0M2NMZThRbi9uVE84SFh0c2R4Mm5iOTFQM2J3WGdMSHRnTTJPQTh5ZEIxbTdEblAzSExGLy94ai92WStaN3h5bApiRDlFM3JLWHR2NWRWdEhiN053Tm5Pd2luaTZEcjFRS05RcGhoazZRWDhETFg4L04zV3lmK3c1L2dSS0hDK1RnZ3dYbzFZWVpMbDg2CjFzOW9QNVBXZ29IMW9OSExhZkJWTkVRUURiVVUwQ0RnZkNabUdRVTVmNnI2VEJTZ1Z3NDBaajhBRERod0pBZ3dMVExFYjdIOWt0K2YKRjYzMnAyTWhjd2dvY3lRRnd6eWJGbnd5dEVVZkQ0eE03WU5KLzZBbGd0RjRqQmozalRMVU1welk4U2ppaDk2RXFydnBFU2NpQlYvSwpLWFZwc0F0U2FsMldWWXcvbEdaZDNabDRiVVFKakl2TmZRa05UOThZZVdvZE1ncFdJakM0ZHVpbEhiMlJ0L1NoTjN0WFRJME5HSm1xClBtTmlOQ2h0N0lrRDFLZXhONlpsVU5vOEdBZmNiV09mbk1rMEkrR3NKQ2ZETCtyVG0wWTBIZjNKWGIzcWIzdkE1VmNtYVRKRWFLNE8KS2JzR2xZQzZ0UXlvcmd3cUx3K3J0clhMVjM0UmFmdVZsRm9sUVZmSGtpN282RlU1dElvTTFzVk02TmtFVEsyU1hxc2xWMmhZVmJtYwovU2xvbWQ5TUJnd1BONGZENStBSnMrRUlLeUxLZ294Q203TXc5YjN4allZUXptdXovRnNCeW5uYkM0MkJBZllET0JBTWFYYjVucVN4Ckg2dzlQZlhNZndiZ3BpMkQ2aXU5TWNEamF0Y0RsaU9KT1J0dGZVYU9yVkV6VHlUZ0ZndVJLS3ZRaENVTlQyVFgrK0xyaDhCcTJpWnAKRzRocEdKRTJEc1Mzam9RM0RraXZEaWRXRDJ0Rkc0TFJXQVFTUFJ1RmhNSmhsaWcwYk9NK1AwTXJrc1IyZll4SjJwNmtmOVlrd1NKbgpJZUV6MEhCUWdGNzZiaG4xL244bUFnUkhXR0FSVmp3U2htUmx6U0ZoR0FRb0UyZk94czZnbzdGTUhJcU90UWIrNDJUaDhRd01nWXJFCkFqczBQSlJHZ0V6QXlnandwVFVKRlc5dEdoekVDQVZyUFJIRE81cUFob2FhaEFqRnMzQjBnalZHVExWeDV1RjFTdkg5ZTluRHp6UkoKS3lPWnN4MkZFSCtPcGE4ak9vb1BDMkpERm90UXk4R1pPN2cvdzlLTmFiblFEaG5DZzNoeEllNGkyS3IvbWdDWjlwNi9DdENyVmZGLwpFYURKU2RCam9hRHhWaGpHSS9uT29od1hRN2xDVjF0QWdBcGRiWXM4bkxkNk9MMWo5Sjd4Vk9oeEFUSTBOMzF0UDhENVJnR2FtZ1prCjFDQW5UcGFqSU1kQm5PZk16M0t3U1JHTDBzWEx5cHdVKzJ6VDl0TXozc0ZsYnhOa3ZPZVE5QjViczRlOTdqQTc3eDNSbG8vdHR4K2IKKys2WHJ1K2ZkTjd6dGNPN1g0aDJIaE5zLzVTeC9TaDMzUUZoNW50Q3pSYXV1cFNyekJMTEZNNHhjUUdpaFZGWXNmWXRXcllaTVc4MgpOUWR1azR2azVpRjRaVERSdm1sMm02em1MclYxUi9wNElaYjRFdHdEVUV0WGtIeFhrNWFGQUE1RUNva2xSVW5KRWlrMU9ZR21TbUpxCkZmVEVCS2d5YW9OanlDL280QWJiOEIrNDhSMGkrZVc1Q1UzT2laMk93RkNkL0owZzZWdHUwazEyd25XMjdCWkowMEZWTnRNVFdwangKMTJ5aWJyQkMyNW5MTHpOOFV2MUZHZUdPK2RwRm05WUY3SDgzOUl2RDBXYy9rNVIvSVdrNUora29sOTJzbHYxY0szdDhTVHJjSVBtOQpPZjVGYTd5K1BmbGxtMnEwSTJYMFJ1ckxuM1JEZDlRRGR4VERQOGwvdjY0ZXZxWHUvVUhkLzYzcTJRMzFuOWRVZjF4VERsOVBBdlovCnZhbDVja00xY0UwT01IUkRPWEpML2ZTbXV1OUdTdjlObmY1V2F0OU5YYzkxN2VOcm11N3JJTDAzVWlZQy9NaklrNnVha1p1Nmdac3AKUFRmVTNkOXA3LytZQXREelkyci9qMm5BOGI0ZjB2dCt6bnIyZmRiZ1Q5bjZlM21qUHhjOS96bi94WjNDMFhzbG85M3JSeDl0R2UzZQo4dUwrNXQ5LzJUQjZwMmowZHVITDc0dUdyeGM4YXMzdHZwU3JyOHo3OVd6QmswL3p1ei9LdnIwMy9jY3R1bDl5dGZlVFZiOUV5bjhNClNmclJSM1BEUGJuTk5xN0pKcnFWSE50QmtIUmhaTmRRQ1JjNUs1dm9xMW9acSt1WndkWFVvUFBVWmVkcGZ1ZElTNzlFenI4RTUzMkMKdEYzSXRLTUttUXNjMkN4dmUzU29LelBDWlc1eXNLZ3dqN3IrWTlibXoyejI3S1h2KzB5NDQzUFIvcTk0ZTAvWTdEbEczLzBaWmZlbgo1TjJmMGo0NHdkei9sYzMrTDVqN1RqRGUrNHl4OHlQVzV2M2MwdmQ0K1p1NEdXdHQwbk00bWhSZWNnSlBIc2ROU2VibVpIUHl5N2o1CjI1dzFiOXRRUTRpWVFCdjhhZzQ4aUlMeTQyQUNXUGhsTE16S1Y2V0F4Z29DR1IySWhnVGNLSlNKQ3FHai9CZ1lYeHBpT1FXMmpFM3cKbjZvK2Z5OUFkSWlYRGM2WGlQU21vYnlaY0xmYlAyWWVQTENFQkoxRHdGaWlrQkQ2Ky9IaUUrR3R2ZExMVCtJNys4RVZURk9Id0wvSApPRWdEMjhaK0NUQkdBdnZBdHI0bnRuRW80ZGlEakpCdnBNS3ZWT1NhTkdKRE9xcGFUYTdKSVZhblFpT1hVUGxXclhjVHdNTFRnL0Z0CmZiS21KMjhVcjZ1OXdUZWVKbHpSSjlmMmErdEhzdXBIVXNBd1FGOTBXMytDU2NhbWpTWVV6aGx6b0lHNDV2NllqdUVFUTJjdU1NclMKRFBiM2tFWEdDaEZ3YTd0RE1mSXpNc201K0lUVGNjbG5GTHF6TWVGZkpwb2s0WXVFcEsrUzVDZVYwcThVb1NjU3ZUK0xjL3M0d3U3agpNTWJGQXVRNUNhNUtabE9Yd1RxZndUeWpaRllta1NvU2NWV0o5Rm9kc1RLZDhFMG1hVXM4d29OdkRRTjdXeExRY0w3VkRJckZkQXJlCkRBNHhRMkhNY0JCcnRJQnFGQ0JqbnJYeDJZSkp4UG8zMXNYUmxNNUhvcUJZbUFVQmFZbEFtelU5Qm9zVS9DY0ZDTXk4VVRjT1JnR1AKcm4wb2ZjTzFKT0dwSlB5VmJKdHpPbjVtSUI0eEc0S1psYkZ4ZWUyQTdOWVQrY1hCU09EbVRkTFNGM05sU0hhNVg5SXlGTk04b09vYwowaDY2SGsvUEQwZWhyTkRJR1NnNDJLa0RoVWZ1K2pxNHRrZGRONURlTUNBM3lhV2g3Q01OeVZnY0RJV1pBenpHdFN6UGw5NmJScjMrCm54RWdOQmFEZ2tFUmM4eklHSE1DYm82VnRSa09EUUgwRjRmRVloQlFKUERkZ0ZsZzRYQTBGSW1HUXJFSUNBSnBiY0J5RE5RY0kwZ1UKNU4vRXlzanJTeGw0MVROdU1oaTR0UkhnSGlhQ3gxcFlBamRQbUlPR21aRlIxZ2h6Y3lyZTdQUFBvcnJ2dk9ObDc4aXpXZ3hJQ2NkaQpPU0JBQXFRUHk4cUxBL0hpUUQwNHNIazhtSThZRmNLYzQrcEM4V1hOV3Y1ZkU2REp4dk0vQ2RDYmxzRWI3S2RvUW92VEluQXh2QmhjCm1UWFBmcDJyMk5ER3l3NzRVUUc0d3NzV1RJS2V0QkorVElEczEwd1FJRUNid0xLSGdBQzlNUldhbSsxaVd3QUlrQzBuelVtYzVlcXoKMFQ3cGZXYk9JWExxTG5icURvRnVHeTFySjdua2tIM0pwMjVyajlyditjUngxd25IOTc0RXNOOTFRdmoycDZ3Tmg2bHI5cEtLOW5EVQptMWpxalRSdEdURzFoS3hNRTY2TThCSXRESVB6ZEc4aDBxWmowdWZRTW1EOEhMaTQwRkpZWXNFdnNSYVdRaGxsU1A0ZW1QM2gyUzU1CmNEY240Znc1UzViT0NGeU9YN3FjNEwyUzRCOUtXQkZKREkwbVJNVVFwYkhrcERpNlBJRW9qVjRVRkg2Q0gzNVpHTkxJRFc2angzVFMKRkxld0NiZndzaHNVeVRWVy9GWGIrSzRGMHV0Kzhsc3IxVGZra3U5MXN0dEZpWGUyeWU0Y2xQenl0ZVJSWFZKZnEyTDBrdlpGUzhxego2MmxQdjAzNy9hYjJ4VFhsaTg3a0Y1Mkp2N1VyZis5US9kcWhlZEt1R1c1UkQ3U29CbHExQVAydG1yNFdkVyt6cXE5SjFkK2swamVyCjlTMmEzamJObzZ1cVIxMmF4MWRUSHJXbmRyZW5QYnlhOGZCYTVxT3JHVVB0ZWZyMjNQNk8zUDZ1L0w2cmViMmR1WDN0T1FCRHJmbkQKYlFYREhZVWpuVVhBZHJDemNPaHFFUUN3TTRtQmpnS0F3YzdTK3pmVy90SlZQTmhhOHJ4MTNaUDJVbjM3R21BN2NLMUVmNzFrK09yYQpvYzQxdlYwbEl4Mmx2N1dXNnErV0RsMHJIT3dxQU4veGFsNy90WUwrRy9rQXZUZnpIMytYTjNBejk5bU5uR2ZmNWp6NU1XZjRsOXlSCk85bFBmczU2Mkt2cWVhUjUrakQxNWIyTTMrOWw5ZHpQdVBkek9pQm5neTFwdlhXYWg5OG83aCtSMzkrcHVGT1VlRXNWMnhrWDFyVlEKMW13YjFVNE1hWUN0T0F2eHE3QmNXbTJ4NkJoODNnbk0vQzlSODQ0amJON0c0QmJic0MwYytNUzV0bmJ6RjFJanhkaVlSVFp5aFNnMwpsNzFwSFhmWEFkNmV6NWdIditRY09NNDhjSUo1OEF2NjRhOG9oNzhtSGdUNGhuejROUFdqYzlURHB3QVpvdTg0eXR5OGoxbTJnMUpjCmhzL0pvK3N5YlpSS2JtSXNOeW5LUmgxdms1SEt6bHZITGR3cGlDaGtvd0pacEJBcUpvaUxDbUlTZ3JoZzF3c2Znd0NCRGVFbmRrVUYKd1lQVFhnejBjaHVjTngyOUJOaGhvSUtvU0srcDZ2UDNBc1JDZWxGUWJqU2NEeDJ6aUFGWmRPNVU1T05lSFFVQnhoNXdjRXRTMFhMSwpLV2xyZDhLRlo5RlhleUtiUjk1WUNmcE5qQXNRT0Y4emxOZzJuQVRZVC9udFZVNmZ4OXVkVDBKL0UwV3UxNkVxZExqemFmUXFIYU5TCmJsT2VUSTMxbURzZmVXc2c4V0ovZk10US9OWCt4R1o5K05RcmoxMS9NSzVTcjhtNkdMcmdVQUQvYUR6OVV5WDFtSWJ4WlFyenVNSWsKVGIzeHh0emhOa09DdHZFaXdFc3c5VWNmRFVaVHdOTE1pWTE5Q1UwRFNZMkRFWnYyK1VGSU0wbGZ5ZTFPeGpISzViU3FORngxTHJGQwpUcXcyRGFFNmdWS1RSSzlXMEtvVXBFb0ZwbHFGdUtpQlhVa2xuSld5NjlLcDFUcE1sUng5VVlHOG9NTFdhQ2tYVW9nMUdwdmpjcExLCkhTWEE0dUN6aVBEWkZKd0ZEakhOSEdlRlJadk5uOHVvT0ZXMnlJR0lJWmlSa0JDVURmWktud1F3UExBNTY0RDBWWFFOTU1zM0NsQmkKbmpNY1lRMElFRENJSWpGdkdjdFlnN25lVTg3OFozVHE1VTE5a2MzUGdDY1pYZHViNC9KcEZLb21pVkN1d0I5WEU5Rm9IUEJGd2t6YgorV25JNWNIRXFudWhqWVBSZ09LWXBLVlBVaitRZkxGSGRxVTNwcUUzcGVHaE52OXJiNWg4RlJZK2s0U2REa1owMExPc01KRFNUM3ozCk5LN2UzaEQ1ZG4yOFNYWmVEQ2c1dHN3S01nZU5zOFlnTGRiWWVMejAzampxTzlrLy91dThTWUNza2JOd0tEaU5OQjJ3WGhnTWdzQloKd1pBa0tIdzZIR0VGUjg0RVBrRndoU2JNREltYWdjVlBoeUhOeG93RWFZRkRXUnFZWXdRRHQveTN3Q0xCWG1QallCQ3pqQ0FRNWlaQgpvc3hSNkZsVFFhQ25BWjhVR2dWRFFpRVk1QXd5M2d6NERtQXRzZnJCMkwxYnRHTEVZaDdFU3dRUDRFQjhlWEF2TGl5UUQxL0ZodmlMCmtDdHNMSlp4SWN0NFVIZTIxWHpnaFArYUFEbUlDdTBuK28weHhqTzUwRFBvUFdPSXNnR2NSSG5PNGdJRDREcDVNSVkwT1JRMDFxc0wKalByWUZicUlBWXJCWG1CZ1g0c3lRMnYzVFFCanhROE5qQjk1WlVXQUQ1VVpLMGVEMTdFRk03S2Q3WXZtMlJaNUNJczhlUGt1YkREMgpzNEMzZGdHMzBKNlZ5ckZQNGE5WUk5YSt5OC80d0ViM3JranpBVDl0THkvdmZVSHBQdEhXSS9ZN2o5bnYrdEx4blcvRU8wNkpOcC9nCmxuM0NXSFBJSm5lM1NQdTJPTG1NbTdpR2s1VE5VR1hZSktyc2xvZjRjRjNpTFNscDB4RDUwNkhwVUU2Nk5TdmIycVlBeGltQmNkZGEKYzlkWkN6WkN4VHVzbk5ZZzdkWVI3TjVIaWorZkxUb0lkMUt5WEJ3YzdHYjQrMXI3K2VGOC9hbkxBc2hCZ1pqZzFiRFFVS3Z3Y0xQNApPSXhYeUJyQ3FrNUlXQnNyb3RVaC9PYjhxS2JWc3F1U21Gc3AwcDlLNVhmZlYveHlQUEZPcGZSdWsvVGVWVW4velNUOXJlU0JXNHFCClc2cUJXeHI5RFczL2RVM2ZOVzEvUzBaZmMvbzR2VTFwUnZxYU1rM1MzNXhqa3I2V3ZISDZXL1BIbVhoODRvLzZXZ29BK2xzTEo5SFgKQnRMZlhqU1p0aElBUUhwTU10Q3hkaEw5blNDQUNVMWlvR3ZkUkFhdmxSblJYeStleU1DTkVpT0RQK1lQM3k1OGNxZjQyZDNpWi9jSwpuOTR0R0xtVE8zUTdlNkE5dGI5ZSsvaU0rdUdIOHR1YkVxNXJJaHREQW11OWZDNklnODZnRm43eGx2MEhabUxsTkpaNEZ0NlNURFYzCnNhZTRzMjBDSE5peFM1aWFVSnNDTlhmTFJzR3UvZngzUDdJNWZON213RGZjQTE4S2o0Q3dQdnlDK3VGSnlpZG5XUWUvWWg4NHlYMy8KUzg2T1QyektkdE1LMTFHeU15a1pLcjVXdzFFbk14V3hUR1UwUnlNVHBhV0kwM05FcVFWaVdDZ1hzd0lRRVNiQmg0dnk0MERCMkE4Rgp2NUtMQ1JiZ3czalkxVHpzU2dNaEhHUzRBQ05oWWNkV3lFOUlqdmExd2ZoTVhDazJrWW41UTYrc0NOUWdObm9aR2VySkpucVRZVjRzCnJHK1dXam82dW82REJQNnZpaWNpWVl3bFhHRHczdFlWZGJ0L1ZZcyt0cUUvc25sSWFoSXdEOWNVTFgxeExRTlJWNTlGdGVpRHJ3ekkKM3JtWjZQcjVhcHR6NmFTcURNd0ZOYTVlaGF0S1lwNU40Wi9McEZabzhYVUtSbVVaY3JWYllDcTFvenZsZXJjQ1hOZlRrOUFCenJPQQppUzlUcVIrU1gzZ1N2ZkNZaG5KYXd6NmZUS3JKcEZWbGtpdFRhWlVhazZ3Nm9mNjVSMTQxSEgzeFdYRExvUFJtZDBiTFNIQmJUL3JVClNSa2o1MytJZ2NIbnNENU1zYTVOSkYzUVFpL0hVS3JrMk1vc1luWHFPSVFxM1RqNHloUktiUWF4U29jOXJ5WlVwcEFyZGFTS0ZFcFYKS3UyOGhsbVRCcnpFMTZUZ0x5bUp0Vkx1V1MxOXQwTG80MnBKUlZxaXJXQlFDeG9laXJJMncwQm5rckhFaEFDSG4zNU8rRzA0YjNSVQo0eUNnNDRqQXNEY2J5eU1iQTJtQTk3UzlFcmgyUUVUQUlOYmt5VGdqTWFtZUVOZzBETWFNQ0lmUjhWWTMraE12ak1SM0RrVTJQVW02Ck1pQ3QxMHVhQm1XR2lCZFloN29WZENtWk1jY0lPTjZnbHpUbzR4b0g0b0hQdHdsYzZCN1hOQ2d4SEpTQUJtYW9jdFNrVjdZTUo5YVAKUkYvcVQ0aytKY1hYRkRET3hHQXZacEU5aFZBcUFoaVk0VWh6eHFaZ213b2RxVWJGUFpkTXFkQ1pCSGhpeExOeVZvV0NYQ1huVmFmZwpLclNVeWh6RWFtY0k1aTA0YmpZUllXbUZzVVJqTFdpSFpiVHpLdlJGT2FWU2FSTHVHUjM5aUpTSU5BZEdjUUxTZWgxNzBiUGw2MGE5CjEwOVZrSCtJOTMrR1ovNXJuL3V1SFYyeWRuUlI2YWhYNlhjckNwWkQ2RFFzam9ORy9rZGdveEFtbVhybTM1Ly83NEltb2ZqV2NBNFcKSzdDRWlLd2haZ1RRbG9nUTg4eWtsWGZ1eWxoV2p2YW9ZRDUwS2NmU1Z3Z05BbmFtbGxJME1sVmxYbUZjZXoveGlFR0FyUDBBWHBVOQpORlo1bml3OWJ4YWcxOGZOSE1WRmprYUpBVEU0emVzYzUwbFZmd3dtQkxnUmFELzV3Sm5HQnZKak9kU3ZKci9HbXNBYitwNkNqTmtQCktFRGdTN0EveG5yRGhOZGtBVEl5WVZKc3ZTRnZHaFFnOEhlRlJRNkNYRUNBNW9vS1hOazU4M2k1Y3dXNUR1SThGMjZ1bUozT3RVOFQKclN5elY3L0xTM3VQbzk1bHEvMUFtTE5mWEhqUWZ2MVJwN2VQT2U4NDdyRGpoUDJXTCt3M2ZVRXZPMlJUdkorZitaNjkrbTA3eFhxdQpxb2l1eXFISTAva1JHamVQa0NDcWkyUU9WVDBUbDJwQjFGbFRkVkJtNWd5NzNEbTJCUkJlRVp4ZEFtT1hRQVZyWVU3cllBdTNZZTAzCll1dzJZaDIzWStkOWdGNTRHT2wrRk9WNUdPMFJ3UEVXQ24xbmkvek4rTXVtOC8yUUxsNkVBRTk4M0VJUDdkTEUxR1duZEtFUEMrUHUKN28rLzkzV2N2anIrVVZ2Q28ydnh2VGRsb092Y1NPN3JUT3h0U2VocGx2VTJKVDVzU2VodVNRWjQxS3JvYmxGMk42c2ZObWtlTktyNwpHdE42RzFJbjBuTkZCekRwNEdzYXMwelMwNUE1OVdCZlUvYkUvWW4wTk9WTXBMYzUxeVFUNUFrVXBuRW1DZE00azRScHFqYjFkUlFECjlIZVdUT1pxRVlDK3EzZ1N2ZGZ5KzY0WDlOOG8xTjhzQU9pL21RdlFkeU9uLzE3R3dMM01vWHM1djk0dmZINnYrUGt2SmM5L0t2enQKdTRLQk50VXY1WklmOWtmY3pnNXVDbHE2VlNSd3A2Rm4yMWliTWNobVhNcU1lWHhVaUFjdEpacFdra0hkdW9tMjYzMmI5ejlsSGZpUwplZmcwK2RBWjB1Rnp0SS9LR1IrZm94ODl4Zm53QlBPRFQ2azdqdEEzSDZLdjNVWE5Ya1BWcFZLMUNxNUd6dE1xV05wRXBsb0NiSG1wCkdyNDJoU1hYc29ncmFKaGx3SmFMWDhGREJmQ3hRVGFZbFF4Q0tCY2ZMQ0JHOFBEaFBIeWtnQmpOSjBTd01jR0dtRkFnd0dzSEdoTWcKdjZucU04WXJUeklVZ0FZRnlCZ0JBZ1NJaXB4UFIvbFQwSXNwY0ErL0JkNVBmODFidVlnS0EvNG9oSm1qK0VqU3lWUjVlV1RUdzZTRwp3WnlXd1RlMlJHZ0F4a3RUdEkzSU80ZTBkWDA1MlJkbG9rOGpDV2RTQ1pXWjlKcFV4b1VjNmpjcS90a1VIcWdJR21KdEJxMHltM1JjClE0MXhKYkZndWczQzYwOVVIWDJ4OWNNUndGaDc2VWtNTU1hYjVOdkhZSHNLMWljeVhFMGF2bGFPck5WaUsxU3NHaTJoV20wU3U2TWgKdHdZU1c0ZGpHd2VqNi90Q09ucGxsNStGVkkrRVRaMHNNM0twUDluT0JjUFlKcU9mMDltZXk2UlVhMmpuVTNEVnVkUUtOY0JFdGFKWAphUUVJNVFyd25Bc3A5Sm9VeGdVZHRVcERLVmNCWUM0cEFTMGpWT2l3ZFNyOEtSVXhQNFE0MzRhQU5vTVFaODJDemlBVDRIaW9PY0hDCmdvT0hGT1hQZlRpVS9NZlQ0aXNOeXMvZXkvaDFvTVNXeTBBaXpPQXdDSktOdU5JZmJWeG8xandZMXpJVUQyekJIWDBzS0NpbUNJbGIKZ0lUTlFhR25vK0V3R2duVzNxK3FmNUowb3krMmJUQzBkVEFjTEEwd0FuWmpiUjVNYmhoUUFyVHA0MXI3WTBFRzR0b0d3UWdjbUE0MQpFTnM0SUcwR0Y5QWxBYytrc3kvaGFxK3NxMGZhK1RDbWVTUzVkU2l4c3pmK2c1K1NHRitwQkRWSnVOcDBldWtLSkNoenN5aFFDeFJxCk5uMWJCTFlxeGZLaUhGTURHS3JLSkdBVmdISWxxU0lKVlpIQUtGZGlxbE9vVmJub0pUd0NmQm9CTlpzS3MwVER3YkFFODJnU3RTb0YKZDFHSnF6RU5wU3FOOGtrU0ZqNGRiSnlPdEM1bEwvcDFtYUhyMWxTVitXZE1VWmwvaU5mYWwvN3JmdlZmKzZkdjZlamlOYU5CMjBmbQpaLzhhV1Bhbkh4Z04rZy9nVS94ZjRmZGxKYU5MaW45YnZtYkFMN2RxWGpRREMwY2h6TEhvT2I1dWJQMWdxaFBKazIrOVhBRHo0a09XCmdkV2M0V0RCd3pmd3VxZllSUDVHZ0NiYXo3Z0FUUlNkTi9FWEFYSVFGUU00dmVxRUNyYS9NSWpPUkEyYXlGeGJ3SHNLQVZ6c1NnQU0KOWdOMmVqZTJMQVc3ZlJrWWIrRnUxQmVqL2JqWmxobHpmUXh6WHBPOFo0c1JZMXVNc1Rhb2h0Ynh4cFRxK2VJaUIxNk9vNjNoOWpoWgpjM2s1SWw0bWk1ZkdGYVU0TE14M1hyM0JJWG1uS0gwUE8zTzNJSE92Yzg0UjIwMUhIYmQ5Tm5mN1YzTzNuM1RjZEVLODlpTmh3U0YrCjdsNWI5U2FlZWdOWHZrWXN6UlBFcG5BaXBHTC9FUGY1QVNzSnRsSUlLM002SVg4bU9nZEN5b0N6Y3l4c2k2Yk56Yk9tRlVBNGhaYWkKWWt1SFVxalRKcFQ5Rmd4M000YStBMlczRytLMDEyTGhYaXZ2bmRZK20yZTZ2MlBtZk5qTStmUU01dzEwdHpBL3p3Q2xkOHFhbFlmZgpEVzg2RnZ2OWVjbTlpeEg2TnVteld5cjk5NHFmdmsvODZVWlNkMnRpZjMzaTdSYnBMeTJKOTFxU0h6VEpIemFvSDEzVzlseE83YitjCjl2aUsrbkc5eGtESzQvcFVrTXZwank2bFBiNnNuc1NqU3lxUWl4clRYTmFacFB0U2lwRkp4OGZlNjYvMFhFbDdWSjg2enVNcmFSUEkKR0FlUUtwTk1kS3pIamRuai9OV284cWNDbUZOdmE5NDRmVzM1NDB5TU51azdpbDl6dGRRWVRBSWtTWDkxRFVoWDhjQzFrc0gyOVVNZApHd1k3RFhOd040djZidVgxZnB2YisxMzJ5eDl5bjl6TDEvZVdEUGVYdlh5NGNmUld5ZkNsMUx0bkVyN2NGN0Y1alhka2dvTjlpRDB1CmRDRkV1aHFhcmtLVzVCTjI3S2Z2T2NvNWNHeU1RMSt3RGh5bjcvc2NkK0JMWUN0ODk0RHRoaTM4ckN5bVNrbFh5T2txSlVNZXoxUW4KTW5WS2VwcWFuWjBxeWtrWDY5Uzg1QVJiejFnYzBaZUZEUkZpd2ppSVpUemlDaFkybUl1UHRjR0Y4MGdTUGtuQnhhdjVSQzJmbk1naApoYk9JeXdFeDR1REE5S0MvTEEzN2x3WElzRFllRkNBbXdwdUJkU1BEZ3hnRUR6TE1uWVZ4dVg4LzY0TWRpNUNZbVFURUxBdk1OUFl1CmhlaVRpTHlXeE53Tzdacm0ySzJYNDB5eXNjRTBvV2ZqNW44Y1kzdE1KenliejY3S3BGOVFFV3NTaVJma3ROTko3R3JnNzM0dHZFYU4KdWFDbUhvbkh4N2hhMFZCb0RJRTB4M3JqUnlzdWp5anFleU1iQnNMYkRmTmNqWU5SSnVrY0FoY2lZVCtQNWxkbnN3RGJxTlVnS3hNSQpOWW5rU3ExSjZEV3lNLzFKWUdoS3I3czhKR3ZyVTdicTAxdEhFcVplMlVqWFVLSzZ3Skd5TVpKWmtXMXpYb210MHRES2s2alZjbnlWCndnaWhXamtSeGdVdHBWSkpybEJRZ1cyNW5GS2hZRlNxYktvMTVQSUNTbDBhOC9ORVV2UlNBdG1HQ29jaklOTmdxSmtFSkJFUGhkRGcKVm81TXF5TjcvZjRjemU3VHA1NytPaWx1V2JBdHhUZHVxV3owZWJHakNJdEZ6aUpnc0ZndXBuNGdFZURLWUZMalVITFRzQnpZZ25XUApCcE9ucG5zYjhWckd3NkZtby9GbWdBT3gyUlkxK29TTHoyVHRQV0V0ZllEcnFOcjFDa0JvUU4zUlI3WDBoN2YwaGJUMUFjOUUxZ3BzCkFmOHp0SnB2R1V4c0hraTQxcFBVMVpmYzNwL1FvbysvTWdpMlI3M3llMno5ODdoTC9ZYkZiajF5cDg5aTBMVUoySXBremdrTlJJQW0KSUMxSjBEbE11RFVDTm9POU9aeDZOZ1ZWcTZWZDBCQ3JrMDJDcVFSdGtsS25CZVNHZFY2SnFkRlJ6MmZpZUZnTWNnWUNNd3VQc2NZagpMTkJ3YzlhbktsSkZDaFo0dkFZQm5ZcDFqWTcwaFJLRG5VVkJXK0VSVnZrc2QwQXlScGRPOFpoL3pGU1YrV2NzS0JsZHZQYTVWd2tvClFPNkZvNTVyd0p2MExRUHp0ZjhiL09sVi9COEJiRzNtV1RTNnRHalVmLzJnZHpiVmVnNFVibzVFeitiaHJWNk9GdnZZTFFlTC9jQjgKQUFFU2dQMHgvaElCR3Erc2FDaXVhSm8zQ2RBaysvbm5BbVF2TExFWEZqa0tRQndFK1FDT2ZBUEc2VEJqN1o5WEdFTkVCZ0VxTmhZUQpjclVyTTNRVEt4dHYyejRKWTFhUUlmQUQycytyeEdmUWRTWUowRUxIclFhQWx4dkhybVpvSEFZSUVDQTl4dVh1Z0FBNUNITHNlVm0yCjNFeUJPTk5od1JwaFFQNEN5ZHVMMUhzY2xUdjV1bmRGaFFkdE4zNEdCbnQybkxEYmRzSjJ3M0ZoeWNmOG5JUGMxSGQ0Z1Bxb1NsMmoKc2gyak1yaFJXa3FZbEI0WTdPYm1GVVYyeXBqRnliVWc1MWpTOHF3WitSQlduaFh3a3A5blpWc0lkeTVFY2twUWdsS0VlQVBjY1RQTQplU3ZFNlcxTHg1MlF1WVhtQzliTWRDczFFMitjeWRtTjV4MXg1SjlhNlZTdlh2emp6dVcvSEY3UmR6YjBqNGJvMFU3SjZGWHByKzBKCmZTM1N2anJwMDR0SlBWY1M3OVpMZWk1SWVpL0tIMTVXOWxZcGg2dlNBQWFyZEgzVnFwNXErZU5hK2FPNnBPNUxpWS9yMUk5cVZTQVgKTkFaU2pEeW9sZjliUEt4Vm1lUityZHJJZ3pyTkpCNWUxSnBDUFU3M0pjMDREeStsanROOU9lMDE5ZHB4SGwxSmVVMTkramdUNWVsUgpROVlrSnFyU1ZHSHFhY2tmcDdlMVlCeDlXd2xBZjJ1eEVYMWJFY0JBZTNGdloybmYxWFZHTitycldBTUE3QUErOVBoVzJkRDE5VTg3ClMvcmFjKzdmeUhyNFM3NytRZEdUdXdYUHU5OStjVy9UYjk4Vjk3WmxYNnZML09aMCtvWkRLdmwycWQzbUl2ckdEZkF0ZXkxMmZtbTUKK3d6bS9XL1krMDQ0SC83TWNlOEh6bnZldDkyOGpaR2RSMVJxeVhJVlZRV2dzRkZMR0pva1dwcVdrWlBKS2NnVlpLWHkxVktPWkxWcgpvaHpOOVNYQ1YvQ1JFVnhVRUJzZnlNRkZDUEZLTms1alM4OTE0V3h5b0c4QkVGT0xoRFFsaHh6QkowUndjYUZzN0Nvd0h3aXNEUTB5CldYcW1DSkN4LzlkRUFhTEFQV3p3aThpSVFEcmVuWTcyb2tFWG5EK3QvUEZIS1I0NWk0U0VRQkZ2Y1hTckVHYzF2Sm9FWm1XQ2ZYa1kKclVaaEVtYVZhVWhuTWdoVnFjZzZKYkpPanE2V2c5TWNaeFc4czNKcXVZelFvTUZjMUJMM1I2TlhpckJFS3dKa0doRTlDNEcwcGtCbgpINm1UMVEvRlh4K092Zm8wcHF0SDJ0VVREN2JvTWtYYjAvaUwra1JJWFNLcE9oVlJycUxXYUduVlduNjVrbGFaWWhKQ2hTNi9McTZ0Clc5clJyN3J5TEtGMUlPUmFkOEwxM3BDV0libEptbnZqOTlXRVlncFhNRTRXQU1hR3JjbWhWQ3ZJVlhITXlqUWpqSXJVaVFDM2dhOEEKVEV0SHJVNmpWS1hTcTlOcFZXbjRNeXJHdStHd2hXd3lFa1dFV1ZnaXBtSElhRFFTaDRXVDhUQ3pWWDYwU3pYUzM1OHI5WDJaQjdlbgorZG9GMjJKOVJKaFlQajVHR1JJNStsTEpKbU1NNmFXV1JDRmVlRlFCSVBwSUtmNUlhZnV4Q3NEdXFCSkEvSkhjSkZ3bkxoeUdSc0V0CmlOQzNuQmhXWDk5TnJIdWk2aGhNYkJ5T0JXZ1lpcnVzQjZNN3dKTnNIVTRHL3IyTmhybXQ1aUZ3ZVZmalFIeURIcHoyYWg0Q1czbTAKOWNXMzkwc01nSHJVMHB2UTNKTjRkVGpsMXNEcTVIT3h6T3BNVEcweW9TNmQ2TytLd3MxQ3dXZGprQlpZbEtVRmVoWjNSeHlySWd0dwpHbUs1bWw2aE5BbWxRc2MrbjBLdVVtT3JWYnh2MUxTYWRPNlpkQ29SQ253UG9laFpjTHdWY0RWTGpEbmxjeFhpZ2c1ZG5VS28xcG9FClZwZE9QYVpDb016eHNEa1k2Snc4cnZ0enY5SlJyLy83SWtBK3BjOTkxLzd1czJiVXYyelVwMnpVYSsxbzRNWkJ2K0twWGNiK3M3ejAKV3ZPL3lndS9OYi82bDR4NDVZMTZGdi9wVjBSRVdDSXg0QXBFUGg3eGNqUi85Y0pnTVNLSUQvVTJxZ3pINm5WVDFZbjJZeENncVRHaAppYWY5NndJMCtmZ3IzaUJBem5icm5HekJFQTdBMklvd0lkaXNkRklyK0ZkelpFV0dodkJnbVVUQWV3RDdtZWV3Y1I1Z01BNWJYRzAzClRzVkZ2TUdZOFdPYzlocVA5QUNpTXg3eW1YalFjUHgxK01mVnRzVFFPZFZRZlpHZDdTWXVkTElyc09kbk8vQ3pSWnhVTzZmOHdLaEQKUHRvOVMzUWZ1S1R1c2M5ODMySE5FY2RObjR1MmZpNTQrN2lnN0ZOTzhWRjI1bjYyOWwyZVlpcy9xVVFneStESHF4bGhpYUlBQ1dkeApHTWJkbitua3ZwcnFuR2N0TERObjVrUHRkVkN4R2lIT2hJblhXb2xMTFhoNUVGWXEycVpranYwNmE1Y3k2M21sbG00Rk01d3l6UVJaCmI0bldXcnNkWUhDT3VUdWRqZmRvS1BIOThjUFYzWlhSRHpyaUg5eFczTDBaMjlzaEdXcVFERjVPZkh4UmRyOU85dkNDOUhHVjVQR0YKN0tIenFRK3FsSGN2SkQ0dGx3M1V5WDVza3Q2dWo3OVhGd2R3dHliMmZuWDhneW9BYVhkbHdqZ1BLMlJqbENkMFZ5UUNQS2hLTU1uRApxaVNUUEtnMnpjT2E1SWwwWDVDL2lVZTFDb0MvU0ZXZDRqVVRwS3E3VHYyYWk4cHh4bUpVQnNZalQvOWk4R2xpdEttbklYMENXZVAwCk5tYVAwOWVZQWREZmxObmZtRDJSdXgycDl6c3l1anN5dXp1eUg3WG5QbTdMN1d2TDEzY1U2aHVMOWUybC9kZlc2NitXRGJXVkFnQ2UKOVBEYXV2NXJhY00zc3AvZUxQajlSdkhvOTJ0R2Z5NFovU2w3OUphNnV5dXo0WEw2QjJmeU5jZTJMVDI0bjdIcnFPV1d6Nlp2T2tIYgo4Um1wN0gxODlocUNTa3RLbGxHUzQrbEtDVjBqczBtUlV6UnljbG9LQzF3QW44dlJKYk5rd1p4WVA0RXlncjU0SllFUXdFS3NFcE5DCjJjUVFObDVpVDhxMm8yMXg0Ky95ZGptODJQNURUL0ZITHV6ZDlzeDFIR0tLa0JqSHcwZitSWUNtVkl1ZUtrRE1LVk5nTktRSEErTkwKUm5wUk1CNTB0QThUdmlnOWVlWG9hQVlMYjQyRndMRm9jNnlIRGVGeVB1U2l3ckkybFZRRHB1NmFoRkNwTVFtN1ZrcXBpaUhVeEpGcQpGYmhLTmVGQ09ya3gxN0k2V1Z5WlJWOGZDUE9nd25Fd2hDVUNqOFNpSWVZNHVOa3MyalFJd3V4WUs3aVNxMTBmVi9lcjVNS1F1bjVRCjA5WUhkbWlmU24xZjFOSHZJeG0xQ3U1SFNlaFA1Y1JqRW1DTXBCNU5KbitlWkJMWWVjMmk0L0V0VHpWTkExRTFRd20xVDRLYmh1VjEKVHhSVHIyeWs4Mmx5OVkrSmFBOGl5bFhJOE9DaDV6bmkzWVY0ZHlwNkljTUl4cDA1RVpJN2k3Q0FTVnBnUTV6UHhMdlJTZk1ZV0dmeQpIQTZVUEdjYUZUOEhoVFREd015d09OaHN6Q3dzeFN4TmF0TTNzSzUvSk9YN0h6SkwwcExuMFdLRWlBZ3VQSVNQaXVQakFqaUVWWW1yClF2LzhJME5BRlpBd0dCaDhPbDdJTldhNlVLdFVBTFNKVEZHOU1leXNNTmc1YUt3VkZERnJGcDRzT3FlZ1ZDZ3dweEtjRHlnOWppaFcKSHBkcHo4ZTkweVk3OVV0aVk3KzBheUN1bzFmVzNpTUZBSGF1OWljQ0dJODA2NVZOL2NsZ0VVVjlmR3MvYUVLZGZiSXVmZEwxQWZYeAoyNG1Va3hKaWxRNWRveEp1bEdEeEdCUWFiTDZCd3N5QjRDMW5rNjJZMjJOWkZYbTRtZ3g4ZVFxNUl0MGsxQXVadElvMGJMa0dVYTNsCm5FK24xZWJnanl0bmtXY3pyR2NUSWVZbzFHemdnbERnVWdlVEtlV1o3T29jVWxXYVNmamwrYng5eWNCYlk2eUJyNU5sb1hqSnFIL3AKNk9MLzNDb3d3RlQrTGFhcXp5dis5QzM5WTltNlp6NGxMN3pYL0FsR1RVcEJwbDdoUDhxZlM5Zjhyekk2UHg4TUtRSFN1U0IvZEhFKwpEbXFCaGMxbXpKNGxKcEYrZTVFZXZnUVFvT1U4YXgrd3V5clVlNUxvL0g4Um9GY1pQNitaWWp6L29nRFpsZ0VZR3NLUE9kRFlPdmEvCk1yRmVvakh3NDJhL0FjUnVrd0ZRZ0Y3dC80VjV0bHZtMjIxZFlMOXRRb3pIS0RwakFqU0ppWk5meHZDUFVZQmNlRG5Pb2p4YlFiWXQKTjlOVmxHdkhUUmVJTTVjc2Z5ZEl0Mjl4MWdHSHdnT2lqWi9hdi8yRi9lYlBSU1dIaFlYN09Ka2ZzSFc3T0lxdEF0azZjWHkrS0ZySApDNUhhQklVamZWYlp6QXVpT3k2RE9pOW1DUmZFa2x5TGtMWTVXRzRXUXB5SzRPdFF2QXlzTUE4cExyQVdyWjNqVUdZeHQyU2FmZjQwCjIzUXpYcFlscDVRajNPTnRmMHJwMGJvNThOYVpsYjljRE85dWl1aHVDdXR1aXVxdWw5eS9rUFJMcGZMK2hRUkFMKzVYcXU1VkFDZ0IKQmVtcGp1K3JpZFpYSkF5ZWw5eTVFUC9ESmNuakNtbjNPZG5QNVVuZFp4VS9WY1hjcm95N1hSNTc1N3prbDNPeWUyY1Q3NTlKdm5jNgpxYnNpN21GNTdFU0FJNDhxNCsrV1N5WnlyMEpxNUg2bHpDUlRWV21NTnlqUm13enBUY0wwNElKeUlxOTlhS0lrMVNsZSs5QkVTYXBUCmowL1ZUWXdxR1hsMFdXdkF0QjVOakNSTmpDZjFObW9CK3BwUytwdFNEYVQzTmFZQjlOZmw2Qy9tRHRTRDlGL0o3bXZJTW1TSVp3MjMKRkhXMzVkNXRCWk9mZnJ1VStlSlN4dFBHOUo2cm1UMGRKWDJ0dVNNdEdYOTBwUC9lbVRIUW1mbndSdjc5NzljTTN5cDQ4WDN1NlBjWgpmOTdTOVhibE5EYXUzWHQyZmZZbjY5MjM3aURJMVdZQks2YXZEa1luSnBEVnlWU1ZoSzZNbzZXb0tUb3RJeXVMbDVmUHkweWxKMGZiCnhDM254Zm5RcE41T2tsZ2I1eUFTeHB0SEN1YmdvbGdZaFF0cjQwTEIwU1ZPQjFZdVBSaTRhRitneHllTDdBNHZFT3dUVXphSnlRa0MKUWl3SEd3S21BYjBXb09XVHZlY1ZKcE9nd1VyUVdDOEszSnVFOXFCZ0Y0RjFwWkdMRi9LVy9qbWFHK2JMZ2NPc1NBUnJDSGFhNEt0MApRcTJXVUpOcGN6YUZXcUUxQ2JIS05JelRjYXphRE9LRlBGUmxPcWxhSTZoV2NqK1B4MjBQd29zWVZsZzRBZzRsSXpCNEMyczZGb09DCnprR2o1OENKMDFCUXM3T2RLVDhOSkgvL0lMSmxNS1JqS081R2Y5VFV0cGRHT3A3bUY1OWZhU056b3BJc1lUaHJOTklNaTdSQVFTMHgKeUJtbU9aSElPcDV3YmtEZTFiL3FWbTlTVjkvcWEvM2g5WU95cGtHSlNacjFLN3BHNUl1Q1VVaUlHUW55Rmc0S0k2T3dCT3RaQ0lRRgpBQklKZGgxSG9hekdnYUFzQUtCb1N4alNBb0cyd2hMZ2dPN0E0SE5nZUhNQ3lwd0VnUkFoV0djYnhJbmR5MGVmRlAzNk12dnNtVFJaCldKUWRNWlNOOUJjUWxnb0lLM2pZRUR2cWFpRld5a0ltcDBWa2pZNFdNUEZZSkF6OFM1cm1Jc0xWcUFIR1U1cUlWV05NVE1TZUNGWkUKZzZIUUdEZ2FENXVGeDlOdFRxZFFLMU1CRGFYV3BsR3J3ZXdyOG5rMXZWekxPSytsbjFHUnZrNXkrRnkyNEVUODZuT1M3S2JrQXo5cApxbnRUMmdlVVlPZmFRVm5EVUZ6VFVIVHpjQlRJWUl5aGlXbEMzYU5rcDYvbDFDb1p2RW83OTFRdWxrbUZJMllBbnlNT01nT0ZNSWZCCnpGSHcyWlNvQlp6Y2xjeWlWWUtpVmVTaTFTWWhGUVJRU29Jb2ExZmcxNjFnRmEyaUY2ekFwWHBaNGNIV0VDVG9IQ1I2TmdFMkM0dWMKellyM1pHbDhCQ3BmcHM3YkpHU2ROeW5CQTQ4R0YwWVJFTkFDdnVlb0R6anFUL2FZZjh3VXBmZ2ZtT0k5WTNpVWdLay9QcVcvZVpjQQpHdlRjcjNSc09tenFtZjlacHQ3aGY1WkZKVTk5aTE0c1gvZkNxL0M1ZndrTVl3V0h6NkZETGZsWTR1OHYwNko5Vi9Pc2ZibFdQaUtFCkg5dlNFOUNYc1E1aTFqNlRGR2VxK3Z6L0pFQno3ZFliQktoc3JoaDBJR2ZSMnJuQ3RXQVJaN3YxNHhnbHlRallxQXRrNDN6SFRmTUIKWDdIZmFnUndJR0E3MzJIYkpCWTY3QUJ3ZDl6cDdyamR5RUtIdHdFbWVjLzRYTmpZM05ucjdKK3gzQ05YUVo1eDVzdWVsK0VxekhIawpabkJZV29GZGhxZG1qMGZ4eDg2YmpuTTNmTXBkKzVFdzc2QWc1UjJlWWlzM2VUMDNvWVFYazhrUDB3cFhKdkQ4WXhoTGdra0xBNG5PCjNnd0hQN3lqUDh6RlZ5aGVJaU43RktMbkF0S1RpdUZrbzNnbENORWFxRjIyQlU4OWc2cWFUc3FZVFN0bXNuZTdPM3dSNTlaUXV2am4KendKN0tvSzdhMVoxMTYyNlZSUHhVM1g0L1pxWUI5VXg5eXFqNzFiRzM2bVUzaTZYUEQ0WGVxODg1SGJsNmg4cmczOHVELzM1Yk9UUApaK0orUEN2Ny9uemNMMmRpNzUySmVmaE50UDZMcU40dll4NmVpdTgrTFh0OE12YlJ5ZGp1VXpFUFQwZmRQeE54LzN6RXZmS3creFhoCndKa0FkODlFQXR3N0d3VncvMXcwd04yek1VYnVuWXVkeVAzekVwTThyREROditKSkQ2c1R4M2xRbVRnMXZOUmREUXFUU1QyYUtFa1QKZzBuaklhV0pQSzVUL3Iwd1RVNXMrcXN3dlZJbEEvV0tSL1VxZ0FrWlZDQjlWNHhaNFNrOWpkcnVSczNESnRYOVpnWEFTSXU2djBuUgozYVI0M0t6UnQ2WU50V1lNTm1jT05HWDBOV1UvYXNoNjJGTHdzR1BOdzZ0cjczWGtkbmRrOW5abFBtNHY3T3NzR09ySUd1bEkvZlZhCitvdnY4di80b1dUazIySjlhMmJWMS9LY0xURnVLZUhXNGF2TmdsYk9qb2dtcTFRWXBacVdrU1VzS0JSa1o5TGw4ZmlJWmVUUUpUYVIKaXhtU3hZN3lZUEdLbFZUZVVpWStrSXVSOHZIWmJzTDNmSncrWGJWMG4wcTZUeVY3TnpuNllKRG5BVytuajF4czl0cVNGVUtpeENoQQpMS3cvQzJzc2tCZzBWWDNHQmNnWUt6SzhOSzZITnpSRHhRU1NVQXRKcUNXQUFGR3hualpJUHg3Qy85WXR4VGRIUWhEWXQvQkVheVI4CnBtQmpOS3RHeTZ6UnNjNG1BOE9uU1NhdWl2ckxDcW1hWEdDVXBWUWtBYjl1ODNVNktpMFF5aWV5SUxOeGFBakdFc3BFWW9oV1pneVMKV1Z3czIyZXhEY3BpRHR2Q2pJRXhQOWlaV2p1YzB2aElVVHVTQkxhSTZwV01WMU9jUlBtZHNwalRpU3hmTzVMbERBdTBOUnB2Um9SWgpFR0JRWU9BMENWTVRJUGc2ZFZOWGNzVWo2ZFdCOU9haGhGWjl4TVduMGNiQ1AxTnBlcVJvRzFtZnY5MmZScHFPZ3BoWm9Nd3NzWllJCjdIUUMwdElJMkdZTFlXRW90UXdDdkRzWllRVkFRVnBURVZaRXlHd0FZQWVHbVcwTmdRVjYyOTd1eUJoOXJ1MytKZVdqM2VrQm9nQSsKS29TSDloVVNBc1Q0V0M0aWtvdng1K044K2FoVlFxSXZseENVSTFHTXZsUXhpSllZTEJSRmhSSVdFQ2sxOG5HbzFhK1plUHd2NXpoUQpFV2dMNEdrVHNHWjBHenk1U2sycFZ1QnFWYlFxT2JVeW1WS1ZETTVnMWlwSk5YSmlkVEsrT2dsWHFjU1ZLL0RuazhpVnlZYXFCSW5VClV6SEVMMFA5RGtlSEhZOUpyNVh1dXBWMG9qdXBha0RhT0J6Zk5oS25yWS9CVnVrbzVkazJGMVhrMVY0ME1sZ2hCb1dZU1VMTndXSEEKSjhPYWJRRWp3WkFVR0FSbGpvWk9SNk10VFlLRm1RT1BDQkFYS0dJV0Ftb09QRFFTenBwcVBtMFdDWHpJd0k4dzBKbm8yV1lvRXZBUgpHeEtpcDN5eVJtYmh6R2ZRclRHV004RWFrbkJJTG1zQk9DcjdUL0dZZjh6VUlmL3ZtYW9nQm40UFdQZTdmK2x2WHNWZytNZDc3YWpmCnVwYythNEg5cWRrNS80eXAyVGxqT1RwVHp2ejc4LzlkUnBlV3ZWaGNQT3BSOEdKSjRYUGZZaXVNcFRVYS9IdUFoNlk5SDAyTDlnUEQKUDF3clB4N0VpMjNwYnBBaGI0QkpEZ1FDOVRiSm13UklESnZzUUdPaUEvVXp6WnNFeU0xeGk2dkRSa0JvM093M3VOcXRkN1Y3bGNyagpzTm1JaS8ybWNlYmFiVFRNZkswSEJjaGh5MEtuYmU3T096em03Z0tZWi8vMmZJZnRDeHgzTEhUYU9SRkFmVHljM25uRkRxTUFHUU5DCnhwalF1QUROczl2a1pydHhMSUg2VmZiUFdPYTFPTitKazJYSHpYUTI5SHUzWmFiWXMxSWRoQmwyampsekN3N1BYZmVaYmRsbjdMeEQKM0pRUEJJcDN1QWtibWRKU2JuUUdOMXpMWFNsais0ZXpGcStpTHdnaXV3RDJFMmhqNTAxM1hJWnhDaURZK3J2YitHaHhYbXRROC9NdwpEbXVRODNKbno5V1pPYVdhT2VYQ25iYmFPWDRlT3E4MmJYSFQwYmsvbHdkMDF3WGZxUWk2ZlM3dzlybFZ0OCtHM3EySUdqb1hlditiCjFiZlBBR29pdVE4WXpGZVJqMCtIUHp3YmZPK1U1TUUzY2QxZngzU2ZqQUs0ZHpMNmw1TXhkMDdHL1h3NjVONjU4THZuUTM4K0Z3SncKcHp6eTUvTlJQNXlPK09WazlOMXZZZ0IrT1JWMTU1dElBR0FIOUo3VHNlTVlaV2hNaVU1SFQzeDUvMnpzMy9PZ1BONGs5OC9IalRQeAorTGdoZFZkS0p3SUkwQ1RHTkdpQ0pCbnBya2tDcVZaTTRsR05FcUQ3UXZJa0h0VUNTalJabGNZOXlZUVMvWldKODJzZ2dQMWNWaHNZCkN5QTl2cHdPY0w4eEdlREJGY1hEeTByZytPTkx1cjVMNlgyWE1vQWZQYnlTZnE4eDlVRkQ2dU1HY0RIZG82YVVlNDJhbnNiay9tWjEKWDR2NmNhUHFjWU5HMzV3R1dORkFROXBBeTlnc0cyQTgrdGIwdm1ZZHFFMWRtY1Bmcm5ueDA5clIyeVVEMS9NdlYrZXUyWmN4TDB0cgpHWlgwVm5nY1RwWEt6OGxqYTFXNGlKV0lJRS9pcW9YTWlFV2NlRTk2eEFLN3VDRGJ4U3RZNUJVaXJOS2VXdVlzM0JQZ2RpUXgvTUQyClRVZDNiVCt3cnZCUWROQWV2N21IWEpsNzdjaHFJVkhLeFlWTkVLREF2eEdnc1FKQ1k2bEN4cHBBM29BQTBlREJGT3hjRXRLZmhGbEEKd2JveFlJRmM2T3BqSHdlTzZ0Y2dpV2FXeUJsb0RBd3I4eUtVSjZNdkpCRnJwZVFxdVVtb2xhYUIxU2VCV1IyZnFLbEpTNkUyU0xCVQpDUnBpamJMQ1ljelFpRGw0N093VW5kUFQzN2M4L1czRHlpQVVNR0lSRVVnekZwMTlLb0ZZRldKelNrS3BWR0pQcUZuZmFHbW4xQ1p4ClBCdHFmbDRLOVhha3dLeXRrRlk0dkJuZWFqb1dCWjFhNmNRSWNpR0xkREdIOGswMCswd1U0L040NGdrVjY3aU9kaEs0bE1Za3BLcEkKOGxkSm9uVkJNN0JvSXB4QVJNNm00L0FlWWh0YkFWWE1wd2k1SkFHSHlHUGhPVXdzaTQ0R3NHR2c2VlFFbVFnaDQ2MHBCQWdKWjhXMQp3WG5PRTcrL2RkN29ZTUhvc1BaR3F5WWpJMXJFQzJUaG8vaW9HSHQ4aUQwK2pJdFlJY2FGMnVKaVJRaVpMVExlQVJzcFFLOFdFVU55CjRuVXZuNlN5S0piV0NETkxESUsxMUlkY3FUTXljUTA1dFZ4SHFWU2JoR1hMUnNDdGtRZ0lIRzFHWWVOeEYxS3BWU3BpdVJwVHJjRlcKYVhEVk9rQlN3Ylg2NTdXVTh5bU1xblJxaFpwZUJjb3Vvem9WdUN6NUhIQmNSNnRJdzFYbkV5cXpnZmZpbEd1RnA1WGk0OG4ySHlrYwpqMmc0WjVQWTUyVXpMdWZ5ZHlsbk04M0FxQ0VDTENTRFE4MkdvMmNoRUxQWlZ0Ym1zSmt3cEFVU05vc0d0d0Q3dEp1Q0RMT0FvK1lBCkh5SWFZWTNId0ptV2xoam9MQmpPRXRCa3RwVWxCalVialo0RHpxbWh6RkVZUTlRTkNURUp4OW9LamdSWGpjRVJGbVEwb3BEck1lcFYKK3B2UGY2NFo2bFRGK1h1bXFNOFlTOWVDcVQ5TC93OTc1d0VWMWJVMmJOSnNsS2xuS2tPZlF1OE12VE9OM252dlRVQ3d0eGg3TDZDQwpMV3FNcHBvZWEwek1UV0lTT3hZVUJCR1Fia3VNVWRyOCs4eWVHWVk1QTFHdjkvdlcvZFkvNjFsbjdiTm5jNmJnOGp5ODc3djNYaUlOCldUMGM4TFlzUnJWYzZyOWtSUGoySzJGWXNGZ2oySkVUajM5aGdwYWcwL3Q5RjBtQjFma3ZvdUtCQk91QTM0VTFuZjEwdURRK1VJQW0Kdi9TQ2VicUJOaVFCMnBBSkVOYUJnQ0ZwWkFJQlVuTWdLRUNXZWlLTmpDdEFMbllyZ05rQURaS1owQm9YdXpYT3Rxc0JvTUczQnozcgpBS0FCVHdGdVRxczhYZFo1T20veGROamk2N0xkeDNtYkxMcXoyZE9oMnR1cEJnZ1FOQ0hRQms5NU9tejFkZHJtNDdqVng2a0dqRkVHCmZ0QlNhT0JBQ2cyQ3EvN0FlZTl3eVI5WDIwVjhtNFhvcnZMVzZLSkVqcFp6N0swVzJIQm5PckZuZVhIbXVMS3JqQzFLYlRLMzJTMzkKMkhiUis3Wno5bGxPcjdYTTIyU1ZzZEl5WllGRllpVXZvY3d1TE00aU9NSTBNTnJRTzhuWU04bllJOHJRTFlMbEdtZG1KekxtaDdPZApJb2syZ2I3c3dGVVV5ZHZUUEV0ZXN5MTYwM3dSeTJhYnIvMm5lUTVuMW5rMmZ5cnVPQkhlZWp6NHptZHhxclI5SGc5cC9TSlJJODg1Ci9nNFFIUm5ZSG5uL1dJQVZxUUZNQ0l1cUcwM3NTWXE0MGFnR2phZEVHbm5PU0JKV2p6VGIwcW04enJGZ1BVblZscnJWNnBCVTlLam4KdEp6ZUg0dFZVUnFTK2h3NkJZcUlrWUpmU2pUU2Y2YXNUMGIvcitYb2tnUy96WUFMTXQwN1d3RjRjTDdxcnl2elJtNHZsN2F1dUg5aApkdE9KbklLNitWN3ppa254U1ZydS9sUDQ5b2lQT2RtZnc0aHk1b21FQnFuZWhoa3V6dW5ScHU0cEJ2cjVkdlJLaWVOYWtjZjdXZkc3Ck5xOTlmOGVXM2FzWDdRRUNKSEY3ejRXejM5NmdGQWdRbHhvbjB4cXhMQVdHQ2hDTTlLQldwR0JzN0FkRnVUcWlNVWxnUlBLVE5VU0cKQkFGUUlvYWVpeG1kbnhaVEloMlo3bXhxYkVUSFRTTzhoak5ETENSaW94QXZSckFMTmRTWkhzNW5STGdDUUFPMm1aRnU0MkVnNURQYwpMUFFZZVBEWE9RMm5aYUwvT3BuMEdwRk1NRVdtTEY5Zy85ZmY1WDhOVjMzeFVaWlVtaEFiWUUxRDhPRFd4YVhySVNkTERMOURJeFBNClk3a21weXYwVDgvQUp0Y2dacWN5ekk3a21Samo5TWxUdFFsdkdSdXc5KzIyLzdKT2ZHaFh5SHU3L0ErK0t6eTBTN0pqZzd1M2xRRkoKOXpVU21VS202bkErS2FQL1hBbXViSDZxeFBCb0h2N0hFdklQNnBkVll2aGRBZjdIS3BObDBXU0NGcFdvcDBlZXRxRFNmZWpKUE9uQQpQT25nZk9uZ1hNREl3TXpoWjVVakExVWpBek5Hbmk0WWVUWWY5SUQyOExPSzRhZXpRSTkwNEoydW5tVWZ2RmVjSEJKcHp3aXpJQ1hiCk16SnNHYkU4c3RpU0dxY1JEcEppdzR5YVhSSTJKSzNnMFBGRWdoWmlvTXQxNVJnZUxOYk1CemtvaDNKVnlBZXdEUFVwZENJWi94WkMKZm4yeWs2N3JKOFgwNzB2MWZpZ0NjbU40SE4xOFF4V0RFM0Q1QURRZ3hQb3VsM1VpeC9pN0l0TVRhSUxNNEx0U0NPc0VyUGNxUTFmdQpPVm5PK25ZaDUzU0t6VmRaT3A0MkJMd2VnZmk2SVpsSUpieW1HcFdoa3JWSHdhd3ByRUNQU1NHUzlLWUFTV1hTQ0VDT3lZUXBkQXE2Cm1LRWE0Q2tVOHVzVThsc1U4bVE2RlUxQkV2RGFzaVdVZFZsVUxieWVGb25FSk5CZkk1TGVXTUQxbHZxdWxnVTVNQW9Dd1NyTC93MHcKTVo2WEpPZ0ZDVnd5RkxSSUdyQjRKR2pSc0dneEdUY1YvSEpKcEtsc0JubGdaR1p5UURTUUdETTlIMU5DQUFjWFpLNFRxRXlCcVVlQQpnQU9oc1NLNUc4RlRXVU4xUnRpb0Jsbmhnd0dxUGZJeHdIWFFlTStZNUplcThTaFBiZkJoQUMwMHFHTy9XaEhzUVJVSFNvODdVQm5IClRSNU9td0dnNGVhd0VmYTRPYS96Y040SU9yMzUyLzA5ZHZxNzFnRU5DbkNyODNLczhYYmFDcndINHVWWURRUUlOU1JnUCtNSjBLajkKeUZmOWtTMzhzMWl4YnRBWUFiSmlWN3BaemZlMG5HOXVXTUN4TGZmTTNPWXljNi90dkgzY0dWdU04MWV6TTVmelVwYndZbWRaeFZaWQp4NVdZaHFSWlJDY2FCYVViK0dhYkJLYWErS1lZdWFhWnVzU3gzUUl0SFZJb3JqRzY3dUZhZkJIYnlMZG9xdFBiaGhaYkEyeSttK3QrCmRiT2srK09FdnEvajczNFIxbkk0cFBGd2VPT25VYmMvalZIU2VqaFdoWGlOYUJvNU92N09ad2xxM1A1OERGaWpHcytRMm9BRHFmQ1AKYnZSQ2VpU1BIaDFKVnpLK0lXV3BNbHExcllKcVdmZkVpVGFzRzZtSmtZb2JhWTRZcVdYV2xJd1hOT3BTUVNsREtMSThHcGJlbjB0UQp6cFQyL2pJZGdpN0Y5R3NGNmthb0VwVjMvMUxhYzJZNk1LSEgxK2IvM2ZEMjhPM0ZmWTFyUGpoWUdTQndualJKN3pWdHFyYWxCVDdBCmlTMXgwNDUzUkpMZDdMSmpQTEp6N1l6Qy9aRjVacnozL0ozZWp4YnVuRjI2YitHTVhUTnk5a1g1N3doMDJ1ZkVIcE1DQXdLa1RJRzkKcUFDWlVtUTdncEhGQnZnZ2RCWTl4WStCczdjdzlIcndhTmE4bWM3a3lWcjZhSVpDQzQ4bjZoRGZSQXpmSkNIVHdKL2c2Ri9oeURRaQplU3I0YXh0UG5BeFFyc0d2aGc1dEdvNUcwaUZvMHhrNkRBUkhtanlWUzlkWnR5VG15ZkNDSjQrWGZuNm94TlhLM1o0V1B2RFg3QVNSCkRaRTRDU0ZNUVFodkljQThUcFhvbjhnM1BGRmdjcnlVY2JRVXUzSU1oSFJ5THVQVFdYaUNqZ0dDeHhGZlM0MTNsRW9YTkYxYzJuQXQKcjZtcHVLR3hzUEhhN0QvdXpXNjVWY28xbm9yRG95V1p6Q1dSdE84cnFOOFhtWDFYYkhhaWlBVms2NXR4cjI5Nk5KLysvVXlycFhFMAo0dXQwbkM0UjBabFg0ZnF3dnl4ZUVKWW9pa2dOaWNtTWlNdU5TU3BNVENsTnpTaEx6NWlWbTFhWmxUQXpOMjV4ZWVxS1dYbUxwbWZtCng0VkgrWHBiVXZ5c2tGQmJTcElkUGRPV25tUk5pN1NtaDFreHdyRHFBK0ZSb215b3FmT0tDNTRPTEdZakZBWkZlNnJlWkIwS2xVWkcKZ3l0WTBNVjhpVG8wa2k2ZHJDY0REN2Ntd05IZXdORW0weWtFSmhGNWk0R1lsa1FhclUyMzJ6dWRmZ3lkc0daNHVzVGdkSjdCcVJ6dwpWYk5PVkJpZW5HdndkWkhwc1RMMmQrVkczNVVZZkZmTU9GVkFPMVVFdmlzNDRSOThJZUQzZ25LeTJPQjRJZk5JSHV2VWRObzNPWWFWClVaT1pSRHJ1RFNZQlIwQW9SVW5tbTFjRnFiRmx0UUN3ZVVXZ1JtcFdDTGNzQzlpeU1xaDZsUUFjTjY4SzJMVFNmOTFTNzgyci9UU3kKYVhrQUdGbXpWakt2M0dGK2hkUGNjdWRGTTkwWFZubk1xdUFueEJyaGNkb0U4bXZBdCthWitVZ0RWMHVENTZ0N3ovOFhvT2NrY1BFTAo4bDh1UU02MksyVU9KRmNmS0Rwb2dFZUdsMHMxT0VJTkFxQnRseHBQL2xZdjEyMitIblYrN2p1QUJubTViQU1tRk9DMkF4aVBYSHFjCnR3RVpBa2MvZmkwVUlHL0hhcVVBS1RaQWhVVS9jQk1NR1B0QkYwNVVxbytxL1FDY3VMT2N1VldPbGxVVzdyTzhTM1k3Vk5ZNXpkbkoKemwzRnkxM0dUbDVvbVRqZklYR2VjOXhNcDVoU3g1aDh1OGdNdytBRmJORjBxNkJzcm0rYWdWZUtvWCthc1Y4Q3cxbUNjdzJiYkI2aQp5NVF3elFPeUpZSVRGU0UzZGdhM0hBdS84MVZzNjVjeHR3NkgzZmdvNU1hSG9jMGZ4N1I4bkhEcnc0U1dqMkpVdWYxeExLVGxFODBvCkJ5aHAvU1FPY1B0VGRSVENOT1pVU2N0bktHcDZwTkdRbEpFa05VTWFUNVhVaEFuclNlUFpFdGFRWkpHa0RHemhrU3BxaGpTZUxVMFEKUnRMb1NSTlhhbVAxU01QOHRYRXlhd28zS2hxSEFrRFBUNFU5UHhVRFJqTnUvd0p1Vk5yM3kvU2VuMHRoVCsrdlpmMi9Weno5c2VTUAozNHNHMithUDlLNys0WEJlWWlpWFJOZlZJbEZlOHpKalJuZ2JwZ1V3VTkzNGFXTFBnSFFUUnBrTFo2K245WDRCZjFkeTZQNlUwTDBKCndrTUM1M2Q5YkhmWW1hNnoxcysyb0tjcWFvQkNvQUNaa09TN3BUNi9BQm1SL0F6d2ZxRFRrQ0F3SWdvNU5MRWgwVXNmNzNMcTIrTEcKVzVrRytNbjY0SVpHMWlMaW1XUUtRcUJOZ3BVdWRDSzZ0eFNUckFOUkZzUmdvZUdtMFloYUxNb2I0QTdPcGV2dHEwdDYrbVRoczRITQpQYnVLZmUydExDZ2VwaVJmRHNGOTRPK3ExREErbnZRNmxhNm5nN3lwZjNLRzRRL2x4S001ckIvS1dLZks2YWNxVEk0VmFFVHZkQzdyCnd3eHRraGFOTUpsRWVHdmJxdURXVytXbSttWnNYSVFwSWNnUWIydEI4cG1SRVRVNHRNQ01RUUIzUkRZSng0aTBOemhhVHZxNWpIbzgKSDl5L1RiNnJZQit0TUQxZXFCSDlZMFgwVTNONVMrTko0Q1BncHBMSU9uUEwrZDF0QmFxYjFNTHZHUzVOeVNIRmNza3hRRjk0bEFpNApjcmNGTmRHU21tYUxwTmxSVW0xb2laYVVTSE55aURrcDBvS2Nha25LeDZvUHhJb3BzaVlsTGE4cUdScGVhS1Ezalk3WEpoRGVvdWdUCjZVUjBQaFFXR25FU2hJb0h2NlBKQU5pdlQ1bEMwdFdpNjJpWkViVVE4QS9OU085Tmh0NGtDb2xnTUkxc1NhWDYydENUQXVtelk1bWIKVTVrZlpCdDhrME0vWGNqNHNaaDZ2Smo4ZFJIelNMblJrU3FqYnlyTnZwMXBlQnhOcUxHT0Z6S081VE5PNXJOT0Z6Ri9MS0wvVUlDYwpMSEw0b0hncW00NmI5cVlSZVlvVmsxemZuRDM0MThxV3l4V0E1a3ZscW9DZVc1ZEtOTkoydGFMaHQ3dzdWOHBiNnFkZit5Mzc5cFhTCnJwYlpmVzN6ZTFxcVZPbHVyb1IwTmxZQittN1BoY002bXFydU5NN29hSjc1NTcyTlo4OU1aekcwS2VUSkRJUTQzMHdnRmEwYUVwYXIKZTgvL0Y2RG5STjF2L3BHWEZ5QTFCMUxyeHdxUW1nTnA1a1VGU0RYVkJlMEhpSTZYeTFaUDV4cUloMU8xdStNV0NOcDIyZTd0WHVmbgpXU3Z3cnd2dzJTYndyUlg0N2dnTzNDZjJlZGZmdFZabVA3WGVUdHVCK3NqYVN2dXA5bkxZQktNK0tnSUU5MENWMnc5Y0wxR3VQdWd1CnFrcjdtUVh3dEp6cllGSEpkYTd5eXEvano5N05MVmx2a3JyUU5tT0pVK3dpcDhqNXRvSnkxK0Naa3JTbFFTbnpYV0tMbkJPS25ZVXoKZWVJU1ExR0JVV0NlZVVDS21XOFl3VDFKeTZuOGRiTW9EOWZnbFJsK3AycjhiMzhsNlA5SzBubzQvTWJuaVEySGtxKzluM2p0UU1LTgpROGt0SDZXMWZwemMvR0ZzNDhHSVd4OUVLV24rTVBvNVVkTW1yRDlwRktueEpFa1ZiQXdKMFBaNTRnU0dwREdBOUR5U0JHZ0hKaVJqCkFqR2FRSStVcUVTU250ZVFua2VNc0hHanV6S3djYU9PNy9NQkd0WkpHdGVIQ3NjaFh3VzBwK2MwU3QrL3BuZkpTci9CUldCeURWemsKN284RmJUK1Y5RjJjMy81N2VmZTVncUhXR2RLdXBmODZVcHFiYVk4MzE5Wnk0TEFpeEM2WlFkYTV2azc1QlR6blFodFdzUXRuczd0bApqZEJsajhCcGY1RERRUS96T2hmZWFndURja3RHbWprOWlVdUxoZ0tFK2cwNTJJUWtMM1orZmdFeW93WVpFdnpaVkxTZmhRczBKS0FCCklkQzVZVW44b3ljRkx1WVVmUjBLZzZCREpTQWtjQThtYVZHUktlRFdncEFtQVVBREFrODFRaWU5d2FiaEplNzBVMTlFU2tkS0h0NHIKMnJVdHlkWGFrVXNQWVV4eE1NSjVNUFM4VFluZUk5TEtpQ0J6TXBtSUkwelNvVS9tZkZGdWVXbzJXcGp5UTVYKzhYTGtSQmwyZ2ozRQo3SnNaaGt2RHlkUkpOTEkyUXBseTVsakV4VE5aTkVJZ0c0azJKQVdZMEx5TXRFTjgyTEVEQTIrbnh6c3lrTmRvMm0rUnpNbnM5d3RZClA4MHlPbzd1WW1GMGZBYnJHTG9rbzBhTVRsVXlqODlodnhPSE41eENKRTRqSTdyekt0eDdtdk5OS1dGbTFIQUFteFloSTR4RER3ZVkKSWxFY1dqU1BHWTIyS1NFbTVIQXpTalM2cEJNNXpKSVNia2tKczZBRVcxSkRyQm1SVnJSb0Mwb3NWbjNrVUNMdEthbnJGK1k4RzVqQgpKazAxd0ZIMEtkT0lCQzBpTWswemxNbGplUXVDMEhCNGtnNFIwYVBSOEdUeUZCenhOUXFpcFUvUm9oRmZwNUxmb0NIZ2QvUW1pZkE2CmtmUWFtZm9tbFRHWmFLSFA5TEkyaVBZeG1SN0YzcEJyOUY0cC9mTlMrb2x5ODI5bW1SK2R4VDFhYWZMTmRNTnYwTFd0Z1F3eGorV2EKZmwyRytGb1RkQ1laMDBnVVBaM3Q2NTJrZjh4TWppM2pNNllEWE9pbHpyUVNKMm94T0lJMmdFL0xBN2hRYzlWWVhYQWswSFNHRFM2VgpUOHR4WStRNVVESXQ5QkljcVpuMmxHU0lIWklFc1NVbkF1eElzWHhHQ2s4djFKRWV4OE9KTFVtaE50UndjNkxrdTg4anp2MmNUSnFtCmhSQW1VWWw2cUFBSlZ6NExtcUh1UGY5ZmdKNFRkYi81Ui80dEFWSjFvT2NSb0g5Mm9CY1ZJTlIrN0RmQTlCWlVISURTZmxRRkNQWjcKdSs3eTk5cnA3NzBsV0Z3VEt0a2NGNzBqS3F3MklxUlc0bDhiNkZFVDVJbG14SUFBK2J2dUJBMHZtZnBBKzFFTi82RDdvY3EzZjBkcgpycFV6M3VYcVl6VWYzWXhNWVQ4T0ZqTUJIcHhLbnVYMGtOTDM3UE8yT09SdnRFOVpZUk0reHlWNklkOXJ0b3RySmM4OHk4bzZWeGorCmRualdPdS9VQmJieEZmem9OUHVRUXJhd3lFQmNTUEhQbldJWlM3TVUrNGdpdHl6MXY3Zy83WThqK1gxZkp6WWVEbTM4T0xMOVFFenIKN3ZDV1F5RXRoMEp2SDRwcWVUL20xbnRSTi9lSE43MGYzdkpCUlBPaFNDVXRIMFFwVVJXamlTVUpxMEdxTW9UdGtUT09ESTBuUnMvagpTVkNWSUM4cVRQOG9SbXA2aE8yWjJKYkdxMG5TV0hnRWVCNFpnaWhTYVpxalJPT1pVT2ZwQW8xQTllazhuUWRMa2RDRkswK2g5SDVYCkJHdTllNzR2QktkQXdycSt6Ky8vcWFUM1gybTlQeFQxbnBqNTUrazVEMDhYM3Y4bFo3RGw3Y0d1VFdjK0t3dEtkcDdrYUdVazl2TW8KRExIS0RRck1tMkZrbUd5aFgybGp1TUNGdmRiWmRMT1R5UlliZ3lXV0JxV200RDk5V2p5WEdzdWhSbzBLa0d5Tm41Y1RJQ05pRUZ3agowWkFnME5mekE2ZDJwbFk5OTJjTkRxNGVrYzRlZXBieDk2UG9QOXF6SHJVVWRMY2xBWHJhays5MXBmL1JuL1AwajZLaEo5TkhucGFECm8wWWVQTjA0S0YzMDhPK1UyODE1NnhhbU9CbUtUUEJoK2lSZkZ0R0xqYmp4NlA3R2xBaGpuZERCWjRzaUJSWkU1SFVDZFNyWmhNQmEKR20yeVB0RmdRNXpCNWdTVDlmRUdtNVAwcTFNMTR2Uk9pYjZJanhCMXllUnBkSlpPNzUyRXp3NEVHNU1pV0FRL0JzbVRiWUIrWGpNZAp5WVZ6dWNlUEo5SEpXbnFVeVhpbU5tdVdoTGtwMFhSVEluMVRuRWwxc3Y3Mk5GYU5adGlia2xncmtvMVNQUW4wTjhILzVpU1M5dndxCnIvdnRaVndrRXNBaFI4aUlVbUpCRCtkU0pCeEVET0JSZzgxcFllYTBjQjQxekJLSnRhYkdXMUhpZU9Sb0xpbktISWt3cHdaenFRSjEKNzFGZ1RncDAwbzlZTlMvMTZiTjVpV0piWjQ2cGk1V3B2NmRka0tlbFpqd2NCSjZPUWk4bmdhZERnSnV0ajdPNXU1MlpxNDJKQTAvZgowcFRHWWhCSUZCeVZRcURocGhtUmRHbFRYMmNSOWZSSktBd2lqazdBSVRnQWdZd2o0UWhhWk9yckNPMHRJdkltZ2Z3R0hua05ZYnhwCnhOYkQrVnJRb3ZtbXBSTE84a1R1cm55encwQWNxL1JQVlpyUEVlT0kydVlHV3RQZW5PVG00Q1lkbWJ0M2ZpSFBOTlZSdndSZ3p5Z0MKMk5FTFljT0JXZXpBeUFIWTA3TlZzYU5sT1ROenJFa3Bqdm81VmtpcUZaTHNZcHhueTBpM3BpWGJNVk5zR2NrUUczb1N4SnFXeUNPRgpXZE9pdWVRUUszb0VqeUl4SlFWeUtFRThtdkR3enJpYjlRWDZ4RWtNaWphVjhOWUN0bEFhdEZJcXh2akJmeHZZRlhmazYrNWdSc3JCCnFzekxvZTQzLzhpTENSQlBGd1ZiN0t4cVF0QitWSzFJOVNtSXV2ZTh0QUNwNUx4UTE1RUJ2R2VybDhzMm1ONENnRk1BT1BWeHJRM3cKMkNQd3JSVUZia2hLck03SnFwNVJ2cStvWUVkMnh0WndjYlhJYjJOSTRBNkI1eTRmNTFvZ1FPQW9LNUVlRGY4b29qNHJJRXI3Z1p0ZApZTlJuRGxRZmlETjd1cFY5cFdmeUZ1ZWtEYnlBT2I2aHl4emN5cTJkaXUwNHhZNjhVbHVUQW5PRExIdTdFbUhNS2xIdVJxZVV4VmFSCnhmeUUrVHp4TEQyblhJU2ZJb2lKM2JFc3F1T3IrRCtQQys1OUZuTHRVTlMxUTRrM1BreXNQeERldWp1dS9iM3NPL3VFTGZ0RXQvZEoKV2crRXRSNk11bjBvb3VWZ2VQT2gwRnZ2UjZuU2ZEQmFqb29ZalVIMmJNdWhHSFZrMm5UN3cyZzFuc2VXc0hFakpUQy9CcGc0a29UVgpKbzJkRXlqVUM5blNCT2Iwb25rM2xYbithbUtrSGl1Q2pDZEc0NjE3TkY3S0RGdC9EUmsxb2U5UjcrazVtZDl6c2hEbGVCR2c3MVJ4Ci8vZEZ2ZDhWZ05mdE9KSFpkU3FuNS92UzdoTjVYY2N5KzcvTHZuK3FzUC83a3I2ZnF6ci9OV080YmZXenhsWHJhaEo1SWtjYnNhOUwKY2JodlZibWhVU0tYa21ST3o3TFVMN05nempKbnpPVFNDOHdaeVR4R09KY1dQV1ovZU1YODloY1ZJQU84SDV3UEwzTWcyQk9BSGllbAplTnY1RmFRR0w1MGJ0M05UMXI3YTZBTjFpUisvbS8zeHU3a2Y3czUrdnk1OTM5YmtQVnNTZG0rTzM3VXBEZ0FhR3RtOEluSE85TmdnCnJ4QmphakFkSDJSRTh6Skd2RmhUQlN5eUR3Y0oxdGYyb3hOY3pSQ1hrWkU1Y1JJN0VsV0xNMldTNGFUWENZWjZ3RlJJeUdROCtTMTkKSEJwcVFvamFHbm5MWUFxUitocENtVVRBYVJHUXlVTi9WbFV2elRTWUdtZEU5alNpK2h0U1FrMm8vdVlrdjdwTmlVOEdGalB4ZWlhNApxZlRYdENnMGJSeGpHb1UyVFpmOEpvazZoY0NZU2lIcGFPUU41bHR2R09DSUxCeFZXOHNJdUFKWmIrWU1qODViaFZ4U0lKY2tBUERJClFoalVrVU1KdDZKRzJOQ2p3TzNaa2hKcGdVUllJdEZXbEJocldpUjRsa2NSZ2J1MUpSV2NKbHZTa25qSXVCRWdSMll1RHhjZEx4UjEKZDgzLzg4L2x3OUo1ZjB0TEgwdExwRTluYXViWlBPbXpPZEtucytXbkF6T2xnMVVvVHlyUjl2RE1wME5WVDU3TWE3bGNjT3lqOERYdgoyTVlJK2Q0T0hETUdnWUtUcmRwTW0wYW12NkZIMFRJbUVBM3dPSDA5YlNZNmYyY2F1cWdTQWFCREllZ2hCRDBpU1E5UDB0RkZwdWt4CjlNZ21KSm81WFk4OGljUTBvT3RxbVRIMEdsdFRHdXZ6N1puWkxvd3lQcVBJaFY3b1RDdFFBazRCZkhxMkVoZGFGc1NabXNtblpqbVIKMDEwWjREVERtWnJ1U0V1MUlTWHc5VE1kYWNrUUIyb1N3SjZTQ0FIRGJBbng5cFJram5hWUl6M0praGh0VGdpM0lFWjh1YWY0eW9VOApxdDViRk9KVUt2bTF4VHpSaU4rU1ljRUtkVC80YndPclB2K1hCRWlEQTAwb1FGZ0hVdmVlbHhZZzFYZ1BVQjlWKzRGQUI0TDI0K2UrClEraTFPeVJ3ZTBMTTVqbXo5aXhldkhQTm12MHJsdTVaL3M2K25JemQ0ZUtOb1lKdElwOGQvcTUxUUlDOEhMZWg2VEI1K0VjdVFERG4KTlNwQXR1OG83UWZkNUd1cy9kaWJWd0ZrQWxUcGFqUFRrbDNNc3lyaFdwWFkyYy9nbWVhNVdGVllHT2FZbStUWnMwdmR6R2M0bUJSYQpHT2M0dWxmNHhhL3d6VnpqRXJmU1VGSkY4Y3J4RnFkdm01UFcvbW44d3hQQmpSOEhOTzJOYVRzUWVmbWdzR2xmYU92K3hPc0hrcHYzCngxeDZYM2h6ZDh5dGZiR2czYlEzNHNiZVlNRE5mU0dOKzBPYjNvc0EzRG9RcVViVCsyaUlDSXVhTUkwNkUwYVZvQktwbldxTU1La2EKa3NZZzAzaGdYVXBwVk0wZng2aUJyV2RTMWFueDFLcjVjQXlnNWJOWU5XNS9IcWRHNnhmeE1qUnIwM2hUM3NiVm96RnJJSTJLVWZ2eApEQ1ZBUVpTMG44aFIwbkV5VjhsNFNvUk5va0hRY05IM1JaMm4wR0JQNThtQ3J1T0YzY2RRK280WGQzMmIzL0ZOOXQwaldWM0hjcnBQCjV2YWV5dTM3UHU4T1NtN0hEd1h0M3hWMG5Db0VQOWh4TXFmM2RINzc5NFg5NTdPbGQ1ZlVmN2RJbk9ocEVpY09LcDFyNFpobVRna3oKcDZJNUZDNGpuVTFQNXRMakxXZ3hWdlJJTmIrQjl2TVNBZ1JPT2JSZ0RrMXNTZ2swSlBvYUVIeU1TSDZnYlk1RTBLZTZtOUg1aGpSMwpPdEdUU2d6Ulo0UXc2RkZHTkxFaFZRUXdvQWhaaUFBQUd1QlVueHlrRVI3UjFVUlhaRVNNWUNKK2RCcWZRZkkwSlBqenFBRk1vaGViCjRteENkalVraWt6MC9JWUdTeE1rMW5vNkJBU1ppcEFtNjFHbWt2Q1RXVVFkR2xrYktBdUZDR1JvbWthQW8raVQzdFNsVFdPUVhqTXgKSWtzSGxoZW14Nkh4QUxMQWhDSmk0SVRnK2p5YWM1SXcrTWxRbGJzamhVclgwYVpQQVhkSHRKZ0pRYStQenRrbWpIdDlJNElPWFZlWApRWmdHN3ZIZ1NDSnB6NXJwMVg5bk9oY1JjOGdpTmtuSUlVbTQ1QkFJaHhocVRna0ZEVFlCaFV1S3NLQkVXOUdpcmVreFBIQ0hwb1JaCk1VS3NtYUdXc3BnUWp4cHFUaGRoMVFmQ0pTUlpJOWxXaEN3MzB4aDMwMUJ2QzRFdkw4V0hrKy9KemRDSWwzbUtKeThSNEcyWjZHK2IKSXVabmhudmxSdnNWeGd0amltSXladWJtTHBpZHZXMXovcEVQOGkrZUs3dlNXZm5IU05WZjBzcEI2WXpCNFpuOWQ4dC8ranBseXp6dgpra2lPZzRPVHNRbUxUSnVHUjdSMEVTMDg3UTBDWFVlSHBJM1FjRVJFaHdnYWlDNlZyQXZVazBMUUJqckl3aytlUnB0S0pyeStmbUhJCjAzdkxVdnlYY0pENVBraXhxdWlvNGtyTGhQQ3BHUUFYU2pyRW1aenNSa3QzcGFjNklZa0FGM3F5TXkzSkFZbDNvYWNBbkduZ05ObUoKbXVSSVNZU0FNWGFFV0V1OVNDK2piRnRpakNVaHlvR1dhSTZMK0d4LzZma0w4VXl5RG9XSW81TGZtTWNPUlBOY3dhdlYvZUMvRGF6NgovQjhUSUhVSGtpbU9jbEZFckFCaEhFZzlIU1l2aTM1UkFWSzFIM2RITlB3RGRNZUh2OFBMdVJiaTZiUWRBQnFnMDg5dGw4Um5aMHhJClhYNVc3WnFWQjFjczM3cHk1ZVlsUzlhdldWbTdjTjRYOGRHYnhBSHJCZDQxZ2U0N0ExejNlTmh0ODNiYXJsR0EzR1I3aDhITjNwVnIKUFkrMW45blFmbVRNQUFKa1kxN2laRmJxYVZiT055NXhNQ3V6NTh4d1pNOXdOYTZ3c2l5MVloZmFtUlk2bXhYWm1PYXl1Um5XWHRNOQo0OS9CSmRWd1EvSVhsc1UwZnBqeTVFaEM1L3ZSalh2aWJ1MVB1SFl3N083K21JWjNvenAyUmR6WkczTCtmVUhMWHZHdEE2RlhEa2dhCkRnTEVEUWRFalFja3R3NkVOKzJQdkxrbnFuRi9PQVNha0FwaEdtbDhMd0xTQkNSSkJYQkJTUFA3RWFyY09qZ0dwUTloZXpTaUZLYW0KUTVHcVlITnphaTQxd1ZNYUxlcldSOUVRakRsRlFWbytpVlpGZGZhYzZzdzRXTnl0c2I1YmM1QkpreFdwaXBGYXhLanRXTG9xU2hscQpPNTZ0aWtZWkd1dEQ4bklpTllERUFPNmVMT284V1FUc3ArdG9FY3EzaFhlL3pnY0MxSDAwcit0SWJ1ZFI0RURaM2NmUkxWRHVmeGQvCjczam12Wk5sSGNjTDJyOVA2L2hYeXUzajZiMm5aL1NlUklORHpUOWxETndvL2VQaSt1Z1pXWlRvWExadGxBVkZ6S05JZ0w1dzZHRnMKR2lvMFhGS1lKUktORmo0ci9FYTVHN3dwSW5oUkFlTFFRZzN3QVVCS3pLaEJKb2lmSWRFTEhJM0p2a3k4TzVzV1lVZ0lSSmRNSkhtYQo2TVd4S1h3VGtvTXB3YytNNk04bUJZQWphSnZnZldFUE9HcUVoUmR3R1VHR09DZGpYVzhlRW1xTUZ4Z2cvZ3lTRjRzVUJBY1lnS3NSCkFvZWVMSWdYT05Db2I2RUNCT3lFck0zRTY3Qnc2SCtkd0ZTbVVTZFJTWk0xUWlIbzBvbXZUNmJyR3BKZmR6STNsVDVkNytzYVlFeDEKTUNjS2pJa2VMTVNiUTA0enhYdmJFaEw3SDg2ZVdlVkUxWDF6S2xQYlVIZXFvZlkwQWhHZG9VMGdvY1hDUUlNMHdpVHFrdlgwU0JSZApvQUprcWc2QnJEMnIwdk5lVTZuc2F4U2JrTkE5UnRpVWNBNDFTcGFPak9SU1FtWGx6OUhtMUZndUVnM2dVYUtBc3dLbjRaRWpBUlpJCmdnV1NZWTZrZ241enVnU3JQaEFMUnJBRlBjQ1dsc0hSelhEUnozV2dSOXVSMDIxSUNkYlVXSTNZMHBOczZZa3k0bTNvYU1ESmlvcVcKSEFGMXRxVWsyQ0xnbWpITzlEZ1BmS3dUUG83TFNuRmp4a2U2WkZhazVLNWZtSDFnUitvUHgzUHVOTTk5K21TMWRMaEsrcXhDK216Mgp3ODdLSDQra2JuNWJsQmZGRjlpeDJTeWlQbVVhQmY4bVFwaUUraWdlaFV3R25xUkhJaUU4YzdyMDc5SURxMHVzV0ZsT3pGZ1BacElECm8wQ0pJN05RaVRNekYrTEV5QUU0MHJNaExxQk56YlNqcERzeHN1MnBhZGFVRkh0R2hnMDExWjZSWlVmUFJLZk8wY0JwT3NDYWtvYUMKUkZ1U0l2bkc2ZC91YlNtTzNXcEZpK2VTb3NEM2R2ajluRFBueFhSa0dsNFBSMFdtek9jSXBlSzNCd0xtcS92QmZ4dFk5ZmtmRXFDQQpSUy9HZjdzQXdhZ1BEUHdvWXo4K3JyWGVMblVBckFBSnZldWlnMnVCQUsxYzl0N1N0NnZYTEs5YjlYYnQybmYyTFZueWZuek0ydURBCkxTS2ZYYklJVUsybjR5WlBoeTB5OWRtSTJvL2RPb1VBeVlKQTl1aHFoNHJ3anlML1pUblB3V0ltclBzQjZtUEhxN0RsbG9NajZrQzgKTW52dWREWHNPS1dXbHNXMnBybDhiam5ITk0rQ1UybHRWT0Jna2NvMXJ5cUtpLzltVy83ZFkzRnRuL2cwN1FtK3NTdXRZV2RLNDd2aApOL2RFS0FpVDgyNG9vSEZ2bUdZVUFvVFJJSFgxVVJNZ05RMVNDaENxVnBpZndvS05PY2tqVDVpUnJ4YlY5NGxGemQ2VUFqZUJtYWtsCi9zYU5TNDBOT0dsTXlXSDE2TGJTa0w1T2h0ejVLaFd1SG5ubm03UzJiOU1oZDQ1bWdHUDdrUXkwQVhjUk9aNEZhVDJSZmVka0RxVHQKdTF3bHJTZnoycjlIWFFjdTRkaDVzcURqZUI0NDNqMlIzM0dxK1BiSjR2WVRlZmRQWkQzNHByanJ5K210MytiYy95VHJ3YmZwOTcrUAo3ZjVaMlAyclg4L1pvTDV6b1QxbkkrLzlLN1huKytTdUUwbGRKMUs2anFkMnliWjdheitSM2Y1RFNjUHhsUDZmNTNSOG52djBSdnJ0CmhoVUprZVdHU0JTTEdHTklsRmpRSThBdGpVUHk0MUVEVFlsaWNITlZMR2tvZHhyNS9aaU03Z1lQbjVKUERWTU1BN3FqV1A5UWppSUMKTkhvS2V4U2cxZERqQWJObUFIUTNNV0xBS0NRL0ZYd0F4bVIvalREMTRveHBqa1lrYXpaZXhFVk0rKzV1cmo4Zlg3UEtxWHE1dDBhMgpySkJUdmRKSGxmVXJQVGF0ZHQyeW5MOTF1ZnZWQ3pGZGQxWmJNYjNNaUNGR0pMRVIxVjhmOFRhaFIrbnJobkdwOXNjL25mVzR2Nng2CmhiOUcwRG5ZTXFxWEI2cXlaYm5mNW1XKzFTdDhOeTF6MzdUQ2Z0dDZtN2FtOHRiR0FpNDVXSVVRNEhab3JJNFN4aU9IUTlBcUh5VEMKZ2hLcElIb0NnSjNBaGprU0plK2h4QU9zcUFrQWExb2liRXlBRFMwUm9IQWdtUWJSNGdCV2xCaFZWSjBKWFhwUk50aU9rV3hIVHdYWQowdEppdk9LTDRySld6eTU5ZjN2NTZXTVZ6VGVxL253MGEwUTZlMlN3WERvMHU2K2o3SWNqQ2VCYnlvKzE5N2RoMjFCWkpubzRNK0trCnB1YXNLeGNXK3JITDdVbkZMb2F4OXRRTVIycVdBeVVUQUJyTzlCd1hSaTRBTnNBUjRrVExnZ0QxY2RGUHRhY2tPdEZUd05HUm5zUm4KcGRsVGtoMm9hZUM5V1pPQlFnVmI0MkxkR0FXV2hBZ0hXcVlWS2RhT0ZtZEJEbkkxeU0zdy9sYkkrY0NPVXNFbGhnTG4rMnAveWZWZgpreG5BenlnNEV2bjFoYndncVdnSnZCbS9JQXZIQVR0eW92RlNvV1pHaEl2SFllRTRZRWRPUEY0elVzRTRCQzU0SlF3SkYwbDlGandKCm1EOFF1dnd2LzNrTXZKNGVZUXI0TThPRWlUd1pya3dPaUxUVTlURW4raHBNODJEckJRSzU0ZW9GYWNSY0wwQUdLa1B5WmFESDVyelUKVVJrelpyRkVLRUR5MVo5SE5jZ0dINkVSTGVnOVNsUVRYaENZQ0lQNXJ3RFBYU0svUFdIQ3JSbXBOY3VYSFZpeHJHNzFpdTNMRmxldgpmS2R1WnRYZW1JajFFdit0UXEvZFFJRDgrTnZsYTBQTDdFY3gvMHNsQWlSYjhrZFZnSUQ5T0ZyTVZSYjlRQUdTMjQ5RnBhb0FBZTlSClltTlZiTXVkWWMvT3RqTXR0R0FYV0xLTGJWalpFWjVlLzlwYjFQQlIvdTBETVUwN0pMZDJ4VGJ0U1c3WUU5NjBWM0JqZDdpQzBGSDIKaEVBTnduSmpiK2pOZldHcXlHVUlvMHBOKzhJQmFzS2tRcWdxTi9lRktCaHpjZlZYd1lBZEtSK1BlVDh2Q2VZVnh3TVRFcE1qRnpXbwpmZGlFNERpZXBCcUZHcHV0aXdlMGZJSnkrOU9FNWs4VFdnNG5qdUh6Sk1EdEw1SUJMVitpeDlZdlUrUjhuUW9CTWdRQkd0UjZCUFVoCmxHT1pNcklnYXBFaDRFRHRwL0pBRDNpcTQzZ09zSjg3eDNMYWp1ZjJIczk5ZUx6OHdaR1N1NStYTkIrZTAvSlZUdmRSeWVOanNYOGMKeStyNkpLTmovL1RlZDlmY3I5dmJXNzJyWjl1R3ZyMUwyNzhzNy93dXB1ZFhyNTdmL085K245VDJOWm9tNnp1VjJITXN2dnRZK3QwagptWDAvSlBVZEwzN3k2N3p2OTZZNmtMeU13Ui94akFod1J6ZkJDWGtVQVk4bTVOTERURWhoRXdpUTBvRlV4NmdKa0VvS1RLUDkvSU1BClFRZUNqWWtGYUd6UEtNWmtDZEFnVTBLNHFVNlNHZDU1elR2UnYvNlMyZHhZMFhDOVNETlhDOVc0Y2EwSWNMV2g1TXExZ3NhRzh1YXIKeTgvL01uMzlpbkFUeE42RTZnTytDbjJDaHhITkI5SDE1VEhpRFhFdVNXS2YzMDhzdTNtOVREUFhLalJ5L1dwKzQ0M0NobXQ1Vnkvbgp0VFl0dkhGNXlhK24zcDZSNS9BZkZTQncrcklDSkk4RDJkQVNsQUtrRml1Qy9iSkdndHgrNUFLVURnVElFU2wxUVVxY2tRSW5KTk9aCm11NmhueUUwTDR4MHJKZ1JWN0t1cXVxakhiTisrVzVHNjYzeVAvK3NHQmllTVNRdEh4eGNPamc4Ni9HVCtZWHg4ZmJFY2hkYU9WKy8KMUlHVzdrVExCZ0Q3Z1EyWjdzZ2JDcktWOXVOSVMzZW01OW1UY3h3cGVVN1VmRERNbnBKcWh5UTRNMU9BNklTNlpQeDRLdmZnamhrTwpsQWc3Sk1XZUtiRmhoTnRSd0djUmNmRWlSMXFoRFRIZm1wcGdnWVR5aUJFZkh5eXBQNWRDMFgyVFROQmg0VjVmWk9vL0ZMUm9SSWhaCnIrOS9pbUdoWnFTQi8yRUNGbXRFZmVIbWx3VjhxeHBCZzBCK2k0RjBTZ1Bla1hyUE55R1RwcEttRUhHVHpGaUlWTG93M2lmY1VpZkkKVE1mYmloYk1Jd2k1T2dGWTljRUtrRnlEc05MekhBS0V0Ui9aT3RHaFdQV1JDeEEwSG1XbHMvSlVyUVlJell2QkdpRGZ2YUtBN1hHeAptK2ZPMmJ0a3llN1ZhOTVkc1d6WDhuZDI1MlRzUk91Z2ZYWUV1dTlHSjRJNWIzRzFYUU1jU0hYRlovbVNQL0xhWnpqdGE3UUFDTFVmCjh6R0Z6MEI5NVBaalVhbG1QN2JzRW9pVmNhbTFaWkdsV1FHZlUyUmpsbTNMeWMrVnBEWWVtdEZ5U05LOEo2eHhhMVRUMXZqbVhRazMKOTBSYzJ5bHMyQmwwWTBmb0tEdURsVFR1RHRVSWNDTWxXRDBhOVNUbEdFVmdhWXhnN2RZd0V0S3c2OFc0dmpOWUk2cWY1ZDhCKzRySwoxOFYyZ3M4Rmorb2ZGbno4ZDhOdTdnMVhvM0ZmeEhnS05TWmFwbEkrMVhRSTVkWUhNWUNtRDJOdWZSUUxhZjQ0RG5McmszZzVoeE1BCkxZZVRJTTJmQVRGS0JqU0Q0eGNwdDc5TWhiUitsWGI3bTNSQTY3Y1pnTnRINUxRZXpVVDNvMVg0MEIxWmxBZytCVE5sN1NlQUQrVjIKZmxYUjhWbDY1d2VsL1ovTmVYQWlvZi9MeVA2dDd6eGErbVZyNWJkOXBVMFBzcVNkaWRLbWhLR205TC91cFB6VkdUdlFsOTdaWDNMMwo3dUxmMm5adVI3Y1ErUzM0MWsrU2hoUHhiVituM0R0VzNuWTA2L1l2SlRlUEZ3Q3YrdVAwek0vWHBCb1QzVkNKSVVVYTRzVWNXakJRCkJ4NGoxSWcwUm4yZWgvRUVTRFVkcHNTSUdBU0ZSczE0bE5Lanlzc0prQkhDMThlN29qUHdFUUVIOFRmUWRUZEhCR2I0QUVPU2gwYk0KaUo0UU5zbExGYUNHcG5naGgrQUsvcXkwb2dRWjRUelEzYzFJdmx4RWJJQno1ekFERENrQlFMWU05WUpNOWZoMitud3UyUi9BUXdLVQptRk1DQVphSVFJa0ZPV2dVa3BoSEVITnhZbk5DS0JjWGFxb3R0cWZIbWt3VHZISUJVanJReEFJRTJocVJxWThTVklDc3FmR3F5SlJvCkZOZ0RCZ1A3c1dla0FmdUJBdVRBaUFFZjBKR1I3TUxNQUpyaWdPVHlxU1ZlK3BVZTlISmYxbHdmL1hsOGNya3pVdVJyVWhMblByc2cKOUoxVmM0cTNyYzRyaWt1M3gwMzMwSi9uWVpSclE4aDJaaWJCU0ErVUhxVU1PVkF5MWV3SEZTQmFPc0FXU1hkaFpUcnBKOW5SWW15cApzUTcwVkdkbXJnTTF4NFVlZWZMTG1WTHBvbWZQbHNSNEpWa1JZcXpJYVphVVJObFBwZG9naVRia1pFdGluQlU1Q253aVMzTEtaM3Z6CnI1MU5JcEFtNlRId0xPcmtCVnpCMDZDRjZCWVRnbVV2eUR2amdCMDUwWGoxek5Rb3k4WUJPL0pseG1PVFpmS1UyYXNpNEczTkJLS0oKc3lISk1uUmJlTCtGYkFKUmw2cERKV3ViR1JEL0hDaFBDVWgwSkVYeGNHTDl5YjRjWEpBRkxoQ3JQaENlcmo5QUxTbUdTWHM5dHdDTgp0WitKQkVoVmNWUzl4NXNQakFjOUFyeGN0c0pUUC9lNklKOTNSWUYxWWNGYlVwSnJzak0zbFpmdExDbXF5OG5ZRWhOV0d4eFFLL0FFCjlsT0hyZ1R0dEpGdnN4TGR5eWVQcEFBQWdBQkpSRUZVRDFXVytWTHVkNkhjNlYwUitCbE5mc0hTSDFVQmd1cWpLa0NxOW1OalZneHcKTkoxdXdjbTBzaXl6TkN4ME5zeVA5d3l0LzdENGRsMXE0N2FBVzdXaHpUdmlidFpGWHFrVFh0MGhBTVp6c3phbW9TNU1Sb2ljSFJMSQp6VjBoR21uWUhhd1I3RWdBRkFpc25XQUZSZm02MSt2RUdybTJYZkpDWE4wbWZpVmdyeXluVnFRR2ZKOVhNVnpiSVFGZ3Z3RzVTTzJXCjA3QW5kQXg3dzVUYzJCY091TGsvQXRENFhxU1NtKzlIQVJvUFJqZWlZaFFEYUpUUjlFSHN6UTlqR3orS0F6Ui9GTi8wc1lKUEV5QzMKRGljcWZRaklFUFNoNXE5UVdyNU9nMEFyVW9vUkdqcVN4WXFBQU1uaVE3bHRSM05hdjgyNS9VMTIyOWR6dTQ0V1BQd3krTSthV1E5SwpmdXVLNzIyUGIrbU9IK2xJZU5DUjJ0V1YzZHVkL1VkUDJsLzMwLzU4a3Ztb0ozMFFQTlVtSEdnWC85MmIxZG16OG5EWFo3bTlGMTE3Cno0anZmSnJZKzBWV3o5SEsxcS9LZ0paMW5DanBPbHNrZHZZMTB2RmlVMk5OcU9pNk1peWNyeGxOWURRMjl2TThLRVZIRmFVQVlleEgKTGtCS0RaTHZuSXFvUjRiRzJJOG1BVElrK21yRWxPb2x1NmJZZ09CbFNQUUdrc2ZTazcwb09WQWpKc1FBaUNrcGNBdzBmM1FURDdLSApJYzZUUjA0MkpjZXpHVkg2aUJqb2xEbFZDTDR1VTZyUWhDSXlKWWRhMFJNTnBvYXh5Y0VjSkFUQ3BZU2lKVHRvUFhLWU9UV1NSNG1BCmNKRndBSWNjQmdCK1prSVFtdUFsRnJRWU1JeERFYklwNEozekp4WWdhRDlqSFVoZGVpQ2pJUitGQU1IMkN3bVFEWkFlV29vY21RUFoKZ1A3eDdVY2hRR2o0QjlpUFBTTURBRXR0N0doNUFBZEdBVisvMUlWWjRrUXZjcUdYdWpMTG5LbnBic3hjTDRNaUQ4TVNOLzBTRjNxaApFNzNBaFZrRVpNaFR2OHlKVk9USm5PRm1tT2FzSDh0bjVybXhpc0JSellGVUJFamRmbEFZS2NDNmJKQjROSHBFejdNaFpkaFJVdTFwCmlYbmlBdW5RL01HL0Z3d1BUVCswZlJHUUhrdHlBdmhWMnBMakxYRkpkcVJzTU42ZUhtMU5rZGd4Z29ISWZ2bGVVY1A1RkJKcE1vR3MKYXpoVmF3RTdhQ0I2dFZTNGRGaXc0b1VZRWl6VlROQnl6V0JIeXBBR2FFYjl4Ly9wT3VyRC9uSDhPR0RmeVV2aS80NUdobjBXRGdZcwpmaUpaOWxpdzVPK1kxY1phYnlKNms1aUVLU2I2ZW84SEt6SUU2U2tlYjl1UW96bUVFT05wdmpZa0FWWjlWQVZvVEczUVN3c1F4bjRtCkVpQjByVUladmk3YkFINzg3ZjZ1dFFGdWRZSHVPNEk4ZGdKQVEza3E4TndsOE5rakR0Z3RDdGdxRVd5UkNEZEVoZFdHQjI4WCsyK1MKK05jS3ZYY0d1cjNyNWJnTnJmNXhXdU5tdDlyVGNZTzczV3FBY3ZrZjVUYnZUcFlMTk5uUHVBS2ttdlpTaG4rQUFMbWE1L0JZaFJ6egpFcDdwN0VCMjVKbE5DWjBISXE3VVJON1lsblN6THZINm5wZ3J1MEl1YlJkZHJ3MjlXUmZWVUIybEVDQjFCOExHUXA0VHBjcklxUTFXCjVmcDJDUVRiQTdtMk5WZ2pWMnNrR3JsU0xkYkkxUzJpVjBMOWhHQmZWLzdxbVBkNWRWc3c0TnIyRURXdWcyOUFCZVZ2NGRvT2xPczcKUXdFTnU4SkdrZW5SalhmUmtCSVVJelU5dW5GQUxrWTNaTndFZXFRUUkyQkZrQnNmeGQ3NkpBRUFaUWpsc3lSQTgrZkpUVitnM1BveQpCUUt0Q0hEN2krUTczNlFCRTJyNU91UFdseG0zdjh4cyt5S243WERXbmM5enVvNEVkeDlJYksvOHVEMWsrSjVZK2lEaHI3N1VCeDJaCmc4MEZmOTBxZWR5Wi8rUkIvTk43NHI5YXhmZXZSUFEzaEErMnhUNjRuOVQvTkhIa2ZxaTBPV2lnTmJucDhjTHp6ZDlIdGw0SWJQd2UKWFdMZzRkY3A5NDVVZEJ6UGF6K1p2bmQ1dVRtZWIweUtNS0tHR0pHQzRXNFZFd3FRUExxamltclVCK3RBR2xFVElPaEFxZ0trcmo0dgpLRUJNdkkwK3dkR1U0bTlNRk5PbUJSbVJSQXljdXluVFgvMkNDZ3hKbzZpS0VZdkNOeUFMMkl4QVU0YWJLU1hZaUNxZzRHeU1hYUdtClJCOHprdENFRkFiVXh4Z1JBZzB5eEF1NTFGaGpzdGdFNktBTU1CNWdSZzBCd0hXYzFTdkhrUkJUVWlTUEhzV2hCY05aY3VpS2tlUncKTmhJem5nQ3BxczlZRFZKWEg0VUF4U2lYUXdRTjJMYWlvZll6Z1FDcHR1SFNPTFkwR01WSmhSb2tFeUJnT2ZMVW1QSlVDY3lYZ2ZFSwpBY3BDeTQxcFdRN01URWQ5Y013R011UkF5M0ptNVBQMUMxMllCUjRHTTF3WjVYeDZCWjllNlV3dmQ2WlBkMllVT3pMQlUybU8xQnhmCmt6bE8xSHdQL1FJbkpOZmJvTUtGUEVQVmZoUVZQekFqcHE0K0R0UTBCMnFLUGJuY2lWWUMxOHRHaTZOcHVmYlVORnRLL09HNmVZTlAKWmcwOHk1Wkt5M3M2M3VZelVoeFlnVmIwU0FkcW1DTTl3Wm1SYmtPS0F6SmtRMDZXL1d6NjV3ZUxHMzVQb3BDbmtCQThtVHFwcEtpcwovY0sxRytldjNMcDg4NFZvdW5UOWxkQlFyNW1tU3pmR1FmMEtDckFqSng2dkdldzdnZHg0UlZ5K1V0OTA2ZXFOODVlYkxsNXAvZTNpClZMcWVObldxTm1VU3h3aU5BQ1g3SlRrUzR6azZ3WWJUZ25nRUlVZmJHNnMrcjFpQU5OYytoMlBWUnk1QTBIdlUxQWZWSGM4NkpZRWUKdFFEUUVIanRFUG1nZGRBaW45cmdvTjJTd0YxaS8zZEZmbnZGL3Z2QnN3RnVPM3lkZDNvNlZIczRyUFZ3WE9WdXY4YkRZYU9iTGJybQpJVGlxeFg2QTlFRDdBY0NaWDZwci95aG52Nk94SDFraVRLTUFBZXlNVXh3NDAwME1aem1ZRjN5eW9ySnBZMkRyRnRHbFhkSDFOY2tYCnQwV2ZyNHU0dkRQMjJ2YWs2elh4MTdhR1hka1cxTEE5ZEJRVlU3bFJGNklSYkd3R29tWXoxN2FKVmJtNlZRUzVVaU9FWEsrUkFLNVYKaTlYQUtnamt5aWF4UnVvM2lqUnllWVB3bFlDOXNweE5Bald1YkJZQ0xtUDRCMjNhS2xFRHFsTDlkcFFydFNHUXEzV2hFQ2hHMEkydQo3VUs1dmpzTTByQW4vUHE3S0ExN0k2N0p1TDR2c21GL0ZPRDZlMUVOQjZJQjE5NlB2bjR3Qm5Eamd6akF6US9qVVQ1S0FEUituSWp5CmFRS2s2WEFpQkxyUjdjK1NXNzlJYi8wcW8vbno5RnVmcHJkL210M3phWDd2aC9sL2ZoTFZzM3htYS94dnJVSFM5dkRCenJUKzd1eUgKUFZuOVhibjNIcVQ4MFNkNjBPTGUweXk0ZHpmdlVkZWlyanZMcmowcDZYeVEydDhkK3FCSDJQMVhXUHR3Uk5mVGdJY1BISjg5VFcvNQo2OERzOXAvOWJoK0w2Znc2dGUzYitOdGZwWFIvVmRwNGZJbVhvWnNSUVdKSUY3UHdJbk5LcURIUncxQmRlc1lJa0pycllOTmVTaVlRCklEWExVUk1ncktESWVXNEJNaVVtNk92NXNBak9CZ1JQVTJxUUVlTERwZ3NOOE1GQVhEUmloUGdhVS95d2dCL2swTU9CR2hwVFBWa0UKUDU1K0NHZ1lFeEs0RElFaFFXQkdqZ0srQWw2SXh4UUF3THN5cFlxVm1ORWtTamkwVUNXd2ZseGVSVTZPTmlhRUcrSmhkYm5ZakFLKwpzVUEyVmZTZkVDQWxFd3VRc2cxUG9RREJISllDaFFaUms1VUNwQVo0RmhZK0srMEhya2xvUzgxMlpPYWkwTE9CaVBCWitXNnNBcG0rCjVEclRTdHdZY3p3WTcvRHBDMTNvbGE2c0lsZkRiQTlXcFQwMXpwVlJ4YWNzOFdVdDhXTE9kYUhtZStxWFlRVkljYXJCZnVUUVl1MXAKNFRia1NGdGdNNlJVV3lURzNTVG1mbGVsZEdpV2REQkhPalI3OEZuNW5OeE1CMUs2RlNIRGlaenZSRTJ5Sm9kYWs4T2NHSWxBaHN3Sgo0WGJVeE04UEZ0NzROUkdkd1VmRUdSSW12Yk53bVhSSU9qd3NCY2NYWS9qL0tDUGpnQjA1TWRodlRBYTRrblFRNWFsVSt2ZndNektDCm94R200b2x2R2RKMXBkS0ZVVzdoMXJvaHhsUDhyV21SeHROODJkTjhzT3FqS2tDdklBV215WDRtRWlBZ1BVcUEvU2lEUFZCNklBSHUKMndIUWdZU2V0UUtQN1dMdkhSSy9QV0xmM1hKYjh0Z0ZmdHpIdVJhR2Y5d2RWbms0cmdBYTVHcXpRYVkrS3hRTEhyNHRVNThGNktSMwpoUURCcWU4T0ZyUEIwY2xLSGdGU0V5QmJicmxjZDFRMENNSTNyN0sxS0hXeld4cmhLdnF0SnExemUxcno5c2h6VzZOdWJJKytXaHR4CmFYdEUvZGE0aGkySjF6ZEVYNjBKdWI1SGZHMXI2SmhZaTBKWjFBSXpLbVlqVkhKMXEwQUZkY1dwcnhZQTVQb2lrd1BBcUM1c0ZLbFIKRDJ4amZDNnYwOHlsdFlML0hkWUZRUzZ2RjZoeVNRSFdwVFJLMWVYTllpejFXeVNYcStYVTF3UURybXdOVVNBQ1hOMG1ydDh1dmxJcgpBZFRYb1Z5dEM3NnlRODdWblNGWGRvVmMzUjBLdUxJbkRITDEzZkFyZThPdjdvdUFBQ1VDQUIrU0s5R2hXRGtmeGdBYVBvcUYzUGc0CkR0TDBVWExqeDhtTm42UTFmcFRXL0dIRzNRL3llOS9MN2E3TDZDdGQyaXE2ZWR0VDJoUDd1Q2YvYmtkQlIwZFdiMWZLMzdjQ0gzVDQKUFg0WWNmL0pvb1luSjQ0ODZkMC9NTEJmK3V6alIzOS85cWo3ZE5lUFY4K3VhVG1hMVhNcS9ka3ZCUU9uODNyYTNKNWVkTDNidFdURApYOStHM1BraXVPbXpuRHRmVjdSL0c5bDJQRGZKVmNBbVM0em9BZUEyekNWS1RBZ2V4dVFRMVpKbmlLTGtlWXp1YUt6N1VSV2c4Umt6Cnd3c0trRnJoczJ3SjZaY1VJQ2JlM1FCeE1HVTZHQ0Y4RThUWEFPZk9vL3Via0x4TlNmNGFNU0g2cVNGL2lod012Z2VXYmhnd0hoUEUKRDd3SFU4VEZqQ0EyUVB5TnFXSjlYQ0Q0VGl5WklZWTRiek55QUpzbU1DTkpJR3h5c0NyeWhCY3BWQTB6Q25oamdWeUt4SlFReWlGSApjWkZ3SGpVWXZPNS9Ub0NBL1ZqVEU4WVRJQWg4RmlEUGY2RlZ6TElFRmoxZGtjK0NzN3JrbHFOVUlpV0tmbUJMbWRCK1pHczA1N2t5ClovSVpWV2lNaDFvS2pJZlBLUEprbFhvWmxIaXo1cmpSeWx6cGhYeG1ucXQrdmp1cjFGVy93cDQ4M1pVNWgyOFU1MHdyOGpHZTdVek4KOURPdWNtZmtlYkVLVldkN3FRc1FQUU5yUDU0R0JYYWtPRDRqMVkySjdveGhSNHIyTUEwcWpFc1prZVlDNzVFT0xScithNVowWk82TgpTNlVSem5FaU81RXJkYm9kRW1KSENYS2twWnByWjlzaldkWWt0SGpvMjczNWpiOG00U2xUZENoNmROTGtCUXZmUWUvV2c5TGhFYzFnClRlRFZvbjZ1QUdNT3I1aEI2WWhHMUQvL1MzOFIyQ3ZJR0pROU15S3pvR2ZTWVRKT0d5Rk1JU09UelZqSW9IUk9ja0EwZDRxZk9TSEEKV05lWGl4ZFlFVVJZOVlHOHNpSm9UZll6a1FCQmc0SHFvd3oveUNKQTJ3VmV0UURRQ1BUWUJvQTlRYTQxWXM5YWtWZGRnT3UyQU5lYQpBUGV0QWU3VnZ2eE5mdnp0YU96SGZndWE5bkpZQ1FYSTJYS2QzSDZzbDZyYWo2UEZYR1g0UjBXQVpqbGJqMGFBWkE0a1MzN3hLbXc0ClphTWhINFg2eU11aTJYTkRCQWZYTEQ1VVU1UjBkWFAramUzeDV6WkVvdEt6UHZCR1RUQ1FubXViZ205dERydFZIWDU1Uy9EdjI5QWUKR1lwTWpjSmp4dU5LVFpBcTlkV0JrTkZRamJyb29OUnZDQUpjWGg4SXViUXVZSXcwS0dRQ0Jhc2FNaTZ1Q1JvSG9VWXVyWDQxWUs4TQp1YkE2RVBOTzBEY1BqMm9BVWJ1NFRxRGswbnFoQ2hwVUNZalJwVTF5bEVvRXVWd3RndFRYaUM5dEZWL2VKbEduTmhoUVh4ZHlXVWI5Cnp1REx1MElnOWJ0REwrOUJxWDgzVEdsQ1Y5NkxCRnc5RUhYbFFOUlY0RVBvbXVCeXJuOFFEV2dBUGdRNEdIL3RZTUwxZzBuWEQ2WTAKN1U5djI1TjVaMHRTd3pzaG5mWURYZUxPenZUZXRzeWg5dVJuUFVrUE95Sjdyd1YwdHNWZGVyTGp2TFQ5NUNQcGg0MkRuL3pjOTh1aApocHNiejdRa251LzArZlVHKy93TjNMbTIxMDUxNngxN1lIN3lJZjk0WjhxM3ZXdldTazhVLzlGUnZiLy9hSFRUNTE2dG40aHZ2eC9kCitrMzQ3S2hFTGlKa1VYeE15YUdXcEZBZXhkZVlGRGFlQUtFNU1vd0F3VTVzdkFjalBXTUVTS01ES1FVSTJBL2s1UVNJUlpTdzhFRXMKZ2grNGdqRk9ERHpBV0NmUWpPQnRTUGJSaUJuSlZ3MDIyUTlnU3ZBekpya0FnekVtKzdLUlFETjhNSS9xd1FGdmp5NW1JWUhHRkQ4RApnaGVYS2pJbGltUkNFODVGeEpvWkl6UXFrTUxRcFE0UklSY0pzcUNKakhFQjBITCtGd1ZJYVQ5d2dDSUNoQXFRTEphRENwRFNnV1FaCkxqbEtHWUw5aW5CUnBoME5DbENlSXpQZmlaN21pTTdoeW5MVkwvUmdUbmVsbGZJcFplNzBHUjdNY2svbURHOVdsU2V6Q3JnUm4xN20KWVZEdXBqL2RoVDZMenl4M3BTMTBNOGowTkVwMUpKWjZHeFM1MHJLVk5VQ3E5b09td0JUMkl4TWd1ZjNZVTVLZHFKSFRFN05PZmpHMwpzYUc4djMvR3dPQ0NoNDhxaGtjV0RJL01HdjZyZW1SZ2huU3dVRHEwZUhnb1J6cThlT1RwcWtGcDFaUGhyTDcrcXNON2wvdndZbXpJCmtZNk1hQ3RpNU1mdjVWNC9sNnhIbVV3ZzZwcmdwaXljdldSNFVHWUVyK3lCRFlaQU5EK3dhZ0xCR3NYL0RMTG9qQWF3Ny9EbGtBNUkKaCtEMzhUZndvR0U2VHBkQW1rSWlUekpqVVI4UFZpVDVSOWdSQTgxMFBVeHh2cFprQ1h2cWM4MEMrM2Vtd2F1b3p6L2Jqd1lCMHBnQwpVMk0wT0NUN1FWK1hiV2pWcytNNlQ0ZTE3bmFyWWNnSDd2TUYwMTdLOVg2Zy9jaTl4eHJGRWRpUDFWd0h5em4ybGpNaFR1WXlMQ29CCmppckwvOWh4aTFBNDZONFhDbVRwTU03TTdQUVBsODM3N01yNnhBdnJ3cS9XUmx5dlNicTRPYWErT2dKd1pVc1lTblhJdFMzQjE2dEQKQUZjM1N3QXFTU2doNVBvV01lRGFaaEhrNmlhaEFqRkVQWEt6VHFEazh0cWdVZGFJTkhKaDlhdmg0aXJKUDNKaHBWakp4VldpL3gzVwppRFd6VnFLUkN4dUVHcm00VVNSbmt4aHlmalBLaFMwU3dNVnF5WVVheWNXdHdSZTNpUzlzRTEvY0xybTRQUVJ3cVRiMFVtM3d4UjBoCk1pU0FDM3RDSUJmZkRiMjBOd3h3ZVY4NDROSjdFWmYyaFYrVW5WN2RGM1p0Zi9oMUdUZjNSTFR2eWIxV0YzMXVaMWpqbnBLbXpaNU4KS1JWZDFuOTArang2bk5UZm1uMm5QZm4yZzVUdU8rS2V6c0M3VDhydWR0ejh1Ym4xL0xlTjEyZWR1ZVgzVFlmcGwvZW5mZlpBNjZOKwpyWS91RUwrKzYzZTZ1L0o4MSs1ckhTZHUzYm5RZHVkR1YwZFRmMGR6WDE5cjE0UDI5Z2QzV3pydk50NW9xLyt4NmV3WDUwK3NMaytKCjVGSDVCdmhnWTBxRUFYcFQ5elZEZktIOWNHakJiS3JFakNUa1VpUThhaWk0eldNeVl1cXBzUmR4SURsamYyU2NDTkFZOVJrRnF6NEsKdkRXaXVsWVE5bXBHNlB4NTlDa1RKRUNPWWtVaXRVbHFTbWxUeHE1TUVZR00wWkNZS2h3a1dDUHFQcVNBUTBLQkMwQUQrL2xIQVJwYgpHUjJsUkMzNXBhcEIwSVFBc0EzN3JXblJWdFFvT1lvcDd1ak1kaXE2aW85S0JBaWQwZ1VYRW5SZ1pxTXdjaHladVRETWc3b09JdzB0Ckg2Wm1PTkN5bkJnNXpzd2NGLzFzZEI0V0kxdEdqZ3V6d0UyL3hKMVY1czZxY05OSDdjZEx2MUxCVEtCQkhveEtWSXdZRlNqTWNtQkwKN3N4aU4wYUJHeVBQbFk2dStnTWNTS1pCT1FDMDhGbW1QbkRldXl6Mmc1YjcyRkdUSVRaSVdFZjdiT25JaklFL1prbEhwa3VINXd3OApyUmdjcXBJK202bVI0U2NWSTgvbVM2VWxnMyt2VGhOSE9OSlM3V2h4MXFTa1QvZVZYYnlVU05PZFNpSm9VUmxhaStadkdobVJSU1QrCjQ0OHhKalNDUHFRb3c2UDJNVHlFSW0ramFUbjFoOGJPaVI5RFE2aDF3QWY2a3NxRzRoWGhHeGg5NlhFZldLV2JpSkdSSVkxSXBZK0EKVUEwOGd4OXpDRUcwOGZnM1NTUnREZzAzSkowWEd5amhhSWRaRVVTY3FXSnpnck9GWGpCSHoxOGpYRndBQ2t5SDRRUXlSR29vUkFkbApyUHFnV09FbEFGbmhNMlJNQVpBdFRnTjIrTWh4QlVnMUJZWUZKc1g4M2RES0lSL25yVkNBNERJL1VJRGs5bU9Ecm5hb1hPOUhOZmtsCkU2QjVTZ0Z5c0pvMUtrQUsrM2t1QVRJcmQzZGFFQnY4OXRrVjRRM1ZjZlhWSWZYclk2N1d4Ri9lSEZtL09WeEdhUDJXNEt1Ymc2SDYKak5iVEtMSlVNb0tnN3FqR2J4UW9jbEpxd1pzMVk3aTRPbEFPVmdWa1hBQmU4aUtjWHluV2lLcmNqQlVkZGZWUklOVEkrUlVDaldCSAp2aVFZZFpPelJxeVI4K3RFR2xHYTBIa0ZGemFLem0yU0Ewem8zQllSNEh5MStIeU44RnlOOFB4V0NRVDQwTG50NHZPMUVobWlzenZGCmdITzdKSUR6dTRObE1pUkIyUnQ4L2wyMGNmSGQ0TXQ3Z3RIYzJlNVF0SEIrUjBSamJYTDc1cUE3SzZNYWx0dGVTOHU2NVhxK3c3dTMKTWJuM1JucnYzWlN1enFRSEQveEhldDBmLzdLazVXakR6ZVZYbXVOUDNMYjVwSlAxeFNPZHIvNmU5TmtmMXQvMDVQM1EvdlhGM2w5dQpQTHpWL3VmRDNzZFAreDgrN2VuL3M2dm53ZDNPem50M3UvdjdldnNlOXZYKzhhai96OGYzSC81MXYvTngvKzFuM2RmclQ1L1p0ZjV3CmFzd1NDOU5RRnVLTkZxQWc0UVlFQVpzYVlvQVAwdGNMNE5MRE9JallDTytIaGpyVXZXZFVnRlJ0Qms3MSt2Y0ZhTlNCTUtieWNnS0UKZFIwMUdWTDJRQUZTK28xYWhrNXBRbW9Ec09venNRRHhrQkNOS08zbk9RVm9MS2o2d0FnUVZuMVVCVWdOdEY5aFAzQ0xNY1h5aHZFMgoxR1RWaEJmTWVZRk9XTitqRkNDbEF6a3hVTmRCQzMzb2VRRFo2c3hBZzdLZy9hQkt4TWgzWlJaREFRS01GYUJLS0VBeXhnaVFPN01RCk9oQmMrVkNHUW9CZzZZOXMxUitzQURuVDh4WVU1eng3c2tRcXpYbjJWOGF6Unl1azBzS1JvVXFzK3NnWkFwNVVOdkNzOU9UblZjNk0KU0h0U3FRVXh3b0VSOC9HK25Fc1hzMmw2cjFOSjAzQUVyZmx6VnFOQmlZbHUvSy9xQWMxZ3pFTWhKR01ld0U0R0J3ZVY3WmVRSHV3RApYRVJwUDhvZTFWUDRvakl0R3pNTW5BS0ZHaGdZVU8xVWZZQ2ZBZ05VMVFxY0t0OC85akV3K0FRZE95SUxCNDBNNEhCdklBaTZyWTA1CmcvVG4wOW54UWlGYlc4VFREa1ZMZlBROHVOb0N1ZWlNeDc4dFFOajVYM0lIMGtQQk9oQXFRS3IyTStwQUdPbFJFeUJnUDc3OEdoK1gKYW0vbkxRRFpMUGRWeW5wbnBRQUIrMUVSSU5SKzVBSWsyL2hDdWVXN2N0ZDNGZldwVUs3OU00RUFPWERLN2N6TFFueXFMcTZLdWxrTgp2RWR5WlgzVWxjMHhsemRGS0FpN3NpbWtmbU53L1VZeDRNb0dPU3BtQXhOVlkvem00dHBBT1lwMHo0WFZnWkR6cXdJQUYxWUdRYzZ2CkNCeUx1bExJd2FqTXkzRmhSYkJtRk1aemZvWG9lVGkzWEtnUjdNaC9Bdk5KSWF1RUw4WWFnVWJPclJVcU9ic081ZHg2RWVEM0RZSlIKTnFtd1JRZzVXeTM2clVidysxWWg1TXoyb0Y5ckJZRGY2b1MvMVFYOXZrTUFPTHRUZUc1MzBObGRnZWQzQ2k3c0VGN2VJYnBVSjc2NApUWHl4Um5SeGZjU0ZUVUVOUzJNYVpsdWVUV05mdHo3WmJmMmtKNnkzSytsSloveURlMkhkbmY3M3I4WTgyckczTWVQYStZTGpyWjRuCjd0c2M3Y0o5M2ZIYWw5Mld4OXNXbjczNWE5UE5udmIyUDlyYS9taHZmZFRXL0tEdFZsOWJjM2RiVytmZHZzN09oNzEzNy9SMnR2ZDIKZG5YZDdlN3A2dS90ZWREWCs2QzM3OEhqcnZ0L2RqOTVmRS9hM3pOdzVYTExvZjNmWnNjdk5NWUx1VXd4T2ptY0xHWlR3dUZlWUJ5SwprRU1Kd0hpUEhLejl2TFFBcWRyUC81Z0FqY3Yva2dDcDJjK29BNm03amtiazlqT0JBSTJyUVlyWUR4QWdpQlVsRGlBdmJaYXQ2d09BCk0rRUJ5dFFZY0NCNWRiTU1XY2duejRVcG04ck9LQVM2QStOQWNnRUNTc1RJNXpOSzNQU25BL3Z4WUZWaUJHZ0dSRldBVklKQUJTb0MKbEt1MjVpRVVJSFNwUTRYOUFLd0p1UzVHd2lYVGk0YWZ2aU9WVmtwSFNxVUQ4MGFHTU42ampBQ041QTcrdGZ6dzNncHZqcmNOUHNFZQp5YkFteDFxVGtqNS9QLy8zMzFNWUJDMEdnY3lnNlN5Y3Qxd3FmVEkwS0F2Ry9DZVJLbXhHNlFyQVFBWUhoMkdLYVhqazJkRHdVd0JvCnlIdFVCQVcwZ1ZWZ0plWjVIcW91b3FvcHcwTlA0UXNORGp4UnRtV2c3eGE4T0xBYWNIeitGeHlXUGRSN3NROW9QK0Q2cUZNTjR2R1QKNkJSZEVuNHFqMFo3UERBckpTVFVpaXppVElrd3gzbkRvbVoxNDNsWkFSb1BqWFBnQVZDQXNBNzA4Z0xrNTdvVmVJK1gwMGFBdC9NbQpoZjNJMWNmTmJpbWM4NFcxSDlVOXY1VDJJeE1ndE9JSHFnKzBIMFc1VDdFOXQyUThBYkl4emdmUFJnYk11Ym8yQWFqUDVVMGhOemZIClg5a1ljV2xESk1yRzhQb05nTkRMR3lUMTYxVVJ5UXVLRmE2ajlCdFZ5NUVSQkRpM01sREoyUlVCZ0hQTHgwTmRLZVNza0dqay9NcmcKRjBMZGV4U29lY2svQ28zNjIzdDVnalN6VXZCaXJCSnFablVRNE93YUFlVDN0V1A0ZFIwZzhMZjFRYjl1QUFRQ3ptd01Bdnk2Q2VYTQpGc0daTFlHUW42b0RmOTRhQVBobG16L2d6SGFVWDJzRHp1N3dQbHZuZTY3TzkwS3QvNFZ0QVJlcUE4NXY5RCszM3ZmbVlyOXpid2YrClVpbitMWFBLT2FmRlRSWkQ3YUZ0TFVuOWQxTHZkNGo3N29rN2Y1elRrM25pWWNodmQzTy9iblk1MVVrLzFxUDlSUi8zU04rUzgxMk4KdDV1RzI2OCt1SHVyc2JlbiswNTM1NTI3SFczdGJlRFIwZDdlMFEwRXFQdnV3LzcyenY3Tzd2N3VybnM5dmIyOXFBRDE5ajd1N24zeQpxUCtQM3U1N2FOZUR6cjRIcmIwOUhYZWJlNXN1OUMrYXVZbHZIYzdFZS9BWW9TWWtpUUVPM2RYTGhCQ0VWWi94QkFpMnNicURaV0lCCmtqc1FSbjFlVG9EZ3M2b0NKSS8wcUVqUEdFbFNVUnlsL1FDd1ZnVEJxbzlHQWVKU1FpQlk5VkVWSUZYN2VYNEJVcTBCd2tvUFJGa1kKcENaQTFyUm9hMnFzeXU0V3FQMG9WL3BSMlFvRExnYWRvTWlMeVJOaEtnS1V5OWN2ZEdXVnVMS204L1ZMb1FPQlRtQkY2RVpkcUFBVgpBZ0Z5WlphNTY4OEFxTm9QQ211R3AzNEZRR0UvRUxrREFWd1krVExrWlVDYUJFaHBQNGtBQjNxU05TSjBwQ1FrK3FaMXRpNGFHYTRZCkdaZzU5UGRjclBwQUJwOHUzN0c2MUk0VWFxNGQ2MENQc0tkRldoS1M3S2taZXpibVhiNGFia0ltRUtmcUlVVGRPYlBtU3FWUHdjMWUKL1Q3OXFoK3k3TTgvUDJBTUJqNmV5eWVlNzZIaGFxaUZnRGMxREkxazRPbXp3V2RvSkV5alk2bStLN1VITkRQVndWRFhWSHZHUEVhawpnMC9sR2dURWk0VFhKdWhPWTFMSlZuVG1pTFJTNGlUbTZucVpUQkZ5OGQ1YzNiRFJWTmQ0L1BzQ3BMSVE0cGgxZ0JRQ3BPWkFXa3JwClVaMEloam9RUm5ya0FHRlNoSCtBOTNnNmJ2QnlXZy93c0IvZDR3TGlhdnMyc0I5WHEwVjh5NFY4cS9rdWx2Tmt6SVhBVlgvVTdFZTIKNTVlNi9Vd3NRUFptaGRhbUJVTFhzbXRyazY1dmpLL2ZITjZ3SWY3U3V2RExHNk12YllpcVh4OVZ2eUh5OHZxdytuVmhsOWNGSzdtMApWbkpwclVoVzJ5dUF1ak5lUkVmOXZqNEtWZ1ZRc0tvaEZ3Nk0ra3dNVm4za0xKZE16TGxsNGpGZzN1SC9NdWhYb1lHekt3VWFVWnJRCjc2c1ZyQlVCZmxzamxCRjBabTBRMUtBejYxRisyYUFrNE9kTmdZQmZOZ2NBZnQ0QzhmdWwydmVYR3A4elczM1BiUFgrZFp2UDc5czkKQU9lMmVWN1k2bm1weHZ2eUp1K0w2enpPclhadldHUnpxVnp3ZStHVStpQ25XOGF0Ti8wZk5hUjJ0RWMvdkJuU2VUdWxjK0hPTzRJegpqVVUvdDhVZWVXencxZDg2SjNweG4zZG1uRzc3dGFGRjJ0Ynk1RTVuWS9QOWhxYXU3bHN0OTIvYzdXKzYyOWR5dDZlOUhRMzUzTDNUCjIzYTd0N1dsUXhZQTZ1bnE3ZTN1QWFDTnJ2dDkzWTk2Z0F6MTNldnQ3K3Zwdjl0M3IvWEJnN3VQN3ZYZjY3elgxLzJndGJGNzZieXQKSEgwL2RQbzNQY0lBSnpJbWpycytrQ2FWZVJrQkdrOXJzT296M3NqL2hBQ3A4dThMa05KK1pBSTBSbkZHVWF6NHJBWldkN0E4bndESgpWMFMwb3NXcW90eklZdXdpaHdyZDBTUkFxZzdrcUM5UGhBSEZjV0VXQVB1QnlKWTlMQUJLeEdmbEEyQmtDQWdRbnpIZGpWa2hFNkNaCm83RWZtZnA0NnBjQm9Qb29laXJrRHNRbzVZTXJ5QndJT3dGZXZ2Q1BYSUJRK3dGWUlHSDJUSWtWUHQ5WlB5N0lJdmEzMDJsRGY4K1cKanN6Q3FnOGtMenJVaXVqbmpCUTVVREtzU0NFOFhMU0xmcllsV2JSMGV1bWdOSStwZ3pPZ2tNQ3RWeVQwLytQUlBWbmtRNzJLNWRVaQppN0lvVGtlR2xPWXhPZ1NlUWpOUXlTQ055TnpsNWNJL1VvVzdLRTlIMDFWalgxR0ZJZlR0RFE5QzRDbjI0MmpnQlVZT29GLzQwTE1MCnYvOW1wTS9FNjJpVGNUcXVIUDNCa1RJUDQwZ2JjcUE1d2M5TU85QjBXZ2diNTYxdVBQOGhBWkk1a0dveDBDc1RJRGpNejNXcmo4dG0KTDZlTm5vN3JQSjNXQU56dGx5blZ4ODF1Q2JRZkYrdEZRSDFVN2NmWllnNEVGanM3Vzh4Q3NheFNsRHhYak4zelMwVjN4aEVnUjE2SgpEYmM0d0dYNjVWV3AxemVrMUcrS3ZvcFdRMGZVcjQ4QlhGNFhpYkkyL05LYUVEbXJnMldnMWNHeWFoVzU4V0Q4NWg5RVI0MVIxOEVZCmlkeExWZ1JyNVB6S2tCZGplZkE0akNOQUw4alpwU0tOWUVmS3h5OFRhQVQ3RmFsL1VlcUNxQmxWR1JwMW9OWENYMWNMRkE0a0JBNmsKNUtkMS9vQ2Yxd2NBL3JYQi82ZU5BWkIvYmZJRC9MVFo5NmZOM2o5WGUvOVM0L1ZMalFmZzdEYlgzN2Z5ejlid0w5YTRYdDdNdjdUUgorZkpheDR1cjdjKzl6VHV6d1BoTXFkWlZ0NjNOdG85dWlWbzZSWStIL2Y3K1BmVis1dEYyd2RuR2pNK3VoMzU3SFRsMVYrdG9yK1dYCmJWLzlmTEdqdFhtZ3I3T2pxYVhwOHMySHQxcWUzcjdiZmEyN3JhM3R6cDA3dCsrME50OXBiV243Zit5OUIxaFVaOTY0elc2cVNwbmUKcUZJSEdIcnZ2ZmN1S1BiZUt5b3Fpb0s5ZDlPTkpqRjJFUVM3MG52dmRTZ3pORFZ0azAzVUxOL3puR2ZtY0pnemtNUTNtM2ZmL2Y1ZQo5elhYT1dmT2pBUFp5N24zVjd0NytucEZJbEcvU0R3Zy9tNmcvNXVCL21kQWZRYjdCNGJFL2NQOUF5K0d3TVB6NGFIdm53MzlPRFQ0CkhaQWVHQTBhR0g0eCtQelpjSDl2ZDg4M2d6OFVQYTZmSHJGT2plcXN6UWpnY3lQSjZqT2VBSkZGWnp6K1NnRWFJemZraEJlcE1ubzgKQVNKZStVTXBzRkgxWVlkQXlPcnpQeE1nbWFuUVpQVVpUNERRS1JJZzRrem5zVXN3WkNFV1Iwc0VDQU5WK2RpcExaTUswRExjZnVBQgpQRjBHN01kZWRSVW1RT3N4QWRxQTdFY1M3RkZiRGlIWWo5U0JvQkxaZ3plUjQwRHpyRGlKZU9jWDhCNHoxalFrUUNhY2NHTkdBdmpSCkRKUmliYm5UVCsrTEhIbVpQUExUdURWQURsb0o1b3haeGlvSk5xb3pqR25SdHVwekJJeFFTOVd3dWQ1TGYvcGx1Wm11TWt0RmdVTlgKWVRNbk1laks2bXBzN2FscS8yNTB0TlYxZFRUNEJ0cVdGaVkrM3U2Sk02YXRYTEhrK05GVFZ5L2ZxSzF1K09iNTl6QXI5S3RVUk9UOQplUU1Id3NNenIxNjl3a3Q1WUY0TXFjZ3ZJd085ZzhWNUpWOTlmbWwzNnA1bEM1Y0hCL2w1ZTdrNTJGdWJDUGg2dWxyYVU5VUJPdG9hCjRNUExCZnhFV3BvOEhwZkJaS2dBd0FFNEJSZW5hcW5LUlV1THBhUERucXJCMUZCbHNXaFV4ZmZmVTJVcnN4bHZyVjlzWFZjem56OHAKMkZERmpVOTEwWm5pcDY4Y2JFai9xeUpBc2c0VVJCUWdvZ05KQkVqT05DQ1MraURjYlUvRHFtY3MrUVhzeDhscUg4RFJjZzlCZ0ZLbApBZ1FIUFV2VlJ4TDdrUXBRMHFnQUVleUhXUFJqWWJBY01Xby84Z1RJVUhPK1FIKzV2Y21Td3BUWTZuM1RxdzVIMXh4SXFENFNWM013CkJsQjlJTEo2WDBUMS9yQ3FmU0dWZTROaG1iQzBYQVorNmNLdlpHZzVaV25lNUs5d0NTUVZJQXNCV1hmSWtOWG52MXVBeG9Pc1JJaXkKOFNuZFBVckpYbitjWXNBK1gwVGhmdStDZlY2QXZQMWVlUWM4QUVDRGNnR0hQSUFHQVhLUHVBUHlqcnJsSFhYSlB3NXdLRGpoV0hEUwp2dVNrYmVrSjI3SVQxcFhITFd1T21kY2RNYTA5S0tqZHo2L2VwcGw3VXFGZ21YK05aVU96ODREWWZVQVk4T3pCaWlIdkFwSC8zYmE1CnQ5ckQ3dzl5TXArLzkvVmcvS1AydHVhYWtiN1czbzd1dXRhKzN2YmU1eTE5WGZXaXRoWnhiMjkzVzE5dlo2KzRxNmUvdDJkSTFEVXMKN256ZTMvNE0wTmNqNnUzdTYrMFdpM29IeEgzOTRqN1JnTGovMmZEZ1VQK0xRZkh6WWRFM3dIVytHLzV4ZUFCNDB2TVh6NzhIOTMzNwp6Zk8rbnQ0WGc5OE05WDJmdnZYY1ZKYXJKdFdUckQ1UzVFeUNsbnVSekhnQ3BFRWQ3WEtYOFJJY2t2ZThvUUNSMzFseWp6ejcrWjhMCmtNUit4aGNnWkROL1ZJRElhekhJNmlNRlc0Z2hGU0I4VjRaTTdBZFpEaXo2R1R2bVp5eTRBTTJSZElTcHdsWXZXUGdNQkVWMUtXNC8KdG1vTFVCd0lwY1ljMUZhajhJK3pScEtyZWhJU0lDQTNqcndWS00vbHFMcEVWb0NraFVIMnFzdHdCN0xoTHNTYjRaRUFBZnV4WUVINwpRWmhqdzZrRjNBZytkWmExNWpRRFpiK3Ewb1d2ZjB3ZCtYVVRXWDBrRWFDWUJlQlZ4dFFFSTNvUURDQlJvMncwWWsyWmNTNnFjZjA5CmUxSzNXYWt5RlJncVUralV0em5jS1V3R2pVNmY5QmZBWUV5bTBTWlRxWk1BZFBvVUZwUENZbElaZEJVcVJSRThDb3dONXN5ZThjWEYKenhvYmFvaDEwTGozdklFQW9UL0VBcDBmZnZpaHZiMzkvTWNmekpnV282bktvU3BOWnRNcEFBWkZpYTZpQ0Q0VitJVDRoMFRIR08vTApCZnhFNkVkRHAvaVBTZjdaRVpNbkt3RHA1REFWbVZSbHFwS2l0Z1p6OGlRRlRTMkY0ZjR0NTA4dU5uZy9TRS9SVmwvSmwwOEpOS0I0CjY2ajhhUUtFU3A2SlYxQlp0RURGVDY0RHlRZ1E3a0RqQ2hEcTh5SUQ3TWZGNm9TejFWRzQ1d3RPZk43bllMSGIzbHlTK1FMZUl4V2cKRkZ1VHJlTUlFSXo2eUJPZzBkZ1B3SksvQWpDYS9CcEhnTXo0eTQwTVZwcHF6ODVOanE0OU5LL3lTSHpabm1uZ3NmcEFOS0JxZjFUVgozdkRLdlNGQUhXQ2hETUVQOEsvazBsMWVHRDV5SWF1QVZBZ0NpZUFpSW5OOWxQUVF1VlRzRHBVTCtVNEo1SGVXZkFDQ2JKRTBoUXo1CkozcERTSXJ6WnBTbStZOERlTXEzSkYxQzhSNC9Ja1dBdlQ2QUFnQW1RTG43UENINzNRRlBEM2c4UGVnT0hBandGSERZTGZlSWErNFIKNTd4amprQ0E4ay9ZQVVxTzI1U2NzQ28vYmxGMTFLem1xS0R1c0dIZEFiMjYvVHJDRFVxbDV5ZlZ6ejdmb1NQdXR2emhlNDkvWkM3cgp0TTZ2Y0huVU52ZEtqMHUyV09GaC82VGJmWWNLZTM5czdlcnY3RzVyN09ocDZ1aHJFM1oxQ0RzNm0zczY2L3JhVzdyYmUzdmFoYUwyCmJuRmJiMzlyYjM5N242aXJGL3pwRTR1R2U0VkRQY0tCbnI0aDBYQy9lRmdrSHVydEY0dUd4RU5pMGZOQjhiUCszbUZ4ei9QQkFXaEUKL1lNRGc4TkRBOCtCSkEwUGljV2libkczYUtqM2g4L09aT3FwdXBPOFoxU0FaSFNIZkdVOEpoQWczSUhJYWtLOFV4Nnk2b1A0UGRJegpockd1ZzljbkVUVklxajYvcXcxZVJvQWt2VjFrQ0ZyemV3U0lzQlYxVklBd3JTR3J6NmdBeWRnUEFCWDlvTHFmMFkwV2NCQ2laSnNwCmp2UUtHbnNvSzBCWXp4Y1NJQ3p6cGJZRXEvNkJZU0VzTmJiY1FRUHIvOExzeDBWem80d0FPZkNXb21Kbm9nQVJpNk1kMUpZREI1SVIKSUZ2ZUFqejhReENnT0lBcFo0NCtMY1JVTFJZOE9odEUvdnh6eXNqSXFwRi9yaUdyRCtMajA0c042WjRXbkFRVGpwdUFIbWZKV21aTQppemJueEZwVG8vWnZpL2pwWldwNG9DVVFJRGJ6ZlNwRmdVRmoweG52L251aHY0ZGdNTjVuTXFkZ0p2UStsZm9laGZJMmpmWXV1QWdBCno0SmpkSSt1cnU2cVZhdUtpb3ArL3ZubkVXa2k3TTBFQ0wwS3ZMeXNyQ3dwS2NuVTFGUlJVWkVGL2tiYXU4QkZBSFRxT3dCd0JWNWsKVEVhUTNFWHkrY21Benl3RCtSNGNEbE9aU1p0RVUzbWZ5NlF4S1VwVVpRVlZOWVVibWV0ZmZKZmdiK0dnOTc2bmdHR3ZOeWxLVjhsRApoK3JFWndUd0tkNXkrYk1FeUZqWmQ0d0Q0VFhSU3FGa0J3SW9lTmlkQmJqYm5rR0FZMDk3NEVPakV4RmwrdVJkclk1QXJBKzVXTzEzCnR0eUxBajh3M21PMkV5THQrUUwyZzVKZk5rYWJaZXdIZUk4VmZ6M3dIa3g5WU01THFqNG81RU1NQWhGOHlHQzVxYzVpSy80S2dLbjIKVW12K2FrdjlsU1pUbDlqcUxUZmdMekhUWFh4bFZWemVrY1NXL2JPcTlrMnJPUnhmdlQrdWFsOU01WjZvaXQzaFpXbWhwYnVDeW5ZRwpsZTBLS0VuMUxkM3BKd1A0SWkvZE9RcTREUWQ4QjVlbEI4aUFsZW5JeG5JbWhxdzRiMFpsZW1oRldnZ1pzaEloS25mSnAyS24vNzhWCldVLzZMVWplSXdGWG42TGR2b1hwUG9BQ2pFSndLaVZ2dHc5TzdtNzMzRDBlZ0tkN1BaN3VjM3V5My8zeEFjakRBOTVQRHJrV0hMSXQKUG1oYnN0K3g5SUJUNlJHcmt1TW1wZnYxeTQrYWxoNHpxanlzMjNKRXUyV3ZXdmsyVmtFU04vZThSdjNUZWNWdWRTTE5iNyt6RUgrOQpwRW03U3VoMVc1UjRwY1gzVHQrazZ5OFl0NGUvYnVnWjZhem9xeXRyYUgwaGJPN3RhT3pzYXVqb2J1N29iZTBTdG5RTG0wWEMxZ0ZSCmMwOXZTdzh3b2M2TzNzNnVQbUdYcUs5TExPN3E3Kzk2SmhZKzYrOGVIdWdkNmhjTkRZZ0grN0UvNHY1aEl2MER6d1lHbndOZWRBOS8KMi9kaVNQUU1XRkpQTDNDaTV4MXR3a3NYdmxhbEJlbHpJN1NwZm9hY1VKNlNKMThyaWtmeDFPVk1JRHB3b0NKQmRNWUVWTWlNSnpjeQpwd2hNajJRVmh4enBHUS9pVzVHVlNDWTFodGNKb1dmSERvejIxbVg0SVBRWS9oTXd0Z0FJcmtyRmQ2YktJQzhSRmdHaFIrdlR3dmpNCllFTjJnRDdEVjU4ZWFNaU01Tk5oU3VzUGdRYjhvRXBuYWJjWE9vNUJZQTQwS2tCbzlnOUNzdG9DdzRvN1d3bzRSbDN1TVBhRHV1S3QKMVJZRGJOU1gyS2d2czFaYkNyRGpRZXpWbGdCOWNWSmRpV25OQmxmMVRkaGprcHZHQmpnTEVhdjFnWEVnM2dvWDNucUFxK29HTjdVawpnTHY2UmdBNGNGRmQ0OHhiN2NSZEFZSEpzcVdvUTk2R3N4ajRrTFFZQ0ExQ25HbkptZzN6ZXF4d1UxcWlRSG5hOHZpb1gzL2VOVEt5CitOZC9iaGw1bmZyTFA3YVhGOGFLdWxhTmpPejUrWWQxSXlQYlh2OXpRMGRMaWprOUJyeUpDU1BJbkRuTmtoUFBWNXhqeG82d1VGbHAKcCtWOC9temk2MWZISHQxUGlBbG1tbW5TQkp5cGFsd0tRSjFIeFNGZklWN1g0RkVKcUFEVXVjb1FEazB1UEphU09wZWl5V05vY09tcQpMQnFicHNLaUtnTzR0TWwweFhmQktadE9vMUtVcWJUSlZQbzdOUFpiTktxU3N2TGYyV3dsWFYzdFhidlNPOXY3NFp5ZWtaOWZFY3AxCjRFUkJ6RzNBZFVudWJPUW5lQXlmazViY2pMd1M5UXgvL3RsNUkwTTk4TGV4NkR4bHl0L3BySGNZckNsMDVtUXE5UjJxeXQrWjFIZDQKalBkNXRQYzRLdTh5YVZOWWRFVU9rOEpqMGRVNGJEVU9GOEpXMVdJckU1bktVZEhtVWlBYTlQR1lxazdUVktXQTM0a2FSd2xIZzBuUgpadE8xR1ZRakRzdkppTGRoZ1VWLzU4WnZuczJLY0p3dllIcm9LRG9hcUhqb0tRS3o4VGRRQ3RSWERFS0tROGFRNGdkdU02UUVBTkV4ClVQWURWNHhvUUl3OGlRc3hjTXZCQ0VDVEQ0a0lLRUVtbE1CUlJtY0NqWWtBQVJuQ2tRZ1E3a0RvR0FnUWNUVVlDaEdCSzNEbUlTWkEKTGxZSGdRREJ3bWNMT09sSElrRG1zTzVIMnZZMXB2UUhUMzVKNWh3YWJwQUdmbFlUQWo4VENaQ04wU3JnUUJiNnk2QUdHYXdDQWlUUQpXbXhudk01S1p6bmZZSm1sM29yMDZQRENROU5xOWs2dk9aQlF0amVxYWw5czVkNW9JRURsNldGSWdFcFRBNEhjQUFGQ2tEVG9qd2xRCldicDh5T29qZ1J6TGVTUGtxTSt1WUFoSmZTU1JvWjBCNHlDckxHOUdlYXFmWEVpLzNsSFhsQXRaZldRRUNOa1A3a0RRaHpDUUQ0MEsKVUxybjA5M3VUekVOQWc3MGVKK2JoUDNPVHc3YTV4NjB6anRnbTdmZktmK0FjLzVCdTRMRFZqV0grRlY3WE9yMzJiY2YwbTNleFMxTwpvaFdtY3V2UFdRdzF1RllkMjFwbTBQakQxTmFjUktIeFkxSFUxODJCTjFwY2I0cmZ5aHdTUE9rc3JtNzdycmFwcnJacHFGbmMwdGd0CmJHOXBiV2xvYkc1b2FtbHNhbWx1YVdydmJPcnFiZXB0N09sczYrNENmM283dXNRZFFsRlhkNCt3VzlqVFBkRFZPaURzR096dUdoUjIKaTRWOTRpNXh2M0JnUURnODFDY2VGdlUvRXc4ODd4OEVnQU53Q2k0TzlqOGJFRDBEdHZSTS9PMkE4UGxRejNmZkQ3NFVOZzE4Y1RaRApuK1ZpeEF6Um9RWG9xb1Z3YUs1NnFuQ2xBOGw3aUFJa09mNS9Ba1FXSURLUzdmRllIR2hzN0FkTzl4R3c1dWlweE9sUklvelprY2FjCk1IQVBGQnJtdUFLRXA3cGtrTEVmd3RRZlNRUUlZelFJaElkNThOWHVTSUNrZ3cwbDR3MnhlVDhRckJSNkVWR0FFREIxaFdXdjRDUm8KdGVWSWdGelVOanFycm5kUld3ZnNCNFo1cEFJRUhuSDFrY0ZGZGEwekR6b1ExQ0JrUzdCRGZxa3Rkd2xSZ0xCUVVLSUZjeGI0S1l4cApVWmFzZVRiYzJDTTc1cjMrRllqTzdILzl2UFhIbjVMU04wU2JLUHNGbWt5L2QyM3pyNi9XL3Z6THJKSFhHMStQYkhUUzlUQ2hSNXV6Cllzd1k4UlpzY0REYmxCMWt4WTR3b1VTYTBnTVh4MGFYNUcxNFBaTDhjbVRWVDcrc2YvbDZ3emhzbE12cjE1dWtKQ0ZldlY0UGViVkIKTGxETFhtLzYrZWUxTDErdCsvVmY2MSsrV3ZYaTJ6bDk0cGpNTzBFSDlsbFBqNWxxYmNqVVpORFVxRXkyaWlKTDVUMHU2eTJnUjFURgo5eWxLNzdKb2REYm4vYmtMQXV2cWFqRDFlZlhMNng5ZS9mcXpaSWdpSEs3ejR3Z3NjSDRKZ0ZldzY3Lzg4K2VCL3A2VVRXbHFQR1VWCnhiZTRMQ3FYOHphZHFzQ2tLSExwZElhaWdpcHRpaGFUYWkvUVdqalQ0ZmhobjBlUHdrV0RjMTYrWG9xeDdPWHJGWkJYcTM1NXVScncKejE4M0FINTZ2UjZCVG4vK2wrUm5Idy93Zzc5OHVmNlhYOVlCd0FIZ24vOUsvc2VyNUo5ZWIzbzFzdkxYa1ZWdFRjc3VuRnppcm05bAp3dkxXZU05R1o0b1RrQmg5Slc4c2hBUGtKb0NzUGhJQm9qdnFxemdacUxqcEszdnFUdkVCcXNSWERnTzh1UUFSN0VlbUNIcU1BR0d1CkkzRWdJbWcvUEhJZzhJakdQVHRiSG9mMlkza1ltL3U4RHdnUTN1MEY3V2RVZ0lqSkx6bjJBNE5BWStjYy9xWUFtV2d2c2phRWoxYjgKRmJaR2EwMjFsd0lOQWc0RUgvV1gyK3F0bStFY1hYVTBzV3hmWE0yaEdSVzd3eXYyUkZkQSs0bkE3Q2VrWkdlZ1ZJRDhpQkM5aDJ3LwovL2tDSkxHZi8vc0NWTExMVHk3RmFhTVVZaFRzOGdVUW8wSDVhZDZBM0hUSTB6UVBRQzdtUUlBbmU5eWY3SFVGNU82eGU3clA5c2wrCjY2Zjc3Wi91Yzg3Yjc1Sy8zNzVnbjFWTnVsMWRtazNUYnZYYWJaT0tWdElLTituVmZ1TFE5VEJzdURHMllzM25vcmZGTFM0REpnODYKTGU5M2VGenU5YzZwVWNoKzRaVXByQ3ByK2FXenJMdXh0cSs4cDZXcXRhZWhxNmU2RTlCYkp3VFMwOVBjM2RYUzBkYmEzTjdXMUZIVAoxbDNmMmR2UUEraHJGdmQyREhkMURMVzJEL1owaVFHOXduN3cyTjNWMXkwVTlmVU85SXVCQVBVTmkwVFB4R0lpNE1xM1lxQkJmV0pnClRnTmlvYkN6dGJWVjFOdlgzOXYzdktGbng0WVRERmFBcWxyTVZHNndIc05EVThsTm54TkY4aDVaZm8vOS9CY0lrQzdkRHpCV2VnSUEKMG9QZkVDQmtQd0JqVHJnUkd5YTg4TXdYc2hsUG94UkwxV1dHOU9sQWVzQkZmVm9JbnhHQnA3RitQMlFCSWs3OXdRVUlPUkRVSUd3UQpJajRHR2dNNkVHNDhLT0ZGQkd2MVFxQXlvR1gyNnNzZDFWZkE3QlZXdnVPSWdrQXdwYlhlaVNlcDcwRmx6aWo4QTU1MVY5OE04TkJJClJnZHVhcHRjVlRjQ1hIaEpHT3Rkc0pJZ1I5NHFqQlYyd0lGNGk0QUFvVTU0WElETVZNTXRlT0VDZXJRcDIrdEUrc3gvald3SDM2bjEKSlJzalhjS2R0QU1FS2hGV2pOa1dqTURWaVhIQ2xyMUFVUDd4NDdZZzZ3aHpab0laSTg2WUdtbE05N1BrSnBxeXc4enBNZWEwQkd2bQpBZ3ZxUW9GU29vTjZRclR6akFVUk14YjV6cG1ZeFg1ekVVdjg1d0htK2N5U2tqalhld2JFWi9vRXpQR0pudXNiUGM4L1lrRlE2UEtvCnNPUTVDWWVUbG42VXZqSG4wdkthb3BVdmhsWUI3WGc5c3JhdFpmbmVIVzRlMWxSVjVmZDVWQVZWaXJJNmpjV2l2QTFraUtITVl6SHAKU1p0V0RBejJvcGs5djd6OHgrdGZZWUlNNnM3ckgvNEZxNW9sU3ZUcytjQ3hZL3ZVMUdoVWlnS2IrYTQ2bTgxVW1zeFFVdUFvS21wUgpXUTZtdklQcE5vMjFhMFpHOWdOSEVYVXZMSCs2Nk5xSFM4N3RXSm95ZS9HV3hBVWI0dWFzaVpxMUltejYwcUNFaFg2eDgzMWlabnRQCkI4enlTcEJoamtmOE9FeVRZYTVuUENEZU56REIzMzltVUppZmVhQ2paclJBSmRKSUtVejdQVmRkUlZlZEtTNG92YVduNUFISFBTdDUKQThqcUk4WFBrQkpnUkEwVTBJT05xUDRBUTRvZnVQOE5CV2lzL2Z5R0FNazRFQW9GSVFIeXNEdURRS1UvVGhiSHBQWnpBQnY4czVzcwpRTWgrcktVOVg3Z0FqZG9QTnVnWmIzZi9uUUprb2I4TXFBOFFJRFBkSlVoOUxQVlhBZzBDYjJLcXU4eDY2bG9QODRYbEIrWVZIWWl2Ck9EQzlhbTlrK2U2b01tZy80Wmo5QkJlbkJwVHNDQURHVTd6RFY4YUJrQWFWd085Zy85SzBBQkwvdVFJMGFqLy9kd1JvUE1qcUk2TkIKUmJ0OGl6RDFrWkRtalFEcWs3ZkxDL0UwemV2SkxuZmtRRS9UM1FpNDVLYzU1NlU3NXU1eEFDWlVzTmV1ZUk5VldicFpXWnFnYkJ1LwpmQmV2ZEx2MjQ5VW1qOVliMTV5ejczb1UxVll4dTdGdWFhdDllUzlEUE9OQ04vdEpkOFJYalY0M09oV3VDTzJ5eFEzbEhTTzFGYTNWCk5aVU5iZFVOYlMxVlRRT1ZOZFZOM2ZWMTNXMVZ2VjFsZlQzbHZjS3E3cTY2am83bXpzYjJnZGIyZ2ZhV3ZzNzZydTdHVGxGcnA3aWoKVTlUZUljVEtvNGNIZXI4YkZQODROUENUV1B4VHIrakg3dDRYb3FIbmZZTUljUHh0LzdQdkIxLzhNUFROci8zdEx3ZTd2aG5zZVBaTQpDTzRROTNjUDlBcEZiZTB0UGQxdExkOTQyU3pXVndvelZBblhCZjkyVEEyblUxekl4ak91L1NDbElLblBmNU1BNFE2RTdBY0hMd0NTCkswQzQvUUNBL1pBRkNFdGR6ZFZUaWROUmpqQmtSZ3M0VVRBT2hKWHlrQlZuWXVUYUQ0WWsveVVqUUFJbVhQQnV3WnRwcVFwWG91S3QKNzNDMHo2am9RTmVSTXVZS2FnZHowSUFidnJCRnAxQ0FZS0VQRi9aNW9XRS93R0R3a1Q5SWdKelZWZ0gxSVlJY0NOTWdjQ0E1UmY2RQpGTW9lR3hGRUZpQStaYVlWZHk1ZktjR0VGaC91RUhWODU1S1ZNOEt0ZVM3bXpQazZrME10dURHR0tzSEcxSEF6ZHBDZGp1dldKU3RTClZzMndaTXcwb2N3MVpVUlpjaVBCZFF2MmJEUG1ERXZtQW13cmFwQWxOeHk0a1JrOTBSejhsdWlCcG95WWlURmp4Z0xBelFBTElKVE0KV0lBSk13b2hZSVJMQ1pXTElTM0JpQjV2eElneG9JYnBxdmpwVXJ3TUdKNUdiRzlINW5RcmxUaHJTcXkzYnV5eTZKbWZIcHRmWGI3awoxYStiWHYyYWRPS2d0N1VCUTVNMm1hWDRsZ1puTWszNTczVGxLU3FVdnh2bzhRdHpxMS8rL092SXlEOUdScjU3K2ZJMTBLR1hJNzhBCjgvbnBwMzhCQWFxdnI3VzNzNlNvVEtGUlZUaDBGWmFTTW4zU2U4Q2x6TFNwSnc0N2YvK1BGYTllcjIrdjJmNzU4Vm56ZzROOWRLTWMKNkxPdEZHZFpLOGJZcW9TYU15Sk1hV0hHNEplcEhDcFFDVE9oUkFLQVgxcXFoQUVzbEVNQjVrb2hPQ2JVVUxuZ3dnRWtnd2h3Q0lOSgpQbWEwWUw0aXJOclJWWFRYb3ppWXFqcndWWHlCd1lCSFlEOEdLbDRvbndVZ2VZOEUvU25oUmlxUmVsTUM5WlhnUzdDYjNRRnZJa0FrCisza1RBVUxlQXh4STB2WUZsMTJjY0xZOEx0OStUTGZabW0ySG1HeVZDSkJBNGoxU0FaSlVQU1A3UVFKa1liRGFRanJ2NXpjRkNKYisKNkN4R1FTQjd3WG9id3pWbU9zc2NURFlJZEZjQU54Sm9MRFBucjd1OGVtN0J3Vm1sdStPQkFKV21SWlJDK3duRDdDY0lGNkNpVk4vaQpuWDR5eUZVZkpEUi9WSURHZzZ3eWI4WjRBaVFUdU1JaGVZK0U4bFQvZnl2azBOckVrUCtqU1BGRklBRXEzT21UajRFZkFQSlN2WE4zCjRuZyszZWxHd0FWUmtPcGRrT3BadU11NUtNMm1aSmRwV2FwUmVZcHg1VmFqZ2gwNmoxSnNIMjlKZnJyelFQRUhZUTNaTG0wbGljMVYKaTB2S1pvdE1IeVV0YVZNcXJ2SDZzc0xyeXc2dDh6MW1tYjkwRmpVTk5EYTIxdFEybHpZMU5yU1YxM2UxVm5WMTE1YlZOamJVTnpRMQoxTGMyMVhjMTFYVTNOL1kxTmZZMU40bmFtaG83bTV1N1c1cEVyYzNEN1MzZmQ3WDkyTkh5UTF0VFgwdC9TME52U1hWUGRubjNGNlY5CnA0cjdkeGVJdCtXSkZ1WjNMc2pyUUlEanhZWENwY1U5eTBwNkQxWU5mbHozUEtOMnVLTCt4VUQ3OXo5MnZuZ2xISHpWSWZxaFF6amMKS3F6T2ErQnozSXhvb1FKYWxLYXl0eGJIZ3l3OUJQVVpZejhTdzVDMlU4a3lqcURJbkw2eEFNbThKODVmSUVBR3JFQmkrZlBFQWtRdQpoVVlwTU9sMFJEZ3NFZDNBWjBRWTBLRUdqUU81L0JsaXdvNURsb01YL1NEdk1XSkl5b0R3RkpoRWdGaHdHd2ErOUJUVlFWdndac3RVCk9nUFJHU3RBWSt6SFVYTzFzK1lhR0FSU1h3b0V5SjY3Q0RnUTVqb3dlQU5rQ1BNaG1NOXk0SUxIVmE0YTYxRDRSOGFCb1Blb2J2RlEKMythaHNSV0FTb2hRRWcyUEFGbHhaaEVGeUlTeEdIeCtZMXEwTlcrK01TWEtSajNDbEJvbG1MeU1UOFAyZnJCQ0xWV2pURm5SaHBSbwpJRG9tMU9tV3JBampTWXVzMkhQTldHRkFnRXpva1VhVUJDTktQQllLaWpSalJncm9JUmFjTUhOMnFCa3oycG83VzJhbG1tU3FwUFFpCmZnb3c1Y1dicVNid1daRUlBMmFFQVROTW54R0swR01FeXNXSUhhOVBqOUtoaE92U3dnMllVWWJzS0Q0clhJOGVBbFFEZUlZbE04NksKTmMyTUZtMHd4ZCtJR3VScE9EZHQxY3JhMGczL2ZMVzRvMlBadEJBVDlxVDNwN0tWVmVudmNtZzBObzNEVkZFOWZ1akV5MTkrSEJsNQpDUVhvVjFqejgrbzFqUDdjdkhtZHc2WXhxSW8wWlNVdW5jMmx2cTFHbzN1N1U0dkt3bCtQcktxdlhuQjAyNnd3czJubTFHaUFGU1BPCmlqSE5YSG1haGNvTVM1Vlo1a3JnOXh3TGZzbUdsRWdBT0RDbXhZSmZLVjhseW9RYURBREdBTHdCeUFTT1BqVlFMa0R5OUNqK1JLRDIKcWZpWlVyeU5wd0NUaURlY0VnWExkNmhBZ1B3MTN3L1dVL1RSVi9MV25RTGJ2c0IvSTBPcWw3Nnl1NzZ5SzFsOUVMcFRmRXdZSVZnWgpFTlFtOEV2aks0ZThTUXFNcEQ0WVk2U0hLRU9qTlVBeURvUm52bkQ3a1NJUklMVG9WR0kvUUhwTUljaCtiRXpndUdlcEFHMGNiZnNhCnMrUkxJa0RJZ1g1VGdNejFscUlhSUhDQXdqOVJma2VzREZhWmFLKzBFNncyMUY1c3JKTzBQaWl4Y1AvQzZqMHp5L2FGbGV3S0w0SDIKRTRyWno2Z0FnUU1pSlRzREVYTHRwK3cvV0lER2hILys3d2dRT2Z5R0lIblBHSUMyQWdvSllFTGpuWWVSdThNTDhEUVY0UUY0a3VyNgpkQWNrYjd0cjNnNW5TSXBQZm9wWDBUYm5vbTJXeGRzRVJWdk1DNU5kQ3piN1A5bTE1c0d1NDA4UDNpczVmNjR5SzdUK2NYQno0ZXIyCnVwVy9kaTNLdWZoUS8xcWYxUmZEWHBuMUd1ZEYzRXZQbnBaM2pqVG0xNVRXQ3NzNm02dXFhNnNhQjBzNkcwdnFhdW83aEdYdG5aVnQKcmRYTlRYVzF6ZlUxSFEyMXd0cWFuc3FxNTIwMUwxb2FuelVKdXhzR2kycWVmVm8yc0RsUE9QdFJhK0RUWWZmN0lzdU1Mb1ByblZyWAplbFJ2RHJBemhsa1ozL0J2UGdNWTNucHVsUEVDQUE0UXFsZUcxSzczODI0SmRiTmJYQjYyem56U3RydWs3NHVtNzV1YTIxOE1pci9wCjd0NjlZYSs2a3FNMkkwS0hFY1NIUzBObDFVY3FRSVFBRDlFd3lPcnpYeVJBNUJRWVpqOFRDUkRSZmlDRVpuZ0VLb0kyNHZxYXFBWVoKYzRQMDZINzY5Q0FqVm9RSk45Wk1kZHI0UlQreTZvTUxFTzVBUkpBQW9XTko4Z3RiZVFFRmlBT0RRR2dMR0Y0U0pGbnNoWTE0bG5SNwpZZXFEaXAxaHZiUHFNbXpmeFNxQWs4WnFMQUsweWtGdE9SWUJRbUJ4SUxYbFdPY1g4cUVWOWh4b1JaZ0FiUUVnMFNIaXJyWlZLa0RKCmJocWJrUUE1cTY2MTVTN0JCWWhZQTJUQ1NqQlRDN1RVOERKbStwcHpJbldWZkl4cHdUYThPZWFxUUFHajlGVENCYXhvTTNhRU1TUFkKbkFPK3Z5T0FURmd3NG9Ecm1ES0RUZWpSSnJSNGMvWjBLOVU0SzI0c0RCUXg0bTI0ODh3WnM4em9pZUQ5VGVuVHpCaHhwdlJZZ0FrdApCb0NPWVlpSUVRK2V4UUduNXN3RWxGbURNR05ONFlhTmFDQllBQUV0UWtBTGt3dWY1bUhNOUJhdy9NRG41MU45OUZWOCtGUS9ZeUJHCnpGQzB1RTFQQmR3VENUNjhNVDJFVHczUW4reGt4ZmFMY2cyNzhGSHNyeU9ieEgzYmc5eTF1SW9LYkdVcWw2ck1ZVXloS2lsdTJiRDkKMTVjbzUvVVN6bDcrMThpRmk1K29xTHpIWTFQb0t1OXFjaWN4bEJWY0xiWExLcGIrOUNyNXlkMDE4ME1UckdremJWUVdtc05tN3pqdworNEhCSGxxQU9TZllqQjFrVEFzeVk0V0Q3MzZCY2lnQVg0b3V1Y0lJTjZhSGdmL0xCRENraHVBSUtPTXhKdkNEYXhONEswTkZiMk9LCmx3a3p3SWdDRENaRW54cXNyZXlCc2wzZzBZam1hMGoxMFZWMEJRSmtvT0pCVmgrRTN1UUlTM2FDM2hTWStZSVJJeXBzK3pLa0JMNnAKQUkyMW53a0VpRmo0VEF3RkVVdC9VT3dIQy8rQWd3UE9sdnZRMWd2cHBndm9QV2k3TzI0L1NJQncrOEhiM2FVQ3RQcVBwc0NBOTlnYQpyMFpCSUZQdHBhNld5U2xyNzRWNDdEUFhYVzFsc3NMUWNKRzV6am9mazhSSEtRdnEwdWNVN3drQkFsUzhNM1FDQWNMVlIwSmFBRTRwCjhCNmMvMGdCa3JHZi93SUJRb3BEcG5qSG1OT0NIVDZJL0IxZUNJbjliUGNFUE5rQmNIK0s4V1M3UzI2S1M1NEVwOXl0cmdWYm5JdVQKN1FzM1crVnVzbnVZSEhJM1plVzkxRDJaQjdMdUh5L1ArK3lyMHBzejZ1OTZkenhlMEZPK1dkUzZwckZwbjJ0dXBjYkgxUzZmRDVoKwpJbnp2NXVDSFQ5cUdxKzZWbHVhS1NsdnFTNnE2aW1zN0Nwdkx5aXJhcSt0cmlucXFLbnByS2pxYnl4czdLK3I2YWhwRWpXMDlqY0tPCmhyNkhCWU1mUE9wY21GMXZsMW5OdWRtZ2RLV05jcW1mYytrYndRV1IyVmRpcSt0RGRwa3ZISEtlTzk0YnRyczNZSHRYNUpJdGRzM3AKZDdzN2dBREg0QW9BUEdXWExYYThNMlI3K3puLzJnRHR5NTUzTHZXK2RYUEkvRUhGNWhMaGs1S0JvZnFYcGpvaERJNFBtK092U2ZVawpxNCtzQUkzUkN6ZFo3L2x2RVNDaStoQkJBalE2L21lc0FNbmFENVlDSTBlQWdOL29VdjBOV1NFd1FjYUtBSDRETHVyVHdnem9vV01YCm9HSkpMa21MdTZ6NklFdzUwOGdPaEo5S1J3Rkp3ajhvQWlRcGlKYU8vOEZXb3M2eTVNeEJ6Vjl3eGc5d0lEanNaeUdFdTBTZS9hd0YKSUFHeVYxdml3RnNvRVNEZVVtZDFXTUpzejEwQ3gvOUlCY2hOYy8yNEFvUmRSOUVncklVZXJrMTE1SzdHdThDdzVmQm9KbENpT1dPbQpnSmxveG9zeDQwVnFLd1picTg2eVZwdG15WXZtQSsraHp6ZWtSeHV4QWt6WlFXYnNHRk5tSFBnV04rZjZXYktpTEZoQnBzeFFDemEwCkZtQXp4dlFJOEMwdUNSSFJFL1VVdzhGM3VRVTN5b0tUWU1HZVk4V2Nic2xJc0tESDQ0QlRjRkhtK3VoRmVoekNnaGFEb2lsbTFBZ0EKa2dZeVp2UndZQnNtd0NjZ2thYlVLS0JvNXNDM3VNSDZORDlEUnBncEs5cUVFV05FQytkVEFrMVlvVVlNZTc0eThJWjRLMWE4cTZIegp6YStuLy9xdnJjWDU4VHFhQ215NmdnWkhrYTQ4UlozTE8zcjR5QWkyMGdMWXo3MjdXV3ptKzhDTkdJcVRPRlFGRFZXRnI3Nk1mVDJ5CjduN1drbGozR01NcFVXYVVXRE9WYVlhVGdCcUdncTkvOEpHdzlGYWtPVzJhR1RYT1NDVmFBSDRLbFZBSUpSakhGUGlCY2dEODhGaHUKUzFaMGxJUEhRZEpQVHNSWUNmeG44dEJYZHRXZDRtT2tFbWxNaVRGUUR0Tlg4VE5pK09ncmU2TG1kbUEvNEZoUHljT1k3Z2RraUt3KwpDRi8ramxDTFZQQy9FQk5HcUo2U203NktpNjZTMDV1a3dPVGF6OFFDUk94K3h4MUlyZ0Job1B6WEhtelJhU3JxZUI5SGdEWUNKTU4rCnhnZ1E3UHo2bzBYUWt2NHZyQXpJbXI4YTViL0FvNlh1R21POWVUcEdjMnkwMXhpcHo3MjFNckV5SlRFWGVNejRBaVNyUGpzRFMzY0YKL1ZFQklxZk1aRUpIc3FRRi95bVExUWZhRDliaEx4ZXltdnk1bE8zd2t3dFpjU2FHckQ2NEFPRU9WQ2kxSDZJQTVVdnRSK3BBUUgzYwpBTGtwQUpmY2JjNTVXeUZQdDFnVmJMRXUzbXhkc05IbVliSlA5dmJGR1hzK3lEajQ4UElIRjIrZmUvVGdmRnI1VFovdXUvSERlY3NHCmF1Y09kcTJNdmwybGNWaG9mS25aOTJySDN5NFZ4MTNyRkpWV2RkWThiUzdzTEM4dWFTaXVhaTVzYkNpdHJhNXVMYTFvN3l5cGJhaXEKNjYxdWZGSGRQRnpWVVZQZTgxbUJjRUZPcTl2VnVuZStISHI3Zk4va3ozczVsOFU2MS91TnJva3NydmZaWm9qTmJ2WFlaSW50Yy9vZApzMFdPV2QyT21SMnVXVjBlMlYxT09XSWM1N3Y5QUpkN0F3RFBIREc0MC9KZW4vRzlQdjU5TWYrdVdEK3pSKytHY1BMVlh4VSthRk8vCjNMejRYdGZxclYrYVVzRS9ORDVxM0hIYjRPVUprTnYvUHdXSXp3NGlDeEJaZlFDR25EQmpUamlzZzJaRklQdEJ1Z05oeFJreHB4a3kKNG94WjhTYWNlRU5tdEQ0TitoQ0tEeEVkU0RyaW1iVHVGQU5OZWNZZENCOStpSTlBUkJzd2tQb1FjMkY0SEFoaHdaNXB5Wmxselp1RApiVDlkSUVWV2dBajJzMFlxUUl1UUFObHpGd0h2Y2RGWWpoMy90Z0NoSzI1cXlhZ2cyazBORFZGY0IrNEhyN0ptTDdMbUxDQUxrQ2szCm1rOEhXaEJqcFRhZlQ0c1NBSU5raHBoeDQ0eFlRUUoySkN6SFljUVkwNkpNR1RIbXpBUVQ2blJ6YXFJVkt4WUloQ2tOVnZrQUt6S2kKQlZ0d1pnRGRNV05IbUhHQ0xYaWhscnhZYzNZODVreHhKcXdFQVRQZW1ESE5pQjRIQUFmZ0ZGdzBZYzBRTUtjYk03QUtIanE0QWR3MgpIV0RPbkFZWUd3U0t4aUpBVVhJeHBJYnhLYUY4U3JBaE5jU1lIb1pGVTRLQjZ4alRvb0VFbU5DQnlZWHdWUUxBSThvMHdXb2hXb2doCkpjSlFHUWhXbkJuTmM0YXZRMDlUZXYvd2FTdnpkeGlLa3prMEZvMnF3Rlg3VzFWVjBjanJFWEZmdnpxUHlxUzl4YUZPVWFOUkRiWGYKYjJwTUcvcG0xZEtvQlpZY043Nmlzems5eUpReXpaUWFZVXp4TTZQR20xTkR3RmU3QlNYT2twWm9xaHh2UVUyd1pzYWIwU0tKbjltWQpHbzZEeE1oVU9RUmdvaFNNRGdERWFCQVI4S1BKUldkeUtQaWhqQm5CUUlQNFZEY0J3MXRuc2plMjlzdmRrT3Bsb09LQmlxRDFGR0ZRClIrdTljVk5nbW0rRldMQ21UMzNQbTY4Q044WWIwd0wwRlFNTWxJTC91QURKczU4SkJVaFM2VXljaFFpYjN1M2htbmRueXhPdTFtZGMKcmRId3c4Tnc4WVg1U1dlTEl3NW02VGFDN2RaR3FiWUNHQWZDcC82Z3ppOXB6eGV3SHhnQlFza3ZaRHdvL0lPTi84R0dIRXFuR3VMSApVZzJTeFZ4dktRNlFJUnh6M1pYbVd1Q0Y4OHlNVmhoT1hSOXFOVHQzMzhxR3JlNEY2ZjdGMndQTFU2QURQVW56ZjV6bW43Y1RYUEdICi9mQ0lNZUxpWDVJV2dxbVBkK2x1dDdKMGw0bzBkMWprbXhwU2xPNlBFUVFvU1VNRWxLVDdGKzV4TDB6M0tFejNLdDdwRGI2L3kzWUUKVk93SXJ0Z2VXb0dOd0NuRmlsZGd6VXE2RHhyWlY1WVdDalFGUEZ1NTA3ZHFsMTg1TksyZ1F1QXVNb0VpYWRFMHNkYUhHUEtCcmlPUAppbkVvVHczOHQwSlduNGtwd2VyUUo2Wm91dzlPNFhhL2doUmZNdm5idlNXa2VBSHl0bm5tYjRYa0pydmg1RzF5SldEelpJTlQ2U3JQCko2dU43NlNrWnFSL25yM3ZaTmJoYTdkUDNjMzQ1S3ZTeXpHZHQrUHE4dVlNVmM4cGJWenZrdC9FK1ZobzhubVQ4OWUxbkF1ZDZwLzMKM3k4c0ZsVVdkK1lWTnhaVU5RQ0thNXFLNnBzS0dscnlxdHFMUzdvcmkvNVJYbHBYVW5NMnR6azZzMVhqeSthL2Y5S2k4R21Yd3VjOQo2bDgxVHIzU3FuZWprNS9SYlhnTFlwelJJN2pkYTU3Wlo1a3BzczBVTzl3V08yYjJPMlVOdUdRUHVkMTk1bkpINUpvdGRzdnBkNzg3CmdBREg0SXI5b3o3YkJ6M1dkL3Vzc3Z2Tjd3eWFaQTd6YnovVHozaXVuaVhXdWpPb2VLWG52YXRpM3ZsdXpzd0xOTlZvQTRxektjTmIKbGVFNmxlcHVRUFZVVS9WUzUvbUEvMk9xUmZmWFlYbXJLanRyTTN5QTNHRDJBSlRGUlpzMWdhQzRZb1lFYzJTYVZHOU5xcThXK0llTQo2ajlXZldSMVJ4Nnl0aVFYM0hYSXhpT1JIc3pleUp1L3RHbGV1UGZvTVgxSElVZ1BxUUFJcHNDSVhXQms3NUdGSFVFQVZuNFFXOXlSCkhrbXFwS1VZQVZ0aWhoc0RZY0lnMUVkTGExT0EwMENWd1MxSGt1UWlKcnlJVnhBV3FqT01tYkFxQ0Z5MzFwZ0ZEc3k0Q2VDaWhkb3MKYzlXWlpyeFpabHc0QmRGYWJTSEdZbHNlSEVzSUxVZDlxYVA2Q2d3c0RxUzUzRkZqR1FDVkFVbDNXU3pFNm9GZ1h4anFabmZnTHBkMApnV2x1QXJocGJIVFQyQ3dCMkE5d0lMV3RicXBiWE5XU0lWZ05rSVBxT252ZWFwU1NRME9KckxpemdaeVpzNmViQVRzWkRYUkpDOEN4CjN3K3FTaWFEYXBiSlNKNUZDU3hHSEpBWVZHbGt4b2hIMlM0VFdod0F6M2FCdnhwZ0NtU0lNYzJFQVRRTGpwTUdvRGlRRlN2ZUVyd0QKZUI5NnJCa3QycFFLREN5S21BNHpwb1lhVVVJQTJLa0VjQkVIYTJVS0FvQmpMRm1HN29sQ3IwV0FZMU1HK0VtakxEa3g5ek5XL1BSTAprcDJKRGtOWkFVNXhWSDRuME5kcjVKZVJGU3Ztc0xsdk1hazBObjJ5RGtlai85bnl1dUtrQU1OdzlPYVNhSTFLR01CRU9RSmdxaElKCk1LTkVvZkFWakdCUm90QVYvQ0k2Um5laTJCVjR1YkZ5cUJ4VWdnbkllc2J2Z2R6ekpSMXZLQi9pSUVRcGZnRGlxTU14VVB3Z1l5NmkKdnhwK1p2VDdRUnFFSWxqR1NtZ29JakdtQmRPQ0VnSENCMENqZVQrbzdRdmp0TFFwREJZRGdadGRMRTQ1V3h4eXNreDN0RWhEMjArdApqWlBOK1d1UUFHRU9oSHErb1AwUU83K0lBb1FGZ2VRTDBMaU1JMEJtT3N2TUlVc0VlaENIcWRNUFQ1OWZkeWkrZkh0RWNVb0krR29zClRIVUh1bE80TGZMcHR2Q2lQWUhGdTRqNGo1TG1CeDZCbEpTbUI1ZnREaWxOaDg4VzdQQ0J2VlJRTzBKS1UwUExkd0NDc1M5KzRER2gKNWJ1QTA0UVFvaTlRZlFyU3ZJdlRmSUJSZ1JkVzdReXUzaEZTblJKY3ZUVUV1QmY0N29kdFdkaWs1aklZVzRJT05DWmFRMnpna2h2bQpHUit5K3Z5NUFnUU1ieHhrRldkaXh0TWR1ZllEQldpYnJ3d0ZXMzBBdVBvUTdTZHZpNGNjKzlub0FpaEljc3BOY2l4YjQvWmtqVm4yCjlyMjM5MTdNMnYveDdVT1psMDQvcWJ5WTNKWVoxdjRrY2VqeG5LdUZlenlyNzFqY0t0YzkxV1IrdnNMa1VyM0tKejJycm5TMzU3VTAKRnBXV1B5MW9mTnhXV2RCY1VGQlZrSmZmVUZiYTA5QmVWeVc4KzdBNTltYWY4OFUyN3BuNmQwNDN2ZnRwRC9YckljMHJnenFYZWxXdgo5S3RmRld0ZDdkZTVJdEs3Mm1kOFhXeCthOGptOW5PN0c4T09ONTg3M3g1MnlScHl6Z1FPMUd0M3A5czJ1OHMrUndSd3VDc0dPTjdyCngzSEo2WFBNN25XNDAyZDdSMlNlM1dkNHAxYzdxMXM5czB2L1dwL0dkYUZtaG9oN1UwUzczcTE5cWMxbzNTV0d6a3d1M1l2UENkQmwKZU9sUVBkVFk3aXlLc3lITlg1M3VwMEYxTTlZSVZsTnhVYWZBS2N5YU1HempNa0dFQmpnSGRnOGNBSTI4Uko3UWtIV0hqS3pyeU9VdgpFeUJpRnhpeERmNE5CQWl2NzhIalF4TUlrRXd4a0tRYUY4ck5IeE1nUFpWd3U2bHprZlFBRXdJT0JDN0MrVUM4UkdBL3BsenBQbFJzCi9pRXNDZUxOdDFOZFlLZTZFS2E2MUpjNnFNRUdlQmo3QWNjWWFCUVFjQ0FFeW9YSkNCQnNCSU9seldoRzRtWjN6V1FKV0EyUXV6b20KUU9xYnBBSzBCZ2dRWERXUENaQWxadzZ3SDRBRlp3WndJTElBUWRpUlpQWDUvUUtFb2poSWdMQ3lIb2tENGVVKzhKUkpCS29QMGlCSgpJb3c1N1RjRkNEblFlQUlrc1I5YXNMUmFTSElQTUI0WUZpSlVFWUZUZ0RVbjhuSE8ydDdoYVJxTUtSenFGQTNXVkNXbHY1VVVWM0I1Ck5DV2x0eGpLeWp5R1FsbE5YSHZ6ZG1mTklQNFV1OThwUUxqcm9BTjBIVC8rWHhTZ3NZb3pDdXlUVng3VEkwYWUvdndYQ1pDMDhCbEkKejFuZ1BTZ0Y1bW9OWk9pc3U4MkhycGFuWFN5UE9sbnNRVUFIc2tpeHQ5aG9Md2tDU2JyZmdmMVk4ZGNEaUZOLy9pY0NOQ2JxUTVBaAo4SlNaOWlMTHFhc0VPZ3RORGVjWmMrZUZDMlpjVGxsUXZ6T3FMRFd5WUdkUTRRN3Z5cTNCdFNrSlpUdmpIdXowQkZjazdBb29UQXZFCjhBZVU3WW9vM2hWY3RETUFlRTlSZWtEeDd1Q2k5S0NDZFAreVBlNWx1ejFLMHoxTDByeWtlQUNnME93SWdQVzVPK0ZrbXZ3MFh6U0sKcG5aclFQVzJnTXJ0c0JXOFpKZFAwVzY0b3lwL24xZEZxZzhNRGtHdkNpeE05UzlLOVMzWkJYZGc0Y1V4c3Rrcmt1Sk1ERmw5L2lvQgorbU9VYnZjblVwTGloNUE1eFNHcmowU0F0bUZzOFFia0pYc1ZTTW5mN0E3STIrUUdTWExGS1Z6dm1iZkJyblNOdzVNMTl0bTdqdDQrCitQWHQvWmN5RGoyNWQrWmE5VmVMUkE5ODYrL1BUQ2s4Njl4MHd5R25pUDlodTluSHJjNmYxV3ArMXMyNTJKT1ZsOWRlVWxhZVc5SDUKb0R2L2FXbFZmbmx2Y2RVM3BUWE5UNnJQM0t6eXVkQ2k5SEd2d3VtbXYzM1UrZTRGc2VMWEw2aVhuM08vSHREOG9rZm5ZcWY2NVM2dApxOTI2MTdyNTE3c0YxNFhtMTRVVzF6dXRyM2Z3YjNjYVp3b3RzM3ZzY25vY2Nub2Rjcm9kNy9ZNDNPdDJ5dWtqNG54WGhIREtmZzZ3Cnp4cTJ1ek5za1ROZ25DUFd6KzdUenU0eHlQbE9PNk5mLzRabzZ1VnU1dVVlalp3WFpwZEZndFQ4U2JwUjJwUGhMZ2c5bm84dTE1dEwKYytWVGZUaE1iNlE3YWlwT09peHZJQno2bkFBTmlnY01DSkhVUnlKQUREOU5xaWNRSUN3TzVLcEpkOUtnT1dyUTdNZUtDMWwzeU1pNgpqbHplV0lCME1DWVdJSGtPSkRzSDZEZUNRSmo2R0hFaU1hSUJCS0dCQW9RNzBIZ0NSSXdZalFvUWQwd0VDTzQwSlhpUFhBRkMzbU9LCkRVVzBWRXQ4Y25rWU9SQlFINEIwT2NZY2dLUWtDRWFBb0FQWnF5M0NIUWd0cjBBZ0FjS1JlQStoRGhyaHhGc0hIQWdUb0kyNEFFRVoKd2hKaHlINVFDZ3dKRUZBdXVCR01QY2VDT2N1Q2xZZzJ3d01rYmVlTUdBZ1RObnlad3FybkdMTDYvQzR3OVpFUklHbDFNL1FlSE55RQo4TUpuVkNodHlVaUFqQlVnNkVCU0FjSWNpQmpGR1ZlQWdQMlFCUWpwRG5JZzNLSmcxZkNVWUUrajBCOWZ6dDZ3ekpFOVJZSEQraHVOClJ1Rk5wVkxwTkphU2dLV2lFTzVqK011cmRYSHU0UWFUSWl3NXNLZU1LRUJBWXBENlRCRHNrZXRBNHdrUWtpcWlBS0ZpWjdMaVRBeFoKY1NZR0NSRHVUSmd0L1c4SUVJcjlRT214L01EVjZoeEtmb0ZUZDlzem5uWWZlOXA5Nm1YM29aZjlhVS83WTI0Mmg1M01EOW9KOXRxYgo3WFMwM0FZRXlONEVDaERSZnY0S0FUSmNZYXkxd0VwbnVabnVRbU85QmVaNjY4M1VaczROU2l4T2pTbmVHVmF3UGJoa2EyVE4xaGpnClFBWGJQSFBUZmZOVGcrVTVVR0RwcmhBc0Z3YTlCSnNKNUZlVzVsbVc3bEsydzYxc3UwZnBkcC9TN2I3WWw3UnZTWXBQU1lwMytUYlAKaWhRdlFObDJIMGlLTDZKZ1J3QWdmN3R2d1hidndoMCtSZHU5aTFPOVNuWjZWNlZDQnlwSjlRUDJJeEdnbmQ0VnU3eGxTbXJ3SW1XeQo0Z0JLZ1lpUUxpTEl5dkxuUWxhWk4wT3UvWkFwM3VZclE5RldIeUl5NnBPLzJiTmdFeVIvb3djaUw4bTlZSU43L25vM1FONDYxNkxWClBubnJiRXRXV3o5YTQ1S1RmdnJXNGFzWisyN2RPcEpiL1BHWjVneWZ5bnR6VmowOHBWdVdiZEo0dy9GV2plT2hOcU5MYlRhZjFyMzcKU1hmSXRRNVIvc09HSnc5TDd6OXFmRmpkLy9TSnFLaWdPTGQ4OTdWNmh6TWRrNC8xS3B6cmVPOUNJKzlDcTlvWDdlcGZkS2xkN09SYwphR2RmYkdkZjZ1SmRGV2wvM2ExekdhSjN0VmYvZW8vUlRaRWdRMlNhMlcrUktiVE83TGJON0xPN0xYYThQZVNVK2R3eDYxdW5POTg1CjNldkZBVXFFNC9CbzBQNytvRTJPMk9wT24zbFdqMGxtcitIdGJ2M2JRblptditwdEVTdXpUL211aUhxbmovdGxtL2FGVnBOYlBZYUwKUDlSVUNkZWkrMnV5UExSVW5OWG9udHJLSGp5dWp3N0xFOWlQSmx6Q0JlTTZRQjAwS0Y0YWxIRUZDRHlyUllPU0FUUUlnT1FEbnY0SApDOUFZRFNKVi84Z0lFTUdCNUFpUXJBT04ycys0QWlUUklJTDlFQjFJV2tLRWg0NmdBeEVGeUl5TERYcVc1MEJFQVFLblZ1b3o4U1h3Cm8zRWdqbVFiUEJvT2hFcUNnQVBacWtLd0lKREVnYUQzOEpZQ1FTR0NQUVZCRmRBQTFBbnZyQ2FaQ1FUTUJwc1FEUVVJVDRRQjZVRVYKME1oKzBQeG9CN1hWOXFxcnhoTWdNOVkwTFBxQ0NSQWpCdG5QbnlKQXdHemtPcEJNS0FoanRGUHNkd29RcmkvakNaRDAyZEVZRC9GVgpaS0Q4TWQxT3B5MGY2RjJwb2Fpb3psQ2lNQlNVMlRRSy9lOXEzSGRWcVFxM0xpVVdQbGdnbUFJNzNUUVZIUTBwZ2JnQUlZa2hXdzZlCi81ckFqU1lXSVBEbVV2c0orbk1GQ0VXR3lPRERFb2tDWkVnaGVjKy9TWUNRQTZIQlA1S21kMHlBM0d6Z3MxNk9aM3ljejBsd1BPM2oKZE5MWCtZUzN3eWwzNjlOT1pzZnNUZmJabXV3QTlnUEFSLzVJQk1od0xWR0FVT2ZYbnl0QUFvT2x4cHBMclBUbVdlak40NnN2dHpUZQpiS2cxeTFSMzlxN3dtSHM3RWlyMkJlY24rWmRzaVFZaThqVFp2alExdUhDSGhLTFVrS0tkUVZJQ0NyWjdsT3gwQjlKVHNkTy9OQ1d3ClpDc1FIYWZ5SGRZbFcxekt0bm9Cc3luZkhsUytJN1JzZXdoNHRpZ2xBRWhQUllwUEJkQ2dyUzVWeVk0MXlYWTFtNnpyTmxvWGJnc3MKM3VwZnVzMnZJc1czY3B0UDVWYlBxaTF1Vlp0ZHk3YTVsVzMxQU9aVXZNTUhqZjRyUy9VdVRYRXYyK0dMSU0wU2xGVVF3QnRFZE1nSwo4dWNpRTlINVE1QzloNncrUlZ2OGlCUW0reUlLTnZzQUNzSGpKbTlBMFVidndpUXZuSUlObnZuclBRcldlZVN2ZFFma3JYRXJYT0dUCnU4cWhhS1gxdzFVZTJidlAzVHA4UFdQdm5jempXVlZmTDJ2SUNkLzArSXhtM2ozZmtydkJlVGU1bnpkYm4yNHkvcVRKOG16amxQUHQKcDdKck8rK1dGZC9QN2NrdDZDM0txOHF0MzNtOXdlQmNzOEx4bHJmT05iTStiZVIrMWt6N3BJMTJRVXcvMzh2NnJFdjF2RkFEYU5CWApRczVYWGN4TG5md0w3WVpmZGhwZjdoWmM2eFBjRUFFQk1zb1FHOTN1dDhvWUJOaGtEQUNzTTBUbUdYM21tWDJtV1gyNldVTUEvZXhuCkFJT2M1d0J3b0hkbldKRFpaNXdGWDhqUEd0YlAvblpxem5kcU9UOXdjNzVYenhKclhoZHJYQjNpWFgrbWZtM1E4RWFmN3ExMjJvMXEKeDA4YkRLMDJxZEg4MUJsdVV5a3VVRmxVM0hsc2FEQzZiQjlnUDZyS2pycHNvRDRlK3B5Z3FiUUFzdnBJQklqcUJ1TkROQjlWUlM4MQpKVjl0V3ZoVWFqaDMwbjljRFJCUmZZZ09SRzZESDZ0QnNnTDBHeG8wZmdRSTFRQ05RbEFmSWpKTlpNYXdPRm9pUU1SaTUvR2tCMGZBCmpFZkRvTTNoUU9UcEFIU0FyNEpIQlRjSWErNU0yR2tGSzZQbllzWFJXRitZNm1JYjNpSVpBUm8xSWU0U084NWllODR5SkVBdTZtc0IKem1wcmtOeGdiTUJ6WVZnRUNJNUFSQmZSOWd4TWdGYlk4aFlnQVFKZzlnTUZDTmJvWUl0UmNRY3laY2ErbVFCSnNtQmpCUWc1a0Z3QgpHbnNLN1FlMXg1TUZ5SndlSTFlQVpFSTdFd3NRZmorSzNNQytiZ3hKbW93ZVlxQVlENFJqdXVlMGtaRjFycVpzcmlLVFBrVkxpYW5BCm9uS29VeFIwR2UrOWZyVmk0OHc0YzJxZ3p2dGhwcnd3c2dEaDZpTVQ0L2wvQXZSN0JRZ0h4WDRRYmpablhhMWg5WSszNHdjK3ptZTgKblkvNXVoMEo4RHdTRlh3OEl2Qm9zUGNSWCtmalhuYm5QR3crZExZNFptZXlHNFYvVU5zWGJqOUlnTkF4c2grTVZYK2lBQmxxTHpUVApYVzJtTjlkY2I0NEJiNm1KM2tvajNkbDh6WlZPR25OUzQrTWY3d2t0M3gyVXZ5VVVHQTljaFpFY1VKZ1NETmtlSkNVQVVib2x1aVRGCnAzaUhkVjZLeGRNdGJybWJJdktURTR1MnpiMjdjKy85WFFjZnBoOS91T2ZNdzcwZkFPN3RPWXR4K043dS9mZlNkajdZdWZIaGpwV1AKdDg5L2tqSXpOMlY2eFJhTDhtU0xzazJXWlp0c3l6WTZsRzkwcmR6c1daWHNYYm5kRjloUzJSYlg4aTNPa0sxdUpkczhpcmRKQTBoagpLWWRLTkNvWmY2WFEvRkdBRHY0aHlxU1ViZ3NnVXJMVlg0YmlMWDR5RkNYNzRoUks3UWVvRDdLZm9nMlF3dlhlZ0lKMVhwQTFudm1yClBRQjVxOXdMbDdrOVhlRldzTXp1d1FyUE83dFAzajV3N2M3dW5IdG5QbTdOQ3R4MzU0RFY0MHkzd2kraXkyK2IzeTdTT3RwcStLbkkKOFV5SDFxays0NHR0OVEveitoOFVOdVRsbFQ1c09uQzFnZlhod0tURFZaTU9GNnArVXF2elJSZnZrMDdtQjIyOHp6cFVMblRUTC9aeQp2dXhUL2FKUDlVSzMydWRkbWw4S3AxN3FZZDBZWnQ5OHhyczV6THZSejd2V3k3M2NwWHFsUStOcUovM3FBTy9Hb1A2dEFjczdzTDdICjYyNlgvNzMyb0FmdGk3TGFsMlIzTHJzclhIRy9aK1dEWHB4cGVmMnh1UVBoVHdkOW53dzZQdXczdnRlbmtTVmtablM4bmRXbGNMUG4KL1NzdjZGLy95TGp5UGVQR041clhucHRkSE9KZjdyTlpjVm1ORWFMTDhPQnpmSFJvdnVwTWIxV2FpeDRyaFBXK2l4N0hWNXNKREFNMgpiYWtwdTAwVUFhSzZ3RWVLbHpyNGg0a1RaYVV6MzBKcnZqNXorbGh4SWVzT0dWblhrY3VmSzBDUXNZTVE1UXFRMUlGK294TWV3Z3JICmE0QndBU0prdGY2UUFJM0dnV0IzbUxUZC9YY0trS1hxTEVOYXJJM0dYTlFEajJUSWhKV0EydytFTjlPU20yakZ3ZUROQk9BT2hLL0wKSUVvUGtCVWNPL1pTZ0ZTQTRBWjQ1RURFRGZCSWdOdzFOM2xvYlpac0JNUHNCNmtTc0I4NzNuSjc3Z0k3em54YnpseU0yVGJzV2RhcwpHVlpNdUJ3ZWdEZGU0ZFU4ZnhUSmEwa0NORjRLREcrRE42ZE53eXduRnVnT25EQTBWb0F3QjRJQ2hOc1BCckdJWnp3QmdqMVcySFhzCk5ub0lBTGtPZUpSeElLZ3lqRWdqbXJlaGlsdFQ3VVpoN3pSRDliY1lVOTVXWlN2enFKTzEyQXAzNzhUMENkZGFNdnpCVjdVUjFWK2YKNGlFalFLYlVDS0xjeUJVZ3VYbzBzUUQ5KzFKZ1pQV1I4TCtZQXBNWmRTZ1JJTnNUNExxSDNWbHZ4dzk5bkUvNXVSK0tDajA4Ty9IawptcFhuVmkwL04zL1dLV0JDdnM0bjNHMU9PWmtmdGhYc0F2WmpKeGhkOWk2eEg2TjFmNVlBb1NtSU1nSmtwcnZFU0hlK3VkNGFnZllTClU5M1pBcTJaQXMwRnBqcUx3VlBBZ1J4MW81SWpvKzd2bUYyY0dwT1hGRnlVSEZxeUxhaDRxNFNpTFlGRld3SUFoY24rZ0lxTnNjVkoKM2srU2JPNXZkcm0vTmZIKzl1MFBkcDIrbi83eDlTUFhieHk5ZWZQNG5Sc243dDg4K2ZER3ljZlhUejIrZHZMQjlhT04xNC9VWGp0VQpmdjFRNGMwRGoyNGV5TTQ0bUpWNThGWjI2dUdjMU4zM1VwSWViWjJmbHh4V3N0bTFZck5GOVdhamtxMitGVnU5YTVPZDZqYmExbXl3Ckx0OW9WNUxzVVpUaVY3elZFMUd5eldzTTBvZ0lPWEFpRjdLYS9EV1FGV2RpNU5vUFdZQW1VQjlFOFNZL1FORkczK0lrU05FR0gwRHgKZXA5Q3hGcnZnalZlK2FzOUMxZDVGcXowQUJRdWQzeTYzSzlnaWZ2OTVWNTNkeC9KMm5mMVhscFczaWU3THQxYjZYbjNTOXNIdDBOcgp2bmJNdjZiM1liUCttVjY3RDlwc1B1cFUrRWk0NkZMMXR6bDV3c3k4cjY0VVJuNWFwN0MvWHZsVUMrT1REdGJuSFNxZk5LdWNhMlY5CktPUitKT1I5Mks3MldZM3FoUWJPRjIyTUx6cHBGNFgwQzBMT3hSN1ZMM29WenZlK2ZhRlA1UXVoeGxlZHBwYzd2REtFQ1EvN0Z4UTgKUDFYWThFbHAwOVhLMWdmVmJhVjE3UTMxcmUyTnJjTEdwc0dHeHFIR3B1R201bWZOTGM5YldsKzB0aUZFTGFMZVpyR3d1YisxV1Z6WApLQ3FxNjM1VTNabGQwYlkzZjNCMTNuRElnMzZMK3ozMGU1MEsxK3NWdm16alhQMEg5OXB6bXcrcU5WU2o5U2x1d0hzMGxUdzRYSitwClZGZE5sVkNCZXF3bTFYc3F3MTJkNnFERDhsQ251T3F5L01qcUkzVVJXUDBEN2xGVmN0V2krZWt5ZzZmU2duaFRmTWVLQzFsM3lNaTYKamx6ZVdJQmdzQWN6SHRsY21GU0E1STVEeEFVSWM2QXhBaVRqUUpJcnJIQ0NBNDNwQXNNRy84RDIrTjhRb0xIRGhIQUhJa3c3aEkxZApaUHNoUjRBc2VET042SEhBZTZ6VjU0QlRCKzJGUUlER0xJUUh4c09kWWNXWmJzbE9zT0FrUUJraU9aQWRWaDlOQnFrUFZ2Y2pTWDVoCmUxSmhhSWNnUUpKY0dPd0xVMHR5VmQyQWRvZWg1YWt3L01PRnM0V2dBM0huSVFIQ0hDZ1JPQkNXQ0V2QU5XaFVaVWlLUXhTZDhaQlcKLzZCM2t4UDR3VE5mRXRIQlFLSWpBWnNKSkNOQUFCa0JJcFR5L0M0QlF2VkFPRWg2aUJxa1QzV0V1elU0VG40V01XMGRhLy81ejMxNwp0M3N2bk9aeTRvanQwT0MyYjc5ZkYrN2lac2IwNUUrR2s0ZU1xZTY0QUpsUVEzRUJ3dTFIcHZwblBQc3gvZmNYUVpOTG5tV05SNTRBCkVlLy9Td1VJN2ZrQ3dIV25NUHh6eXMzMmlLdk5jU0JBUGs0ZitidWRqUWc2c1dUaHh6dFRyMnpmY1RJdDdhT3R5Wjh1bVAxQmlBKzQKNGFpejVRRTRFMGdnR2ZxTUo3d2tVMytrMFNDaUFHSElGeUF6b0RYeUFBS0VPeEJ1UHdCemc0VW1laXNOdGRhWTZNMjJNSXkwMEY1awpxYlhlZEdxc2dWR2l2dnBLWjQyRlczd2lINjRKcTk0VW1iODI4TWtXeitMazRLTE5BWWpDVGY2Rm0vd0tOdm9DU3RhYTVhNjJmckFtCjRPSEdEWTlTUDcrLzcxN200YXlyaDcrOGMvVHJPMGV1Wmg2NW1YazA4L2F4T3huSDcyWWN6NzUxQW5EajVyR2JONDdldUhuNHhxMGoKR1JsSHN6S1AzYjF6NHY3ajA5VjVaeXVMemhXWG5IbFFkT1R5azkybjdtMUp1N05oODkwVlRvWHJYSnEyT0hkdHRXOUx0cW5kNUZDNgp4YXNnSmJCNHN6c0MrQkFSbVV6UWIvb1FXVTMrWE1oL293U1M0dndHSlBXWjJINUtOdnVTS2Q3a2d3U29aS01mRWlDZ1BvaWlkZEIrCmtBQWgrOGxmNFE0b1hHNlh1eXlrWUxFdkprQUg3dXk3L0NndHMvanpOY0gzUC9DNmY5ZSs4ak9mbW15WDY1V1dCN29jVHVYcmYxck8KK2JSSzRVSkZ3YzJuTFZsVjg3OHVmZmRRaGNLeGVzMnozZnFuR3pUUE5RUGo0WDNZb2ZGaG0rWkg3ZXp6UXVXTHZleFAyeGlmQ3hXLwpGUC85b2tqaE02SENweDFUdnV4aVh1Mk51OTI4OUdIWHZsTHhwZHFCdlBxK2x2cTI0WWJtbnhxYm5qZDNmZE1zL0xhbCs1dm1udWROCnZjTk52UVBOdmVKbVVWZHpsM3phbW50YW0vdWFtd2VCRmJWMWZOdmUrVzFIRitDRnNPNkhyczdoMXA2NnVvNzc1ZTNuQ2tVejc0cDAKcm5TODg3bEkvWHpOVkswRWM0WVBoK3FrUy9ObDhyejFLYTYyZWt0Tzc4N244OExVS2M2NkhPUkFubW9xTU13akZ3MnFNd0ROQ2dJZQpBMTZsUVhYUlpzb01BU0xyRGhsWjE1SExYeVpBVWdjYUZTQjlaakJnWWdFeVlJWVJIR2hVZ05EWVE2blRUQ1JBcElHSzBrRkIwbjBYCk1nTVB4eE1nWUQ5QWQ0RDZZRkdmUkN1MTJYeHFqSTBHN0RhWDlGdHhFMkhtaXdzOUF3Z0VIQTg0eG9IbUl3Y2lxdzhDNzN0SFM4R2cKQm1HN3ZmQTRFSjRJd3lZK3J3ZjJBeGZDcTY3RmJBbThhaVZjZ2dISENDMlNLMEFvTGdVK0c5S2cvN2tBSWZ2QkJRaTNINWsyZUtRKwpNazN2U0lDZ0EvMEpBaFFwZFNDczdrZmlQYU1oSDZJSlFRZWlodWtweGV1cnhBam84ODAxYkZQVyt1ZmRXMVZYT3FmbzRmemRheGRaCmNueE1LTE8xSndVYTAvMEVWRitqeVRGa0FTTGF6M2dDUkg3cVAwMkEvdGZhNExFK0wyek1ENXB6YUhYVXhmb1lWQi83RTI2Mko5eHQKei9pNWZPYnRkRFl1NGx6S3RxOVMwODdzUy9sczUvYVRxV21uMW13OEZ4NXh6Tlh4bUp2MVVVZVRkTUxTVTBMM094YitzVFJZSjJIVQpnZGFRWXp3U0U5SmZPaDdtZWtzQVpycUxaVERWV1lRZ1h1RnJ6aFFZTE5YVFhtU2tsUmpuTXYranhjc0xOaVdVTHJjdlNRb3VYaG1jCnN6N3N6cTdBOG8zdTlVc2pTMWJGbENUYlY2ODFlanJYK3M3T2paZU9mM1h6NE0zN2g2OWNQWERweG9rSFg1ek16RGlSbFhmd3p1VlQKbWRmT1BiaWJublg3NU1PdlQrVThPblQ1MXNGcmx3OW1aQjdQTGo1NXIvN0UvWklqT2ZjUDN2dnd3TDJkS2JmbXJMMGNzT3FtM2FvSApCaXNLZVBNTHFETUxsUkl6ZEdaK0ZqZ25kZk9pQlYrc0RDdFk3OUsrMFVxVVpGcXczYUJvbzIvWkJ1L2lMVFpQdDdqbkovbkRML0trCjBKSk5YcVdidlFGbHlUNmx5WDVsVy93UnlBREFGU2dIc05nb29HUkM4SlFURGl4bTJoNUV2djduUXJhY2lTbmJFb2hUbWh5QVU3SkoKRHNVYi9VdVRKSlJzOEFNVXIvZEZsS3oxSzE3aml5aGE3UU1vWE9VTktGL2lXYkRHNS81Njk1S2x6ayszN0w1NlBMY3cvZU0xdDNlNQpQYmp1blgvTnUvaThmOUVUd2FjTmVpZHFMVDZzTWovZFBQbWpwb2l6amJzdWRUa2ZmZnp1b1NMNldaSEc2VDYxazNXOEQ5bzRuN1RSClAybGlmTnFzZXI1VDdUTWgrK05XK29jTmI1L3VldXRVcCtJSFBmcGY5b2RtaUZNZUNxK1h0RmZXdGcwMnR2ZGppSnZhZTV2YXVodGIKdXhwYk9odWEyK3JiQWUwTkhZQ094czdPcGk2RXNLVWIwTlVzeE1HZklsN0VFYmEyZDdXMEFmcmFPdnM3dThVZHdwNm10dmFhaHNQbAozWXZPM3FHYXhEQTVRWnJNUUo2aW13N0xZeXJiMlVSdHRwZlZXajQzVWswWlhQRlVwemhoQVI2SjR2eCtTSDd6SjZNRkhFZ2V5Ry9JCnlHYSs1SUk1RURuMmc5U0hLRUJrOWVHenZUR3ppZUt6L0EzWkFmcTBDRDQ5R3FnTW12cEQySkFLN2NlWUhTbmd4TUZqOEhKbWdDRXIKUk1DSjRkTmpEYWdKaHV3Z2JISjBxQTdGSDF1ZUdtM0VpZ0hnVXhNbEdURWN3aGhvaWYxZzJTNzBpSTlBeExhaXpnSmdzd0ZsTVdkUApOMmZIVzNLblEvdkJpb0dzdUxPdGVmUHc3akRFbURJZ3lkNk1GUUFVQkVJaEgya1I5SHFJaGlUYkJhVUhXNm1CUlgyV0VZWXVMcmZuCnpjZVJhdEJjRzFnUEJDY2lXblBnL2dwejFpendxV0FCRUNlYTJOQ09rRndaYTBLamEwMng5akhVVTRiVkZVa20vYUFhSTd6TTJSVEwKZGdId1lkQXlBQ2NEU01KUjRDK1ZOcW1oR2lEY2RjQXh1R0xHbE5RR1NRVkk0a09ZSkVWalUzL2dxUkV0SEFQdW1rQmpBdzJCOUVnaApYeGtESlFBSHhVS2tFUkg0TlM5WlJFb05OYVdGQWVCWWFtb0U3alJFMER4cmlEVDhZMGFKeG9FbXBCeEJsQjZrRGdpeTF1Q0dBWkc4CmF2UXBsQ3hEb0FHR2NsRDJrUXZTSFRMb1dTTVZYd0FTSFFFRi9QaUJ4a3BCSmhSZmM2YTdrV0l3T0RCVzloVlF2SXdWdzhuanFoRW0KU3NFWXhFR0lFUUFGRjZzeGc1NlIvY0FSaUZaSHNRalFHWC9YVDN4ZFQ4WkduRWhPL2lnMS9kamVIYWQycHgzZnZlK0REWnMvaVlrOQo0K0Y4MnRYcW1JTmdON0tmTVZ2ZnNmRS9jdTNIa3IrS3JENFNNTXNaRDdMOWpDZEFKcnFKeG5yempQVmhqc3hDTXlyRTBDYzlOT3JPCitzWDNGd1JYelBkdW1CdVN1emcwZjc1cjFXS1g0bzMydFVsVDh4WTY1cWFzZVhUa2ZNYmhTemNPWHM0OGZEdno2SjJiSnpJeXp0M04KUHBFTkxPZUxvN2Z1SE05NWNQQk94c21jVzhjelB6cjg5TTdwaCtWbmJqODVmT1hJcml2VHR0eTJXZm5RZU81ajVibTU3ODI4cnpBOQpReUhoT3NhTnZ5Vmt2alBqN3Rzem5yd1RmL2Z2Y1JrS2NSbHZKOXd3bkgxdS9vS05SeGJIbDYvMGIxczd0WG05ZnZrRzk0cjFqbVZyCmJZdVMzRXEyV0JXdGR5L2M0RjZVNUZHODBiTTR5UnVMZVl3Q0hBaW1nVEFIZ2lFVEFqSUNOR29ZSkVmNXQwSlduSWtaVDRCS053Y0MKeUE0MGdRQWhpQTRFS0ZzUlVMSXErQ2s0WHVwNmYwZGE1c0ZISDU3Nk5DSHJvUHZEYTFDQWlyN3llUHpJNElOcS9aTjFaaDlVQWdFeQovTENKZjZqRzhuaTcycjVTenJGaXpiTVZxaC9Vc0Q1cFpwMnAxUHFnUS9mY2dQcFpzZktadHIrZHFsRTRWL3Z1NXgzT1Yydm4zMnY0CnFMU3BvckZoc0tudVJVT3p1TGFqczZwSFdOVWtyR2tHZE5ZMGQ5UTJ0OWMxdDlRMUFaQUE0UTZFZytzT2JqeElpYnBiZTlDQnJDRzEKZEhRMnQzYzB0WFUxdG5VM2R3Q0VUZTNDaHJiNjd1K3FHMS9zMnZhcERzTk5ZN0tUSWRkZmcrN0tVckZYblJMSTUwYXJLWHVwcWJoZwpqV0RPdW15dnYwQm8vaWhrOVVISU9zMGY0bmNJMEpoNEQwR0c0SFlMUmp4QXNoU01FV1BNaWpQbWpOb1BFaURrUU5oTytGaWdMMGJzCk1BTkdFTkFkNERmNjFHZ3I5WVZXbWdsNjFHQnp0VGh3RDVJZTlJaXZ6a0FsMVJNSkVPWkFDS0lBU1J3SUhKTUVDSE9nVVFGQ0NUSmcKUDdBZ2VsU0FpUFZBc0VFTUdBd1NJSlQvd2dWSVlqL3E2MGZ0UnhVdEZJTnBMenZlY3NMU01WZ0RoR1BIbVEvcmdkanpBUGE4MlZhYwpXZUR2dFdUTnRtRENqNDJXc2N2WUQrNUE1R2pRcUFCaHNvSVJSeFFnZUVybzh6S2p4UUFCR3MxL0ViWmtBRkJBYUZTNThCWjlTZm56Ckh4QWd0RW9NWHFjakI1SUlrS3ppU0IxSUx1TUpFTEVpUnhMblFBdmI1ZG5QT0FJRUhjaWNHak9CQUUwWSt5RUVoNVRobG5naStHMnkKM3ZObkNCQWFCbzB3VXZJeW9ia1l2QnRqelVoMDRXdzNwUWFZVWNOTXFONWs5ZmtOQVVLWkw1VDhBdmFEQ3hDNEFoN2RiRTk0TzUzMgpjVGthRlhvNEtlbnM3bjFuVTdjZDNKbDZaR3ZLcVlWTFRnY0hubksxTytrQ3pNbHNuMVNBSkZ2ZjhUSWdHZnNoTEVBbHFjOXZDWkNNCjd1REdJL2ZVa2ovRFNIdTZnZlpjZ2NGU2djNThFOVVZTjczb1dQdVpGeGNuNWkwSWJvNzN6WTkxeTQxMUxJNEl1dWNYZXMvSzdzYk0KeExzblBzODVtWE52ZjBibXNWczNqMlpsSDh1NWR2VDZ6Vk9abVllemJweTVmK05ZOXQwajJUY08zYngrNE9xZHZkZUt6ajNLM1Bkbwo1NmJIcmt1ZktzM0tVNGgvcUREenBzS1NyNVNtWDFkSnpLRFB6bUhPZlVDZGMwOXhkczZrdVhjbUw4aGh6TDVLbjNXRk52TXF1T0g5CnVOdnZSdWU4RjVuelhuaTJWdnduczJadHVUMG51R21wUmRsRzA5S05GbFZyTFBMV1d4YXNkUVhrcjNNdFdPOVd1TjRUZ3ZVM29acGYKQU5DZ3dzMCtrb0tZTFg3RnlRR0lraTJCWThDaVJMOGZzc3E4R2VSM25oaWlBSTF4SUV5QXlCb2tJMEM0QTVXdTh3ZklhQkNnWkUxQQorYXJ3b3VVaHhjdmM3dTlJemp4d2U4R1Z6enh6enJvL2hoRWduNExyZHJjZTZKd3NOenpUYUhxdXh1eDBzK0NqTnZySlN1cUpHdlVqCnpkcW5lMm1uV2xqSEs4MVBWbXQ5MEVzLzIvRzNreTBLcDl1VlArNTJ1dGl4TGFzNXE2aXR1Nlptc0tIcFJWMzdVSGxqWDBsdGQyVjEKUjMxVmEyTkZlMVZMVzFWTGUzVnJXMDFyZTIxYmExMWJTejJFTEVBZGpaMEFjdUFIZ1o3RlkwVXl0NEhyOEIzcTJnRmREWjNDeHE2TwppdXJoSm1GL2JXL094Y2NtYXU3cXluYmFiRTlOanJjR3hVZE5HZGI5WUdrc0Z6VVZSMkEvcURIK1B3cHkvZ3NoNnpSL2lQK0JBSm55CjRneG9jVHJLbU5Cd2drMjQwNERyNkRNOWlRSkVEQUlaMEtLd1plUFIwaFdxMGJaVEZ5WjRIL3pxUksyRitnejFTZjZtdkhoOVdwZ2UKTlJSWWpnRmRVZ3hFUkdKQ1kzZUJ5VGlRVEJBSU9oQTNFVGtRRnZXQnlBZ1FSSTRBU2V3SGRjaERvUDFBQVFKYWc4cDZjUHZCNDBDago5Z05EUkREdEpSa1hoSTFQQkdBYlZXRU5FRkdBSkJyRW5RRlRVWEJENmt3TEZreUhZVnNzeGxUejRQRVkvQXBSaVNSVGZBajJneEV2Cm5mV01uUkwyb1NJQmt2RWVoRGtOWnI0c3BXK0wxRXBBanhhTTJZbzZLa0FJdVFLRVhvdGVSUlFnWEhxTWFNR0EzM1FndWZhREM1RFUKTmtaZEJPbU9SR1h3Wmk3cEFsVEovakpDUFpBRkxSWnpJSmdSazd5UWFEWUVBWkl4R3hrSEdrK0FDRHNyeGtCV245OGpRQklOa3I0SgpFQ0JUYXBEZXU4SFc3SWlGN2pjdTcyOXc1cTdUZWRkWm9CUkJWcC9mRUNCSDg2TUFLRUJZOGd2akNNRFI0ckNyelZGbnE4TnV0c2M4CkhZNEgrUnhaTVBjTWNLRDBIWitsN2Jpd1lmMW5NeEkrOVBPQVd6SWN6UTQ1bXFiSnRSK0pBQkZpUDFMN1dTSHJQYjhsUUdUN3dhVUgKeG51MEZ4SlBBUUtkR1VaYWlZWmFjNHgwbGdoMFZ3ajBsaGxwTGRCWG4yMmxHYjdlZGRyWDgrTHlscnZWelBKN2JMVHlwc0xocXdySApyeWFkdlgzbTVyVWp0KzhjZkhUdnhPT01ZMWV6anQrOGR1emV6VE5aV1FjemJ4Mi9mL2ZvZ3l1SGJuMXg5RWJ1OFFjUHp1VjlsSDQvCmNNM2x2OC8rVW1GMmxzS2l2RWxMbmpEbTNOZWRjZi92YXpQZVhwNzF6cng3a3hNZktpWThtRHc5Ky8zRW0rL011akk1L3RINzA1OU8KbnZtSW1uaWJuWENKSGY4Rlpkcmx5UW0zRk9LdnZ4VjVmWExrSFp1NFQ0L01pNjFNVXF2YlpGaTJNREovallzRTRFRHJZRWMzY0tDQwpEWmdKb1FOTWhnbzJlYU4rcUtMTi9qaGpaSWpVWGZWSGxRaEJWcHlKSWIvRHhNZ0kwS2dERVFSb2pBTnQ5TWNwVHZMREtka1FnQ2hlCjcwK2tiSU52NlpxSWtwVmhsY3VkaWpjdi9lakVSYTk3bnpqZHZlRCs5SnBYd1RYdnAzZE5MejdSUGxwaGNxN0Y5R3l0NmFrbXRXT0YKL0ZPTjJzZGJPU2VhcHA1dTRSOXYxem9oVmpyMVhPRlkvVHNuNm5RK3JGcDh2VFk3djZtdnNuVzRwbDNVME5OUVhkcFlYVnRmMlZwZgpKbXdxN1d1djZPdXE2QkNXTnJYVnRBUGFhenZhNmpvaERWMFNwUGFEYXcwU0dwbWtHQjRCa2gvK0FRTFUzQVBvYXVycGJPenVhQkIyCjFuZDExSFZDR3FzYmF5bzdXenBxSzl1dlhYcXN3NFcxTzNEbUlkTUQ2STRXSFFnUURQOEFCeUxMeDM4Q1pQWDV0d3FRYkx5SEZZSm4KeENTNU1OYi9SOTE5UjhWMTVmbWkxOHp0bm5iYkNramtvb3FjQ3FySUNLR2NJem1KTElHUWhDSUk1WndzMjNJN0tPZGt5WlpsQ1lHZwpvSEtnY280VUdTV0g3cDY1TTIvZCs5N2NQOTVhNzQrMzk5bW5UcDJxQXlpMFBkMnoxbmRZcHc2SGc2eFpxLzN4Yi8vMmI2K004OHRKCkRNNU5ZcXlLRDFqTzlDK0s4ODFqaGF5Z0FnZzNrSDhaUUErUURUd2FMS0E0ZGdhc0FNMkthbHlRME1RRS81YWwxWUFIRWdKSzJjRmwKcktCaThJTUlQVVFwaU9nTlFpT1NYUUJ5OTBlakVIT0FVbWhWS0VBNUlBQVRJTWtCNWVBcjZ2N0JHb0RHQXhDMjdjdWxIM3d3TkFZZwpkSEFZdWUrSEFKQ3IzUWZ2RUNJUFMwVDBRVUVuekdQbmkyM09Db0luYktETXBqZGtCZGZOb3NIcFJPbllSbjFnSUFBWGdqNWVCcUxlClFYRzVoNGpIbEdjeWdOQVNtTmZLbDV0QldOOFBmQjRYVEFuTHJ3aUVyQjlYalFjMzBBUUFRdDhsQUlRWkNLZlBPd0hJU3o5ZUFNTDIKcU9NaGlRUy9KdmZCc0RFSm9Ub1E2Z2RDQUVLTlFYZ3prTGQrUEhEajJXZmpOaEJ6eWtxVXZ4bEFZeWQreWxMM1kxZ055V1dnQmF6cAo4eE0vYU1nTzJGTVEvNEQ1WVY2NmYybjg1TGxVK3J3WlFFZy9ybncxSiszTDJhbGZaQ1dkblpQMkozQXhQK1BTNGxrM2w4eSttclBzClltbkJoYldGWDFjV1h5bkt1YlJpd2FWRldRQkFsMmFubkozRk9rWmU5aUpOL1draUwzdWhvMCtSZnFodHppaFUrcmdBdEFra0tXb2oKQ0R1eUFRUmRFM2ZRQlhvR2ZHUkZ1bFFVc1NraGJFTmNhQjNjTUord0k1eFpueHhla1o1WTJaSzRRWlQ1aGRqL2dYelM5NEtaajdwdgp5MFJYZUUvUHRmOXdVY0MvSU9COTFkcHhvYVBqaXJ6ckFxZnpheDZRRU8rYytMdHpIVjNuUmZJL3FROTh6cCs4UXppNXR1dWpHczdrCm5ZSXBMZHdwRzUvK2NWM1g3emNySmxVcEoxWEovbEFwbkZITm9kZTFoMjE4VE4vMElIRFQzUStySDMxVTgvMGZhcDlPcXVGTXFoUk0KcWhMK2o2cXU2ZFZQbzhxL25WSW4rT2RhenFSaTN1OEtKV3Vxamp4cG1QbThNVjIxYzQ2aUNVYlpQRmUxYTRGeTF3STAwa2JWc2hoRQp2WHVKYXM4UzlkNmxtbjNMVkZoUUs3Zm13QW9Rc29USUhpTEh1MURraXVISW1yOUxURmlvRERJZVdvUGlKU0hEZ1ZWRXlCZ2lLa05lCjlTSFQzb1hxZmJuNmZYa0QyMmZhbTJ2MlByZytUM0pybWZEeGZNWGpwWnEyUldKNS9FMWQxSGtiKy9vQSsycGY0cVcrcUFzRHpLK2MKOFo4YTJSZjdJbTRPVDc3WSs0ZHpnOU12dmw3K3ZlTXp3WkRkTVB5ZjFvSC9aZXQ3WWU3ck16Z0dUSTVoMC9NQi9lQ0FzVy9JT2pEWQpPK1RzSGJMMWpscjZYZzdhUmxDRzdLT0REcGloM3VjZ1hqMUE1RGFnTWVQMURCbEF6d2Rlai9hL0FnQkNEQUlHQXVRYUdoZ2VIbnBoCk5Oa0hSMzQyR1ovWFZ4MEs4NTBUNmJNUWpYSUdBS0pQbTQwYWdNREZQeUNEaUc1b0lwSCtTMEM4VGZOT0dRZEFYdlVlUWo5a0E4WDUKTDJNRzVBSUFKUWF2QXF6SkROM09DcWlMOWxrRDI0Q3dSVEVpc01jNUlJOFZ0RGJPMTkzVEF5dEdmcVdBUGduK2xhekFTbkFSTjZNNAppVllSN1pNYk16MG5pVlpLQlJBeUVIRk14RnNhQ0NnSFdBZnBCd0dJTU5BNEFNTDFnNFpCNHlkakFMaGdRUlVnb0ovNW9aNjFIMWUvCnMwcy9PSUJRSFlqUUQxWUgya0kyRURwaURDVFRiOFBNd0kwekF6ZGtCS3pQQ0toRkJrSmJ3NGpkWVJPRVpDQ1BUZS9lTUhJMUFCRTkKUU80T2FGSXpFQ3dDWWQ4bGprRkZmSUVIenBQMFF3QUlHV2dDQUJFVklNeEFFRUJrL1JBQW9yckhIUXA5VUVWa3ZFcU1peXh1RE9HdApQRmpETDlWQVZBQ1JWcjdHQUJBSk1SNzgrclVBUkcyTFJ2RjRqTHlVTmhuK2dWblRsNmZNcUU2YWtSLzNZVTVhUUFIem8xSXFmZDRBCm9EbHBYNE1BK21BWGtEN1pLWDlDd1FEMCtkeTBDNHRtM29Fem9MT3ZMNTkvYWVtY1M4dm1YbDZjZlFtdWxLV2ZuNWYreGF6a1UvRDQKOTdIMEE3aEQxbzhMUU9QcTUrMEJSTllQbFVRUVFORTcyRkZiZ1g1U0l1cFRJdGNuUjlTeUltcGdUU2grVDNSSWRVTFVyaWJhOWU1dwpmdnNmdis4T3Z0ZmUwdDMrZ0NmNFNzQzVLUHorUmh2bndsTndEZERUZm9rbi9JTFRka0g0NktMdzZYbGU1N2x1OVZmYUwvZUpmVFpjCm4xUXQvS2ZOb2ovdUVIMjBVVFNwaGplcHR2dkRlZ0Z6bzZoNHo5V054Nzg2OGNXeEc5ZWFXdS9VY2U1V2R0MHM1MXd0Ly9UY3hqTmYKMUovNXRQNzR5VzNOaHc0WE5IMFZYM3RuU3VIRFNhV3FxV3NmQmxSKzUxZjF3K1N5SnpPS2VWWFZuOHMzeDh1M3pWSnN6Kzdaa1MzZgpPVnUrYzY2aWFaNjhhWjZpZWI1eTF5SVF4Q0JnSU1RZ0tLRzl5MUcwKzFibzlxOUUwUitBQUtKbUFnQ05GeXBaZnQwZ0FJMWhJQmVBCnZBeGtkSVVzSVJEai9yRmozcmRRZVJpK1pIUkhwbXgvYlZISDlXWEN1em1pSi9PVmo1YXEyK2QycVdNdTJtSXY5Q1plN1dOZTdvKzkKNEtDZHMwUmVja1JlY05JdXZQam5QdzE5ZE1GVThLM21qc2o0SDJyYlgyMnZoaHcvR3MxREpxTnR3R1I3Ymg1OFpYNDlaQmwxV2dZZAo5Z0ZINzRETjNtczNXd1l0MWxjT0IzU1B5MENFaEVDSUpUQ3ZVT25qRllJK3FCb0VBQVQwTSt4OEFRSXJRRmdkYUtUM3hXdmpxeCt0ClA0NWFSZ1l0UTZPOVAzTWVxMFA5c2tPbno0UGJ2Z0lYUlBvdnhPcEFDN0NKaU5sMG4xbFVndng5NDNtNisrSm92eVd1VUZqejloa0wKUUY0em9ORzFGNERnZCtIcDdzV3hNMkNaQitpbmZQNDNLNU8vWkFjMGpBY2dZQmZnSkhad0dYQk01TlExeENJWFVCSFRIejhJRE5nSQpmRGN0dENvSy9Ndm16UUFxZFFISWUxZ2lZU0E0RWhxekRya0NSQmlJQ3FDWmRLTHZCejhLZzlEUGJNWU9CQ0FRT1AvUUJTQmlEenphCjhVNFVnZWJTZHJvVHNoMWtEbTBiaVBzME1jL005RzFhd05pVEhidzkzYTgrM1g4ZE1oQTJKdEVOSUhLbEJ3MTM5aHJ4bkFJSEh0YWcKdkJGQXFNYUQzSU5hbnRGRUltUWcxOVFmWEQvakFZZ3cwSGdBOHVvQkdoTkFiOVlQQlVERWt0REVBRUlHSXE0SkFDRUQ0UXRoV0VzUQpwaCs0QkFaWHdiQUdhcy91SHhSRUdTOEFrUTIweWd0QVk0SHBOd0ZRL0pURmJOOGxDZE9XaHYzVGl2U0FDaGI0RzV1eUVMeWZTcCszCkFoQ2hIeGVBem9JTENLQzB6MmFuZmpVdi9jckN6SnR3V25UMmhRWFoxK2ZOdkRJdjR6emEvWjZkZEhSbTB1SDB4SDNrWlM4TVFEaDMKeVByQjdtd0h5a21LM2tLbHo5c0RhRXo5ZUFHSUdiNGhNUktramhrRzE4S1NvK3BBNEtDZzZKcms4SXFXMkl2ZkJQVkkvRTNkSDNhMApMMjN0Zk1CdHZkRGU4UlcvKzdMNDJSVk94eVZPMTBWcDI5ZWk5bk9kM0F2ODluT0N0cThGano1dkUvK0p6LzNLdEdJSGQxSmR1ODlHCnhlUTY2ZTlxZUIvVWRhUTFQMmsrYytQZWpVTmREMnVjajB0RzJvcGZQY3Q1MWJwODlOR3k0Vy96K3U5Vjl0NnVlLzdkU3VmOVZiM2YKckh4OWY5Ri9mRHYvMWUzRi9QTUZsODVVTTJ1dS9xNzgzcFRTSHhJcVcyZFV0disrNUZuNWhwdWFFeWNRZ0VBSUFDRURLWnNXS3BvWAp1aG1FR1FneWFNOHlGR1FnZ2tHb0prU0V1a3oyRDFJWklnRGtiU0FTZ0tnTWNudUllSUJrSTNJc0IxWXBEdWRhRHVXTjdwcDM2YXV0CkMvamZyZVE5WENWK09nOERVT1lUYmNTZitwZ1grdU12Mk9JdkRrUmZzRWRjVWRDL3R2M3hrLzdKWC9RdXYyTnFVengvWlJsK2JiY1AKYWw0TW1BY2RGcXZWYU9yVDl3N3JoL3AxQTMzNlByMzloY1UyMm1jYkdMYjJEWmw2aDB6OWcrYVJRY2NyMlBUakdBWVpzZU50UUNEUAplOTNpSVNwQXFNQkRYZ0pEeW5rOS9PT1BJei85OHVMUElEOC8vK1duMFovQlI2SW4rc1hJankrSFg3OFlldlY4OE9Yb0FId0plc05mCm5IOGQxZzMrWkgvKzNEd3dhaHNkTUw1bVJTNmwrOEdtSDRBZXVPZDhPcXFwTElyd254ZmhuMDBseU44My84VUF3dGU1SmdKUU1VaEMKWUQ3c2E1NWV1VER1VEhySTd0anAyRVl3VHdDaHhQbm1SZnVzUWV0aWlZRkZ5U0ZsNEFkamZZR0U4cEpvcFV6L2dxaHBxNU5EeXBHQgpFSDJRZ2J6Q0Npd2EzMERlU1E0RzBJRkpDU3ozQ2hsQTJPRVlPSURjVFQ4ay9ZRE1DZDBKdm1JZHpkdkpBRUtiNFZGRHRHdmtEM1pFClJrZ1RDQUVncEI4UTRrUlZyeXhtZkZ5VWRHNUY5REhzd0kyTjJJQkVOQ2ZhdFRHZXBKK3hLajE0MGdMV295NGlMS1Q1aXE0bWFDSkEKUDdEUngxVUJJZ01vMWJjQ0hYeEI2QWNLeGc4WUtKL0FqWmVCeGdNUXRnVU0zd1dHQUFSZjRwdFBYZ0lqOUJNM2JaVzNlOFlDRUxrbgpaandBb1gxaG50K0Z3ZjcxVHhTQjNBWkttb2EyZzNrRGFMd21hTlNEVERYUWVBRHk3bjErVXhNMFBnaVJrdkVBbERTOU9IYnkzSmdQCjU2VUhyWW40L2NMNHFmUEFUZkQvWWlwOTNnd2dRQndzVUQ4WWdNNkNaQ1ZCQnMzTk9Bc01sSjN5NVp6VTgrRGp6S1NUTTFQT1pTWUIKS24wK0orME1uUDNEMnB2RjNnY0I1SG5hRjlJUEJpQ2NQbWo0SVNyL1RBQWdZaWNYSlJCQVl4cG9UQURCWFdCUnRRblI2MW14RFFuUgo5YkhoNitQRDZ0bVJteElpNnJQRGQzZUZkNW9DeGNxcDNkSVBPRStxaEx6MnArSXZldHF1OHptWGVhSXZwUjJYRkkrdjhwNmQ2KzQ2Cko3MTN1YnYxVTQ3MGMySEgyVGJGNTRLTFo5Vy9xM3M0YWIwbXBLbDl6cEdIdTc0Ky8vaitIa2Q3MVFnM3A3ODd6OVpScG02djFyV3YKMDdYV2F4NnQwMzVmcVh0Y29tdGRvM215VlBzZ1gvVnR2dkxiUXZtRFhPVTNLM1QzRnBtL1dlaTR2OUI4ZTJYUjFpOG01YmROcnZnbQpvUExKNUJKRndTYXg4c3hqNVk3WklLcWRjMENVemZOQlZMc1d3TFd3cG9XRWdRQ0FsTHRkQnRxOUZBUUJpR3dnOHRJWU9WVDYvR01DCnlIUTRoMnFnaVlKeHgzUm9qVmZNaHdwVWg0dWMrd3BHV3BZMDNkOC9UOWkxalBkME1RQ1E2dUVpZFZ2S2Q1cXd6NGFZNXdlanZ6TEYKWFJpTU9tK0xQZkg2OTJkTWFYZk1qOFF2LzZycC80dkQycWN4L2xuK3ltelNPWTIyUG0xL24yNm96enhzdC9UWnJjNStlOStRMVRKaQo3WDF1SEhpaEgzMXArdkdsN1pjaDIydW5aWFRZTmtoa3hEWTRhaDk2N2hoKzBRdTdvWkYrWG1CYjN3Rm9nR3hBQUhGQUFIRWdiakFQCkRXTVBEOWdHQisxRDZLZWVZNzNTQ0VhdlgvNzg0NnRmZm43NXk0L1BmM294Qko0SHFCb0JYM3Y3WHpwN0J3ZkIvMWx0QTViZVFmT0wKeFZscncvem1ZNXZZRnpHbUxZendYUTRNUko4Mkp6SmdicGh2Rm5Xais4U2hrdVhYelhnQThqam9sQlJ2NjR5WnR3QVFHVDFrRExGbwplVEcrS3hLQ2w2VkZyQUd5WVFmV1IwOVpxbS9JQUFDQUFFbEVRVlFyWW9Xc0pBTW96aStIdUU0TUtnQUIwSW1abmdON2d3THlZbjFYCnMwUHl3WHVpcDY5azB3cmhBNEVJUGNCRGtFSElRSjVuYXhRbkJoUVNCbm9qZ0VDbzlFa09XQXVDZW9PZ2ZvSnJQQUhrUGdDVjBBOEIKSUd4UCt6Ym9HMFlMQXREczRHWjhJQkEyOFpuWUNEYWY3allRb1I4SUlOY3g4aDVkMHVDai84Y0ZpWmVXaHAvSW1OR0lqWXFHODRHeQpndGU5RDRBd0EyRU13Z0VFUW15REo0TFArTUVHSHBLWHdGQVQ5RmdBS2dBaERUYjB5SGdBd3VZQUZhR2Y4Z0lRT1VnL0UyUThBSGs2CncxM3NZVThmMjBBdUFYZ0FDR1phTVJZNEtBamZRajg5ajJ3Z2pFR2VBUEl3a0ZlOXh3TkRXQ2owZVM4QTRiOFhDL2s5Q2RPV0p2Z3MKVFBaYkZmZkh3dVFacGVBM0p2a3VqLzF3R1pVK2J3RFE3SlN6WTJaTzZ1Zm9JanY1RXpqbmtIMDZDK2lIZlNJcitkU3NGSGlkeVRxYQpsWFEwTytYNExQYmgxTmc5K05oRDBwbGZXTXN6bEpCWDZ3L1F6d1JKamgwN1NUR05JT3pvelNDc3FFMGc2SnFOOWZwZ1RUL3JFaU5xCkV5TnFXSkcxN0tqMXJMQ2RTZUZWN09nTmFTRWJZbVBMWXhMcU1vSTJ4REFyV0l4YWJyaFdHR1RtaHNxN2ZxZVhzVnNGZCs5L2M3L3IKMlhsSit6bkJzd3RkSFpjNk9aYzRuRXRkSGVlNXo4NEpudjVKMnZGRno5TlBoZTJmY3pzdmM3NjljT2Y4RjU5OGVlNjQ2Rm1kaVZjNwpJaW9mNlM2eVB5MDFQSzNUUG10UVBxc3pQcWsxUGEweHQ5VmEybXZNN1JYR3A4WEcxa0pqYTc3eFlabjUrekxqZHdXRysydU0zNnd4CjM4czEzc25WWFY5anVML3d4YTNsNnplZm43U3lqZDV3OThPU0gxYnZWRGcvUHFqYW1hNXV6dExzd3ZUVEJMa2ozN1ZRMWpSZjNyd0kKUkxGck1ZaXlaUWtSK2Q2bEtJcDl5MUNVKzVmRDdGc0pvdHEveWl1YUF5dUpnWkRrNkE2dEpxSS92SVlVYnhKTkhNT1JuTjgwQUVaagpSbjlrSmFvYkdRN202QS9rR2cva21RN21XZzduYTQ0dXR4MHR0aDljSXp4WlV2N2ttMFg4YjFkMENaWkp1NWVyYjYyVWlTS3ZLLzIrCjdJODhQNVIwd2NiNDB2clBaM3BUTC9JL2ZXWWExdlgvM3diSHFONXFOdmJiOVlORGNudXYzZ0hpMURuNzlIMkRocUVoNC9Dd2ZnUmsKeFBwODBEUThZQndZTUFQclFLa00yZ2Y3TEgwRGZmMzl6cjdCWHRnWU5BUm80bnlKTFZUOWhLbzRQdzcrOUxMMzlZajVSYjk2MENxMQptd1JXYzd2ZCtOU3FlV1NRUDFCTDdzcUZ0NlNDbXhJUWRNRy9JUVpmd1gzRnR4cnREMFpEcThVcTZyZEsrcHlLUWZDU253WisrdlBvCkx6K092bm81TkRKa0hYZ3g5R29RU0tpM3orbm82elVQSGRqeVdlUzB1V1JrVUZsRERYVldvV2ZJYXBrSEV1bzdmOHhRaVlNU01YMjgKTENUMEV6bGpDUWg1Mk04NzA0Y0NJREp4UElQT0JmTklmR0F1dWNmWjNla2NVRWh1bWdZQUlrTHRqRWFoM2tIdjhUbzVsY2g0UjJRZwoxbENoUSt6NUlsYkJYRTlXb0IxaDhHZ3diQkFpT2hITXRkdkxPOWo2MXpac1F6czhDc005L0pDMloxNUl5M3h3RVlKUGZKN0wyQUVEClQwdjFJQTRPbmVBZGdFVElSamlQZ3VGTnRDNkdPcU94WmlCOGp4aDUzejdSeVFUKy9FUjNNN0hSSGUxeFMvZXZBY2tJcUFaK3drY3MKWXVNTnZkcWN5UitKYStLNzZGaU1WTmVoSEtnVENMVXdVK21ENG5vTVcrcUMzSUhuZjQxelZrWXhiS2ttSFlWQnhnMXp4dXI0NmF1OApFdWV6RWxZNHBpeGxCaXlKbkQ0bmV0cUtxTWxMazN4WEoweWU3K1ViTjFCSS9UZUVZSWp0OGRRQTlLQWt6eWlDUjU1TkJ3d3FadnNVCkpZNHhDeEc5bjJ3YUNDRHNGK0VDYy9VRHJTWkNYZndpQXQ3Z01TQngyaElRL0N3d3o4Uk5XMEtsRWdxVlh5amtabTNvbm1scmNQbE4KUllIMFFReGlUeWtBR1JkQUpQMmNnUURDOUFPU3dUb082MERzWXhtSlIyYXlqMlNuSGdNQVNvLzNxQUNSR3AveFRpQ3YzbWVxZTk0VgpRTGgrb2pjblJXNU5pa0k3djdEV240Z05JT0FpTGFJeEtiWStKbnA5V3RRbVprUjFlRmhGUnRSbVlLTTY1aGRkTklOOWhvcnpnYU1qCnNsMTY4NmprZmtmWFo5ck95eDBkbHpqdDUzbHRYNG9CZWxyUHlwOStDdHpUMDNhdWxYdmxPL0hOQzhydmpwdTV1MDNpQm0xUG1VNVQKK3J5dHJLOWpvNDdUb3Vac00zWFZPcnVySEIwTnhxZTc3QjNWMXZacVkyczFsRkQ3Qmd0bms2bWpYdk8wUnY5RGtmbEppZmtKK0ZwbwpmcHhuZkxSYSs5MVMxZjJGNXV1NXIrL05saitaUDJmN0Y1Tnl1MmVVM0x0K1JOcTNxMUsyYzZhOE9WdlJQTCtuZVVGUDA4S2Vsc1U5CkxZdGt3RUM3Rm1IWE1QTGRTOXh4QWNqYlFPTURDR1VDQUhrYXlKczRMdWg0MTNKYzhTWUxpdkZvN3BpaFBqbHhxUFJCQWIvYWVEVEgKZkNUWGNyVEFlcXdRQkZ5YkQrZW9qcTV3SE13Zk9aVDc5S3YxcTd1L1dTSzd2VkxVdWtSMFAwWDE3Y3dlYy9SVlc4S1g5dER6dGttZgp5bWhucFhYZjJ2WHFmeHZSLy9SblRlOXpoZEdxdEJvTS9WWlRYNi9lWU5mYW5JYmVRZE1nU0wraEh6QUlmQVhYZlVibmdMbC8wRElBCkJ3RVpuU0RnZXNRKzNHL3RIN0VQdmV4N0Fhenp1di9ubDQ2ZmhnRjM5Q05tc1ZYSE04amJWS0p2cFp4YjNQWXJuTGFMblU4dmRMU2YKNXdDRlE0aGY3TzY4eE8yNnd1ZGVFL0t1aThEWDdxc0M4SkZ6bVFmdWcrK2l4eDU5MmZia1hFZjdsYTd1TzBMcEk1bXVXOStuNm45aApmdm5YMGIrKzZIMDlhQnZwZHc3MTJwMU95K0NWczk5RiszbzBPMU81UXcxRlBQOWxBSUpGSUJlQUZwRUI5SjdsSDA4QWtSZTVQRU9VCmhUd05SSUVMRHBwM0JOQzR3VTZQcHpLSWFIOTJMWExocDhSUENDQzhCNGhzSUdKTFBEb2NIdXVBM2pnQmdGejZ3UUZFbklDQjlJTUEKUkxROEF3RGgxNjVRQVRTZmpsZUpxQUJ5eFF0QTdyMXNuaE1PM2ZwQkFNb0lxQ1Y2ZXQ0SUlHckl1OEM4QURSbUR4QUtvUjh5Z1BEcAp6L2cxK2ZsaTRsZ00xemtZcmpFLzR3QW83c1BWY2RNV2hFOWVGRE90SU01L1h1eTBGVEVmckVtWjd1MmU5d1lRbVVFRWdFQ0kvZk1FCmdGem5vZUoySVJhOGlGOUVCUkQyMGRzOXBEZDRBQ2htNm1LWWZ6UUFaU2QvNXRZUCt6U2dUeWJyS0VoNjRySE1wR1BnSWlQeEVNak0KcE1OWnJBUHVxVDhlOUVGRklLZ2Y2dVl2S24zZUhrQWVnZVVmbE0yc2lFMGdpZUViUVRMQzE4Vkdid3dQcjJYRk5xUkhiNGtKV3hjZgpYVGN2WUFzdlZzNFBjaXA4RFcwZjZSUWJEMG5sUng1L2JoWitydXE0Mk43K05mL0paejJQUDFHMW5SVnpMajRSM2J2ZTgrZ0xaZmRXClBiL1J3dDlnNTliWU9SVjJUcFd0YTcyTlcyL2s3TFk4MjJwdHJ6ZDAxS2k3YTNYY2h0Nk96YU5QTnVuYkt5M2RWWFpodFVWU2F1N0oKczZwWFdYVkxUUHI1VHZrYXV5VEhLbHBqRkt3eDhGY2FoY3ROMGlWV3hlTGh4L043SGhVTlBabno0SXNOUHN1NlZ6WWE1YWYzcUJveQpSRTF6SkxzV1NIWXRGRGN0RWpZdkV1MWFLTm16U0x4M2diaGxFWWhrOTJJVTZaNGxLRDFZeGpBUUJpQ3FnUWdBdmRGQUxnWjUwK2Z2CkN5REltakZ6dkJDOERhRU5TTWh5TE5kOE5NZDRlS1h1MVBMQi9VdGY3RjE1N3RydVRPRVBTd1IzbDBqYTVzdWV6dGNKNWo2VHhYNnQKOGZ0czVJUFR2Zk12bWIvaDJ2K2lkZnhWWm44cDEvZXBOWGFOeGFrZUhsQ1BER3J0QXdZVmNvOVQ1M1RvWURYSWFYYjJXZnFBY3B6VwpQaEJ3UFdRZEhMR1BQcmUvZkc1OU1XSWUvYm4zbDllMkgwY016eDF5cDY3YktINGs3N3pEYTczVzBRNjBmWWtESEFQU2RVbkF2eXdSClhlc1JYNWVqWW8vb3Rvd0krRWl1QTZFN3FCb0VZQ1M1b1pEZWtvdHZ5TG92Q3dHZVFEalhCUHpiVWlDaFFjM296d1AvK3JMdkZmamoKQVFrSjJyV2h2cGxlL3FDSzUyOEVFSlU0RTRmcUhoS0FGcEFBdEFnQmlLcWZkekRRV3dPSWFxRHhORU51R3hvUFFOU2Zjdjg0OFFBcApGQUNWRWkwK1dMQTlYNVNsTGhRdi9SQkJxa0NId3hNQUFxRzZCdzhkVG5OMkFRZ2ZCVFRYcFovNTlCWUVJR0xUdThjdU1KZUJzb08zCmsvVkRBR2gyRU5vZ3RvMjhReDRCeU5VS2pSOGFUMnJyZ1F0ZTVGWm9GRXcvYmdDaGVZYlFRR1RjakdVZzhpNHcrQ1FGUUZnUGtMZDcKaUhqcGh4cUtnZkNqd1VobmdVMEVvUGlwdVFrKytSRlQwdUw5MCtPbWxLVDQxUUkzSkU3eFh1SDZHd0hrTWhDdUg2d0lCRytTRGVUYQphWS80NHU3NElhMlVlUlNCeU05VDR3V2cyQ2xMZnpzQVlmckJBZlFPUzJBWWZUN0Q2SE1Hcm55UjlKT1JlQ1NkZFFRQWFDYjdTSHJDCndiU0UvZW1KY1BaUGF1d1k5UGt2QUJDOEdWM0hqcXJIYWo4YlNkbVFGbHNlRndzN2l1SWlhbEtqdDhkRjFrZEgxaDFsM3RUUmpQSkEKbStSLy9LeEs2akxMeXJnL1hMdCtRQ3M0MjlINnFlalpsOTI4YTQrazMxNVZ0cDdXY3ZZWUJGdU1vZzA2ZnAyQnY4bkIzK25vMm1sNwp1cVczWThzQWQzTnZWNTFLdUZFbldtY1IxZlR6R2dZNFcrd2RtN1NDY25sUGpzNWNZVEZVOXluWERYVFc5MTNiWWp1MjI3ajVwS0h5Ck0wWEJGWEh1ZWVHYUw0WDVaNFFsaDZVMXplcXRXOHk3R3dldlpTbTRxNGM3Vm95MnptOXEvdXBQKzlTU1F4a2RPNko1VFF2NFRZdjUKdTVid2R5M2pOUy9tN1ZySWI1a3YyRE5QdEhzUkVmR2V4U0NTdlV0QUpnYlFCQlVnS29ER01kRFlvYmpuUFFIMHErVklvZUZJSHZhNwo0SWtmNWhNNTVwTzVJUEpQY3B5SGx2ZnV5MjI1KzNtR3FMdWc0K0ZpNGJONUt1NFN3emNwcmZ3UGo1dkNUci9lLyszeklhWHRQelg2CkZ4S2JRYVhTNlZVR2s5NnVkdzRxaGdhbEEzMHFpOTJrNjlYMmdzQWxNQ09rRHdDUTNXU3pHaXk5RmtldkJkenBCL3A1MmZzYW9hZGYKT2FCck44a2ZxWGwzUklBN3JlZWZ0VjNzN0xvdUJJZ0JkZ0dJQVJlUzJ3b1E2VTBsb0F3Q0VJSU9vUnp1TlNFSXVnOCtvbFV3NGhucApMUm1JNUtaVWRMTUhoSCtqcC91cWhITlo5UGpjVS81ZHNZRmpIZFFPL3pRQVMwRlczWEI2d2pJcVFham9lUnNBaFU1ZmdHVWVLZkRVCk1PcjdKdzdWUFo0QVdrZ0NFQndDUklnbk5tQUZ5TjhBSVBjMitQSGlBU0JLbXpQZTkwTjJrdDhhSXRRbjBlNHdJdDdmSFFkQVdOOFAKQUZBWkNVRFFRRlQ2a0VKMkQ5b1hWbzBHSkpJMndFUDl6QXhwOUhZUFVmNEphU1RtUVdPeWdaM09XSytQSjREd3B1WXRWUDJnRUFCYQp3TmdGZ2xiQkNBQ1JOOG1qSWRIcGdYWEFRQzRHb1ROVFlSQjN5SGRRVVBjMFRoL1hDVjl2QXlEQ1FMaUUwQ0JFMG94cE5BZUlTaDl5CkNQMGsrT1NTai9vYXkwQ3UrcERIcWFpcnh3TlE5SlE1VEo4VjdCbHJFMmVzaWZwREVjdG5UWkpQT2ZPUEpWVDZ2QitBZ0c5SUJvTDAKUVYxUWFDRU1QWUFXd2tpZ3didDhzTi9sUGpURDAwbEV2T2xEQlJEYTUvWHJBaWdCbnhidEJoRGVBejRlZ0xLVFA1bWQ4aWtSOEpGYworUEhVRHl6NXBDVWV6R0FmQmhmcGlRZFNtWHRBTU9VMFUrbnpXd01JM1VtSnJVK0ozWkFjMDREM1IwZUQ2L3JrbURwbWJHRnMrS1owCnhxWjRSZ1VyYWhNQVVGWm8weE9tVEU0elNBTzE0a24vYXR4K1JkMWZaUHIyODY3ckYzaFg3NHZ2WGVqNS9qTnQ1MkdUYUlkRlVtZVcKMUpwRTY0eUNEV1pKbFZsWWF4YzFBZ05aT0RzZHZKWmUwVzV6OXphN1lJT0p0MG5QM1dyZ2JiTUtHdXl5R3B1cTNLSXY2YnV3WDd2dgp1S0Q0TWorcld4SnQ2dkcxS2ovVTZUOVE2eVlyVlIrcVZYODBLRDgweUQvVVNqNlVTcWZ5NURPNkphbDNPaGVja0c0cDdXdGxEU3Z6CnVZZTN0ZGNYUGQ2VDBibHpBYWRwWWZldXBTQzg1cVVBUUx4ZDg0R0JoQzJMUmJ1WG9JajNMQ1VpMjdzY3BXZmZDaFQ1L3BVZ1h1NVIKSDFpTk1wNSt4cUlQcktaUUtUTnh2RjN5YThkMExHL002QThWQWdPWmorY0Q5QmlQcjlFZHo5RWVCY21UbmNvWlBGVm9QRld4L3Z1cgppeVRkRlp6djV3dStTMWMrU2pROUNHN2xMcjlzRnJlOS9uL1UxaUc5VUNidk1jc0dEYnArczdiWHByTDBLaTI5YXFmRE1HUzJEUmdjCmZRNE4xZ0JrZERvTnZiMTZoOTFnQnd3YXRBK085ajEvMmZmaVplL0xRZkNrMk5yelZNbTlLK2k0RG1zOG5Nczh3QjJBRmZFdE9ZancKaG94L1RjSzlMY1J6RTRaM1M0UkNFQWY1aGx3S0ltby81R29ROXhhdjYwWTM1enEzNndhUGYxdk12eXZqM3BaMDNSUUpiZ2pCcjM3OAo5Yk91Mnp4N2oyM1FOUGhxNE45V0xhcEFXS0ZDaEVxZmlRSGtDdmtsdjJvRmFNWThGNEFXZ2dzWGdPQXVzUGNzLy96MkFJcUhSU0RDClFGZ2RpUEs4OTQrN0trWmo2Z2RXZ0FLTENBTWxCNjlGQUJxejJaa1NwQjk4UlFudGZuY2Rnd29YdjdMb1c3SThHNS9KUVFCQ0k2RmQKMVIwY1FBc1lDRUJOMkp6RHJZQXZ3REdvQndoVmZZaURWTUZOMVBxREFFU3VBTGwyaDIxQkJ2SUFFQkdTaEVqWEhrRUFJbE1HNkNjagowSE41NnpjQUVON21UTklQT3QyZE9QamRCYUN4RElReENDOEZqUU1ncHQrQzJBL1h4azllbStuemNVV0taQW50MitUcGE5blRmN1VLCkVLcnhrQUdFREVRMEEza1pDUDBLekVDd3hvTUFCSi94WEFYN1J3QVFaaUFjUUtnQi9OMEFoQlYrY1AxZ3JUL3VCUytBbmhUbS90U0UKQTJrSis1RitVdDJiM3FuMGFTWWRmTEdEbVA3c3NlZUxHZ3A5eGdRUStnanVwOFJ1eEk1SzNaWWFzeU01YWh2c0JJcGFueFJUeTR3cgpBNXpLRE51YUZsbkhqQ3huTTZvM2haL3JDYlBMd3AzUHBsdVU0WHFIWkdlUHNHR2tzNlZYVUsvZ0g3SkkxNW5GOVNaaGc0SFhhT3plCll1SnVzL0MzV3dVN3JJSm1FM2VyUmJESkxHNHdDdGVieEExbThWYWRvTkVrM2dpZU5JZzJXVFFiK3ZRYisxcjMyVm91NlJjL010T00KcWhrNjZWUzkwcTlYRnpLa0NlM1RSTnIwc1ZaRGhNb1FvZEZIR2d5Ulp2QlZIYTVTaFV0VUVVTGxSM0w3Ujg2dWFlcW5DYTM5Ni9jWgpEckM2VDZXMjdaclQzVEtmMjd5QTI3U0l2MnVacUdXRnFHVVpFSTlrcndkNkpIdVhvVWozZWJ0SGNXQVZpcGQ3aUx4ZDFjZmRCRTBsCnpzU2hrbVhpVUNuem5qbGFZajVXREFCa09wR25QNUdyUFo2dk8xNmlQMTdldTMvV253OHYwM3hjdFBiaCtYbTgrd3NGajlqUzlxU2UKSDVZSjVSZTRxdWN5NDQ4NnZad3ZNY2lzL2JvK2cwWnBsZ3ozeTRhRzVjNUJsYzJxczVrTnZWWnR2MDN1SEREM1EvZG9iWUJCdzViaAo1L2JuTDJ3dlJ5M1ArOVdESnBGRjF0clRkYWY3NlpWbmJWZWVkVjduY204SlJMZmw3dHpzRVFIV0FMN2NFQ1A5ZE4vaEV3RmdBaUV2CmU1RzVBd2dGZ25oRUZJRkF1UGQ0NEtmQWp3UG9kTjBXZ0tBM3krNzFTTzhvZ2JTZWZOWGFlZU9acGx2N3d2N0x6cnFqUk1IR0N5SlUKK3J3ZmdMd2Q0d3FWUGlqVUo5MEE4cDFQQWhCY0RpTzJ3YitQZnQ0ZFFHUURVY21DUW40TUFJaGtJTmRhR0FVOVk3N0h5ejBnaVFHRgorQll3ekVCWUVRakZ2ZHNMYlhvbmIzM0hqaFF0dzc2RkgvL3VXdmFDK3NHSEh3TDlNRFlEL2N3aTdYdW5BR2dUc1RFZVNzVjFNdng4CmVnc1dTQm5VeHpNZWdLQitHUEF4OHZvWGFvSkdBRUkvNjFVQkFza01nS2VsdXJJT3hYV1NQUDZSSEdvRkNBQUltbVlzOFl4NWt3d2cKMXlSRGZCSTBsVDZFWnJ4cVA5NEE4akFRM0U2UGJSWnpBUWo4NE1RQW1yR2NPWDFSV21CTy9Td0YrSythUTJYQzFCbjFWUGU4TjRBOApVMFJlQlhNQkNCNlJnUnNJTy9RVTR3WHVHd2dnekUvdkRTQmkwcyt2Q3lBbU5pcmFDMER3NU5SM0JsRFNTUlFNUUxEa2s4RTZDS3MrCmdENVFQL3VRZmxKZEkzL0dvZytNaXo1dUFMMkJRUlQ2VUFGRTZBY2tMV1pQWnZ5aFdRbkhzNWduMG1NUEpFYzFzU00zc1NMWE1VUEwKMlJGMXJNaHQ3TENhdExqQ0V1Yk9hNkh0eXBCWFhUUm54d2Q5Mm9idmg0ZTNXdmw3RE5JOVJsR1ZVMUJyNUc4M0NiWmJoWnR0NGsxMgo4UmE3Y0tlTnQ4ZmFmY0F1M0djVDdyS0tkOWlrVzIzU1JxdGttMVhjWkJlMTJQak5nNmIxUTlZeTI4T3R5dnByTXFaT1B1V0Yrb05YCjZqQ2pOdHBvU3JDWVdDWURTNnRucWZWSldrT3l6cGlxTnFSb2RHeXROdDZnaVROcFloMmFLS2M2c2s4ZnFocUk3RlVIcWd5K1d1M3YKUmRMMGg1d05EWDBmcDhrUExaWHNXeXphdlVpeWU3bDA5eXI1bnRYeVBTdFYrMWFPVitueGNvL3k0R29VTW5vMEI5Y1FHYzg5WlBTOApIMzFRcU1TWk9ONk9lV05PNUk4Wjg3RlMwOUVpNC9FODQ2bDg4K2tpMCtsSy9Za2E3YkZhNStueXZ0MlZiWjgxck9VOFdpRDZKa25jCnVsd29iT25pT05vTXZWS2xYaWd4Q0V3MmFiOVZaVElJWkFOQ2swRml0ZmM0K2xUT1hyWERxcmJZVkxZUlZmOHZ5aEdiM3ViUTJmdU0KVG9DZWw1WlhRNXBoTTgraWVLenF2aUhvdU5MZGRySHoyZVV1N2syaDRJNkVmMXNNYm5KdmlrRzZiNGhBK0RlRklJSmJJZ0VxOXR3VwpnOGRRd0RYMDBDMEJJUnV2VU90QVNFSmROd1hkdDRTdzluTmJETjZKaWtud1YxL2o4cStMcEhmVTBydnlybXNkN1ZlZktqdU1EeTkzCmt4ZXR5QkNoMG1kaUFLRkp6WjRQZzVkUUhQTTNBc2dQRm9GY0FGb0lBRFRtd2U5ajNod2pIZ0FhTDJNYnlCTTM3cUNmaWd0WURSS1AKSlE1OEJQRllEc04vZk13M29IaTVoeHlxZ2RpQmVBYzBjRTlhTUZCT0pRSVE3SU1PTElVRzhnUVEwSTlYOTgvTWtNYTNBTkRtMmFIYgpRRkNMRDFyYm1oZXl5eE5Ba0M4QVFPUytId0pBSUFSOXlGdkFRQWdBRVQxQVNEOGV3WTZPZHdVQ2lJaW5mcndCQklOWVE0RU9jZE83Ck11UmZEby9DY09ubkhRRGtvZzlhMGtxYzRWb0Y4elNRcTJMa2JoakM2MGJqQUNoaXlzSzRqOHFTcHBYbVIvRE8xcHRyVTJXc3FXVnMKZjdkeWZpMEFZWTZCM0hIcGgxZ0ZjeHNJNndjaW1uc3dBR0hIalpFQlJER1FOMzNJQUNLUE92eU5BTVR5UWV0Zk9JQllrNUdCUEFDVQpQSzFvREFCaDVaK1BaeVdmd2dCMEhBY1E2eUFDVURycllKcHI4UXZvSjRXSmIzSDMydjJPMGFjSnk5Z0FHaTlVK2t3TW9Gbk1qK2NsCmZiazQ3ZEtpMUl0ejJaOW54aDFKaldsS2lka3lKN0loTWJ3NkptSG43S1R0TFhXbk9idEVlbGF2MFArRmFVcGZqNi85eXAyTEhNSFIKWC9nYjdaMU5DdUVXSy8rVWpYL0F5dDhMU0dUbHR6aUVMYjNpWnFla3FWZThIYmpITHR0aGw3WTRwSHVkSU1JZGZhTE53N0xHMGQ0Qwo1NE5EdXFvMmFZUk5OblZZRnpoZ2pyR1pFdldhdUJGVDBuTnI4cENKYlRPeXJKYWtmbVBDb0RxNlh4WHpzeXJtdFNwbVdCN3BWRVhaCnRURU9iWlJkRlc0Vko2cEVVVXBaakwwbnlxRmppTFErWm5Hd3dsQzYyWGg2bGZySXNwNzlTK1Y3bGl2M3JGTHVXYVBldlVhemR6WFIKMUV4MDlpRGNlTkZIZFdnTkNoazlidjBjeXFIU2g2b2ZLbXVvb1ZKbTRuZzc1cjFEb1k4YlFNY0s0UFdwUXYzSlF0bisvUGFOSzcrcApXTGk1dUxvK05XOXQ5ZnA1MzNjdDVON0o0SDEzcHBQM1N4dkh4aFU0dXJWT3JxVlBxRGZ4bFhhbDA2d2UxbXNHSEFhZFZhTUg5SEZvCm5MM2FQb2ZLYmxmYm5UcW56V2p0dC9ZUDI0WjYxVTUxcDRaM1Y5Qit1YlA5UW9mZ2lsUjRUU0s4SVJPaHNvMkxPTHc3VXQ0ZGdCdlgKQ3RjZEdPRnQyTHlNTi8xY2w2S1E2enJrQ2hCcWRpYkU0OTBHZEZNbHZLVVEzb0FyYXlEaUd4SVEwWFV4OXhZUGZKZC9UUWF1UmJjRgpiWmVlUHJ2T0ZUM1MvZmNEa0IvVWp3dEFzQlhhaXp2VU8rT0dCQ0J3TVU1V1V3MEVRdVZMck85cW1IY0VFUG9wNm5mSG93OXh3UTRxClJtdGhLT01EcU5nRklOajQ3T3I3cVU4TnJBVkpDNnBMRDNZREtJc090N3VQR1FDZ2JFWWpBU0NpdVFjQUNETlE4enc2MnNtRkFMU1oKYVBweHJaZkJoOGtBSXV1SEFCQ3BBNW9BRUR3ZmcycWdyT0E2RkM4RGtadWdxUUFhTTE0QXdnM2tBaENrRHpiTUVIWkFqdzhndE9QZApFMEJRUDk0R2NuUEgyMEFRUUQ2NTR3RW8ybWRKL09TMXlkTnowM3p6WjgzWU1zdC9jMXBnWHV4SFJWVDZ2QitBOE5rLytGcFlJU0VlCk5qd1p3dzBnNG5rUDRrekpKUUNFcGdlOVBZRGlKeThIOFFKUTlKUkZ2eDJBWU9jNEJpRE1RRzRBQWYxQUFNMU8rUVFsT3huMi9SQ3QKUDRBK3M1SlBnSUFMQUtEMGhJTWdjTnNYZHVwN2V2d2UwaW1uYU9Leis3QUwwcHJYanRTNDdTamVoUjhLY1Fqb3BDZnNTSXpjQ0tDVAp4dHlPdUFQdXd4V3U2RWJZNnhOVEQzdDlJcmVteGV6TlloN0xZbisxY3RIWHVUbWZGZVZmV0RMbjNNTE1peWxSZTlOaUcrZjZ0d1FsClYrMVpkVko4dmwxeDZ3bXZUS1lLL1ZFUlpMUDlVOS9KYWxHSTR0c1E3cmVIVzYrK2x1d2VGVFNhQmNjY3ZEMW00VFlyYjc5TmVNSW0KYXpKTEdzMmlwbDVaWTIvUExnZi91TE5udjBPeHd5elpaRGJXT3AyYkJnemJCK3AvRUNVb2hWTitNb1g4WW1QYURZbG1BMnZJbURCcQpqbnVwWlE3MkpGckZMSk00MFNhTGM2b2locldoejNYaEEycUdVMEh2VjRVUEtjUDZaS0dXbmxDOUtrcXZEbmlwam5ZSUl0V1NjQ3VBCmtUSkNyUTNSNnFiYXJTVzdwWmVYYVU1bGFRNlZXMXBXNmZldk1PMHJOUjFhYlR5UVp6eVFZemdJZzlTaVBieGFjMmlWNjJhZThWQysKL2xBaGlPNVFNWWptU0M2STduQStGbmhmZjZnWVJITXNCMFI3TkE5TEFZaitTQkdJNmNncUl1YWpxNG1RQnhXYWorWVEwWjlZZ3lWWApkendINWxndUNuaWg3bGloNFNoSVBoVEpzVHpMMFR6THNWd04rRjNIQ25YSGk4QjM5VWZ5UU5BRDRFbmpzU0pzOVFydVhZY0J6eC9KCjdUMWFiVHRTYVRsVVpqbFVhanRhYWo5V0FyNWxPVnJRZTd6QUNrV1ZiemhacHYra1dubTZobnVvdExVbDk0dTZ5c09sSlkwclN3dXoKU3ViRUZySkM4bGxocFhIMGtoVC9oaEJHMmVJVlRiR0N1NHY0dDc1NzF2bXYzOHFsajdrR2psTGZwVFR3ZFNhcDJTU3pHYVZXYzQvRApwdXd6OXhoZ0E1RFdidE5ZTFNxelZXZnJOZlgyV2ZwKzB2elN4eDlRZktmcXZzWjdkckdUYzZXYmYxTW92TzIyeXo5NDVpYVdNcVptClJmZ3RvRStmRStvN2p6WXQyd1dkc1RGRURDVDBTcmpQQW13czRWS0FsWENmZVdIVDVnS3ZoRStmQzY3SERHcVJwb1pLSWhTRUhvSSsKUk5BNFJMUTd6SE9QbVBzT2FXeTB4K1JvOHNJWnBmRHpobENjaEFlZ0Nya3FCcU1WY1QrV0ZESjM0bWFzaWZmTjhRclRMOWVEUHY3RgpLS3lBRXJ3QzVCb0dqUVViQ3hSUWdxQ0R1d2ViOUpNYVZKa1V1QzRwdUFSb0tTbGdmV3JBUmxUMVNRdlltc0hZQ0w2VkR1Z1QycGdaCldqYUxzVFU5WkcwMm93VmN3RG9RV3VwaTdKaU5UZlNCcTFlaE8yRVl6U0FZWXRES1Z3dHdEd2pjOXc2WHhtRDdEdDR0Rkx3eG03WUoKVllOY2dXM09hR2tzTzNqN3JPQXQ2REJVOEJnRVUvQldrT3lnTFY1eHpRVENONFZoTXhMaGlsaFc0SVl4NDlrWTVHNk9KdmFGb2VGQQpCSStvL1VEb1BxQlBTa0FwTUExQVNWcFFLVmE1S1V5Y1hvU2ZwT0dHRWQ3OWc5ZDFTQjNOYUZjWDN0Mk00UVlFc3c0Y0prVFNUd0hBCkVCR1BVMUhSQm5nVWJFaDBncXVyR2w1NGNvY1FqMnYrSVRHMng5MmVERVBxOVNHSkp4OEJDRGdHYUFhQkJxbUlPREVlSFJSUHhQVjcKWFJXZ055K0JrVkhpM2o2R1QvMUJWUjhzUUQ4UVFKT1hqQmxnb0RIalloQzV0b1ExYUU5ZW1UaGxsV3NEUEFMUUtuQ1RCY1NHaFEzKwoyRk1MaVg4dUhFQkFQd2hBZU9NejZ4UndENHA3Q1F6dGUzY0JDRzE5ZjBzQXVRczhid0lRTWhEZTN4TzNGVWdJM1VtSndZWkV1d0NVCkhMVXRQWFp2ZHVLSlJWbFh0Mnk1Ky9IWld5ZE8zNitwZUxBcysrNXMxc2VzOE5wNVVWdFA3ZjJhZDRNdnVTenNBZ2FxNk9GRUR2VC8KUy8vbGxZWk1VV2VHNUlma0gxcVRPNStlN0xyNEUzL3JVTThHUTg4QmpieDVSQW9MUDNyeGpnSHh0ajdwVHB2c2tGUGQ3T3paTWlqYgpZUmR1dCtzM0R3L1UyMjhlVnk0MDZTZi9vZ2t4NlJLMEJ1YUlJZnduYS9oemU4eUlMbkpZeGJScW8vdE1qRkZMMEtnNWFFaEhjL2JRCkhlTFFYazNnb0Rwd3NDZXdYK1RuQk9rSkdGSUZqV29EWGlpaWxlQTlpZ0NUUE1Lc1p2VHAvWjZyUTNvN283bXFzUHVjb2szWEd4ZDIKN1Nuc09icFNkM3lsNFVnNXdCQ09oaU1BT3JtbWcvbm1BL25XL1RDYWd5QzVzTHB6R0pCb2xmYklNdTJSSlNCNllCUXNSTTBHemN2UgpIZkhZeGtYZ1JuTzhGRVY5cklRYzNZazhyK2hQNW9PWURoZUFtQThYZzFpT2xGaU9sS0hBTnVUaithaGE0eXIvNUlEWWorWTdqaFc0ClVrVEVlbnFWNWRSSzQ0a1Z1dU9ydFNkeXRDY0x0S2RMZEorVUdZOHNNaDVmQm5keW5TNHhuS3BVSEtua3RSUzNiY3M3WDEvNVNVWFoKL3RXRm0rZm1sNmNXckk0cFdFRExtK21iT3pOZ1pVWmdia3BnSVJ5d0cxQ2VFbDRYNWxQSW90Y2swbXZBdjBoS2l2YlhpemxjYmsvZgpNNFhzM2pORmwxelRMak55MVZhSkdRRElJRFdaZWl3V2hjMm1zUGZyK3V4S202WEg3RkRaaDAxRG83WVhEbzFUSTlRQjduQ3Y4NEY3CnVxNXl3UVZhMG9KZktkVDR4MHpKa2gwUk0rQnA4QWhBNEN2UXhnVFZJQ3A5Q0hDRVRRUDBXUkFic0NRK2FCa3EyMFQ3TGFMU0I4WFYKSWsyTk4zMyt2Z0NpRW1maS9Gb0FTdkRQOCtqN2NYSG5QUUFFZTZWcHBjbEJ0U2tCTmFuQnBla2hGWmtoRGNCRG1mUWRTUUVONmJTcQpERnBEWm1oSkptMXpGbjNiR0FEQ0RJVG9BL1VUQ3J1ZVhkbURBT1E2NjlRRFFKaUI4QlV4N0FMV2VJaDFNZXpJQytJdzFFMzRTV0VZCmc4aWhGSVEyUUFZRmU3dUhTRnJBZXRRZlRkNDRsaG9BVFVNRkVGSDRJUU1JSmRtL0xBWDhOZnFYSUs4d3ArV2xCcFlEOUJENm9RSUkKNG9ZRUlMaWw2KzBBUkdiUUd3RkV4R3ZLczJmSjU1MEJoQzdjWXc5ZEZSMHFmVWdBY2lzSC9aWmZCVURJUU9TYUVEbFUra3dNSU1BZApLb0N3T3psdUFBSC9FUUJDOUNIcng3WDU2eGdWUU9BQ0FTaUR1WmMwKzJjaUFGRVh1ZkRFZVJnSW9RZENKMjVyUWtSREduTTd1QUJoClJXMEMzNFYxSUd6YUlRWWdlT1JGY3ZTV2pQZzljNUtPclZ6MnhmNUREdzRjLy9yRXA5ZTM3N2lkdC96aWJOYko5T2k5ZnpwNFYzdWYKbzN6QTd6amIrdlFHWDFHbmsvanBwZUVEcVp3Zk12VGQ2ZDNkMloxUEdkM2NHYnlPRzhMUC9pOTU5UXZSRnJXMHVWZTUzYTdZWUJidgpHWlljZHNpYkRQSjlUc24rWGxOZHIyampxR2xIcjZQUnZPK2VJK0lucVcrdmsvYmNFZFZ2aVJrMGh2MWlZL3hQZStScmJmU0FNS0pYClRmdFpIZkpLUlh1dURuNnVDWHloOUhzcG5Ub2kvSENvMDBjalpGaGtjWFlSMHlTT3RVckQrNFF6QmpwKzUrQk1laWtOZnEyT0hOR0YKRFBVRU9yamhCbUdrdVNmQXlndTBYZ2krbGh5eGpoMVl6bUtVTFl6Tkxjek1xNXhmdW5OVndkNjg0bU9seFYvVWxGN2ZWUHF3dWF6agpRQ1gvYUpYMldDR1dZdjJ4RXVQUk12T3h0ZWFqNVNDYUUvbmE0eUM1VUJVbmNnQXZnS1VncDdEYWpCR3J6V0RKUlpVZXk1SGNkNHIxCmVBNkk1ZGdhTEhEb0RvcmxSSkhwZUtIcGVMSGhlS24rUktuaFpMbmhkSVh4ZEpYaCtETGRDWkRsdXBPcmRLY0JkSEpWV0hvUEY5dVAKckxVZXFkUWNyQkxzS24rOHFmQlcxYXFMSlV0MkY1ZHN6eTFhdnl5dmVIYnV5dFRjT1FrNWFSRnJXSXlWeWZUcXBKQ3F4SkNLZU5yYQoySkMxc1l5eXVMRHkrUEFLSnIwdWxsWWRSNitOQ2k2UERDcU5DeTVqTWNvVGc0c2pBbGVsTUl2dUhQbkdZaHdkK1VGaGZTcFZQQkZ4Cm53Z01ITFdScXpVSTlBYXgzdFJqc2loTUZyblIzR1BRaTNRMmhYVklOemlrRzNiSysvUWNnK2hiNmJQcm5PNXJQQkJFSCtGdE1RZ2kKRVpVYS81alpYblVtMG5kdUdKeFlPSTh4WXk3SXhNdGhWUHFnb0VuTkNCbkFLSENSYXhvcy8zaXZaTDFwQ1d5OGpBY2dNblRHeTNnQQpJaHVJU3ArL0w0Q1FnWER1b1B5TkFFSkxZN1NDVkZwUk9xMDJJNlE2TzdJeUxXQkhWa2hUUm5CalZ1ajZqTURkOERCVXRCY01NeEFDCkVLcjl3TU8vc0N3STI3TXdkQzhSL0tCVDBrbnZRRDh6YWJDRkdUTVFUaHpzQW9obkMyb0pndkhzZWthbmhwRVh4VkR3ZCtMam9YRUEKZ1RkVDZZT1NBV0JINnBYR0ZzWHdZZzhCSUdRZzhzb1hVZnR4QThnUG5weWFHbERCbmxHYU1LMklPYlV3UGFpS05iMkUwQThHSUxKago4TTFjWkFCaEdSdEFLRlFHZVFHSU1CQTZFY3pWV29RRHlPdXdDN0tCQ0pkNEFZaU1IaktHaUkrRWZsQ285RUZCeWlHZ1EvNHQ1UHR2CkJCQjUvOWZiaEVxZnZ3RkEwRUFJUUlTQmNBQjU2UWNCQ0FYYkEzK1lTQmJyMERnQTJnRkNMSGlOc2VZVnM5VUxRSVNCQ1AwQTZLQ3EKRHdBUW9nOEt1RTgrRVF3NzhLc3hJNzVsTnZ2SXdqbVhkKy85N3VpWkM2Yyt1OU80NGNHYVJUZlM0M1lmMi9WUS9WVFVjNjliY2E1YgpjdUZwMi9jQzdrYVZ6Vi9hMUd3SUhMNnk2Q0UvczQyWEpHOUxFWGNFZEhGaWV4NEp1Q2YvajJERFMrRytIbFdUVHQzWUx6dGlrNTAxCktmZFo5QnVkaWdPOWdpYnJRS09qYjZ1MW9VdjcrLzl0bURwZ2lYREk0L3BNY1NQUVFKRW1iYlJSRm1tWFJReXJvMzlXUlRobElRNmUKcjdOamVsOGJ3OW1Wb1JVWGNSV2J2amQ5ZGIzdjd1V1I5czhIT2cvM3RSNnczejZqKy9ocjZjN3ovT1c4enREKzFuOGE2ZmJWU1JMawp2RENUd0xmUHdCalNSam02dzhSbDBVZGo2Vlgwa0xwSWVtVkVhQzRydUNLY1hoSEZxSWhqVkNRd1N0bTB3bFJhM3F6UXZEbGgrV3VZCk9RWHMzTFhwK1hWemlyWXVMZDZUVTNxNHFPejQydkxibGF2dlZxKzV2eTduKzQzNVQ3Y1VkVGFWY25lWDgvZFdLZzhYcTQ2VWFJNlgKYWsrVTZFOFdHazRWNkUvbGdhQkZNZDJ4ZlAzeEFzT0pRaERqeVNLWUUyWGtBTmFnd0hiall3VVFVcEE3VUR6bUV5VWcyaE5scXFQRgowb01GL0QyNXo1cFhQOW14OHZ0dEt4NXVYWG1wb2VIYyt2Vm5xMnBQbFZZZXlDMXJYbDZ3ZWNIcXVqa3JjOU5xVnJBcjU4ZVdwVWNVCnN4Z2xzZlR5V0VaMVROZzZkc2pheE9EUytLQ3k2S0R5Nk9DcUtQcjZTSHA5SkwwQi9BM0VoMVltaEZlRHhJZUJoOHRpNktVeDlPTFkKc09Ld2tOeTQ2T0tFNkpMWTBQeDRlaDR6S0EvOFJSWFBycnYyZ05mYmFUVzN5alZ0WWptdlIvZWRpTmN1TlhacDlGMXFIVTlybEJpQQplNHhTblZXbTcxV2ErOVY5ZzlxaGZ1V0FvY3NvL0ViNjdISVg1ektQZjAwaXVpTkI2T0hkRUlBUVRjMVVhdnhqWnYrbWMyRSsyYUhUCjU0Yjd3MVV3QUtBd1REeGtmTHdOZ0tMOVlKQ0V3bjBXeEFldHdDUzBpQXdYY3FqRW1UaS9FWUNvRXZJT2hUZ1Q1OWNDRVBxYUdKQ1AKdC9zRTRjZWd2aXVBa29OcWs0TEt3R05KZ1ZVWklUWHA5QkxZSnhUWW1CYXdJWFZHVTNwZy9Xekcva3g2elp5SXhyU2dPcWdmeG1ZUQp0T0VMZHZ5NEFBVGNnN0l3Yk4raXNIMVFQNHo5SU9pZ1UyS01JUUVnVkFGQ0FISmxUQURoR1I5QVhoT2lrYXZHQlJEYUxFWjBTWk0zCmhaRXJRT1R5ajFjRkNOM0JBQVJQSEVzTnFFa1BXcGZvVXdxdUFZREkrbkVKQm0vcmVROEFVUm5rY1VBWXFRZUlBQkRSWVUwQWlEQVEKZVNHTWtJZVhnZDRJSUsrNER3dnpEUHl1eXpwRXZQNGtjQVhLc3lQbnR3WVE2dmh4QmZ2YndQUkRCaEF5a0F0QUhnWmlZN3ZBSmdJUQptZ0NFNkRPVERjKytHQTlBWlBxUU13R0F2TW8vZUlNek5nMklIZFdZRUw2UkZia1pQSW51b0FQaFUySTJnMkFIWHpTbXhlN01TdHc3Ck0rbnl5cVZmYmRseXU3Ym02cks1WDg5Tk9wTzM2S0NFWTlRLzRQUHVDZlczMU1xYjNLNHJiZEpkc2grcXhTeWVlSjc0KzVsUE9wT0YKbkVSaEYxdlNsU1hvQ09ucXpCSTlFOGxQL3kvSk1hTjZsMDZ4WjFoMnlDQS8xaWMvTXFCdmRDcjJPY3d0L2IzYnBiVjZ4YVQvdEFlWgpsZEZEMXFnUlJkaW9ObXBVR1RZb0FZa1psVVFQeUlMdE9yKytyc2w5WFRRSFAxdWoyUExVZnV1ckVmbiswZDZkd3dNNysvc2JIUDJOCjV0NG1uYlZaYjJtMjJYWU9PUnFmMnpjTTkyeTNmZm14Wk1Xak5sOTk5d2RPVllCTnhqQjBoaGprMDUzNjRORWJnVGV6Z2dxWnRPTDQKaUxVUmpQeGsvM1hSak9LWTBCS1FXRVpSVEVoQmZFaGhBcU9ZSFY0YWhkOHNpV2VVSnREWEp0TFhBam9raDVTejZEVXNlaFdMWHBsRQpMMCtpbHlXSGxxWXdTbEpDaTdMQ3k4Ri9FYzZMclY2U3VHNUZjdDNxdFByOHpJYjh6UHFhV1JVZ3RkbVZJT3RtVjYyZlV3MVNON2RtCnc3d3lsUHE1cFVUcTVwU3NuYmUrZEU1dGNYWjFZVlpsWGtiRm10U3lWY2tsSzloRjJaSGxzeUxXWm9TdFRRMHRTMlpVZ0Q5QUlxT0sKeWFoS0N5aE1DU2hPQ1lERGJaTnBOZXpnMm9UZ2RmR0J0Y3pRTXZBbkI0NkpwcStOQ2xrYkVWSVJGbEllSGxMRkRDd0VTUWd1WUFVWApBc2RncDBqbUp3VGxKTkFMRTBLS0VrSktXTFJ5TnEwNktXaDlVdEFHZG1BOXJBa0ZsOFFHRlRORHlzQlhGcU1zM2krL1B2Y3oxVjJwCmdXY1VjeFVTcWRMYzBTTjd4RmMrRk1vNkZPcTJIa08zeGl3eEFBRHBSVHF6Uk5jck53OXBlMGQwbzBhK1NmaXRxT01hWE8wU1hKZkMKbWNzMzFjUjJkTElxeVB2VnZVTHVYSDZiVU44dzhYdW9UMDZjdzFzdmhVK2Z6ZkNaRStZM0grckhEeGNQR1I5dkNhQUliRlpoYk1DeQpzR256STZZdnBrK2VCd0JCcFE4SytaM2tVT21EUWthUEo0YTh1VU9OSjRER2pyZDczaFFxb2ZEOGFnQmFnNHBBck1BQ0xMQUlSRjBSCmV5T0FnSHVTZzlmQzR6SUNZTzl6T3EwNms3WnRYdWdueXlPL0ttT0pzeG1Oc3hqMUFFQ3pJa296R01XWjlDYjhSRERzVEhoa0lIUzIKRjZSUCtGNDhvWHNYTVBhZ0VZajQwcFVuZ0VDd0JpRFlBMFNLbXpzUVEwSGJRTndqZ29oRHdZSzJvK0FHY3AyaU9qdTRFU1E3YUhOMgo4RWFRV1VCQ1l5VXpBTFZJYjBBaEdRaUdhSlJPOTY5Sjg2dE85YTFDQjZPU2oxa2xUa3NGQUdKT0xXVlByOG9LMlpqb3M1WTV0VGpKCnQ0eXNIOHd1SlAzOEdnQkNoOE43QVFqbW5RR0VhNE9vQ2FFbnFkeEJkNmkxSW5RSHI0NTQ2aWNaSFJlUC9iaExQL2h2SWVzSFpXSUEKNGF3aEhZVXhNWW1vOVBFQ0VNbEE4SGNoOFl3VHdrRDRQeWJJR0FEQ1c2SHh4Uzg0L1puUUR3TFF6TVNEWGdEQ0RPUk5IeXFBeUFhaQpMbjRoQTBIcnhHNEQ5Sm1WdEp2QUVQekJtTTFZK1FmV2dRQ0EySkVBUTF2VDQzZk1UdnNzT2ZiazdKUnoyVWxmWlRHUHpVM2FmdnZyClo4cHVsZW9ibWVpQmlQZWRwT3RxdCtwemp1UXNiM1VuSjFMZm5jM3B5aEE5VFJSeW8wV3Q0Q3RUb3Mzc0V2NU93WjhqKzE0aCt2aTEKb3JtL1ovK0FZcGRUdGVPMStFQ2YvSkRGZEhCd3NOWmVxMUZQK2o4OWRJT1NOV1FJK3pkMTVJaWU4Wk9TOFJyb1J4N21WTkpmOEgxZQpQdld6dEVYTHBHWGYyVTVmZkNrKzlISjBpL041bzhHMjA2eloyNmM4Mk50ejJDN2Y1MUMyT0pRN0hZcXROaG0yMzE3VU9DVFowdS9JCkdWSnMxRFUrNmd5d2RrOXhpRVBOUXJxOU0xUnNpSHNsQytFdnBtMklwSldHUjVZeUlwYkdSQ3dGWEVnSXFVMElxWTRMcVlnTndXb2UKaktLNDhPSzRrSm80d0lXUThnUkdhU0tqZ00zSVlZZXVZb2V1aUdlc0E0bGpWTWN4S3JFZmdRdEc4VFR3VERrTHBvekZLQUZoMDRzUwphUVdKdEx6WU1GaEVHU09oaFdNbW1WWkZTZzBSZHVoYThINUFzUVI2UlJ5OVBCWjhaVlRITXFwWklSQXVpWFJNYVl4S1FDTHdCNHVsClZ3SEpvVEJEQ2tEQVkreVFmSkRJc0pKSVJuRUV2U2dxcENTYVZnWmVsVUN2QktSTG9HMWtCdGN6ZzljbjBtckJSOEE3ZGtncEs2UW8KbmQ2UUVsekhDcWlOOHl0ajBVb1NnbGJ1cWY5TThGQ2phMWYwdHlyVTNUMlNEcEdsVldMcVVxbStGeW51QzFUdFVnTmZZeFRwOUh5ZApXV3pxVnprSEZIMW12bEh5bmF6N05xLzlDcWNUNk9lbUJCdGdLT2RlZ1lZZ3RtaVJ0Nk5UcVlGQ0pjdkVvYjVoNHZkUW41dzR1K3UvCmlQYWZEd0NFOUJQdUR4WEM4Qm4za0ZRcWZWQ1FmZ0NEQUlDQWZoS0NjOE9tTG83d1dVcWxqd3RBYU5jWU5kNGtRdm1OQUVSNmhrS1oKQ1N0RDFDZC9Bd0RsWUt0ZythNlF0c0cvTllEQXQxSkRLbEpwdGNtQkcxSUQxNmNHMXM0SlBiQ0crYzJaT3VXanM5YXlsTzluTTVwbQowamFuK0cvS0RLMVBvMEg5d0xGQTJLWjNaS0E1ZEpqNW9idEFGb1Mxd09DVEQzZk5wVFdUQVVUdUFab2RBcnViRVgxY2pUN2VBTUwwCjA0U2ZMRVpyaG04TGJnS1pIYlFUQkYyajkrTUxiYlF0eUVDekFqZFI2WU9TRmJnQnU5aUFraFZZbnhXNGZtYUE5NkFnZEdZcU1KQVgKZW9naytPU25CbFNrQjYyYkg3a2pOL1hJTEVaRHdyUWljTlBUTHU0cFB1OEhJREo5Q0FDNURVVGVFZmJPUzJEZUFFS1pHRURVdUZlSQp2QUhrMmhXUFUyazFPblNDcXB5SkFSU1A3UUpEY0NHSFNwKzNCNURMUVBDZm5ZS2VjUTJFV29KZ0V6UVpRRWcvOEU3eUNUS0FrSUhRCkVwZ1hnTktaOE1qMzFQaHRZOFlMUUVUSTd2RUlCcURNeE9icW9xdHpVdmZCSjZPM0lBQmhLMS80V2hpNlNJMXRaRVcxWkxJUHBjYnYKbjUxMEtqTjJmOW5TVTZvdWkvREpRK0VqcnZnQnQvMEhIdStoUUh0Vjh2azNuQUQ5a3pSeGU3eTBPMW5TTWZNWkoxejFRN0tRRTg4MQpSS2pGeVpMMlNXTHhGdTZsZ1o2akwxVTdiTnJ0bzVyZFE3STlOdTBoMjFDRHZhV3o1Nk9mclVGT1k0S2ptL2F6T3ZaSE5YMUlFV21TCmh0bkZOQnZmei9oMHV1bFJuS0o3dzNlR2U1OE9QNjhlY081dzZJODVsQ2Q2bFFmNmxYdUdsY2RIRko4UHFBOE9xUFlPS0hmMHl4djcKZWpZNjVSc2Q4czEyK1pZKy9oNWp4MmFydHJMWHRrNTk3clBIaWNMdkp4bkVORzByWGFnSkdwS0ZhY3RwemVHTW92amc2bVQvNm9qUQo0cmpRVmJGaHEySkRjMk1ZQmRHTTRtajYya2g2ZVNTOU1pcTBMRHBzYlhSWUJVeG9aWFJvZFZSWWRWUm9iV3dZNUZFOEZtWkVTVUk0ClRHSkVLVnhqb3BmSFlhdHA4WXdLWmlpMFNEeTlNbzVlUmdRQWl3alFGVW84dlpxY2hMQXFtTkJxVW1wQm1GaTlCNzJUSE9BelBGaVoKS2lHa0RJVkZLOGRTeGdvcVpRZkRZU2ZZM051MVRIb0plaGlHVnM0TUxvOFBXaHNYV0JZZFhCb0RQWVJTRWh0U0hFTXJpZzR1WkFZVwpNd05MRTJnVmljR2x5WXo4b2tVYk91ODkwM1lKcFIwaTB6T1pxVXZSKzRORTB5WVdkSWgxMzRtc1AvVG91bnEwM1VvTlYya1FHRzB5CmgxM3ExRDR6Q081SjRKclhOUjd2bGtod1I4SzlLZVpjZ3hOOWhIZDcrTmltZEhROEJUcW1kR0tJVU1reWNhaHZtUGc5MUNjbkRtcUMKRHB1QnRULzd6US8xblFlMDhSNDlRTkgra0NaaDArWkdURjhZSDdScVNkcW1KRVp4Mk5UZkhFRG90MU81UTcxRHpkczhRNlhQZnlXQQpzS0NHYUJUWUZ2MU9BQUxmVGFGVkpnZFZKd1dzVHd1dVNnMWVPNHZldkRMdXhoZU5paWZuUkpXcEhRdm9IMmNHYlUzeGJVNm5iVXVsCjFhUEIwQUJBcnVEYnVCQ0Q1bUlyWXZNWitISHVjTjBLb3drQklCQTRMUnJJQ2FzQUVkdmEzVXRnTGdOaDIrTmQrb0dIcW5vWUNBUjkKUkw4QzMydUdHUWdXZ1lDQktQU2h4TU5BYU1NOGVhczhNaEIyckJnRUVMNjl5N2NNTjVCL1ViSi9XY0swc29TcDVabkJHMWpUeTFregppcFA4eHRFUFVBc2lEa1lUeENCczl6dU9GU3FBeHFBUDJnaUdBUWczRUFsQTc5NEU3ZkV0SW1UMGtERkVwUThLVmgzSlJVbnl5UU5KCm5wNFA0aDRQalplTFZudjIzN2dwUTY3SHZDV0F3UE5VK3J3cmdIRHd1WmE5eVBHODZXR2dNUUNFMTRUd0RmQnVBQkU5UUFoQU1BbTcKZnlNQUxaeDUrT2h1L3BwRm42VEZ3elpxV0FTSzNzU09iR0JIYmtxR3kyRndSeGp3RUZSUmZGa2FjMnRxelA3a2lPYjA2SnF2VDl5Vgp0Y29VVDhYZG5JZnlWaG4vaVVUNDVObXorNXhDdm9RdEZXUjNQRW9SQ3RONG5WR3FCeG1DcmxRQkwxWDBoQ1htekJZOEMxSHBtWEFoCjdPSXJiYjFPMS9oQzg1bE91OGN4MVBSVCs2ZWRXV3FSNzZDSjlzb1kvQmROakZrYXF0UFJYd2xwVHQ0TVc4YzBaM3VNVFZ6WFpuOTgKZkxpM3NXOXdvMVYyMnE0NDZ0QWM2dFVkY0tyMjlhdGFodFdOejdWMUw3Vk52eGlhL3QzUS9CLzZiZjlUdC9VditpMHZ0RnVjcWdhYgp0QnhJU011clY0bktoaXdOcHJ2NzJtZmQ0MDM2YzBla1FUNTE2RW1jWTFQWTBlQVk4SitERmZObTFET2lpNWkwZFZocW1DRVZpU0RRCkVDVllUUVY2QW43RWdndUdVWVkrTWtQS1lIR0lCbEtCcFFvdE9XRkJENVJqcWNDZWdZRXZKNFZKSzBUQkZwN2NpUTh0aHNGZlZVcmcKS1pGUmlRV3ZNeVhSeTlqMFloQ3NGSVJqaTRtMU1LUGZoWDQ3REExSnF3YUd0bzRkVk1VS0JwcFpHeGRjQW9nRDJCY1RsaDhiWG9ERAppRkVLL3RGaWFPQmJKZUNYSm9SVkFCckdoUlpIQnBVa1I2eExEVi9MZjJDUVArbFJQT0dvMmtRYWdmSXBUMkJzbDlxNmxMeDJvYlpOCjN2TzlVTXVSS2pza2VvR21WK0cwaUIyaTd4VWQxN2dkVjNoQ2JQZ3lKTTR0YktUaExTRWFPVWl1K2hCQmMzckdESlVzRTRmNmhvbmYKUTMxeTRxUkZyQW4rTUQzU2Z5R2dEd0JROE5SWlFCc1JmaDR6bmQ4R1FCRXo1cUUySUlBR3hwVDViSHBCK0xSbEVUN2pMb0ZGK0MwZQpKd3ZIek44TFFONitlV04rSlFDNTlJTWJpTWk3QW9nZENPZEVKL3FWc3dPcU14a1ZhU0g1cVlIcjU5QS9YaFZ4cVpwbG1VM2JORHU0Ck9UMndQanVxTUlWV2xSWUNCMFBEMmRDMGpTQUlRSzRxRHR6U2hSbG8yeno2TmtJa1JCTTAyZ1ZHQmhEcUFTS2Q3dDRJZ2hnRXRJU04KQmNKUFZNVU9WWVVHSWhpRWd0M0JUczhnQVFndkFubHpCNC9uQWhsdUlCZ2FIQjNrdFNJR01pYUF3QjIyWDE2eWYwbVNiemtBVUxKdgpUYUpQYVdwZ0diZzVCb0JRMWVkdkFCQjVHL3diQVVRVW1hakVJZlR6NndLSU1KQW5nTkNBUk93TjJLK0R5cG0yM0VzLzd3RWc5RHgxClVRd1BoVDV2QkpDWGdhaDN5QWFhaEFZZXptU2ZBQUVBSWphRkVmdS9pUFd2VERZY0JvM1RoN2tmQkU0RGdtTVB0MVBkQTRMYW5JbnQKWU1reDI4bEppWUZ0UFNpdUJtZVlsT2lkN0lodGMxTU81Uy81Y2w3cTRmUzRYVW1SMjhFZHJPOW5qTENBbWVJYjRzUFdwOFkwSlVlVwppenNVQ3E1UTFpNFdkWWk3T25uS0g3ajZoOUltTHA4cDZaZ25FQURySkltNjJXSXVDRXNDa3lqbE1tVXdZUkpwdEx6MW9mVEcveWZlClk5WTFxSFJIL3F3K05UUzZ4YjZkci9pZ1R4MzZTaDM2RjJ1QVNSelI5OHkvVC9pN0g1OTg2T2pPbE1qM1h6QnpteDFEbXkwRDJ3R1kKalBJai9iSmRJNHFkcjdUYmZqWnMrOG13NDRWNlYzL1BmcHZrY0xmdzR4ODZ6OXg4ZlBieTkxOWVlWGoybTBmSHVCMzdkZEw5cjZTVgoveTRyLzRzNFoxRFNvQlExT25RNUwrNGNlQkRLZitLamtvWWFlUDZEWlJGbldTSHJ3UC9rc2YwMnhrVG54ZEZMVU1HRENMcUQxMGdvCkFiNEJJZGQxMEIzcWszaUlDZzJ3QmIzRUhVZ283eVJneTFqc3NHckFGMEFaVm1nVlhQQUtMZ04zd0RVSStDNjRNMTVjNnNMdFJTU0IKWGtuRTh4bHkzSCtNZUZvcGtiaWd3amg2T1d5TERsanhhZE5GMlRjQzFROUN4Uk9SNnBrWUZuczRNalhnVHFkQzF5Rlh0b3JCZldXSApYTWZWMkVRV2ZZZVdlNHYzN0dJSDl6cGZlTk45Nk1SLzAzQnV5ampYeGQzWGVEMTN4ZDJYT29Ud3hESHhxY1kvVVhhaDR5R2poOG9SCmRKOXNJNHBqWFBHZkE3L3J1elRTZjBtRTM0SXdYL0J4VWFUZktqSSszalZVZnFIN1ZOYThmYndkZzJXQ1NrK00vMUlLbGVDdmpzYUcKSWFHZzgxbEI0Z0p4Qm1FaHhoNmlVeTlJR0NLRlRCK2kvQU1yUUs2WlFGNEJEQ0lDLzhmQmxlUUE0Q0Y0RUpqN0JIanNHTlJab1J1egpHQTBadERvMEVwbzRIQ1BUbFpraDlUTnBEVmtoRzJmUk4yVXpOb05yN0NPK05JWU9CWVBCbDdmSTgzNWdNb01iaU15a2JTWkNIQXFHCnpnVWpXbi9tMFhZU21SL1NSR1FSWSs5Qyt1NEZRRWpnNGVCdGM0SWFad2R0ekE1c3dEYkpOODRLM0FRYm4vM1h6d3lvbXhWVU41dUcKNmoxNER4RHNsUTdDL3d6a3FZbmtPaEFaUU93WnBTQ0lRU211Sk04b1JjZUNvcUNCaDY1cHpoQkFKTm1NRVRLQVhEY3g5RXpINXlXUwpSeWJDbmZQVGNrQ3duNElmRTZhdlpQcXNZRTVmRmc4QU5HMFZhY1kwL3VQeDAxYU9HZUxsWHNGWjQ5RU5YUWduSDA3UFkyTXpETDE2CmdEejJpcnZXdjJCOEM1Sm01THQrQkFGbzNLNW5MTjZWSVNwOVBCZzBiVGx1R3BnbEtQRlRGbE5yUWlqeFU1WlNlNERJQ2lSb2lNZWoKOEVNQ0VBWWRxQjhJb0tTVEJJQ0lJOENJMmcrYUJFMEZFTno4RmI4dGplbG1FRTRmVHdCNU1XZzhBS1hHN0dCSGJFbUozcDdOM2dzdQpraUszNHNHNFEzNFMzVW1JMnNTS1hzOE1yMHVMMjE2ZWMwd2xNRWc2dWZJdXFiaFQxTTNoSzUvd3VVL0U5WHhlc3Bnem04OERBRUw2ClFRQUMrZ0ZKNk9HQkpFdWVmcWhxWDYvNTVvWHEwSC9xTmx1MUxWcExrLzFmMStuMnQzZjkva1diMzJCWHlLRGduMTUyZlBCYXpGWjIKclZXWXZyN3FFSit5anJabyt3OWJsSDk2S2Y3a3p6MDcvcUt1K01YVVpGWHRmY0k3YzZiMStvYjdUNVpmN1VyOWtodjljVmZnSWFuUApQdmxIdXcxL2JMSDhjWmZCcDBsRzI5MGRlNkJ6NXNsSEZWL2VQM1A5R1BmSnR2N3Vzbi9UelA2enZFencrYW0yZjNhMCsxZ1ZrWXFHCjhLL0RBMVpHUjFjbU1JcWkvU3YveXdEa29SOTZDZUxGV0FhQ1ZSd2drcVR3R3NDZFNML0M5Smo2c3BWblVBV0lpcDVmRjBCaytxQWsKaElDL25MWFJJU1hKWVFXM1BuNGtmeUNTUHVoU3QwbVY3U0tnSHhCTlJ3L1FqNlpkQnZTamVDSlJQbE1hK1VaMXU0cDNsOWQxQSs1dgpod2VYamw5eCtlOFN3VjBGNzVhazZ5cFhlbGZLdjg0WGY2Tm91eUtjR2I2Y1NoOHFnS2dNSWdCRU1oQjFNUXNHZTlXaThCa3JRbjNnCjhsWlU0QUlnb1ZDZjkyUUt5bThCb0hlWUgvMG1BSkVNaEo5UkQ0K3BId05BeUVEZTlQbTFBUVFOUkRvS0hnZFFSc2c2a0hSYUxmb0kKSjBUVGFrRXlhZXZJQmtJQUFubHZBSkgxTXpNWW5oSlBHR2c4QUpFTnRDQUU2Z2NCYUI1dCsxendCZ3hBcmttSnNCU0U3ZitxbnhXMApJVHNZNmdjdWU3bWFvTWtBSXU4TFF3MUFxQWVJcWg5d0o5VWpRRUtsS0FTQTNNUjVPd0NSYnFJZUlQSkx5SFVnZHlVSm15UzBJbjdhCmNpenZCaUQwUERVRWdGQWRDSlYvc05IUEhnVWhJdFFHSUJUNHNBZVljQU9ObjNjRUVIallEU0RjUUJNQWFNd202UGNCa0d1M0YyUVEKQkZBS0xBTE5TdnFZQUJBUm9KKzBCT0NldlprSit4Q0FZQ2NRYklMR0FJVHRnZmZZNXhXN0RidUR4aUc2ejRTZkdFQklOcXdJMk82VApHTjZBSG1CSGJ2TFNEL0ZrUW5SRFFzUjYyQ0lkdGVIYzZYYXQyTnpUTFFJQWtuREVmSTVBM2k2NjNNblBGWGJORW5FekJGeTJwTXVyCi9NT1NRZjJBWlBaSVF1VWFsckxybVBMTFllM2gvMWQ5NkgrcmR2Mm5mZHVQdXQzV2RkM0tXTE9HNmRCWDhwVmZYN1FKOW82T0huQzgKWG0rejdYTXFqNzdTYnYzRnV0NmgzOW5LUFhYaDhibWlhOElGWDBxaWo4cW50bWgvdDh2eXU3MzJEdy9acGh3eCs1eFErQnpYVGo5dQo4anR1OXoxaTlqdWtEamdnQ3pnZytHQ0g2QS9iakI4MGFHT2ErS1VuN24xeGRiOUdXUEx2QXdzSEdzL2VucVFVQi9Eei9RL0dSUmVHClJGUkZNdGFtMFBQZkEwQmsvUkFHb2o2SjR1MmVrR0k4TG1GNEFRaTRoeFVLbTY4QmQ4QTF3QkJJYXRSNk1uRUk4VkJKOU40QThxajYKQkpjUUFRQ0tvNWRIQkJXbVJoUTl2c0JWZkN1VzNPY1FBTkp4RkRBZGNuQUg2cWRWcW5tbVZiV3BlZmVFYlpjN09kZDRBa2dmS1JadgpVdnozQ3BDYzZJNUVmRmZhY1lranVDUGozMVB0S0Q5Ty95aVRTaDlYdkJlL0NBYVI5Zk5HQURHbUxXU0dGTEJEMTBiNXIyYjR6QTMzCm14dnBEenowM2t5Qm1RQkExSWZmT2hCQWIyK2dpUUhrWWhEZU1PUUpJTThsc0hIeXF3SUlONUQ3T0xEZ0d2UXhMYmdxblZhTkFxNUIKTW9KcnNhekhpMEJZSFlnSUZVRHVuaDY4RFFodEI5czZwbjZ5OE5ZZjE4a1lwSzN2WGdCeVM0aTJDd1FhaU40OFB3UTh0aFVXZ1FJMwpBLzI0aGlVMm9qVXZ2UGJqQmFEZ0RSbEI5Um5Zcm5paThJUDJmNEdrektoRTRrSDZRUUJDUFVDSVB1aEkxRFIvdDRIY1IxNTRyR3FOCkd5OEFZZTZCSzJqWUhjSTloY3hwQmN5cGhTQmtBS0ZaMGtBL2NWTzlLMEJFUllmaW5yY0dFR1lnTjNUY2gxMTRCTlY3Y1BTNFBBVEwKUXE2VDRkMXZtOUJBVk9KTUhGeExuZ1o2R3dDNTlJTXZnWTFySUFwOTNBQkNlOTBSZ0dZbG40TEJBSVNXd0hEOUpNRHlEd0FRMEU5bQp3Z0VVV0FUQ2Q0SGhRNERnOWk3U2JpOHlnTkJ1K1RjQ2lCM1o0T3AzM3BnY3ZTa3REdTUrQnpmUmQ2ay9sUlRUa0JpNUlTTytNVHVoClR2REVxaExvTldLVnVGTW83WktJdWtUQ0x1a3VJV2VPaERPZkwwZ1ZkQ2U3S2tBSVFJUittRDA4bHFBblM2eU1rQWhENUUrcURQZnUKR0MvOW9QcnlnZndteDNuWU9uajBYelhiQjlTN1RRTUhSL3BiWHRxYmUvWE5QMnVhLzkyeTh5ZkRUaG4zNkdmM3IrWmQ1Z1NmMVUwNgo2WmgwL1BtL25IdzUvZU9YSVdlZWgzM3NERDlsRER1aFloeVhCcDNSME03b0dSL3JRMC9vdzQ3cncwNW82VWRWUVFkN3BwOVFoeCtXClI3ZW9wdTFRVDlwaC9FT0RhZFd1dHRzM1A3WWFhK3dOWDkzN2w1NTBXbUZFUkdsRTZKcTRzS3JrY2ZUekhnQ2kxbkx3bWdvaEhxK1EKd09IeFBLMDBPYUk2a1ZFZUhWQUlQb0pyVm1nRnRndmRqWlVKQUVReTBQc0FpRXdmUEVHRjhZd0tBS0RFa0p3SGYycVhQeERKSC9MawpqNFdxWjJKWSsrRW85RjFLREVBOXFxY3k4RlhkcXUrK0pYaDJ0UnVkVjhxN0xoSGNsUE91eTZpaytPOFZ5UzFCMStVdU9LVHhsb3h6ClczbG05ODFvZjBnWmluczhBRVJsRUJWQXJnZTg2WU1TNnJNTUdEUWxvam8yTUkvaE16OTB4bXp3aGtoNFloZVZJRytiTWZVVDlTc0IKNkMwTk5CNkFVRngzS0p2SUVJQThqd1liTTc4MmdHQkxFTmxBcUZzb0xiZ3luVmFGZ2c0UlN3dXNUZytxQVFZaTZrQXd3UnNtQnBDWApmaENBeVBvQjlFRkIrOTZKcmU5dkNTQVlyQ0NFRllHMmdlQmI1VjA3NU1rR0lnTUl1TWMxR0xxR21BcWQ0bCtaN0ZjQmt1UmJUclQrCmVGV0FVbnpMcUFBaWxzRGVGVUFrL2VTemZZdEFnSGhReVFkakVId2JmQWIyRXJtTFFBU0FVQVdJUU0vYkFXanN1Q2pnYmFDazZTV3UKWTc4OGdpOTRVUTNrUGhhZVBBTHgxd2JRRkE4RC9lMEFja3VJUWg4Q1FFZGNBSUtqbjBrdFFXZ1FJdXlBSmlwQUlDNzlIQVJ4RllHYQpFWUJRd3pJeUVOSVBBaENxL1JCem9wR0JxSlRCUVJPOUFjNTZqdDdBaXF4RFgwRlNZamVPQnlCMlRCMmtVc1M2aHBMVHltNnJpcThCCkFCSjFDM3E0TWxtMzlMRkFXaXJyU0pWMEx2ai8yYnZ2NkthdWZWLzB1ZWZzdmJOM3dFMWRjbGV2N3FaM2JIREJ1TkI3Q2Iwa0VBZ3QKb1lSUVFrdUFoR1lUU0NkMFYvVXVXZTY5QXNuTzZmZWUrOTQvYjd6eC9uOXpycm5XMHRSYWtqRWwyY2tZZDR6djBKRGs1V1dabkhQOApPYi81bS9ObnNhZlpFSURNZWdlTXptbld1aXdnR2plTTFsdVgzbEtqYTdLaytBTmluemZaKzFqamZwenVjcXU4dGVsTjVnT3ROLzZ0CjQ4aC8rajlxYXoveXY0Y08vTjhkdXpvQ3h5NDNmSkYvMHhUOXljQWJSMzRaYyt4bjRjbS9KM3p5NzBtblcxSSthWktlOGNrLzhVbFAKK1ZOT3RpV2ZIRW82OVhQU3h5MnBKNXBseHdLeUQ3enlRejdGNGFiVUQ1b1NEd1pVQnl6eGV4K0o5bGdUOXh2Vkg5NlR2dXVJV3RYNQoxdzFOU3k5Y01WYS81OTEzVEp0WUlFa3FBUlF3Q0pmS3hlVzRmbWdBb2JOL3dvWkdEN21aaTNySnBzL0xBUWh3QjZESGtMd2NZb3NRCkNYZ0ViNkpTRUE0Z3FpMDYvTkxZaXdLSTZSN2k3QjhZWVpsQ3NsZ21XYUFXRlg3eDRWZk9yOHlOOTJ6dXU1YkdhbUx4Q3dLb3NibkcKRjNqc0FXbDg1TFYvN2E2NTJsQjMzV0s5N1RiZGROWGZBSHB3RTJHUzRvK1ZoaTlxbkxlZDlUZXNRRDlmSEwrbkZ1Y2x4azBId1hHRApoK1diaUYrbHJtSFNCeVU1Yms0cXB6aVZVNUxLS1V6bHpaSUtwZ0VBSmNXR3RDMlBKbUhGZ3dmM1I2UnJSa3g0QUxIZm9UUXpFb0JrCnBJR0MxOU5yWWZDQWFkUU5qWWFuUmhpR0dnbEFXbDRGU0NoOXlGYm9zQUNDemRFa2dLQjRFSUFJQTVGaEFXZzVzQUpsb0RVNTRyVW8KTHdvZy9QekQ0RFdoNDFFUmdGRFk5TUVCRlBJT0lTRzBRUXdkRkVRZUVZVDFQdU9IQU5IdW9RTUFoSVhjQTg4b0JhVnpGaUVEMFV0ZwpRRCt3N1RjY2dNTHNoMzhlZ0hSeE1IcGlpcXFCTjkvQUt6SHdpZzM4UW53aGpDQU9OQkJzQXdxdm4wSTJjVVlPNGdqRFFNVGlGK1FPCjBkb2NHdFlaMENob0R6d3lFQ1FVMFRQRU9QSDUxUUFVK2kwa2dNS2NHSVNDTHNEMFE2OS93YzM1N0xEcEV3UVFNaEFDRUdvSklsYkUKbUFCQ0ErSEg2VkFPRVFZaVRrVFU3TXJXaFBpR3NleEY2eWZrQWhabHlDZzJHR1Rya1lHQWV6VEpxMGNHa0U2MkpsMjZPUzFwNWExUApHeHlQUEFGcnM5dmljZG5zbmdaWHdPajUzR0diNVhtVVphdWZZbkVBK2dBQTBmclJFL3FoQVNUM1ZFc0NSbzNQTXNucjF2a0NVbmVMCnp0K2liM2JvUE80a3J5ZTV5ZnF3OGZULzE3cmhYMzllMDlaNGJ2MzlHc25WM3I5OC9QT2ZqdjZYNk1MUHlvdXQ2azhhRmFmYWxCZDYKMVdjSFVzLzBpczkyODg5MkNjNTF4NS90U1Q3WmxmcFJoL0JVbS9oVVcveUpac2xIL3Zoai9zVGp6WkpqemNMRFRhcjlnNHBERHZrSAo3cFQ5Z2FRREp0a0JzMktmU2JIdmUrRVNYOXJCcTQvcTkyWXE1eVNrRnNyalYyZkVMVkltRjd3dUFPR2dDUW1iUGl3QTRRWkM4Z0NQCkFEMklRY2hBSStnbmdvRnc5T0FlWXRJSEJXR0xiU0MxdUNKVlVDR1BYNmhQS0RtMzU1cmp0Z2sxUVFQOUVBRHl3OVQ0Q0FQNTNIY2QKOVZmTmFHTVhzZUhMWmF4eVFnTjkrWWNIa09zcmwvbExwL2tyLzdtRFg4T0I2b0s4Sk00TThNakdEVTRjOXZzdkNxQVV6dXlrMlB6awoyTUpVYm9HVVB6T1ZUM1FYdmZnUzJPZ0JOTUkxSXlZSUlGdzhqSGV3Y3M2b0FJU3ZnZ1dEYndvTE5SQTlKWDVrQU5FR292ZUM0ZWpCCk1RUUFoQnVJbUFrUEFjUlkrUXF1aFlsV0VJRUFvcGZEUmdJUVZkRkJvUTk2RHFzZk5BZ01Yd0lqTjNsaFhjOVVwWWZrRHJIeUJWOU8KRWUrY0t0NkZsc05td0RNWTBjNTUwa0NNM1dGSVB3U0FWZ0hTWlFxVzRRQUtOVkR3SENEY1FFVHZNelFRRVZJL0lJd0dJSm8xYlByZwpBQXEzQkVhV2Z3Z0RWYVR4QUsyQ28rYmhONUlBUXEzUXBIaHdBRkdyV2t6aWpCeGFKTFNCVVBzelh2VVpBVURCd2FqRU5uaDhFZTFYCkFGRG9ockxYQVNENkFqWjlTQUNOVHp0TUhYSVluSDJSclVXNzM4a3pvT2tsTUFwQWgxQ0lJaEJzQTBJNzRYSGxzT25EK0JLYk1sVGcKZ2xlV0NyeS9HVHpxVTk5R0syTDBCWXh2MFVwWHBVdTNGRTNZNTNyVWFidHY5cGw4UGx2QTZiQjVUTzQyaysrSXl6VEpVejNCYk1xMQpPTkpjMWpSYkxRSVEwQThDRU5JUFNJYkhyMnBzbHJ2dGF2OWpiVk45dXQrZEhiRExtNytmM0dUWCtzMVpMa3ROOS9GQTY3R1YzOVZLCkQvM0hHeWYrSG5mNDN4Sk9kNmt2TnFrLzdVNDUyNS95V1gvcXBiN2tjLzJxc3gzU2N4M3g1N3RGbi9VSUwzZEtMamNsWG5Ba25tMUkKUHRtUmRBb204VlJyNG9tV3hCTk5pY2NEaWNmOENZZDZSRWV0L0E5TmtnUHUxSDBXelg1VDJnR1hlcmM3L2FEMXJ4dHNNemQ0Yzh2VwpKY1dYeVJMeTlmR2xNdkZpTm9EUS9uTTJmWEFBaFp6bzh5SUFZalJCc3cwRUozS2tMRTFMaGFNNTBQVzZKUGdtclI4R2VpSWI2SVVCCmhNSXdrRWF5QUFCSWtiQklGei92NCsyZmViNjF1YjgzK2g4NmlBcVFGK2lucVJicXA2VTI0SC9vTVgxVkR3QmsrOUlGQU5Sd3pRTDMKdlZmWjYyOFFXOTlacFBoanBlNjZwYTdLdFhmTktTbDNtbEpTSUhockF1RElDTVJoaDkzK2pCOFh4SFJQTU5OU2ViTmsvQ0s1WUM2cwovWEFtSlhObXlQZ0ZMSDg4SnlNRENQZEhwR3VlbHhBQTBlSjVPUUJSNytBQXlzY0FOT2UzQnBCd0VWWUVRdDAvSWIzUGREYzBCU0JvCklJeEJFUUdFNjRjR0VEemxHVHY0aDlZUEl5Ujk0R3o1WGRPcE1DUVU5SkI0RncwZzJCT2RzSWZhTTArc282R0ZzRkFBd2FrWGhINHkKcUJWQXRDY09KWTIvQklSOUFEU1NFS2FmeGZRV01CcEE3TERwRXhaQVJDQjZvR09BR0dMTERaeGxtZnoxMllKdFdieDNNdUxlZ1dmaQo4K0NNVlJwQXhFVFZvSDVHRFNDMGNNWU04ZWMvYUNBTVFDR3RQMGg3TU9IMEE0UHFZY1JSUVBoZWVqWjlVTmd0endnaWJQcUVBaWkwCmIzcEVBS0ZOK0pSK3dnQ0kxczhvQVVRYUNOQW5XL3NCQ0RvQkNPa25Td1BYdjBJQXBQMFFBWWc0RFNnRVFMaDEyUFFaR1VEd2JNUFUKdHdHRGRDbnJpWU4vTm1TcnQ0MEFJTDE4RFFEUTltWFgvRFZkOWdkR1I0MmpvN0hiWmpWN1RLNE9rMyszcDM2QzUvRjBrem5EYWs5MwoyOUtzTlFhbkJZUlIvbEY3clRxN1JkZGtsUWRxMGhwcngza2JESTQ2bmNlYzZYVnBXcjdYOTFmUHJ1MHMrTmFjZEtUMWZ4enEreCtmCjlpbk90ZWt2ZGlaZDZCZGVmSkp3YVZCK29VdHp0bE45cVMzbGkwYnArWURpUXJ2eVhKZnFUSy8wVkUvS3FjN2tzNTNKNXp1U3puUWwKbk9rVW5la1FudTBRZnRJcVBOMGtQdW1MUCtuaG5yQW5uSFlsSGZha0htcVhIdkluSGF4T1BseVRjTUFpMy9NbzV3T0hZYk5OczZNTwovc3FDTllsSkVDSy9KWUR3Ym1pcXJzTU1mUUZBRDZBUENud25YTzJIL1pLT0xuRUZDQTRndFFRb2gra2VOb0RVb1FaU2l5c1VFbUl1CkdIL09CMitmYnJ6amNuNWI3M3RnYjZ6MkFBQUIvUkFBYW15dGEvTGNjMWJmZUdpN2FXKzRDdWU2VzcrMG15b3Q5VGZNeGlwclE2V0YKVFlvL1ZyNDcrM0RKek0ycHNaTmtnbG54TVZPbGdqeFlqd20zMjR1ZFNQdS9Rc2VtemdnZjdrUndUV0xNakNTNDNEYU5XQUtibGNLWgp5L0xIYy9KckEwZ0tpMUpNQTdFOU5Cb0EwUzlEeXovNVFRUDlDZ0JLRThIemZuQUE2ZmlMUUlJQW9rNEpJZ0MwREU2R0Y2NUd1OTlSCjBHYjRIREZkQkFveDBJc0RLSGpzWVZqOW9GMWdTRDg0Z0NJWktOZ01KSGtQaGhqRWdZNE9ncnZKNG5mQTBmSFVDZEVoQUFLL2RTaUEKZ0hzTXZNVW9OSHBvQ1pFSjJRa2YzQVpQaXdjdVhXRmgwNGNCSU14QXNQZFp6eTNTYzBzTW5FWFpnazBUSmZ1bkpweVlHbjl1c3VqVApiUEZ5WUNBRHR3SmNyNDR1SmxwL1hnWkFiQ0tnVUFKZ0FvamNETTh5VUFoNjhMSHd4RmVwaTRNR1l0UG5sUUVVdkFiY2dmMGJqUUFnCm9pLzdCUUdVWXpnTVFzLzh5aUhYdGc0U3pjNzdxRTN2TU9nZHBKL3hlaGo2U09nczFSNGNPdWdKc1RSR25KRklMSHZSSGtJdmNmU0UKQm80N3hZYWVrdEdsYk16VnZvdm9rNm5jQnI0S3FFUnMvdHFabnJMazBTMmI5WTdEZTcvSmViK3B5ZDdoZFhnOE50ZWcwYmZUWjliNgp6ZFBNam5IMkJwMm5RV3N6YTEwT3JjdW1zaHRWam5xdHg2cHgyOVJPaDg3dDE3b2JBSVBVZm9zaVlKVDdyVXF2VXhjd1puWGV6WEw0CkU3NXUvZlBwdm44NitpenE5RlBScC8xSkZ3YVN6d3lKTDdjbFhtaVhudXVTbisrVFh4cE11ZGliK2xtbituS242cE1PeGZrdTJjV2UKbE1zOVNaZTZreTUyQWYwa24ydFBQdE9YZkxvNzhlTzJoSSthWU9Ibm82YUU0NjNncGZ4b3MreElvL1NJUjNIRXJmclFKVDFvVHpyawpTRHprVXV6MTZYYlZHZmJVWk8yM1R0bHhMMG05UXBrd0gvNXBqeStqbzB3b3AwTjNRNDhRWEU0aE83eW9xQ1FWSU96M1J3SVF1UmFHCmN3ZFNCb2RPSlBUZ1ZSOWlZRm1ZaEZhRG1KVWhHa0N3KzBkY0RxTGlsMm9TeXFYaU1ybWdmTi9henhwdTFycnUxQVByZUtzRGpmVisKYjQwdFVHdnJOUHNiSDNoTk54ejFWLzQ0emM1VlZ2TU5tL09XejNUTmJycmhzdHp5VkYrMzF0MXlPRzVhTE1STVZ2T1h6cHByZHVOWApnYnRmMk41ZC9wR1VQeHNGSGMrRFZXaVkzQmw5OENVdzlsR0g1SUdIeElnTVJvakREQ2ZLWW9wa25FSXBkNUtDVnl3WFRVbU5XYUdXCmxNaEZSWUJaY3Y0MEpYK21MQTRHUEU4VlRFamhUVXFLbXdMMEpoUGtBVmVCVHk2RGhvUG1BSFloRHQyWkxlVk9BNlJUOEYrbUJ3Z0gKVmlSc2hYSW4yQldFUjhHZGpVZkp5ME5SOGVlaXFBVkVFelNSa05NUmljNW9Ha0FVZXRnaFc2R3B3Zzhjb2tjSGIzeE80eThHTWZBWApRUHFJRnVQSkZDK2htNEhRWGpBNmFHOThzQ0JFUElkNzVpWFVHWWx3VU1ZV0JLQ0pDVHNRZzlCQmlPUUtGOUdlakNURXR0RzArTzNUCjRuY1MrN2xnVVFkUVprYkN2bGxKQjJZazdvYjBrZXhHbFI3MEpSQzY4QlBjRGtidGlvZlhFNW1hQUZmQmdMU0lzeGJod05SeG92VzUKd25XbzhSbXVmOEhESWFGNzhESlBKdEhwVE85dkR4dWNQaVFJeU5PQVlCOFBpcDVYQmhOYUNxSTdoT2lsSzVvdktMbXhxM1N4czdPRQpteWFLVHkzVnUxWm1QMXlkNjFxUTFqSTN1VDRqN2wwZ3RqVGVJZ0FnY0N1b25MaXA4Rll4OC9DN0VmM1JCVlNURUdxWGZuNEZTQlU5CkYzQUszRk14cGlDZFU2RVpPMThiQmVCQ0ltYUUwQ2NBWmNUQ3dEYWc2SEo5VkJrSTJSVkV2S1FXd29vMVVVWDBzVUM2eU9kRVJ3NUoKSC9wNk5YSFlqeko2Rmd4VkNpSitLZmo3NHRBSlFROVFFUlc4bjFvSG5CUWRuQlVmRmtEa2FoZHE3bUhvQnpNUTNRWUVNMG9BTWNzLwpvVDFBb2RXZzhBQktsMjhGN3RHbHdNT2cwV1ZacXEyd1hKUzhjZDYwM2FZN2ZsOTF3UHVveFg2MzBXOXBiWFEyZWgyK1BwUHZQYThwCnpXK1pabkhtV2h0MHJqcTl3NnF3R25WdXU5NWowempOc1BianNpb2RacFhEcG5RNTFINmpzckZPNFlXbG9PeDJzOEhsU3I3WEZudXkKbFh1NmwzZG1HSVIvcmtmNFdUdWdqL2hpNjloTGc2Skx3N0xQaGxVWEJqU1greFdYdXVTWFdyV2ZkeVJkZnhKL1pWaDBhVkI0WVVENAp5YUR3b3dIZXdaN1l2ZTI4L2MyU0QxcFRQK3BVbit6Vm5PeFdITzlLT3RJbU9kVDB0LzN0YjczWEZQdGVpL0JRaCtSSWE4SmhyL3lnClZiL2ZiTmhueXp6azFPeXB6OWhkVTNxd2JzcThZL0dTQlNsSnEvNVJBSXBNSDJJaExLVFk4OXNCQ0hadFV4VWdCQ0NORUR6T2wwbksKbGFKRjJ4ZWRNTjl1OE40emVlKzczSTg5dmhwUGk2bXh3OUxvZStBMDN6SVJVeXorU0wwKzRBTS92bGhycTNJN3Z2VFdmTjVndXVWcwp1QVVIMFlQM2E2K1pMYmY5OTc2dzdsMXphckttUERrcTkvY0dJSmtnUThhRGs3eWsvQmx5WG9WYXRFd24zcTZSckZESHI1UHl5bE81CmVjQXhDaDcwQjNGODRzVFV1RExZVDgyYkFhNkg3dUVYZ0d1UzRzZ1JHZWdRYXZRRWZDUHhKcE00cjU3UkFBaFlodzBnRlQ4ZkExQVIKQ0FrZ2JsRVFRQ0VWSUh6OHhhOE9JTnhBb3dFUXFnQUIvVEFBUkZxSEFoQjZTWmQ4ME11cGttMVRKVHVJQkFFME0zRS9XZnNKbG5tbwpTay9JTzBFRGtVdGoxRGdPZWg0WmNmWTBxZ0N0cDNxZjRSTFlTd0FJMXc4am93Y1FqaDQ4R2JFcjBnVWx1Wkt0TTNqZnIwOXpmbHhlCmYvbHR6OXNabGpLMUsxZXdGM3hnY0dmd2QxM1BoZTVSeDg1NFVRQ3hheVNVR0FxVVVYUDAzSGxBUW1pUktKMDdQNDBUc2lVZUR3NGcKK2lCRUhFRGdrUVlRQ05vWWp3TUkvUlFjUUtNekVNSVRkajNSQTRRQWhPbUhCQkRqL3NHTUFDQkNQNUVBUk9xSEFCRGE0ZzdGQXdkKwpVYUVZdEovZUJvK1FoTDc2YXdBSU54RDRVaG94QXhVd0NPMk5KM3VEVXRkOHZPY2JkM1diNTVIZi9hRFJkdGZuclBFRjdFMWVUMU8zCnZmRkRyem5YWTV4a2QrYllHclQybWpRSHJQMEEvZWc5RHJYRG9uSmF0QjZyMW1QV2VvM0tnRlB1dDZzYVRkcW1XcjIvUVZIbkVWeHYKLyt2SDNad1RUL2xuQmlYbmV5WG5lc1JuK2tSbiswUVhlaVdYTzFNdjljay9IMDY5UEJ4L2FTais2dFBFYTA4Vmw0Y01udzBLUGg0UQpIdWtRN3ZlbHZtL0wrTkE2OTR4dnhZMzJ6ZC8xM1h6YzhVMWQxNC9tM2tmMndSckh3QU5yLzQvR251L3FPOC9kYWQ5UzFUenBmSFBDCjRmYm85MXBqZGphSzkvcWtSeHN6RHhobHUrcFYrMnhwNzV2R3YxZWZ2K094Sm51WGpETUhCeEJ1SURaM1J0RFBxd01Jb3c5YWE4UFgKdGxib2sxYXk2ZlByQVlnMGtLUUNBRWduWGlBVEZBTUFxY1NMbCtmdHNYNXQ4dHcxZWU0NVBZOWRnWHAvaDdtdDZYR2o2YmFsNWxxOQpxZEppdmZtSE9lL0hXT1dzdTJLeTNYVGFLeDBObjlmYnYzUTR2M1kvK3FLbTVwcmQ5bTNUZzZ2MjNTcy96cFVWUytNbUszZ3oxT0k4CjVnSE5WRmd0T3k4QUl4eEFBRHFSRWhaQThFaG8zcFJrM2hTWk1GOHVXSmlkY3I1azByZUY0NnNtcUQ3VFNONEZCaUtLUFRQaG9odHYKVmhKc0c1b2pGVXhMNHVZbWNTYkFjNlc1UmJDdlNKZ1BGQ1dIaElMVkdsaUE0ZWZCOGhKM0dwc3ZyeGpHYWhlYlBxTURVR0VRUUlSNApjUDFRQUNvWkRZQ1FnUUNBNEZZdmlqNDRnR2dHMGQwL2RPQVNHTFlySGcrekpZaDZtU05aaHd5RVpzVlBUTndHWjhVbjdpUVh3bENRCmVOQkVkNnJ3dzF6NUlqYXhnNkFkWHNRNWh6RDBPaGRkNDZHK1JMOE14UkJ4UGRZRVRTS002RDNhaUFNSXJtZTlEZ0RoWDhJQnBPT1cKZ3JDYmdVWUdrSGJNaWpSQjJUako1dElFejZHWjNyb1BYZjNmTkowcHIxK1NIcGdvT1FBK3NKNVREdjY2NnppRjBEMXgrYThMUUpwWQpPR2RVR3dkTFJNQUV5akd6RUJUSVBlMnNoR0FJUHhHUkVnOE5JSkpFMUJIU3FDRWE2VWNmVzh4MFNUZ0RoVjZBMXM2dzZ3bTRrTE12Cmd2cUJBSUtyaEt6N2h3MzlzOExxaHdaUVVEODVlbFQrQ1FNZ0tzRlRFTWtRRThGR0FCRERRT3hkWUNNQWlEWVFXaUFEK3NsV2s1UGgKTTVRYjArUnZUMUN0cXYyNnpWdmJZZm5CRGdEa2V0aGt2ZS8yTlBnOHJ0WjJUOHVuUHR0TVIwT08zWjdyc09oc3RlazJLeno0eDJXQgorckZiMVM2b0g1M1BxUFhXcFhnYmdJRU16VzZOMHl6NjF2clc2ZGEvSGhtSU96azg1dFBldDg2MHgzelNKVHo3Tk9Ic0w1SXp6eVRuCis1SXVkYWVjNmxTYzcxSmM2cEplN1VxNDFpczQzOHM5M0NmYU41eDEyRlJ5M3J2bjY5N0t1bWNtNTNCbjgrRGZ1L3IvNTBEZmYzWDMKL3EvdTd2L3U2dnpmblczL1YyY3JlQVRQUVo3MWR2eExkL2R3YzIrZHVmM2dWMDFUUC9IeWR3Zit0S21OdTllVGNMQXA3VWhUMnJ1UAowM2ZWVDk3bnpTNCtsNVpZeUFBUW93NFVKcUh1ZVMwQUNxMzlRQURoeEFINklRSkhZYkR6b2dEQ3I4RkRBeWhvSU9MREF3QXBSQ1dvCkFqUnYzRWJiTjJiN2Q3WHV1NDdHR2tlN3Fkbi93RjlmWlVHVFRZMDNMZVlxRTVzYXY4OFlpUjFxQUVER0x4cHNsUlo3bGJYMjh6cjcKYmVmalN0K2UxYWNuS011U295ZXBSTFBWb254SjFHUUVIYlorNklKUU9Ba3h1Y1BPcXdBb0lTWlBLc2lUaXdwVUNZdmxvc1hUdGJlMwpyN203YmMxM3hSTWFjdVZuWllJVnFmelpRRHdwL0JuSi9MbkovTUlrYnJaVU9ER1ZQeG04Q1dBRVR5cmlUZ1loV20xbUtRUUVnSWdoClhDbXhVMU01RTltQ2VaV3c5RE1TZ0dnRFlmcEJBSUpWSHdRZ1ZPbEJBR0xyNTBVQnhFaFlBQkhvWVFLSXphQVJBYlNPQU5ER0lJQ1MKaU1PZ1dRQUNZVmVBYUFCTkZtMERtU0xlQ1pleENOYkFkUzVxMHp2YTVFV012NEJCY3pCR0F5QnFFejRjVzhZQVVEcnhqd0QvS2JEZwo1enV6UTd1SFh2WUNiOUxmZ2padG9YMWJEQUF4RzZMSnVXRDRsSGlpQWhTM0xrMVltczViVnlpcDN6WGVmMzI5dGZhb2Q5L1U2Z3FkCmRZSmtiem9mTmh1cFkyZkJJUmpSSmZBUC9Hc0NrRG8yRDl4VE1YWTIvQXk4Y3VYZkNzR3ZwcU1xTit4b1l1YUQwQkppRElkbm5CTU4KendmQ3htalErc0Y3Y1NLSmhINkh1Z3poQ2ZzdW9vU0RBSVF2NnFIZm5XMmRrUk5PUDhRMGVLQWZHR3FYTzNYU0Q3bitSVlozVkh0QQphQUFSb1dwQzVEelVpQUJpRjRIWTV3Q0ZaalB5RFN0b0FqemNJd2EzaGlrM1pxcWdnWmJNMmVXcDdnWHVjZHh6K3g0Mys2dGJuQSs4CnpvZHV0NldsemRQeWc5OWJZVFBxck9ac0Z6d0h5R0F4cWgwbXBhMUJaVGRyWFRhTjI2WjBHSlhPV3BXclR0ZmswL2dzeWJYV21Ddk4KYjU3b0gzTzhuM042aUgvNjU5aUxUMkl2L013NS82L2M4Ny93TGd6eVB1M2lYV3dYZk5HbHVOeW4rT0paMG1mUDRrNzJSaC8wcEw3ZgpVSDdTZGVSbWI2T3hyY2ZkOTB2cnMvL3MrdW5mT3dkK2F1OFk3R2p1NzI3cTczdzYwREU4MURFdzFONDcyTll6ME5yZDI5emQzZEx6CnN5OHc3TEU4Y1ZYL1cyUERmN2UxdFhvR1Q5NXFtdnRoOWQvZWNmOTVxeWR4VDNQV0h0UGs5K3VudlcrZXMvVitnblNsWEZJSzhnSU0KWXRIbjlRSklsN2lVQ0Y3bWdVdGdiUHFnc0s4a3IyZlJaMlFBYWNrVEZNbVBBVDhZK3FoQzhHbmhObmdBb1B6MHRZNXY3Ylp2YTN6MwpQUzIxM3NhSFB0TXQyNlBQamZYWG5aWmJIbU9WdGI2eWdVMk4zMmRxcnp2QVo2NjlVbSs3YVNOaWQzN2wvL0tqTy9rNWE2VnhVNVdDCjJScnhIUEhZU1lBeVNrbFJFb2YwRFVNL09JQllCbUp5aDUxWEFWQ3FZQ2JBRFdCUU1uZUJPbUg1MGprUGJsN3gzTC9qTFoxaW5hQzYKb0JDdEFnQ0NlK1lKQUtVSWlsSTQrWEwrdkZST29WeVlyeEJQbFl1bXFDWEZhdEVTRmI4Y3VBZjh2bkRaaXpOSHppMU1pWjB1NDAxbQpJK2Jsd2lZTzFnY2RKa1NEYzBoUTdZZnM4Z0VBb3JwOFNPNXdpNm1RTGM5RTEzTVp5ejNoQWNUWS96VWFBS0VtYUJ3OU9JWVl1OFBvCmx4U0E0TGg0MUFxTkRCUUpRT1JCaGNUemtCRDZtU3phZ1FBRWw3R0lMZTV3bHpzTFFNUUNXZEJBaUQ1a1Z4QzJCRVpzQWR0R3RWMi8KWmdEaDVaOVJBaWpFUUJFQWxNMWRuUzZhcCtPdW1pSTV1MFRwM0pSdDN6RzVkWUhTTVR2NXl5eitSblRhRUFBUThBb0JvS0xYQlNCVgp6SFE5cjBEMjFtekFHbjMwUW4zVXN0bnl2WnEvclVTTk8reWcyV1FheWtPd2Fab2NEay9TaHlZUmVoa1pRT1FKaE5TS0dOa2NqWHA5CjZKZU15OWpkUFBBZkJDU2tzV25FSmJBSVlZMUJKZWVkVVFDaTlFTUFLTmorakFNSUdTZ0VRd1I5ZmcwQXNRMUVyNFhCUFdLS0RVQS8KZXVrNmcyejlGeDk5N1g3WVlydnI4VllIM0E5OXJ2dCt3Q0QzZzBaM2JVdVRvOUh1RDJ5MFdWVVdZNGJMa1c1RkFMSVErckhvUEdhbwpINGRaNjNZYWZGNkR5eFYveC8zWHM0RS9IZWtmKy9IUHZITS9jODhQUkovcUZaMFpFcDE3eGpzL0hITytLK1pTaCtCNlAvL0tUekdmCi9oSjFvWC9zNFRiZUxsL3VvZVpOVi9zcmEvcGFmRjMvM2QwKzJOczExTmsxMk5ZMTNOejdwR25nU2VESnMrYWZuamIvdmE5em9MK2oKZjZpejcwbEgxM0I3SjdpZ3Y2V2p0Nld6czZWaklOQTI1UFQyV2V3OVR1dHdvK2NudCt1cDBmek9WYXQyNjZPMzFybGp0alhKZDdzbQo3YTFiOGtHRFVMc0JBU2lzZ2NKSFVvSHl1Z0NFNjJjRUFJVytFeW5QQnhCK0RSNVVRd3I1TU1SdkJBQ2tTMXFvU0FBZmRlbE0zVXI3Ck56YlhIVlBna1QvdzBOZFFaYXk1MmdBUCs2bDBOMVE2VERkdDlaVi9tQXBRL1EyNzZhYWo0YnJKWEdVeFZWb2VYRFo5dE9WeXBxUkEKS1FCL3BDRnJBRzRVd29Ma3VGbmlxS21xK09KSUFKTHk4a0ZTdVhrb0taelpaRmpjWWVkVkFKUVlPeG51a0JkTVV5Y1VnZjk4VXpSWApGczkrc0dERzNlbHAxOU9UOThzRkMyV0NQR0xmMmF4VWZuNEtMMC9HSzVIeGkrQVdlc0ZNdVdDdVdyaGlYTXJ4Y1lsWE11TjNLamdWCjhMZm13MlV2QmE5SXlwbXRGRElkODlKNUlmMDhIMEJZbXpOWjdBbXZuMUVCaURJUTgvRERVQURCMVIvY09vdzFMd2FESWdJSXRnRlIKUlNCaU94akJJR292V0NpQUFFb1lBRUl2SnhIdW9ibURtb0ZRVFFpOWlTK0JvUjRnUnZtSGJwRkdKeUtpamZSb0M5aDQwWlp4UW5UNApFQk5BeEJMWUN3T0kvU2FkRVpiQW1CSmk2UWZ4UlQ5MlVScjhyN2xZTDZ5WUlqbzFUWGgyUE85eVR2eXhITzRIQnU1Q1BYZWVMcTRNCi9IV0hjODVqNXI5R0FNbkhUdEhFellhdDBMR2xtakhsa3hPMnJaNTJhWnhnTzVzK0RBQWhBOUdIUHROaVFLRmZSZ0pRV0FiaEVncW4KbnlDQW9GcUlDdENMQXloNGYveEg0TXRlK08rQ0FBVExQMGcvMlRxb24wZ0d3akZFakVHbFErcm5OUUtJWVNCaUdnYnMrd0g2eVZKdgpSb2RFVDhsNjEzblA1N2dQNHZFOGJuVGU5OWgvOURRK2F2WS9iUEhmYi9FWW5WM2Vsb011RDJ4OHR0blNMTVkwcTBuamNHaWNjQ0ZNCjdheFZPbXVCZnJTdWdOd2NpTHRzZit0RXgxdkhuc2FkSE9hZTZZczZOUkI5WnBCN3BZZC90cHQ3b1oxN3FUM3U4eTd1WndPODAwT0MKSTMzQ2c5MzhmYjY1NTlyUGZkM3JNZlgrMHR6N24xMjl6OXA3K2x0N2g5cWY5clVOOTdZUHc1SlAxN1BCN3AvQU93T3R3d09kZzBUNQpweHZvNTJsYkozZ0V6NGZhZXp1YUJycmJlZ2ZhMm9mODdpZFc4N0RSMUdPeXRsc2NneDduOTk5N1NnKzUvckxjL3VldFRmSTl6cWs3CjcwK291RUFEaUdXZzB2Q2hBTVF3ME1zQmlLRWZEZFlEeEZqWVlsa25iRjRWUU9CSDR3QUMwWWtYb1FxUUpuN1pCT21DK3NvNjd6MnIKOTU3YjhaV3o5a29kQUlUMXRodjIwMXduai94aFUrUDNHZU4xdS9XbXMvNmEwVmhsdFh6dE83emxrbDVTRlA4V0lRYmVMTGhQaWdOeApBd3lrRWhjQkJ1SDBDV0VRQVNEYVFDOE5JTFp5VUNJQkNGaEJ4cG1URWpjcG1aY2o1NWRseE8rYmxQTGpWT2xEZmRKV2hRQU9Eb1A3CnpEbHcvM2txTEUxTlM0aWVtY3dkbnlySVVVbnlGZHhWV1FsSEtpWi92eUwvWHI3K3NrN3dOaHkzTHBnSzdxemtGOEk2RU5FOS9WcnkKUXZwaEE0anVmVVpMWFlnK0drR0pSakFmQmVtSEJoQ2xueGNHRU00Z1JCOVU3MkVBQ0FYZjlzV1NFRGt0RlFjUWVCTU5UMFVHSXJiRQpiMFJCQUtLM3U0UGdBeTd3NTdBeldnaGJmNmlROUtGWHhPaWpEcW04TjFVYzB2NU02MmVLNkYyU1VCU0FKa3ZneG50Z29JaE4wRUo0CklrQTZQNWhNSGlET0FqWnVVUENxRDMwU05CMGNRSXdtNkxBQVl1Z0hSUDNYUWlnYlhvbE9NRE9ETno5WEFNZXlHaElLRExGcmRkeDgKTFNkUEUxTUdtS0tKblF0dUFwZDRYaE9BVkRFejBSS1NZdXdjNlY5bTY2TExwcVZ1a1A4bDh2azlzVUVBYVVJQU5JOHFCY0huS09CNQo2QXBha0RJakdDaHNLSzh3QVVUM0FHR1pDejNIZEU4WUFPSDNENnNmUTNUNUcxQS9RUUR0d3dHRTl6ampZUUVvcUovUkF5aFR1UzFzCklnR0k2SU9HYjZKWkdkcVVOYm02TGN2TExuZ2YrNngzYk43cWdQT0JGeng2SHpmNkhqUUQvUVR1Tmp1cUxVUHU1cFBlUm9YZHBEYWIKOWFiNk5JZEZaWE9wSFRhTnExN2xmS3p4TkJoODN1UTZ6NXMzYXQ4NjlMOWlQbnJDUDkwdE9OM0gvV1FvOWx6UDJBdWRiMzNXUGViVApuOTc4dEh2TTV6MmNMMzZKTy81M3dlN096QS84Q3k0M1d1NjE5THVmL0dmN0wvL1NQakRVMWpIUTNqUFVOdlNzOWFlZkFuMVBtL3NICjIvcjZPbnI2T3JvR096cWZkSFQ5M05FNTNQbmtTY2ZRMDQ3Qm56cjZmK29BV3VwNzBqNHczREh3dEwxdHFLbTV6OS9TRitqcUNYUzIKdTVyYnpaNE9vN1A1MGNQL3NEdThEM3hsK3hyK3RNWWN2YXNwZVV2RHhKMldmeFNBMlBUQjlQT1BCRkRRUUFTQTBoS1dLc1hsTXNrQwpBS0IwY2RHOWkvY0JnS3pmV0d1L01BSkdXRzdhZ0lIUVVZZncwT2ZyZjVnbWFKZ3FhOE4xby9tMjQ4aVc4eXJCTFBHWUdWSmhlVkxjCmRLVjRMdEtQakQ4bktYWW1ZTTN2RUVDcHNaT2swY1Z5emp3WmI2cVNQMDhobVNLTlc2SkpLSkFKaWxQaG9Uc3psYnc4V1Z3K0NIaWUKeXArWUdsY3FGVXlUQ25PVnd2bkt1QjFGdVpjLys4aFkvV1BkNHNtUE11TjNxWVhGQ3VIa1ZNNWtBQ0JwM055VUZ4KzF3V3J4Q2RQcgp3K1lPTzRSMW1BQlNDK0I1UHhpQVNQMFFBSUw2b1FCVStxSUFJZ3owSEFDeHF6NDRnRmdHZWo2QWNzVnYwOFBlY1FDaHZoK0VIdnFVClo5cEFxQUtFS2pmRXloY05vQzFUeEZ0cEFORUdBdnBCQUFwV2ZVSUJCSU4rRmdHZ2lYRCt4dGFJMitCZkNrQklQL2dvakZjQkVFa2YKNHZ3ZWZkdzBWZFI4RmFjNG5iZE1INTJYUFhaVkRtK0pOcXBFendIL1RhZG80bWFxbzhwVVVVVTZUbkVhcnh3dzZFVUJ4SjZXaFFMMApvSWlhcVluTEI4bmdGNm1qWnFuR3p0VEh6V0hUaHdZUWJTQXRyWi9ZRWwwVW5DZUtBQVNlMHkrZkM2QlJHZ2dIRUtJTW93bWFBU0IyClN6WFZXalJxQUJFTjNXOGc5RkJCUlNEaXpFT3EvTU1xOW9RUHNRb1dmRTZ0aSswTzJ3Y05YbElUTThqWllUREtyU0JzRXFIb1ZhdjAKMG5WWnNrM3BpblU2eGR0YTJlWmMxZm9ySDk5MTNmZWp3R1d2QjQyZWh3R1VwcnMrNTZQbWRtT0h5UkxJdHQrVE9hMEd1enZEK05oZwpNZXJzbGhTVFUrNjA2LzBOMHZ1T21CTjlZOS8vKzF0bmhxTlBEbkZPUEkzNTVObllUNS9HWE95UE9kODU5cE5td1lXdTZFOEgvdm5FCjBKdjd1aklQdEg1NHVTM1EwUHovdFBxQVpvYmJCMEdHMmdid0RMYkRESFVNTXZLa2s4elRyaUgwQk9nSEJQVUQ5VGQxOWplMjl2cWEKZTl5QlRxZW4wK1pxdGpXMDNuWCtYUHVndS83dWhvT1AvclRzd1poZFRzWFdWbTN1Mi9xRVFwbHdXYnFvVEpwYUF2NVhXaHFmbjV5MApoT2tlS2lwSk1PcjRjanFhaEFvUS9CMlZwQXlFclo4UUNWSHVvWmU5UXVrejJ1RGZpOXFaYWZFWUVsZmlZYndmaEZIOHNyQkpreXd4CnhDL1RpSmVveFFCRFpUZFBQblo4NHpGZXJ6WGRnTnZGUng4bVBuNnJXRys2VFRmUVJIbzduTTVSYWJIY0JJOW15NVhITnZEOHk4WlQKdTI1cnhFV1M2Qm55K0tJRUxwd3pHajdVTm5oMjJDb0t2MWlHTHViUFRnbTlXRVljb3NPK0NRcU9KQnhQYVBzNlEwVVFScXc3b01nRgpjeUhqdUFWeTNnS05ZT01NN2ZsVithWWRGVjBGYVRjeUU3WkRvUENuU0xuVHBCQk0rU1B1QW1PZWNJaWZjOGdPODZpZVlGQmRaNDZDCm00K0N4RU05d2E0bjNJUHZjaWNxUUNWYTRYd1FOYTlVSjFnQ3ZrVW5LdFh3aXpTQ1BJTm9nVlpRREQzRUw5QUpRZWFwT1dVYTdrSXQKcjBMTkxhWlBRYVNQUUVRTVFxY2RvbDN1Nk5oRGxEVCtZcnJ2aDFya1dwR2JFRnpiWWlSVHVCb2RrSWpPU0VSUDRIUFJHalFmZm53QwpISXlhUzB4WlIwTlN4OGR2bkJTL2VYTENOblFVMEJUSnJzbGlDaWhVZ29VZmF1TTZsVzBvNUU0dWNyZ3BHdk1lREhpVC9oWjBEZlZkCmNDWThmdGcwY0E4Uk9QaWR5aW9RZlA5WEdtOFJpb0U3MGpwWDJJQnZJUklFRUhVV0ltb0pJdERET2dJUlBNRVlCTEdpaWkwSUczVmMKSVIwTnA0Z09YVU5paEJxU2lqTUluUllJV1lBVmhPWXFvK2FBeUtPbnBQNmxVQk9YcTQ2YWtCWlhxSXVkRE5TbEhqTmZFVDBIUUVjUgpWYXlPaGZ2WFZORUY0RmVnVzMvWUNhWFk4eFBTellOVmFJSWlnVEFpYjQ1VzMzQkNFWUlKczNFc2JQRDdVNzArekxBNm9Fa0pSUVFRClhmNzVEUUJFTW9nQUVHdEZqSXhXc2NZZzNaU1d2RUV2WFpPbTNxU1JicHlTdnJuKzI2WklBR3ArMU9TOTN4U29hL0U2Mnd1OWRRbm0KZW8zRm1tNnYxOXJNU3JOWjYzbWs4ejZPLzc3bHpaTzlmLzJ3aTN1OGozUDBxZUIwWCt5RmpqZlA5NHc1MGNmN3FDL3UvTk0vMy96UApOejcrWDMvZTI1bCt3SEhzaHFmWjNmWmYvYjEvSHhqdTZ2c2xMSURnU3haOWhqdUhRR2o5b05BQUdtcnZSUURxRGJUMitWc0FnTHFjCi9nNkh1OHRvNzJ5d0JSb2NyVFgxcnZ2R1ZTY2MvN1RDSk5oa1V4YWMxRW9LcGFKRk92R0NsTVNpTlBGQ21XUnVhdElDTm4xK1ZRRFIKTzcvWXVCbE42Q0pROEozNDVYUkNLa0NoTCtrMzJmVEJBTFJFSzFrS0FLUVJ6ZnZzd0hld2RlWmFEWnM0djg4MFhMTVpyOE1qZnl4VgpEblE0dGZHR0dRREljY3Z4K0l1R3p3OTlwK1RNVG82ZXBVMHFTK0hCZlZWTTkveU9BUlMrTXNTNkE0cVVQeU1wYmlwOHdpdVVjaGFrCnhlK1lyajJUbjNaMVl1cFJyV0MxbkRkYktad0dIbVVjZU93eTZnZUtFQ1o5WGhGQUdIcEdDeURhUUNCcVhya2l0bHdmWDZEZ0ZHcDQKcFdtaXhlcm96WHJPVmgxdnFabzdINUFJQUFoV2hnQjZCT1ZhZmduN0dPaXdBR0pNd01nU0w4Y0JsQlBQZEU4a0FORUd5b2FIUks4RgpBSUloQUVSbm5HVGpSTW1tU2ZGYlNZWEFCYS9nTUMrNnh6bFlzd21oekZZcVFRQXhKRVNKaHpaVDhCdUo4UmZCSTZkQlVPMkhEYUNRCm1WOFVnRURZeEJrNURBQVJvN3NnZXZEbmRQdnpDQURDb1JNcE9JRFlwQWdOWGdTQ25URTRnTkJ6QkNEWm1La0FONHF4NDJSL21hTWQKVzZFYU8xMDF0bFFUdlVBSmVCRlhySXd1UW5VbVdId2FFVURVT2RUTXNENFlHVFo5ZmlVQU1lN1BwczhyQVlnMEVNR2FUTlV1RURaOQpSZ1lRdmpRV0xtaGlQR0VnMVRZWUZuMVFBSG95NURzeVU3Y1laR3NOcW8xcTZmcVpPVnM5MWQyUkFPU3I5amYrME9oODRPOTBkRzFyCmRDYWFxd0dBRks0R21kR3BjVC9VZTc1TytONzA1ckVuLzd6L2FmVHhMdjZwUWQ2SnpuODYyZkdYVXgzaWt4M0pwM3E0bi83MDV6UFAKM3RqZmtiemJ0dU5TSUdEdStYKzdldjY3dTYyN3JibTVyYmVqNnhsRFArZ2xEaURrSGpxNGZ2QWlFTGtwckxtTExnSjF1eG83SGI2Qgorc1pXbTlGcThub2Yybjh4MzdYZk1SYnR0cit4OG9GbzFYMUZmSmswdmx3WnZ5UlZYS0JQV3FBU3owdE5LbUhUWjJRQVJRNFRQU0VoCjJvRENuZjNEREJzOVlRRVVERUVmcldRWkk0ZzFlcmhQbmd3YlBYZ004WXYwaWNTeDFPQnppa3VQNzd4dXJMSmJxdUN4aDMrSVdDcnQKamx2d2VFYmpkU3M4NUxEU1Vudk5hTHBwcTY1MG45eDFRd0hQL1p1VHdzbFhTdVlseGs2VDhtY3kzZk83QVJCaitZeXRIeFQySFZCUwplRk9TT0JQUUhuZzRTNVZYcWhHdDFBalhhZmxyNVp6NUN2NHNsWWlZWmNHQmJlQUt3VlNXZTU0RElEYURxSjZlNXdNSXo4Z0FZak5JCkx5bEtpWjZtRlpScitJQTFpdzM4TlpQbFc4WW5iODBVN2RCd2xxczR4VnBCTVhRUHYwd25LR1VBQ0krQk1oQ3RIeHBBMUxhdjRLWjMKWWdZcWt6NDBnSEQ5Qkl0QVFqZ1JEQldCMEZnTUZISWhUQXdNdEFVREVLdndRekVvbERna1lrRFkrc0dENndlRm5BQXYyZ3puZnhINwp2MUJROXcrYUE0OERDSFlDRVFDQ0UwOWZBVUNvYm9UcEJ3NHUxY0VwcDJpT2FRaUFJSHArRXdEaGkxODRnUEFnQUtuRzVLZHhDMVJSClU5VlJGZHFZQ21Yc1RGVk1zVHB1cmpvYVR1b2dxMVBSQlFTQXl1Qk9NV3paQ3crYlBpTURpRTBmS2xoamNyQjdtazRJZ0VZMFVNaHUKTWpwcytydzhnSUpGb0Y4WlFDU0RSZ1NRWHJGRm43SXRXN1lETmdESjE2ZHJ0czZiOFo3allXc2tBTmtmZTlwK2FMTGM4M1NiMnMvNQovRkxySTQzTkZtK3ZWem5zQnUvanhPOU1mejdjOXVhQi9yZ1RROXlUejJJK0huenJkRXZNNVgrSk9Uc2NlN0l0N3JNbi8vVHhFUDlkClI5bDdqNXNzbHFjdFBmL2UrZk5RNDBDUHJ4c1E1Mm5YejRNdHo5QlNGNzdheFJCUGtENWR3MFNHR0JrR0FDSTdvL3NIV3J1QmdRWUMKSFgzK2xsNVBFekJRbjdtbHlXNE8xQmdicTMzT2UzZi8vZjVOMDIxTDdLYTZmMTd2bE1yWHBTYVd5aE9XU01VRnlxUVNyYmhNQnM4SApZdExuMXdNUVphQUlsSGtlZ05BRnpPM3hCRiswa3FYc3NKVVQ5azBjUUpyNHBTcnhRbjE4K1lIMUY0MDNYZVliWmpZMWZwOXB1R3EwClZzSHpuUUdBR2lwdDVpL2RKaUpibHA1TWlaMnVGQlVteHMyV2k0b1M0MmJDN2g4QnVhc3JURmp1K1MwQnhOQVBEaURHVGpIMkhWQ2sKL0Jsb2xKaE1DSzZaTGhQTVVvcUs1WUppQmE4WXdFVWhnQ2RCcDhUTWxzYk5oZDNUL0Nrczk0d0tRTFNCNko2ZWtRSEVObEFrQU5IVAp2aGdNa3NYT1RVOVlJT2ZrcVhtbDQ1SzJqVTg0L1Bac2Q2bkJOQ241U0JwL2s1cFRwaFVVRWl0aWNEZ0dmQXluSHphQTBFc1FiTjk3CkVFQkU2dytUUHBFQVJCcEl1Qm9WZ2FDQktQMk1qOTlJQVdnekNhRDQ3YWd2aDcxMGhSVnZZSkJnWUNTYllLaEtEd005N0R0UUFFS3IKWS9BT1JPUHpKcFFKRW5vUVdBaUEwRXg0WUNBYVFHZ3ZHSnM0STRjR0VLVWZPQVVNTnNmOERnQkVsWHpDQXdnWlNQVzNmTlhZMmZLeApNN1RjUW1YTWJEVWMwQUZJUFVzZnZSaWU5Qk5Yb0ltRHkyZkVGSTZYQVZBb3hZSmh1U2NJSU5wQXJ3SWdobnVDcUdMUjUrVUJSSjV6ClNNeDdwdzNFcHM4b0FjUmdFUFV5Q0tCTTlYWVFObjFvQUJsU3QrTUFLcDYyeDNZdk1vQnFQRjMzMm16M0czdU1MWGZjVFpxR2V3cWIKTmRscHlmUVpFNzl0ZnZQdzBKdjdlcmtubW5rbkJxT08vVHoyWlB0Yko0WmlqclcvOVduWEc5ZWV2SEdrVjdIUmNlcWtjOWpkK1pNdgpBR2pTM2pyVUdoZ2E4QS8rUFRENDkrYUI0ZVkrQm9BaW9BY1BSTS9UN21FVTJrQUFRSVB0c0drYUxZUUJBL1g2bW9HQk9weU4zUTVQCjcrTzZMbXVMcWNZMWRMZnk1K3I3VzQ0M3ZMSEtuSlMxSHdBb05hRkNGVitTa2xoa0VDK1VKODVsMCtkWEJSQmhvTmNQSUp3NFpNQVAKSXFKTFdBSkN2NHdVQkNDVmVMRkN1TkNRc09EZFpaOFliOExqYzlqVVFBSE9DQnYybGI5TkFIMXF2cWd6M1hSWWIzdnJLMTJtVzQyZgpILzYyWlB6cVpHNCtpQ1IybGx3eVR4d3pVeXFZb3hFWHlJQWgyUFQ1aHdLSVRSODBWUFZGbDhCay9EbXdUUnMraHhKQ0JnTFBGZnhaCjhDUm91T1kxSXpWdUZyRUZiTGFVK3hzQUtDVDBOWkVBeE5BUG5iVDRCVXFKV2htMUpUTjVnWVpidmlEbnJ2R2JnYU52TjAyVEhjOFUKYmRWd0YyajRSYWdsaUFCUWlZR3dEaU40eVFmcGgvWVFkdkxoMHRFQWlLMGYwa0NoQUFMMFFSa24yVHcrZmd2UUR3TFE1QVNvRXpTYwpLeXg5cUxVcThsc21TalpORUc5RUJTVHFKbHZwVEU3WXhxWVB1ajk5UTFnSFFtZi9pRGFBVEl6ZlNCaG9IV1lnQ0tCczBRcGdJTElJCmhBR0libk5taEUyZjN3WkFPSHBDM21laGh3RWdXam4wNW5BMmdFQXllSFBSQXBhR04xWExtWmNlODE1bTlMNXh2QzNaY1ZzTVVVdjEKc1VXNldMaEpIdEJIRzF1cWlna3VTekhDSnM3SW9aZ1NvaDlpVVN3RVFDd0Q0ZnZrMlhoaVFncW5Ed3E5VlkyUkZ3WVFyUjhFSU53MwpZZk1TQUdKVWdLQitJbGVBMHRSYnNwUzdzcVRiRGJMMUJ0Vm1qWFRqOUt3dHRudnRrUUhrYXIvWDVyb2Y2RFMxZUR3ZDQrcnZTcDAyCmc4K3Z2R01mYzZ6N3orOE5jWTcyYzQvM3hSenJqajdSUHZaVVQ5d25Uem1mOWZ6NVRNOGJPNXJIYmJMK2VNM3pIOTd1Ym1kcnUrTnAKaDd1M3U3R2p2N2wzb1BscFg5UFBQVzFQZXJzajZvZmhucWZkVDZpUTlBbHZJQWlnWHJRUTF1ZHY2L1cxZG5uYy9kYkdQa3VnMjk0VQpxTGI3SHRlMFZ0ZDRybjNMVy85UU1QTmlhc0pDV1dJeG5Qb3BLZGJENGVmRmJQcjgyZ0JDemN0cytvd01vUEQ2U1F5endvVUFwQUUvClViSUlKdzc3bmRDdmxtc1RsaWdraTVXaVJla3BTOWFYSGpiZmFtUTdndzZiUHY5WUFEVlUyaXhmdVI5Zk1kZmVjRCsrNFg1MytVbWQKS0YvT25TNFhGTXBGUlFtY3ZFVGViSm1rVUNtZUM0ZDN4djd1bXFERDZnY0I2SVdhb0tXOHVhbmNPU21jMlJTRFpxSFI5RUEvY0tZWQpNUkJEd2M5RFE5cFQ0MGFZQmNZVUQxcy9vMXNDWStibEFLVGtGdW1FaTVYOG1TcHVtWUcvWm1MSzdyVXpMZk1NMzA5TTNwY3VYS2ZoCmxhTGFEK3o0RVZib0JLVWo2NGRlLzJJQWlNckxBeWliYUFNaU80RXdBSVdjQTBTU0JRWVloUTRxMk1CbUhTSHRuaEQ5NEFCaU1JaUcKRGw0V3d1ODhXYklWM2tleUFkViswSk1Ka3ZYSVFHZ21QQTBnY2lFczlEU2dzR0hUaHdHZ1gya0o3RVVCaE5kZEtPWEF2VkdoNzJCRgpvREU1bXJIemxGSHpsVEd6SjRvL3pCYy9xSkRlcTBpOE8wTjhJaXQ2STVSQmJEN0VTc3g4ZGV4OEZXemNZZEpuWkFDeGZ5SUtWcXA1CkRvQkNEVFJhQUxFL0lib1ZtejR2Q1NDMDQ1MDBrSFlQZHVJemt6NGpBNGd1OXVBQW9vZkRCOWUvbnRjRHBKV3ZUWmR2elVqWnJKZXUKQXhqU3lyWk8wRzY4ZjhNVkNVRFdSM2JmdldiWGo0Mk5EZDcrd0VDSnRUN1JhZGJVV3JsSHVzZnVhNC8rc0kxM2JEanFnNmRSSDdYRwpubTJKT3ZrczVyUEJQeDFwaVZsalhMWFo3cnZkOXU4ZWQ0ZkQ0VElQUGJVMjliaTZBcDZCSmw5L2I2QjdxTDIvcSt1WnQrdGYranNHClFBWTZCd2U3aHZDdzNFTm11R2VZa2FIdUlSQmdKZ0NnQVFKQWd5MjlSQ2RRT3dCUXY5ZmJaV3RxYzNlM20reGRENm85ZFg1WGpmUGYKZnJnNWQ5K2p0K1o5STVPc1VDWGtBYThveGFYQUlrcnhmRFo5UmdZUTFmSWNmSWRxaTJhaEp4UkFtSUVnZ05qRUdUa01BTkZhMGljdQpSV0ZVZWpTU0JTamErSVVnOUV2RUlIYlU0akw0RHhLL1JKVUE3clp3L3FUdDFWZWMxcHRPTmpWUTJQVDV4d0tvdHRKZVYrVjZjTlgrCjBZNHIwd3hMNEp3SFl1OTZhdHlzNUxoWmN0R2N4TGpweWNRaGgvRHZOK2QzMXdRZFZqOXczanN4dTVRUnVPT2RkUWZzUHNSWmpsejQKTzZKUjhBU2tpRUh1M0dseS9qU0ZZRG94Q1RWUHhwbkRjczl6QUlUVEI4OXpBUlNjYlBwU0FGSUw4NVJ4aTFXQ0dRYlJza3pKYW9ONApYcFo0UjA3U3lnenhPaTF2SWFFZjJQZWo0OE5kN2xwK0dVS1BubGNCZ2dPSTN2YUZkMEREaG1qc1VFUjZQL3dvQVpRaldVY0RLSWN5CkVBNGc4Q1JrR3p4aEY5VFpNeVZ4T3gyZ0lrQVp0RkNGNndjRkFraXlnUUVnT294MU1kcEFhQWc4UVN2eTZHY2dIaUxJUU90cEErRUEKSWcwRS9qVUkvUUROc09rek1vQWlOVUVUcFNCWURTSXdST3lCNTVhQS9KWUFvdnpCQkJEWi9ZTXNFaldKYUhPdTBNWXVteUg4ZXFuUwpjYXJjc1ZWcnFsQitNNEh6Zm5yMEFuME1YRTZDcHhERkZLdGlDOWhISTZLdzZVUDl4TkJqaDZpb3g4NWhHQWkxUmVNRFV4bXJiR3dBCmhXMmpEZ3NnK2lacytyd2tnTkN4aHppQXFKbGZUUHE4T29Ed0ptajJCbmdVZzNwOXVueExqbng3bXZ4dG5YeXpUcjR0VTdiMnpQNnYKUndDUSsyR0w5MDdBWG0zL3BmWEoya2FYd0ZvbnVQcHQxSTVoL3NGT3dkSGUyQ045WTQ0MnYzVzhjK3lKcDdGbmh0ODRPZmkzSlpiMQptODFOUDNpR2JHYWdEWGRkUjRlcDArN3FiblYxRExqYStuMXRiWUgyNXBiT250YmVuMXY2a1g0WUFBSXYyZlI1MXZNVUJLSG5TZThUCkVCeEE4QTd0SklCQUVJRDYvRzFEamtDYnI5dnJhbTB6V1o0WUhXM1Z2c2I3NW44MVB0NTFwdmFmS3U3TFJXdlZpZE5Wa2dwZ0F2REgKWGlrdVo5UG45dzhndkZaRTA0ZldEd1dhQ2d3OVpNQ2JhdkhDQ0NuVHdNbXZTMEJrdkpMYzFJcmJweDdWWGJHd3FZSENwczgvTmpWVgpyaU5ienM5T1c2VGtFenVuZVBrcHZEbkovRUpwOUhRbEx5K1pNdzNObEFCRUFIK3R3UjkrcG50K3h3QmlHQWk5dzc0RGVSL2VKRGdaCmd3dmJpZkE3SzNnRmdDK3dnTVNiU3U2RTU4d21Hb1BZOUhuOUFDSUhleEVHR2hsQWVIQUFhZmdWZW5FNTNCRW1MRmJHRlFMbFpJalgKNkxqcmdIWFUzR0s0L3NXZnIrVXQwdkdXQWdPcE9PUVNHQUlRTXRDTEFvZzYvb2RGbjNBQW9nMlVReG1JRGFEeGhINklIbVI0RURQWgpua3hVY1dCQkNETVFTQmdBRVRVYkhEM29QaWpVT2hkelB6d0NFRnhURTVFbkg5SUFJZ3kwZm1JOGZDUU10UHJYQXhBUnVBMytSUUVVCjB0OFRJU0UyWXJiYWtGRkZGN0FCcEl6S28xOGkvZEFBMHNYbUs4Y1dhdUpLTTdsYjU0aHI5K1c1T3I3c3VMSGN0eXJkT0kxL05DTjYKcVo2b3lnQUFLYVBCQjVqTHBnOEt1OFpEaFVrZkdrQzBnZGdBUWdaNlhRRENiOEttejNNQWxLWGRIellabW5jek5YdlRWTytQU3o4NgpNZk4wbHZxVENSbFh4cWQva2FzL09TN3Rvd3oxbm5UMWprenR6a3p0TzBCSVdhcDlvUURDamtEVTdnSzNTbGUvbzFkc0g2ZmZrNjdZCmthUGRqUUVJZVNpNEdUNFRQQ3EyZ2FUTHQ2SUJxQ0FaeEpCVWRBeDBobklqZU5Ra3I4N1JicDZmOTVHbkdvNi84TjV2Y3Z6Z2JxNXQKY1QvME9PNTdYTlZOM3VwbS93L043aCtkVGx2N0wyMGRkNnd0a2pPZFl3NTBSQi92RXIvZm5MSy9QKzdJa3plT3R2M3RYQXYzd3ZBYgorNS94WjkvWWNhRGU5WU4vNERHOG0vbFJ0OXZZMVdGcGJMSzB0dGphMjUxZEhlNmVMbDlQVDJOZmI5TkFmOHRRZit2QVlQdlFVTWZ3CmNPY1RRSitoYmdBYXdKb25RMTFQNlF4M1A2T0RHTVFJVVJsNkFyKzNZM0NncmIrL3RhK3ZwYmMzME4zVDJJWHFRSjJ1UUlmZDMyNzIKdEJwZExmV09wbHBiL1pYdnhTdnVwQ1N0a1lzWEpjVVh3TE9QaGZPa29vVUlOT3dveGFYc04wY0VFSHJKUk04SVFUM1IxRXlNcGZUSgpoTmd4aVdUb2E5akJLMEFobFI3aWVFTVVwc2Fvb1BNYlVlVGljaER3S3lnRUpXbUpDNVhjNGxtR2pRK3VkZFZmYXpCVm1vMDNUUFhYCmpPWXFxN0hLV25mZEJOSnd6VlozM1ZaL3c5NVE2WUFqTXFyYzlaVXVFR3VWMVh6RGJMeG1CREZkTjRIbktNWnJGaERUZGZCVkczZ0UKSWQ4aFZxK01WZUErOEVsOWxhM2hwdDM0cGFQbWhxMnV5Z1Z1VzNjREhqOE52a1I4akFick5iT2p5Zzd2Y01NQnYxcnArZXBzellIMQpaM0xWaTlYeGhVQWt1RlFZUUhtVk1KMzBVbUFDU1l5ZEloUEFsbWZ3bUVLY2tTamx6eVJXcVlMenhkamZGUzVCSkwxRWtJcmd4MkM2CkoweHc2Q2k0YyttTWpCNTI4T3NqZlc5d0NEeEJJbHBGK0NHSDlEUU1HT0tZUlBTK1RsQU9ZdURqd2R4RCttWXBHbmlPQXA1VEMxNncKK3dkOWxRSlFFRHJvZWFab0paR1FNeEt6SlN0REJxTUtWNktqZ0tqZDd4dkdTVFpQU0FqMjYrQytnVDNSNGcwVHhSc25TVGJCYWhCYwpGQ1BPS2hSaXZjOXc1eGU5QjM3ckpNbEc0bHZJZ0pjb3RJVFFuYkVmRkZ3K281YTlZTkN5RndpaUQ5SVAwUVM5RWlWVHNDS2J2eUtMCnR4d2xreGdMVDRUV1Q4UURFdE01QzZrWjhpRko1eXdpMFlQUkJ3UmZBc05TTlBvd05yZXp3L0lIR1hadEJrWHoxbUxOMk5LMG1FVVQKZU8va2lUNWZtKzdjbHord2M1S3ZTUGJkQlA1QlEyeUZnUU1ueHF1aTVtdWlZWWNUbTF3bzFLZGlSaFV6blFpYVZ3cmZBUnBUakoyTgpqakVrUXhpSU9oYUl1WFNGUWcvZm9NbUZqbHRNSDFPc2pacXJpcHVoaVptZnhTblBpaWxQajNwYkhaY1BaOUhEaVJ6QU1VV0dtT0swCldIUklJemErUG5Sc21RRTd3QnFkNG9qeVJzaXlGeGFnbjJ6ZDNoekRCMEEvNDlOUFRzNDVNV1BLSjlNbkF3YWR5dEVmaFNVaTNlNE0KelU0Z0c5Z1pyUW9wRHVFQWdoZG9kK25rMjdMMTc2WEp0elBvZzRwQVFRREJKVEF5dEg2SVFQMkE2S1hyUUFDQWRLbHJkYW5RUUkrKwpkTGdmTlFmcVd0ejNYTjRIUHNkZHI2K214ZkhJNTNyWTZMMGJjTjF4ZU95OVQ1dGFyTDUyN2FtbWY5cmRFWE80WFhKc1FIU281MjhICldxUE9QNHY3OU85dmJuYStWZkxqbG5mcmZxaHNiYm52ODMxWGI3L25kdFIxdWg2M0JCNTZBNmJXWm10YnE3MmpqVEpRYjZDL3Iza1EKR0dpZ2JYQUl6amNkSHFRTVJBTUlwdy9LVDcwd2JQdEE5QmtBQUlBQVNVUkJWQVBSQUNMcVFQMEFRSDFOUFRTQXV0eE5uWTdHRG91Mwp6ZVJHQUdxN2J6YXMvMEdSdkFxQUlFVlNCUDc4YTBYelpPSkZiT1g4UGdIRWZoTWxkUEdMQ2FDUXo4TUtEaURxbk9zS09YK2VQcjRDCm5yM0xuMWN4OWYzNlNrZmREVHVJc2NwcHV1bW91MjZwdXdJSGdWbS9oTWREUTc1Y2cxUGlRZXB2V0FHR2FxK1pRY0JMeEJva0cvUWwKU0tVcUp3aDZEdkFFQWxGMXc5d0FSQVZQbWpZM1ZGcUFzY0FqY1pDUHlWUnB0SHdKNEFXK0NrUmxzaENqTFJxdVFYTFZYSE4rZXVEMgoydUs5RTFXbGlXTnk0YkhPM0puSm5CbTBQRVpReUV1RTZaN25BWWg5QjRRYmxhUkFFalU1S1c0Nm5NTEJoVnZTRW1LbUlycjlId0NwCmZpc0FJUVBSM0dFREtGajdvUUJFNlljRUVHMmdFUDNndThDb1k2REh4MjhCQU1Jck4zZ0pCK2dIQnhEZHRvd0RDR2ZRbElRdGsrTTMKb3gxaDZIdFI4R29RZlg5aVFZMnBIMVFFZWxFQVpmR1hnb1FDQ0Jvb1VoMG9Fb0JRS1NpTWdiQitJQ3JGSUd6cmhNMXpBY1FteUhNUwptNmVPbTY2Tm1aVVJ1Mko4N0FkRmliZVdhcXZMVXIrZGxYZ3BoL3VPSG00RW13TlgxcUpMTlRGbFd1S2d4UWhoM2huQlM4dkpBd0UvCkJiaEhQbVlXb0k4cU9sOGJSNTdqL0JJQVFxRUJCTDVSdzUybDVzL0s0cTRiSDdkaEluZHRkdHhtdmFna1BYWUJNQkFPb0xSWVdORVoKRFlEd1JBUlFsdVlRSUU2Mi90REU5SXRUY3o1YnZlS0w3VHMvMy9udTljSlpsOGVsSDgzVmZ3Q3V5VkR2eWRTOGw2N1lrUVVIWHdRNwpoSEFBNlJYYkoyWWQwRWkzZ0x1Qkt5ZG5IZ0RvQVY4S3J4OEtRQXo5b0ZFWW1jb3RhQVJZcG1vVENBQ1FKbm5seXFKRHRudnQ5dnRPClg0M0hWeDN3UFc3elZyZmFIM3FkRC96dVIzN0hIV2VqcmIrdnNiRzN2WFBCWjIxdnZOc2RmNnczNW9PKzZNTmR2R050b3ROUC9yd2wKRUpkM2UrWEtIeXhYUEMwL0JCcS90MXEvcWJiZmR6Z2VCMXozQTYwUFczejFUWTNHRm9hQjZEb1FLZ0lORUNFTkZPcWVKejAvb1NBQQpzUTNFQUJBc0FqVUJZM1gzRWdEcTlqUjNPY2tpVURNQm9KOHM3c0p0WHlrU0Z1a1NLMUxqaStIa0NrbUpUTHlZclp5UkFmUzh2Q1NBCmtHWmVBa0NoamN6WWFsY0U3ckRmb1N0QUNrbUZMb2xZQzVPVUd4SVdhSVhnVDB2SkpFWFowVzFYR200MW0yODNWVjkxbUtvODlsdmUKaG11Mmhxc05xTXlES2owRVZnQlp6TWFiTG1DbTJ1dTJtbXRXRVBBRStRazhRUUhQd1FWMEFHdE0xODNtR3haTEpYbCtEN2hKL1RXago1VnF0N1VhdDZkcmptczhmTmx5cnM5OXlXNnY4TlYrNEcyNEd2amg4WitmU2oyZWtMWlZ4cHFYRVRsWHdaeW5GK1lnT0NCOHZ3b2pSCmh1bWVGd1FRalp2RUdMZzhweEFXSk1YT1JDTTR3SFB3NWg4T1FDTWdKbExZOUdGLzcyZ0FGR0tnbHdVUXJoOGNRSGo3TTV4M0lWb0QKenp3TTZnY0NDR3NTZ2tnaUFZUWRoSmdqV2s4RUdnZ0JDQWRLaUZFSXgrQUFRZ1pDSi9lZzRBeEN4enFqWTRId2F4ajN4eExVRDFyMgpRa3Rnb3dSUTBFQUVnQ2dHTVJmQzJBd2FFVUJoREJRWlFKRVNDVUN2Si9Dd2FjNXNWY3gwUUFwOTFLcnMyQjBUQmJ0eU9adkc4ZmFrCng2NEcxSUE3NFFFK29zdGhIelQ4RmpaOXdnQUlYd0lEN2dFaGx1RWcwY0FUMlZzekl3RUlXKzBLV2tkTERXR0ZuNGYrS3REUDJDSjUKVElXS1AxZkhXWkFudWwwaHNTMlQxODRXVldVSTNzMklXd1FNUkxBbUNDQmNQODhGRUZvYWl3aWdiTTNSVE8ydTNMUVBaK1RlS3BoZQplV0QvN2NNblBqMXc1Tk8xeTM2WU91N0VPTU1SSUtRTTFiNWN3NEVNNWM0c3pRNjY3NGNJQ1NDUUhNTWVuWHdiZU16V3Z6ZE92MGVkCnRCRTgwbHZBbVBvaEFSUmMvTUpuZ1dXcHRtWW9Od0lESVFDbEs5YUQ1TWpYZjNYSjZtOW9kVHl3MjMvMGVCNjAyWDcwdXg3NlBBOEQKam1xUDgwZFhzN212MisvLzE2NjJzM2VIM25wL0lQbm9RUFNCVHM1SGZjSVAyOTljOXZndkV6NHJMcmxXZTg3YlVtWHlWamJZYjVrZAozOXNjZCt5dXUwNXdoOGFhRGw5dFkyTjlFN3NPMUVQVWdRWmFoNEdCU0FCMVFzcUUxUThPSUlhQm52UStoZDhGVzZFcEF6WERJaEFBClVJKy9yY2ZiQWd5RWlrQXREYzVBclcyd3hyeHQzeTFZM2tnb1VTU1dxVVRscXNSeXBlaUZLMERQQzJrTDloU3dTQUJpSk95Ykl3QW8KdEpjNVBJQnc2RVI2SDA0OUU4SGZXazJzZ29FWUVpbzBvdms2eVh6d0w1YVh0WDdmMnM5dWYxSmZjOVZUZjkxanFmU1pxNkJYQ0xLWQowVktYcGRJQ0h1dXVtT3F2bW8xRU43UzVFaDdOREo0M1hMT0FLOEczbUlqU0Rnb3EvSmlKTXd6UnVoajRSbkFsTWRmQ2FhNnN0OTIwCldXOTZUWld0RFpVZGR5ODJuZHY3NDg3Rlo2ZW5yVkFMNFE0bXVUQmZMcGdyRmN5UnhNMUlFUlRJQkhud0hXRitLaHB4R3JvVzl1cGgKdXVkRkFJVGpKajVxaGphaGRQNk1QVXBSY1VMMFRDbHZMbmlFKzdiK1VBQWFHVEdSd3Y0dTl2Y0c5Y01QNlFwaUFDaG9vSmNGRUUwZgpLc0g5WDNUM0QrUU9jZUl6RGlBS1RLSGp3S2lERUZFUEVBMGdjdmQ3d2c2NjVFTURDQzFSMFpxaEFFUU9yOEJ4RThxZ01PTXZKc01SCnAxU2xod2phNnc0U1ZqK2pBUkJjeXlNQXhLNERqY1pBendNUTAwQy9Od0FwbytlcDR3cVZzVE1CVGVBeFB6SGxocmo1YWR5Q3ROamwKNERscVJ0YkVsQkVBbWtlc1pMSHB3d1FRdnZRR2ZtdDRqaUt4RzU4ZVFEYkNFbGdrQUtrSkE0WDBBeUVBUmNQL1VSL1BlMmQ1cW4yWApvZlhvTE04cWJkME0wYzBzN3BLTXVJV0Vja29JQURIMTgrb0FPa1lCNkVzQW9JTUhieDg5OWVuQm94YzJyTG8zWStMcENlbkhBSURTCmxlL242UGVQREtBczNXNnRiT3ZFckFPN3RqNkdIdEx1TnNpMkVXdGhUUG9Rb3pBMm96MWZpRDRBUFNBUVFJcmdLSGdBSUZRSDBrdlgKQUFDcDQ5Zk9tYlREZEsvWlZRMDdvR0VGNkZHcjkxR1RyenBnZmVoMDNHOXNObmIzQkZwL2JtNjBlLzVWYzZRbjlyMlc1T01EcVNlZgovbTJ6NTQzc000WnhCOCsrYzh0NG9hSHU4a1B3Wjh4eTIyLzd5dWU4N2ZUZGNic2YrWTBQL043cWdMOHVFR2hvaGdheXRBTUR0YnU2Ck96MjkzWTBEcUFnRUROVGYvb1FFVU9qNkY2MmZwNzAvandDZzRaNG5DRUNrZ1ZyNm9JRUNYYjJObmQyKzloNVBXN2VycGQzVzJHcjAKTk5VNVcrNCsrdUxzOTBwUmlVWThSNVcwQ0VoSW1WeWhGdjBxRlNDeStTWVVRQXdEMFc4eVFjTjZSL3ViQUVpYnVFZ3BMcGZ5aTlFdgpBdjU5Vk9MNWNrRnhxbUMrUWpRZi9Mc3BlWFBTSk1YRk9ldDNMemx4YnZldG1tdDJvdW5IVVhmZFZudk5DdWVrRXRaeFZObnRsVGJiCkRhdjF1c1Z5elF3Q25vREFLdEUxSTZvYjBiMUI0RW45Vlh2dFZYdjlkYWV4MG0yKzZUWGU5TlRkY0lLYjE5NnkzanBkYzI3UDQrUGIKakh0V1BWNDArMEtPY2dQNGVKcjRlYkJld3B1VHlwK2JCTnVjNXladzhtVHg4eENBZ0R5QWZvQVB3SE9GYUE1NGsrV0dsd3pUUFM4TApvQlJPZm5KY25veGZJQms3WFNFc0FzL0JJekRRaXdJSWI1b2VUU0lCQ0c0TjQ0U01SRVhEVFNNQmFHUytqQnoyOXo3bkR0aFFNSjJnCmxEamltY1dnRndRUXd6MzBlaFlOSUx6OUdWV0FZQkVvdEFKRVhMK0NCRkRJWnZqMXVaSjFXUGxuRXl6L3hHOEhBRUliNE9sSkZPZ28KSUJBa0huSjVLemkzYThzRVlCY1JiQTlpQktGbm9tZ3JDbTJnc1BvQkNjN2lrS3lEbjQxczAxNGRDVUJvTUNvRFFIaXdVdEFTSWpTSgo2Q1loTWhFQUZHWnJtRDUwUy96b0FCUVNiS3NYa3pJdkYzajBjOXdNVmR4MFZXeWVGZzVZTFFOSjR5MGdhaTNGZW5oa2N6RjZFLzdRCjJEeVdlNTRESVBsYnhiSy9GWURQck9NVUtxSm15c1pNVndIeEFNWkZCaEN1SDlwQWtRQ1V6cW5JNUN5ZEV2dnV2b25tK3p1OWdVOWQKbnl5d0ZRaC9DQVZRQ1FtZ21JcElBTkpIejhlRDNnVFhSQVJRcHZxRExPMmVITU1Ia3pNdno1cDBjZXVtcXYySHFnNThjS3U4cUhKSwo3c2tKNlVmQU5XbkszUmxxdUxCRldBZlNoOW9zUnBWL3RMdFJCV2hjK3Z1ekpuOEVYbXBUTm9QM3diZUUxUThDRUs0ZkdHTDhPOUNQClFRcGJmOERMRE9WR2cydzlIQW9tWDVlbDJTWVhMM2huM1dmV2U1M3VSODMySHoyd0ovcFJpK2VSMTNiUFlYdlFGcWhyNlcvcTZmSDQKKzl0K1duNis1YTg3dktyamZhcVBoem5iVzZMbVZzMmVkL0xUOTIvZVBQTE5ONS9YUDdyaHJxdjBXaXQ5dnEvOXJ1Kzl4anRPNDJNUApZQkREUUcyT3pnNWdJRjhmYmFDK05xYUJhQWFGQlJCdUlBU2dKMTNCSXRCZ2F6OHdVRjl6TjV3UDcrL285YlozdVZvNjdJRVdzN2U1CjN0VjRyODU2dXpZdGRiRkNraTlQV0tMa3o1TWx3Lzl6eVZiT0t3S0liajBPWVFyTFFBd2I0VmV5bGZPS0FNSzV3MzZIckFDSjRDNHcKOER0cUVnQ0dGaEQvQXZOQnBNSlNtUWorN3ByNE1yV3dXQzBvMEFybWF2aHp4c3ZMUzZkczNiM3k5SVVEMzM1M3dWUjd3MU5mNWF1NQo3akpldFlHWXJ0bkJZOE1WS3dwNGJxNTBFdTA3QUVsMjhOeFM1UUtQcGh1TzJxcW11NWVkWDU2cS9mekRIOC9zdlgxbzQ4Vk41Ujh1Cm5mM09CRTJaSWJsQ0sxNlRrZlJlVHVvaGZkSk9SZnh5ZVh4WktuZU9VbFNzaWk5SjV1WW5jZklVNHNKVTBkd0VMbUVVWXZFTHRRRWgKREkwU0U2TUowejJqQmxDSWZyZ3pWZUlpeWRpcHVzVDVTYkZ3VkVWeTNDenhtQ2xLMFF2M0FMR0pNM0pHQmhCdElIcTYreWdCeENUTAppR0hUNXprM1lRR0liYUNYQmhCTkh5cW9DQlJTQWNKN2dMQTJJSFE5ZkI2NkVleHRFR3IrRjliOWs3Q0RCaEFkcEI4Q1FIREJDNTNUCkEwUDA5OENlbnJENklWYks4UFd2Q2NKTklNUVMySWdBQ3RYUHlBQ2lEWlFqZUs2QlFqSnFBSVV4VUVRQW9lWm9kaUlBaUwwQm52b1MKa3pqUFN5RnFrU2E4QWg0TGxGRno0VWVLS1RURXdWSHRCSURnRkREaWg3TGR3d1FRcmgrUUxPRnFkVlNaWWd6Y0Q2K01uZ1ZDTElybApSUUlRV3o4b2FBa01CNUNlNkZZMmpKMmR5eTJieHQyeFZ2WGc0NW1PSzhzYzcrUWFaM0t1QWhWbHhDMUNBQ0wwODhJQVF0ZEVCRkNHCit2MWN3NEZ4NlljblozOHliZHlad3RrWHl1ZGZLaW02TURYMzNJU01qM01Oc0VNb1hiMGpUYldUYm9MR2Rzc0hBWlNoZVhkOHhqNkQKY29jeWVXT3VEbHdETzRUSU1hZ3MvVkFBSXRlOGtINFFnTUE3QUVEQVBlQTV2Z1Nta2EvT1ZHOEcvMS8xcGFNMXJhWStiN1Vicmw3ZAphM0k5Y0h0K2JEUTk2R3lzOXZUNkIxcDhQVU50WGRlK2IrZnU3MG84Mko1NnFGMStwRDkrcDB1OTlLdjFHeXUvT1BEMWwrZU5keSthCmFqNkhEYXFPYjN5bWJ6ekc3K3pPaDI3bmZZL3JvWTlkQjJwemQzZDRlN3Y4L1QyQi91N21nWjZXUVlKQlE3QWhHaXNGaFYwQ3d3MkUKQTRnMEVBR2cvcFllWUNCVUJPcDJ0M1k2bWxvdHZpYWoyMTl0Yi8raFlieCtneXFwV0NwWnJCV1hwU1NWcFBIREtBY2xFb0FpRDBNTgpBWkEyY1JGVEtpTUNpSGJQNndMUWl6WkJ5NFdsNEhwZDBrS0ZhTDVNTUU4cUtra1JGTW5FSmNxRWNwa1lGb0hrd25reVFiRlNWS0tXCmxDcUU4NGpmdWxRdUtKWno1Nllsek0vTFdMZHN6dDVOWlVjLzJIRHgrUFpyNS9aK2RmbURPOEEwRnc5K0Q1NS9zdnZMQStzdjdsbDEKYnZ1aWo5OHUrV0RsbkwwTHArMG9HYit4TUh2ZFpNMktySlFLNENyNHh4WFFTbHlrRWhha2N2Tmt3cm1BWDJyUllyVndoVWEwVWl0WgpwaFpYeVBnRkN1S3JpVEV6RktJNUtra0IwZ0FDQnpyekJnQUNQUUVTUXRXZzF4S21lMFlISUlaK1FCSmpwNkZIQkRYd0NENHRldk1QCkJ5Q21WNTRYTm4yZWN4OENRR2dZS2cwZ2hvRmVEa0JVQjg4S0drRDRHRlQwSmJLN21mQU5pU0V5a0VkMGNRalhEd0lRbXZ3MVRySVIKNldkUzRrNDJnT2hRK3RtT0trQUFRR0gxUTg3QkFBQ2loSVF1Q3diYjRZV3ZlU0g5VVBRaDlmTmNBQ0VEaFFKb1ZRaURCTXZZQUdJdwphRVFBTVEzMGV3T1FMcnBNUGFaRUgxT3FqUzVVUitXcFltWXFvNmVwWTJjUXU5Q0x5VzNueE04Rk50SStyd21hb1IrUTR2UkQ0RCtICllreVI3SzJaOHJIVFZER3p0WEVGaXJHWWZrSUJGTnprUmJpSEZnLzYxMkFBQ0NRN3RpaUhYejVCdUtWUTlQM3lGUGQ2bGFzMC9zRUUKM3I2TXVDWHBzUXNOMGVVRVpTajlqQTVBZFBrblBhNzhqUno5d2JESkFvN1JIVWhYNzh2V0g1eVlkWHg4MnVtcDR6NGZuM2x1bk9IVQorUFRqbVpxOWFCdDhobVpudG5wdmhtSnZKQUFSVG5vSEJEQW9VL1dPTG5WTEdqekxCMnY2Z1FBaTlRT0ROZjBnL1pBaDFzSlFEeEJnCkVLRWk4TGhPcTE0TzdxQlAzandyWTV2clFhdnJvY1gvMk8yOTN3d0ExSHl2dmVGK3ArK3hyY2MxME56eTgyQnpZNk5qSVBualo2SUQKblluN0cxT1B0a1R2Yi8zeldzdlVGZDk5dXVQVzljUDM3cHgrWUw1YVk3cFI5K2lHdWY1Ym4rdEh2L05yaytPZTIvWEFTOWVCL0EzTgpUZWEyRm10SGk3T1RObEJub0E4WnFMZVZCQkF5RUE2Z24vdkNHQWprYWQ4ekJvQ0cybUFSS0N5QW1rMGVWNDI3NCt0SGs3TjNhS1R6ClV5UkxNNUlYSnliTnkrRE5aeXNINWJjSEVLSlBKQUJGU3FRbWFMb1FOUUtER0V0Z0NoSDhMYUIxSktYcXBBVlNFV0RRUEhoV0pFQlAKZkJtUUVGQVJDUGdxZUV6a2xzckVpNVR4OEx2Z2Vwa0FwQWo4TVZNSWkyQ0ZSandQQkR3Qkw5RTc0TjlUTGl5UjhvdUJydUNhbXJnVQp2UU1zQlFJZ0JYUUZqQVdTS2l3R1VRaEtaUHdpQlQ5UExjclhTZVpvUkhscS9td1ZQSXBtbGxaU0NQNUNneThSVXgybWdRdlF1VGlvCjZnT3hRandDU2FDV29OY1NwbnVlQnlBMmZWS0k2aFRhOTQ1RWtoUTNGVFBLL3dFUUs3OG1nS2d5RDJtZ2tRRVUzT2RGQTRpWUJVYnIKSnpkK0F3bzY5UWZvQjdiK0pHNEQraUVBOUE1YTlxS0RGc0ltaUxkT0Z1K2srbmhJQUFIZlRCQzlIVlkvQkgwQWQ5N0dnL2JEc3dHRQpndEVucUIvZ214Y0ZVSTVnZFlpQkJNdm9zQTJFR0JRV1FOUUowY3hUZ2hpYndvak1BMkc2NTNrQVlyeVBYVUNjS3NRS216NG9CczUwCjlkaXBhWng4UXl6Y21XV0lJeW91MFdYRTQzeE5GREZCZ2dOdnF3Uk1pVHp6aTAwZkZYSG1rRFo2aGZRdlpRQkFPazRob2FzWnF1ajgKVndFUVhSTkNBRW9EUHlLcVRNZGRsY0hkTlY2d09aZTNJcHU3S1VOY2toNjdPQzFtQVEwZ1FKa1hBaEM2QUFKb25PNGdTSzZXbkg0SwpvOXM3VGs4T3dRaStxZDAzVHJjZkJOL3RGVEllbFRvNEVSNGhUVnhBa1dnM3F2clFCeUVTNVIraUFrU0ZxQUNSZ1kwKzJQb1gzZ2tVClhCU2pZcEJ1U0pPdDBLZStyWmR1elZSdjNicm1rcmQrd0hIWDYzL2dkZHozZWF1YjdmZjh0Z2UrTm50UGo2Ky8yOTg5M0RHdzRsWXYKWjdjdjZjUCt4TVA5eWU5N0pmczYzbGp1eUZ0OTQ4dmRWeTRmcTc1MXNiNzZXbjNkVmIvMVNvdjdTNGZ4UjVQakJ5K1FFTEdzMWdRTQo1Q1VNMUdoc0FRWnFzM2QxT0hzNlBiMWQzcjRlUDlVUzFEWTQyQTRvUXhTQmlJM3h3MzFQbi9SRDZERHlwQmVXZjU3MXdDa1pqTkZnCi9hMjlJSDB0UGIxTlhkMk5IWjJldGpabmM2dTFzY25rYmF4emRmOVFPNlA0SVBpTHJrOWFKb3RmcUl0ZnJrd01PUWNJL1ZWR29XV0EKcklCaGdyM3NGVUlmbUZEUWhBMHRJWlY0NFFna29zTldFZW1xY1BNdTFPS0Z3Q1hBTlBTbm9sOUdTcVIvaDRnUnpxZWpFcFhTUVEzVQo3T0RYaDNsZkZKUVFIRjdCekZ3OE12NGNSZ0JFMENNanFkeThTSjVnVjJ0ZWI4QlBKL2E2dzJsY2hEL2drSXFVT0xKa2hYa29aUDhYCk8rdzdVM2RnRW1jMFlSc29OVzRHQ3FNWlNDUEpUNDZab2hJV3lMbHpsWHhZNTRQVDQvbXoySHdaU1RCRXNDc1prMUNaQnlIQ1VOOEYKdDROUitnbmJBMFI2aUZ1cTU1V0I0TzRoWGdablgrRFJjeGNCeW1TS1ZxYnhsK1RFcndJd3lvNWZraTRzQis0aG1xUGgyaFpRVGs3OApHblMyWVk1a0E3Qk90bUJUcm1nSFlNRjR5VHU1SXFpQkxNSGFiQ0Y5MkE4WlFKOGMwWHJ3Wkh6OHBna0ptd0dBMFByWENCV2dTTnZkClF5dEF3WU4vMk1UQjZ6M3NvTVd2MENVd0dNWU1WR2dnOFVvUThCeTRCeVc0NXNWYkRuNWxGUFJkNkRrZ1VTYS9MRnV3bUxoNFRSWnYKSmFRUHZ5S2RXNUxKVzB3MUNRVUxRZ0JBK0U2eGRNNUNPc0dlYU9KWUlGUUJJaHFjNGRHSVpGQ1ZpRGhCa2VraE9sRWxBQ2dBQkxCbgptVk1LSG9GZDlMR2trR2duWVVBcFlLc0ZYRU0wK29RSnVLR09ha0NtelFHWHc2S0tpT0N6MXNtekIrbVRuZW1veDRhY1MwU2Z3UWdTCjZTQkUraGhvUE1SSFFoTENQMlFSRVZKSXhMOEEvS2NBU2VlU3JUOVVndEJodUlmV1QxcDBPWjMwbUFxVWpOZ0ZiNHpYSDZJTWhGbUgKQWhERFFDQU1BTkZuL3dRQlJGMUFBSWpVRHc0Z3lrQ3ZCMEFaaWxXWnFrMEcyVFpsNHVycHVac2ZmZVZyckduMTNuTTdIL2hkRHh1ZApEd0lBUVA2RzFpNVBiMytncnpmUWZhRnVTSG5BbS9qaFlNS0Jqc1FQdXdVSGVuamJteE1YZmJOdHpZM3poMys0Y2JiaHgwOHNya3ZHCmhpcnp2Uzl0anEvczFtOWQ5dTg5eUVDb0R1U3JiNkxyUU1CQTdhNXV1QytNTWhEY0drYWNEMFRXZ1dnREVkd0J3ZlVEdm9RRENCa0kKQUdpZ3JTOElJSDlubDdlZEFwRGZYK3NjdUcvS0x6c0NEM2NXTDB5VmxHVkoxMG5GekJyUGJ3K2drV3RDZE5qMG9RR0VHd2pwQndSdwpCMzE0OEVTWHRCZ0V2RlRDb3c2WjlIazVBT0hvd1hFem12eVdBR0xUZ1YydFlWL3o2a0czbGZKbmdoQ1ZIcmdyTFlVVDNLSlBHNGlOCm50OERnRkppcDBvNTAxWENPYWx4czZTYzJYTHdMd3lQZ1o3OUVydkFYaEpBVlBjUEVaSTdiQUFoL1RBQUJNS21EenI5T1VNSVR3QUMKdnNrUXJNb1VyalZ3VjJZSTFtU0oxbEc5UVdSck0xMzdtWlN5T1UxWU1pNSs5Zmo0alZtaVpabkNoYm04blJNVFZnTDlJT3RRVFQ4awpnSWpIalF3QVlWUEFRaXBBc0N6RUFoQXkwSzhCSU54QURBQ1JFYTBJQ3lBaXEyZ0QwZnFCYndxWFozSlhaSEpXNS9BM2dtUndWZ0xvClpQRVpKMGZqSzJLakJ4QXkwSXNCQ09vbkJyb0gvY2tIVHhBTElnR0lUUjhVTm4xK013RFJsOUYzR0FGQTFHZkEzdy91R3FNQkZFeE0KY1ZnRHZRcUFzQ0lRTmdxZUVSeEFJU0VBaEgrVlhnaGpBNGh4K3ZPckFDaFR1Wlk0R0hxRFhnWWVGNXc3L0xYcllaUDNBVHdJMFg3UApDNTdESncrOVFDcUR6VU9kN283R2xvSFNjeTM4L2IySkJ6dDVCM3RpOS9lcERyYTl1YzZUc09pYmQ3YmV2cjMvN2pmSGFoOWNlRmhYCldWMTd5MXBmWlRQZmRsaS9kdG0rYzl0LzlEanYrWUNCZkRWTjZIQ2dnS2tWR0tqVjFrbnVqZmYyZGZ0Z1N4QXNCUkhuUkFmM3h2ZkEKRTUvaFVoZkZJQXhBOER4b2VuanFjT2NRZFNBUUFhQkFOd2FnSmdBZzl5UDdrOGUyMG1WbkRTbUxvQW5reStlTWV6OU5zWklCSVByUAovNjhOSUJTY1BpUm9XTmZnWDJVbnRBZUkxQStxQUlFUHIwOG14bjBRRGM0eThGY2thVEdiUHI4OWdKU1lnY2gzZmlzQXNmWHpLd0VJCkNBUFFCNjNCSmNWQmFrajVNMUw1VTVGNDBEVTBnTkR6c0dIZGxnd2JONlBKNkFFRW5pc0ZzeFdDbWFtY3FWTHVOQlU4ZWlCZkxTeCsKaVhPQVhnSkE5TzUzcEo4UkFNUndENldmaWpUK1lqclVCbmlZYkFtcy9lUW1yQWJjZ1F3U3JqRHdsb0luYUNHTUFhQXMwWnAwd2ZMeAp5U3V5eGNzeitNc25KcS9NRmUyWW96dzRTYndYS0FkMU9vTW5TRHpvSGZTUzFBOEdvTW1oRzhHSWdSZ3dqR04rNkx3dUFFVUtCcUJRCkF4RUpaeURJSFp4QjZHV3VZSDBXZDkwNHdkYnB5WHRCeGdrM0F3eUJlK0xRQWU3QkdvTWlBaWlzZ1NJQmlIN09DTlFQK0ZzZUxQOUEKQUFFVzRBQUtheURHQld6NlVDSFhteUlCQ0I5SjhSSUF3aStqNzBEa0pRRkVCMTFKQUNpTWdTSUJ5QkJWeGdZUUNBRFFCeURJUUhnZApLRGdJYlBRQW9yYkJFKzlBN3Z3R0FETEkxcVRKMzFZbHJjdlI3VERJVjJ4ZStySDFUcVAvRVp3TDVyanJkVDlxQmdheTNmWDRHNXJoCktwaTM2MGx6NTZudmUvaDdPcEtPUFluYjA4cloxeWs5MERqbXdNOXZiTFNsTGZuaG93MlYzeDM1OXRvbk5YYytxM05lcTYrOWFqZmQKK3YvWnUrK3Z0cTU4Zi9qTXBMblNRU0Fra09oRmpXNXNjTUc5RjJ5d2FhYTRZcnJCMkk3dE9NV1pTVExwUFhHYzJLWlhnd3ROWFVMMAo0cEpNWnU3YzcvZTU5ejYvUE4vbitTT2VYYzdaMnVjY1NSaTNaT2JldGQ1TFN6bzZFcEM3N3ZpMVB2dXo5MGNMRERSOHc2aHRNdUV0ClpxYWVFV0Nna2R2anRqc1RURS8wOE15RWJnWVlDQzZIa1dNU0o0Qmpmc0Z0MFdSUWh0QkFHRURFUUZ3QXdiRVlESUIwRXhoQXBoN0QKUC9xTUIwcytqeEx2bHZ2dWtBWHVUZ2d0Q3ZGbmRuMUhzNjA4VlBoN3BwNEhnT2dzQ0VEMnQvQ2VMempreTU2b0FQajdZUHFFK3UzRQpMVDVJT1U1bmxpMFVRTkdCZTBCb0FBbVh1bHpueFFOSVNKL25CNkFRNEFaWS9vRlZIOVR2dkRiVVAxM211NElISUtJY0lYMWVKSUJJCkp4RFZETFF4MUh1TnpDczkzRzkxbUM4OGJSTE5EdHZ5QkNkQkx4UkFRdjBzQ0VCUVB4U0FhUDJBQU82Z0lSalpzZDY3VW9JUEpnUmwKcVVTN3dTUGJESVQyZGlFQU1SdmdSVVZKQWVYeC9nVXJnMCtrU0E1bGE0YWIzdGNWcFpvQWNUQjZTTDBIdjJTT1BaU2NKQUNpNThEego5SU1CNU5CQXp3bEE1UDZVZ0JJVVVncWFCMEFKdnZuRVFIUVNmQTVydkE0bit4OWJIVndEQXA1b3ZBb1NmQXNkVm4xNGh5VnlBVVIxCkFnSGZ6QWNnWndINlVYbnRKZVVmWndDaURTUjhLeGJ0ODNJU1RzTU5iU0FVb3AvZkJZQ0V2eWNMSUw2QlhBQUlHNGpXangxQXhFQ2sKRGtSUGdLZmpjQ3c4ZnNuZXcxZ0hBUWdlK3Z4Y0FSUXJLNGlQUGg0YmZpUXU0cWdpTEgvNzZuSnI3MzFUaDluUWFVWVRVa2NCZ0hRZApGa09YWlh4NDZwSHQ1d2ZHcVNIOVh4UGZtdlc3OEt2azdLVDQzR1JBamNuejR0Kzl6MDY3bFE2ckMyOWNycnoyM2NXT3ErOTJkWHpZCjIvK0o3dDczMm9FZjlJTS82YlUzVGJwbU0wQVZORkNYRFJqSTJqYzJlbmVTR0doU0Q1ZkRzSUhvY1JtOEk0TG8weEZCbkZlQUhqNFkKZ3pNeFppMnpNOFpwQUtEeFFkdm9QWnV4Vy8vM0htTlIyUTlvdUdsV1pFaFdiRkIydEN5TDV4aUNBQ0VSYUNqUUh5SERVQmNFSU41YgptRFY0dHhlK0lpd09PZEJQRUFRUVR6ODRpcENjWUsrdDRKZEppam9jRjV3dFhyNVJIWnFMMnB6NWZ4SDlkejAvQU0xVEsvcVhBeERXCmhnelZlT1JvTFV6dWx4SHN2WkkyemRNQmlIOG5HejU2WEFPSXBnK1BRZUF4M0hkZGRNQkdOSUYxZllUZkpybm5odWNOSUtLZmFEKzcKZm1KUmR6TklyTjhlRW53RkwyL2gwYWZDbG1jUzlwZ2Z1TkU5V1ZLWUtBYmNnZHZkTmY0RjZmTEtCTkV4Kzk0dTdzbk9TZUxTMUtBcQpBS0FVOFJHMTM3NnRZZDJmbiszWUVkWkZpUWZxaDd6RXAvN2d6Vit3L1ZsYUJqQUVWVVNoeHlHQW1HM3dhSXM3REdmWUJhSVA3bm9XCjBPY3hBY1M3bndVUU5CRExJS3dmcGl6RXEvVEEvaDZ1Z1VoTFVLSWZUSkovRVFoNkM2Nmo0YzRoMWtEWU92dDRzOE9FQUJJYXlEbUEKOWpvTTFBOEZJT1FBdEdtTDZwWG1NVWg0OFRFQlJDK0VMUlJBTkhwb0REMHJBT0hmd2NGSFBQQndVeEsyYWZxSkFVUWJLQ21tZ1d6cAo0akZJQ0NENkpXMmRoT2dLQWlCQ0ltS2dad1VnZUNKaVdFbGNSR2wwYUJIQVVGcGNvYm4zWjIyYkFXN2Q2aHhCV0JtRDV3TzFtODI5CjFvZm1SM01qdndCa1ZQNTAzNnRtUkhiaGZ2QzVLZi82Y2ZlNmNmOEc2OUp6YzI1SExkR0htdDZ1L1BibTVmYXJWNGJiUDlUZCtRb2QKam5kVkJ3eEU2a0Q2ZG91cFp3VHVDK3NidzNXZzBZRkphQ0MySldqTyt1QUJXZ3VEREdLWHc0aUV5QkZCdjhJaHFmLzRPM2crKzNjUQoyRG85RFkrV0JoK0I1UjhJb1BzQVFOT0dxUW50K1BqQW1PM3VpS25iOU5kTzNaSEs2eEVCT3dFTEFJRGszanNCZ0lTN3VraEZ4MkVvCklkbjE4d1FBNHVYeEFVUSt3dHpncUFJRUl2ZmRFUU8zdFdkZnFtbUxsUjVJaUNnSUY4RjFQZUZmeFB1N0hoTkFDMTBDbStmbTV3OGcKb1h1ZUs0RHdOOHZnVHFzTUJJN01FSzlNbVRlemEwek8xUS85a2hmaE43dStYNGllSndPUTNHczEzSUluMmk3ejJJaXlQaVpnUjVnUApCMEMwZ1lUdWVUb0FjZlF6TDRDRXZUNE81MTJBSkFZZGlnL01nZnU4QW9wVjNzY3p3OTg5bldXdTJHRktGT2Z6QUlTWHdCUStPU3RrCitVa0FUUDU1NmFHSFV3SXJNa1ByVS8xck1HdEljTlVIN1h1dlhDbXRRbkVLSU5JQUJPTVNRS3lCcUoxZkF2cTREcmVTWkE5dEk3SWoKakY0WDR3R0lGNktmWk5SQWpjV1Q2SDhvT1NBdkpUQS9TWlNMcTBlc2dRQjNzZ0NBa0lIbUJSRG5aS0NuQkJEcEFhSzJnL0VCNUxBTwpKSEFQQjBCa0ZZeGVDTU1RK1YwQlNQZ3BDQ0JIQm5vY0FHazhzK3dBV3FHNHRFSjVBWVFZU0FnZzJrRDBTeHBBcUNFYXJubXh5aW5ICkFLTHBRK2RaQVFnOFJvY1V4a1VVQXdNcHcwdmpRdzkxWDRYbEgzT254ZGdGQjhVREFKbTd4M1VkRm4ybjJYWjNiTnI2ODkrbTcvY1oKWnBQZkh2Rm8rRVY4ZGs1OGZzNmp6cmJzdEZGODRlSEx0WS9jQ3Z2VGk2NWRxbXIrNnVLZHEzKzYxZlh4N1Z1ZjNldjdlZ0NXZ243VQpEZDdRRHpjYTRkWXd0aWNhR0dqazl2akl2WEdtTFZySHRnUlpJSVBtMEhMWXcvRkhENEJwMElvWTc3eEVyQjlBSHh3NFdXd1NtZ25xClovVEJuSFZ1eGp5REFEUTUxaitLQWZSek93UlFaT0F1SUlPSTRIMFIvbnVqUXVDNWYwNE14Q2NDRHdyUEZrRDRacG80cmdHRTMwVUEKMmd1QzZ6RjBsTEtEd0VEZ3Q5cVdVYThJeWNFTlFNQkF3citJOTNjOWJ3QTV2djg1QTBpSW51Y09JTi9OQ0VDclpiNHJZZXVQVnlZRQpkOENoaUlCTjZMcTkrMGZ1U2pPL0dZQmtYdW5nTWN4N2EvQ3liZkhCaFRMM0xXSGVtOEo5MS9FQVJBd2tkTTlUQUdnbkFSRFd6K01BCmlIRVBpWUErT0dyL0hIQnpVbEIrY2xDSjByczQwZi8wYnZWM0c4Ty81RldBa29LWUV3N2hiZjQ3a3NXd0FwUWlLVWdNekU3MFByVXEKdUpEV0R6RVEydmRlc3lxNEdnY0RDTC9MUVErOUVJYU9NZVFCQ0Y1NVJnRGlmbzg5dkJFWkN6VVFxNS9EOFQ3TVMycXhMRmZ0bFlOTApRZkFsM0JXZnc0eU85OTNySEVDT0RmVDBBRko2N1FBaEFPSVp5Rmtua01BOVRPTFlMZWcwZ0tqRkpvaU1wd0VRalI0dWh2aVVnWnB4CkRpRGh6ZmkzWWdBa01KQXpBQ21XN2FZQmhBMEVYaUlBVVFZaUFFcU9xd01SR29nSElBS2orQ2hvSFJaQUZTOE1RSXF3WThBOWlzaVMKS1BsaFpmalJ4TWpDcSsvZnN2YU9XcnFzY0NHTUJSRHFpVFlPdGVwSEJrZW56YmIvZURCNXF1VnZidlgvUzNUMmw4Q0dHWjl6TXo1bgo3aTgrUFI1MFlWcDhldmJsN01Ha3ZKK3UxRis5ZnZGbTYvdmRIUi8yQWdQZC9tYnczZyt3SjVveEVGb0xZL2FGc1czUjBFREQ4S2hvClhBZWFNYy9OV083UElnYk5qVDI4ejJVUURnMGdYUDRCQUlKZ0F2ZXpBSnJTVDQ4UFR3QUFqZHl4bXJyTmo5cTBKZVUvUm9uQnY5OTcKd3lSN0ZOTHNDT2t1SWhpQmdmaEU0RUhoV1FGSXFCeHlYZmlXRUVDeFFmdUVBQUpYSWdMMkFQR0Urc0Z5RjlBUFB1WW54dFdaUUFzRAprRFBjUEU3NCtubWVBQkp5QndTZmxQaGNBUVIzdlB0c2tQbkN2aC93R095NVBzSXZPMEZXSGhtNEdmeDBHUmRBTHZhQ0NiK1orWDdCCm5XejQ2SGt5QUVYNHJ3bnoyUkRwdXljaHVQVGdoZzgwd2ZtaFhoc2pSWm5oM3B1RUJnSVJ1dWRKQVFUMXd3QUlRR2MrQU9GbEw1NSsKd0JVaGZUVHNBQy9ZN0J3QXpMUW5NUWdlQzVRa0xvMzNQeW9FRU40R254aFlDZ3lVSkRxZUpEcVZLaWtHdmtrT3lFc0xZb1o4MFlINgpDUVkycWtYaEFBamN6TnYvWlM4SVBTTUFwUVVkZFJqeVBYd0RnWmZpWTVTQjdOUEI1Z1VRS2YvQVk0UUNqcVdJamliN2x5U0xpdEYxCnVCQUduclByWmZqSXhCeTRMOHh2bndzQXNlY0RQVE1BVVZ1ZlhBRm9vZHZnZjI4QVlpdFM5QytKdDhHVFg5aitLOFVzMzJJSEVOZEEKQ3dZUXZRU0dkNFNoTmlEN2pqRFkrMHhWZ1BEV2QwY1l3b1VmWm9zN0FWQlNkTFhESkVSV3gwZFV4VWRVTUFFZkFSaUNrMUNQWXdNUgo4Y0JPNTlBakt2bEp1T2NyNW1oc2VBbUlKdnFJUWw2cWxKMklsMVdxdzBxancvTGlva3FpWkVjU28wNWVLcjlxNnA3U3Q1aEdiMDNwCjIwZTByVXdua0xIYlp1b1pNYlhhekFOei85ZllMM2ROZjh0NGYyWnA3YXpreXErQnRXWlI3YXhuM2Jodm5VbGNiMXRXUCtkV3FnMDcKZU8xSzFVODNYbTlwZXJlbjZjUGVuazl2RDEwZHVQdjlRTy8zcHVIR0IvcG12YTVGRDFDbDdiSG9lMGRNZmFPMk94TlQ5NmJ4Y3RqWQo4TlFFS2dWTm1XWVpBMWtlUFJqNTVkSG9yNC9HLzhwT0VJTU0raXNWcko5SEU3Q0JlaGJveDNaL3hqbzdiWnFkTkV5UERZM2I3bzVhCitxeVdqdUcvdGRyMm5yZ3FEOW1qOXN1T0R0MFhJdHVoRXVjSUtVQ0hOWTJkUjRRK2RDaEZzUWFpR0NRTWNJeWpuK0xxVThMZkRZZnMKVnVNbElnRE44TUxWR2twc3dqdHgySyt5TXdpZUZ3RGoyRU9rM1Vmb0c0ZWh1Y1BiQmcrZjJQVURBWVJPZk40bVlCQzhMdFFNTVExbQpqUkFLK0lud0l5UkNYaXdrZGxMd0l2UkhpUGRxNFVVYy9HMW92eGljR0E4UzdMa09uV1BFdjVPTmtENHdvVDQ3cEo2clEvM1RRN3d6ClFydzJoZnZ0Q2ZiY0NQL0xzTExCelQyaGNKR0wzLzVNUis2MU9zeDdTN2pYWHJYNDZPYUVpeHJwNGVEbEd5TDhOb1Y3YndCOGNSNnEKSUVUdDZzSVhPYXRtUHR0eG9ueDNnQkQzRVAzRWluYkhpZmJaNDVmbE1Bci8vU2paU2hIcDljR1ZIZ2ZsSDNMdXN6QUpJcGpFZ0x5awp3SHh5WUNCS1BudWxpTjNpN3FUMkEvUVRVbzdYdk5LbEZXdGsxY0EzYTBKcTAwU240R21IWW52U0FzdEpzSXJZeVJobEs0Tk9ra0h4ClpKdzcyOEZUQWlKczdzSGhGWGhJaUt2d3pGU1l3QW9RK2tjQXhHREhJTW9jd1VueUt5WFB3WFVXUTlBM2tEaEFQQ2dwL3NWVURpZjcKRlNiNUZvQ3dXcktYaGZBQmlhZ05DQWF1aVBuc0lWSDVacEdRVWhBSVFROXlqeDA2Y1Y1N1FNQVQrbVlRaGxOZWUrRmVNTTg5ZUVzOAp1eGJHUUlIVnoxWjBSak9Nc0FqRWUwbndCTDR3em4yUHlpdEw2Ymt2emgzcUtzNXpjL1R5VENJcS9Dbjh0VkdPOUlNVHVYeERsUHRHCk5veCt3Ty9EY1E5N0ltTDA4ZzFvVmN0dUk3YlRHWTRrWSszRkM2NERDY05YRkE0YUM3K0Q3b3hteno5a0x0cFBTdlRZcDNRQklIcEgKR0cwZ1h1c1BpVE1BSlVaVk9Rd0NFS3NmbHdEQ0JvcVBnUE8vVkJGSGxKRW5RY0FUUldpeEp2eUlLdmlrS3JSRUdWRVlHMTRVRzNaYwpGWHFrZVBlYnhxNXB5eTNiVUxNQm5sN1lQUTRZWk9tRlJTQmRoNlcvZmRqVU9tYTVPL1ZmVS8vNHBQZkJrc3NUaTgvOXUremNwTi81CkIwdnJabjNxSHZoV1RIclcvYkxvN044WGxReEU1UDUwNGVUMUw5N3NhZnlncituOXJzN1ArdTljTXc5Y013MS9POVQvNDZDdTJRaS8KczN0a3FOT2k3WUtkMGRidUVYeE1JamJRT0pvZUR3dzBiWjdEbStTQmdSNk1Nc2NGb1NGaXZ3RDA0TUIyYWFRZlhQNEIrcGtkbVFNZgpuRExPVE9xbVJnY25SdTdZekwwV2M1djI1MmJianRKdncwTDJ4b3NPaGdmdkNnbmVwaEJuYy9CQmhlc1N1MzRXQ2lDNmtPTU1OTUpQCkNTTWtpK3NRL1JBQTRkOWNlQ2MzZEIwSXpnSnpRQjlFcTk4S1FCZzZ6aUxVekQ4TGdNVEwwOEpGVUNvZ1FlN3Bhdm0rVU4rTmNPeXIKNEU0MmZQb3c4VjBKM2czeDJnQzNudm12anBaa2hvdldBd2xoK3RDNzNMR0JoUFRCQ2ZkYkRZWGt1VG5VYzVkS2todnV2VVB1bFJuaApsd2tBaENPZ3o3OE1nR2o5RkZFZUlnQkNJMDdacGgreTV3c0FDR1J0ZUUyUzZQZ3FPUDY5REJnb1ZWUUd0TEZlWHI4cXFKSTJFR0VRCmVFTG1ncUd0OG5CRVBERVFNZ3F6VnVVYVFIU2xoNDREQUNFRDhhYlRZd01KR1lUMUE2L0FtbEF4S2ZCQStvaEtZWkNCVWtVbElNUkEKSU00QlpPOEhvZzNFY3d3UFFJS1NUeGJXandzQUVRTzVCcEN3L01NTEQwRGdDNk9YYmdkL2hjSmpiOHl5SGJIdVd5T1dyRlA3MnRmTwpuaE9BYVAwUUFLSHc2Y01XcUlUMGNRVWdKWGRyR0dvTXdxYy84L1dENHdwQUtBMTJCcUY2RHdFUWowRUVRQ2psR0VEUVFBTDZzQUNxCjVPbEhDQ0RPV2xqa1lYQWRqaDZMcVFWUlJwYkRseEdGR3RrcE5iZ2hzamhLWHFBSU93WUF0REhweEVEcjlIQ3IxdHd6Z29NUFJUVGYKR3ROMzJneTlabjJuMmRoaS9YWElOamMrbC8valE3ZTZPZEdGUjk0Tm84dHJadjBhL3VGZE03dm8xSmo3K1g5ZmN2NGZia2VOdmpuTgpSNDQyWFQ5enZlbWRtOWYvMHQvM3FXMzRhMTNmMWRiK2E4TkROdzJEVGNiK0pzTndtOG5ZYlFQWUFnWXk5WTNnMDZKdC9STzJ3UWxjCkNwb3l6REV6NUMyUDdsdC9uaHQ1aUk4TEFnemlCVnlFdzhWR0hzNVk3Z1A5NFBMUCtQQ1ViV0RjMG1jMTNUSWJtb2ZuR2tmV0gvb3MKTEdRZitOKzdVTW1PVU1tMnVNQURQUGM0eWRNQ3lBR0QyTnQ0RlIwaGZaNE1RRFJadUhVZC9wM2NFUDNzZGdnZ1JqOEJqdGUvWEhqbwpkd3NnQVdnV0dyNTduZ3hBRVFFYkFwYW1BclZJUFZkSGliZms3bnc5Sm1qSEUxU0FnbjJTNGRuVDNodmhIKzZYRnVLYkJCZ2s4K2FNCnRxQU41Q3dSL212azNobmh2dkE1cmhYQm5mQStxd21BbkJob0hnQXgrbUVCaFBYREF4RFQvZlBDQVFUMGt4aFFnTG1UTEQ3TUd4L0IKQmRBeElZQ3dnZUo5ajJSRzFBUDZ3THBPVU9XS2dGT3JKZFdwZmlmQmN6cUVRY3dWZ1lFb0RCMmpEWVJIbk5LalQzR0U5QkVBaUdNZwpyckU0RE1MaTRTY0FMbkl4WWZVRGZ4bndDQU1CeERMb01BZ05JS2dmRG9BTzJBSEVHa2hJSHh5OEZzYUZEbXdZQWdhaVJtcllvL0xLClFtSFd3cDRWZ0lpQllwWnZTL0E3QU9nVHNXakx5dUM4OEVYcmt3TDNkSDAyK29JQlJCbklnWDRRZ1BqRWNSMGFRT3pXTU03NEN4QzEKWnhhSUF3QlJPK0VKZ0tDQjdBeUs0eHgxeUdVUTdQNmhBY1FVZ1FUMDRRT0kxVTk4Sk5BUDdBSGlHWWhKUkRINEtacW9zd2x4NStKagp6OEluMFRYS3NNT2FzRk5RU0pIRk1mS0NXSGxKZk1SUlRkaWhUOS9zTm5ZRDlGZ00zU1pqRHhRUEFKQ2xaOExVTmFadnQxbDZkU09kCnBydWRocitOekkyYi9yYmw4d20zMm5IeDZ4TUJEUStYVlV4Nm5aLzBPRGU2cUdMYzg4eXZ5ODQrZERzNTRWbll0cmZvMngrcm13Y3UKM1dwK3QrZjZSNTE5WDNYZCswRTMrSk54NExyKzNnMzlVTE5KMTJhbHU0S3NmV080RkFSWHhJWW1ZU2xJT3p1bFE0MUJhSFFHNlEwQwozS0VEcm9EcklMRDJBL1NqbndXZkhSdWF0TjBkTS9kYWpWMG1YZVBRNkEzTHlqM3ZSMHIzcXdKejVkTGQwY0Y3NE5ISmZPczRDSUhPClV3S0lZeUQ3bDNNV3MzZ2U0cjNyS0RSdTZQck5rd09JL1NBZlFFUS9CRUJDNGdqcDgzc0drRUF6THNMM3pid1JrTVVWZ0lMY1YwWUcKYnBSNnBvZUxOZ2E1cDBjRWJBSVlDbHJ1OUg0aGZYREF4OEc3NFNLNDhUN01ieE5zdnZaZEd4Rm9MLytRT1Y5QzlOQUI5QW56WFJNVgpzRDVTdEJhNEo4eG5iYVQvUnJtWHZRTGtFRUIyM3dBRHNRQWlWM2dBY3FnZlV2NzVMUUJrMXc4NU54azlaMTdpczU1ZEFBZ2tQYVFxClZWd0crSkxrZTN4RGVNUEZnbHNidzg2dENxemlBWWdrWFZMRlJFcVhnc3J3UzF3Tm9nREUwUS9UeCtNYVFFSEhZUVFHNHRXWlhEQ0kKZVVtMnplUENEOVFQS2hveEFPSVlLRlZVeERZUDhRRkVqZ0tpRGFUeDVSZHlxSEJzcFBLRjA4Und3eEI1VHVhTEFSVmhBT0d2WlF6awpFa0FFTHNRdXd0RDN4UHZ0aVY2MkZZaE5BZWVrd20rTFhMSkI2YzFmT0NNR0V0TG4rUUdJNk1jaGdCeHVDdU1CaU95S0p3QWloUitzCkg3WG5maHkzbExqelFnQWx4VFNRZ2hETklCRFM5eU13RUgzU0R3TWdrRVJnSUVkaEFFVHBod2NnSG9OZ08xSGNwUldhZDFldmZEY2oKN1VxSzZwMkVtQXV3Z1RyMFJKeXNSQmxXcEk0OEdodFNySWs4R2lIZXZ6dXp3WEo3NW02VFFkOWpOZDJDRExMMmpobzZiTWJPc2FIMgprYWxPVTMvblVILzN0TDU3L045TVZyUGxWL1ZmWmwrdXNZZ3UvZDJ6Zm5weG5Sa1l5S3YydmsvRnRPaTB6ZjNDUTdmcXNVVkZRK3R5CjJpOGYvNm54clp0ZG4vUzBmM0NuNDlON2ZkOE05LzlnSEw1aDF0NDBEZDdRRHpRYTJJMzNOdHdaalJtRUR3ckNaMFlEQStIK2FCalUKSWcxM2lsR1p0Y0R0WXpOUVAvZkJuUk82R2ZEQnNmNkprVHVqNXA0UmVMaFJrMTUzVFIrLzlVcGtVRlpNWUc1WXlGNWx5RDRvRWdGMwpjT0EwVXluejd0TUFLQ3B3UHc1ZlFsd0FFWUlJNmNQZXdDZU82L3pMQWtqUUFjMWtnUUFTK0lacEt4WmVaOFAzalRQbDREaDh5d1dBClpENnJ3MFhyQTVldGtFRytySmQ0WkVRR2JrWlQ0b1YzdW9yY1o1UEVmWDJNZUsvVWZYT296N2JJZ0oweWIvakhMaGhBUHB2RGZEYkkKdlZhSGVxOEJnZmQ3YlF6MzJlWk1QM1JUTTB1Y2JUQ085SVBxUTR4K2FBRFp0NzV6QVFTYm9BWDBlYllBd2hOQW1Vb1BtUjNCR3lYQgpBT2dvaUpBK09DdUNUcTBMcjFzUmNBcVlCanp1Uy9qVHlvREt0Y0YxZHVqd1UwT2UwNlVnQUNES1FGUVJpS0xQeXFEaitBbDhMamhLCkVZY0JrTUJBUFAzWWc3YmxyeEFkNHljQUU0ZmhEcjdJM0VrUHBXZWJ0ZGtlYW1ZelBBWlFvdjhoZEVBaWZSd2kweElrY0E4L05IZFUKUHRtY2wwNEFoQTMwOUFDaURZVHdzUlVZQ0h3aGNCdDRIclYwSTJ3REVueUUrYUNBUGs4RElIejljUURFYTRLZU53cDNiQ0RPNllnZwp1UEVaeG1NL1NMem5nWGpQSEJBSUlHd2c5SVFwL3dBQTRlc1VnTmhTRUxzMVROQVNaRC9zNTdFQUJON2w2c2NoZ0VoU1ZPZlMxSC9lCnRmWDcwaEtZN1p1K1NWRmNTWWl0Qng5UnlFdmo1RVdBUGpFaGhlQXhWbFlRSzh2LzlNMW1XLyt2aHQ1SmJaZlowamN5M0tvM2Q0L3EKMitIaFBkck9jVml0Nlpub2JyV2F1Kzc5elRyZHB2OS81SDhDQnJJdU8vL1EvY3pzMHNvcG56UC84S2lkODZnMi9LRit6TGYrNGRLcQpXYmRqV3ZmaXJ0eVQzZCtkNis1K3I2UHpzOEdlTDdXM3ZoaTY4NjFXZXgwYWFPaW1BZlZjbzRrWm5TTjRlQ28rS0FpZmw0ajN5ZU5qCm81a1dhUlpETTZZSElQZzVYaStiME0yT2EyZUFuTUNud0RlQXJ3TDYwYllaVEMzbXprLzdvdGRlQWlpSkNEd1VMdHVua3V3QkxoSFMKQjRjQUNQbkRycCtvSndVUXowQU85ZU15Zk9LNHpoTURpUG9nQjBDMGZqQ0FIUHBHU0o5L0NnQ1JDZ3J2T2hVK2ZaNHRnRUs4TTRMYwoweFFoMjRQY1Y0TGJRR0F2TXpwSmFFRVJ1NmVFK2V4Tmp6a3I4OGlXZW1SR0JLNEw5bG9UN0w2RHQvNDFMNEFRZHphSGVLeUZCMEQ3CmJZcnczUkxpdmlIQ2Q3dWpxZyt6dCtzeEFjVHUrWEtxSHg2QW1GMWdBdm84SHdCeDljTWQ5UVV1cGdTVnBFcEtZWGduUHJQSmtOV20KaXN2WGhOVEM3cCtnYWpnZHdyY3NVM2FHWCsvaEFBZ2F5RjRXd2dDU01EVWh0anpEYmx4SFJScHdCUytRa1o0aElYMzRBT0lZaUYvKwpJVm1KOXFBNU1CRHlEUU1nLzZNY0FLRjM3VFpDQU1LN3lZUUFJblVnS3Z0Qm5EVkJzNkhxUFVBL2JOUytPU0Q0dWRMN0FBaFpBck1YCmdiaUhJcm9BME9OZ0tHclplaVU2SmhGOEoyTEh0bmkvM2VDaThNNW5EaUQ2NDVTQkhPcUhHUUZHRllTSWsvajB3Y0VWSUNHQWtIZ08Kc1BxQjlBRko4RHJJQUlod2h6a0V5QTRndm9IdzluaWFRUzRBcElrOEphU1BBRUNNZmhDQStPNGhXYUc1bUxueTQ1UEhXeSs5L2RQRgp0MzQ4V3RxWWtmeCtmTXlaaENob0psUUVLZ0VNQW8rYXFHT3g4cEp0SzAvZWFaclI5OHdOdGxrc3ZhT0R6VnJyclhGVHU4M2NacnZUCmFaM3NuakQyMnJSOUU4QVQvYTNELzJuODlacnAvMDI0Ykh5cDJ1Sjc4VmNnbnNYVnM2L1d6QzZ0SGx0Y083T3MxcmE4WVdUUmhZZHUKbFEvY2N1NGw1ZDU4cTc3OXB6LzF0SDg4MFBQSjRLMVArdnUvMVEzOXFMLzNvL2J1ZGEyMnlYNWdOR0FRbnB1Qnp3ckMxU0RZSHcxWQpNOFIwU1JNTTRlQ1g0UHJvMEpSdEVMTEplbmNDZklPeHl3Sm9OZGlrTjk0MGZYbnh4NkRFbWpocGJuaGdYcGg4bnpKd1Y1VEU2UkpZClhIQTJEU0RhRUU4TUlBNkRuQzV2OFNrelgvQmVMV0hzOTNBeEpFU1BQZlNkTklCNCtnRng2QnRBR1NGOWZ2OEFvcGVRQk80aFdlTXcKUW9MZ0xCUkFFbytWb1g1cjRibEJjR3JZT3JRV0JtZG9DTzkwbldEdmxCaHhWcWI2VXFSZlBxejkrSzhBdjJTNDM2N1FCVFpCNDRNUQpRK0ZFc00zaHZodkJJMXovOG5YbW5ua0FSTGMvT3dRUXJSOGFRUFp0OEFMNlBBY0F3YjRmV2o4WVFNUkFRRDgwZ01qK0wyNEZxQUlZCkNQVTRWNjZUbjFrUlVMRmUzckF5d080Ymh3QUNWT0lzalNFQWdTZDQyenplQzhZR0FnZzFDWlhoTUF3UzBJY0ZFTHNLeGpXUWtENUMKQUFIbzRIQ0lRNjVBQURFbldjT2I3V3Roc0Zia0RFQTQ3T0ZBWkdMOEFZMy9BYlhmZmhCSEJrTE5QUUw5RUFBUkE4RXJzQVBhM2dNRQpKWVI3ako0UmdKVGVtK004TVVHMnhycHZWM3J0MFBqdUFpK0ZkNzVJQVBIMEE4STlDcEptRUo4K1BBQ3BQSGV4Z1l0ZkdFQ2s4QVAxCjQ1a0w4amdBNGhpSUFBZ2JDQU1vUG9wejNEUFJEd2lBanJNSUFIU0NoeDV3aFdTRjV2VnQ2eit2cjIrNzlLZVBMbHo1UzNWMTQ0YU0KRHpYUnA5RTgxQk53cTd5OFdCVmVIQ1hOandzdGpRcy9yZ2s1VUhmazg2SDJXVVBQaEs3RE5IWjNYTjloTXJWYmplMzNwenIwQTMzYQpnVTZ6cmRWc2JaKzJOazlNdHR6Ky80elRQeGovVDhpVmFiY3FrMi9EMk5LNkVZOXo5NzJxWnBlY3RpMCtPL0Z5N2ZpaXFrbWZNdzg5CmFxWmVPenl3SktlblB2L2RieTQwZFg4TUFkVDNXZi90Yndidi9ERFVmMU0vZEJOT1RzVUd3cVVnZkdZMDNSZ0VNekJ1RzRUdFFZQkIKV0VJNCtDVzRQakl3WWUwZnQ5d1pCL29CM3dDK2FxalpNSGhETzN4TjkrYXBqejJqVHlpbGVSR1NndkRRL1VyL0hYR3lYRnpwRVlZRwpFTThjQ3dKUVpFQ1cwRUNRUVFzRUVKY21OR2ljeGZGbmhlaGg2Yk1YaFFPZ2lJQ2RRdnFBaEl2NDBIbGhBT0tkQ1dRL0hPaWZIRUNBClBzRmU2VUh1YVdIK2NIbzgrTGpFWTVYREwzRWR1VitHMUNNelJueEE2ZzcvaThGenFQMVdnWXRFTnJSK1hBQW8xSGRGcEdodG1BOUkKWnREU2RNZ21DS25WRHVrVDViZjVHUUlJNitlRkEraXdIVUNrNU1NQ2lCbnpqZ0NFRFlUUEFjSUF3dnUvY05KRGFsTEZxSDRqcVVrVgpsV2VHTnFTSkt0ZEk2MmpmT0FUUVNuRVZweTBheFNHQUlGTW9BR0VEMGRVZFRpQ0FLQU94MTBuSEQvNUMxd0NDNG5FQW9CTWNBSUhyCmxJSHdrVUkwZ0RCOWtrVE1FMndnbkVUd2Z5eC9hQ0RNSUM2QXFBWm5ybjVvQUJFRDBidkFIZ2RBREZNbyt1Qm1aeUZsbUN6UEJDSlIKZWNPemhSQXB0a1V0M2FoMGZyK1FQazhHSU43SE1ZQkFoUFJSb1BJUEJwQWpBL0hwUXdPSTBzOHVOZmhQNTdVM3dTdGJxSjlFcnp5MwpGT1dGWk1YclNYSG5FMlBQSmNhZFRZaHR3RW1PUFVkSGlDRjhWaEFaa2tyMHd3c3A5aVNnNWJDa21FcG42MS9FT2tRL0NWSGdVMHh6CmRJTHl6VFVyLzNJdzU5TnpGNytwUGZOcFR2WW5LZkZ2SzZNdjRKMWl5ckFTT0JNRFJSbFdCS0lLUGFLV0hmcisvWHVHemdsamw4WFUKYlI3cU1CcjdKZ0dEekQwanVuYWpvZE5zNnJhQ3R5eTNiT0NsOVllKy83Sk9OVm4rdCtMUDkxOHJ0L2swVEMrcW0xcGNNK2RWTS9xSAp1bEczTXpOTHFoOHNPVFcxdUg3dTFmT3pibFVqYmtVbWVXRjMyYW5HdHJmYjlaOTIzL20wcC9PTGU3ZXVtZ2F1RFE5ZUh4NXVHdEsxCkR1dGJodldOT211VGRiSjEzTkpoc25aYnJMMGp0anNUSS9jbXJmMlRGaGhZNlJrWm5MWU1UWnNIWitETHU3T1RmYk5UZmJOYXJYNzQKcnNYUU8ySHVtOWIzV1B2YnRiZHY2dnF1bTJ3ZjNWNlY5WGxvMktISTRMM3k0SnhZNmI3QTBFUHFvSU5Sa215U2FHa09DWjVLUWRxQQpVQ0J4b3FUMlJFcjIyaE4wUUpnSU1iLzF4eDZPZSt4U0VkSkhHQzVvSEY5eGVKR1Vzb1J2c1JjeGVsQUN0MGVLZDRRRG1wQXJiSEJ4ClNIZ2QzQ3lrandNQUllNHd3UkppOVlOcVBEQkMvYmdPMWc4UE55NUJ3MS9NY2gwaE5aNXQ0TEU5amdPWHczQ0VueEtHL2h0cDJEbGMKODNKbUlIQnp1TGM5RVQ3clNTSjlONkJ3cWo1MHB6TXZMSmo0TUdKYXBObWpuNGwrRktJOUtQdnNRY1RCeHg3eTBBTVM1d2VqOE05UgppZzZDcUFJT3FRTnpRVlFCOERrYy9DNCtEdWU5UzNMVnZvY1N4WHVKZUdnVmdVY2hmZGhoNzVBK1NRRWxJTFNIOFBBdkFDQ0FualJKCmVhb1kxbjdRK1llVks5bDI1Z3hwTlJ3Uktxa0dTUmZEWkFUVmdPQXJHVUZWTUpJS0p2Z2x1aUVqcUpadGYyYU9BaUt0UDdnSkdyd0YKM0lNL2lMOXRaV0FaTDBnblZHV0kweHpOZEJIUllYOEVsaEJ6QmZ3NFp2K1hYM0dLUDlNRFJDK0hNV0FLeEVKaU9xQmhmTXFTZlk4bQorY0xwWUhBeWh0K2hSRi8wYnllckg3SUVsdUIzQUlYQkVLNE1rYUNHSG1nYStnUkZFRTVaQ0VYdGx3MUN6NXluTWFUeGdXVWhMaFNZCkdXRU95eitBUnpnSVNac0lWdEJMSnVRZTlqWW1CRFF1UWdUak1MUjFvcGR0Z2djbmVteEUyUnpsaVg4MDg2c3FQT0VVZW9YSFB0eDEKcnZUTVFuV3A3WGdCeTc1OW5UM25VS2dseWtiMjltZHdwOXBqajhaenI2QUI2RUNDMThGRTcwTUFRSmQ0QnNMaFZvQmdXQWs5Q1lCdwpISzEvY1piQVhBQW9VZG13TXVIUEc5SS8zYi9ycTExYlBzbGMrWEZDN0dWMXpHbG5BSXFWSFk0UEs4eFE1ZzgwanV2YmJibzJzL21XCkRSZ0ljQWQ1eUdydEhRVVlncjFCUFNOV1dHVVo3YjVwK3Nmd25GNy9pK2JqV2JlS09ZL3FXZmR6NDYvVlQzaWVudk91bWxsZU5iYmsKdE8yMW1wRkZOZFBMNi83bVV6LzFhcG41cGZ4Yk1YazNLcXVhdXY1ODIvVDV3T0NuOTdxKzZlLzdUbnYzZS9QQVZhdnUrcWl4ZGN6UQpOVExjYVRCM2o2TkRpVWF0WGFQVzdwSFJudEd4VzdieDN0SHhQdHY0bmRHeC92SFJ3UW5id1BqWTNmR3h2dEh4V3paYjk0T1pyckdKCjFnRmo4KzJCTnUyZEZzdlFUNWJSYTdZL1ZWeU4ydkpCcUR3dlJySTNRcG9kSTkwZEZIcElFWERnV1FFSWY0UFFRSHozUEFjQTBTOWQKWDNUMkRkUVZEb0JBWGdTQUJPV2ZGd0FnSVIxKzJ3amM4enNGRU1zZ0o4dGVEc0svaDlDSDFRK25DSVJudkRQY29kRGpBa0JBUHpTQQpzSUZVZ2Z2aXdmLy9lbVVsU1E3R2l3cFZ2b1Vwa3J3RS8ySTRBRlZRRmdJWGVTdGZRZ0RSK3FIM2dzR1ZMelR5UFUxU1NRTW9YVklGCkFBUU5CSzBEVGJOYWNocGtqYlJ1amZRMHptcEpMZVlMVGFKMGNTVUl1MHVMY1FrNTdwa3dCZHlRSGxRT2crNm50N2h6SlVTdGlGRUcKY2dZZ3RpREV2TVFBZ21IMXd3dFRBV0pJWkFmUUN0RXg4Qkc4RVF3dmZpWDc1NmFJNE1IUXZQSVBYZ0lUMGdmSG9YN1V6T2dNdm9GQQo2UG56K0xPOGhtaGVMZVJwQUVRemlPZWJlVEVrUk05akFJalJEd0ZRSER3TUdwNkZDQUNFcDlVK0V3RGhPMTBBQ1BZQXBhcmVBQVlDCkFNSUdnbEdjQTZHMmhya0NFREVRbWZyT0czM3FERURjdFRDT2dhZ2xNTndZZEZJZGZpSSsrbVJ5ek91cHNlK3VWTDZYRW5NbE9mb2QKVGZnWmRTUXpONE1Ha0NMME1EUlFlR21zTEQ4aEltOVhScG1sKzJkREI5eEZwZS9RNjl0aE13M2Vxd1ZpN0lTclN6Q2RWbVBYdEw3Vgo4SThCNjVUaDM3Wjg4N05iN1loUGxjMjc0YjVQNWJobjFmZ3JkZE12MVU3NTFEd1VWYzI5Y3RMMGN2bmtIODQ4ZER2L3lLMTh4UDFnClYvckJHK2VyMmxyL2RFZjNTYS9sNnlIclZZUHVlK1BkSDB4M21teDNPaVo2T3NmN2VzeDNlaXdEdlpiaFBvdit0dFhZWnpIM21rQkcKZXFldHZkUEd2a25EN1VudDdURjkzNWdPeU93VytHMW45VTNtOFE3TGRPZW80UWVqNlVlcjVacnU5Z2MzVjJWOUxGci9sL0NRWWtYZwozbWpJbXIxU0FDQi91MzRlRjBDUy9YUWlnN0p3eUplOFlBRGgwT3RUd25keFhIeWNYT1NBNXNVQWlJcVFOWStmZnhZQTBhRGhSa2dmClBvQWV4MEF2QmtEY2hUQWhlcHdDaUp3UFJFMTk1MnlEWHlpQXNINTRBQUxSQkJZci9BclVmb1VxMGU0VkljWHhvaUtWMys1VWNWbWkKT0I4dmtKRTZFSGhNQ2lwd0RTQWM1QjY0QlV3SUlEVCt2U285cEFhT3Y1Q1U0M1V1RENCYzFGa2pPUXV5Vm5wdXJiUmhYVEI0MHJBMgp1SjRFcUFoaktFTlNnVm5EN1BBSzRweUNtQlpVU2dPSW5Hb0lnaGxFZ2kvQzJGWEVZWkFMQUhGWDNKaXhxWndtYUNway94ZDZTWTVECkxFNE95TVZKRWdIeHdESVBlRXdTNVhBN2dSeVVmRWg0NktIMVF3T0l4eUMxTjQ1OXlBYTlKWjUwUStOdUdBVWFrcm9nQURsVWpoQTYKenE2VENORWpwQThkaC9yQkFJSnc4ZGlyOHN3R0FVOFVjQW5zeVFHRTI1L0IvVHdBOFpxQklJQm9BekZSbnVkT1NMVWJpTk1QeEo2UgppSTVKckFFUkdvaEdEd2REK0RRZ1J3WkNlOEZnTUliSWNZamd0cVNZeXFTWUNsUVpLbGVIdytFWUJFQ1VnU0NBWXNPTEZDRHlBbzM4CjRLSE5EWmFlUjhNdFptT1hDYURIMGpNR0hnZWJJSWJBYzZaaHVWVS9lc3Q2dDNsa3FObjhqenU2R2UyajJ1Yi9mS1hlNEZZeHU2UnEKM0wzR3V2ajArS3UxUDc5NjR1SGlzbkh2aHBIbFozOVpValc1ckdwaVNjTUR0L29IYnNmTWdRVjlhVVU5RFpVM3YzajcxcDJ2aGl4WAorMDNmOVF4OWMrdmVEME4zYmxyQTErSU10d0NCV2JUdFZsM0hpTDdUWnU2MHdKbGxuVVlRWTVmUjNLVzNkQnZnWTRmbFRydmxWdDlrCmI0dHg2TnM3czQzbS9pOEhhb3YrN0p2VDVMZjF5K2pnbzJwUlZseHdWcVJrcnp3VTFzbWZFa0RFUVBUMy9MWUFJZ3dTcXNqWng4bkYKM3hSQXBPa0h0L1h3aWVNNi8wMEFOSytCWGhpQUhHOTlkeEQ3UFd6M3p3c0JVRkIyclAvMkJPbW1PSTlTdGVqQWlwRFNQVEZER2RLMwpraVdGR0VCNCtCZVdFTGpJOVBmUWU3NVlBSkdMTklEd2lZaENBS0huZEpjUFh0S3FXU3Q5SFdSZDhBV1U4empBUStnSjlCQXFDR0VBCmxZSGdTVjYwZnBoUUMxVllObGc4N0FvYUo4eDFGbFdrQVFneUtPZzR2WXVlWWhBZlFFenhDUTNXY0dnZ0t2YkpHQW4rcFluK3gxTDgKVDY3d0wwLzFPNVhrZTF6alU2cnlQZ3liZ2RDQU1OcEFydW5EZThzaGdFaUVBR0syMlFNRVBHc0EwZGJoRGZaNjVnQVM2b2VGQ3hxRgo0YjRyem4wUGlBSVJCNDQvV3lDQWNDYzEyZjlGQU1TTUFCTUNhSVg2TFdJZ3ZCeUdrNlo4ZzVtVHFyaVVHbmNSSkNYMkFnd0ZJTzQ1CjBSQkFRZ01SQVBFS1AvWVRFZmtHZ3V0aUhBQkZIRkdGbDZwRGo2dkRpdU1qQ3pXUmVTQ3FzRHp3RWx4a1ptVndBUVFTRjFFY0hWSUkKTHNZRzU2dGxPV1dIM2gxb0hMWGNtc0xiMUFHQWdIc3dmWEExYUtoRFA5eHR0bllZelcyMnU0MjJoMTNXV2UyREM1MS9YM1JoOW85VgpaczlLbTdocWFzbXA4VCtlbVg3bDlRZXZWbzk1VlJ1WFZZNHZxcHg3cmZiQjRvYTVWODlNdVZWT3VaMlllYlg0anJ5MFovK3A3Zzh1CjNycjMwVzNiTjMyajEyNVpydmZxdjljYWZ0QWJyNXNNalNQNlpwdXVkVlRmTWE3cm5CcnNtUUFaN2g3VGQ0K2Jlc2FONEFuY1N3L0EKWkJwczBRM2R2RHQyL2ZaY282NzEwK0Y5WmUzdU82OTZsRm1DZDN3ZEt5MVZCbVNwWkpBZzRmS0RLbkhPUWdFVUxUMEFJbVRRN3dGQQo0U0pBa0oxQ0RORUc0bjFFY0pGeERIVFBNd1VRYlNDcTVMUGRpWDcrWlFFVTdKWGhNQUwzTUdIZmZYd0dPVzdvL3U4R29GaWZQRTFnCnNjcm55SXF3WFdxZjQ5dGl2LzNweWtSdTBqQ3dEaEFQQmhCK0FodUFnZ29JZ0tnY3hjb0JqeXlHbUdPZzhjVVZrdVBNNWkrb0g5Z0EKaEFCVUNTVmszOTllczFvQ0Y3L1dTaTZBckpOZXhBWkNIanJIQXVnOEFoQXNBdUcySGdBZ0doL1lRS21CeFRETVFZaHdvUXJxSjZnYwpXNGRkVU9PRTlCc3hTMnpNbHdNTXNYdkh1SHZwaFYxSCtIZkFRMVdkQUlnY0FBMmJoRWlTQW90U0FrcFdpRTZzOUs5WUphcGNJVG9HClI4Y0Q4V0FBY1Eza0FrQzRwNGNPWHVRUzBvY3BCWG5oTUoxRHp4eEF3dkdsT004YlFFUS9iT0VIcWdXZTJzd2M5ck1qZHZsT0VFWS8KVHdFZ3N2L0xHWUEwSHRrZ0dFQnZVZ0JpREFRQUpEUVFaQkFYUU5RQmlReUFhQVBCSVByUXZjODhBTkVHb2pDRWU0Tk9hQ0tQQWdEQgp6ZTFoSjFSaGh6VVJFRDN4NFNjVjhnTHdrZ0FJQ0lreUVBU1FNcXdJRGd0RGh3TWxScGNvWlFmSzg5L3JiNTZ6M3BwRXB6WmJMVDBUCmhnN0FJS3U1ZTN5NHhYeW5RMnZ0R3h0c04ybmJ4c2Q3SHQxdTBkMXJ2L04vZEkrK0d2ajNsVmNNYnNmTXI1NzZxM3YxdzBXbkxTL1gKbTE2ckdWbFNiWDNsOUlSYjdmUWZLcWVYVnN6NTFOeGZYamYzeDdxcFA3NytpOXRKNng4TzNRNDYxTG4rYUZkWlhjK0g3L1kxZlRGZwp1VDQwY2xOcmE5UmFiZzZZYnR3eFh1ODEzK3l6TnQwWmFETU90aGdHbS9UYW0wWjlrOW5RYk5HM1dIVE5Gbk9qY2FaUis4dDFuZVVyCnc5c05kMVZaTjkyeXV0eHFwdnpySGtWdWZEYzJzQUJRUmhHeVB5Ym9VS1IwZjJ3UUJ5NlBCeURtQnZxRHd2eUdBS0lOUkw5MCtCSEIKRlVZL01BSGJuaTJBaUlHSWZuRFREeFY2WXhlZk9LN3pld09Ra0N6emhVOGZHa0JDQXdsL0lwc1hCeUFIRGM0T3dnQ0kwYy96QVJEVwpEMjBnaFdoUHZHUi9uTytXSkhHcDJ1L3dTbW5EdWYwL2J3bS9CcXhEVnI0SWdCTEYrZlJSaDA4TUlEUUJ2Z284WmtocktRREJ2aDhNCklCaFVDZ0poRjhVYW9INGtaK3lyWUFnMGRETXlMTXdRQ2JFVklOd0RoSnVnMTBoclNGOFIxVjBFdzE1aEpTU3R4QXlpTjVIWjk5SUgKa2QxaGRnQXhnK1haQ3BEQVFQWmxMMHdmZkQwNThOaXF3S3AxNG9aTmdaYzJCSnhiRTFpZEZuZ2tLUkJ1Q3JQSDNnL0VPeG5JemlEaQpIdlkyeGtCa3pXdGVBT0VsTUljQWVvSWVJSWY2RVZhQTVvMlFQcTRCUkFvL3RINEFWc2hSaCtTZ1ozRGw2UUdrOXRxTDlMT0g3Z0ZpCnd3SFFteFNBTHFXcUx2SUFSUEk0QU9KZ0NPbUh0L2tMQWFpR014eURGSXFRaHdRQUtsS0dIbGVHSFU2SVBxb0tyWXlQcUFIRVVZWEQKaTg0QXBKR1hSRXZ5b1lHaWo0U0tEOFNGNXNWS3MycEt2aDFzTW83ZG1jWDB3YlVXSUNGSW91NFJYWXZlMVBtd3YzT3F0NzNYMW11ZAo3Wm94L2RqMXYrNFlCODMvY2ZDN1h4YWQwTDV5WXNTcmVtSnBwY216d2ZaUzNZTlg2eWFYbkxZdHE1bGNXdmx3Y2ZuOVpaWGozcldHCjVSV21wYWNuWGpuNzBPMzBBN2NqNXBjTzlrbHp1NUpLYnBVZSs3Nit2dTJ6OXdmYnY3Y08zeHdkYlI2WmJURS9iREhPdGczTXRReUMKM0cvUnpiV2JwanNzWTUwV1M0ZkZjR1BtcDQvMEZXZDZOVVh0cjJUM3ZIVEVFbGc5RzE0eExxdCtHSk5TRVNNK0VCNXlJRks2THpidwpjSlJrZndUYnZQd0VBSHBNQS9IZDg2d0JSRjRLeFVNOEpEUVFFWkxnNG9zR0VObjJ4VHZVUjBnYzEvbVhCeERQUU1LZnlPYUZBZ2daClNJZ2VQb0RzK21FQjlLeWFvR242MEZHTGl1TjhjelVCMlVyZmc4blNQSTNvWUxLb0lqWG9CTllQZGc4MlVFSmduaEJBYUtuTGJoMGgKZ0VEU3BDZmdGakF1Z0ZCcU1ZQldCVlduQndHQzFLMExPVVBjUTJvL0dFQzRNMW9ZYWtvOEF4VHNJYngwQlJ1QTBDNHdBQnFBbTdYQgp0YmlSaUJmMFZYUk5pR3ExbHA0aW9TWEUxb0VjQTRnWWlEQm9SVUJ4cXFnSU52MzRGVEU3eGRBbStYVFJCOXRrVi9OamUwdVZnM2tSCjNUdWxYNjhXdlpYcVYwZm1Zd2pyUU1KU0VBb0hRTVJBdk41bklZQW9BemtlaThHZ1lZRUE0am1HVkhxZUZZQnd5ek5OSHdaR2p2UUQKcE1Mc1phUEdvejROZ09nTjhQTUFDT3NIQWVneXF4KzRJa2JFZ3lWRThrd0JSQm1JQlZCU2REVmJFenJGQWdoT3VsQ0VubFJHNW10aQpDcUpEaXVKQ1MyUERjbFJSQlhIeUU4NEFsQkJTbkJoK05DWWtQMUtlRjY4NEZobDhDRnlNa2ViVkZwNGJhamJocWcrZ0R3QVFZQkRJCldPUEVVTnYwVUs5NXVPT3VxY05vNnJZT3R1Z01uVlBXUnUyRFZ2MUQzWU8vM1AwNTdFMjkyMUhqcTZjZUxxdDg2RjQ5NlY0eDZYNXEKd3FOaWRIbTFaWEh0eUN1MXN5L1gvTHI0OU9pcnA4ZGVycGw2K2ZUc2EvV1BRUDVZTmVWMjB1cVdOL1RxNFdIL2tvSG8wdDcwSSszWgpwOXFyenZhKytkYkE5Ky9mdS9yQndOVy9ESC96Ri8ySDcyblBYNzV6dks3MVlQbVBpYVhYUTRzNkZ1ZmVkU3N5dmxROTZWMC9JYSswCnhaZFBSSnljVWlnS0ZVSDc1R0haY3ZFdVJVQVJ3RTFFOEw1bkJTQm5IdUs3NXprQUNGK2hUY1BURDEwVGNnWWc5aVVIUUREUEZFRFkKUUZUNXh4R0EwSWsrUXVLNHprSUJKUERIUEJFNFk1NEl2MkcrOE9ueit3UVErNUkrREpxYThTNUlsTjltRkE2QUFIcTRCcUtHWVBqaAo3TEhIZHgvSVFnR2tFdVhGK094UENNeFZpWGFxL1Blb1JWbnhnVHZWZnRrcXZ4eWdIeHhnSUt3ZkVEejZsQWJRQ3NseHZOY2RBNGluCkg1Q1Z3U2RYaFpTand3OVBZUUNoTnFEVElBeUF4RFVZUUpteUJyWUJpR245WWFvK2tqT0lJM2h2UE5vamhpNkMySThMUWpNeDBLblEKa0VIcFVod0lGd0lnWkNDbW1acVhqQ0M0RUVhRjdSQUtMZ2VoR1lURDMzM0dMb0ZoOU5BTXdnQktDeXdCQnFJQmhFK0kzaER5WGtGQwowL2t0STFkMnpaM04xQmVxdnQ4VWNoNThrTXdJNDUyT1NHOEs0OWFCR0FNUkFPSGdUZTlDQTlFQTRzMEZvd2VqZ2dBM3hDemY4alFBCkl2cmhMWFVSRExud2tKQStyZ0dFOVlNQlJDOVV3VlU4V1B2Wm92Q0N3ZlBlbndaQWFxL2ROSURpdmZaakFLbmRzMEFjVklEb2dJc3IKVkZkU2xlK2tLdDlPVWJ5RmJBUjVCRzBVQjRJWHdocFNGUFV3Y1EzczFMQ0c1TGphcE5ncU5qWG9wRVN5SEZZSmdrZkV4MGVmU282NgpsQkRSa0JSZGx4SmJpd3hVa3hKek5qbjZmR0kwcEEra1VrU0ZPZ3hyNlpRcTdEZ2dqck5nK3RDQm0rSGxoNW1FRm9JbzVBVnhzbHlRCmFPbWhvdXozKzVxbnRMZkdoanIwcG03elNQZVlvZFZxN0J3RkpOSzFXV0VYVHFkTjEySFJkcGtIMjNXM094NE1OR3RuVzI3OTEyM0QKd01DRC9WZW5YcW16dUJWTkxLdWFYbDQ3NDE0MXZheGljbW5scEVmdG5IdjEvZGVxNWhaWDNWOVVOYk9vYW1wUjFlU2kyb2xYNjhaZgpQVFB4OHBtcHhiWFRyMVZQdmxJKzlvY1RWcmVqSnJkU2cxdUpIc1R6aU5YOXFIWFpVY3ZpSTZhWGkvVnVoNGZkRGcvQlZGbVhGdHNrCng2ZUNUaytMS2lmRjVYT3k2dG5RQ21OR2RhOVBiRVYwYUZGMDRKNXcrYTVnK2E0d3laNzRvRU9ZS2JoYXcyVVF2OWNITnpzN3BBKzUKbjN5RTdBN2pvY2ZSeVllODBOYlpUWUxONFRBT0lTSzh5Q1J3Ty9nMnVlOVdvQ0tndWdqUnZqQy9mZUgrV2VTREpQaUs4TWZOODNNZgpJMXk3Yk1idUNmWGR5QXYvckdlL1RlQm1od2NrUWdCUjN5RDMyWUNEeDJBNURFMGx6SVVRNzdVb2o0T00rZU1NTHM3RHA0L3JDSCtpCjYrQ1JYcnpJdlZaakF4RUdoUWttWnZEQ3BjLzhkU0JjNDJFT1JVVEJWMmdNMFFhQzFxR1VnNStqaXdjUWQzSkEyTVV2UG9EUTJUOU0KeU0zNGdFUWNlRXhpUUxaYWRJQzhKQlVndk5HZGJYYUdpMStzZUdEWE01Yys4QXhvc215MENnMHV6UWl1QkFGUFVMR25ZWFZRL2VvZwpnSjV6bVNFWDE4c3VyUTk1SXpQNGNtYndKWmdRMkFiRVZvQVk3ckFMWVdmQnAwQXl4QmhHMEVhckpiVk1JN1BrUkxya09QcHhERmJ3ClloWU8yV05QR0lUb3crOEtJaUZkMHN4ZWVyaWFCcjRRYnFFbmUrbnBnUmg0dXp0M0lReXVmQUg5b0NJUTB3T1VpazRHU2c4cTJ4SGMKK1BiVy9vSGFYc1BncURhMzY5amEvazNTTDljR25rZ1dGVENuSTdLMW5Iam1QR2lPYjBod29RaHJLZDduRUlqRyt5QUllTUtjcjhoKwpsUnJPd2VBMFFaT3hHT1E0UkJDVjkwNFExQ2dEdDR0SGUyMEZpZkhlUm9LdmtFVWxFQVU2YmljT25Xb29QT3FRelNhN2t6eldnMFI3CmJnRGhyMlR4NmpyVUZVd2ZXajlFUmVCSHg3b0Q2S0IrWnpZWUxyeUxKUFJRQ3c2RFVHQ3ZOQnZVUUEwNHRTUGVaeThRa3NiclFOeXkKZllwbE9lRC9tbkZMRHRsbmdYSERxd0JkdGh0SWRRVVp5REdBa0hnZUMwQ3dDRVFaaUFGUVZEbnlVRFg0eUFybDZ5QnBxdk1yVlBYdwpVK0NlcUhJOEtwVUFTQjErUXVpZWhRTW9Id0JJRTFFY0x0NjliM1B0bmVaeFhkY1lnRTdmdFg1TDV4aWVYSUUyeVZ0MGJXWnRPNGpSCjBHV3h0STlaVzJ6OVRZYWV6djZwQWV1L0RmNzkyK2FIcXo3UXVoMHh2SGJNdUtScTlOVzY2VmRySHY2aGF1NlBsVGFQVThZbHRhTkwKYTJ4TEtpMUxLeTN1bFNNZWxXUHVGZVBMeThlV25KNkJxWm5HV1ZvN3N4eGxhWmx0MmFsUmNNUHlxb25sMVpQdU5WUHVwNmM5Nm1iOApLMmFXbkxkNm43TUZsTTk0bFk4SFZadkNheXkrZFpNMVY0d1JNY2ZpcExsSzhiN280S3dJV1hhazVHQjBnSU95RFE4MFBBWXRGRUNjCm1mQk9UMzkrY1FDS2tlNk9EdG9UQVdXek84eC9WMlJBRnZodkV1cTdsM3p3ZHc0Z1IvUmhDa2dMQlJCNVRrb21CRUJDUURpTHdERk0KbkFHSXZzNU51c01JNmZOa0FFSm5PcTkxWktEbkRpQmM2YUhQUDJRQVJLMkMyU3RBVHdFZy9PNzhBQ0xQYVFDaDhnL1o3VVVaeUNtQQpzSUh3NEZJR1FKSXE2QStHTlhEVE8rQU9ES1lQQ3RrSWhoZkNNa05JWGdjaEpTS2dFN1JpeFdLRkFoQ09FRURDOWE4RkFnaDhEK2N3CklRSWdSai96QVNqWnJ4aldoQUtPQXdEdEMrdDljNGU1dDNaUTMybTllN1Q3MU1ZN08yVGZad1RVQ3dHRW9MTUFBR0VETVFVa3RveUUKRzROWS9UZ0ZFRG9jbVcwVFJnYkMzQ0VHSWk5Smt4QWJXR1dCRlJxK2UwaTRoYUtGQXdnYlNIaVBhd0FKNllPdk93TVFUUjlPM0hkbwp2R0hyVDZMdndRU2ZROGwraFd0bHA0Q0IxQjc3SE1ZcGdOTFVBRUR2Z0FBRGtYZEJWaWd1Q3dGRVZzUWNBb2haQytOdGo0K3BCTzVaCnBiNlNydnB3dGViakRNMmYwMVFYVXBWMUtiRjFpVkUxRElEQ1R6NERBQ0VEc1FES2p3N09BOC9Wb1FmWEpaVTBmNlhUZGM2TTlNM0EKcldHdEJsMkwzdEJtdEhSWkxaMDJJQ0c4UjZ5LzNXWm90bzUzakZvNkxJTTNoOHpOdXZ0M2JJK0dSayswL2lwL1UrOVdjcyt0YlB5VgpzL2VCaER6S1JwZWRmZmhTMWVock5lT0xhNmNYVjA4dnJwaGVVajY5clBLK1I5WERWNnNtWHF1ZVhGdzloZlZEQUxTa2RwSmtXWTA5CjNtWFdnTnF4WlJWYXp5cFQyTmtISWRYamtiWDZYUjlNZmYrK01TRWtXeEc0VnlQSmlRdk1VY2tLNDBJT1IwanloRXRYR0RReHdRZFoKMlRnT1Z6OThBQkVEWVFBeEJ2b2RBQWpjRHhlcXhMdGpKUHNBZ0RTaEJlbXFrM0hTZytTRC8xd0FvbGZRRmdRZ092U3lrWkFPcmtQagp4bGtFMW5FWVBuMmVOWUFZd2JoZUJST0s1eWtCUkhmODBHSHFRTlFTR0RQK0FuZjhjQUdFOHJnQUl2YzRCaEFWdWdlSUxJRUpESVJYCnhPd0F3ak5RV1lnd2s5c2hnS1RWTklEd0RpOENJTGovQzRlN0UzNjk3SUl3UUVMczFpME9nT0JRQzZwZmh3WVFYZ2dqb1RaLzhlbGoKLzA2dWdmRDNMQlJBOUM0d1pna3M0TWhLOGJITlFWOFZKL2UrdFZuMzhkSHhkekoxT1hGOUd3SStUUTRvc3dNSXdXWGUwQUNpRGNTNQp3dDBnaGlURUFSRHNnT2FNaG1BQVJJM0Y0SWZGQkROUUhTOHp6UWNndTRGZ1FXamhBQkxlZ1BYRG0vcnVJbVJKNnpFQmhBdENNQjQ3Ck5kNzd3QTBhci8xSzkvM0s1ZG5BUUlwbE9VTDZjQUJFZkVNTUJBQmtOeEIxejBJQkJLNmdpelY0ZWp3T3VKNm1lajhqNFpOMXlWOXYKV0hGMTA4cHI2MUsreWtqNGFIWFNoMm1LQzhuUkRjQkFMSURLbmd4QUNsbVJVbTVuRUVBUE5oQ2NHQjkrSkZxU3E1Ym5KNFptdjF0LwpmYUJsM05Bellld2NNYlpaQUlBQWcwQ0FnYXhkbzBNM0RlYU8wZHZ0dXY1V25hMXhWTnMwMjlNOXJlMHkvL0xqbmRuaG9kNit1Znh2CmYxMVVQK0ZXWkhPcm1uNzU3T1RTY3QzaW1yblhxdVplcXB4NXFYcjJsZHJaUlhVZ000dFBUeTZxbVFJQkFDSlpValVKc3JoK2VrbmQKRk5ZUHJBQlZUM3BVVG9ENFZjejZsMDBIbE51aTZ5WWlxMmM5VGhxMlhOWVoyeDUrVmRPa0NkZ1JHN1JQSlN1SUZlVm9ndkpqZ25QRAo1Ym5PUUFNQTVDeENES0dMRGlwR05JQ2dnWDRmQUFyejM0NCt1RHZFZTB1TVpIOVMxT0dJQUZnVHdoLzhKd0lRcFovL0FkQThvUkhECk05RGo2K2VaQXdqcmh3R1EvMTQ0L3QwSmdGanVjQUNFWGk0TVFCU0RtRE9nRXdJTEVzV0ZESUNvSWZDc2daZ25ySDZPVXdCaTlBTUIKaE04OGxGYkQ2Z3NMSUZUVWdRREM3aUZOME5oQWVIV01FUklNckFDUmtJMWRqRmZRM25nNHpNc0pnT2p0N3FUVEdaV1IrUFJodnBEWApFc1IrRHdFUXlKTUJDRFVHSFYwVFdMMGg5TE1zV2NmaHNIdjdRdnMyK1Ard1RuUXhLU1EzV1hTWU15U1ZPaGZSY2RoMmFVN0poK2NoCnFsR2FaWkM5Q0lUL2dlYzFRV1A5NEczd3ZEWWdmQVZqQXQ5SkxZZlpaMUE0QWRBV080Q1FnWWhqSFBwRzZKNm5BUkRkMHpNdmdPejAKWVFBRVczK1U3bnZWbmxtSzVlREovZ1NmUTRybFdVTDZFQURSaHdCUlRkRHF0MGhnRVFnbFJmRVdBQkRjRmI5QUFDWEgxVUg2Uk5lQgpKTWVlQVIvUDBIeVhydmxzWGVxSDI5ZC90SGZyWnp2V2Y3WngxUmVaS2QrczF2d3BOZlpDVW5SZFFtUWxPZ29JQWdnOEVickhOWUNRCmZuQTRCb29PTG9nUTV5ZEVubEJJaTRBaFVxTHpLZ3IvZEs5MVV0czJxbXNiMGJWWkRaMW1jNmNGR0VqZlpMWjFUZlEzMzlMM1dJZHYKemZWM3ptZzd4L1h0STRQTjFqdk5FN2FyNWtmZHV2KzZhK3pybU43NithT1hUMCs1SFIxMnErcFpWRFA5MnVtWnhmVnppK3JuWG9QdQpzUzZwMGkydEdvWTFJVmdXc2dOb1djMDBDRTBmNzZvcHYrcHBVZlVNaUVmMXY0bHE3a2ZVUFBRNU9lZGVac2gvMTNpdmVYSzZkNndtCjY3MDQ4WjV3K2NFSWVYNVV3Q0YxVUM1Y0E1THZBUXdDaVpZZW9vTXU4dDNqa0VIQ0s4UlNPTThLUUVKdEVLQUlMN29BRVB0dHNPVTUKekg4SENQaEJjdDl0NUlQL3pRSGtjUEpYaVBORk1TRjNoQkZZeDJINDlIbkJBQkpheDJHRTlIRU5JSHJaaTE0T2M2d2ZkdklYb1E5NQpTWU9HeHBBcTRCQVBRRndlT1FPUVhUOHNnQ2dEOGZmRE93UVFxeC9VcXN3Q0NMWThZd0NoOG84ZFFQUXVNS0lmQ0NDcU1ZaVVoZFlGCm4yVzNyek03dVdDcGhnc2d3UklZeHozekFvakVYZ3BpRGt1RVp3dmhKM2IzdUFJUXN4OGUwQWYxUWNNZFllQ3R0VUVuVnNyT1pVcmUKM09sL1lVM0VwVFVCTlptQnh4TkNjbGdBRldJRHdRalJ3d0ZRQVIwODhBRUVrNGdHRUs0WXNhVWdlaFVNdFQrVFVBWUNjUVlnU0FRMApVaFMxUys4Z204enBPMmtBb1pmMm5tZ01vQmpQemFTUkNDUm0rUlplNkhmcGU4aExhZzJPengxaEhnZEFLbzk5ZEFCM2NEQjlRRFJlCisvRmprdDlCamRjQnRRYzhFRWdZWmhRR0w4aEFiRGUwU3dEQnNmQ3haMXdBQ0R4aUFNRnhHZEhnc1NGVjhYcWE2dUtxK0M4MlpueFMKa1B2cG1UUGZ2SEg1V24zZHRjTGNyN2RtZnBLWitORkt4ZHVvQ0ZTRmQ4SWpBSlVKM2ZNNEFGS0ZscUFVZ1dBR3FTS094TW9PcThLTwpSa3ZnNGxHc0pFY2gyN2M3czdyMUs2Tys4NEd4YTdLL3lRQ0hoWFdZaDI3cTlDMld1MzBXVTd0VmQxTS8wS1kzZEpzc1RUcGpvdzVPCnJtZ3g2WDYwM0cweWovVVovdmM5L1ZDM3RlU3IyZkN6djdxZEdIUTdPZXgyeXV4V1BmNkgycG5YNnU0dk9UMERpSU1yUUxBem1zM1MKNmltUVpWVVRJTGp3NDFreDRWMHg0VmM1QlFDMHJIb0VQUHJXM0JlOVBucm9FOXRRNjh5ajd0SFdwbHM3VnRaRmhSeVV5WE5EZy9OZwpIVXVXQi83aGp3amRpd0hFTXhDNVNCSWJrc2Zta0JCRDVLTFFRRFNBWXRCcytkOFdRT0VpWUtBOTJEMngwbjJZTW5BK0d2dkJmeFlBCmNmWHpqQUhFTTFESXZ3S0FOdEFKOVY2UEl5U082d2pwODZRQXNtOTlKL3B4QVNDaUdScEFlT0lwRFNDaUgrY0FvamZBUS8zZ0lBQkIKQXpFQUVoZlBDeUNpSDlaQXRhdURVU09Pb3dvUTd2aEJRUUJDN2xrZjhzWUcyVnZyUTk2RVhkTDRUcVFmR2tESVFBeUFZQnNRdFdPTApvWSswRW1hQkZTQTZESURZbVdJRVFHUXkvTHdBd3B2QzhGNHdmQ1pRbW45WnZCaU8zVmpyVjdBaXRDUXRvQ0RkdjFnZFVFZ0JDQnFJCmhPOGVKd0Npd3BTRm5GV0FLQU9oMm85akF6RmI0bm1CRjNHTnhMNW5mZ2VHQ0E5TVhBRFo2MERZUUFCQXpLZWNHT2daQW9qL0o4d0gKSUVJZk52dlp3SmNxZEJRUUxBc0o2RE1QZ05nbnFDV0lBZEE3SUduS040VUFTbzQ5NndKQTZQRTBBdENacEppeks1UVhWcW5mM0pqKwo5WUhkWDFaWGYzWDVuVS9lK3RPSGI3Lzc5Ymx6UHg0cC9tWlR5amNacXZkU1k4OG5SVmZqMmFoUEJpQlY2QkdzSDNWWUtRZzJFRWhjCkdEU1FPdUlJWGlaTGpqa09OQUNza0J4KzhNMmFhOXJPKzRhZWlZRm12YTdkaUJiRlJ2U040ME1kNXY2T2ZsM3pnSzNKT3RvNlptalIKOVRmZkd1Z3czTDFsRzJpM0RqUWF0ZTNXeWQ2Wmg3MFB4bTdOTlRRL3l2N1FFbGQxYTNsUjkwdWxReStYVDc1VTgrQ2xtb2V2VlUrUwpIaUFjcGdKVU5RNTRCSHVmYTZhV0l3bDVuWjd4cjc4ZlVIWmJXcTFOdVdLOGN0MDIyVGVuNjU1c2JkWmFHd2Mxa1NWUklibmhrcHhJCnlTRkZjTDVhWGdqUkl6dUVXVU1iU0tnZkhvQjRCdUpkY1EwZ1lpQ0JlMTRRZ0FCOUlnTjNoL3JCQTM3QTE0YjZiUXZ6dHgvMjg4OEMKSUlGK0Znd2dMbnJzMTBQOStBYkNpQkdTZ241WEdQb3RvaHlwWjdyQVBiOE5nSWlCaE1SeEhTRjlYQU5JdVBqRmhtMzlvZlFUSndMUQpPU0FFRUxqb0FrREVRSVErZE1PUU13Q1IyZzlJUXNCaEZrQjhBNUYrSUJwQWFWSzQva1VLUDh6SUM1Y0FZZ2VCbmNQbEg5SVR2VkYrCkJSdUk3WTltQUlSb1FnREVUTW5Ja0ZENkNTNW42SU9DNytRT0Y4TkhDdkc1dzRiejFwTURDSjM2ZzYrd0FEb000M2RNNlhjNHpiY2sKeGVkb3F0L0pKTCtqcS94S0VnTU93OEh5eUVDa0R2UmtBQ0lGSkdnZ0ZrQlVHNUFkUU93MmVLWWJtZ21uSmNoQjdFdEZsSk1JZ0lpQgphQUR4RElSMjBUTUFJZ1p5RFNCWVlYS3NIK2I0SDFvOGRGdTBBOE01QVpEQVBTVFpRRDhhcndNYXIvM3hQbGtnR3U4OThUNXdKN3pECjRHbndNTW1LaXlDQ2w2Z2w2Q2tBbEJoVGpRR0Uxci9BbmVmU2xHOWt4TCs5S3Zuam5QM2Z2bjZ4OGUzM3ZqNTMrZDFMNzN4MjZjMmYKeWs1OXZUWHQ2aHJOQnl2aUxpYkgxQ1JFd1drWVR3R2dJMWcvS01VZ3NBNFVVYXdJTDFKRkZxc2pTbUpsQlpHU1BIWFlVYVc4TkNFcwpQeXB3Ujk2TytxYXZidXQ3YkVPdCtxRlc0M0NMMmR4bTBOMHdXUnFuemEyei9TM1d2bGJqVUtkTjN6Wnh0Mm5jMEd5MXRocE1iUVp0CmsyR2dhVmpmMGovWmZ2cy83dzdkdjJ2cDdaNTg2OXIwenZkR1E4OFlYajA1NUhaMEVCNFBYVGJ5U3ZuWWE1VVRtRUVZUUl0UFR5NnQKbndZQlQxNnBHbjJsd3ZaYTFkaVMya25GeC85M3hmVTVTOS9JUDdwMGhwdURRNjNtNFd1NjYyL2NpSkFjaUpNZVZJaXpOWkk4aFNRdgpSbG9RTFQwY0pTbHlCaUFoaHA0TVFMR1NIQjZBY0FUdWVVRUF3aFVnOElnL0NQdUJ4T2pNUS9hRHYzTUFDZHdERStvTHYrUlpBWWdZCkNOTUJJMFpJQ2h5Qlk1alFuOFZYZ0g1Y1pwWERDT256WkFBS0IvODlCUVpDNFJQSGRZVDBlVElBUmZwc3h3Q0NWWitBTEJDZ24yY0MKSUtDZnh3UVExazlpWUJFQVVHSUFLUUlWMmdFVXhPeU5wd0dFVDMrbXg1M2lFNStGQUNKTjBBaEF6QlV1Z0M1dmtMMnpQdVJ0OEFRdgprNUc5OGF4UjRNbEFHRURvRUdlR1BqaDIvUVRENXV0MUlXZEFNbVVOSUhBM3ZuM0dxc1BnYmZOc2p4RUxJTElwakFhUVhVSk9BSVF2CnNwMUFoY2hBeFNyLy9la0JCMU9DaWxaNUY4ZjdIVjdwbDVjaXlrVUFvZzIwQUFDeGRTTjc5WWcwRW5IMTR3eEFsSUc0QUNJdjdTU2kKMm1YSWRjaU8rUUhFR0FnZkkvVDRBTUszT1FRUWFsZHlEQ0FoZmFCK3dPL3ZCRURBTjNpUml3UVhoRFJlT2NCQUdFRG9IS0RkU28vdApJQ3IzM1E3alJvWi84WktzUE0vT1JzVXFRaTNTaXJmWUlhbHczenN6Q0F3WUtLNE82b2NNaDhjbEg5Z0FWSmNjY3hva0tibzJLYm91Ck9ib2hOZmJjaXJqWDB4UVhNcEsvT2JEM2gvcUdhNWYvOU9tRmQ5NTk2NzNQTDd4eHJhVDA4MDBwMzZ4TGdLM1FhQW5zUkVMMGNjU2cKTWsza1VYd3FORUpQTVpVaS9BUzZSMTZxa0I5RngwT2Z3UG9oSzEvSVFFY1ZJVFNKN0dVaGtCaDVBZkNRUWxhNEt1N2t1V00vRERiTwptcnVtZE0xR2ZRc2NGcVpyTjJyYnRNWXVvNzdETU5SczBMV05hTnZOdzIyVzRlYVI0ZVpSK05oaWh0M1RyY1BETjhiTlRkYnBEc3RmCjc0NzhNalJtN0xQYytPbmVlNTkwN25qYmtuYW1QN3pzbHUveHU0dE82TjJPbTkyT2pidVZ6ZjZ4elBKS21YVkp1U1dneHFTK1lONzkKd1dqMXRka3I3WSttQml3ejkrYUdmeHcxM0J3M05CbUhiZ3pjL2NsMDRkZ1huT1V0YVY1c2NENU9YRWdCQ0RFUUNxYU1rRDZPdy8yVQpFd0JSdFovb29MMWM1VGdNMWZnczNzRVlCUTNub2dPdVE2T0lkMFFGZ2VmZ2hxMzQ2RUtvSEZGMlZORDZzSUMxVVFHSHd2Mnl3eVViCjVZR1pvZjdaUXJXd2dWMUI5S0dJK0FSRm9YdUVvYjhuRWp6YXJiTU5CMERINGZrOXVITGpNS0granVPdy9QTUVBQ0psSGtHRWQ4SmcKeXJDeFE0UlhxcEg1ck1hUis2ZElQRmVFK0tRR0xsc1I2ZzhOSlBaUXkvM1NRb0JwUEZmSnZOSko1TjRaY3VwN1FHZ0FPYXNHb1NOOAptTkRiMm9sNDhKK0RQUWNpY004R1FDS2tJajV4WEVkd0pMU0RFNktGRStESitoZmFEQS9MUDlnM1FEYXFnR3dRUkJ4SUgvS1MxL2NECjFJSURCS1B5QTQ5UU1FbEJoelA4djh4Uy9aVG9XNlAySzFRZ1MwVURNSW56eVZHSDlBZlJDREQ3c2hlZCtJQjg4aHlRQ0NmSlBoL2UKZmhJMEJ0QkthUVVLSEh5eE9yZ0dCQjkrbUNHdVd4MEVONEtobzMwNDA3NTRBRUlyWDI5dWtGMWVIL0lHMUE4N0pRUGZnQThUeW9EbgpLRExsSHdDZHRTSDJrZzh2YTZVMU9PdWtkZXVrOVpuQlp6S0R6NEtza3piZ0oraktHZkRXbXFEVHE4VTFxR0pFWEFXWDB0aWhxdkQwCm9IUng5YXJBQ21ZakdENENrYW9Ec1FDQ2ZUOHA0QkVrb0FTRXhnMXBqdVlsMlQrZkpFVlVZQStxR3dFOGtTVDVGb0FrK3VTRFIvd1MKUENjdk5YNjU4ZjU1Q2FMOEJCRjRja2lEamtaVStmS0h4dHRuaW5uRGY5MVZIdURmZS9pdlBuRUF2eGZZOFRJWnRXdk1Zd2NNMVFtRQpEMHNrUGNzb2R0YVFmV1RPRE1RTFBpYVJNQWhXZDl6eGtIWjRqS0V3S3EvdGNjdTNLcGJtcXp4M0hGQjBxcGNYZ3o5UTZiMkduZXR1ClB6SVJCQi96QXp0NzdBdGV1T3JERGpyRnh4NTY0dDVuZnRXSFZ3SGkwNGNCa0gwNFBBVWc1ZVg1QVVUcko2NldBNkNZK3BTWXM4aEEKNTFjbmY3Wjd5NWZsWmQ5ZWZ1djdLMy8rOXAwcjErdnJmc283K09tRzVDL1d4TDhIa0lRQnhLWk1FM0djQXBEZFFIQktSaGcyRUtvRwpoUjVoSWkvRjNUOFlRSnJ3STVyd1kyaWlxbU1BeGNrTHdaZUEyeUlEc2hOa3VUa2I2OTlyK01IUVBhUHZHQjFxTlErMTZJWmFob2RiCnRjWTJpN0Z0Wk9nR1BDVUlHRWpmRHNlYVFnKzF3cjVwWFl0MnNIVnN1TVdpYXh3eU5kNnp0ZzFaZTBkc2d3OUhEUC8ycUg5OG9nY2cKU2R0N1U5dDRiZWpyYi9vLy9QenVlNS8zZi9UNTRHZmZtYTdkSEcvdm1odm9uUnU5Ty8ydzMvYTNBZE53ODkzK0h3ZXQ3ZFBhNithQgpuKzZCRDk3N3lWcTY4eEpkMGVIcHh6V0FoT0xodW9mM0tUNkFoSXRmenhaQXNPZ0NuMnlqQUlRMEU3ZzlLbWdydUJJdFBoQWgyaGN1CjNpVVhiUThMMkM5d3ovOEE2TEVBUkdCQkFPUndyWW9BQ0xnblVyeGE3cjAxeEhOejROSzFVczkwbWZkbXNYdkNmMXNBc2ZyWmhoZS8KY0hVSHU0Zm9Cd09JdWdqcGc4LzF3WjNMeERFQVFJQXNpZUxDZ2hXZDM1NzlqdzJSbDVRK3VjbXl2QWl2SFJwSlhwUnZOazBmT2tMNgpQQ2FBc0g1SUJjZzFnSWgreUxJWGhTRjdBeERUL1lQUEIwSTd4VWh6OUhvWlBpc0kxbktBVk9EaVZDQ2NZeXFrRDg0YVNUVUVFSnk2CmVob29CN2dIMDRjOHdRWkNiOVd2bGVEekV1MEFnbFVmRmtEcDRob2FRRmc4YVFFbjdRQkNhMTVNNy9NQ0FjUkJqNmpBN2lHS1Bqd0cKOFVpRXJ3RDlzRG5FQU1nM0J4aUlEQkdqQTg5YTlEbUVEY1FHQWtnRHo0eG1ha0k4QU9FcWtkQkFzWjQ3UVhnQUFuR29IMVNoNFFQSQp0WUVRZ09naTBEd0FVcmh2ZzFsMlVPbTVaV3ZvMTRxbHVSQjUzcGxDL2VBR29HY0lJSDRERUJ1Q0lid2M5Z1pPbXVvaURTQlM3MEY3CndSb3dodXo2aWF0TmllVVdnWUNCWXMra3hqV3MxSHl5SnZVdnU3ZCtYRno0OVltajM1VWV2cnAvMTFlYjFueThMdUhEZE5VVmdDUTAKTjRNTElEUVpubWNnckNMMk9rTWlPQ2xNZmt3ZGRoUW9oMVNBWEFOSUlTdU1EUzVNQUQ4cjRyZ0tQSmNlU0luTlBiVHJYUFBYOTdTZAo4TWpFL2lhRG9kVnFhTFlNM3pDYVcyekQ3VHBnSUhoa1lpczhPeEZXZ0dDNXlEVFFhUjNxSE5GM21nMXRSbTJqZHZqbXNMN0pETXcwCjJxU2JhRFhPZG8wOHZEM3hxSC82NThIWlg3VVAvcXAvTktlN1A2TjlNRDc0MEhwbnh0UXphbWpUR3hydm1tNzBHVHYwNEF0MWpXYkEKSUYzcjhHQ3p0di9HK0FiMWNSNkFDSDJnZmdDR0ZnZ2dubjdRTjl2MTR4QkFWUHV6a0R2Q0xBeEFBRHBJUDF2UVloYjQxTjVvY1k1Uwpla0laVktFS1BoNGgzaDhwMlJzcTJqMHZnTENCL2dkQWprS3ZpUEgxSXdSUXNQZEttZGNXMFd2Z2I5bTJNdW9zWUZDNGFHUFE4dFUwCmZlZzhjd0FSQTJFR09kVFBDd0FRUGY4TE4wVGpsUy9TM2N3TFRTS2lIM1hnSVhSc0QxeTZJcFRCWk5tcC9LenVRTitxNE1wWXJ5eTEKK0VDTTN6NjFPRThaVUNDa3o1TUJLQ21nQkFXdWdpSDluSUN6THlRbk1ZRHc3SGV5Qll3Q0VDbjhNRjNQZEVnREVHYVEvU1hTendiNQpHeUJySk9kUllEOFFDSHUrTXlLTG8wQUFJZjBBM0RBQWtweWp3eHFJS1FXaFZpSHdoVFdNZmh3Q0tLQ2NHQWdCaUdPZ0p3UVE3aEJpCkl4U1BJSEJuR1FsdU13SWgyK1BoS2hpMS8wdXdGc1pNMGtqMHpVVTVtT0NUQXlTRWNpQ2VmMlFpRTZVbk16dE1hQ0FNSU83R01ScEEKZHYyUTdoemh1aFdJa0Q0c2dPQlJRNXh2UUFCU3VPOXltTGpsTzFWZTJ4WExzeFNlNjlQOHpzVXMyUU5MWE41YjhGUXZlK3VQRjluawp0VEFBcWR6aFFIZ1MrMG5RQXZjNENPNEh3dUZWZ0RnQXdpMUJUUER1OTlya21CcFdQL2FBSzJuS1Q5TlVINjFPL0hqanFpKzJydjV1Ci9ZcXZNdUsvek5COG02NTZPMDF4Q1RnSkFRanVBa09QRElDSWdjaGFHTDAwcG80b0FXSFd4ZVRIRVhlT3NydkFTbUJYRUZTUll3QnAKd2t0Z1A0MmtNRnBhckF3OW9naUR2Y2JxNk1La3FLenlnajkzWHh1eDN2N3JVSk50NktiUjBtYlZOeHI2bXdjSFdvYUdXblRETFVacwpJRjB6TUpENWJ2UHd2UmI5UUt0NXFIMUUxMjZEWm1veUdtNXErOXZIaGpvbWhqdkh3WFg0YnFzUnRobUJqNFB2YVJxODI2eTcwMnk4CjIycnViN1BnZDRGNEJxNFBEemZxamUyRzRkYmhnV1pqMnpkV0RhUUpBeUFvR0FRZ1FEZWtOMVFONHJRQjRmM3R6Z0RFYVFBaTRxRkQKOVBNQ0FBVE5nZTVCQnRvZUFUZTY3d0UvUlEzKzkxVHoxWmJrbjlZb1AxRUVud0svS3R6Mjc4ZWM5K01vZkFCaEF3bTVJOHlMQlJEVApNOFM1R1RVTVBXOEFVUWJpQTRpbUNiTUU1cnMyWUVsR2RORFc5S2gzZi94OE9NcnZjT0RTMVJHQjY0VDBlWDRBb2czMFcxV0FNSURvCk9SajR6RU5TOVNFbi9YRDNmTUYzaVg1QWtINXdPQVpLOGkvWCtKU3EvZktCa01BM0pFcnpZdjJ5NHlYRjlHM1UvWnlkWHdzRkVKcCsKQ2p1Z01ZRFNKT1VPQVlUN25Wa0FVV2Yvc0djaDBnRGl4RjcrSVFkR2svRmh6T3d3M29HSEpGVHRCK29uVTNxZXpRWDdjN3VCenFJbQpJUTZBWUlVSkdnanFCd0dvaWhnSU1RZ0N5RjRUUXVjRFBRR0FVa1ZGT0M0QXhFVVNJeDV5NWhDK2dnYUt3YjFnekpsQVhBQVJBNUdYClNYNTVPTFNCRXZqZFFyU0U3TjFDdElFSWdDZ0RFUUE1MkxURkF4QXhrSkErT0xpTGlPZ0hoSzMwOE9uREFHalpIbzNQVHZCRTZaV3AKWEZZQVBlUnhBSkFJai9TeUE0aGQ5WE1OSUhyWUJRRVFNUkI1Q3pqcFNRQ1VxbmdkNmVjc0IwRG9UQ0JVL21HT2ZrWUFxa2JsbnhvOAo0cFNUbURkU0ZHK25xZDVQai85NGRjSVhLMVdmckZCOEJCL2p6cWVBcjQydVpRRkU1NFNRUWJqcldkZ1dyWktmQkFZaWZkQUFRRXA1CktZZ3pBQ0VESFZHSEg0c05LWTZWSDRrTlB4SWRXaElOcm9jZFZzdnpWeXFLcXdvKzdQbGh4Tkk5QzFCaTZqRERZV0h0WmwwYmlWWFgKYk5FMm1hMmRWbU9iWmJEWjNOOWlIV3l6SVFPWkRTMEFNVnBkdTE3ZnF0TzJESUVZTzdRZ3V0YkJrVGFqdGRWa2FqR2JXeTNtMWhGTApzOW5jYURUZDFBMDFtK0NnMWhiVDNSc0QyblpqNXcvNmd0MlhJd01PMk1zL0xJQ3dnWndEeUs2Y0dMYlRXZGpzVElWL0NpSU9CaEIzCjk3dVFPOEk4TG9BaTRUelUzVkZCc0JNSU5nT2hJNTVqcFFjMDBrOFBidnZ4MU9HV1Exc2FrOFBlVlVxUHdRa1lBRWw4OXpEaERVeWwKbnMrZi96NEF3Z2JDQkJHaWhCT2YxQkR2MWVMRk82T2xHUnJKNlVoeFptVGdSckY3aXBBK3p4WkF1RXVKeHlBWm5BVzJzUE4rbkVVZwpudmtCQkord2N6QUFnUENKejhxQUxJV0lHWEVhNjdlSG52MU9ERVFEU0JPUXpSN2Z6R0dReXJkQTQxK2c4c3NCRjhGdENaSjhsU2hQCkhaQWZqNklSNVpIZ0swTDZQQTZBa2dQaFlkQU9BUVRDZGtOREFLME9naU85OEZJWFd2bEMrb0hvWVdlQjBhZEM4ekRFbkFiRUNmb0cKaGxNd0lmVU9nK3M2SU90RHpxMFBmaDFrUThnbGt2WEJGMEZvQ1JFQXJaWXlqYytBTzhoQVVEOHNnRmdENFNBSnNSNWlEUFFDQUVUQwpBNURRUUREVWFkSDBzZEd3ZVlnQlVDNWVEc1BoOVF3NU5CRGRFdVFNUUR6Nk1QM0lIcnQ1K3FFWVJLK1UyWU1CUkc2RDI5QmNBa2l4CmZLL0daM3ZjOHUwcXI4MnhTK0VvVXdBZ3BjZE9QTkFVR29qZDhVNzA0eEJBektSM0NrQWFUemdQbGE0QUVmMWdBTm5QZ0hZU0RDQ20KSlNnVkJRTUk2b2NGRUx2NFpaOER6K3dGaTY0bStrRXozcGxvb2s0a3hsU2k1cUh6YWFxTElDbHdwRHl1RlpHQjhIZ21QTWRBaEVFRQpRS2oyQSsyaUNqdXVrQjlWeUkrQmFFSXJnSUdVc3FQY3ZXQndVY3doZ0tBazVJVW9SWEdoeFlxd0kzR2hwVEZocFFyRUpwV3NVQm1jCnMwWmRWRlAwZnVPWDk0WTd4clJ0NC9qc3hPRVc4MkNUZnJBSnRrc2IyMnpHbXdaOXN4RmdhTGdWQUFobXVNMDAxR3FFUW9LdFF0YWgKRnZDV1RkczVQdFEyM3Q5czYyKzMzV3V4d3ZKUGszR2d5UVMrRFEwanMvYmYxQnM2YkFPTkJ2Q1IzcCtNNThxK0JQK2NnOStUVTlHaAplb0JpcEhrdzFHSVdMdUVRMmZBa0pIQVBxZnB3M1BQQ0FNVGNITFFUR3dnQmFIK3NKQ2N6OFdwTjJRL3Z2WHV6NW1qWE90VzNha2s5CnVETkNuQ21rRHdFUU1kRC9BTWhSN0FDUytkamJnUGp1WVNQMVNndjFYeW54WENGZHZqMVVsQmJzdVU3aXNTckU5d1VCaUE0UFFFOHAKSVlGNDVnY1FxUUNoOHM5T0RDQmFQemk4ZWU4RVFFd1BFQUFRR3VORkdNUUFDTG9uVitHZm82UjJlT0dsTHRwQXJ2WGpBa0QwTm5nOApINTcwQVBFQWhQZUNzZVVmam41WUFER2hBY1F4RURNbkZYNEtRd29IZk9GNjJZVU44b3NnUXZyZ3JBOXBRSUg2MlJCeUFidG5vK3d5CkRzV2cxN0dCY0E4UUJoQXVBbUVBc2U3aGgyY2d2QnoyUkFCaVFzc0doYk0wUnFVRWgzdmlJdHhyUmtKa0EzRkRueEJORGMxZ0dxanQKQURySUdJZ3pRQU9PVStYT2srY2JpQVlRYXlBYVFCejlnRS9oVWFQQ0NPbURnNXVzaVg0d2dGU2VlL2p1WVlNV3ZMYkZMdHNHNktQdwoyQnJ2QThpU1l3Y1F0ZHVMNkdkQkFNSkQ0Tms1OEV6aVBRODRCUkExSDhNT29LUzQ4eWtvcVB6REFJZ3NlMkgza0xtbkdFRDJrazkwCkJRMmF4TGpqQ1RGbENkRVYrSDU0YzF5Wk9xb1VEZit5T3dsTmhqK0ZONEx4REFURWd3eFVBbGZCSW83RGlmR2haZkVSVmFseERhdFUKRjFmRTFpZEdWdEpGSURWdUEzSUNJTlE1QlBRREdGUVFLOHVQa3ViR2hCUXFRb3RqUXVENHNDaHBQdnhJZUZGa1VGYXE4bkR4Z2JldgovNlcvKzF1anJtWFMwak1KcEFJTE5rMW1ZS0RoRmd0NDFNTkh1QzRHTmROdTAzV05nWmR3T1l6SkNLQVNlQVJPNm0vWEQ3YnJ0QjE2ClBZcXVYVC9jcWgxc0hnS2lBZ2JTdHRodS8yaXRLbncvTWVKZ2hIaC9xRGliRUFjR280Y09CU0I2QWNzMWRFalZKeVk0VzBnZkFpQXkKQmN6UlJuZG5lVndBb1FvUXZCODloM2FKUnZNM0ZHRm45bXo5eTVHOGF6bGJyeVZIWEZKSVNzRnQwYzYzMC9NQVJBd2s1STR3THhSQQpvbzFoL2h0NENmVmIvMklBeEJaVU9CdkJIRWJpbVNMejNpaDJUNUQ3WlFSNXBJTGZFT2hINGdIN25VRm8rdUMyNk9jSElCd3k5SlNlCi9QVUVEQktJNTNFQmhNcy9BRUQ0OEVQSCtnRlgwREJVZGhYTXZ2VWRqbkFISlBMZmp3MkVBSVM0RTNRbzJudWZScHdYTHk1VSsrY2kKNitRbUJESkxYVFNBaE9oNUhBQ2hRV0N3K3dlRXpBSmJHWHdLQTJoRlVBVUkzaEtQQVVTYWZwakZMd2xjK2NxRXZUNXZvKzN1YnhFQQo0VzFmQkVDd0p4cE54c0I0eWdTVWtaMEhqM2p4Qy9kUUF4WGh2ZTdDWkFhZmhmcGhBSVFMUDI4ZytyeUJuOUFNeXBSZXdIdmc0ZkpaCmNCVmpJTlJuelhNUFdoR0RBZnBoaE1TTUNZTXJZaThBUUdTOEJ0RVBDeUQyd0NGOG16K0xHL2FvNkhpZlBCRHlrbXdpQS9kdzZrRFUKZXBrakFQRU54QU1RTWhBQmtGMC9wSmxhU0IvTUdpRjllQUN5YjhKSHpjdkM5bWNjK0pibmxyamxPOVVlQjRHRU5ONzdGTXNPd0RvUQoraFFGSUE1M0hoOUF0SHZvT0FlUWZRWXFBeUNnbnlURk9hUWZ2UDRGQVVSMmdlR0JYeXlBS2trU0l0bXdtbUg2bWlPcTFHRlZDUkYxClNWRm40c05QeDBkVW9KbGZ4d0JsNHVINGkzSUFKbUltTG9DWXRUQUlvUEJqZUJzODdOcVJIOU9FVjY1VVh0aXk2c09zamQrdFRYZ0QKR0VnVGRwTGRENDhQUlhSYUFWSkhsU2dqaWhSaCtTQ3FzQUpsYUw0bTlMQXlwQ0F1TkVjWm5nZDRGQ3N2aVpHVnhzaUtZMlNIWStRRgo4VUU3c3RkV3ZsLzNYZmUzQThNdFp0UUViUWFtR1d3ZmhWV2ZGck8rV1E4Q202WmJMSVBOc0E0MDNHYUFlOGZhREdqd3F0YlFvak9CCjV5MVdRN05WMzJReE5GcDBqV1p0bzNXb2NReGt1TTB5MUd4dS9MUTNKN05DSWQ0Vkk4NENQb3VXd2NsZlR3QWdJWVB3aUZNYVFFQS8KQ3dVUXF4WVhlVndBc1Y1QmJVQ1FJTHZBajRBL1VWYVJHdlA5NnVqK2xaRS94Z1VmaVEzWkREL2lVeUNrei84QTZIRUF4RjFSWWpxZApYVWdvMkhOOXFCL2MvQlhpa3hycXYxcnNuaFRpQlgvUDN3cEFNay83NEhjNlF1SzRqa0E4OHdBbzJuOGJhWUpHNVIrb24yaS9uWVErCm5QVXZDa0RJUVBhRGY3QitsSDVaeEVBNDRPYmtrTU1xVVo1S1ZKQWNWQUtza3l3cFRCVG53ZU1OQlFEQ0Z4M0dCWUJXU09EaUZ3QVEKSG84Nkg0Q1lsbWZ3WkUwUUJhRGdLeFNBMEw1M1Nram9TT2pMdVAwWk0yaU50TTUrb28rMGdUa2RNWWc1NTFBWXBybEhlaDZ0ZjEzRQo3Z0ZaTDcyOFBwakJFTW9iMkVENElFUU1JQkNIQUNMNkFXSHJRekIwVjlCQ0FTUmMwbUpqWHhkajZZT3FPNzVGR0VCazR6MG1FZHNWCnhIeUtBQ2lSR3BkQnpjMWdkdFF6dStqUnZqUEdRQ3lBOEJoNXJCOGxFSU9qdFRDUU9Hd2dDa0N4WHR0QTdJdFdiTzFIQ0NCaW1zY0gKRU55UDVnSFA2UkhTaDBUaHNWR3hmSS9hdlNEZWR3ZTRNMjVwZHJ3UG5PcEZBWWl4anNyRGFSUDBrd01vV1dFL0VocWVCSzM0Lzd1NwpyK2E2c3V4TzhQa3dMek5WU1FLNDNsdmd3bnVQQzBNUUpBQ0MzbnRQMEh1Ym1Vd3lTV2JTWk5KbU1qUExxS3NsbGFwS1VtblVQZXFRClZDMnBWQ3ExcE83b2lPbDU3RTh3SDJIZVo1bTk5MW5uN0hNdlFCQk1sVHJpSDRoekR3NHVMbEtxNEMvV1hudnQrL28rdHY2d2ZpQzYKL1JuMGM1TUJ4UHUvUEllOTAzbnZkTWNBaUF6VTFZQlREU0Z3NFNuMnNIZzZpb0NiMDN3S21OZ0Y1blQva0pDYyt6MU44KzJGRSsyRgpVMjM1K2RHZWk1ZE9mL25xK1U4LysvVHBoZE4vTnRoem83a3czMWs2QTkraWJ1amozWVY1VDhPUU16aXhjQWpTbGovSTRZUERJSGlJCkdIVVpZL1JOUEZVK3ViOGxjNmcxdmIrMzRjamU5ZmRlM2Z2enYvanBmLy9Wbi83ZjFCUDkyOS84OFQ5aUJlaG52LzI3bi80RDdnTDcKeFQvLzdTLy9CV0JFemRIL0JQblZuL3dENUc5KytZKy9oZWYvOEc5UlM3LzQ3WC8rR1U1ZmhKdC8rZk5mLzlYUC8rZTVneSs2aTdzQQpFQzNwbmMyWlBhWFVudnJFYnZqVkRZbGRwU1J1NzRJTGdBNStHSEg4aFNjMlpUZ0dRUEwwVTJTUUdISm9ndWdSUDFVZjN3b3B4clpBCitKckQzMVhScWpBQVVyQ29NSGhRVXNuY2hQQUhhRTV0Z3pRbFFWMVkreW1FdllSeVlyMjVlVGUrOElpSGtTU3B4Q2tsNXZMaG1WeHcKRnJCU1NrN25JNU81MEhRaHRMa1luU2xFcGhreGNNSFh1WkRQdEVNT2ZNdEVBcWdRZ1pkVDJlQWtYRURnQWw0V28ydkJGc2dMd29xNQo5Z3c1dEt6akUrQlVjdVVvTUN0VE53RS9EaS9ybzJ0VE5UNWROWFpzZGxDMFdnSWo2YnBoNjdzcThDM2YyTFJTd0tvZDVSK3MrcXNYCmprMmNLaWtHVnhmcnBreVlPeHh6UjI2QTUrNGZzL09MRjcrYVFUbWk5dU1Ca0l4cmcxaGtLNFRXeFhCUWtMTTBKbkNETFR2eEkyeVgKcnNoQmlLejk4TklZcjRYWjZZa2M0VkRIajNNZTZrRFNPUmhWbFg5UzUwZlNGK0RyWU9Mc1FBSTNoWlZUYUtBUmdFTGltcXYzV2VubgpFeHIwZkg5VjZoN2xybDRMdzJZZ3JneE5aVDlkay90c1RlNkJuZ3BOM3dWRlpXNk5wNitQWjY1QlJqUFhJV09wYTJQdW9jK3E5WWU2CmZKeDZUK1krWkczMkFWOWdxQUprT29GV1oyNU9KSytOeGE5QXVJRjZQSEZsTkhhcEhMMW9BaStkSkM3elF0aFE1S3lxQmxFcGFBQmMKRWowT0J1b0xHd0E1RExManF4eklRSlNpTzRRRW1KUit6S1RwU3VrTkhvTElsejJCZzkxMTRCNTQvOE1Ud1J0ckU5ZjdWeDdzcTkwMQpHTjNUSGRnRkt1cW9PUWovOWxNM05MWkZkOUJVUUc2WDhRVVFEbFRVUGRHZTJZTnlYQ0VieUN4ZytZYWJvNmtiZWgySG02UHRKMlhrCm5uYjdUcVdZZmlDZWNNajkwUnd6RGtEdEFyUFNXN01UMHJOeUI2ZDd4WFpPWlFBNTk1M3lqd1FRTjBGekdFQlNQOFpBTm9EWVFEYUEKMkVDc244VURDSGQrRmVmaHJkcHlPRFo2MThaSGQyNys5T0VuUDkrMTlldWU5a3V0OWFmYTYwKzE1azUwRnVjQlFGMzVFM2E3dEdxagpKZ0FaQXkwSUlLd0pVZk5OVzM1L2EyWkhlM2JMUk0raFhYTlhIOS80eWM5Zi84MnYvK1IvL08wdi92dXZmdlpmZnZQTC8vcWJYLzdMClgvM2gzOExYWC8vSlArazk4Ly9BVHZyN1gvNzIxei83TmREbjF6Ly94Ny8rNlcvKzVoZi85ZS8vei8vbkQ3LzhxeHZ6WDR4MUhtbEoKYlM3RjFuZmtkN2Ztc0tFSHhOTk0rdUZ0WElTYjNSemJQVXNHVURQRk5wRDhLV01nVDk0U1FOSWxmQlBTRUZQVGhuanNFSDlYNzVuMwppL1htbmtnQVVmd0JoTzZKYjI1SzdJU3ZjTjJRV0F2MHlRWndpLzZ5QUNnRHBnbXRCdnJBVjdnRytrRGlLOHBjQjNwN0FJRjFHbUxUCmYvVHRQOE1id284RGcyTGZIMjVNek5yY3NTTmhJZTRJdUFSR2JJSndiUHA4TndDeWU0T3FMNUJWQVpBby8zZ25RZHNBY2xWOUttREkKQ3lEVkdPUUNrT0lMNkNkeHlBWVFmMWZYZm5CMXpLYVBCSkJIUDd6K3BRL0VBQUNkTWh2Z0VVREowd1NnVTNnNktRQW9jYW1jdUtKbgovN2k2ZjJqZUQ1ZC9zQUpFOHcvNUNEQzhEL3BoQU1ITlNnQWFTMTlsQU9GTGNvOVovT0x1SDlueWJGcC9JR0FnbGR3OVhmNmhOaUFjCkVZUkRFU0U0Rm1naEFMbjJoWWwrSUFNZ05ORGlBT1RwZzFiUnN4QjFkSWtvakRPbTlhUnA1N2d4L21waTNBUGNZUWt4Z0poRThNRGgKOXYrMHQvWG5xOEwzK2xlZTZnOGU2UTdnT2ZPZGRYc1pRQnpSTHVQb3h4a0xSRHZDS2dISXBSOVJCTEk1d3ZFRlVJdmU4MVVwOGgzcwpPNVZpQVVpOHBEOTI4UUF5ZVUvMCtxQjF4T1l2cC93akFhVFBQVlc3d0V4cy9haTRBV1FNNUFzZ2lBRVF4V1VkWHd4MU4rSXpQWTNuCk9vdm5XakluNGJlTWR0K2M2UHR3cFBkbWUrbE1SK1BadHVMSmx1eFJCaERXZ2R3QU1nWnk5UVB4NmZHRW5rb0FhaTBlS3FYMk5DVDMKdE9DZGZTaUo5TmJPaHQwdHlWMzlwWVBUUStlT2JyMzc0TnFQZi9yMVgvM2x6Ly9Mci83MG4vN3VqLzdwMXovNzU3Ly8rYjlRaHhBRwowUE4zUC92dDMvemluLy96SC8rM1gvL1ovL2p6bi96ei9jdi9idHZxSzMybHZjM0pMYzNwelUycFRlMjVuWjBGUkV4OWZMc3hEZWluCkdOdFJpRzVIaCtVUEFvRGdwVTJmNmdCaXIvQzFEU0RiUVBKbkpZTWtlbHdZZWtNQWVmUmo3c3NsTFhuZjZ4NGRacE1kODl1dFZBUVEKL0VmSTFXM0wxbTFPMTA0M3hHZXl3VW1lVWJRc0FHck5iZ1QzcEdySEFVQVFMdjlBZkFGa3hjc2RPd0FnZUt0aVpFMTlkQzNvQnk0ZwowZThOMmR6eGpZR0YrNDYwaTVjZ0hMblVWV25aYXpIdjg2YXgwVlBkUUpVQUpQVGpBaERQZ0ZhSG5tb0FOWG1XdlFTQUpJT01mbmpECnZONGJqL3JwaU8weEFGTGxud29BNHU4eWdNeng3M1k4K3RIekQ0OXBBSEVGQ09zOTFQdDhqdmVDOFdRZ0FOQnc0aXdZYURSNTFRTWcKYXU3aGljOTQ1SVV1OWp6Z0VIY1VnQ2hlQUkybmJ3SjNRRCtRY3ZyYWFPWW1rQWl5S24xck12TUJaeXI3SVFZYm56bEdRbGdObXM0OQpuTTU5Q2lFQXFTSVFHa2pOU0tTaGlNbHJQQjRhNGtLUHdCQ3RpRjFTNTRVUmczZ0pqQUdrR0VRTFlXSXR6Q2NTUU5KQTdpMWdqbXpVCjVDRTZna1AzQVBtc29Ca0dTUUNabWhCOGExZnBQK3dvL2RGRStOUCsyZ3NEd2VPNEZoYmVqMTNTV2o4U1FGZ0swclVmQjBEdXN6SXMKQVBub3B3cUErQjBNZ0ZnL3JYaUdseGM5YndrZ3QzNmM0TGVjM1dIYnUydDMrc2FtandNZ1l5QVBnR2p5b1d2OXE3ZjFwZ0dRT3Z4TApIMy9oZFk4RklPNkQxbTA5aWtFMmdMakx4d0RJMTBBdUFKVk9keFRuMndBM3hWUDQ0L1dYTy9KWE9ndlh3VDJRTGdBUXRnZGgrM043CkhoaGtoaWhXQXhBYnFEcUFHdEs3bW5MN20zSUhHdEo3UzVsOUZucyszd0FBVmc1SlJFRlVyZm1EemJtOTlVa3d4S0dHSkZabzJvdDcKV3ZKYlduUHJSenAzYjE1Nzl1eWVlN2ZtbnorKzhaUFg5Ly8wOXo3L2ovLysyWC82MGVNL2YzMy9qejg0OC9YUmJYZW1oMC8xbFhZMwpKckNyaHJTeHN5VzlyU0c1dVI3dUpMZUFMWm96dU5SVlQwM1FjcTk3UTJJWGhGYkJ2RzNPZHJQemdnQXE0V0tUdjRINHU3NE1Xa1lBCjJmY0xZUXd4U0dzbXVzNjNrV2g1QVlSdkJmL0N4UThOTlY4c2hEWURYOUtCc1liRW11VUNFTkFIdUFPdUFnWkJ1QlNFTlNFQklEYVEKcFo5RkFRaTRrNjRkVDY0YzVlNGl1SUMzb2lQRHZOWlpLSHpRR0Y0VE5SYUFpMDJmSlFESWxJVVdIMXM4ZGhZRElFMGZMNENvNjFudAovT0tBZmlDOHBDVUIxQlRjeEhFTUpLWkZpL0tQMmhqZkVkdmJIbFdERFNzQnlPaUhzaDlpbnZmRWlNY1RqU0VFRUI2RHl2cEpYaUFBCjhhYXdVOE9KazBOeExBTGhXV0JxMzVZTklDNzVxTld1dGZtSHRPYUZqVUVTUVB5d0FOQUh2T1lGMFFENkVFTEhyR0p3ZDVoREh4ZUEKVm1QajBaMjEyYzhvV0FTU1BVQm1QRFFiaUFCMGhZdEF2Z0FhamdKOTFDSHpOb0FHWXljZ0ErREZtS2NmeUJ0M21jZUoxSTltRGE1OApEY2RPY1V3UmlPdEFnOUZqSm5aM2tWd1U0L1N2dURBYXZqd1FuTzhQSHU0TDcrOE83SUZmMXhNNjVPeUh4MWFZN1c0QWlmSFE0cnl3CkJRRGs2R2NyRGxTMFJNTGhkd0QwR0FDaGZ1Q2RMZlM4RFlCczl4ajlpTzN4MkFOazAwY0NpT3RBc2hUa0JaQXhrTkVQbG4rMGZucGEKekxtbkNrQnNvQVVCWkRhQ1NRTVpCcm56WmdCcUwrQURIWGk2KzZIVy9KR1c3UEdXek1uTzRvWFczQW40RnR1b3ZZQ1RFdHR5UjdycQpWUVZJakZKY0lvQWFjd0NndmMzb25zT05tWU9sOUFIQVVHc1J0OUEzZ2xSU3V3RkRwZlNPeHN6MlVucGJLYldsS2JrRlROT2EyZDZTCjJRSnB6VzV0eVd4cVRLN0hva3RtVjFONko3ZlV0R1IzTitkMjU4RU42VzJONlczTjJSMTRKN09MSi9ld2RiSWhlSEpIVy80Z0FBaEkKVkVyaWZidmxXY2RMSDhrWEQ0RHd3eVIzbWFqaGh4VDdIZVQ3dkQyQTdKczZ5QkdQZnBZRUlId2ZoZzZ2cVVuNitBSW9XN2RoZGU4SAp4N2Ivc0t0d3NENDJXMHBPcHdPanl3VWc3djZCcittNmlWSmlOaCtlaXIwLzBwaGN0MXdBQXYzQWsvWFVWSlJZVVc2SVRXZnFKcWdmCnlDYU9oRTZWbUxKUVJiaUk3eTQyZ2xZcWZPU3E5YllMeE9hT25hVUJpUGQvTlVjMlVqWnhFUWl6RUlEWVFBWkF4a0R1eVVCN09TN1EKNk9abEJoQWVjZXBTRGdMSTR4NWtFOFVzZGVuSmgxZ05NdDAvcXZ5VFBNZkhYOUR1OTNOVUFUcHRLa0M0Qno1OTNRQUlkM0twN1YyOAoxTVdzK1VRWktQc0lNcFY1S1BUakFJZ2ZCajhSZ0c0d2dFQS9DS0QwN1FtMVRReVBXWVhJeFM5ZDRGSDZnYXpKZktxRGJVQm1MOWlxCkpHMFp5K0NFNklua0RRMmdxNHNCVURsK3diTUV4Z0FhakI5ZkJJRDhJMXQvaURXNDdBV1JaN0xLSXpqTUEyNFlxVDN6ZXFjWXBqY0kKRWpyY3VYTG5RSGhmUDU2dXVnUFNIZGhGUjJvY0VmcEJBQmtEeVoxZkhOTFBoZ1VBcER1WFdUL1ZBRVNIcmVKKytQYzNRT0JDc2NsQwpqNFNPZmFkU1pEVkxWbnFVZ1p6N3FnbmFwbzhHMEM1SWI4MXVFNzdqQXlBMmtMMzRCZnF4QWVTcEFPazk4RTVEdE5rR2p3T0JtaTRzCkVrRGFRUDU5UC9JK1FLZW44VXh2OCttdTB2SE9ocU1kOVhnYVJrZjkwUzc0TGkxN1FUb2IwRDNBSTc0d1F4U2xnZlEyTWQ0ZGh0Y0EKcHRhc0l5RVBnTnFLKzVxeTJKamNsRUVETldVUGxUTDdTcG05OWFtZEFLTW1xZ1lWWWpzYWRMZHlRM29QZkpleXV5RzlDNVBaVVV4dAphMGp1eVVXMkYrTTdtNEZUT1dEVGxtSnlVeW16dFNHMXZUNjVEWUlYOGUzRkdBaGpCeGhveTlyNzNhVmo0QjdRRHpBSTlBT2ZoenFCCmJQb3NBQ0Mra1ByeEFFZ2F5SDRIOHo3dkZFRHllYU9mcFFGSTZzZlhRQkpBWU5OQ2VHTnI2bUJmNlVTcUJsdDI2bVBUeTdnRUJ1SkoKMVk3RDI4SUZKTDZpM051NDg4YVpIeGdBY2Q5UGhWVXdMM2ZzbE9JejBlOE5GU05ydUFnRUhnSUdVUkhJcG84UGdNenZxbUNnSmNSTApIeHRBOGhSNjY4Y1hpTTBkM3l3SUlMZUVsSDRhdyt0bzI1ZmEraTRCVkdrSnpGU0EwRUN1QStIVnVXQlNQd1pBeWtCRUgzQVBCMTlxCjZOQXphZ2xzTVFBeStuRnFQN1Q0eFFEaUFJTUdFMmZoNWdna2NRblh2ekptY284RElOM3l6SnUvN2s2bTc2OU9memFWZWF4U0FVQmsKb0RzVG1ROGxnTWF5SDA2a1A0Ym9kOGJOODJiRGwrcUFObDNQNUo2cDlHY09nRlFyTkJhQmVML1lWUFpETU5DcTFNM3h4UFVGQVVTcgpZQmNZUUdZdm1Gd0M0d3FRcWdQeDdqQTdGbjA0cHB3ekZGT3lHWTdQUS9TdWU5U1BZaEFmenFyMTR3R1FjWS9aUDY5SUZEdzFFRDRKCk4za2FrTm9JRnRqUDdjOGVBT0hHSzdkK0tPdXJBY2gwUFF2OUxBZ2dOcEQ1UWZ5bEZuMldCVUNtMlZsV3VZeCtzQTNjb284SFFIMjEKZXlER1FPOE5kdHkzQVNTaUFNVDZnZmd1Z1VHTWU5elRnSEFLb3BPRkFFVE4wZDd0N2h6YUNlOEZFTFUvNHgydTlJQmo2Q2lNd3hBQgpJR2ZsaTc2N01JRFlRTlVCMUp6YTBaN2QxNWJIRWN4Tm1mMHR1WVBOK1FPTjJUM2dsVklhdDVTM1pIZTNaUGUycEhZclNZQ1cwcnRBClJjWEU5bUppS3dTZWJNenNMQ1MzMXFlM00zY2FVbHNiTTNBVHJyY0FqK0ErY0tveG8rWVdnbVlhNDFqNFlmZkFaK0RhajY0RGVXbXkKbURCNmVBTTh4d01nWXlEN1owMXNBQlZqVzk0VVFKb3AzbTg1TWNSQkFNM1k5Rkd4ZjFEbHpRQUVzbWxLYnMwRk5sSUQwTHFtOUN6YwpnZnZMQlNEZ1ZDNjB1aGpGVWhBQUNLNFRLMGViVWdDNE5aN0c1NlVCQ01RRGJ3VnYwaENiaHZDT01MaHB1Y2NIUVBKM1pldDQ0ZXp0CkRlU2xEeWVuWmxMak05OEJnSXlCRmdRUUdZZ09RQTJ2YTRyZzFuZElZMGlGQVZTbENWcEducEloQU9Ub3A4TXozVWZUeHdBSVpNUDYKb1U3bnZhWUh5QWFRWjluTGhHZEE0NzUzMnZyTzlCbEpYeXFucncwbEx3MG04RGd3UEFFamVYVXNkV3NpZlZzT1FwUUFvb1pvRDRDZQpZQVNBcEg0SVEzZnhEZE0zd1VENE5YdHJQUGZScXN3bkVQbVkzdkRGUzEyZlVkUFBZODVNL3NuYTdDTzQ0RzhaQUZGeGlLZEYzeFpGCklEU1FiQU55R29BaXFCOXVnallHd3RtSjhiTk9BMURFMGMrQ0FKTHRPOEk5SEVjMndCM2ViejhZT1dVQXhBWmFFRUNzSHc2NTUxUlAKWUw0SHUzOW9SU3g4Q0JqVUhjRHRZQlVCNU5iUFlnRGswVThidkpWRkU0NGJUTHBoNk4wQVNPcEhoUDlrN2dIZmJiYy9jN3BYb0lFTQpnTmhBRG9EWVFKWituUFV2RGFCckVrQ3lDVnJxUnhySUJwQzc0OGVsbjBvQUF0OEFnSXlCekUyYUEzUUVybnNhY1FkWlIvRTBMb0hsCmNLcGhaNDcyZkJHQU1LUWZ1Qy8xWXdDRWVVTUF0V2YydHFiM3RLYjM4V0VVVFpsOW9KbFNkanNmTklFYjE3R05abHRiZWtkcmVsdHoKY2t0ckJsOUM0S0lsdmEwcHVhVXhzUm0rRnRQclNybE5qZGt0OWFuTnhjUm1ZQkJBcHlHeEl3ZXdvRUpSaVFJQUFrdEJlQSs4NmY3aApudWltOUY3YkpZdUpSei9vTmkwMlQyU2x4MzRmQ1NCZXkxc2FnR3dHT1RjZEFNMHNBVUJHT1JKQUhnTkpBQkYwWnVIL1JuQ1JDNi9LClJ5WWI0dXZ6d1UzTEJTQkFUN0ptakFHVUFhYkVaNWhCdmdDeURPVGxqaDMyQ3E5L2dYNjRGWHFSUzJDdTMwVlRpQ1NBT0RaQkZvcVgKUHNzTElIc3lrTys4UkpORkFvajEweHpGeVlmVUJ5ME1SQUJ5UWFjQ2hoWUFVSFMvQkJBU2h4dWZ1ZnZIRFNDYUJ1UTZDOHdESUZQMQpHVWljTU5VZzd2NFpUSjRjeVp3clp5NmEwMC9MbWF2bDlJMmh4T1hCK0NWZ0VPbm54bmpxbzRuMHh3WkF1RDZsRHI1QTl5d0lJR3FSCjlnY1Fod0UwbWIwSDRYWnAxRTlPYmZKaTduQm04MDhoNndyUElMT0Z6K2ttTU9naHR3SHAxVEVOSUdxSTFnQzZKbHVoSGYwUWdJYWoKdVBJRkJsSUxZUUpBQ2plMCtLVU1KQ3RETWdJOWJ2ZFlBQ0xyQUlCQVB3UGhreEJwSUJ0QVhPbVJDMkZHUDczQnc5M0J2YjNoL2YzUgpnM0RSV1F2bzJkMWR0NjlLQmNqUWgzd3paMDZEcndRZzRSaWhIN1BrWkVYcXgyeXpmMGRMWUJaOUhBQ3hmbkFla2tXZktnQ0N2RGZRCjl1bEEyd05hODFLSFhaQjc3dlkxZmRUZmZIdWc1V09lKzJ5bS90REZUYjBOSGlPclFmcGtEQWJRQlJ6MGJOYS85SmtZcGl0SWJveVgKaTErK1lmVDRMWVNwR1lrZHhWUHRoWk50ZVR3UUE2K0Zaa3hrRTdTM0I0aE9ramZueWZPUjhoamRDV1FrcEU1ZnorTEJXeHc1ZmhBWQpaRkpLWXhzUVYzY2FxYWVubE5vS3diN201QmErdGpIQnFZOXZad254eWhlODVLL1dDcGNLUE1ZWHV2ZlozSFRlVXk1MWVVN0dzRS9KCnFQVCs5Q3VjdC9Vc2diRitDdEhOeGZnbWsvcUVFd01qVDJ3SjJYZGtRQ2R5UmN5SjlRNGNuak5rNHZtOUdrbmlJMFY1RnFJYWdVanoKRDZjeDBYWHdxdzE5bURLNGpVdFBML1FrRThDKzZWUXRibnJId1QraENiQlVJWXBWSHhOdWYxWnhRY2VMbm54b0ZZZmRrQlduaFBwRwpZc1dHam1VZzl3UGduc29ER04zdjR5UmRPNjZsaFMvNW1tN0t6K0NNWHBUREdOMkRHZDhzNlFDLzIzaERlSFZteFVoVGVPckhuLzFWCmUzVFdGMENGZ1BvcmNDQlFjSFY5YUFwREl4RFpRdzNCdFdieGkvZC84UndnVDNCZldHaHpLYkN4TmJxdEpiS1ZTWVRqb2FPYm00SWIKbWtNYlhUQ2lWVEN6NzUwN29NMUxabzNaN200WTVLa0dtWFRHTU00YVdleHdYL3dJUnVrSHo3dWdpYytuOUtaM3JQZU1wUy9qUm5RKwo3alJ4Ulk5UnZvb250T01acGRUMVRGTi9OSGZVc0I4REd0NFBqOWJKUENUOVlQY1A5a0ZuUDZkcjVBNGVnd3BmUVVKcDdvKytSd01WCmNSZzBEVUxFQ1VQMHdGMFdFcjREOVJLdHhSb1BWbnJZUFhQRkYzUEZWK3NLTHlFQUlEWVF0MEtiVHFESkpOZUIxR1NnaWNRdDBFODUKS3BxZzR4Y2c1ZGo1RVVCUDlNeEk3QkxGakVsVVF4SEhNMmQ2UTd0QklmM0o5WjExdTBjeWUvdmpKM3RDWnozUUVlSVJCUjQzWWt4Ywozd3FmR1k2Y3BjOXdqajhNdktTYnAzVk9Ea1dPRDRhUERZU09VRTVEcUdLRVJhT0I4QWxWRmdMOWhBK0JlT0JUZGRYaU1Hais1OThVClF0Z0tXUHNoWnpCcjlHekRPV2tndU9hREw5d1ZvQzN1MmcrdGY5WENHOEk3NytURkppVVM2a0ZXMzNVMjIrUHo4Q1pBRTVwaGlPdFQKcmUvakNSZ2R0UnM2QXh2MDZlNll0cFViVFBRZG9TVXhBbEZhaDhjZWR0ZnVodlRVN1RIaE93ekI3dHFkaGo2cS9UbXdWejVtZmdvQgpSRE1QRllCd3dhdmxOczRFSXYxZ3hOR25GSWMrdmdEcWFUSWpvUkZBVGdlMGpnZEF3a0JlOUN3R1FPS0Iwd1pBZEN6R213RUl4R01ECnFDV25heitpRzVvQkpFOVdkL1NUMnNQbzhRQUlWN3ZlRUVETm1UMWdqdGJjdnJiOGZrQkpTM1p2RmYwSW1zajlYM3p6M1FJSTIzM2MKUzJCc0lBbWdZbndqWkhrQjVIV1A3Z3F5MzhIZ3hnYVFmTURMSU5TUE13TjZ5UUNxajgzRzNoOXRpTU1ucEVhaStKcFUzU2dZYUdrQQpZZ05KM05qbzhlZ25Td0R5OFkwTFBiNFBrSUVzNGxTUDFJOTVxVlVrZjh1WVhRMXl4MHVjNnNtRko1SXJoNHVSMWZIL1k2QSt1Q3EzCm90d1puOHQ5cjd4SUFPRlg5d3hvQnBCS2NLNFNnRXJCOWEyeExXM3hyWVdWNjRvMWMrM3hIVzJ4N1UyaHJhUWZId0J4K2NjVHVLbVAKZVJkRGZRaEFzaUhhMVJ3ZHh4ajk0R2xmOFNQOWlhTkdQL3JVQzlUUFVPb01yblpsTG85bnJ2QXdIakdFVUk4aVROMVUrOTc5QUdRTQp4QmZrbFNlNkFZZzZvTEVPOUpDZVlkbFVBaEFmaHNyTGFtcVNrQUVRR29nQXhPV2ZkWVhubEpleitSZXNINzBLNWdBSUowU25WRDhRCmJncExmakFldittdEFNWE9tN2oxNHdBSUNES1dQdEpmY3hjZUdNL085d1FQRDhhUGo2VnVWQUtRaEk0cmRMU3FVK0JSNVo5VFVqOWEKWTJnZ05Ga1VHVFFVbm9jQWdEaVZBTlFieERsRDhIVWdjbGdEYUJmOHEyOU9oamZsSHpZS1ZtaGNOUjRiUUs1anZ5b0JpUFRqVkpqUQpXRnlrRWZxUkJnSzdnSHQ0WkROUUJnRFV0bkt1cldiZDRnSEVrNk9YQlVDNDdVczh5UUVTUWQ3cmIzMEFBSExhZlRTQUJscnVEcmJlCndZamozMm5ibCt3QmNzVUFpTUo5MEFnZ2o0SGtIZmRhbUJjOU5vQ01nY3hMZmJ5R0F5QmxvRGNIRUJ0SWxuOGtnRXc4QUhLVmZ6U0EKWkF5QXBINFdCQkNJWjdEdEpMT0Q2MEFBSUJvNDVFV1BjSWxyQTd4R3pQSUFTUDRXODRZR1BUNEdzZ0RFc2VtekxBQnlGc2lzZDNoVApBS21nZnBZQlFPbTZTZEJQTHJTRzk3MFhZMU5nb0lZRS9wU1BmaW9EaU4xZ0s2ZFNERFV5Z2gxMG4ybmkwWStraWR0QWJ4MDNpVnkvCjEwTFAwZ0VFK2tuWGx1RVB6S3dzQTRBYUFxdWkvMXRmS1RDMUdBQXBCbmtCTkMwTlZBbEFEY0daK3NBMFhXOW9pV3d0QlRiblYyeG8KamU0eUFES0xZcVlKMmhkQWZBQ3FPZTUwRVFBNkN1bUpZWHJqeHlEYzZ5UDFvN2QzblJsT253WDlFSUJ3RmpOT0lNemM0Rk82MUJ4QwpYWmhCcVNReEJrRFNRSm9zNEpVbmEzTmZVTlhueWVyMEkxNEw0MU15eFBvWGpnc0MwOEJYZldJR3poYml2aUorVy9WdVdFQXlBT0lHCm9NY3p1Uzhncy9sbmxCZjQwZ0dRMmcrL05uY1B2azZsNyttRE1od0Q4WGF3MGRobDB3REVwU0JmL2VCeVdQanFlT1RXV094a1gzRFAKYU9KVVQ4M3h3ZmpPMGVSWjAzL2poVTZGdU5Ball1ampVRXg1Q0ExRUFEckZCdUtnZnNLNGF1WUJFTlYrRHZOT2U1eUNHTnpMU3o4OQp3ZDBRTFNHMUNvWmxHRzdUa1l0Y0xnRGhERU56OEVWVkFJbmpKc3o2Mm9vdDd2dW9FMEFQRlg2MlZRZVExSStJV0JjVFI0QkpBUEZ2CnFRd2dQQ0NXcjd0cWRzRlhYdXJxcTkwbjAxKzNIeklRT09BRElGNENHMno5WktqdDNsRGJYUWdZeUNobm9QVkRFd3RBZURwWVQrTTEKQXlBMGtCaUU2Q2tGWVZ4amdSQXhObjA4QVBMRU5BYlJhZkFuc0JXYXNqUUFtVGdBMG4wL3NnR0kxcit3MThlREJnaHp4emFRUno4TApBcWkzNmRpVE83L3FhVHhhaUc2RjYySnNXM3ZoUURhMHlSYUpjWWx2M2gyQXBIZzhDMkZvb084UVFMSUh5SDRIRHYrV3hlcG4rUUNVCm8wNW4wQStmZlJGZlVXNU1ya3ZYVGZqclp5RUFNV0lXRTM2WWNTQi8wRmFJTzRzMWtQMEo3WmlIRFlEb3Z2eDR0bnVXQ0tCY2NMd1EKeGordE1ib204YjNCUXQxNFUyUTZ1d0o3Zzk0UVFLc2JnbE1hUU5OeUZKQ3JKcVFYeU9DM3dHUE4wZlV0MFUybHdNYnM5MmQ3TTRlUApibmhlQlVBZUEvRWRBQkFaYUxFQTZrNGNnekI5SUgwSjFmVERFMzBvT09HUXozc2ZTVjl3QUlUNnViVXFxdzVtMTNNSWVSNlBQc1hkCkRTQzNnZTVQWlI1YUFPSjhwZzNraE1wQ0QrQUgxYWthZXJDUTJrVlBrNFJ3bUJEdnBjODhORTNRV0FyS2ZnNlp5VDJsZklFdmFZM00KQVJEMkREMWNrL25VMUlINGhOU0p4SzN4Qkk2SFpnUEpIV0UrK29tZmhVd21Ma3pIdnJvNis5ZGJjMzg3R3JwZUJrM1dYZ1lNdlpGKwpCbkhlanpwbjNoT2JQcUlnNU5TQlRDU0FRRDhDUUFkcFZoRDJQaE42RElEd0RIazJFSldDbElGTVQ0L1dqN01SckZVUGNUWW5kbFVICkVPT0QzOXdBeUtCRTZvUWUzdDYyWWl2L0ZGemdlZS9vbnZXVjlOTzZZajFGRllHNCs0ZWxaVEFuZjh0aUFNU3hBV1QwNHdXUTdBRUMKL1F5MzM2ZDh3a1VnN1o2UFRQaGtlQjFoSUZFRThvckhBcEF3MEZJQVpBcENEQ0Jqb0xjSEVPZ0hrOTN2cDU5OU5uM1lCemFBMUIyMwpmaFlFVUV0MmIyZjlvWWJFRHJnQUE4SDc1eU5iV25QN2JPSlV6L0lDU0w1bkpRQ3Btd25aQm9UMEtjUTJRTHpPY0tjU1grd3M1a241ClRDVnkyUkpTUHhLZW96Z25udFpIWmlCTEFCQndoL1hUbnQ4TUY0bVZvNlhFck5jOW9kVlpFSU5sQ0lFSnFaYUZHYVNGNFFXUVFJUFEKQmg1dFljdWpXdE8wL1FudHVNQVVtSEovZDBFRGVZbFRQYW1ha2ZqN2c3bmFzV3pOYUw1dXZENDBxYUJUQVVDc01kd09KZ0JVckZPSApwTEtCUE9NUWZRSFVFcHNGQTlVSHBvdTFNNjNSYmEzUkhhWEExcTdrQVFhUW94ODZBV01KQURMRThhUW5jUUxTcDlPZjVBUGVsWDZHCjAyZHh1enZ0ZUNmOVlBTVE5UUJkQlFDQmZpYXpkL0RJMHV3blBJU1FvbzV3WjZQSXFzK2szdnF1TVhSZkFvaFh3WlIrVEJTQTduRmwKaU41QkhadktCMnRndTAvdThYVCtDUVF1NkFBTmJLQldvdzVweHp0YUovT0VESVRWSVBhUUJwQXlFSkJvS3YxZ01ublBOQU1SZ0Q0awpBSms0RXFJeDBKZWtmaGdvcTZMWGp2Yjg5YSsrL3ArZkgvM0hEUTBQeXZHVC9jSERvOGtqSHQrWW5oNVBnY2VwOUJDbjdMaDJvc2xFCmxZMU1veEwzQnFGK0xBQkJlZ0o0UG10LzVBQkFwRGVFaFIvVUR4ME96NmVpaW01b1JJTTlDTEZOejBKa0FQSDJkZFA0WEJsQStxd0oKcEpWVDdPRkdiQk40Q2VIRk12NHVmQ1I0RWh0NkNFQ1Y2ZU1QSUhlTXdOU1Nsb1FPMzFFY0ZEQlNYYzgxQnlEOXRRY2hBM1dIVEh3QQp4R09naDlvZWdINUdPaDRnZ0ZydmFQUlVBWkFwQ0dHN05Cc0ltNEYwNzdNbnFpQWtSaU11RWtDOCtVc0N5TkRuSFFGSUdzZ0RJT0VNClJRUVBnUGdsYm5GMzY4Y0FpTVZnTXdXNEF3RFNGUmM4RExVWTIyYjd4bzZVQ3IzMHZ2T1NBZVI1VHc5NlhQcXhBTVQ2ZVJjQXNyOWwKUDdONEFEay9za3dBU2dmR0N0SFZrUGlLY2g1UFA1MHFKZWJncTY5K0ZnOGdBNXBLTVk5bDNFdGdXZ3h1L2JnQTVNS0gvWHQxdkRVaApVZU54MDRmdXFQOGdZa2ViL25nMmZieWZZVEVwQk1jeGdZbms5NGVLRWZnVmVCZ0lBRzd4QUFMOWNQd001TXdFOGdBb1h6UFpIRjNYCmx0aEVhMlRZRTEyczJWQUtiSzRPSUdNZzgxSXVnY25OOERaOVZKTHpFRWMvS1RYTm1kMGp0cnR6K2NjQkVKVi9QbHFkVXozSTJMQk0KNFdtRXZENEZUREVyV1I0RFRTUnZ3elVYZ1hRYkVQWUFzWHVjc1VCcU5PSjk3ZzJDYXpZUWR4ZkI5WFQrQ3gwM2dHaFZ5NHovY2RlQgowRUFFSUdtZ1IxUHdxMVAzS2JnUU5nbS9JbmtiVjhIaU55ZVNOempPaWhnZGdxRk9qTmY2Z1V6RUwwNmxiaDN0LzR2MXVaK1BSQzZYCm81ZEdrK2NCTkw0OVBmWUtsd01nc2F6RzRSUEgvUGZrSTRDd0NBVDZHVXRjNUtZbHVEa2NQbThBUkJ2SFR2U0hqak9BZWdNMExUcHkKb0gzbDF0NFFMbnZSNGZBSHRYNVFBTEluV3JmbStBeUR4aTFncmgzc2FKMEZBZVJiaVpIcHF0a0ZBZjIwcmRnS0g2WTN0QTgrRDVhTApWbTVvZVgrMnFuNFdCaERyQjQrQXJRU2cycjI0TGE0VzAxdTN2OGRVZldvT0RBQjlhZzhPMWgyU2NacWcrOXR1Njl3WmFMODMzUDRwCmhBQjBud0VFeFBGREQ4WjhkN0FOa1lRR3dyMWdtUDdtSzMxTnlLQktBREo3NHhjRElOYVBOQkE3UmlNR3Q3dXJpN2NBa0ZuL0lnRHQKaGJUbTlrSDRXaTkrNGFaeHhvUkVocTkrSklEVTZSWnVBQmtER2FEQXIrUENUNVBlL0FVQWd0OXJpMGZHOXNweUFjajlXeFNBVE8xSAprc2dBeUJqSTZDY2ZyZVlWRDFuczc5cFAydmZ0WjN3QlpKNlJMODNEaGZCY0liUnVXUUNVQzY5SzFwYnI0MnRLaVZrd1VFTjgzZmFaClc5UVY1S09mS2dDU3JNbTRUVk1wNWhuNVBISEIwazlsQXdueExBcEFITlAzby9Rai8vdUlFMTdwODlqMFdRcUFzdkFmT2J3cXZXSWsKVlZOT3JoeEoxNDQyeEtiQlFGVUFCRkV6Z1NTQUFoTnNJQUxRRksyQ0tRUHhvcGhNWTNpbUtUSlhYNGNkUXBERzBQcVc2R1pzQm9vaQpnRnJDbXh6OUxBUWcwd1R0Ykc1WDNjMFdmUlNBVGtINkV5b0RQT0hRTEh1bHovSko3MmI5aXdCMFpTeDFEUmUvY25lbjh0aDlqRnZaCnFXRVpXNUsxZmppOE85M0hRTlMvekwwNzdxWWZiSGtHN3F6SmZrN2hqZkdmMEowbjNBcE5lK241VUZXQXpoZHJjNTlEQ0ZLUDZHRU0KQWloM1Q4d0VVbTNScy9sbllDQUVVQVpuQXBuQjBQQnlEV2dNakpWK1FMbkhCcHBJM0RMaE9oQjFSbDl6QUVTRkdRMmdVOWdrbERoWgpqbDBmeXh5Rjd3NkV6NDltRHcvRkxpd0dQVlVBWkk1YzVhWnNFMGRDUWo5MEgrMDFFcmxZQ1VCOVFkeG8xaGZlRDFib2krenFEZTNwCkRSN29DZUMrTUY4RGRkU1pBK0c5eDRFNUx6R3FmN2tpZ01Ua1pWMkp3WkpQZDgxZTFnWUhYa0s2VnU0aEFHM1hGYUNkdkJHczVmMjUKU3ZyUk41MGVJSGYzandNZzduTmFFRUNnSDA1LzNYNEEwRUROSWNoZzdXRlBuRzN3QmtBRDdYY3JBYWdmdDhSL0FQSG9Cd0kzR1VBUQozQkhXY28wQk5ORGlieUFHRU9pSHMyUUFzV0JhODBjZ0JrQnd2U3dBYXM0ZVlQU3dnVHdBTXBodzlBTVVjQzkrc1g1dzdLSFdqd2RBClpnbkpHRVdQNU5uTkcrRGhxL1NOUnp4dWwxQUppanFtalZyZUVZQ01kZVQ3bTV2Rm1QcExKWUJBUDhzSUlOOVVMT2ZRdTlrQU1qQ1MKejZOK0NFQmtvTGNGVUQ1Q000UVNhOU4xRTNUeTErcjYyR3cydUhiSkFITCt5VjhJUU1aQTh2bUsrdkVheUNzTUx6Z3M5RWo2VkFNUQpHVWdEYUpYVmhLUmkvOGJxQVFEbDZrWnp0V1BGeUdvQUVIeU5mbjhZLzNzdURrQTBHaEZUcUJzSEEwa0E2V2FnQ2dBS2Iyd0l6UEdjCmFMMHZES2NtK2dLSXpnTGJhZEJqQWpjbGdOUjRRd0pRWCtLNGYxS25EWUJBUHd3Z2NJOEVFQnVJYXorMEN3elh2eVp6SDA3bFA1bksKWXd2T1pPcFRwUitpaWRFUEhreWhKL1I0REVSTFpuZEFOblFUejRTbjNPRjJIK1JPNWlrRENGdWI4ZUJTUXh6ek1CMmp3ZE9EWE9VaQpCMEJjQnpMTlFCRHVocDRCTmxrQTRqdDhFd0NFeWR4ZGxmeG9WZklEMUErVmdzeHltQitBRUM1RDhjUERpVU1EQVFEUSthSG94WUhZCm9lSGtsVDQ4S01OTEhGUk8vTFJkRStMSUptc2FPS1F5bnNBVHlpYVNWem5HUU55YWpRWWkvVkN1bHFOWEtnR29QNFRIYVBTRzlqVi8KZnowRENNOEN3NkdJQjl3RzBnZWpPZ0J5SHdndllwNVpKSUM0czRkL2tkU1BBUkFhcUc0bkFLaDk1WTcyRmJ0YXZyKzErWHNicWJwVApzZnp6VGdFRU1lSVpxanNDNFdzZzBYdUQ3Wi9wb0lRd05CZHhzT08rakprVzdTNENPVzNSZk1FQUdtakYvV0s4S1F3a3hESFRFYnNiCnozZVZ6dlUxbzM0NjY4OXcrWWNaMUY0NHhlTVE3YUdJYXMycjRRU0grTUpiMWxYdHh4TVFqR2RWcTQwMmVYVVVqbmlPL2VMQWZmNFcKRHp6a3BTNktFbytuNVprUDhHTDltQ29Jdmt5RGdYQ21NNlFleEpQY1VrelFoTVBFcG9ha29vOEsvUWovckFTUUJvclBtek5jYlBwQQp6RHZJU1BGNDBPUDVsZ21kcW9HREZrMzBIamNmYWVGMEl2Z3RpVzBjdittQ290eFNkVkJocFhoTXcwSFEyQ01RZFJyaW5xTlZOK0w4Cnd5U1FaUTE4aXo3aDFvYllsbUprUTFQU0dkakliNnYwRTU3TGgyY2daQjBWMDNQTkFHTDk1RUo0bmhmK1ErdGUwdkxFN1BtcTJQdHMKbnRTNzNMMnBtU29FcHVEZjlYeDRMTEd5cHo0eGxxd2R5b1ltTXNHeGJHaWNrdzZNUVRKQnVIYjE3cmlnNExmM0tsMWI1dnR3a2FvWgpnZkR4cFhCVG5HYktQMjVxUC83dkwvZDhPZnJSY2JNTWY3VjhIeG5Vakc5cXh5RDV1bkVUZFNkQUVmZlpPbklXSW5OSFhzczc2bjd0Cktxb0E0VVl3c3grK01iek9UUit4Q2hiRWxPcldRUm9EY3p6K0IraWowR09sTGJwTm53akcrdG5kRnQ0TE1ZTU4xUkFnSXlIYTVNWG8KTVh1KzRMbzNEbmRPZ0hzR1UzaXVCWjNxZFdFd2NSR1BjMCtlRzAxZkdNdGNoSzhtdk9rZEQxM1BmYndHQUpURk1HNjRPOGNzZmxHSApzak9pMEJpSXd5KzFZOHlPOTd1clV2ZFdwMEVoejZaekw2ZHpYNjdOdm1ENlRPZWZtbW9RdUlyZmZ3cDNzS3R0WDdUNHhiOElQOUthCjdGM0tKK0FZSWc1V2Q0QTRNd1Y4dDVuQ3M4bmtrNWs4dmprdm4rRzZXTzR4UGNZblppQ0F1Qk9Jd3hMQ3ZmR3hHNUR4eEZVK01WNXMKanorTGJjaWlYOGR1WVRhRklxVWxiMEhJZWNhc2NIbGlGdU13eERMK1BHUHhhNlk2QlFIOTZFclZaU0RVVU9UOFFPaDBmK1JrZitSRQpYL2hvYitoSWYvQXdSTThLT3RRZlBOZ1hPQUF4RnhEemJ6K0twQTVqdW5Pb1pZZHR0QnZyUTNvM085ZDE0Q1p2ZC9mcytlclV6ZFFHCkpRZ1JQbVdDM3Q4T2IySnZXNEVqb1lFK1JqKzg2OTVPcTVnb1RTYmJxaUlPL0ZLL0YvU0RuVTlhUW1yN215cDk4Wi9QbmM3YzVhTlcKdXpSOUtNZE1YQUNTQnJJQnhBWWFVSk9CSEFPSjVtZ0RJRndGcXd5Z2l3Q2d0dHpwcnZyelhRMW5BVUQ5TFRna3VxTjRXdXJIWFEzUworOTYxZnBZTUlKcytQT1NROVlQRGZ0ejZXUUtBV0QvTERpRDlYUzk5TkVmZURFQ2VBZEFtSHYzOG13TVFid3FUcHFHVDVEZUFhZXBwCkhDTGNnVS9ZbE53S056MmZVRmFBRmcrZ0hKVndiTXE0V0dQcFIxWjkzQlVnTDMwWUJJM1JXU0JGWXNVd0FLZ1FHUTkvcnk5Vk93NGYKUUFBSU1JUUdXaHFBeklVRUVOK3hBRFF1QWVUV2oxTVpNclVyb1IvUFF0N1NBV1FNNUx6ODF3TVE2OGNBaVBTakRrbjFpWE1rS3VrbgpzcnM5c2c5aUp2ckFoWndCTFFFRUZ4NEFxY1V2UHRlZEF2b3BwODVYQVJCdC9zTDJad2tncXZyZ1JqQmswQUlBUXZmb0E3ek00ZkJZCkRacktQR1lBb1g0eXp6MEFvbWZ1VUF2Ukhhb01vWDVFN1VmOUlqcmlsSTRESXdDcEpURGtEcnpWRjdQRjV6TTRFK2dsU0dpbUFPLzgKeUFESUxJRXhnRHdHTXVhUUFPSys0K29BOHJRSzJkVWc1MG40V1hnM2l6NGNyaitwaGlRdVNvblNsQUdRa0pBQzBHRDR6RUJZQWdnTgpwQUYweEFNZ1F4L1dqd1NRQ0k4TDJzVUFNcVVkc2c3Mkwvc0NpR2dpQi9QUWVPVmFPbjNDTHhKQUlzNVpZNzZSTlNvRklLMGZUVFFECklEWDlpSUw2NGFqL0duWDd1ZGw1TUhCNEtPQXAvQndWQURvaEFiUW9BK0Z5bURBUXU4YzBSd3NBNllNeUhBRGhoR2dHRUdTZzVlcGcKNnpWdUFOTDZPZDNYZkVFT1JaUm53cXVWTDljUkZqeXp4MHVmTndJUTY4Y0JVRjZXZjlUaWx5K0FtQXZHS01ZY0h2MFlBeTBaUVBMOQpQUUNTUzFTTEFSQjliR2tnbjNqMHN5d0FVc0pZVmdESmJmQ2UrQUtvSWJLN01iNExQbHN1TkEwUE5NUC9qV0tiNEROWEFwQ2tqNGRCCkRDQTJFQU5vd2RpMUg1cyt2Z0F5SUVpc0tNUFgrdGlxYkxCY0grZGpOR1lTS3gzeHdGY1ppWWxsQVpBeEVEUEk0NTZNUHNqQ0F5QzMKZnZDdkV4OE1QNG44bkRKR05wNWtheHdEeVp1TEJKQzBqb01lZ2FFM0JaRFJEd0ZvdlM3L1ZBT1EyQXUyQjhKSFliaTJ1SnNqd09KSAp1T1BIQU1pOE5BQ0M4RkdtZkx4WE9YbHhOSVVUbitHckNiemthWWR1QUNuZjRQcVhBQkM4cktRZlRCYWZsSjFBdkgwZFp4N1MxckRwCjNITmcwSnJNVTE3a2dtdmFLcTk2Z0RTQWVMMU14YjF0M3RHUGFZS21nVURjQlAwTXNqcjVCTDdDSGY2V0IwRGNDaTNHUTdzTXhBQWEKVCtCaFlXTUpYb0dpWVR3VmVuZlVuWW9HY3VrSElyZmN5MGpvdUFCRVVkVWduZEhvZFc0R1lnRHhLS0QreUxFK1BBd1YzSE5VNndlcgpRVXdmWHdEaFVoUXRDWW5lSU5VZXBKVWoxN2EyMCs0dExoU3BmVjdxbVpwdHZEU21oeFBTYWhTTkdkUkk4b1ovaXArWFIxdFVpbGxyCmsrbW8yOTRKN29HczNLNU90TkJMWGIwQnVGQUxZUmk5NXFYK2EramRYZ2dnWGZoaC9YQkFQOE9CZWNoN1F4MlBLUStsZ1pCQkZvQlUKYURvaUcwaUVPNkJ2VXhTSkhBTnBCb0dCOUlERWkxMzE1M3NiTC9XM1hPcHJ2a2p1T2RQZmNyRXRmMXhPUkpRSHdrc0E2ZDRkWm8yWApQb3NIa05FUHhPaEhBd2pkczBnQXlkajZXUXlBS3FsRnZhZDR3RmMvVlFEa2ZzOS9OUUFoTXI1REFMbWZ4eVd3aHZDaFFwRE9OVXR2CkxrWVJMdm5RWENtMlhiNC9BMGdaeUtLUEw0RElRRjd1MkZsaytjY0RJQWtDYk9tdEhjb0doeE8xL1prZ29pZGVONUlLbFRPQlZTcHYKRFNCV2pnR1F1bGszakxFTVpOUEhBRWowTFRrRzRtdTNjcFlJSUkrQitFNFZBRW5vMlByeEFFaDNRR1BYc3prUmpLeXpBSUJBUDNyOQpTemY5K01ZTklLQlBaK3hBWit5UW1XY0lGOTNSSXhCenB3S0FqaGtER1FDTnBCM3gyQUNpYVllM1RCUFBGSjNBaFN0VFBnQlNQUExxCkJ4Q1QrVUJOVGVSQ0VRcEc5ZkVRZ0Q0WDIrTXgwN21YOVBLeG1nYVV4RFBGOEozTjNDQjN6UDR2V2Y3aC9WL1VBL1I4US8zWDA1a1gKT0JzNi8yd3FoUlVnNnY1eEFXZ1NQcHZiUUFRZ1BDakRBQWlUdkVRR09nZnhBTWdZeUxuall5Q3Zma1lxVjREb2ZOWXJxc0FUd3lJUQpmWjRQRFlBa2hneUFoc1BuaHlKbjZSUlZuSVVJQUNMOWNBeUEwRUQ4RHo5WGZTb0JTUFpIdnltQUdDajhHSCtYeHd5NmUzUmMvVHI4CnM4WkE3aTRpYnp6ME1YR2Q1MlY2ZmVCdnBEbk9IdjMwQlhoTjhKQUFrRm4yd3BVdm9NOUF6UkVDMEFuUXowandwQUVRR2tnelNOV0IKK0dLbzR6T0lnZEZRR3hhQmxJRTBnOUE5TkRPYXd5VFNrNEVjQTNGYk5CdG9xTzA2TjBHRGVBYmJMdk00bis1RzUyZ0xPZTY1c3dIMwp0OXNBSXVWNDZiTUFnQXFIVEVBOG5wQitKSHAyVlFSUVpqdkV6SGMyOGRESFNRVUFlWDdjUk5MS1JwTG5XNVVla0creVNBQ1p3ZGFlCkNkZHZDaUI5NFFBSVczTjBkNDRkV3prYzMyK2hVU3lhY0R6TWdoOXZUR3hwVG0zYk9QYWtPWEU0SDl6VWxOclVFSjlwaUs5clRHQXoKa09kdEhRTlo3OHl4QWJSZ1c0OHgwSUw2cVFLZ3hQdGpUYWsxcVVCL2ZYd3k5djVJS3JnNkhSNVBodnF6UWR4YTd6RlFPdUNDeFdJQQpWQ21nTG9nMGtPU09mWENwRFNCTkgyL25VUFZtWjVzK05ub2toaW9CeUZjL25zN290d2NRNkVjRENDY2ZHdWhVQ1BaQlMvMTB4VjI3CnZXU3ZEMjkwQitzd2Q4UkxsaEMrSEVpY0lnQmh2L05vNmdvRUQ3dWdNNy80ZWp4empmVURjSm5NQUZ5UUlBU2d6N2cxaCs0emdQQUIKc3pybW9vOXFna1lBNFVCbk40QzBmdFRHTHRiUG1zelQyY0tYMDdubmRPZmhaUG8rQWVpZTdwZzJlK2FkT0wxQkt1cHRlU3IwVk9yegptZXhMQU5CYWVPZjhNK3dOcWdRZ1VRZWlqZkVmc1lGc0FJMGx6bU1SeU95TjkwWWNsNEU5MGNaQU9oSkpNYTk3QklBdTh6NThEYUFQCkNFQWZTUUNaZFRvQTBIajBLbThIQXdQaFpDQnRvSUhnY1dNZ1hnNHpnWC80ZStzT212VFVIdWl1MmU4QkVCbG9LUURpUm1sRkh6NTUKbEN4aXVjY0JrREdRQ3YwaTY3R0s0WjhpK3FDMDhOZUpibXNFa0hZZS83MmtIL1VmZ1FCMGFLRHVNQUJJTG50UitlYzRCQUFFK2lrSAp6N3czM1BrRUlnMmtKZVRveHdNZ2o0R1VlL1M1R1JwQWVIb0doSTlRdFF4MHBUVjdaclRyZy9iOG1kSHVtMDNwdzhPZEY3KzQ5dzg5ClRmTkdQOTYrSDc4SzBOc0FhREg2cVE0Z1B0N0xZeUN2ZTVZS29NVW9SOTZ2QkNCNTN3MGdMM1FxNVcwQUpJOGRYVjRBMllVZnAvd2oKQUFRZm9DbTVGUUIwYXM5UCtrdW5BRUQwU2RhVkV2aFlwbTdhKzdZTEFVZ0hBYVFOdENnQVNmMEFWbXo2ZUFEa3RzSjRMclFtK3Y1QQpmV0lDSndrbGR4L1k4aFg4UDJRMkFyOTlKaGVhZGhzSVR3WmRYZ0NwaU9LUVRSLzkvczZPTUxrVzl1WUE4aDdxcnVNeWtIbTVlQURKClJiRzNCeERUaC9YVEZOeGtSajliNkhIcEIxdC9OSUQ0VkMvakc3am9pWUdCVklHbkVvRDBkakFGSU56OFJRYkNVMDQxZ0RpZ240bXMKS3YrNEFZU0RtTEYvbVE3cTRnZjRxQW8xSXNqV0QrMENnemZoWHVaSjUxUlVVLzVCd1dqY01JQmVZMWNRbG9Yd1RJeUo1Q2NBSUtrZgoyaVBHTytjeFltKzhDdCtaeXoxYm4zOCtuWHEyTHZ0eVc5TVBaek12NE01c1JrMEc4Z2VRTmhDOFpBTlZBaENFQnlUU2pFUjVWb1ozCmJMVFhRRzc5TEFRZ05KQmVBZ01BZlVUNUVLN0hZcmMwaVQ2RTYzTGtCZ0JvTEhJRkFNU3pnb1lqQ2tDREljZEFCQ0RWRW1UKytmY3cKU0hVbHV3RlVwUWVvRW9BNkF6c2hwb0c2V3c4YjFIZThzZDlCZ01Zbi9Md2RQY2Q1ajVuZ0RMakJrWVo2ZTVjWWJJamM0YithcjRlQwpSeUZjOVRGTlB4d3Mvd1JPRTRBNnZxaGdJRVVmQ2FBQm1vNElNUVl5N3NFVE04VFpZY1pBZEhTOEJsRHpEVE1mYUxEMVJrOEpPNEU2CjYwOFB0bDNzS3MzM3RaenFLaDJuZzczRWNhZW02OW5xQWRLczhkSm5NUUR5MVE5dmRKZjZxUUlnb3g4Sm9BYlQ4cnlzQUpMVzhieGMKRElETXQ1Z3YxUUVrVHpkYkZnQTVCdnBPQU1RR2t1OE1INk14c2FVbHRUc2JtQ3RHTnNFMWY1aFNZa05UeW5wYkUzb3JpUjUzVzdRQwpFR1VOeExhT2IxZy9Dd0xJb3g4TXVtYzYrdjVnS2JHbkZEM2ZsYm5mbnZxZ0VKNkhqdzJmSnh0Y213bXNmaHNBQ2RrSS9ZQjRhZ2RzCkEwRThYaEcvemdzZ2p0OWM2YVVBS0M4YW54MzlBSGVxQW9oeEl3RWtEZVRvaDZZQnZSR0F5RDBjMUk5S3NHSUZ5TlA5dzRlNkE0QU0KYmlSMytwUHovVFR0VU41eEF3aHZHZ0RoM09mNDVkRWtuWFdhdnM2WnlOekE2SU5JSllDb04va3VuOUpsQUVSVEVGMEFjdlJETzk1eAoxeGdkbUVvYndWUWZ0TEpML2lGVmxWQkZlQ2Y3UWdCSUZZRldwejhqSnhuZmZJSEpQdVBZR0ZMekVsTlAxdWRmYnFyL2VudlQ3NTBaCi80dk5EZC9BUzdqSkFKcEtmOFlBWXZlZ2VKSjNWWlIrYmtNTWdCUkhVRDllQUwyQmdTejlRT3p1SHc1UCtxSGZmcDJtRTJINVp5TCsKc1FRUWw2a1lRS0FmeUdnWUFVUVRvdkdnREFZUUcwanJSN1VFTVlCNFhZekxQMXdVNlFuczl3Q0lHNGU3YUJjWUZscWN3b3dhN1dNRApxSDNsVmdFZzFlYU1WUm5jN3U1dGY1WnZvdC9CTVpEYU8yYkZwZzlEeWh4ZWdTZFhFSFI0ZWN2RTBJZERCTVNYdzZGakkrSGp3eUhnCnpqRU5JSFFQcjN5eGZqU0FYQWFxQ0NCdWpoWUF3Z25SSmc2QW5MSFJHQUtRT1VuZUtRTDFOVjN0TEY0WWJyL1JYampaMzNJZUFOUlIKZjdTbjZVUjM2YlE1M2t2dStWb3VBTm4wa2ZyUjNGSDZXVEtBZkJpMFRBRHlqWndrNUFzZy9xNEVrRHpOM3M2L2RRQ1ozMHZQYnl4RwpOb0JkNEE3b0J4aUUzVC94VFZ5ODhiN3Rkd1dnU3ZHNlJ3c0dBSlFPakZGeDYvQkE4ZG1tb2IrY2JQL0ZZTU5yK0J2aDArWkMwMjhQCklJK0JsSFVRUU1KQWZnQnlmMW92ZXR5Unp5OFJRQjRES2U2OE9ZQ01nUno5NkJQQlBBQWlBMVVEa0RuNG5mVlRIVUEwQWxIMVBtc0EKSGUyTG40VDBKMDdCMTk3WVBJUmZTZ0JKRC9VbGpqS0E5Q0VZcHdjVFp5SERzVXZsQkE0OFZPNHhJUUJ4QTVBRUVHOU5IMC9lb3RQZwpiOUlGSGdwV0dVQTREcEZiZWFnUFdtMkRaNitzd2RrL09HSElBR2dtOTVvMmhkRmVNTlVyL1dpbW9IQkR3YjVweWt0c0dGSmpoQmhBClNKK1p3bFBJWE83WlhPN0ZkT3JaMnNUelk0Ty9wRkxRYzdocEFPUU1nL1lBaUF5a0FmU1JaeGZZZ2dCeXZ6VGM4Y1I1V0ZkNnJDUXUKVXRucEttK0RWK3RmTVRKWlZRQ05SWEZZSWdPSTlhTUFGRGdtQUhRVS91RUgvUXhpa3hCV1FSaEFnQ0dhRTcxZmQvOFFYUFRPS2FyVApPQURxd2cxVzZqRUpJTlg0WExlalF4MkN3WHZwVVQrUXpwbzkvcUhIOURzNEZTQTV1VWZHcGcvSE9iZExuRi9SWDN1SXo3WHc2R2N3CmNBejBBLzlOUUQvbHlJblI2S2x5NU9SdzREZzMvWmkrSDZZUFpEUjBGZ0QwYkxBTkRQUnN2UGNsQUdpdy9kRlk3eGVEN1o4TnRYOE8KSVJnOWdxZ2lVTWQ5M0FsUC9kRkRuUThndkRzTWJ0SmhHdDdnd2ZLb24xc0tQZFFLclhxRFd2Q2dESjRKMU5WNGxuSWFvOHMvcmg0ZwpqSHRIbUV0Q1I5M1FPVVNSMTVUaUFVaExEdE1LNkJIQm0zclBseWRONlowZHhjTk5xVU1Oc1VQbGp1dGQ5U2ZyNHpzQlJoSkFiQ0JtCmpabHo2QWtBeUVUZTk2eWdTVXY1eDlLUHgwQ21lOXJjckFJZ1QrMEgwcExhNjV2bUpHY1BweW14c3pHK0E4Sy94WTVFajFxV2lzMVMKdkJ2WFBZdFdIb2hVQXBCOVUzMUxHOGpVZ2RTM2FJZThUOVNSRnhoOUFDcW1LR1lDT2NPQnhHakVRbWhHRDBqRW8xTHRwVEVXaisvcQpXSlphZzMwYlpUeE5NNFlPcWJweUlUclJsSjV0aVY3ZVV2N1pUMTcvOVl1SGY3Q2g3ei8wWno5dERCL04xcTNKWWVQektuVVI2c09kCjhCZzFJb2d5Q2pIb01SSmk3dGdxcXA3S3dKSVlXa3k4dFNLVm1uRlBuVWJ6eFZ2K3FaNUNRSmxKaHI5bFhzb0trRDRTVlowSlQ2R3oKd0VLekRXYlpLN1FlMGhUa09QckJ4YS9RTm9pcDlIZ0M5T21NN09rSTcrNks3dStKNDBiM3p2Q0JyZ2p1ZGUrUG5SNkluK21MelErbApUdlZFanZZRGd5SW5BVFE4NUJDQ05oSW5mOEdQd00zZStMSGh6Q1c0TTVTNlBKZzZONUE4UDVpOE5KSzVPcGE5TVpxNVdVN2ZHc3ZjClhnWEVTWDg4bnJvMm5yekJXOERvdlBkUHVPbFludjlGUlIwMUZOSFFSektJVHNNd3gyVmdyUWp1cktZajMvWEtGd2NMUEZ5NW1jbC8KeFRIYjQybXIvUFBwN0ZjcXVTOW44cThvTHlCVDJjK25jbHdjd3ZkRUEyV2Z6V1JmYml4OHV5SC96ZnJjYTFyOGVzSGxudzBGQUJhOAoxUmRyMGsrbVVxWU81TmtJcHZiRHF6N281RFVJTTJnMGNSbkM2QmxOWEJUQisrcTdVZHpBUmUrQTFScWEzSE1GTk1NTFd6eTZFRmUxClZGMEhtM2hvci90VnZiNkc3c0ZmcXI5cnRucXA3cC9FZFl4ZUY4T0ZzT2dIZEM3OWpaSElaVDZVWXppTWgyYUEySVlqWjlXNVlLSGoKem1oRVFFL2syRUFJQVlUcllnQWpEcTJPOWFLQkRuWFhIZWlxM1EvcHJ0dkhKT0xLRUJsbFo1dnVRY1pHSDdGY1pTSjJ2enM5T2wxMQpPekIwOEFYSFRFSGtRWWg2TGN4cDZBRnA2VFV2YjF1UHA2TGpzS2J1eEVEdDhmN2FJNEFlV3RXQ200Y0hnL0RZVVFpSVI2MXo0Y1B3ClU0ZUdnc2Y3UW9maDY2YlE3YStuL3VsSE0vOXRmYzIxd2JvRDVicFRvNEhUa0xIZ0dabjNodHFmam5hL0JBQXhkd0JBU2p3QW9JN0gKWEJseUFFUzd3MndBUVd6OXFDd25nTVNPTUpkK1hBRFNyTUZwemhKQXJZWDlFQnRBZk1lbUQ2YzV1Nk01czZlVTJOZFZQTDFsNnNsTQorWFpuL2FGaWZGTWxBSmxJeDlCWVpIOEF2UUY5T0JaOUZnTWdYUkJ5ZW9Ec3BhNUZBR2dQWFNnQXNZRnMraFJqV3lCdkNpQWpIZzlvCjNoSkFudnN5VEpaM0J5Q216M0lCS0I4ZHlZWkhpckZWN2Fuek8xZjk2YmVmLytiUjdWOXNIZjZMbnZRSHBmRCtiQjI4TFcxQlJ3Q0IKZXdaMFEvU1lTQmxEOURGaHpmd09Bc2pXank3YmVJbFRQWlVBSkY4dUhrQ05ZVHp2UWdESVZmdVJBR29ONy9RZCtzd0E2b3pzNDlPKwpESUM2Z3NleGlTZDlGZ3pVRXprT0tXY3U5a1dkUWM5b0lIMzRGNlE3ZXJRdmViZzdmR1k0ZDJ4VHorZjl5V1A5OFlzRHliTU1vTkhNCmRRRFFhT2FEOGV6SGs5azdxekozcU1DajlzQ1RZN0FUMlFhUWlhejk4TFV1L0RqbmhUR0FhSHl6MDd6TS9VRGN1ME1BWXR5OE10dmoKY2FrTER6ZDlqVUVZZmNtMUg2NERJWUQwOEdpdUR3Rnhabk92NXJLdjEyVysybGo0WmxQeDI3bnNWM081Vit2elg2NU5QcDNOdndBaAorUURJMVFUdDdBSXorakVBMGdaU0U2SmxLYWhNWFRzQUdpWVU2R1EwZWgyUENZc2pSeWo0Z0pyeEk0N2RjQnFNYU5rTGZ1bXFGTUpJCmp2eFJHK01wZUszM2hhMktmWWdHaXQ4c1I2OVFGSURBVzNoSUtwMk5xZ0FrREVRYndiRDRRZm81WWVwRGZhRWp4a0FjUERnc2dPM0QKT0Irb2RpL1hhZHJwMkZScWN4WmU4WXMwRU1SVnlCRUEwdjFHYXRNWmhkZ2s5VU1idUhnUGw5QVBRc2RrT0hnU2w3SGdmeDJZbzZ3YwplQkxvbytNOGpEWUtuZXlQSGgyS3o0L1hYRGlVZVRXZisyYjBmejg3RkR2dXF4OEUwRmpQVjdOanZ6ZmUrK1ZnMjVPeG5oZkFuWUcyCmgrVnVYQTdUK21FQXFhVXgzOTFoK2pBTmpDK0FlT1hyalFEazFvOHI3bFpvRjRESVBRNkE0RUxwQis3NEFVanBwektBbWpMYnNONlQKSWdQVm4yako3a2RWSkRkWEFwQ3RHVDRVUXVqSFZTS3luMThnRm4xazVQcVg1MzZqR0lSSUVuTHB4NFM1MDVyZVorS0hJZHhQN2dzZwoxcyt5QUVpOXcxc0F5TDd2MFk4SFFOSkFid29nL1o1bWE1aHFqbDR1QUdVRE05azYrRU0yTjBmUGpUYjgrTkRjbjIyZi9LWmMrR2w3CjRreDlhRnN1T0o0TGpZQW5NclcwMVR3NFhBbEFVai9TUUcrZXQwR1BqSmMrdmdBUzYxWmU0bFRQZ2dDQ0Ird2xNS0VmQmFCU2VGMUoKNjZjcHZJRVB1NmlzSHdVZzIwQVNRRjJSZ3dDZzdpZ08reWxuejdmV0hCaUlxL1BiZThMekk1bHp3Q0FHMEdEcWpBZEFBNm41enRCOAp1WEJ5b3ZqUjMvekIvN3U2ZEtjemZIZ3NmMk1vZFhrNGZhV2N2Z1lBR3N0K09KRzdNNW05Q3dEaXMwNUJQMnR5ekpyN1BIZG5NUUNTCksxL2MvY01HVW4zUW1ZZlV0dXl6ZFF2Q2RaMlp3ak9haUlqNzRmbTdzakxFK3VFZUlBRWdKaFFTWjEzK3l3MzVyMmZUcjhoQTM2NU4KdkpqTGZyT24vWTgyNUg4QTN3SWhyYzA4blVvOU5nWlNBT0sxTUdjTG1Kd0Q1QUlRR2NoSFAyWGtDMDR2NUZNMWNIOVc3Q3FmS3ErMwp0ZU9xbGthUG1mU0RIZFpxeUJBOUNmZFhwYTZ6dmZSZU1QV3pZOG1yRENEMkUzek95VGdheUFPZzRmQjVNTkJnNlBSUStCVDhHKytzCmdobm9VTzhMdkJ3SXpnOEVUOUZYZkFBN3B2VjZHVHdBOGJSSW02NW5XdVRDVGlBVDBjSGppbnlHdDZPckhlbnlXQXhkWk9JT0pHY0IKenRCSGJGOW5BSmtWTGdNYUVNOEkvQThoUEYrT25JU3Z3eUhrRHRlSFdFVUFJQ29GT1MzUEk2RXozZUVqUFVrOE0yUnN4ZVhKbFRjRwpWcHpwalo0dytoa1BuZVVvQUkzM3ZwNmIrUDJKdnE4RzI3NFk3WDdPQUJycDRzVXZPNDg4dThORVplanVJZ0VFTHhsQTVsZ00wRTkzCkUzdzkzVm1xcUI5elUraEhUb0kyK2xFQTRxTk1YWldlL0Q2TUg0Q2F4ZGhEVDFyek85c0t1MXV5dTB0MEhoYjhHdzlNYWM0Nlc4RGsKR3BZdmFDU0FTRDhWQWVTMWptOHM5Q3dHUUtRZlBGOU1OVEJoMUlBZkUrNzE0VElQdUtjdHN4L0NBT0tiT3JzVmdKTFlBS1QvT3VmawpMODdTQU1SWU1mUjVSd0NTblQwR05DWUtORzhPSUhybjVRR1FwQUFES0ZFem5BdE5sNUxUOWRHTmphRUxYZWxiYmNremJZbkxUYkhkCjRMWmNhQlFBQkF3aUFLM0NpNFVBUkV0bXY3c0FrbGpoMkJPQVpPVEdlSm0zQjVCcTkwRUFLZnBRV0Q4Q1FLUWZBcENpajYrQkdFQWQKNGIxNDNvV2ErSHlrTDNIODB2WS9HTTFkNkkrZDdvdWVvWndhU0p6cW8wNGdCaEFhS0hXUzlkTWJQOTRST3RTZlBER1VQaitjUFFQbwo2WW1lR0MvY0hFaWVoK3VoMUpXUjFOVnkrc1o0N2lNRG9OWFVyYndtOXdCQ3VGR0RCMDFUTTBZY2lGRkJQejRBMHFXYXh5TE9UaTRhCjJZeFRtL21PM2pMMlNKZUZIUHBvQUQzMUFBaUlNMWY0Q2dDMFB2ZDZKdlZxWStHSDY5TGZiaXY5L3VuUlh4M28ralA0MW16dUZRQkkKRm9GTVA1QnVBREw2dVY0VlFGNzlVQVZJbFdvRWJ2QXdML2srOGdHTm04dnFrQzhIUU5kY1I0QnhaelM4VEZ3WnhhbU1aaEh0UXdLUQp0d0lrQWNRR2NnQ2tjY1A2b1dmT1lLMEluV1RpdEU0emc4eCtNVEVuR3R1Y0pXNnFHTWd3eUJsRldMZkhhQVozcDJPZHlVUkxxRzZmCjM4TklzWXBMWUxqSWhiM01ITDRlQ1I4ZkNaMGFEcDdVQU1JbE1OQVBDR21zN2l6OGpUM3hnd09KRThQQjA2TjFGMGJERjNzQzh4NzkKT0FBYWJIczIwZmYxU09kTEFCRDMvWUIrM09VZmtZNHZUQ2xJOXdicHloQWVvWW9HOGdDSVJnRWhnQndES1JJcEFHR2F6aGtBMmZUaAo5bWNGSUhFT2hxNzZMQVZBYkNDam55b0Fhc250YU1yZ1dlNXNpSmJjVG5xNXVkSTIrRW9BMHZSeEFPVDdzSW1FaFl5Tm5nVUJwTXMvCkhnQzVaZ0taMXVaS0FOSUcyczBBWXYwMEpyWXRGNERnMzNVVEhxS28rNm5mREVCb0dtTWc4WHdsQUlGakRHVmM4VHhHeVllZEo5OFIKZ0NvbEV4aUNCd3FSa1Z4NHNCVGQxaFE5MUJEWldvckRad0NaVFRrQUlpM0JrLzlyQU1qMmpVMmY2cWtPSU5JUEFrZ2RDRzhCeUxROApOMFkyUUpnK0hEN3JkRUg5TEJKQTVlelo3dkN4anJyakEzRTgwbXN3Y1o2T05jV2VhRjhBWVdVb2RYSW9mWEV3Zldvd2VXazRjMkV3CmViay9mZ0gwQXhmRHlXdmw5SzN4N01jVE9kVFBxc3duYTNLZnJjMC9OTHUwVEgrUHhvMERJR3J1K1VEcVJ3S0kyNEM0VllpYW9MRUIKeUZTQURJQllNTndKQlBxQnIvd002d2VlQWRtb2FBQmgrM1BtcVFZUXZnUDNSeE9BVUQ5YlN6OWVsL2xxTHZ2TlRQTHI2Y1EzVytwLwpmenJ4TGNCb0x2dlZiT2JGVFBvcGJncExQMTZiK214TjhsTTJFQUNJTjMrSnhTbC9BS21OOGRTbkxHVkRUVDk4WEpkVDhxRmFqanJYCmdoYTI4R0V1N2FqNmtKb3hmVUYxQ0tHOVNFWG1FSGh0SUdhVzgxajhKdWhuSW5wck5IcDlPSHhKOWdCQldEWWFRUE5xcVl1Q01naWUKSEFtZEtZZlB3ei81bzVFTDVmQlplS2wvQkg4S1FqK0Z6NE1ZdUc1RUhkTnlVcUpySDN2MUFJTlU5NDl1NkhGWW85cVBIQU54Vk1WSQo2SWNwMWxkemdQdWFLY3BBRkd6ME1ZRS9jeVE4UHhxQlAvTTAvTDFEZ1hrMkVEY0RBWUJXclRnekFlQUxIeDZLMGMyVkp5WkNGOHA2Cndjc0hRRU50TDhwZHJ3QkFJNTNQaDlxZkFvQkd1NThQdGo5eUZZRTZ2aGpwZk1waDk5Z1o3UGlrRW9DbzN1TUZrRGtZdFRxQTFPWXYKQUZCcDNqb0cxUVVnclovRkFranFweW1qdG9EWmFjM3ZhaXZzeGs2ZzdBNzRONTdkdzFNUWZRY2gydEdtY1FHbzhtUExEQ0MrbGdEUwpTMkJpUjV1WUsyMktQWEw5aXdCRVk1UTU4RzU2ODVldmZwWU1JRE5DV213b2Uxc0FxY1UxWC8xb0FQa1l5SDV5SVFEUk0rOEtRUERkCmZIQTJGNXhJMXZTQ2VQSjFtM09CbVV5d1B4OWNnd0FLamxQd0ZGSUVVR0JxUVFEOXppK0JLY0VzbVQ2Y3R3R1EyZk9GUjJHRTF4T0EKbEg2b0FvVExYcnpuU3dNSUQzdjN6WUpMWUIyQmd5T1pjNkNmL3VpRmtkVFZydUNwM3VpSjRUVDJQdnN1Z2VFcVdPTGlRT3A0WC9SSwpiL3pJZVA0MlBEQ2F1d0VBb2dyUWRXNEFHc2NHb0U4ZzNKR2pwRUxuajFxNDRZVXcxTTk0OGhadDhsTGRQL3dNaDMrRWQzN1J4WU9wCnpHTWU4eU9Yd0FTQUdEcjhxN216QjVIRUxkSlVLOEp0OEt3ZlRBNkxRTFJZQmc5L1BrME5RT3Z5cjJmVFh3S0ExdWRBUXQ5dUt2NW8KZmZhSEcvTS9YcGYrRnU0WUFNMmtQNS9KUEZtYmVnUUdvbElRYmcxVEFOSk1XUWhBTHYxZ2ROMklOM054M3crRXYyc0FaUFNEc3RFSAp2S3NtSVJwN3lIalNRbkxDMVNZR0VCdG9BcDZQM0N4SHJ0a0FHZ3lkQnROQStOOStGZXFQR1FtZEF2R0FlM0RqV09RU0c0Z1lkSjV5CmxqM0VoUlArS1dNZ1loQ2VKQSt4dHJJdmxKVTdJY3BBTlh1TmdUd1ZJQWRBb2tva0YrTXFBWWpYdVZTbHAvYjRZTjBKK2t0UFE4emYKd2pEaTR0RDRpcE1JSURyOGF5dzRQMW83UHhFOEMvRmQveG9Obkg1dnJQdjFSTzgzWXoxZlFjcGRMOEE2NWE1bktKNnV4NDZCRUVEUAo0YnY0Z0YwV29neDEzZ01ETFFnZ05OQ2lBV1QwNHdiUVVhT2ZWbXp4VVp2ZWJRQ0pmaUJLWWI4dmdFQS9WUUJVSDhlaHpQQVBQQmQ3CndFTU4xRnk4ZUFCcDNEZ0FxdkRBV3dISVh2WXk5T0ZJQUZYU0R3TkkxSHRjMjc1cy9RQlFlR212R04vb3lac0NTSnllOGJZQWNneGsKQWNnMlRTRzAxcVFZbm5iaTkzQVZBT2xuM3JZSnVsSXlnYUZzc0Z5SWpLWURYZmxJWHlZd1VvaU1GMks5WUIzNDVQeXpmSkk4Tmd6VgpyYTRFb013eU5VSExLWWhHTS80VGpCYUk5eS9sOE5HbjJkcXlpZWN3VkU5czVSamkyRGY1ZWEyZkNhTWZ6elo0QmhBMlBoT0FTdUVOCmpTRnRJTEhwM1U4L3V5b1pxRklUZEgvOFJIZjQySUdKMTJQWlcrWDBqYUhrcGFIVW1hRlV4U2Jvb2ZUNXdmVEozdWpGL3VTeHZ1aTEKNGV3WmtCQjFRRjhiVG1NSDlIanVJd0RRV09aajBNL3EzUDIxV1Z5SzRuazhhL01QQVVDOGozMHlqUmNBb1BFRXRnR3hmc2FUTnp3QQowdTVSTzhLbTZFaFVYa3FqdHA3UHpSYXcxU0FQTVJ1YVc1dVpRV1FkNm96R0ZURm5zWXhQejlBQWVvRkZJQjRralZ2Y244M212Z0lBCktmZmt2bDJYK1lxMmc2RjcxdWRlejJVeDZ6SmZnb0ZtTTgvQVFGUUVlclFtL1pnQnBKYkFVQ3E4Q0tVS09aaWtFMy85SUlBK29QS1AKR1JyRU83K3VxbTFjWkNBTklMMjJSYnZyRFlDNHUxazJQc3N3djNSdGlWcWg0WjJqMXowVklGNENHd2llMGdEQytvZVQwQW5TenpsMApUL2l5RHRXQlFzWkFHUFBqcHExWUd3alBFUU9nU0FCSkJ2bmVoTmhOME53RFJBM1h6dUh3ckN1SXIzNTZ4WFFmejg3MjRSRGlScFY1CjZuQlZpLzhFeGh3YkNCbWsvaHhjRmdRU0RkUWNBOXhNUmk5TVJzOU5oQUU2SjFrOE10d1cvVjY1ODBzQTBFam55M0xYcTlIdWw3Z1gKakF4RUFLS0ZNQm9VcEFIMENsVGs2UkRpT3d5Z2dmYTdmYno3L2JzQUVQdm1DTVVGSU1MTjhnQ29PYk9ubzdnZkRaSEdhZ2MxQTIxdgp3ZVpvZndESjZvNjdQY2dmUURaOXF1am5iUUJFOFI2RllmVFRrTmpoQVpBbnZPMExveGUvR0NnMmZTQ0ZtTzdqV1RTQWpIZ0lQUkpECmJ3VWdwWjhLazUxeHJzODdBeEJiWjdrQWhQV2VtdWxjM1Z5NlprMGhQSm1wblNxR3NBaWtBQlJZQytpaDkxUUFTZ2ZHS0tNaUl4QWoKR0ttZnBRSElHSWdwVTNHRTR3THgvcVVxZ2o1R1AvbUExejNMQzZENjBKUUhRSTNoR1EyZ0RRd2dORkJvYzFVQUFYUjJWNm9HVmRvRwozeGM3TnBJNTkvZC84UCtkbnZ0cGYvUVNsb0xpSitHbW94LzNOdmkrK0VrdzBGRG05RWptS3RhSEVwZkdpOWVIMDFmTDJldmw3RTFRCjFLckN4eE81TzF3Qm1zby9tTTY5bk1tL0FHcFF3ZVl4MkVVUE13UUEzWE1ENk1ZNGN1R09GQTlmODh4RG1pRmtEcE4zQUNTTzlIcEUKdjRYR0dLb1pQeGd1OW9DRWdHTHVqbWxuRnFJRUVNK1Nuc2wrT1p0N3ZUSC9ZOURQNXZvZmJ5citZRlB4MjAzMVg2L1BmN21ob0hhSApBWURXWlYrdXl6N0gyZEFwS2dMaHp6NWNQSUJjOStXcDdOR2IxUGlNcTFyanlRdmp5VXZFSFR6T0FnMmtsOVVjQUZIdFIxT0pHb0FZClFQcXdpMVhKRHpqYzlXeCt1MUtYQUJEcHgra0JndlFIY0pGTEE4Z3hFRGdBOVVQbG4zTG9VamwwaGI2U2Zrd1VnTTd4T3hneGtJRzQKSlFnTkpCdVdaY1N1THBlQm5BTzU2dmE0ZG9FWi9iZ0hNUG9CNkZDdm1QR0RPN2wwUjdQWjRxNzF3MnQ4WjgxZndRWkNCdW1lNkk3SQprWjd3UFB5M0dnMWRHQW1jSFFxZ2tFYkM4Nzc2S2RlZGVtKzA1M1c1KzZ0eTk1Y2ppSnRYSTkwdklPV2VsK1dlNXhCK09kejFmS2p6CjJWREhDNGl6SElidVlTUTloSmp4aWRnVHJXY2tEclhkNVVQalZkK1BQQTJqOGJ3SlRYL1daNy9MNFljVXZxTlVSTitpa2craXg5MzYKNDBUcngxU0RpRHZ1SlRCYy9NcnRiY3J1NFRUbmRwczBaWGVaTkdkM0dPdVl3RXVQZTN3ajBkT1kza3BCRWhYam0vQnQwM2lDcVVGUwpkZmVZMkwvRi9EZ0hYd3I2eUd0emdDdGZtKzlLTnBrT0lhK1d5RDBtQktDdEVPQU9zaXhKY3gzeERnNC9iRXhzYmt4TVF4cGkwM2pxClZoSUxNS1hFaG9JUmowc3R1UGdsQVNSakU4ZU9XZDd5Uk5yRi9xNktXUFl5eTJHTUc3cHdlSVFMVDZIVjdrVXVKNFkreGVnTVJFakkKQjBBSUk5Y1JvZmhQdnQ3dFpWRkFmOWRjR3pCNUZHWFpRa1hDcGRLYWwyY0d0SW45SkFmSWxWdzVtcXdaekFhSEtiaTRCcy9EUmFwMgpJQk1ZeUlXRzZPdElQb3kvMGY1VStyT3BNcEluTm5FMGRGeGpnVHlSRXc3TjV2YUMrd3hVZlZNdGZwazd4ZUFhU0gxb0xhY2hQSTJECmYyanpGOFRUOHN6MHFUTHcwSFFGZVJxRGNBWjBaQitrSTRvQTRtTy9lbUxIK21MSCtVaXZvZVFGYkFCS25CK0luOEVSejRtemd3Q2cKeEh4Ly9BVGw1RUQ4SEh4M09Ia0ZNcEs2WGs3Zm9OemlqR2F2amVkdlRPUS9uTWpmQnYyTVorNnZ5ajFjWFhqTUc5SDVrUGExZUVqNwpveldaVDZmU2VFQXBOa0h6TGpEdWdFN2VIaytvTzN6VEREemtpaEZYZ0taeWQzbW1JcjM4VkUwVlN1RUZyM05wMzJBak0rOENNL3JSCjFTQXNSMUZuTkorbDZwQkluYVJCWmFHMTJSZVFqWVZ2TmhhKzNWajQ0YWJpaitEcmh2dzNjN2xYSkI0OEhBTUJSS0cxTUN3Q3JVbC8KQVpsS1BWb05ING0yZ3pFN1hPZ1JZY3FJdGg1OWNydHZXY2dieDFXMG1IV0ZtNkNwMXdjTWhFT0F1TDlIQjArOTRMMXBxeE1xMlB1cwo5VE1Xd1dacXBzOVE2UHhRNkJ4bk1IaldWZmdoK3FnbG9jaEpYaGlpMVM1cUF3cGY1bEdLb0orUjRIa011dUdjV1JSVFMybkI0OXdUCkxSZW45REVYdTAxTFVFL3RRUmxXQzZTdjdpaUVybGt6ZURnWFlranM5dkljWEtwS1JLSmNCQkg2T1R3VTFQTitBb2NIYW83eDBWM20KOEFwUGNLeHpFTDU3ZkRod0ZESVVtSWMvcWd3aURKK0c0RVhnWkxsdW5xL2hIWWJyVHZGTW9MSEFPY2g3b0IrbXozRG5TMHlYUW84RQprQW9MaVR1QnNCdGFqWTMyQmRCQXk4Y0dRSDNOMkFldHpzUlFaOEpmZVZNQWRSVG5iUUN4Z1pZSW9OeGVBYUJkMVFFazljT3hDV0pICkFnaWdrSSt1TCtFT3NoMHR1WjF3a1FtdVI0VzRoeWd1R0x0Y1pLY0tnRXcxeUJkQTlCSTN1L2t3cUNLQU50VnpBMUJzQzdYK1lNMEcKREZTS2JpbkZ0aGZEMjVvU3U1c1NPd3ZodVliVXV2cms5TDkxQU5uMHlZWFc0Tm55YmdZWko5bjA0U012cEYxOGxmT09BR1RIUnMraQpBQlFhNVVOU1FUejBKQktIUHVRNFgxTkhObm9MbnNUSHJFK2xQNXVYUG04UElEZDBsZ29nbm55b0FMVCtuUUlJbTVyamRLSUZUbk1HCitsd0E1UUNBY0JBaWZDVUFhUU9kaEFlR2twY0lRTmQ4QVRTV3ZUR2UrNENXd0JCQUU5blBKdk9QMXVacERBODFGMlBOQnNCQkFPS20KWnQwQTlKSHFoazdlY1FCRUxjK202WWNCaEMrenVMV2U5c3pmNVFNdVFEOE1JSmRtTWs5bjhpOW1DMWgvQW9IeHJualYrTXdyWDdybApXWVlCTkpYRzNpQ3FETDNZa1A4YUFBVDZZUURoRWxnVkFLV2VFSUJ3WDVnQTBFY0lJRDE2eHhPakdRTWdOdENDQUhLWGpyaWJ4d0VRCk4vZHdDN2FjZjJnQUJPNVJTZHdTQUVKSTBVbW9GMHo1eHdhUXFYK2dnUWhBZEkxOTBJQWVYZ2pqOG8vUmp6WVF0d1JSRDQzYUdxWTYKZ1l5RWFCbkxxZDk0M09NQ2tOcGR6d1pTaEpLNGtiUlNRbktuMXpzSGlPakQxK0xrZGhCTVZRQ1JnZWkvREQ2cEF3RENWQUtRUno4bQpJOTNQS0Z3TmVqbmErMnEwNTZ1eDN0ZWozUys1U1lqSFJ1UE1hRElRNndjQjFIR2ZBWVFHYXJ2TjVSL1FUMi9UZFF6cHA3dnhvZzBnClphRHZCa0Q1ZlFKQUJCMC8vV0NzOHMvU0FKU0x6UFUwSFFBaWxHaHBMQmRaMzEwNkJBclJUN29BVkFWRE5uZk16M29BSkdQY1k4ZDYKMk9rSGtoaXFCQ0RXVHlHMmtYdWZ6Y2RvVHUxb2lHNXJ6eDdJUjdhbEEzT042YTI1NkpwaWNrMGxBSGw2Z0V4czd0anhtdVk3QkJEcgpSeHJJK3E2UGZ1ak1Md2tYTDNmc3ZDTUEyZUpaSklEU2daNTBBRnVSNERwVnd3REN6NWFxR1V1dUdFL1hySUxBTmQ0UGxyR0J5ZnBVCjd3SkFmdEJ4NlVkOHF4cUFXRDhhUU92ZkJrRDBzaHFBNkZ4M0JTQnl6NFgrR0JxSW9LTVpsTUJkOFZUK09UT1V2RENjd24xZW9COE4Kb0Z1am1ROFVnSEFFNHZXeExHNEJNd0JhbFh1SVc2dDAwUVdYcXpKOGRPZ0RGZ3hIYjNTbnZlNDhIRWd0azZsS0Q2MkY4UUFockFicAovZk40dmluclJ3TklIZldGQzJIWlY3T0YxK3VLWC9QTVF6MzdSdzAvcE9xTzNnT3ZQcDRpRWE5L2NlQzc2M092TitTL1lRQnR5UDhBClczOXlyK1p5TDBBOERLQzVMQzZFbWUxZ2xRQkVIVTQrTVQwOUlwSStYZ0RwS3BHcjZzTUE0allnQkZEc1BLMkNZV3V6V2xQVEJsSWoKZjFLM3BYNDBnUEFZVkgwVVBBSm9KSUlHMGdEQ3hTL1JCK050aUtIcmN3U2dpMXorUVFBSi9mRHpUaE94QUZBZkhpam1qQXZTc3hOeApxSThMUFdvanZSMVRCL0tQMUpXSFIzMDEyUHNzMjUvNUpSOWk2Z0FJUUJNNkMzRURDQTNFREZJYzFJRnZNWURVeThEcEVWcjg4Z09RCm81K25IRjhBamZWZ3E1Q25DTVQ2SVFaOWhuT2krYUQ0MW84SVFLcjh3L29oQUYyeUFlUVVnU29EQ0VNVGdONFdRSFNoQWFRclBiNzYKV1Q0QU5XZTM1NlBydWZ3RFg3bGtndUN3QUNTdjdkajA4ZndzdnFIWE5GNEF5VHZXd3k0QW1YajA0d0FvdnJVUVJRUHhyMjVJYlMrbApkelZtZGpkbWRoYXhjM3h6S2IyaFBqblhtdDhPQkFUMnZYc0E0UXFVWngyS1ZxWXMraXdSUUdwdmw3VzI1V0tRZ0pHUGZuNUhBR1J6Cng0NzlVNXhrYlVlcWRpQmRpOVlCQUdWVWIvVTQvZFFvTCtmQmR6TjAraGhOcWZaK0t2M1p2UFJaTGdBWjJWUzRYeEZBdG42V0RDRDkKMGdFUW5nT1ArdG52QVpBcC8rQWUrUGdsK0VyUXVVZ0xYbmpJRi9Ib0RKZC9SbEpYUmZrSDlZTkpmMVJPZlVnRG9IRUU0bGdHbDhBbQpzdmNtc2cvQVFLdXpqL0dJaWJ6YWkwNFRnTzR6Z0hnekY5OEJ5bkJ6TksrRmNRaEF1aGtJbEpQbUhXUU1vRHVzSDlNQXBOdWYxZDZ1CmFYQko0WnU1NHJleithOW5jcS9oSzE5b0JuM0pLMXdRcDA5SWpBVXlBZDk0QUFUdVVRQWkvVkEzdExNZlhvMEZFZ0JTelVDNnN1V0oKc3o1VlVUODJnTnhiMzNGcUlyOUVBSUYrTklCd2ZjM3BLM0kxQTFFRnlLMGZDU0FkMmdPdkFhUUZnMVVjdmJjTEY3TjBXRWk0MUNXYgpvSTErOUFOTzZ3eVBVcVJCMGpoTUNNS3JXajE0bHVvaDNzbTFFSDI4RWpJeDlDRmRIZmJVZ2N4TGozNHNBQjJYQnJJcVFDSWFRT1lPCmRVRHJPMjRBalFmUHY2ZTZmNmpSaC9YRHRSOXRJR2NKREo2RUFJRFlRTlFvclE0TGN4YkNPaC9neVJndEgvZTNmR2dPaENjQVhlOXAKdklZclg2U2ZydEtGN3RJNUcwQm9vSGNOSUIyM2VIWjQzWk9GZjhWM1lwWkVIODBhQjBERitNYW1ETFpSWjhOejNFTFVXWC9BcmdEWgpzbGxrRmc4Z2ZjZTF6bVdnSS91QlhMMUJpVzAyZ0JwdzRqT3VmTlhUTHJsU2VrY3B0YmN4YzdnbE45K1d1OTVkdXRxUU90alJzSytVCjJad0p6UlpqMjFveUI3Z3QyZ3c1cERCMG5EbEE3bmk1WStkM0FVQm9HbmV4eDc3NXZ4S0EwbldENEp2VXlxblV5a204RXhoSTF3MVQKSFFpNWt3K1BZVUlUTkcyb1dtejZMQTFBOXFsaDlnUHltVW9BTXZwcENNMFovVFJHTnVwRFR4MEF1WWxUUFV3ZjNnbXZBTlFaQS8wYwpKdjBjd3ozdHVyUUR1Q0hmWE1Ick5FcUlWSVFHWWlIQnQ4QTl1dnpEVlIvVWp3cGhTT2dIQWNSMW9OWFpoMU81enlDVFpCMmRPemdnCkVWWDBlSFg2RWZrR2QzZzUweEZkM2RBUEdFQlVDdUpSUUx3VEh0ZTh6Q2xnMk91akR6ZWR6WDR6bC8vQitzSVAxK1craFd2NHloZWkKRkdTT3dqQngrcVpOUURucmMxL3I5Uy9jQytZR2tMTWRqQUNFM1Q4OEY5RU1CR0lER2RWNXd1ZHd1UUZVZVdzWUFzaU1kZGJudlFPQQpralRiTUhhSjlIUFdBSWpvNC9SVzQ0K3J1YzhmTUgxSVA5ZFlQd1FncVI4Rm9PSHdlUUNRcEk4ZmdMZzVXaUxKdS8rTHU2ZHBzTEk2CllrSURpSTVXMWZNVndVQU1JSjdvWXdCa25tVHJ5SjkxUXZ2U25lM3JlcFlQOVJ2NVZJbmdwbnY0SVViZHFUMU1xMkF1QnNsNEY4V28Kc21VRFNMM1VBTUpXYUFVZ0t2RG9abWRUK0ZFQWtvdGl2RXhHRytiWlFNK2xnUkJBWFo4U2dPNHlnTWhBSHhLQWJpQ0FtcTZZOGs5WAo2VnczWldrQUF2MjA1QTZ6Y3BZS0lOWDFyUFhqQlpEU3ovSUJxQUUzZjZFVk91cjNKbXJYZGpic3UzSDJweDNGL1VZL2pCaGJOb3VNCjBROStTS3U2NDduamFYWjJNMGc5WUFPSURTVExQd1FnS3RYQXJ5YjlsRkpIMitxdjRJbTVUVC9xYS95eXUvUlpZL0pDWi8yWjFRUFgKODVFdCtjaW1TZ0NxRkpzN2R2NVZBRlRkT3ZaTnFaL2ZCUURaMXZHTi9ZTWNtam85bFZxeEpsMnpHdHVBNnZyQlE3bTZEZm02emZuQQpPdnc4eUtCeURvOWZIVk1IZFBqRnBzK1NBVlRkUUc4SUlKZCtESUNhZ3B1VWZyd0hYMVNQbklYb0JSQWQ2cTRBeEJPY09YaWR1WXI3CjRURVhocExZKzh6ZFAvVGRteEN2ZnJnSWxNYnVuNG5jWFFNZ0NsNVBRdkQ0aXdlck5JQlcwOG53dEdLRnEwNWdJRzd4MFFCU3d3OVoKUHd3Z3JQU0lyV0ZtdEkvWjBrVzlQcStZT0dBZDBBOEVHRlFCUUM3M21MUEQrSGhVRDRBMjVIL0FBT0lLRVBZQTRma1lDQ0RhR004QQplcTRBcEVjQktRQ1JnV3o2cUNUd3NEQnRJSno2dytkNVZRSVE2MGRQQmlJQThUNTU2djRaaVo2QmdJRndSNWdESUQ4RFdmb1pqMTZHCjJCVWdYZ1dUZTlvRmJzNForcGpkWWFvV0lscWVHVUE4UFlpMmw2czlWczVFYVRvNlF3RW9vQTVTN1ExU0ZnTWdmZkxHQUkza0VSdk4Kbk1peWtDd09HU0Z4REo0SVFHZ2dacEJ0SUUyZmM1RFIwSG5WQ2U0R0VFUUNTTzBGWXdCcCtqZ3JYNVRQUFFBeVRkQThNWWdxUUMvMApYakF5VU5lbkRvQ3c4SVAwZ1F5MDR1WXZ2ZjZsdHI0YkFMR0J2bk1BN1JFQVl2MjRBT1RvcHdLQW1Cb0xSdXFuUHJFSkFOUkkzVC9OCjJSM3dEcDMxQitoWU1aZGdPRkpGYjVSR0h0SW9kbnRKQUVuY3VQcDdYQU9CbEpsOEFXUml5ajhLTVFpZ1hhWDBvZGJpNWRHZXArc24KLy9EdzdsOXVuL3VqVGF0L050ajBmT09xZjNmMTVQOEYyc3ZGSnQ4OWdOYWFGQ0pyVEx6dVdUS0FJcE9RWEhpVko5VUI1TkVQUnVCbQpNUmhhWGdEWjBLa1UrMmM1ZU54WTNVUzZaZzErc09Bd1BGa0liRzFQbk8vUGZ0cVZ1bGFLN000RnB2QjRNbm9zVzdmRy9sVHZEa0QyCnlwZlpIU2FlcVFLZ09RTWcxczliQWtoT2d2WUZVSDl5M3F4dGllck9OUWlYZ29aVHVDS21BWVJUbmgwQUNmMk1wbStYVXgrTlpXZ0EKZE80K2lHYzg4d25vWjFYdVUvYlFPQTFGVk5FQTRxM3NVK2t2TUpuSHRCQ0dmVCswTjU0WHVmQVpmQXgzZXowaUFPSDJNVlArTVpPZwpOWUJlb205eXI2ZXpYODNtWHE4dmZndVpLM3dEMSt2eVgwTm1zbC9Kb3pCVTFHQm9yZ25oRWZGOG45dUR0SEsrQlFNWkFNMW1uZ2tBCjRWQkVCMENrSHkrQWtuZnR4UzhPelV0a0E5MVVEVDNxTEhkL0FJbW1Id0tRSG40SWQ4cXg4eDRBNFRRZ2VnZVBnY2JkK2htTFhCbUwKWEpJQU1qMUF4a0E4M2xCTU9MUUxQSzV0WXF3ZldTakN5WUYxSi9RSjZsaG80WjFjQ2tBaG5BeEV2dEdMWDhFREVPNkFOdUpoL2NBZApkUUpyRUEraUovck1jendmdzR4dDlGMGFZd0JKSnhrQURkVWQwVEZGb09NV2dKQStsQXVWQUtUWVpBT0lmWU83M0R1LzBIbEN3V3RIClA4NFNHT2puU3hxWmlLM1FaZzVRRlFEMXQrRCtyd1VCcE5xQUtnQ292VUFHY2dNSTh1WUFRdjFvQU8xY0VFQ3FwdUl1LytDLzl4WjMKN0hncVFQbm8rcGJjem54MFEydCtGM1lOeCtoZ0wyMlhSUUxJMHhKa3dqKzFCQURKaVloa0lHZmg3RTBCMUp3OTBkdHlCL1J6ZE5jLwozSC80N3gvYys0KzdOdjlrcE9Pci90TFRnZWJiSUwrVzRwcC82d0N5NllQNkNVMVVBcEJ2TW03Y2ZKY0Fzb2tEU2RXTTJEZXJBeWhWCjEwcy9OWTZ0UDZDYzJzbkc4TkhoNHBOZDVkL005ZnkwdjNDOUliSVpXMzhJUUlYUU92dFR2U01Bc1diZUFrQ29IdzJnRGQ4eGdIaHYKMTNBU0RVUUhtbDVYSzJMS1FKZUdFdHoralBxeEFIUWJNcEw4RUljZjVqL3hBQWp1akdmdndMZkcwbmVsZ2FpZCtmNGs5c284blVvLwptOG84Z1pjVDJQZUQwNTgxZ0ZUNUJ3REVXOVlaUUdiL0Z4V1FFRUMwdit3cEF3ajBNNTM5ZWpiMzFmcmlOeENjNWt3akRlSHJUUFpMCnN4ME1pVVBiNDlXd3hNeVhhN092UkpjMDcxejdYQ2lIRGZTMUFOQlhQQ0dhbHNaY0FLSUdJSEV1V0dVQVVZY1F6b3hlTklCUVB5cm0KNEF0L0FHR1RrQUNRdXc0VXU4WUFZdjBZQU1sZFlBWkFrTEdvWjhTemlkVU1SSWRudVJmTDlPamt1aE55bWNrTm9DTjZMTkFoWjN5egpINEM0SnNTZFExby9DQ0E2ZXN5MUVxY3JUNmNnNXMxbDRLYXNBTW0xTTdXNW5ReWs5WE9pSEhLS1FBSkFGeVNBaklIS2RmTVFBQkJ2CnBQY0E2UDhIZmVnYnlDczdhdzRBQUFBQVNVVk9SSzVDWUlJPQ' } ]; w.__toStr = {}.toString; null == ArrayBuffer.prototype.slice && (ArrayBuffer.prototype.slice = Oy.sliceImpl); var Cz = new Uint32Array(256); O.__alpha16 = Cz; for (var ij = 0; 256 > ij; ) { var ok = ij++; O.__alpha16[ok] = Math.ceil(257.00392156862745 * ok); } Cz = new Uint8Array(511); O.__clamp = Cz; for (ij = 0; 255 > ij; ) (ok = ij++), (O.__clamp[ok] = ok); for (ij = 255; 511 > ij; ) (ok = ij++), (O.__clamp[ok] = 255); Zg.available = !1; Zg.enabled = !1; Va.level = 0; 'undefined' == typeof console && (console = {}); null == console.log && (console.log = function () {}); D.hitTestCanvas = Wg.get_supported() ? window.document.createElement('canvas') : null; D.hitTestContext = Wg.get_supported() ? D.hitTestCanvas.getContext('2d') : null; ue.maxTouchPoints = 2; ue.supportedGestures = null; ue.supportsGestureEvents = !1; ue.inputMode = 2; Aa.reloadListeners = []; hb.stopped = !0; hb.adBlock = !1; Ab.__meta__ = { statics: { toNullVector: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; Ka.__meta__ = { fields: { __cairo: { SuppressWarnings: ['checkstyle:Dynamic'] }, addEventListener: { SuppressWarnings: ['checkstyle:Dynamic'] }, removeEventListener: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; Ka.__broadcastEvents = new qa(); Ka.__instanceCount = 0; Ka.__tempStack = new ud( function () { return Ab.toObjectVector(null); }, function (a) { a.set_length(0); } ); xa.logicalWidth = 0; xa.logicalHeight = 0; xa.windowWidth = 0; xa.windowHeight = 0; xa.leftInset = 0; xa.topInset = 0; xa.rightInset = 0; xa.bottomInset = 0; S.Element = 0; S.PCData = 1; S.CData = 2; S.Comment = 3; S.DocType = 4; S.ProcessingInstruction = 5; S.Document = 6; P.pool = []; P.pooli = 0; Rb.VERTEX = 0; Rb.FACE = 1; G.b2_nullFeature = 255; G.s_incidentEdge = G.makeClipPointVector(); G.s_clipPoints1 = G.makeClipPointVector(); G.s_clipPoints2 = G.makeClipPointVector(); G.s_edgeAO = []; G.s_edgeBO = []; G.s_localTangent = new P(); G.s_localNormal = new P(); G.s_planePoint = new P(); G.s_normal = new P(); G.s_tangent = new P(); G.s_tangent2 = new P(); G.s_v11 = new P(); G.s_v12 = new P(); G.b2CollidePolyTempVec = new P(); Le.s_simplex = new ya(); Le.s_saveA = []; Le.s_saveB = []; pj.currentID = 0; kh.e_circles = 1; kh.e_faceA = 2; kh.e_faceB = 4; ef.e_points = 1; ef.e_faceA = 2; ef.e_faceB = 4; Kb.b2_toiCalls = 0; Kb.b2_toiIters = 0; Kb.b2_toiMaxIters = 0; Kb.b2_toiRootIters = 0; Kb.b2_toiMaxRootIters = 0; Kb.s_cache = (function (a) { a = new vk(); a.useCache = !0; return a; })(this); Kb.s_distanceInput = new Ih(); Kb.s_xfA = new Ue(); Kb.s_xfB = new Ue(); Kb.s_fcn = new ef(); Kb.s_distanceOutput = new Te(); Ub.initialized = !1; Ub.distanceInput = new Ih(); Ub.proxyA = new Mg(); Ub.proxyB = new Mg(); Ub.simplexCache = new vk(); Ub.distanceOutput = new Te(); Ub.e_unknownShape = -1; Ub.e_circleShape = 0; Ub.e_polygonShape = 1; Ub.e_edgeShape = 2; Ub.e_shapeTypeCount = 3; Ub.e_hitCollide = 1; Ub.e_missCollide = 0; Ub.e_startsInsideCollide = -1; Eb.s_mat = new yc(); Z.VERSION = '2.1alpha'; Z.USHRT_MAX = 65535; Z.b2_pi = Math.PI; Z.b2_maxManifoldPoints = 2; Z.b2_aabbExtension = 0.1; Z.b2_aabbMultiplier = 2; Z.b2_linearSlop = 0.005; Z.b2_polygonRadius = 2 * Z.b2_linearSlop; Z.b2_angularSlop = 0.011111111111111112 * Z.b2_pi; Z.b2_toiSlop = 8 * Z.b2_linearSlop; Z.b2_maxTOIContactsPerIsland = 32; Z.b2_maxTOIJointsPerIsland = 32; Z.b2_velocityThreshold = 1; Z.b2_maxLinearCorrection = 0.2; Z.b2_maxAngularCorrection = 0.044444444444444446 * Z.b2_pi; Z.b2_maxTranslation = 2; Z.b2_maxTranslationSquared = Z.b2_maxTranslation * Z.b2_maxTranslation; Z.b2_maxRotation = 0.5 * Z.b2_pi; Z.b2_maxRotationSquared = Z.b2_maxRotation * Z.b2_maxRotation; Z.b2_contactBaumgarte = 0.2; Z.b2_timeToSleep = 0.5; Z.b2_linearSleepTolerance = 0.01; Z.b2_angularSleepTolerance = 0.011111111111111112 * Z.b2_pi; R.b2Vec2_zero = new P(0, 0); R.b2Mat22_identity = yc.fromVV(new P(1, 0), new P(0, 1)); R.b2Transform_identity = new Ue(R.b2Vec2_zero, R.b2Mat22_identity); va.s_xf1 = new Ue(); va.e_islandFlag = 1; va.e_awakeFlag = 2; va.e_allowSleepFlag = 4; va.e_bulletFlag = 8; va.e_fixedRotationFlag = 16; va.e_activeFlag = 32; va.e_ignoreGravityFlag = 128; va.e_alwaysActiveFlag = 256; va.e_pausedFlag = 512; va.b2_staticBody = 0; va.b2_kinematicBody = 1; va.b2_dynamicBody = 2; sj.b2_defaultFilter = new sj(); Ng.KEY_LOCK = 0; Ng.b2_defaultListener = new Ng(); xk.s_evalCP = new ce(); De.e_shapeBit = 1; De.e_jointBit = 2; De.e_aabbBit = 4; De.e_pairBit = 8; De.e_centerOfMassBit = 16; De.e_controllerBit = 32; Gf.tempAABB1 = new ja(); Gf.tempAABB2 = new ja(); Kh.s_impulse = new Bn(); cc.s_timestep2 = new uj(); cc.s_xf = new Ue(); cc.s_backupA = new lh(); cc.s_backupB = new lh(); cc.s_timestep = new uj(); cc.s_queue = []; cc.s_jointColor = new wk(0.5, 0.8, 0.8); cc.m_warmStarting = !0; cc.m_continuousPhysics = !1; cc.e_newFixture = 1; cc.e_locked = 2; eb.e_sensorFlag = 1; eb.e_continuousFlag = 2; eb.e_islandFlag = 4; eb.e_toiFlag = 8; eb.e_touchingFlag = 16; eb.e_enabledFlag = 32; eb.e_filterFlag = 64; eb.s_input = new An(); vj.circlePointA = new P(); vj.circlePointB = new P(); Ee.staticFix = Z.b2_maxManifoldPoints; Ee.s_worldManifold = new qj(); Ee.s_psm = new vj(); Qa.m_xf = new Ue(); Qa.q = new P(); Qa.p = new P(); Qa.e = new P(); Qa.temp1 = new P(); Qa.temp2 = new P(); Qa.m_centroidB = new P(); Qa.mat = new yc(); L.m_xf = new Ue(); L.temp = new P(); L.m_centroidB = new P(); L.m_lowerLimit = new P(); L.m_upperLimit = new P(); L.m_polygonB = new Fn(); L.edgeAxis = new Ck(); L.polygonAxis = new Ck(); L.perp = new P(); L.n = new P(); L.rf = new Gn(); L.mat = new yc(); L.temp1 = new P(); L.temp2 = new P(); L.ie = [new ph(), new ph()]; L.clipPoints1 = [new ph(), new ph()]; L.clipPoints2 = [new ph(), new ph()]; L.edge0 = new P(); L.edge1 = new P(); L.edge2 = new P(); L.m_normal = new P(); L.m_normal0 = new P(); L.m_normal1 = new P(); L.m_normal2 = new P(); Sb.e_unknownJoint = 0; Sb.e_revoluteJoint = 1; Sb.e_prismaticJoint = 2; Sb.e_distanceJoint = 3; Sb.e_pulleyJoint = 4; Sb.e_mouseJoint = 5; Sb.e_gearJoint = 6; Sb.e_lineJoint = 7; Sb.e_weldJoint = 8; Sb.e_frictionJoint = 9; Sb.e_inactiveLimit = 0; Sb.e_atLowerLimit = 1; Sb.e_atUpperLimit = 2; Sb.e_equalLimits = 3; Vc.CENTER = 'center'; wg.b2_minPulleyLength = 2; ag.tImpulse = new P(); Qg.FPS_ONLY = !1; Qg.GRAPH_WIDTH = 70; Qg.XPOS = 69; Qg.GRAPH_HEIGHT = 50; Qg.TEXT_HEIGHT = 50; xg.bg = 51; xg.fps = 16776960; xg.ms = 65280; xg.mem = 65535; xg.memmax = 16711792; xg.bgCSS = '#000033'; xg.msCSS = '#00ff00'; xg.fpsCSS = '#ffff00'; xg.memCSS = '#00ffff'; xg.memmaxCSS = '#ff0070'; yg.androidAdmobAppID = ''; yg.whirlID = ''; yg.whirlID1 = ''; yg.iosAdmobAppID = ''; yg.ioswhirlID = ''; yg.ioswhirlID1 = ''; yg.cpmstarID = ''; yg.newgroundsID = ''; yg.newgroundsKey = ''; yg.androidPublicKey = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnt4A5BLBCVzy1JVgQwY7BkEGImhFPA2yFKOSX/cam9byQusmPQBzkLnXnLqQfRTroNNGNZ7kh3FR5zEvSbZeyygwxcuHZZTFafUjuF9v7Fpxhw1Q3by7s7Ro8DEmj93f5Bwc5bcuf6Fc9wjzAd4yMX6N6MZfvieVyGvOxZtDz5gjrT8P6NweAw68C9Nzmo7l0p+wqgjMIMR3+09AvAkhvXsW87Hfpdz5VVMqiNqrVQILJ+RgQ+yTlgjYnLZTIQk4Qx6kwpU8s6aFLBeE5q6sPc/TqjFxRo7nzb3K6PFBXK6cMmoT+KfgwtwO9sns16Wb+/MxZUOtlfjLkxBUyiCQHwIDAQAB'; ba.defines = (function (a) { a = new qa(); a.h.web = '1'; a.h.verbose = '1'; a.h.utf16 = '1'; a.h.use_tilemap = '1'; a.h.unifill = '0.4.1'; a.h.tweenxcore = '1.0.4'; a.h['true'] = '1'; a.h.tools = '7.9.1'; a.h['target.utf16'] = 'true'; a.h['target.unicode'] = 'true'; a.h['target.name'] = 'js'; a.h.stencyl = '4.1.0'; a.h['source-header'] = 'Generated by Haxe 4.2.1+bf9ff69'; a.h.polygonal_ds = '2.1.1'; a.h['polygonal-ds'] = '2.1.1'; a.h.openfl_html5 = '1'; a.h.openfl_enable_handle_error = '1'; a.h['openfl-html5'] = '1'; a.h['openfl-enable-handle-error'] = '1'; a.h.openfl = '9.1.0'; a.h.no_traces = '1'; a.h.no_compilation = '1'; a.h['no-compilation'] = '1'; a.h.mbs = '0.2.1'; a.h.lime_webgl = '1'; a.h.lime_html5 = '1'; a.h.lime_howlerjs = '1'; a.h.lime_dom = '1'; a.h.lime_canvas = '1'; a.h['lime-webgl'] = '1'; a.h['lime-html5'] = '1'; a.h['lime-howlerjs'] = '1'; a.h['lime-dom'] = '1'; a.h['lime-canvas'] = '1'; a.h.lime = '7.9.1'; a.h.js_es5 = '1'; a.h.js_es = '5'; a.h['js-es5'] = '1'; a.h.js = '1'; a.h.html5 = '1'; a.h.hscript = '2.4.0'; a.h.howlerjs = '1'; a.h.haxe_ver = '4.201'; a.h.haxe4 = '1'; a.h.haxe3 = '1'; a.h.haxe = '4.2.1'; a.h.debug_console = '0.0.0'; a.h['debug-console'] = '0.0.0'; a.h.debug = '1'; a.h.dce = 'std'; a.h.cloner = '1.0.0'; a.h.canvas = '1'; a.h.box2d = '0.0.0'; a.h.actuate_manual_update = '1'; a.h.actuate_manual_time = '1'; return a; })(this); ed.TYPE_ADS = 1; ed.TYPE_PURCHASES = 2; ed.TYPE_GAMECENTER = 3; ed.TYPE_KEYBOARD = 4; h.__meta__ = { fields: { getLayer: { deprecated: ['Use getLayerById or getLayerByName'] } } }; h.DOODAD = ''; h.INTERNAL_SHIFT = 'iSHIFT'; h.INTERNAL_CTRL = 'iCTRL'; h.INTERNAL_COMMAND = 'iCOMMAND'; h.NO_PHYSICS = !1; h.DEBUG_DRAW = !1; h.IMG_BASE = ''; h.SCALE = 1; h.checkedWideScreen = !1; h.isStandardIOS = !1; h.isExtendedIOS = !1; h.isIPhone6 = !1; h.isIPhone6Plus = !1; h.isIPhoneX = !1; h.isIPhoneXMax = !1; h.isIPhoneXR = !1; h.isTabletIOS = !1; h.landscape = !1; h.limitCameraToScene = !0; h.paused = !1; h.started = !1; h.inFocus = !0; h.events = new ed(); h.ITERATIONS = 3; h.physicsScale = 10; h.preservePadding = !1; h.paddingLeft = 0; h.paddingRight = 0; h.paddingTop = 0; h.paddingBottom = 0; h.STEP_SIZE = 10; h.MS_PER_SEC = 1e3; h.elapsedTime = 0; h.timeScale = 1; h.totalElapsedTime = 0; h.debug = !1; E.mouseX = 0; E.mouseY = 0; E.mouseWheelDelta = 0; E.multipleGamepadsEnabled = !1; E._enabled = !1; E._joySensitivity = 0.12; E._joyState = new Ya(); E._key = []; E._controlsToReset = []; E._controlMap = new qa(); E._keyInput = new Pn(new Ya(), function (a) { return a.keys; }); E._joyInput = new On(new qa(), function (a) { return a.buttons; }); pe.DEVICE = 0; pe.TYPE = 1; pe.UP = 0; pe.DOWN = 1; pe.LEFT = 2; pe.RIGHT = 3; pe.AXIS = 0; pe.HAT = 1; pe.BUTTON = 2; pe.BALL = 3; pe.cacheFromID = new qa(); Ha.ANY = -1; Ha.LEFT = 37; Ha.UP = 38; Ha.RIGHT = 39; Ha.DOWN = 40; Ha.ENTER = 13; Ha.CONTROL = 17; Ha.COMMAND = 15; Ha.SPACE = 32; Ha.SHIFT = 16; Ha.BACKSPACE = 8; Ha.CAPS_LOCK = 20; Ha.DELETE = 46; Ha.END = 35; Ha.ESCAPE = 27; Ha.HOME = 36; Ha.INSERT = 45; Ha.TAB = 9; Ha.PAGE_DOWN = 34; Ha.PAGE_UP = 33; Ha.LEFT_SQUARE_BRACKET = 219; Ha.RIGHT_SQUARE_BRACKET = 221; Ha.A = 97; Ha.B = 98; Ha.C = 99; Ha.D = 100; Ha.E = 101; Ha.F = 102; Ha.G = 103; Ha.H = 104; Ha.I = 105; Ha.J = 106; Ha.K = 107; Ha.L = 108; Ha.M = 109; Ha.N = 110; Ha.O = 111; Ha.P = 112; Ha.Q = 113; Ha.R = 114; Ha.S = 115; Ha.T = 116; Ha.U = 117; Ha.V = 118; Ha.W = 119; Ha.X = 120; Ha.Y = 121; Ha.Z = 122; Ha.F1 = 112; Ha.F2 = 113; Ha.F3 = 114; Ha.F4 = 115; Ha.F5 = 116; Ha.F6 = 117; Ha.F7 = 118; Ha.F8 = 119; Ha.F9 = 120; Ha.F10 = 121; Ha.F11 = 122; Ha.F12 = 123; Ha.F13 = 124; Ha.F14 = 125; Ha.F15 = 126; Ha.DIGIT_0 = 48; Ha.DIGIT_1 = 49; Ha.DIGIT_2 = 50; Ha.DIGIT_3 = 51; Ha.DIGIT_4 = 52; Ha.DIGIT_5 = 53; Ha.DIGIT_6 = 54; Ha.DIGIT_7 = 55; Ha.DIGIT_8 = 56; Ha.DIGIT_9 = 57; Ha.NUMPAD_0 = 96; Ha.NUMPAD_1 = 97; Ha.NUMPAD_2 = 98; Ha.NUMPAD_3 = 99; Ha.NUMPAD_4 = 100; Ha.NUMPAD_5 = 101; Ha.NUMPAD_6 = 102; Ha.NUMPAD_7 = 103; Ha.NUMPAD_8 = 104; Ha.NUMPAD_9 = 105; Ha.NUMPAD_ADD = 107; Ha.NUMPAD_DECIMAL = 110; Ha.NUMPAD_DIVIDE = 111; Ha.NUMPAD_ENTER = 108; Ha.NUMPAD_MULTIPLY = 106; Ha.NUMPAD_SUBTRACT = 109; Ha.keyboardNameMap = (function (a) { a = new qa(); a.h.NUMBER_0 = 48; a.h.NUMBER_1 = 49; a.h.NUMBER_2 = 50; a.h.NUMBER_3 = 51; a.h.NUMBER_4 = 52; a.h.NUMBER_5 = 53; a.h.NUMBER_6 = 54; a.h.NUMBER_7 = 55; a.h.NUMBER_8 = 56; a.h.NUMBER_9 = 57; a.h.A = 65; a.h.B = 66; a.h.C = 67; a.h.D = 68; a.h.E = 69; a.h.F = 70; a.h.G = 71; a.h.H = 72; a.h.I = 73; a.h.J = 74; a.h.K = 75; a.h.L = 76; a.h.M = 77; a.h.N = 78; a.h.O = 79; a.h.P = 80; a.h.Q = 81; a.h.R = 82; a.h.S = 83; a.h.T = 84; a.h.U = 85; a.h.V = 86; a.h.W = 87; a.h.X = 88; a.h.Y = 89; a.h.Z = 90; a.h.NUMPAD_0 = 96; a.h.NUMPAD_1 = 97; a.h.NUMPAD_2 = 98; a.h.NUMPAD_3 = 99; a.h.NUMPAD_4 = 100; a.h.NUMPAD_5 = 101; a.h.NUMPAD_6 = 102; a.h.NUMPAD_7 = 103; a.h.NUMPAD_8 = 104; a.h.NUMPAD_9 = 105; a.h.NUMPAD_MULTIPLY = 106; a.h.NUMPAD_ADD = 107; a.h.NUMPAD_ENTER = 108; a.h.NUMPAD_SUBTRACT = 109; a.h.NUMPAD_DECIMAL = 110; a.h.NUMPAD_DIVIDE = 111; a.h.F1 = 112; a.h.F2 = 113; a.h.F3 = 114; a.h.F4 = 115; a.h.F5 = 116; a.h.F6 = 117; a.h.F7 = 118; a.h.F8 = 119; a.h.F9 = 120; a.h.F10 = 121; a.h.F11 = 122; a.h.F12 = 123; a.h.F13 = 124; a.h.F14 = 125; a.h.F15 = 126; a.h.BACKSPACE = 8; a.h.TAB = 9; a.h.ALTERNATE = 18; a.h.ENTER = 13; a.h.COMMAND = 15; a.h.SHIFT = 16; a.h.CONTROL = 17; a.h.BREAK = 19; a.h.CAPS_LOCK = 20; a.h.NUMPAD = 21; a.h.ESCAPE = 27; a.h.SPACE = 32; a.h.PAGE_UP = 33; a.h.PAGE_DOWN = 34; a.h.END = 35; a.h.HOME = 36; a.h.LEFT = 37; a.h.RIGHT = 39; a.h.UP = 38; a.h.DOWN = 40; a.h.INSERT = 45; a.h.DELETE = 46; a.h.NUMLOCK = 144; a.h.SEMICOLON = 186; a.h.EQUAL = 187; a.h.COMMA = 188; a.h.MINUS = 189; a.h.PERIOD = 190; a.h.SLASH = 191; a.h.BACKQUOTE = 192; a.h.LEFTBRACKET = 219; a.h.BACKSLASH = 220; a.h.RIGHTBRACKET = 221; a.h.QUOTE = 222; return a; })(this); na.__pool = new ud( function () { return new na(); }, function (a) { a.setTo(0, 0); } ); ea.__pool = new ud( function () { return new ea(); }, function (a) { a.setTo(0, 0, 0, 0); } ); c.FRONT = 0; c.MIDDLE = 1; c.BACK = 2; c.CHANNELS = 32; c.mpx = 0; c.mpy = 0; c.mrx = 0; c.mry = 0; c.dummyVec = new P(); c.imageApiAutoscale = !0; c.dummyRect = new ea(0, 0, 1, 1); c.dummyPoint = new na(0, 0); c.BASE_64_ENCODINGS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; c.BASE_64_PADDING = '='; sh.fieldMaps = new qa(); Sc.AD_USER_OPEN = 100; Sc.AD_USER_CLOSE = 101; Sc.AD_LOADED = 102; Sc.AD_FAILED = 103; Sc.AD_CLICKED = 104; Sc.FULL_AD_USER_OPEN = 105; Sc.FULL_AD_USER_CLOSE = 106; Sc.FULL_AD_LOADED = 107; Sc.FULL_AD_FAILED = 108; Sc.FULL_AD_CLICKED = 109; Sc.PURCHASE_READY = 200; Sc.PURCHASE_SUCCESS = 201; Sc.PURCHASE_FAIL = 202; Sc.PURCHASE_RESTORE = 203; Sc.PURCHASE_CANCEL = 204; Sc.PURCHASE_PRODUCTS_VERIFIED = 205; Sc.PURCHASE_PRODUCT_VALIDATED = 206; Sc.GAME_CENTER_READY = 300; Sc.GAME_CENTER_SCORE = 301; Sc.GAME_CENTER_ACHIEVEMENT = 302; Sc.GAME_CENTER_ACHIEVEMENT_RESET = 303; Sc.GAME_CENTER_READY_FAIL = 304; Sc.GAME_CENTER_SCORE_FAIL = 305; Sc.GAME_CENTER_ACHIEVEMENT_FAIL = 306; Sc.GAME_CENTER_ACHIEVEMENT_RESET_FAIL = 307; Sc.KEYBOARD_EVENT = 400; Sc.KEYBOARD_DONE = 401; Sc.KEYBOARD_SHOW = 402; Sc.KEYBOARD_HIDE = 403; ub.TOUCH_POINT = 1; ub.GESTURE = 2; ub.GESTURE_CAPTURE = 3; ub.PAN_X = 1; ub.PAN_Y = 2; ub.PAN_XY = 3; ub.READY = 0; ub.BEGIN = 1; ub.TWO_FINGER_MOVE = 2; ub.MOVE = 4; ub.R2D = 180 / Math.PI; ub.SWIPE_SCROLL_TIME = 2; ub.SWIPE_SAMPLE_TIME = 0.2; ub.VELOCITY_RATIO = 0.25; ub.touchEvents = 'touchBegin touchEnd touchMove touchOver touchOut touchRollOver touchRollOut touchTap'.split( ' ' ); ub.mouseEvents = 'mouseDown mouseUp mouseMove mouseOver mouseOut rollOver rollOut click'.split(' '); ub.geTouchEvents = ['touchBegin', 'touchEnd', 'touchMove', 'touchOut']; ub.geMouseEvents = ['mouseDown', 'mouseUp', 'mouseMove', 'mouseOut']; ub.initialized = !1; ub.moveToleSqr = 1; ub.MAP = 'mouseDown rox_touch_begin mouseUp rox_touch_end mouseMove rox_touch_move mouseOver rox_touch_over mouseOut rox_touch_out rollOver rox_touch_roll_over rollOut rox_touch_roll_in click rox_touch_tap touchBegin rox_touch_begin touchEnd rox_touch_end touchMove rox_touch_move touchOver rox_touch_over touchOut rox_touch_out touchRollOver rox_touch_roll_over touchRollOut rox_touch_roll_in touchTap rox_touch_tap'.split( ' ' ); ub.typeMap = (function (a) { a = new qa(); for (var b = 0, c = ub.MAP.length >> 1; b < c; ) { var e = b++; a.h[ub.MAP[e << 1]] = ub.MAP[(e << 1) + 1]; } return a; })(this); oa.ACTIVATE = 'activate'; oa.ADDED = 'added'; oa.ADDED_TO_STAGE = 'addedToStage'; oa.CANCEL = 'cancel'; oa.CHANGE = 'change'; oa.CLEAR = 'clear'; oa.CLOSE = 'close'; oa.COMPLETE = 'complete'; oa.CONNECT = 'connect'; oa.CONTEXT3D_CREATE = 'context3DCreate'; oa.COPY = 'copy'; oa.CUT = 'cut'; oa.DEACTIVATE = 'deactivate'; oa.ENTER_FRAME = 'enterFrame'; oa.EXIT_FRAME = 'exitFrame'; oa.FRAME_CONSTRUCTED = 'frameConstructed'; oa.FRAME_LABEL = 'frameLabel'; oa.FULLSCREEN = 'fullScreen'; oa.ID3 = 'id3'; oa.INIT = 'init'; oa.MOUSE_LEAVE = 'mouseLeave'; oa.OPEN = 'open'; oa.PASTE = 'paste'; oa.REMOVED = 'removed'; oa.REMOVED_FROM_STAGE = 'removedFromStage'; oa.RENDER = 'render'; oa.RESIZE = 'resize'; oa.SCROLL = 'scroll'; oa.SELECT = 'select'; oa.SELECT_ALL = 'selectAll'; oa.SOUND_COMPLETE = 'soundComplete'; oa.TAB_CHILDREN_CHANGE = 'tabChildrenChange'; oa.TAB_ENABLED_CHANGE = 'tabEnabledChange'; oa.TAB_INDEX_CHANGE = 'tabIndexChange'; oa.TEXTURE_READY = 'textureReady'; oa.UNLOAD = 'unload'; Wc.TOUCH_BEGIN = 'rox_touch_begin'; Wc.TOUCH_END = 'rox_touch_end'; Wc.TOUCH_MOVE = 'rox_touch_move'; Wc.TOUCH_OVER = 'rox_touch_over'; Wc.TOUCH_OUT = 'rox_touch_out'; Wc.TOUCH_ROLL_OVER = 'rox_touch_roll_over'; Wc.TOUCH_ROLL_OUT = 'rox_touch_roll_in'; Wc.TOUCH_TAP = 'rox_touch_tap'; Wc.GESTURE_TAP = 'rox_gesture_tap'; Wc.GESTURE_LONG_PRESS = 'rox_gesture_long_press'; Wc.GESTURE_PAN = 'rox_gesture_pan'; Wc.GESTURE_SWIPE = 'rox_gesture_swipe'; Wc.GESTURE_BEGIN = 'rox_gesture_begin'; Wc.GESTURE_PINCH = 'rox_gesture_pinch'; Wc.GESTURE_ROTATION = 'rox_gesture_rotation'; Wc.GESTURE_END = 'rox_gesture_end'; dl.stringBlendMap = (function (a) { a = new qa(); a.h.add = 0; a.h.alpha = 1; a.h.darken = 2; a.h.difference = 3; a.h.erase = 4; a.h.hardlight = 5; a.h.invert = 6; a.h.lighten = 8; a.h.multiply = 9; a.h.normal = 10; a.h.overlay = 11; a.h.screen = 12; a.h.subtract = 14; return a; })(this); ha.drawnStringCache = new qa(); ha.drawnStringCacheKeys = []; fd.MAX_TEXTURE_CAP = 4096; Gd._1X = new Gd(1); Gd._1_5X = new Gd(1.5); Gd._2X = new Gd(2); Gd._3X = new Gd(3); Gd._4X = new Gd(4); xj.NO_SCALING = 0; xj.FULLSCREEN = 1; xj.STRETCH_TO_FIT = 2; xj.SCALE_TO_FIT_LETTERBOX = 3; xj.SCALE_TO_FIT_FILL = 4; xj.SCALE_TO_FIT_FULLSCREEN = 5; gf._storedFonts = new qa(); gf.ZERO_POINT = new na(); th.fontData = " 36000000000000000000!26101010001000\"46101010100000000000000000#66010100111110010100111110010100000000$56001000111011000001101110000100%66100100000100001000010000010010000000&66011000100000011010100100011010000000'26101000000000(36010100100100010000)36100010010010100000*46000010100100101000000000+46000001001110010000000000,36000000000000010100-46000000001110000000000000.26000000001000/66000010000100001000010000100000000000056011001001010010100100110000000156011000010000100001000010000000256111000001001100100001111000000356111000001001100000101110000000456100101001010010011100001000000556111101000011100000101110000000656011001000011100100100110000000756111000001000010001100001000000856011001001001100100100110000000956011001001010010011100001000000:26001000100000;26001000101000<46001001001000010000100000=46000011100000111000000000>46100001000010010010000000?56111000001001100000000100000000@66011100100010101110101010011100000000A56011001001010010111101001000000B56111001001011100100101110000000C56011001001010000100100110000000D56111001001010010100101110000000E56111101000011000100001111000000F56111101000010000110001000000000G56011001000010110100100111000000H56100101001011110100101001000000I26101010101000J56000100001000010100100110000000K56100101001010010111001001000000L46100010001000100011100000M66100010100010110110101010100010000000N56100101001011010101101001000000O56011001001010010100100110000000P56111001001010010111001000000000Q56011001001010010100100110000010R56111001001010010111001001000000S56011101000001100000101110000000T46111001000100010001000000U56100101001010010100100110000000V56100101001010010101000100000000W66100010100010101010110110100010000000X56100101001001100100101001000000Y56100101001010010011100001001100Z56111100001001100100001111000000[36110100100100110000}46110001000010010011000000]36110010010010110000^46010010100000000000000000_46000000000000000011110000'26101000000000a56000000111010010100100111000000b56100001110010010100101110000000c46000001101000100001100000d56000100111010010100100111000000e56000000110010110110000110000000f46011010001000110010000000g5700000011001001010010011100001001100h56100001110010010100101001000000i26100010101000j37010000010010010010100k56100001001010010111001001000000l26101010101000m66000000111100101010101010101010000000n56000001110010010100101001000000o56000000110010010100100110000000p5700000111001001010010111001000010000q5700000011101001010010011100001000010r46000010101100100010000000s56000000111011000001101110000000t46100011001000100001100000u56000001001010010100100111000000v56000001001010010101000100000000w66000000101010101010101010011110000000x56000001001010010011001001000000y5700000100101001010010011100001001100z56000001111000100010001111000000{46011001001000010001100000|26101010101000}46110001000010010011000000~56010101010000000000000000000000\\46111010101010101011100000"; Un.LEFT = 1; Un.RIGHT = 2; Un.CENTER = 3; qd.CONTEXT_LOST = 'glcontextlost'; qd.CONTEXT_RESTORED = 'glcontextrestored'; qd.vertexShader = '\n#ifdef GL_ES\n\tprecision mediump float;\n#endif\n\nattribute vec4 aVertex;\n\nattribute vec2 aTexCoord;\nvarying vec2 vTexCoord;\n\nvoid main() {\n\tvTexCoord = aTexCoord;\n\tgl_Position = vec4(aVertex.x, aVertex.y, 0.0, 1.0);\n}'; qb.IN = 'in'; qb.OUT = 'out'; qb.THROUGH = 'through'; Me.SLIDE_UP = 'up'; Me.SLIDE_DOWN = 'down'; Me.SLIDE_LEFT = 'left'; Me.SLIDE_RIGHT = 'right'; M.BOOLEAN = new sf('boolean', 1); M.INTEGER = new sf('integer', 4); M.FLOAT = new sf('float', 4); M.STRING = new sf('string', 4); M.LIST = new sf('list', 4); M.DYNAMIC = new sf('dynamic', 8); M.NULL = new sf('null', 0); Rh.basicTypes = (function (a) { a = []; a.push(M.BOOLEAN); a.push(M.INTEGER); a.push(M.FLOAT); a.push(M.STRING); a.push(M.LIST); a.push(M.DYNAMIC); a.push(M.NULL); vc.initializeType(); Nc.initializeType(); Zc.initializeType(); a.push(vc.MBS_HEADER); a.push(Nc.MBS_TYPE_INFO); a.push(Zc.MBS_FIELD_INFO); return a; })(this); vb.GROUP_OFFSET = 1e6; vb.manifold = new qj(); ra.INHERIT_ID = -1e3; ra.REGION_ID = -2; ra.PLAYER_ID = 0; ra.TERRAIN_ID = 1; ra.DOODAD_ID = 2; ra.ACTOR_ID = 3; Ma.fixedCenter = 0; Ma.showWherePressed = 1; Ma.viewOffsetX = 0; Ma.viewOffsetY = 0; Ma.initialized = !1; Kn.NORMAL_PHYSICS = 0; Kn.SIMPLE_PHYSICS = 1; Kn.MINIMAL_PHYSICS = 2; pd.UNSET_ID = -1; gl.MAX_VERTICES = 200; Vb.muted = !1; Vb.masterVolume = 1; Og.UNSET_ID = -1; se.allAnimations = []; uc.recycledCollisions = []; uc.collisionResponses = new Ya(); Od.freedCollisionPoints = []; Jf.WHITE = -1; Jf.TRANSPARENT = -2; Bf.infoArray = []; Fe.NO_AUTOTILE_DATA = 0; Fe.CORNER_TL = 1; Fe.CORNER_TR = 2; Fe.CORNER_BR = 4; Fe.CORNER_BL = 8; Fe.SIDE_L = 16; Fe.SIDE_T = 32; Fe.SIDE_R = 64; Fe.SIDE_B = 128; Mc.dummyRect = new ea(); me.TILESET_CACHE_MULTIPLIER = 1e6; me.cacheSource = new Ya(); me.autotileFlagPointMap = (function (a) { a = new Ya(); var b = Fe.CORNER_TL, c = new na(-1, -1); a.h[b] = c; b = Fe.CORNER_TR; c = new na(1, -1); a.h[b] = c; b = Fe.CORNER_BL; c = new na(-1, 1); a.h[b] = c; b = Fe.CORNER_BR; c = new na(1, 1); a.h[b] = c; b = Fe.SIDE_T; c = new na(0, -1); a.h[b] = c; b = Fe.SIDE_B; c = new na(0, 1); a.h[b] = c; b = Fe.SIDE_L; c = new na(-1, 0); a.h[b] = c; b = Fe.SIDE_R; c = new na(1, 0); a.h[b] = c; return a; })(this); qf.temp = new ea(); Oc.BLACK = -16777216; Oc.WHITE = -1; Oc.RED = -65536; Oc.GREEN = -16711936; Oc.BLUE = -16776961; Oc.CYAN = -16711681; Oc.MAGENTA = -65281; Oc.YELLOW = -256; Za.LUMA_R = 0.212671; Za.LUMA_G = 0.71516; Za.LUMA_B = 0.072169; Za.LUMA_R2 = 0.3086; Za.LUMA_G2 = 0.6094; Za.LUMA_B2 = 0.082; Za.INV3 = 0.3333333333333333; Id.BLACK = 0; Id.WHITE = 16777215; Id.RED = 16711680; Id.GREEN = 65280; Id.BLUE = 255; Id.CYAN = 65535; Id.MAGENTA = 16711935; Id.YELLOW = 16776960; hf.__meta__ = { fields: { clone: { SuppressWarnings: ['checkstyle:FieldDocComment'] } } }; Uh.__identity = new Uh(); Ia.__meta__ = { fields: { equals: { SuppressWarnings: ['checkstyle:FieldDocComment'] }, to3DString: { SuppressWarnings: ['checkstyle:FieldDocComment'] }, toMozString: { SuppressWarnings: ['checkstyle:FieldDocComment'] } } }; Ia.__identity = new Ia(); Ia.__pool = new ud( function () { return new Ia(); }, function (a) { a.identity(); } ); Ia.__matrix3 = new Uh(); Kc.__pool = new ud( function () { return new Kc(); }, function (a) { a.__identity(); } ); W.INTEGER_MAX = 1e8; W.NUMBER_MAX_VALUE = 1.79769313486231e308; W.blackColor = -16777216; W.rate = 1; W.camera = new na(); W.cloner = new Jn(); W._bitmap = new qa(); W._seed = 0; W._volume = 1; W._pan = 0; W._soundTransform = new hf(); W.DEG = 57.29577951308402; W.RAD = 0.01745329251994278; W.point = new na(); W.point2 = new na(); W.zero = new na(); W.rect = new ea(); W.matrix = new Ia(); W.sprite = new Ca(); W.collision = new uc(); v.linear = new Gl(); v.sineIn = new Tl(); v.sineOut = new Vl(); v.sineInOut = new Ul(); v.sineOutIn = new Wl(); v.quadIn = new Hl(); v.quadOut = new Jl(); v.quadInOut = new Il(); v.quadOutIn = new Kl(); v.cubicIn = new ul(); v.cubicOut = new wl(); v.cubicInOut = new vl(); v.cubicOutIn = new xl(); v.quartIn = new Ll(); v.quartOut = new Nl(); v.quartInOut = new Ml(); v.quartOutIn = new Ol(); v.quintIn = new Pl(); v.quintOut = new Rl(); v.quintInOut = new Ql(); v.quintOutIn = new Sl(); v.expoIn = new Cl(); v.expoOut = new El(); v.expoInOut = new Dl(); v.expoOutIn = new Fl(); v.circIn = new ql(); v.circOut = new sl(); v.circInOut = new rl(); v.circOutIn = new tl(); v.bounceIn = new ml(); v.bounceOut = new ol(); v.bounceInOut = new nl(); v.bounceOutIn = new pl(); v.backIn = new il(); v.backOut = new kl(); v.backInOut = new jl(); v.backOutIn = new ll(); v.elasticIn = new yl(); v.elasticOut = new Al(); v.elasticInOut = new zl(); v.elasticOutIn = new Bl(); v.warpOut = new Zl(); v.warpIn = new Xl(); v.warpInOut = new Yl(); v.warpOutIn = new $l(); Vh.PI = 3.141592653589793; Vh.PI_H = 1.5707963267948966; Vh.LN_2 = 0.6931471805599453; Vh.LN_2_10 = 6.931471805599453; Vh.overshoot = 1.70158; Vh.amplitude = 1; Vh.period = 3e-4; kb.activeObjects = []; kb.finishedObjects = []; ze.USE_CACHE = !1; ze.USE_ENUM_INDEX = !1; ze.BASE64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%:'; Ge.DEFAULT_RESOLVER = new bm(); Ge.BASE64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%:'; yh.CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; yh.BYTES = fb.ofString(yh.CHARS); Zd.i64tmp = new ab(0, 0); Zd.helper = new DataView(new ArrayBuffer(8)); jh.escapes = (function (a) { a = new qa(); a.h.lt = '<'; a.h.gt = '>'; a.h.amp = '&'; a.h.quot = '"'; a.h.apos = "'"; return a; })(this); Ae.LEN_EXTRA_BITS_TBL = [ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, -1, -1 ]; Ae.LEN_BASE_VAL_TBL = [ 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258 ]; Ae.DIST_EXTRA_BITS_TBL = [ 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, -1, -1 ]; Ae.DIST_BASE_VAL_TBL = [ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577 ]; Ae.CODE_LENGTHS_POS = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]; Sa.OPTION_REVOKE_URL = 1; Sa.activeRequests = 0; Sa.requestLimit = 17; Sa.requestQueue = new F(); pb.dummyCharacter = '\u007f'; pb.windowID = 0; Pf.DICTIONARY = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''); Pf.EXTENDED_DICTIONARY = (function (a) { a = []; for (var b = 0, c = Pf.DICTIONARY; b < c.length; ) { var e = c[b]; ++b; for (var f = 0, g = Pf.DICTIONARY; f < g.length; ) { var h = g[f]; ++f; a.push(e + h); } } return a; })(this); Ye.MUL_TABLE = [ 1, 171, 205, 293, 57, 373, 79, 137, 241, 27, 391, 357, 41, 19, 283, 265, 497, 469, 443, 421, 25, 191, 365, 349, 335, 161, 155, 149, 9, 278, 269, 261, 505, 245, 475, 231, 449, 437, 213, 415, 405, 395, 193, 377, 369, 361, 353, 345, 169, 331, 325, 319, 313, 307, 301, 37, 145, 285, 281, 69, 271, 267, 263, 259, 509, 501, 493, 243, 479, 118, 465, 459, 113, 446, 55, 435, 429, 423, 209, 413, 51, 403, 199, 393, 97, 3, 379, 375, 371, 367, 363, 359, 355, 351, 347, 43, 85, 337, 333, 165, 327, 323, 5, 317, 157, 311, 77, 305, 303, 75, 297, 294, 73, 289, 287, 71, 141, 279, 277, 275, 68, 135, 67, 133, 33, 262, 260, 129, 511, 507, 503, 499, 495, 491, 61, 121, 481, 477, 237, 235, 467, 232, 115, 457, 227, 451, 7, 445, 221, 439, 218, 433, 215, 427, 425, 211, 419, 417, 207, 411, 409, 203, 202, 401, 399, 396, 197, 49, 389, 387, 385, 383, 95, 189, 47, 187, 93, 185, 23, 183, 91, 181, 45, 179, 89, 177, 11, 175, 87, 173, 345, 343, 341, 339, 337, 21, 167, 83, 331, 329, 327, 163, 81, 323, 321, 319, 159, 79, 315, 313, 39, 155, 309, 307, 153, 305, 303, 151, 75, 299, 149, 37, 295, 147, 73, 291, 145, 289, 287, 143, 285, 71, 141, 281, 35, 279, 139, 69, 275, 137, 273, 17, 271, 135, 269, 267, 133, 265, 33, 263, 131, 261, 130, 259, 129, 257, 1 ]; Ye.SHG_TABLE = [ 0, 9, 10, 11, 9, 12, 10, 11, 12, 9, 13, 13, 10, 9, 13, 13, 14, 14, 14, 14, 10, 13, 14, 14, 14, 13, 13, 13, 9, 14, 14, 14, 15, 14, 15, 14, 15, 15, 14, 15, 15, 15, 14, 15, 15, 15, 15, 15, 14, 15, 15, 15, 15, 15, 15, 12, 14, 15, 15, 13, 15, 15, 15, 15, 16, 16, 16, 15, 16, 14, 16, 16, 14, 16, 13, 16, 16, 16, 15, 16, 13, 16, 15, 16, 14, 9, 16, 16, 16, 16, 16, 16, 16, 16, 16, 13, 14, 16, 16, 15, 16, 16, 10, 16, 15, 16, 14, 16, 16, 14, 16, 16, 14, 16, 16, 14, 15, 16, 16, 16, 14, 15, 14, 15, 13, 16, 16, 15, 17, 17, 17, 17, 17, 17, 14, 15, 17, 17, 16, 16, 17, 16, 15, 17, 16, 17, 11, 17, 16, 17, 16, 17, 16, 17, 17, 16, 17, 17, 16, 17, 17, 16, 16, 17, 17, 17, 16, 14, 17, 17, 17, 17, 15, 16, 14, 16, 15, 16, 13, 16, 15, 16, 14, 16, 15, 16, 12, 16, 15, 16, 17, 17, 17, 17, 17, 13, 16, 15, 17, 17, 17, 16, 15, 17, 17, 17, 16, 15, 17, 17, 14, 16, 17, 17, 16, 17, 17, 16, 15, 17, 16, 14, 17, 16, 15, 17, 16, 17, 17, 16, 17, 15, 16, 17, 14, 17, 16, 15, 17, 16, 17, 13, 17, 16, 17, 17, 16, 17, 14, 17, 16, 17, 16, 17, 16, 17, 9 ]; Rf.minCodePoint = 0; Rf.maxCodePoint = 1114111; Rf.minHighSurrogate = 55296; Rf.maxHighSurrogate = 56319; Rf.minLowSurrogate = 56320; Rf.maxLowSurrogate = 57343; u.DEPTH_BUFFER_BIT = 256; u.STENCIL_BUFFER_BIT = 1024; u.COLOR_BUFFER_BIT = 16384; u.POINTS = 0; u.LINES = 1; u.LINE_LOOP = 2; u.LINE_STRIP = 3; u.TRIANGLES = 4; u.TRIANGLE_STRIP = 5; u.TRIANGLE_FAN = 6; u.ZERO = 0; u.ONE = 1; u.SRC_COLOR = 768; u.ONE_MINUS_SRC_COLOR = 769; u.SRC_ALPHA = 770; u.ONE_MINUS_SRC_ALPHA = 771; u.DST_ALPHA = 772; u.ONE_MINUS_DST_ALPHA = 773; u.DST_COLOR = 774; u.ONE_MINUS_DST_COLOR = 775; u.SRC_ALPHA_SATURATE = 776; u.FUNC_ADD = 32774; u.BLEND_EQUATION = 32777; u.BLEND_EQUATION_RGB = 32777; u.BLEND_EQUATION_ALPHA = 34877; u.FUNC_SUBTRACT = 32778; u.FUNC_REVERSE_SUBTRACT = 32779; u.BLEND_DST_RGB = 32968; u.BLEND_SRC_RGB = 32969; u.BLEND_DST_ALPHA = 32970; u.BLEND_SRC_ALPHA = 32971; u.CONSTANT_COLOR = 32769; u.ONE_MINUS_CONSTANT_COLOR = 32770; u.CONSTANT_ALPHA = 32771; u.ONE_MINUS_CONSTANT_ALPHA = 32772; u.BLEND_COLOR = 32773; u.ARRAY_BUFFER = 34962; u.ELEMENT_ARRAY_BUFFER = 34963; u.ARRAY_BUFFER_BINDING = 34964; u.ELEMENT_ARRAY_BUFFER_BINDING = 34965; u.STREAM_DRAW = 35040; u.STATIC_DRAW = 35044; u.DYNAMIC_DRAW = 35048; u.BUFFER_SIZE = 34660; u.BUFFER_USAGE = 34661; u.CURRENT_VERTEX_ATTRIB = 34342; u.FRONT = 1028; u.BACK = 1029; u.FRONT_AND_BACK = 1032; u.CULL_FACE = 2884; u.BLEND = 3042; u.DITHER = 3024; u.STENCIL_TEST = 2960; u.DEPTH_TEST = 2929; u.SCISSOR_TEST = 3089; u.POLYGON_OFFSET_FILL = 32823; u.SAMPLE_ALPHA_TO_COVERAGE = 32926; u.SAMPLE_COVERAGE = 32928; u.NO_ERROR = 0; u.INVALID_ENUM = 1280; u.INVALID_VALUE = 1281; u.INVALID_OPERATION = 1282; u.OUT_OF_MEMORY = 1285; u.CW = 2304; u.CCW = 2305; u.LINE_WIDTH = 2849; u.ALIASED_POINT_SIZE_RANGE = 33901; u.ALIASED_LINE_WIDTH_RANGE = 33902; u.CULL_FACE_MODE = 2885; u.FRONT_FACE = 2886; u.DEPTH_RANGE = 2928; u.DEPTH_WRITEMASK = 2930; u.DEPTH_CLEAR_VALUE = 2931; u.DEPTH_FUNC = 2932; u.STENCIL_CLEAR_VALUE = 2961; u.STENCIL_FUNC = 2962; u.STENCIL_FAIL = 2964; u.STENCIL_PASS_DEPTH_FAIL = 2965; u.STENCIL_PASS_DEPTH_PASS = 2966; u.STENCIL_REF = 2967; u.STENCIL_VALUE_MASK = 2963; u.STENCIL_WRITEMASK = 2968; u.STENCIL_BACK_FUNC = 34816; u.STENCIL_BACK_FAIL = 34817; u.STENCIL_BACK_PASS_DEPTH_FAIL = 34818; u.STENCIL_BACK_PASS_DEPTH_PASS = 34819; u.STENCIL_BACK_REF = 36003; u.STENCIL_BACK_VALUE_MASK = 36004; u.STENCIL_BACK_WRITEMASK = 36005; u.VIEWPORT = 2978; u.SCISSOR_BOX = 3088; u.COLOR_CLEAR_VALUE = 3106; u.COLOR_WRITEMASK = 3107; u.UNPACK_ALIGNMENT = 3317; u.PACK_ALIGNMENT = 3333; u.MAX_TEXTURE_SIZE = 3379; u.MAX_VIEWPORT_DIMS = 3386; u.SUBPIXEL_BITS = 3408; u.RED_BITS = 3410; u.GREEN_BITS = 3411; u.BLUE_BITS = 3412; u.ALPHA_BITS = 3413; u.DEPTH_BITS = 3414; u.STENCIL_BITS = 3415; u.POLYGON_OFFSET_UNITS = 10752; u.POLYGON_OFFSET_FACTOR = 32824; u.TEXTURE_BINDING_2D = 32873; u.SAMPLE_BUFFERS = 32936; u.SAMPLES = 32937; u.SAMPLE_COVERAGE_VALUE = 32938; u.SAMPLE_COVERAGE_INVERT = 32939; u.NUM_COMPRESSED_TEXTURE_FORMATS = 34466; u.COMPRESSED_TEXTURE_FORMATS = 34467; u.DONT_CARE = 4352; u.FASTEST = 4353; u.NICEST = 4354; u.GENERATE_MIPMAP_HINT = 33170; u.BYTE = 5120; u.UNSIGNED_BYTE = 5121; u.SHORT = 5122; u.UNSIGNED_SHORT = 5123; u.INT = 5124; u.UNSIGNED_INT = 5125; u.FLOAT = 5126; u.DEPTH_COMPONENT = 6402; u.ALPHA = 6406; u.RGB = 6407; u.RGBA = 6408; u.LUMINANCE = 6409; u.LUMINANCE_ALPHA = 6410; u.UNSIGNED_SHORT_4_4_4_4 = 32819; u.UNSIGNED_SHORT_5_5_5_1 = 32820; u.UNSIGNED_SHORT_5_6_5 = 33635; u.FRAGMENT_SHADER = 35632; u.VERTEX_SHADER = 35633; u.MAX_VERTEX_ATTRIBS = 34921; u.MAX_VERTEX_UNIFORM_VECTORS = 36347; u.MAX_VARYING_VECTORS = 36348; u.MAX_COMBINED_TEXTURE_IMAGE_UNITS = 35661; u.MAX_VERTEX_TEXTURE_IMAGE_UNITS = 35660; u.MAX_TEXTURE_IMAGE_UNITS = 34930; u.MAX_FRAGMENT_UNIFORM_VECTORS = 36349; u.SHADER_TYPE = 35663; u.DELETE_STATUS = 35712; u.LINK_STATUS = 35714; u.VALIDATE_STATUS = 35715; u.ATTACHED_SHADERS = 35717; u.ACTIVE_UNIFORMS = 35718; u.ACTIVE_ATTRIBUTES = 35721; u.SHADING_LANGUAGE_VERSION = 35724; u.CURRENT_PROGRAM = 35725; u.NEVER = 512; u.LESS = 513; u.EQUAL = 514; u.LEQUAL = 515; u.GREATER = 516; u.NOTEQUAL = 517; u.GEQUAL = 518; u.ALWAYS = 519; u.KEEP = 7680; u.REPLACE = 7681; u.INCR = 7682; u.DECR = 7683; u.INVERT = 5386; u.INCR_WRAP = 34055; u.DECR_WRAP = 34056; u.VENDOR = 7936; u.RENDERER = 7937; u.VERSION = 7938; u.EXTENSIONS = 7939; u.NEAREST = 9728; u.LINEAR = 9729; u.NEAREST_MIPMAP_NEAREST = 9984; u.LINEAR_MIPMAP_NEAREST = 9985; u.NEAREST_MIPMAP_LINEAR = 9986; u.LINEAR_MIPMAP_LINEAR = 9987; u.TEXTURE_MAG_FILTER = 10240; u.TEXTURE_MIN_FILTER = 10241; u.TEXTURE_WRAP_S = 10242; u.TEXTURE_WRAP_T = 10243; u.TEXTURE_2D = 3553; u.TEXTURE = 5890; u.TEXTURE_CUBE_MAP = 34067; u.TEXTURE_BINDING_CUBE_MAP = 34068; u.TEXTURE_CUBE_MAP_POSITIVE_X = 34069; u.TEXTURE_CUBE_MAP_NEGATIVE_X = 34070; u.TEXTURE_CUBE_MAP_POSITIVE_Y = 34071; u.TEXTURE_CUBE_MAP_NEGATIVE_Y = 34072; u.TEXTURE_CUBE_MAP_POSITIVE_Z = 34073; u.TEXTURE_CUBE_MAP_NEGATIVE_Z = 34074; u.MAX_CUBE_MAP_TEXTURE_SIZE = 34076; u.TEXTURE0 = 33984; u.TEXTURE1 = 33985; u.TEXTURE2 = 33986; u.TEXTURE3 = 33987; u.TEXTURE4 = 33988; u.TEXTURE5 = 33989; u.TEXTURE6 = 33990; u.TEXTURE7 = 33991; u.TEXTURE8 = 33992; u.TEXTURE9 = 33993; u.TEXTURE10 = 33994; u.TEXTURE11 = 33995; u.TEXTURE12 = 33996; u.TEXTURE13 = 33997; u.TEXTURE14 = 33998; u.TEXTURE15 = 33999; u.TEXTURE16 = 34e3; u.TEXTURE17 = 34001; u.TEXTURE18 = 34002; u.TEXTURE19 = 34003; u.TEXTURE20 = 34004; u.TEXTURE21 = 34005; u.TEXTURE22 = 34006; u.TEXTURE23 = 34007; u.TEXTURE24 = 34008; u.TEXTURE25 = 34009; u.TEXTURE26 = 34010; u.TEXTURE27 = 34011; u.TEXTURE28 = 34012; u.TEXTURE29 = 34013; u.TEXTURE30 = 34014; u.TEXTURE31 = 34015; u.ACTIVE_TEXTURE = 34016; u.REPEAT = 10497; u.CLAMP_TO_EDGE = 33071; u.MIRRORED_REPEAT = 33648; u.FLOAT_VEC2 = 35664; u.FLOAT_VEC3 = 35665; u.FLOAT_VEC4 = 35666; u.INT_VEC2 = 35667; u.INT_VEC3 = 35668; u.INT_VEC4 = 35669; u.BOOL = 35670; u.BOOL_VEC2 = 35671; u.BOOL_VEC3 = 35672; u.BOOL_VEC4 = 35673; u.FLOAT_MAT2 = 35674; u.FLOAT_MAT3 = 35675; u.FLOAT_MAT4 = 35676; u.SAMPLER_2D = 35678; u.SAMPLER_CUBE = 35680; u.VERTEX_ATTRIB_ARRAY_ENABLED = 34338; u.VERTEX_ATTRIB_ARRAY_SIZE = 34339; u.VERTEX_ATTRIB_ARRAY_STRIDE = 34340; u.VERTEX_ATTRIB_ARRAY_TYPE = 34341; u.VERTEX_ATTRIB_ARRAY_NORMALIZED = 34922; u.VERTEX_ATTRIB_ARRAY_POINTER = 34373; u.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 34975; u.IMPLEMENTATION_COLOR_READ_TYPE = 35738; u.IMPLEMENTATION_COLOR_READ_FORMAT = 35739; u.VERTEX_PROGRAM_POINT_SIZE = 34370; u.POINT_SPRITE = 34913; u.COMPILE_STATUS = 35713; u.LOW_FLOAT = 36336; u.MEDIUM_FLOAT = 36337; u.HIGH_FLOAT = 36338; u.LOW_INT = 36339; u.MEDIUM_INT = 36340; u.HIGH_INT = 36341; u.FRAMEBUFFER = 36160; u.RENDERBUFFER = 36161; u.RGBA4 = 32854; u.RGB5_A1 = 32855; u.RGB565 = 36194; u.DEPTH_COMPONENT16 = 33189; u.STENCIL_INDEX = 6401; u.STENCIL_INDEX8 = 36168; u.DEPTH_STENCIL = 34041; u.RENDERBUFFER_WIDTH = 36162; u.RENDERBUFFER_HEIGHT = 36163; u.RENDERBUFFER_INTERNAL_FORMAT = 36164; u.RENDERBUFFER_RED_SIZE = 36176; u.RENDERBUFFER_GREEN_SIZE = 36177; u.RENDERBUFFER_BLUE_SIZE = 36178; u.RENDERBUFFER_ALPHA_SIZE = 36179; u.RENDERBUFFER_DEPTH_SIZE = 36180; u.RENDERBUFFER_STENCIL_SIZE = 36181; u.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 36048; u.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 36049; u.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 36050; u.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 36051; u.COLOR_ATTACHMENT0 = 36064; u.DEPTH_ATTACHMENT = 36096; u.STENCIL_ATTACHMENT = 36128; u.DEPTH_STENCIL_ATTACHMENT = 33306; u.NONE = 0; u.FRAMEBUFFER_COMPLETE = 36053; u.FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 36054; u.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 36055; u.FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 36057; u.FRAMEBUFFER_UNSUPPORTED = 36061; u.FRAMEBUFFER_BINDING = 36006; u.RENDERBUFFER_BINDING = 36007; u.MAX_RENDERBUFFER_SIZE = 34024; u.INVALID_FRAMEBUFFER_OPERATION = 1286; u.UNPACK_FLIP_Y_WEBGL = 37440; u.UNPACK_PREMULTIPLY_ALPHA_WEBGL = 37441; u.CONTEXT_LOST_WEBGL = 37442; u.UNPACK_COLORSPACE_CONVERSION_WEBGL = 37443; u.BROWSER_DEFAULT_WEBGL = 37444; u.READ_BUFFER = 3074; u.UNPACK_ROW_LENGTH = 3314; u.UNPACK_SKIP_ROWS = 3315; u.UNPACK_SKIP_PIXELS = 3316; u.PACK_ROW_LENGTH = 3330; u.PACK_SKIP_ROWS = 3331; u.PACK_SKIP_PIXELS = 3332; u.TEXTURE_BINDING_3D = 32874; u.UNPACK_SKIP_IMAGES = 32877; u.UNPACK_IMAGE_HEIGHT = 32878; u.MAX_3D_TEXTURE_SIZE = 32883; u.MAX_ELEMENTS_VERTICES = 33e3; u.MAX_ELEMENTS_INDICES = 33001; u.MAX_TEXTURE_LOD_BIAS = 34045; u.MAX_FRAGMENT_UNIFORM_COMPONENTS = 35657; u.MAX_VERTEX_UNIFORM_COMPONENTS = 35658; u.MAX_ARRAY_TEXTURE_LAYERS = 35071; u.MIN_PROGRAM_TEXEL_OFFSET = 35076; u.MAX_PROGRAM_TEXEL_OFFSET = 35077; u.MAX_VARYING_COMPONENTS = 35659; u.FRAGMENT_SHADER_DERIVATIVE_HINT = 35723; u.RASTERIZER_DISCARD = 35977; u.VERTEX_ARRAY_BINDING = 34229; u.MAX_VERTEX_OUTPUT_COMPONENTS = 37154; u.MAX_FRAGMENT_INPUT_COMPONENTS = 37157; u.MAX_SERVER_WAIT_TIMEOUT = 37137; u.MAX_ELEMENT_INDEX = 36203; u.RED = 6403; u.RGB8 = 32849; u.RGBA8 = 32856; u.RGB10_A2 = 32857; u.TEXTURE_3D = 32879; u.TEXTURE_WRAP_R = 32882; u.TEXTURE_MIN_LOD = 33082; u.TEXTURE_MAX_LOD = 33083; u.TEXTURE_BASE_LEVEL = 33084; u.TEXTURE_MAX_LEVEL = 33085; u.TEXTURE_COMPARE_MODE = 34892; u.TEXTURE_COMPARE_FUNC = 34893; u.SRGB = 35904; u.SRGB8 = 35905; u.SRGB8_ALPHA8 = 35907; u.COMPARE_REF_TO_TEXTURE = 34894; u.RGBA32F = 34836; u.RGB32F = 34837; u.RGBA16F = 34842; u.RGB16F = 34843; u.TEXTURE_2D_ARRAY = 35866; u.TEXTURE_BINDING_2D_ARRAY = 35869; u.R11F_G11F_B10F = 35898; u.RGB9_E5 = 35901; u.RGBA32UI = 36208; u.RGB32UI = 36209; u.RGBA16UI = 36214; u.RGB16UI = 36215; u.RGBA8UI = 36220; u.RGB8UI = 36221; u.RGBA32I = 36226; u.RGB32I = 36227; u.RGBA16I = 36232; u.RGB16I = 36233; u.RGBA8I = 36238; u.RGB8I = 36239; u.RED_INTEGER = 36244; u.RGB_INTEGER = 36248; u.RGBA_INTEGER = 36249; u.R8 = 33321; u.RG8 = 33323; u.R16F = 33325; u.R32F = 33326; u.RG16F = 33327; u.RG32F = 33328; u.R8I = 33329; u.R8UI = 33330; u.R16I = 33331; u.R16UI = 33332; u.R32I = 33333; u.R32UI = 33334; u.RG8I = 33335; u.RG8UI = 33336; u.RG16I = 33337; u.RG16UI = 33338; u.RG32I = 33339; u.RG32UI = 33340; u.R8_SNORM = 36756; u.RG8_SNORM = 36757; u.RGB8_SNORM = 36758; u.RGBA8_SNORM = 36759; u.RGB10_A2UI = 36975; u.TEXTURE_IMMUTABLE_FORMAT = 37167; u.TEXTURE_IMMUTABLE_LEVELS = 33503; u.UNSIGNED_INT_2_10_10_10_REV = 33640; u.UNSIGNED_INT_10F_11F_11F_REV = 35899; u.UNSIGNED_INT_5_9_9_9_REV = 35902; u.FLOAT_32_UNSIGNED_INT_24_8_REV = 36269; u.UNSIGNED_INT_24_8 = 34042; u.HALF_FLOAT = 5131; u.RG = 33319; u.RG_INTEGER = 33320; u.INT_2_10_10_10_REV = 36255; u.CURRENT_QUERY = 34917; u.QUERY_RESULT = 34918; u.QUERY_RESULT_AVAILABLE = 34919; u.ANY_SAMPLES_PASSED = 35887; u.ANY_SAMPLES_PASSED_CONSERVATIVE = 36202; u.MAX_DRAW_BUFFERS = 34852; u.DRAW_BUFFER0 = 34853; u.DRAW_BUFFER1 = 34854; u.DRAW_BUFFER2 = 34855; u.DRAW_BUFFER3 = 34856; u.DRAW_BUFFER4 = 34857; u.DRAW_BUFFER5 = 34858; u.DRAW_BUFFER6 = 34859; u.DRAW_BUFFER7 = 34860; u.DRAW_BUFFER8 = 34861; u.DRAW_BUFFER9 = 34862; u.DRAW_BUFFER10 = 34863; u.DRAW_BUFFER11 = 34864; u.DRAW_BUFFER12 = 34865; u.DRAW_BUFFER13 = 34866; u.DRAW_BUFFER14 = 34867; u.DRAW_BUFFER15 = 34868; u.MAX_COLOR_ATTACHMENTS = 36063; u.COLOR_ATTACHMENT1 = 36065; u.COLOR_ATTACHMENT2 = 36066; u.COLOR_ATTACHMENT3 = 36067; u.COLOR_ATTACHMENT4 = 36068; u.COLOR_ATTACHMENT5 = 36069; u.COLOR_ATTACHMENT6 = 36070; u.COLOR_ATTACHMENT7 = 36071; u.COLOR_ATTACHMENT8 = 36072; u.COLOR_ATTACHMENT9 = 36073; u.COLOR_ATTACHMENT10 = 36074; u.COLOR_ATTACHMENT11 = 36075; u.COLOR_ATTACHMENT12 = 36076; u.COLOR_ATTACHMENT13 = 36077; u.COLOR_ATTACHMENT14 = 36078; u.COLOR_ATTACHMENT15 = 36079; u.SAMPLER_3D = 35679; u.SAMPLER_2D_SHADOW = 35682; u.SAMPLER_2D_ARRAY = 36289; u.SAMPLER_2D_ARRAY_SHADOW = 36292; u.SAMPLER_CUBE_SHADOW = 36293; u.INT_SAMPLER_2D = 36298; u.INT_SAMPLER_3D = 36299; u.INT_SAMPLER_CUBE = 36300; u.INT_SAMPLER_2D_ARRAY = 36303; u.UNSIGNED_INT_SAMPLER_2D = 36306; u.UNSIGNED_INT_SAMPLER_3D = 36307; u.UNSIGNED_INT_SAMPLER_CUBE = 36308; u.UNSIGNED_INT_SAMPLER_2D_ARRAY = 36311; u.MAX_SAMPLES = 36183; u.SAMPLER_BINDING = 35097; u.PIXEL_PACK_BUFFER = 35051; u.PIXEL_UNPACK_BUFFER = 35052; u.PIXEL_PACK_BUFFER_BINDING = 35053; u.PIXEL_UNPACK_BUFFER_BINDING = 35055; u.COPY_READ_BUFFER = 36662; u.COPY_WRITE_BUFFER = 36663; u.COPY_READ_BUFFER_BINDING = 36662; u.COPY_WRITE_BUFFER_BINDING = 36663; u.FLOAT_MAT2x3 = 35685; u.FLOAT_MAT2x4 = 35686; u.FLOAT_MAT3x2 = 35687; u.FLOAT_MAT3x4 = 35688; u.FLOAT_MAT4x2 = 35689; u.FLOAT_MAT4x3 = 35690; u.UNSIGNED_INT_VEC2 = 36294; u.UNSIGNED_INT_VEC3 = 36295; u.UNSIGNED_INT_VEC4 = 36296; u.UNSIGNED_NORMALIZED = 35863; u.SIGNED_NORMALIZED = 36764; u.VERTEX_ATTRIB_ARRAY_INTEGER = 35069; u.VERTEX_ATTRIB_ARRAY_DIVISOR = 35070; u.TRANSFORM_FEEDBACK_BUFFER_MODE = 35967; u.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 35968; u.TRANSFORM_FEEDBACK_VARYINGS = 35971; u.TRANSFORM_FEEDBACK_BUFFER_START = 35972; u.TRANSFORM_FEEDBACK_BUFFER_SIZE = 35973; u.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 35976; u.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 35978; u.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 35979; u.INTERLEAVED_ATTRIBS = 35980; u.SEPARATE_ATTRIBS = 35981; u.TRANSFORM_FEEDBACK_BUFFER = 35982; u.TRANSFORM_FEEDBACK_BUFFER_BINDING = 35983; u.TRANSFORM_FEEDBACK = 36386; u.TRANSFORM_FEEDBACK_PAUSED = 36387; u.TRANSFORM_FEEDBACK_ACTIVE = 36388; u.TRANSFORM_FEEDBACK_BINDING = 36389; u.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 33296; u.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 33297; u.FRAMEBUFFER_ATTACHMENT_RED_SIZE = 33298; u.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 33299; u.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 33300; u.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 33301; u.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 33302; u.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 33303; u.FRAMEBUFFER_DEFAULT = 33304; u.DEPTH24_STENCIL8 = 35056; u.DRAW_FRAMEBUFFER_BINDING = 36006; u.READ_FRAMEBUFFER = 36008; u.DRAW_FRAMEBUFFER = 36009; u.READ_FRAMEBUFFER_BINDING = 36010; u.RENDERBUFFER_SAMPLES = 36011; u.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 36052; u.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 36182; u.UNIFORM_BUFFER = 35345; u.UNIFORM_BUFFER_BINDING = 35368; u.UNIFORM_BUFFER_START = 35369; u.UNIFORM_BUFFER_SIZE = 35370; u.MAX_VERTEX_UNIFORM_BLOCKS = 35371; u.MAX_FRAGMENT_UNIFORM_BLOCKS = 35373; u.MAX_COMBINED_UNIFORM_BLOCKS = 35374; u.MAX_UNIFORM_BUFFER_BINDINGS = 35375; u.MAX_UNIFORM_BLOCK_SIZE = 35376; u.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 35377; u.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 35379; u.UNIFORM_BUFFER_OFFSET_ALIGNMENT = 35380; u.ACTIVE_UNIFORM_BLOCKS = 35382; u.UNIFORM_TYPE = 35383; u.UNIFORM_SIZE = 35384; u.UNIFORM_BLOCK_INDEX = 35386; u.UNIFORM_OFFSET = 35387; u.UNIFORM_ARRAY_STRIDE = 35388; u.UNIFORM_MATRIX_STRIDE = 35389; u.UNIFORM_IS_ROW_MAJOR = 35390; u.UNIFORM_BLOCK_BINDING = 35391; u.UNIFORM_BLOCK_DATA_SIZE = 35392; u.UNIFORM_BLOCK_ACTIVE_UNIFORMS = 35394; u.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 35395; u.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 35396; u.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 35398; u.OBJECT_TYPE = 37138; u.SYNC_CONDITION = 37139; u.SYNC_STATUS = 37140; u.SYNC_FLAGS = 37141; u.SYNC_FENCE = 37142; u.SYNC_GPU_COMMANDS_COMPLETE = 37143; u.UNSIGNALED = 37144; u.SIGNALED = 37145; u.ALREADY_SIGNALED = 37146; u.TIMEOUT_EXPIRED = 37147; u.CONDITION_SATISFIED = 37148; u.WAIT_FAILED = 37149; u.SYNC_FLUSH_COMMANDS_BIT = 1; u.COLOR = 6144; u.DEPTH = 6145; u.STENCIL = 6146; u.MIN = 32775; u.MAX = 32776; u.DEPTH_COMPONENT24 = 33190; u.STREAM_READ = 35041; u.STREAM_COPY = 35042; u.STATIC_READ = 35045; u.STATIC_COPY = 35046; u.DYNAMIC_READ = 35049; u.DYNAMIC_COPY = 35050; u.DEPTH_COMPONENT32F = 36012; u.DEPTH32F_STENCIL8 = 36013; u.INVALID_INDEX = -1; u.TIMEOUT_IGNORED = -1; u.MAX_CLIENT_WAIT_TIMEOUT_WEBGL = 37447; Kd.__identity = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]; ta.__identity = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]; xc.audioSources = []; xc.sourcesToRemove = []; Sj.ID = 0; I.NONE = 0; I.FALSE = 0; I.TRUE = 1; I.SOURCE_RELATIVE = 514; I.CONE_INNER_ANGLE = 4097; I.CONE_OUTER_ANGLE = 4098; I.PITCH = 4099; I.POSITION = 4100; I.DIRECTION = 4101; I.VELOCITY = 4102; I.LOOPING = 4103; I.BUFFER = 4105; I.GAIN = 4106; I.MIN_GAIN = 4109; I.MAX_GAIN = 4110; I.ORIENTATION = 4111; I.SOURCE_STATE = 4112; I.INITIAL = 4113; I.PLAYING = 4114; I.PAUSED = 4115; I.STOPPED = 4116; I.BUFFERS_QUEUED = 4117; I.BUFFERS_PROCESSED = 4118; I.REFERENCE_DISTANCE = 4128; I.ROLLOFF_FACTOR = 4129; I.CONE_OUTER_GAIN = 4130; I.MAX_DISTANCE = 4131; I.SEC_OFFSET = 4132; I.SAMPLE_OFFSET = 4133; I.BYTE_OFFSET = 4134; I.SOURCE_TYPE = 4135; I.STATIC = 4136; I.STREAMING = 4137; I.UNDETERMINED = 4144; I.FORMAT_MONO8 = 4352; I.FORMAT_MONO16 = 4353; I.FORMAT_STEREO8 = 4354; I.FORMAT_STEREO16 = 4355; I.FREQUENCY = 8193; I.BITS = 8194; I.CHANNELS = 8195; I.SIZE = 8196; I.NO_ERROR = 0; I.INVALID_NAME = 40961; I.INVALID_ENUM = 40962; I.INVALID_VALUE = 40963; I.INVALID_OPERATION = 40964; I.OUT_OF_MEMORY = 40965; I.VENDOR = 45057; I.VERSION = 45058; I.RENDERER = 45059; I.EXTENSIONS = 45060; I.DOPPLER_FACTOR = 49152; I.SPEED_OF_SOUND = 49155; I.DOPPLER_VELOCITY = 49153; I.DISTANCE_MODEL = 53248; I.INVERSE_DISTANCE = 53249; I.INVERSE_DISTANCE_CLAMPED = 53250; I.LINEAR_DISTANCE = 53251; I.LINEAR_DISTANCE_CLAMPED = 53252; I.EXPONENT_DISTANCE = 53253; I.EXPONENT_DISTANCE_CLAMPED = 53254; I.METERS_PER_UNIT = 131076; I.DIRECT_FILTER = 131077; I.AUXILIARY_SEND_FILTER = 131078; I.AIR_ABSORPTION_FACTOR = 131079; I.ROOM_ROLLOFF_FACTOR = 131080; I.CONE_OUTER_GAINHF = 131081; I.DIRECT_FILTER_GAINHF_AUTO = 131082; I.AUXILIARY_SEND_FILTER_GAIN_AUTO = 131083; I.AUXILIARY_SEND_FILTER_GAINHF_AUTO = 131084; I.REVERB_DENSITY = 1; I.REVERB_DIFFUSION = 2; I.REVERB_GAIN = 3; I.REVERB_GAINHF = 4; I.REVERB_DECAY_TIME = 5; I.REVERB_DECAY_HFRATIO = 6; I.REVERB_REFLECTIONS_GAIN = 7; I.REVERB_REFLECTIONS_DELAY = 8; I.REVERB_LATE_REVERB_GAIN = 9; I.REVERB_LATE_REVERB_DELAY = 10; I.REVERB_AIR_ABSORPTION_GAINHF = 11; I.REVERB_ROOM_ROLLOFF_FACTOR = 12; I.REVERB_DECAY_HFLIMIT = 13; I.EAXREVERB_DENSITY = 1; I.EAXREVERB_DIFFUSION = 2; I.EAXREVERB_GAIN = 3; I.EAXREVERB_GAINHF = 4; I.EAXREVERB_GAINLF = 5; I.EAXREVERB_DECAY_TIME = 6; I.EAXREVERB_DECAY_HFRATIO = 7; I.EAXREVERB_DECAY_LFRATIO = 8; I.EAXREVERB_REFLECTIONS_GAIN = 9; I.EAXREVERB_REFLECTIONS_DELAY = 10; I.EAXREVERB_REFLECTIONS_PAN = 11; I.EAXREVERB_LATE_REVERB_GAIN = 12; I.EAXREVERB_LATE_REVERB_DELAY = 13; I.EAXREVERB_LATE_REVERB_PAN = 14; I.EAXREVERB_ECHO_TIME = 15; I.EAXREVERB_ECHO_DEPTH = 16; I.EAXREVERB_MODULATION_TIME = 17; I.EAXREVERB_MODULATION_DEPTH = 18; I.EAXREVERB_AIR_ABSORPTION_GAINHF = 19; I.EAXREVERB_HFREFERENCE = 20; I.EAXREVERB_LFREFERENCE = 21; I.EAXREVERB_ROOM_ROLLOFF_FACTOR = 22; I.EAXREVERB_DECAY_HFLIMIT = 23; I.CHORUS_WAVEFORM = 1; I.CHORUS_PHASE = 2; I.CHORUS_RATE = 3; I.CHORUS_DEPTH = 4; I.CHORUS_FEEDBACK = 5; I.CHORUS_DELAY = 6; I.DISTORTION_EDGE = 1; I.DISTORTION_GAIN = 2; I.DISTORTION_LOWPASS_CUTOFF = 3; I.DISTORTION_EQCENTER = 4; I.DISTORTION_EQBANDWIDTH = 5; I.ECHO_DELAY = 1; I.ECHO_LRDELAY = 2; I.ECHO_DAMPING = 3; I.ECHO_FEEDBACK = 4; I.ECHO_SPREAD = 5; I.FLANGER_WAVEFORM = 1; I.FLANGER_PHASE = 2; I.FLANGER_RATE = 3; I.FLANGER_DEPTH = 4; I.FLANGER_FEEDBACK = 5; I.FLANGER_DELAY = 6; I.FREQUENCY_SHIFTER_FREQUENCY = 1; I.FREQUENCY_SHIFTER_LEFT_DIRECTION = 2; I.FREQUENCY_SHIFTER_RIGHT_DIRECTION = 3; I.VOCAL_MORPHER_PHONEMEA = 1; I.VOCAL_MORPHER_PHONEMEA_COARSE_TUNING = 2; I.VOCAL_MORPHER_PHONEMEB = 3; I.VOCAL_MORPHER_PHONEMEB_COARSE_TUNING = 4; I.VOCAL_MORPHER_WAVEFORM = 5; I.VOCAL_MORPHER_RATE = 6; I.PITCH_SHIFTER_COARSE_TUNE = 1; I.PITCH_SHIFTER_FINE_TUNE = 2; I.RING_MODULATOR_FREQUENCY = 1; I.RING_MODULATOR_HIGHPASS_CUTOFF = 2; I.RING_MODULATOR_WAVEFORM = 3; I.AUTOWAH_ATTACK_TIME = 1; I.AUTOWAH_RELEASE_TIME = 2; I.AUTOWAH_RESONANCE = 3; I.AUTOWAH_PEAK_GAIN = 4; I.COMPRESSOR_ONOFF = 1; I.EQUALIZER_LOW_GAIN = 1; I.EQUALIZER_LOW_CUTOFF = 2; I.EQUALIZER_MID1_GAIN = 3; I.EQUALIZER_MID1_CENTER = 4; I.EQUALIZER_MID1_WIDTH = 5; I.EQUALIZER_MID2_GAIN = 6; I.EQUALIZER_MID2_CENTER = 7; I.EQUALIZER_MID2_WIDTH = 8; I.EQUALIZER_HIGH_GAIN = 9; I.EQUALIZER_HIGH_CUTOFF = 10; I.EFFECT_FIRST_PARAMETER = 0; I.EFFECT_LAST_PARAMETER = 32768; I.EFFECT_TYPE = 32769; I.EFFECT_NULL = 0; I.EFFECT_EAXREVERB = 32768; I.EFFECT_REVERB = 1; I.EFFECT_CHORUS = 2; I.EFFECT_DISTORTION = 3; I.EFFECT_ECHO = 4; I.EFFECT_FLANGER = 5; I.EFFECT_FREQUENCY_SHIFTER = 6; I.EFFECT_VOCAL_MORPHER = 7; I.EFFECT_PITCH_SHIFTER = 8; I.EFFECT_RING_MODULATOR = 9; I.FFECT_AUTOWAH = 10; I.EFFECT_COMPRESSOR = 11; I.EFFECT_EQUALIZER = 12; I.EFFECTSLOT_EFFECT = 1; I.EFFECTSLOT_GAIN = 2; I.EFFECTSLOT_AUXILIARY_SEND_AUTO = 3; I.LOWPASS_GAIN = 1; I.LOWPASS_GAINHF = 2; I.HIGHPASS_GAIN = 1; I.HIGHPASS_GAINLF = 2; I.BANDPASS_GAIN = 1; I.BANDPASS_GAINLF = 2; I.BANDPASS_GAINHF = 3; I.FILTER_FIRST_PARAMETER = 0; I.FILTER_LAST_PARAMETER = 32768; I.FILTER_TYPE = 32769; I.FILTER_NULL = 0; I.FILTER_LOWPASS = 1; I.FILTER_HIGHPASS = 2; I.FILTER_BANDPASS = 3; Hb.FALSE = 0; Hb.TRUE = 1; Hb.FREQUENCY = 4103; Hb.REFRESH = 4104; Hb.SYNC = 4105; Hb.MONO_SOURCES = 4112; Hb.STEREO_SOURCES = 4113; Hb.NO_ERROR = 0; Hb.INVALID_DEVICE = 40961; Hb.INVALID_CONTEXT = 40962; Hb.INVALID_ENUM = 40963; Hb.INVALID_VALUE = 40964; Hb.OUT_OF_MEMORY = 40965; Hb.ATTRIBUTES_SIZE = 4098; Hb.ALL_ATTRIBUTES = 4099; Hb.DEFAULT_DEVICE_SPECIFIER = 4100; Hb.DEVICE_SPECIFIER = 4101; Hb.EXTENSIONS = 4102; Hb.ENUMERATE_ALL_EXT = 1; Hb.DEFAULT_ALL_DEVICES_SPECIFIER = 4114; Hb.ALL_DEVICES_SPECIFIER = 4115; je.onUpdate = new Ld(); we.alreadyCreated = new qa(); we.initialized = !1; Of.sensorByID = new Ya(); Of.sensors = []; Ua.__directories = new Ya(); Jd.devices = new Ya(); Jd.onConnect = new Ko(); zc.devices = new Ya(); zc.onConnect = new Lo(); eg.CENTER = 0; eg.DOWN = 4; eg.LEFT = 8; eg.RIGHT = 2; eg.UP = 1; eg.DOWN_LEFT = 12; eg.DOWN_RIGHT = 6; eg.UP_LEFT = 9; eg.UP_RIGHT = 3; Cb.NONE = 0; Cb.LEFT_SHIFT = 1; Cb.RIGHT_SHIFT = 2; Cb.LEFT_CTRL = 64; Cb.RIGHT_CTRL = 128; Cb.LEFT_ALT = 256; Cb.RIGHT_ALT = 512; Cb.LEFT_META = 1024; Cb.RIGHT_META = 2048; Cb.NUM_LOCK = 4096; Cb.CAPS_LOCK = 8192; Cb.MODE = 16384; Cb.CTRL = 192; Cb.SHIFT = 3; Cb.ALT = 768; Cb.META = 3072; nd.onCancel = new Li(); nd.onEnd = new Li(); nd.onMove = new Li(); nd.onStart = new Li(); sa.cache = new So(); sa.onChange = new Ld(); sa.bundlePaths = new qa(); sa.libraries = new qa(); sa.libraryPaths = new qa(); Xg.BYTES_PER_ELEMENT = 4; Va.throwErrors = !0; zz.VERSION = 2; Oa.__lastTimerID = 0; Oa.__sentWarnings = new qa(); Oa.__timers = new Ya(); $g.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; Cf.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] }, fields: { toJSON: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; Ef.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] }, fields: { toJSON: { SuppressWarnings: ['checkstyle:Dynamic'] }, _: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; Ff.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] }, fields: { toJSON: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; Df.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] }, fields: { toJSON: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; of.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] }, fields: { concat: { SuppressWarnings: ['checkstyle:Dynamic'] }, toJSON: { SuppressWarnings: ['checkstyle:Dynamic'] }, _: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; jj.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; la.__meta__ = { fields: { image: { SuppressWarnings: ['checkstyle:Dynamic'] }, __framebufferContext: { SuppressWarnings: ['checkstyle:Dynamic'] }, __indexBufferContext: { SuppressWarnings: ['checkstyle:Dynamic'] }, __surface: { SuppressWarnings: ['checkstyle:Dynamic'] }, __textureContext: { SuppressWarnings: ['checkstyle:Dynamic'] }, __vertexBufferContext: { SuppressWarnings: ['checkstyle:Dynamic'] }, compare: { SuppressWarnings: ['checkstyle:Dynamic'] }, getSurface: { SuppressWarnings: ['checkstyle:Dynamic'] }, __fromImage: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; la.VERTEX_BUFFER_STRIDE = 14; la.__tempVector = new Xd(); Qe.__meta__ = { fields: { __context: { SuppressWarnings: ['checkstyle:Dynamic'] }, __type: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; Bm.__meta__ = { fields: { cairo: { SuppressWarnings: ['checkstyle:Dynamic'] }, __matrix3: { SuppressWarnings: ['checkstyle:Dynamic'] }, applyMatrix: { SuppressWarnings: ['checkstyle:Dynamic'] }, __setBlendModeCairo: { SuppressWarnings: ['checkstyle:Dynamic'] }, _: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; Cg.__meta__ = { fields: { context: { SuppressWarnings: ['checkstyle:Dynamic'] }, applySmoothing: { SuppressWarnings: ['checkstyle:Dynamic'] }, setTransform: { SuppressWarnings: ['checkstyle:Dynamic'] }, __setBlendModeContext: { SuppressWarnings: ['checkstyle:Dynamic'] }, _: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; iz.NONE = 0; iz.ROUND = 1; iz.SQUARE = 2; Fm.__meta__ = { fields: { __element: { SuppressWarnings: ['checkstyle:Dynamic'] }, _: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; Oi.__meta__ = { fields: { element: { SuppressWarnings: ['checkstyle:Dynamic'] }, applyStyle: { SuppressWarnings: ['checkstyle:Dynamic'] }, clearStyle: { SuppressWarnings: ['checkstyle:Dynamic'] }, _: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; af.__meta__ = { fields: { glProgram: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; Se.__meta__ = { fields: { overrideBlendMode: { SuppressWarnings: ['checkstyle:FieldDocComment'] } } }; Qi.SIN45 = 0.7071067811865476; Qi.TAN22 = 0.41421356237309503; lz.BEVEL = 0; lz.MITER = 1; lz.ROUND = 2; Ej.__meta__ = { fields: { BitmapData_onError: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; fg.__meta__ = { statics: { create: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }, fields: { parameters: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; fg.__rootURL = Wg.get_supported() ? window.document.URL : ''; Ib.__meta__ = { fields: { gl: { SuppressWarnings: ['checkstyle:Dynamic'] }, __gl: { SuppressWarnings: ['checkstyle:Dynamic'] }, __matrix: { SuppressWarnings: ['checkstyle:Dynamic'] }, __projection: { SuppressWarnings: ['checkstyle:Dynamic'] }, __projectionFlipped: { SuppressWarnings: ['checkstyle:Dynamic'] }, getMatrix: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; Ib.__alphaValue = [1]; Ib.__colorMultipliersValue = [0, 0, 0, 0]; Ib.__colorOffsetsValue = [0, 0, 0, 0]; Ib.__defaultColorMultipliersValue = [1, 1, 1, 1]; Ib.__emptyColorValue = [0, 0, 0, 0]; Ib.__emptyAlphaValue = [1]; Ib.__hasColorTransformValue = [!1]; Ib.__scissorRectangle = new ea(); Ib.__textureSizeValue = [0, 0]; Zo.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] }, fields: { onComplete: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; Vm.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; Im.__meta__ = { fields: { index: { SuppressWarnings: ['checkstyle:Dynamic'] }, name: { SuppressWarnings: ['checkstyle:FieldDocComment'] } } }; Pi.__meta__ = { fields: { index: { SuppressWarnings: ['checkstyle:Dynamic'] }, name: { SuppressWarnings: ['checkstyle:FieldDocComment'] } } }; Ti.__meta__ = { fields: { __broadcastEvent: { SuppressWarnings: ['checkstyle:Dynamic'] }, __dispatchEvent: { SuppressWarnings: [['checkstyle:Dynamic', 'checkstyle:LeftCurly']] }, __dispatchStack: { SuppressWarnings: [['checkstyle:Dynamic', 'checkstyle:LeftCurly']] }, __dispatchTarget: { SuppressWarnings: ['checkstyle:Dynamic'] }, __handleError: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; ig.__meta__ = { fields: { data: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; Wm.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; Xj.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] }, fields: { _: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; Wi.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; Xm.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; Ym.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; Zm.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; $m.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; an.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; ei.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] }, statics: { renderTileContainer: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; Ni.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; Ch.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; Be.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] }, fields: { o: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; Be.empty = new Be(); D.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] }, statics: { windingRule: { SuppressWarnings: ['checkstyle:Dynamic'] }, createBitmapFill: { SuppressWarnings: ['checkstyle:Dynamic'] }, createGradientPattern: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; D.SIN45 = 0.7071067811865476; D.TAN22 = 0.41421356237309503; D.fillCommands = new Be(); D.strokeCommands = new Be(); qz.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; U.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; Uf.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] }, statics: { renderTileContainer: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; $h.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; uf.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; Eh.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; Eh.MAX_INDEX_BUFFER_LENGTH = 65535; Eh.MAX_QUADS_PER_INDEX_BUFFER = 10922; Eh.MAX_QUAD_INDEX_BUFFER_LENGTH = 65532; bh.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; Pc.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; Pc.blankBitmapData = new la(1, 1, !1, 0); Pc.tempColorTransform = new Kc(1, 1, 1, 1, 0, 0, 0, 0); ai.opaqueBitmapData = new la(1, 1, !1, 0); Zf.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; ch.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; da.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; vf.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; vf.__textureSizeValue = [0, 0]; Qc.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; Vf.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; mf.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; ac.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; ac.__regexColor = new Ja('color=("#([^"]+)"|\'#([^\']+)\')', 'i'); ac.__regexFace = new Ja('face=("([^"]+)"|\'([^\']+)\')', 'i'); ac.__regexFont = new Ja(']+)>', 'gi'); ac.__regexCloseFont = new Ja('', 'gi'); ac.__regexSize = new Ja('size=("([^"]+)"|\'([^\']+)\')', 'i'); Dg.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; ah.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; Wf.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] }, fields: { obj: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; Fh.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; fi.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; fi.alphaColorTransform = new Kc(); fi.bitmap = new rc(); fi.destPoint = new na(); fi.sourceRect = new ea(); Zh.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] }, statics: { P: { SuppressWarnings: ['checkstyle:ConstantName'] } } }; Zh.P = [ 151, 160, 137, 91, 90, 15, 131, 13, 201, 95, 96, 53, 194, 233, 7, 225, 140, 36, 103, 30, 69, 142, 8, 99, 37, 240, 21, 10, 23, 190, 6, 148, 247, 120, 234, 75, 0, 26, 197, 62, 94, 252, 219, 203, 117, 35, 11, 32, 57, 177, 33, 88, 237, 149, 56, 87, 174, 20, 125, 136, 171, 168, 68, 175, 74, 165, 71, 134, 139, 48, 27, 166, 77, 146, 158, 231, 83, 111, 229, 122, 60, 211, 133, 230, 220, 105, 92, 41, 55, 46, 245, 40, 244, 102, 143, 54, 65, 25, 63, 161, 1, 216, 80, 73, 209, 76, 132, 187, 208, 89, 18, 169, 200, 196, 135, 130, 116, 188, 159, 86, 164, 100, 109, 198, 173, 186, 3, 64, 52, 217, 226, 250, 124, 123, 5, 202, 38, 147, 118, 126, 255, 82, 85, 212, 207, 206, 59, 227, 47, 16, 58, 17, 182, 189, 28, 42, 223, 183, 170, 213, 119, 248, 152, 2, 44, 154, 163, 70, 221, 153, 101, 155, 167, 43, 172, 9, 129, 22, 39, 253, 19, 98, 108, 110, 79, 113, 224, 232, 178, 185, 112, 104, 218, 246, 97, 228, 251, 34, 242, 193, 238, 210, 144, 12, 191, 179, 162, 241, 81, 51, 145, 235, 249, 14, 239, 107, 49, 192, 214, 31, 181, 199, 106, 157, 184, 84, 204, 176, 115, 121, 50, 45, 127, 4, 150, 254, 138, 236, 205, 93, 222, 114, 67, 29, 24, 72, 243, 141, 128, 195, 78, 66, 215, 61, 156, 180, 151, 160, 137, 91, 90, 15, 131, 13, 201, 95, 96, 53, 194, 233, 7, 225, 140, 36, 103, 30, 69, 142, 8, 99, 37, 240, 21, 10, 23, 190, 6, 148, 247, 120, 234, 75, 0, 26, 197, 62, 94, 252, 219, 203, 117, 35, 11, 32, 57, 177, 33, 88, 237, 149, 56, 87, 174, 20, 125, 136, 171, 168, 68, 175, 74, 165, 71, 134, 139, 48, 27, 166, 77, 146, 158, 231, 83, 111, 229, 122, 60, 211, 133, 230, 220, 105, 92, 41, 55, 46, 245, 40, 244, 102, 143, 54, 65, 25, 63, 161, 1, 216, 80, 73, 209, 76, 132, 187, 208, 89, 18, 169, 200, 196, 135, 130, 116, 188, 159, 86, 164, 100, 109, 198, 173, 186, 3, 64, 52, 217, 226, 250, 124, 123, 5, 202, 38, 147, 118, 126, 255, 82, 85, 212, 207, 206, 59, 227, 47, 16, 58, 17, 182, 189, 28, 42, 223, 183, 170, 213, 119, 248, 152, 2, 44, 154, 163, 70, 221, 153, 101, 155, 167, 43, 172, 9, 129, 22, 39, 253, 19, 98, 108, 110, 79, 113, 224, 232, 178, 185, 112, 104, 218, 246, 97, 228, 251, 34, 242, 193, 238, 210, 144, 12, 191, 179, 162, 241, 81, 51, 145, 235, 249, 14, 239, 107, 49, 192, 214, 31, 181, 199, 106, 157, 184, 84, 204, 176, 115, 121, 50, 45, 127, 4, 150, 254, 138, 236, 205, 93, 222, 114, 67, 29, 24, 72, 243, 141, 128, 195, 78, 66, 215, 61, 156, 180 ]; Tg.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; Km.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] }, fields: { overrideIntValues: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; Yb.supportsVideoTexture = !0; Yb.__glDepthStencil = -1; Yb.__glMaxTextureMaxAnisotropy = -1; Yb.__glMaxViewportDims = -1; Yb.__glMemoryCurrentAvailable = -1; Yb.__glMemoryTotalAvailable = -1; Yb.__glTextureMaxAnisotropy = -1; rz.DYNAMIC_DRAW = 0; rz.STATIC_DRAW = 1; sz.FRAGMENT = 0; sz.VERTEX = 1; bk.BGR_PACKED = 0; bk.BGRA = 1; bk.BGRA_PACKED = 2; bk.COMPRESSED = 3; bk.COMPRESSED_ALPHA = 4; bk.RGBA_HALF_FLOAT = 5; dn.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; ck.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; Ce.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; Ce.limitedProfile = !0; Yi.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; en.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; Zi.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; hi.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; dk.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; Zj.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; bc.__meta__ = { fields: { __textureContext: { SuppressWarnings: ['checkstyle:Dynamic'] }, __getGLFramebuffer: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; gi.__lowMemoryMode = !1; cd.DEFAULT_TO_STRING = 'Error'; fh.ACTIVITY = 'activity'; bf.LINK = 'link'; bf.TEXT_INPUT = 'textInput'; Re.ERROR = 'error'; lj.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; kj.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; Yf.FOCUS_IN = 'focusIn'; Yf.FOCUS_OUT = 'focusOut'; Yf.KEY_FOCUS_CHANGE = 'keyFocusChange'; Yf.MOUSE_FOCUS_CHANGE = 'mouseFocusChange'; dh.FULL_SCREEN = 'fullScreen'; dh.FULL_SCREEN_INTERACTIVE_ACCEPTED = 'fullScreenInteractiveAccepted'; Gg.DEVICE_ADDED = 'deviceAdded'; Gg.DEVICE_REMOVED = 'deviceRemoved'; Gg.DEVICE_UNUSABLE = 'deviceUnusable'; ii.HTTP_RESPONSE_STATUS = 'httpResponseStatus'; ii.HTTP_STATUS = 'httpStatus'; qg.IO_ERROR = 'ioError'; ci.KEY_DOWN = 'keyDown'; ci.KEY_UP = 'keyUp'; Mb.CLICK = 'click'; Mb.DOUBLE_CLICK = 'doubleClick'; Mb.MIDDLE_CLICK = 'middleClick'; Mb.MIDDLE_MOUSE_DOWN = 'middleMouseDown'; Mb.MIDDLE_MOUSE_UP = 'middleMouseUp'; Mb.MOUSE_DOWN = 'mouseDown'; Mb.MOUSE_MOVE = 'mouseMove'; Mb.MOUSE_OUT = 'mouseOut'; Mb.MOUSE_OVER = 'mouseOver'; Mb.MOUSE_UP = 'mouseUp'; Mb.MOUSE_WHEEL = 'mouseWheel'; Mb.RELEASE_OUTSIDE = 'releaseOutside'; Mb.RIGHT_CLICK = 'rightClick'; Mb.RIGHT_MOUSE_DOWN = 'rightMouseDown'; Mb.RIGHT_MOUSE_UP = 'rightMouseUp'; Mb.ROLL_OUT = 'rollOut'; Mb.ROLL_OVER = 'rollOver'; ji.NET_STATUS = 'netStatus'; Eg.PROGRESS = 'progress'; Eg.SOCKET_DATA = 'socketData'; ug.CLEAR_DOM = 'clearDOM'; ug.RENDER_CAIRO = 'renderCairo'; ug.RENDER_CANVAS = 'renderCanvas'; ug.RENDER_DOM = 'renderDOM'; ug.RENDER_OPENGL = 'renderOpenGL'; aj.SECURITY_ERROR = 'securityError'; Vd.__meta__ = { fields: { delta: { SuppressWarnings: ['checkstyle:FieldDocComment'] } } }; Vd.TOUCH_BEGIN = 'touchBegin'; Vd.TOUCH_END = 'touchEnd'; Vd.TOUCH_MOVE = 'touchMove'; Vd.TOUCH_OUT = 'touchOut'; Vd.TOUCH_OVER = 'touchOver'; Vd.TOUCH_ROLL_OUT = 'touchRollOut'; Vd.TOUCH_ROLL_OVER = 'touchRollOver'; Vd.TOUCH_TAP = 'touchTap'; Ui.UNCAUGHT_ERROR = 'uncaughtError'; ek.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; hg.__colorMatrixShader = new ek(); be.__meta__ = { statics: { create2D: { SuppressWarnings: ['checkstyle:FieldDocComment'] }, createABCD: { SuppressWarnings: ['checkstyle:FieldDocComment'] }, createOrtho: { SuppressWarnings: ['checkstyle:FieldDocComment'] } } }; sd.MAX_ACTIVE_CHANNELS = 32; sd.__soundChannels = []; sd.__soundTransform = new hf(); gn.VERTEX_BUFFER_STRIDE = 5; fk.__meta__ = { statics: { CONNECT_SUCCESS: { SuppressWarnings: ['checkstyle:FieldDocComment'] } } }; fk.CONNECT_SUCCESS = 'NetConnection.Connect.Success'; hn.__meta__ = { fields: { audioCodec: { SuppressWarnings: ['checkstyle:FieldDocComment'] }, decodedFrames: { SuppressWarnings: ['checkstyle:FieldDocComment'] }, speed: { SuppressWarnings: ['checkstyle:FieldDocComment'] }, requestVideoStatus: { SuppressWarnings: ['checkstyle:FieldDocComment'] } } }; ld.defaultObjectEncoding = 10; Gh.followRedirects = !0; Gh.idleTimeout = 0; Gh.manageCookies = !1; Ri.currentDomain = new Ri(null); wc.avHardwareDisable = !0; wc.hasAccessibility = !1; wc.hasAudio = !0; wc.hasAudioEncoder = !1; wc.hasEmbeddedVideo = !1; wc.hasIME = !1; wc.hasMP3 = !1; wc.hasPrinting = !0; wc.hasScreenBroadcast = !1; wc.hasScreenPlayback = !1; wc.hasStreamingAudio = !1; wc.hasStreamingVideo = !1; wc.hasTLS = !0; wc.hasVideoEncoder = !0; wc.isDebugger = !0; wc.isEmbeddedInAcrobat = !1; wc.localFileReadDisable = !0; wc.maxLevelIDC = 0; wc.playerType = 'PlugIn'; wc.screenColor = 'color'; wc.serverString = ''; wc.supports32BitProcesses = !1; wc.supports64BitProcesses = !1; wc.touchscreenType = 0; wc.__standardDensities = [120, 160, 240, 320, 480, 640, 800, 960]; gk.__meta__ = { obj: { SuppressWarnings: ['checkstyle:UnnecessaryConstructor'] } }; gk.currentDomain = new gk(); bg.useCodePage = !1; Rc.__fontByName = new qa(); Rc.__registeredFonts = []; We.__missingFontWarning = new qa(); Pg.__meta__ = { fields: { clone: { SuppressWarnings: ['checkstyle:FieldDocComment'] } } }; hk.CENTER = 0; hk.END = 1; hk.JUSTIFY = 2; hk.LEFT = 3; hk.RIGHT = 4; hk.START = 5; ip.__meta__ = { obj: { SuppressWarnings: [['checkstyle:FieldDocComment', 'checkstyle:Dynamic']] } }; zb.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; zb.__regexAlign = new Ja('align\\s?=\\s?("([^"]+)"|\'([^\']+)\')', 'i'); zb.__regexBreakTag = new Ja('', 'gi'); zb.__regexBlockIndent = new Ja('blockindent\\s?=\\s?("([^"]+)"|\'([^\']+)\')', 'i'); zb.__regexColor = new Ja('color\\s?=\\s?("#([^"]+)"|\'#([^\']+)\')', 'i'); zb.__regexEntities = [ new Ja('"', 'g'), new Ja(''', 'g'), new Ja('&', 'g'), new Ja('<', 'g'), new Ja('>', 'g'), new Ja(' ', 'g') ]; zb.__regexFace = new Ja('face\\s?=\\s?("([^"]+)"|\'([^\']+)\')', 'i'); zb.__regexHTMLTag = new Ja('<.*?>', 'g'); zb.__regexHref = new Ja('href\\s?=\\s?("([^"]+)"|\'([^\']+)\')', 'i'); zb.__regexIndent = new Ja(' indent\\s?=\\s?("([^"]+)"|\'([^\']+)\')', 'i'); zb.__regexLeading = new Ja('leading\\s?=\\s?("([^"]+)"|\'([^\']+)\')', 'i'); zb.__regexLeftMargin = new Ja('leftmargin\\s?=\\s?("([^"]+)"|\'([^\']+)\')', 'i'); zb.__regexRightMargin = new Ja('rightmargin\\s?=\\s?("([^"]+)"|\'([^\']+)\')', 'i'); zb.__regexSize = new Ja('size\\s?=\\s?("([^"]+)"|\'([^\']+)\')', 'i'); zb.__regexTabStops = new Ja('tabstops\\s?=\\s?("([^"]+)"|\'([^\']+)\')', 'i'); Qb.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] }, fields: { __cairoFont: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; Qb.GUTTER = 2; Qb.UTF8_TAB = 9; Qb.UTF8_ENDLINE = 10; Qb.UTF8_SPACE = 32; Qb.UTF8_HYPHEN = 45; Qb.__defaultFonts = new qa(); Td.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] }, fields: { glyphs: { SuppressWarnings: ['checkstyle:Dynamic'] }, __handle: { SuppressWarnings: ['checkstyle:Dynamic'] }, __hbBuffer: { SuppressWarnings: ['checkstyle:Dynamic'] }, __hbFont: { SuppressWarnings: ['checkstyle:Dynamic'] }, get_glyphs: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; Td.FT_LOAD_DEFAULT = 0; Td.FT_LOAD_NO_SCALE = 1; Td.FT_LOAD_NO_HINTING = 2; Td.FT_LOAD_RENDER = 4; Td.FT_LOAD_NO_BITMAP = 8; Td.FT_LOAD_VERTICAL_LAYOUT = 16; Td.FT_LOAD_FORCE_AUTOHINT = 32; Td.FT_LOAD_CROP_BITMAP = 64; Td.FT_LOAD_PEDANTIC = 128; Td.FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH = 256; Td.FT_LOAD_NO_RECURSE = 512; Td.FT_LOAD_IGNORE_TRANSFORM = 1024; Td.FT_LOAD_MONOCHROME = 2048; Td.FT_LOAD_LINEAR_DESIGN = 4096; Td.FT_LOAD_NO_AUTOHINT = 8192; Td.FT_LOAD_COLOR = 16384; Td.FT_LOAD_COMPUTE_METRICS = 32768; Td.FT_LOAD_BITMAP_METRICS_ONLY = 65536; Td.FT_LOAD_TARGET_NORMAL = 0; Td.FT_LOAD_TARGET_LIGHT = 0; jn.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; Xb.__meta__ = { fields: { addEventListener: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; Xb.isSupported = !0; Xb.numDevices = 0; Xb.__deviceList = []; Xb.__instances = []; Xb.__devices = new Jc(); kn.MAX_BUFFER_SIZE = 32e3; Fa.__meta__ = { statics: { BREAK: { SuppressWarnings: ['checkstyle:FieldDocComment'] }, NUMLOCK: { SuppressWarnings: ['checkstyle:FieldDocComment'] } } }; Fa.NUMBER_0 = 48; Fa.NUMBER_1 = 49; Fa.NUMBER_2 = 50; Fa.NUMBER_3 = 51; Fa.NUMBER_4 = 52; Fa.NUMBER_5 = 53; Fa.NUMBER_6 = 54; Fa.NUMBER_7 = 55; Fa.NUMBER_8 = 56; Fa.NUMBER_9 = 57; Fa.A = 65; Fa.B = 66; Fa.C = 67; Fa.D = 68; Fa.E = 69; Fa.F = 70; Fa.G = 71; Fa.H = 72; Fa.I = 73; Fa.J = 74; Fa.K = 75; Fa.L = 76; Fa.M = 77; Fa.N = 78; Fa.O = 79; Fa.P = 80; Fa.Q = 81; Fa.R = 82; Fa.S = 83; Fa.T = 84; Fa.U = 85; Fa.V = 86; Fa.W = 87; Fa.X = 88; Fa.Y = 89; Fa.Z = 90; Fa.NUMPAD_0 = 96; Fa.NUMPAD_1 = 97; Fa.NUMPAD_2 = 98; Fa.NUMPAD_3 = 99; Fa.NUMPAD_4 = 100; Fa.NUMPAD_5 = 101; Fa.NUMPAD_6 = 102; Fa.NUMPAD_7 = 103; Fa.NUMPAD_8 = 104; Fa.NUMPAD_9 = 105; Fa.NUMPAD_MULTIPLY = 106; Fa.NUMPAD_ADD = 107; Fa.NUMPAD_ENTER = 108; Fa.NUMPAD_SUBTRACT = 109; Fa.NUMPAD_DECIMAL = 110; Fa.NUMPAD_DIVIDE = 111; Fa.F1 = 112; Fa.F2 = 113; Fa.F3 = 114; Fa.F4 = 115; Fa.F5 = 116; Fa.F6 = 117; Fa.F7 = 118; Fa.F8 = 119; Fa.F9 = 120; Fa.F10 = 121; Fa.F11 = 122; Fa.F12 = 123; Fa.F13 = 124; Fa.F14 = 125; Fa.F15 = 126; Fa.BACKSPACE = 8; Fa.TAB = 9; Fa.ALTERNATE = 18; Fa.ENTER = 13; Fa.COMMAND = 15; Fa.SHIFT = 16; Fa.CONTROL = 17; Fa.BREAK = 19; Fa.CAPS_LOCK = 20; Fa.NUMPAD = 21; Fa.ESCAPE = 27; Fa.SPACE = 32; Fa.PAGE_UP = 33; Fa.PAGE_DOWN = 34; Fa.END = 35; Fa.HOME = 36; Fa.LEFT = 37; Fa.RIGHT = 39; Fa.UP = 38; Fa.DOWN = 40; Fa.INSERT = 45; Fa.DELETE = 46; Fa.NUMLOCK = 144; Fa.SEMICOLON = 186; Fa.EQUAL = 187; Fa.COMMA = 188; Fa.MINUS = 189; Fa.PERIOD = 190; Fa.SLASH = 191; Fa.BACKQUOTE = 192; Fa.LEFTBRACKET = 219; Fa.BACKSLASH = 220; Fa.RIGHTBRACKET = 221; Fa.QUOTE = 222; qe.supportsCursor = !0; qe.supportsNativeCursor = !0; qe.__cursor = 'auto'; wf.ARROW = 'arrow'; wf.AUTO = 'auto'; wf.BUTTON = 'button'; wf.HAND = 'hand'; wf.IBEAM = 'ibeam'; wf.__CROSSHAIR = 'crosshair'; wf.__CUSTOM = 'custom'; wf.__MOVE = 'move'; wf.__RESIZE_NESW = 'resize_nesw'; wf.__RESIZE_NS = 'resize_ns'; wf.__RESIZE_NWSE = 'resize_nwse'; wf.__RESIZE_WE = 'resize_we'; wf.__WAIT = 'wait'; wf.__WAIT_ARROW = 'waitarrow'; X.__meta__ = { obj: { SuppressWarnings: [['checkstyle:ConstantName', 'checkstyle:FieldDocComment']] } }; X.OPMAP = new qa(); X.REGMAP = new qa(); X.SAMPLEMAP = new qa(); X.MAX_NESTING = 4; X.MAX_OPCODES = 4096; X.FRAGMENT = 'fragment'; X.VERTEX = 'vertex'; X.SAMPLER_TYPE_SHIFT = 8; X.SAMPLER_DIM_SHIFT = 12; X.SAMPLER_SPECIAL_SHIFT = 16; X.SAMPLER_REPEAT_SHIFT = 20; X.SAMPLER_MIPMAP_SHIFT = 24; X.SAMPLER_FILTER_SHIFT = 28; X.REG_WRITE = 1; X.REG_READ = 2; X.REG_FRAG = 32; X.REG_VERT = 64; X.OP_SCALAR = 1; X.OP_SPECIAL_TEX = 8; X.OP_SPECIAL_MATRIX = 16; X.OP_FRAG_ONLY = 32; X.OP_VERT_ONLY = 64; X.OP_NO_DEST = 128; X.OP_VERSION2 = 256; X.OP_INCNEST = 512; X.OP_DECNEST = 1024; X.MOV = 'mov'; X.ADD = 'add'; X.SUB = 'sub'; X.MUL = 'mul'; X.DIV = 'div'; X.RCP = 'rcp'; X.MIN = 'min'; X.MAX = 'max'; X.FRC = 'frc'; X.SQT = 'sqt'; X.RSQ = 'rsq'; X.POW = 'pow'; X.LOG = 'log'; X.EXP = 'exp'; X.NRM = 'nrm'; X.SIN = 'sin'; X.COS = 'cos'; X.CRS = 'crs'; X.DP3 = 'dp3'; X.DP4 = 'dp4'; X.ABS = 'abs'; X.NEG = 'neg'; X.SAT = 'sat'; X.M33 = 'm33'; X.M44 = 'm44'; X.M34 = 'm34'; X.DDX = 'ddx'; X.DDY = 'ddy'; X.IFE = 'ife'; X.INE = 'ine'; X.IFG = 'ifg'; X.IFL = 'ifl'; X.IEG = 'ieg'; X.IEL = 'iel'; X.ELS = 'els'; X.EIF = 'eif'; X.TED = 'ted'; X.KIL = 'kil'; X.TEX = 'tex'; X.SGE = 'sge'; X.SLT = 'slt'; X.SGN = 'sgn'; X.SEQ = 'seq'; X.SNE = 'sne'; X.VA = 'va'; X.VC = 'vc'; X.VT = 'vt'; X.VO = 'vo'; X.VI = 'vi'; X.FC = 'fc'; X.FT = 'ft'; X.FS = 'fs'; X.FO = 'fo'; X.FD = 'fd'; X.IID = 'iid'; X.D2 = '2d'; X.D3 = '3d'; X.CUBE = 'cube'; X.MIPNEAREST = 'mipnearest'; X.MIPLINEAR = 'miplinear'; X.MIPNONE = 'mipnone'; X.NOMIP = 'nomip'; X.NEAREST = 'nearest'; X.LINEAR = 'linear'; X.ANISOTROPIC2X = 'anisotropic2x'; X.ANISOTROPIC4X = 'anisotropic4x'; X.ANISOTROPIC8X = 'anisotropic8x'; X.ANISOTROPIC16X = 'anisotropic16x'; X.CENTROID = 'centroid'; X.SINGLE = 'single'; X.IGNORESAMPLER = 'ignoresampler'; X.REPEAT = 'repeat'; X.WRAP = 'wrap'; X.CLAMP = 'clamp'; X.REPEAT_U_CLAMP_V = 'repeat_u_clamp_v'; X.CLAMP_U_REPEAT_V = 'clamp_u_repeat_v'; X.RGBA = 'rgba'; X.COMPRESSED = 'compressed'; X.COMPRESSEDALPHA = 'compressedalpha'; X.DXT1 = 'dxt1'; X.DXT5 = 'dxt5'; X.VIDEO = 'video'; X.initialized = !1; Zb.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; nf.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; Xc.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; Da.cache = new mn(); Da.dispatcher = new cb(); Bb.__bytePointer = new Tf(null, 0); nc.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; nc.defaultObjectEncoding = 10; fj.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; dj.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; ej.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; Az.BIG_ENDIAN = 0; Az.LITTLE_ENDIAN = 1; pn.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; qn.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] } }; Dc.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] }, statics: { notImplemented: { SuppressWarnings: ['checkstyle:NullableParameter'] } } }; Dc.__sentWarnings = new qa(); di.__meta__ = { obj: { SuppressWarnings: ['checkstyle:FieldDocComment'] }, fields: { touch: { SuppressWarnings: ['checkstyle:Dynamic'] } } }; di.__pool = new ud( function () { return new di(); }, function (a) { a.reset(); } ); Jg.VAL_ABSENT = -2147483648; Jg.EMPTY_SLOT = -1; Jg.NULL_POINTER = -1; tg.KEY_ABSENT = -2147483648; tg.VAL_ABSENT = -2147483648; tg.EMPTY_SLOT = -1; tg.NULL_POINTER = -1; $a.DEFAULT_PRECISION = 6; $a.DEFAULT_NUM_EXP_DIGITS = 2; $a._initialized = !1; $a.PAD_0 = 0; $a.PAD_SPACE = 20; Hg.FIXED = 0; Hg.MILD = -1; Hg.NORMAL = -2; Hg.DOUBLE = -3; Jb.PI = 3.141592653589793; Jb.PI_H = 1.5707963267948966; Jb.LN_2 = 0.6931471805599453; Jb.LN_2_10 = 6.931471805599453; Jb.overshoot = 1.70158; Jb.amplitude = 1; Jb.period = 3e-4; Aa.main(); })( 'undefined' != typeof A ? A : 'undefined' != typeof window ? window : 'undefined' != typeof self ? self : this, 'undefined' != typeof window ? window : 'undefined' != typeof K ? K : 'undefined' != typeof self ? self : this ); }; Q.lime.embed = function (V) { var K = {}, Y = Q.lime.$scripts[V]; if (!Y) throw Error('Cannot find project name "' + V + '"'); Y(K, A); for (var ia in K) Q[ia] = Q[ia] || K[ia]; (Y = K.lime || window.lime) && Y.embed && this != Y.embed && Y.embed.apply(Y, arguments); return K; }; 'function' == typeof define && define.amd && (define([], function () { return Q.lime; }), (define.__amd = define.amd), (define.amd = null)); })( 'undefined' != typeof exports ? exports : 'function' == typeof define && define.amd ? {} : 'undefined' != typeof window ? window : 'undefined' != typeof self ? self : this, 'undefined' != typeof window ? window : 'undefined' != typeof global ? global : 'undefined' != typeof self ? self : this ); !(function () { var Q = function () { this.init(); }; Q.prototype = { init: function () { var k = this || A; return ( (k._counter = 1e3), (k._html5AudioPool = []), (k.html5PoolSize = 10), (k._codecs = {}), (k._howls = []), (k._muted = !1), (k._volume = 1), (k._canPlayEvent = 'canplaythrough'), (k._navigator = 'undefined' != typeof window && window.navigator ? window.navigator : null), (k.masterGain = null), (k.noAudio = !1), (k.usingWebAudio = !0), (k.autoSuspend = !0), (k.ctx = null), (k.autoUnlock = !0), k._setup(), k ); }, volume: function (m) { var t = this || A; if (((m = parseFloat(m)), t.ctx || k(), void 0 !== m && 0 <= m && 1 >= m)) { if (((t._volume = m), t._muted)) return t; t.usingWebAudio && t.masterGain.gain.setValueAtTime(m, A.ctx.currentTime); for (var x = 0; x < t._howls.length; x++) if (!t._howls[x]._webAudio) for (var Aa = t._howls[x]._getSoundIds(), Ja = 0; Ja < Aa.length; Ja++) { var C = t._howls[x]._soundById(Aa[Ja]); C && C._node && (C._node.volume = C._volume * m); } return t; } return t._volume; }, mute: function (m) { var t = this || A; t.ctx || k(); t._muted = m; t.usingWebAudio && t.masterGain.gain.setValueAtTime(m ? 0 : t._volume, A.ctx.currentTime); for (var x = 0; x < t._howls.length; x++) if (!t._howls[x]._webAudio) for (var Aa = t._howls[x]._getSoundIds(), Ja = 0; Ja < Aa.length; Ja++) { var C = t._howls[x]._soundById(Aa[Ja]); C && C._node && (C._node.muted = !!m || C._muted); } return t; }, unload: function () { for (var m = this || A, t = m._howls.length - 1; 0 <= t; t--) m._howls[t].unload(); return ( m.usingWebAudio && m.ctx && void 0 !== m.ctx.close && (m.ctx.close(), (m.ctx = null), k()), m ); }, codecs: function (k) { return (this || A)._codecs[k.replace(/^x-/, '')]; }, _setup: function () { var k = this || A; if ( ((k.state = k.ctx ? k.ctx.state || 'suspended' : 'suspended'), k._autoSuspend(), !k.usingWebAudio) ) if ('undefined' != typeof Audio) try { var m = new Audio(); void 0 === m.oncanplaythrough && (k._canPlayEvent = 'canplay'); } catch (B) { k.noAudio = !0; } else k.noAudio = !0; try { (m = new Audio()), m.muted && (k.noAudio = !0); } catch (B) {} return k.noAudio || k._setupCodecs(), k; }, _setupCodecs: function () { var k = this || A, m = null; try { m = 'undefined' != typeof Audio ? new Audio() : null; } catch (Ja) { return k; } if (!m || 'function' != typeof m.canPlayType) return k; var t = m.canPlayType('audio/mpeg;').replace(/^no$/, ''), Aa = k._navigator && k._navigator.userAgent.match(/OPR\/([0-6].)/g); Aa = Aa && 33 > parseInt(Aa[0].split('/')[1], 10); return ( (k._codecs = { mp3: !(Aa || (!t && !m.canPlayType('audio/mp3;').replace(/^no$/, ''))), mpeg: !!t, opus: !!m.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/, ''), ogg: !!m.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/, ''), oga: !!m.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/, ''), wav: !!m.canPlayType('audio/wav; codecs="1"').replace(/^no$/, ''), aac: !!m.canPlayType('audio/aac;').replace(/^no$/, ''), caf: !!m.canPlayType('audio/x-caf;').replace(/^no$/, ''), m4a: !!( m.canPlayType('audio/x-m4a;') || m.canPlayType('audio/m4a;') || m.canPlayType('audio/aac;') ).replace(/^no$/, ''), mp4: !!( m.canPlayType('audio/x-mp4;') || m.canPlayType('audio/mp4;') || m.canPlayType('audio/aac;') ).replace(/^no$/, ''), weba: !!m.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/, ''), webm: !!m.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/, ''), dolby: !!m.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/, ''), flac: !!(m.canPlayType('audio/x-flac;') || m.canPlayType('audio/flac;')).replace( /^no$/, '' ) }), k ); }, _unlockAudio: function () { var k = this || A, m = /iPhone|iPad|iPod|Android|BlackBerry|BB10|Silk|Mobi|Chrome|Safari/i.test( k._navigator && k._navigator.userAgent ); if (!k._audioUnlocked && k.ctx && m) { k._audioUnlocked = !1; k.autoUnlock = !1; k._mobileUnloaded || 44100 === k.ctx.sampleRate || ((k._mobileUnloaded = !0), k.unload()); k._scratchBuffer = k.ctx.createBuffer(1, 1, 22050); var t = function (m) { for (m = 0; m < k.html5PoolSize; m++) { var x = new Audio(); x._unlocked = !0; k._releaseHtml5Audio(x); } for (m = 0; m < k._howls.length; m++) if (!k._howls[m]._webAudio) { x = k._howls[m]._getSoundIds(); for (var B = 0; B < x.length; B++) { var N = k._howls[m]._soundById(x[B]); N && N._node && !N._node._unlocked && ((N._node._unlocked = !0), N._node.load()); } } k._autoResume(); var A = k.ctx.createBufferSource(); A.buffer = k._scratchBuffer; A.connect(k.ctx.destination); void 0 === A.start ? A.noteOn(0) : A.start(0); 'function' == typeof k.ctx.resume && k.ctx.resume(); A.onended = function () { A.disconnect(0); k._audioUnlocked = !0; document.removeEventListener('touchstart', t, !0); document.removeEventListener('touchend', t, !0); document.removeEventListener('click', t, !0); for (var m = 0; m < k._howls.length; m++) k._howls[m]._emit('unlock'); }; }; return ( document.addEventListener('touchstart', t, !0), document.addEventListener('touchend', t, !0), document.addEventListener('click', t, !0), k ); } }, _obtainHtml5Audio: function () { var k = this || A; if (k._html5AudioPool.length) return k._html5AudioPool.pop(); k = new Audio().play(); return ( k && 'undefined' != typeof Promise && (k instanceof Promise || 'function' == typeof k.then) && k.catch(function () { console.warn('HTML5 Audio pool exhausted, returning potentially locked audio object.'); }), new Audio() ); }, _releaseHtml5Audio: function (k) { var m = this || A; return k._unlocked && m._html5AudioPool.push(k), m; }, _autoSuspend: function () { var k = this; if (k.autoSuspend && k.ctx && void 0 !== k.ctx.suspend && A.usingWebAudio) { for (var m = 0; m < k._howls.length; m++) if (k._howls[m]._webAudio) for (var t = 0; t < k._howls[m]._sounds.length; t++) if (!k._howls[m]._sounds[t]._paused) return k; return ( k._suspendTimer && clearTimeout(k._suspendTimer), (k._suspendTimer = setTimeout(function () { k.autoSuspend && ((k._suspendTimer = null), (k.state = 'suspending'), k.ctx.suspend().then(function () { k.state = 'suspended'; k._resumeAfterSuspend && (delete k._resumeAfterSuspend, k._autoResume()); })); }, 3e4)), k ); } }, _autoResume: function () { var k = this; if (k.ctx && void 0 !== k.ctx.resume && A.usingWebAudio) return ( 'running' === k.state && k._suspendTimer ? (clearTimeout(k._suspendTimer), (k._suspendTimer = null)) : 'suspended' === k.state ? (k.ctx.resume().then(function () { k.state = 'running'; for (var m = 0; m < k._howls.length; m++) k._howls[m]._emit('resume'); }), k._suspendTimer && (clearTimeout(k._suspendTimer), (k._suspendTimer = null))) : 'suspending' === k.state && (k._resumeAfterSuspend = !0), k ); } }; var A = new Q(), V = function (k) { if (!k.src || 0 === k.src.length) return void console.error('An array of source files must be passed with any new Howl.'); this.init(k); }; V.prototype = { init: function (m) { var t = this; return ( A.ctx || k(), (t._autoplay = m.autoplay || !1), (t._format = 'string' != typeof m.format ? m.format : [m.format]), (t._html5 = m.html5 || !1), (t._muted = m.mute || !1), (t._loop = m.loop || !1), (t._pool = m.pool || 5), (t._preload = 'boolean' != typeof m.preload || m.preload), (t._rate = m.rate || 1), (t._sprite = m.sprite || {}), (t._src = 'string' != typeof m.src ? m.src : [m.src]), (t._volume = void 0 !== m.volume ? m.volume : 1), (t._xhrWithCredentials = m.xhrWithCredentials || !1), (t._duration = 0), (t._state = 'unloaded'), (t._sounds = []), (t._endTimers = {}), (t._queue = []), (t._playLock = !1), (t._onend = m.onend ? [{ fn: m.onend }] : []), (t._onfade = m.onfade ? [{ fn: m.onfade }] : []), (t._onload = m.onload ? [{ fn: m.onload }] : []), (t._onloaderror = m.onloaderror ? [{ fn: m.onloaderror }] : []), (t._onplayerror = m.onplayerror ? [{ fn: m.onplayerror }] : []), (t._onpause = m.onpause ? [{ fn: m.onpause }] : []), (t._onplay = m.onplay ? [{ fn: m.onplay }] : []), (t._onstop = m.onstop ? [{ fn: m.onstop }] : []), (t._onmute = m.onmute ? [{ fn: m.onmute }] : []), (t._onvolume = m.onvolume ? [{ fn: m.onvolume }] : []), (t._onrate = m.onrate ? [{ fn: m.onrate }] : []), (t._onseek = m.onseek ? [{ fn: m.onseek }] : []), (t._onunlock = m.onunlock ? [{ fn: m.onunlock }] : []), (t._onresume = []), (t._webAudio = A.usingWebAudio && !t._html5), void 0 !== A.ctx && A.ctx && A.autoUnlock && A._unlockAudio(), A._howls.push(t), t._autoplay && t._queue.push({ event: 'play', action: function () { t.play(); } }), t._preload && t.load(), t ); }, load: function () { var k = null; if (A.noAudio) return void this._emit('loaderror', null, 'No audio support.'); 'string' == typeof this._src && (this._src = [this._src]); for (var m = 0; m < this._src.length; m++) { var t; if (this._format && this._format[m]) var Aa = this._format[m]; else { if ('string' != typeof (t = this._src[m])) { this._emit('loaderror', null, 'Non-string found in selected audio sources - ignoring.'); continue; } (Aa = /^data:audio\/([^;,]+);/i.exec(t)) || (Aa = /\.([^.]+)$/.exec(t.split('?', 1)[0])); Aa && (Aa = Aa[1].toLowerCase()); } if ( (Aa || console.warn( 'No file extension was found. Consider using the "format" property or specify an extension.' ), Aa && A.codecs(Aa)) ) { k = this._src[m]; break; } } return k ? ((this._src = k), (this._state = 'loading'), 'https:' === window.location.protocol && 'http:' === k.slice(0, 5) && ((this._html5 = !0), (this._webAudio = !1)), new K(this), this._webAudio && ia(this), this) : void this._emit('loaderror', null, 'No codec support for selected audio sources.'); }, play: function (k, m) { var t = this, x = null; if ('number' == typeof k) (x = k), (k = null); else { if ('string' == typeof k && 'loaded' === t._state && !t._sprite[k]) return null; if (void 0 === k && ((k = '__default'), !t._playLock)) { for (var N = 0, C = 0; C < t._sounds.length; C++) t._sounds[C]._paused && !t._sounds[C]._ended && (N++, (x = t._sounds[C]._id)); 1 === N ? (k = null) : (x = null); } } var K = x ? t._soundById(x) : t._inactiveSound(); if (!K) return null; if ((x && !k && (k = K._sprite || '__default'), 'loaded' !== t._state)) { K._sprite = k; K._ended = !1; var Q = K._id; return ( t._queue.push({ event: 'play', action: function () { t.play(Q); } }), Q ); } if (x && !K._paused) return m || t._loadQueue('play'), K._id; t._webAudio && A._autoResume(); var V = Math.max(0, 0 < K._seek ? K._seek : t._sprite[k][0] / 1e3), aa = Math.max(0, (t._sprite[k][0] + t._sprite[k][1]) / 1e3 - V), Y = (1e3 * aa) / Math.abs(K._rate), z = t._sprite[k][0] / 1e3, ia = (t._sprite[k][0] + t._sprite[k][1]) / 1e3, La = !(!K._loop && !t._sprite[k][2]); K._sprite = k; K._ended = !1; var Ga = function () { K._paused = !1; K._seek = V; K._start = z; K._stop = ia; K._loop = La; }; if (V >= ia) return void t._ended(K); var T = K._node; if (t._webAudio) (x = function () { t._playLock = !1; Ga(); t._refreshBuffer(K); T.gain.setValueAtTime(K._muted || t._muted ? 0 : K._volume, A.ctx.currentTime); K._playStart = A.ctx.currentTime; void 0 === T.bufferSource.start ? K._loop ? T.bufferSource.noteGrainOn(0, V, 86400) : T.bufferSource.noteGrainOn(0, V, aa) : K._loop ? T.bufferSource.start(0, V, 86400) : T.bufferSource.start(0, V, aa); Y !== 1 / 0 && (t._endTimers[K._id] = setTimeout(t._ended.bind(t, K), Y)); m || setTimeout(function () { t._emit('play', K._id); t._loadQueue(); }, 0); }), 'running' === A.state ? x() : ((t._playLock = !0), t.once('resume', x), t._clearTimer(K._id)); else { var sb = function () { T.currentTime = V; T.muted = K._muted || t._muted || A._muted || T.muted; T.volume = K._volume * A.volume(); T.playbackRate = K._rate; try { var x = T.play(); if ( (x && 'undefined' != typeof Promise && (x instanceof Promise || 'function' == typeof x.then) ? ((t._playLock = !0), Ga(), x .then(function () { t._playLock = !1; T._unlocked = !0; m || (t._emit('play', K._id), t._loadQueue()); }) .catch(function () { t._playLock = !1; t._emit( 'playerror', K._id, 'Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.' ); K._ended = !0; K._paused = !0; })) : m || ((t._playLock = !1), Ga(), t._emit('play', K._id), t._loadQueue()), (T.playbackRate = K._rate), T.paused) ) return void t._emit( 'playerror', K._id, 'Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.' ); '__default' !== k || K._loop ? (t._endTimers[K._id] = setTimeout(t._ended.bind(t, K), Y)) : ((t._endTimers[K._id] = function () { t._ended(K); T.removeEventListener('ended', t._endTimers[K._id], !1); }), T.addEventListener('ended', t._endTimers[K._id], !1)); } catch (ne) { t._emit('playerror', K._id, ne); } }; x = (window && window.ejecta) || (!T.readyState && A._navigator.isCocoonJS); if (3 <= T.readyState || x) sb(); else { t._playLock = !0; var ma = function () { sb(); T.removeEventListener(A._canPlayEvent, ma, !1); }; T.addEventListener(A._canPlayEvent, ma, !1); t._clearTimer(K._id); } } return K._id; }, pause: function (k, m) { var t = this; if ('loaded' !== t._state || t._playLock) return ( t._queue.push({ event: 'pause', action: function () { t.pause(k); } }), t ); for (var x = t._getSoundIds(k), N = 0; N < x.length; N++) { t._clearTimer(x[N]); var C = t._soundById(x[N]); if ( C && !C._paused && ((C._seek = t.seek(x[N])), (C._rateSeek = 0), (C._paused = !0), t._stopFade(x[N]), C._node) ) if (t._webAudio) { if (!C._node.bufferSource) continue; void 0 === C._node.bufferSource.stop ? C._node.bufferSource.noteOff(0) : C._node.bufferSource.stop(0); t._cleanBuffer(C._node); } else (isNaN(C._node.duration) && C._node.duration !== 1 / 0) || C._node.pause(); m || t._emit('pause', C ? C._id : null); } return t; }, stop: function (k, m) { var t = this; if ('loaded' !== t._state || t._playLock) return ( t._queue.push({ event: 'stop', action: function () { t.stop(k); } }), t ); for (var x = t._getSoundIds(k), N = 0; N < x.length; N++) { t._clearTimer(x[N]); var C = t._soundById(x[N]); C && ((C._seek = C._start || 0), (C._rateSeek = 0), (C._paused = !0), (C._ended = !0), t._stopFade(x[N]), C._node && (t._webAudio ? C._node.bufferSource && (void 0 === C._node.bufferSource.stop ? C._node.bufferSource.noteOff(0) : C._node.bufferSource.stop(0), t._cleanBuffer(C._node)) : (isNaN(C._node.duration) && C._node.duration !== 1 / 0) || ((C._node.currentTime = C._start || 0), C._node.pause())), m || t._emit('stop', C._id)); } return t; }, mute: function (k, m) { var t = this; if ('loaded' !== t._state || t._playLock) return ( t._queue.push({ event: 'mute', action: function () { t.mute(k, m); } }), t ); if (void 0 === m) { if ('boolean' != typeof k) return t._muted; t._muted = k; } for (var x = t._getSoundIds(m), N = 0; N < x.length; N++) { var C = t._soundById(x[N]); C && ((C._muted = k), C._interval && t._stopFade(C._id), t._webAudio && C._node ? C._node.gain.setValueAtTime(k ? 0 : C._volume, A.ctx.currentTime) : C._node && (C._node.muted = !!A._muted || k), t._emit('mute', C._id)); } return t; }, volume: function () { var k, m, t = this, K = arguments; if (0 === K.length) return t._volume; 1 === K.length || (2 === K.length && void 0 === K[1]) ? 0 <= t._getSoundIds().indexOf(K[0]) ? (m = parseInt(K[0], 10)) : (k = parseFloat(K[0])) : 2 <= K.length && ((k = parseFloat(K[0])), (m = parseInt(K[1], 10))); var Ja; if (!(void 0 !== k && 0 <= k && 1 >= k)) return (Ja = m ? t._soundById(m) : t._sounds[0]), Ja ? Ja._volume : 0; if ('loaded' !== t._state || t._playLock) return ( t._queue.push({ event: 'volume', action: function () { t.volume.apply(t, K); } }), t ); void 0 === m && (t._volume = k); m = t._getSoundIds(m); for (var C = 0; C < m.length; C++) (Ja = t._soundById(m[C])) && ((Ja._volume = k), K[2] || t._stopFade(m[C]), t._webAudio && Ja._node && !Ja._muted ? Ja._node.gain.setValueAtTime(k, A.ctx.currentTime) : Ja._node && !Ja._muted && (Ja._node.volume = k * A.volume()), t._emit('volume', Ja._id)); return t; }, fade: function (k, m, t, K) { var x = this; if ('loaded' !== x._state || x._playLock) return ( x._queue.push({ event: 'fade', action: function () { x.fade(k, m, t, K); } }), x ); k = parseFloat(k); m = parseFloat(m); t = parseFloat(t); x.volume(k, K); for (var B = x._getSoundIds(K), N = 0; N < B.length; N++) { var Q = x._soundById(B[N]); if (Q) { if ((K || x._stopFade(B[N]), x._webAudio && !Q._muted)) { var Aa = A.ctx.currentTime, V = Aa + t / 1e3; Q._volume = k; Q._node.gain.setValueAtTime(k, Aa); Q._node.gain.linearRampToValueAtTime(m, V); } x._startFadeInterval(Q, k, m, t, B[N], void 0 === K); } } return x; }, _startFadeInterval: function (k, m, t, A, K, C) { var x = this, B = m, N = t - m; K = Math.abs(N / 0.01); K = Math.max(4, 0 < K ? A / K : A); var Q = Date.now(); k._fadeTo = t; k._interval = setInterval(function () { var K = (Date.now() - Q) / A; Q = Date.now(); B += N * K; B = Math.max(0, B); B = Math.min(1, B); B = Math.round(100 * B) / 100; x._webAudio ? (k._volume = B) : x.volume(B, k._id, !0); C && (x._volume = B); ((t < m && B <= t) || (t > m && B >= t)) && (clearInterval(k._interval), (k._interval = null), (k._fadeTo = null), x.volume(t, k._id), x._emit('fade', k._id)); }, K); }, _stopFade: function (k) { var m = this._soundById(k); return ( m && m._interval && (this._webAudio && m._node.gain.cancelScheduledValues(A.ctx.currentTime), clearInterval(m._interval), (m._interval = null), this.volume(m._fadeTo, k), (m._fadeTo = null), this._emit('fade', k)), this ); }, loop: function () { var k, m, t, A = arguments; if (0 === A.length) return this._loop; if (1 === A.length) { if ('boolean' != typeof A[0]) return !!(t = this._soundById(parseInt(A[0], 10))) && t._loop; this._loop = k = A[0]; } else 2 === A.length && ((k = A[0]), (m = parseInt(A[1], 10))); m = this._getSoundIds(m); for (A = 0; A < m.length; A++) (t = this._soundById(m[A])) && ((t._loop = k), this._webAudio && t._node && t._node.bufferSource && ((t._node.bufferSource.loop = k), k && ((t._node.bufferSource.loopStart = t._start || 0), (t._node.bufferSource.loopEnd = t._stop)))); return this; }, rate: function () { var k, m, t = this, K = arguments; 0 === K.length ? (m = t._sounds[0]._id) : 1 === K.length ? 0 <= t._getSoundIds().indexOf(K[0]) ? (m = parseInt(K[0], 10)) : (k = parseFloat(K[0])) : 2 === K.length && ((k = parseFloat(K[0])), (m = parseInt(K[1], 10))); var Q; if ('number' != typeof k) return (Q = t._soundById(m)), Q ? Q._rate : t._rate; if ('loaded' !== t._state || t._playLock) return ( t._queue.push({ event: 'rate', action: function () { t.rate.apply(t, K); } }), t ); void 0 === m && (t._rate = k); m = t._getSoundIds(m); for (var C = 0; C < m.length; C++) if ((Q = t._soundById(m[C]))) { t.playing(m[C]) && ((Q._rateSeek = t.seek(m[C])), (Q._playStart = t._webAudio ? A.ctx.currentTime : Q._playStart)); Q._rate = k; t._webAudio && Q._node && Q._node.bufferSource ? Q._node.bufferSource.playbackRate.setValueAtTime(k, A.ctx.currentTime) : Q._node && (Q._node.playbackRate = k); var V = t.seek(m[C]); V = (1e3 * ((t._sprite[Q._sprite][0] + t._sprite[Q._sprite][1]) / 1e3 - V)) / Math.abs(Q._rate); (!t._endTimers[m[C]] && Q._paused) || (t._clearTimer(m[C]), (t._endTimers[m[C]] = setTimeout(t._ended.bind(t, Q), V))); t._emit('rate', Q._id); } return t; }, seek: function () { var k, m, t = this, K = arguments; 0 === K.length ? (m = t._sounds[0]._id) : 1 === K.length ? 0 <= t._getSoundIds().indexOf(K[0]) ? (m = parseInt(K[0], 10)) : t._sounds.length && ((m = t._sounds[0]._id), (k = parseFloat(K[0]))) : 2 === K.length && ((k = parseFloat(K[0])), (m = parseInt(K[1], 10))); if (void 0 === m) return t; if ('loaded' !== t._state || t._playLock) return ( t._queue.push({ event: 'seek', action: function () { t.seek.apply(t, K); } }), t ); var Q = t._soundById(m); if (Q) { if (!('number' == typeof k && 0 <= k)) return t._webAudio ? ((k = t.playing(m) ? A.ctx.currentTime - Q._playStart : 0), Q._seek + ((Q._rateSeek ? Q._rateSeek - Q._seek : 0) + k * Math.abs(Q._rate))) : Q._node.currentTime; var C = t.playing(m); C && t.pause(m, !0); Q._seek = k; Q._ended = !1; t._clearTimer(m); t._webAudio || !Q._node || isNaN(Q._node.duration) || (Q._node.currentTime = k); var V = function () { t._emit('seek', m); C && t.play(m, !0); }; if (C && !t._webAudio) { var Y = function () { t._playLock ? setTimeout(Y, 0) : V(); }; setTimeout(Y, 0); } else V(); } return t; }, playing: function (k) { if ('number' == typeof k) return (k = this._soundById(k)), !!k && !k._paused; for (k = 0; k < this._sounds.length; k++) if (!this._sounds[k]._paused) return !0; return !1; }, duration: function (k) { var m = this._duration; k = this._soundById(k); return k && (m = this._sprite[k._sprite][1] / 1e3), m; }, state: function () { return this._state; }, unload: function () { for (var k = this._sounds, m = 0; m < k.length; m++) (k[m]._paused || this.stop(k[m]._id), this._webAudio) || (/MSIE |Trident\//.test(A._navigator && A._navigator.userAgent) || (k[m]._node.src = 'data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA'), k[m]._node.removeEventListener('error', k[m]._errorFn, !1), k[m]._node.removeEventListener(A._canPlayEvent, k[m]._loadFn, !1), A._releaseHtml5Audio(k[m]._node)), delete k[m]._node, this._clearTimer(k[m]._id); m = A._howls.indexOf(this); 0 <= m && A._howls.splice(m, 1); k = !0; for (m = 0; m < A._howls.length; m++) if (A._howls[m]._src === this._src || 0 <= this._src.indexOf(A._howls[m]._src)) { k = !1; break; } return ( Y && k && delete Y[this._src], (A.noAudio = !1), (this._state = 'unloaded'), (this._sounds = []), null ); }, on: function (k, m, t, A) { k = this['_on' + k]; return ( 'function' == typeof m && k.push(A ? { id: t, fn: m, once: A } : { id: t, fn: m }), this ); }, off: function (k, m, t) { var x = this['_on' + k]; if (('number' == typeof m && ((t = m), (m = null)), m || t)) for (k = 0; k < x.length; k++) { var B = t === x[k].id; if ((m === x[k].fn && B) || (!m && B)) { x.splice(k, 1); break; } } else if (k) this['_on' + k] = []; else for (m = Object.keys(this), k = 0; k < m.length; k++) 0 === m[k].indexOf('_on') && Array.isArray(this[m[k]]) && (this[m[k]] = []); return this; }, once: function (k, m, t) { return this.on(k, m, t, 1), this; }, _emit: function (k, m, t) { for (var x = this['_on' + k], B = x.length - 1; 0 <= B; B--) (x[B].id && x[B].id !== m && 'load' !== k) || (setTimeout( function (k) { k.call(this, m, t); }.bind(this, x[B].fn), 0 ), x[B].once && this.off(k, x[B].fn, x[B].id)); return this._loadQueue(k), this; }, _loadQueue: function (k) { if (0 < this._queue.length) { var m = this._queue[0]; m.event === k && (this._queue.shift(), this._loadQueue()); k || m.action(); } return this; }, _ended: function (k) { var m = k._sprite; if ( !this._webAudio && k._node && !k._node.paused && !k._node.ended && k._node.currentTime < k._stop ) return setTimeout(this._ended.bind(this, k), 100), this; m = !(!k._loop && !this._sprite[m][2]); if ( (this._emit('end', k._id), !this._webAudio && m && this.stop(k._id, !0).play(k._id), this._webAudio && m) ) { this._emit('play', k._id); k._seek = k._start || 0; k._rateSeek = 0; k._playStart = A.ctx.currentTime; var t = (1e3 * (k._stop - k._start)) / Math.abs(k._rate); this._endTimers[k._id] = setTimeout(this._ended.bind(this, k), t); } return ( this._webAudio && !m && ((k._paused = !0), (k._ended = !0), (k._seek = k._start || 0), (k._rateSeek = 0), this._clearTimer(k._id), this._cleanBuffer(k._node), A._autoSuspend()), this._webAudio || m || this.stop(k._id, !0), this ); }, _clearTimer: function (k) { if (this._endTimers[k]) { if ('function' != typeof this._endTimers[k]) clearTimeout(this._endTimers[k]); else { var m = this._soundById(k); m && m._node && m._node.removeEventListener('ended', this._endTimers[k], !1); } delete this._endTimers[k]; } return this; }, _soundById: function (k) { for (var m = 0; m < this._sounds.length; m++) if (k === this._sounds[m]._id) return this._sounds[m]; return null; }, _inactiveSound: function () { this._drain(); for (var k = 0; k < this._sounds.length; k++) if (this._sounds[k]._ended) return this._sounds[k].reset(); return new K(this); }, _drain: function () { var k = this._pool, m = 0, t; if (!(this._sounds.length < k)) { for (t = 0; t < this._sounds.length; t++) this._sounds[t]._ended && m++; for (t = this._sounds.length - 1; 0 <= t && !(m <= k); t--) this._sounds[t]._ended && (this._webAudio && this._sounds[t]._node && this._sounds[t]._node.disconnect(0), this._sounds.splice(t, 1), m--); } }, _getSoundIds: function (k) { if (void 0 === k) { k = []; for (var m = 0; m < this._sounds.length; m++) k.push(this._sounds[m]._id); return k; } return [k]; }, _refreshBuffer: function (k) { return ( (k._node.bufferSource = A.ctx.createBufferSource()), (k._node.bufferSource.buffer = Y[this._src]), k._panner ? k._node.bufferSource.connect(k._panner) : k._node.bufferSource.connect(k._node), (k._node.bufferSource.loop = k._loop), k._loop && ((k._node.bufferSource.loopStart = k._start || 0), (k._node.bufferSource.loopEnd = k._stop || 0)), k._node.bufferSource.playbackRate.setValueAtTime(k._rate, A.ctx.currentTime), this ); }, _cleanBuffer: function (k) { var m = A._navigator && 0 <= A._navigator.vendor.indexOf('Apple'); if ( A._scratchBuffer && k.bufferSource && ((k.bufferSource.onended = null), k.bufferSource.disconnect(0), m) ) try { k.bufferSource.buffer = A._scratchBuffer; } catch (B) {} return (k.bufferSource = null), this; } }; var K = function (k) { this._parent = k; this.init(); }; K.prototype = { init: function () { var k = this._parent; return ( (this._muted = k._muted), (this._loop = k._loop), (this._volume = k._volume), (this._rate = k._rate), (this._seek = 0), (this._paused = !0), (this._ended = !0), (this._sprite = '__default'), (this._id = ++A._counter), k._sounds.push(this), this.create(), this ); }, create: function () { var k = this._parent, m = A._muted || this._muted || this._parent._muted ? 0 : this._volume; return ( k._webAudio ? ((this._node = void 0 === A.ctx.createGain ? A.ctx.createGainNode() : A.ctx.createGain()), this._node.gain.setValueAtTime(m, A.ctx.currentTime), (this._node.paused = !0), this._node.connect(A.masterGain)) : ((this._node = A._obtainHtml5Audio()), (this._errorFn = this._errorListener.bind(this)), this._node.addEventListener('error', this._errorFn, !1), (this._loadFn = this._loadListener.bind(this)), this._node.addEventListener(A._canPlayEvent, this._loadFn, !1), (this._node.src = k._src), (this._node.preload = 'auto'), (this._node.volume = m * A.volume()), this._node.load()), this ); }, reset: function () { var k = this._parent; return ( (this._muted = k._muted), (this._loop = k._loop), (this._volume = k._volume), (this._rate = k._rate), (this._seek = 0), (this._rateSeek = 0), (this._paused = !0), (this._ended = !0), (this._sprite = '__default'), (this._id = ++A._counter), this ); }, _errorListener: function () { this._parent._emit('loaderror', this._id, this._node.error ? this._node.error.code : 0); this._node.removeEventListener('error', this._errorFn, !1); }, _loadListener: function () { var k = this._parent; k._duration = Math.ceil(10 * this._node.duration) / 10; 0 === Object.keys(k._sprite).length && (k._sprite = { __default: [0, 1e3 * k._duration] }); 'loaded' !== k._state && ((k._state = 'loaded'), k._emit('load'), k._loadQueue()); this._node.removeEventListener(A._canPlayEvent, this._loadFn, !1); } }; var Y = {}, ia = function (k) { var x = k._src; if (Y[x]) return (k._duration = Y[x].duration), void m(k); if (/^data:[^;]+;base64,/.test(x)) { for (var B = atob(x.split(',')[1]), A = new Uint8Array(B.length), K = 0; K < B.length; ++K) A[K] = B.charCodeAt(K); La(A.buffer, k); } else { var C = new XMLHttpRequest(); C.open('GET', x, !0); C.withCredentials = k._xhrWithCredentials; C.responseType = 'arraybuffer'; C.onload = function () { var m = (C.status + '')[0]; if ('0' !== m && '2' !== m && '3' !== m) return void k._emit( 'loaderror', null, 'Failed loading audio file with status: ' + C.status + '.' ); La(C.response, k); }; C.onerror = function () { k._webAudio && ((k._html5 = !0), (k._webAudio = !1), (k._sounds = []), delete Y[x], k.load()); }; t(C); } }, t = function (k) { try { k.send(); } catch (N) { k.onerror(); } }, La = function (k, t) { var x = function () { t._emit('loaderror', null, 'Decoding audio data failed.'); }, N = function (k) { k && 0 < t._sounds.length ? ((Y[t._src] = k), m(t, k)) : x(); }; 'undefined' != typeof Promise && 1 === A.ctx.decodeAudioData.length ? A.ctx.decodeAudioData(k).then(N).catch(x) : A.ctx.decodeAudioData(k, N, x); }, m = function (k, m) { m && !k._duration && (k._duration = m.duration); 0 === Object.keys(k._sprite).length && (k._sprite = { __default: [0, 1e3 * k._duration] }); 'loaded' !== k._state && ((k._state = 'loaded'), k._emit('load'), k._loadQueue()); }, k = function () { if (A.usingWebAudio) { try { 'undefined' != typeof AudioContext ? (A.ctx = new AudioContext()) : 'undefined' != typeof webkitAudioContext ? (A.ctx = new webkitAudioContext()) : (A.usingWebAudio = !1); } catch (B) { A.usingWebAudio = !1; } A.ctx || (A.usingWebAudio = !1); var k = /iP(hone|od|ad)/.test(A._navigator && A._navigator.platform), m = A._navigator && A._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/); m = m ? parseInt(m[1], 10) : null; k && m && 9 > m && ((k = /safari/.test(A._navigator && A._navigator.userAgent.toLowerCase())), ((A._navigator && A._navigator.standalone && !k) || (A._navigator && !A._navigator.standalone && !k)) && (A.usingWebAudio = !1)); A.usingWebAudio && ((A.masterGain = void 0 === A.ctx.createGain ? A.ctx.createGainNode() : A.ctx.createGain()), A.masterGain.gain.setValueAtTime(A._muted ? 0 : 1, A.ctx.currentTime), A.masterGain.connect(A.ctx.destination)); A._setup(); } }; 'function' == typeof define && define.amd && define([], function () { return { Howler: A, Howl: V }; }); 'undefined' != typeof exports && ((exports.Howler = A), (exports.Howl = V)); 'undefined' != typeof window ? ((window.HowlerGlobal = Q), (window.Howler = A), (window.Howl = V), (window.Sound = K)) : 'undefined' != typeof global && ((global.HowlerGlobal = Q), (global.Howler = A), (global.Howl = V), (global.Sound = K)); })(); !(function () { HowlerGlobal.prototype._pos = [0, 0, 0]; HowlerGlobal.prototype._orientation = [0, 0, -1, 0, 1, 0]; HowlerGlobal.prototype.stereo = function (A) { if (!this.ctx || !this.ctx.listener) return this; for (var Q = this._howls.length - 1; 0 <= Q; Q--) this._howls[Q].stereo(A); return this; }; HowlerGlobal.prototype.pos = function (A, Q, K) { return this.ctx && this.ctx.listener ? ((Q = 'number' != typeof Q ? this._pos[1] : Q), (K = 'number' != typeof K ? this._pos[2] : K), 'number' != typeof A ? this._pos : ((this._pos = [A, Q, K]), void 0 !== this.ctx.listener.positionX ? (this.ctx.listener.positionX.setTargetAtTime( this._pos[0], Howler.ctx.currentTime, 0.1 ), this.ctx.listener.positionY.setTargetAtTime( this._pos[1], Howler.ctx.currentTime, 0.1 ), this.ctx.listener.positionZ.setTargetAtTime( this._pos[2], Howler.ctx.currentTime, 0.1 )) : this.ctx.listener.setPosition(this._pos[0], this._pos[1], this._pos[2]), this)) : this; }; HowlerGlobal.prototype.orientation = function (A, Q, K, Y, ia, t) { if (!this.ctx || !this.ctx.listener) return this; var V = this._orientation; return ( (Q = 'number' != typeof Q ? V[1] : Q), (K = 'number' != typeof K ? V[2] : K), (Y = 'number' != typeof Y ? V[3] : Y), (ia = 'number' != typeof ia ? V[4] : ia), (t = 'number' != typeof t ? V[5] : t), 'number' != typeof A ? V : ((this._orientation = [A, Q, K, Y, ia, t]), void 0 !== this.ctx.listener.forwardX ? (this.ctx.listener.forwardX.setTargetAtTime(A, Howler.ctx.currentTime, 0.1), this.ctx.listener.forwardY.setTargetAtTime(Q, Howler.ctx.currentTime, 0.1), this.ctx.listener.forwardZ.setTargetAtTime(K, Howler.ctx.currentTime, 0.1), this.ctx.listener.upX.setTargetAtTime(A, Howler.ctx.currentTime, 0.1), this.ctx.listener.upY.setTargetAtTime(Q, Howler.ctx.currentTime, 0.1), this.ctx.listener.upZ.setTargetAtTime(K, Howler.ctx.currentTime, 0.1)) : this.ctx.listener.setOrientation(A, Q, K, Y, ia, t), this) ); }; Howl.prototype.init = (function (A) { return function (Q) { return ( (this._orientation = Q.orientation || [1, 0, 0]), (this._stereo = Q.stereo || null), (this._pos = Q.pos || null), (this._pannerAttr = { coneInnerAngle: void 0 !== Q.coneInnerAngle ? Q.coneInnerAngle : 360, coneOuterAngle: void 0 !== Q.coneOuterAngle ? Q.coneOuterAngle : 360, coneOuterGain: void 0 !== Q.coneOuterGain ? Q.coneOuterGain : 0, distanceModel: void 0 !== Q.distanceModel ? Q.distanceModel : 'inverse', maxDistance: void 0 !== Q.maxDistance ? Q.maxDistance : 1e4, panningModel: void 0 !== Q.panningModel ? Q.panningModel : 'HRTF', refDistance: void 0 !== Q.refDistance ? Q.refDistance : 1, rolloffFactor: void 0 !== Q.rolloffFactor ? Q.rolloffFactor : 1 }), (this._onstereo = Q.onstereo ? [{ fn: Q.onstereo }] : []), (this._onpos = Q.onpos ? [{ fn: Q.onpos }] : []), (this._onorientation = Q.onorientation ? [{ fn: Q.onorientation }] : []), A.call(this, Q) ); }; })(Howl.prototype.init); Howl.prototype.stereo = function (A, V) { var K = this; if (!K._webAudio) return K; if ('loaded' !== K._state) return ( K._queue.push({ event: 'stereo', action: function () { K.stereo(A, V); } }), K ); var Y = void 0 === Howler.ctx.createStereoPanner ? 'spatial' : 'stereo'; if (void 0 === V) { if ('number' != typeof A) return K._stereo; K._stereo = A; K._pos = [A, 0, 0]; } for (var ia = K._getSoundIds(V), t = 0; t < ia.length; t++) { var La = K._soundById(ia[t]); if (La) { if ('number' != typeof A) return La._stereo; La._stereo = A; La._pos = [A, 0, 0]; La._node && ((La._pannerAttr.panningModel = 'equalpower'), (La._panner && La._panner.pan) || Q(La, Y), 'spatial' === Y ? void 0 !== La._panner.positionX ? (La._panner.positionX.setValueAtTime(A, Howler.ctx.currentTime), La._panner.positionY.setValueAtTime(0, Howler.ctx.currentTime), La._panner.positionZ.setValueAtTime(0, Howler.ctx.currentTime)) : La._panner.setPosition(A, 0, 0) : La._panner.pan.setValueAtTime(A, Howler.ctx.currentTime)); K._emit('stereo', La._id); } } return K; }; Howl.prototype.pos = function (A, V, K, Y) { var ia = this; if (!ia._webAudio) return ia; if ('loaded' !== ia._state) return ( ia._queue.push({ event: 'pos', action: function () { ia.pos(A, V, K, Y); } }), ia ); if (((V = 'number' != typeof V ? 0 : V), (K = 'number' != typeof K ? -0.5 : K), void 0 === Y)) { if ('number' != typeof A) return ia._pos; ia._pos = [A, V, K]; } for (var t = ia._getSoundIds(Y), La = 0; La < t.length; La++) { var m = ia._soundById(t[La]); if (m) { if ('number' != typeof A) return m._pos; m._pos = [A, V, K]; m._node && ((m._panner && !m._panner.pan) || Q(m, 'spatial'), void 0 !== m._panner.positionX ? (m._panner.positionX.setValueAtTime(A, Howler.ctx.currentTime), m._panner.positionY.setValueAtTime(V, Howler.ctx.currentTime), m._panner.positionZ.setValueAtTime(K, Howler.ctx.currentTime)) : m._panner.setPosition(A, V, K)); ia._emit('pos', m._id); } } return ia; }; Howl.prototype.orientation = function (A, V, K, Y) { var ia = this; if (!ia._webAudio) return ia; if ('loaded' !== ia._state) return ( ia._queue.push({ event: 'orientation', action: function () { ia.orientation(A, V, K, Y); } }), ia ); if ( ((V = 'number' != typeof V ? ia._orientation[1] : V), (K = 'number' != typeof K ? ia._orientation[2] : K), void 0 === Y) ) { if ('number' != typeof A) return ia._orientation; ia._orientation = [A, V, K]; } for (var t = ia._getSoundIds(Y), La = 0; La < t.length; La++) { var m = ia._soundById(t[La]); if (m) { if ('number' != typeof A) return m._orientation; m._orientation = [A, V, K]; m._node && (m._panner || (m._pos || (m._pos = ia._pos || [0, 0, -0.5]), Q(m, 'spatial')), void 0 !== m._panner.orientationX ? (m._panner.orientationX.setValueAtTime(A, Howler.ctx.currentTime), m._panner.orientationY.setValueAtTime(V, Howler.ctx.currentTime), m._panner.orientationZ.setValueAtTime(K, Howler.ctx.currentTime)) : m._panner.setOrientation(A, V, K)); ia._emit('orientation', m._id); } } return ia; }; Howl.prototype.pannerAttr = function () { var A, V, K = arguments; if (!this._webAudio) return this; if (0 === K.length) return this._pannerAttr; if (1 === K.length) { if ('object' != typeof K[0]) return (V = this._soundById(parseInt(K[0], 10))), V ? V._pannerAttr : this._pannerAttr; var Y = K[0]; void 0 === A && (Y.pannerAttr || (Y.pannerAttr = { coneInnerAngle: Y.coneInnerAngle, coneOuterAngle: Y.coneOuterAngle, coneOuterGain: Y.coneOuterGain, distanceModel: Y.distanceModel, maxDistance: Y.maxDistance, refDistance: Y.refDistance, rolloffFactor: Y.rolloffFactor, panningModel: Y.panningModel }), (this._pannerAttr = { coneInnerAngle: void 0 !== Y.pannerAttr.coneInnerAngle ? Y.pannerAttr.coneInnerAngle : this._coneInnerAngle, coneOuterAngle: void 0 !== Y.pannerAttr.coneOuterAngle ? Y.pannerAttr.coneOuterAngle : this._coneOuterAngle, coneOuterGain: void 0 !== Y.pannerAttr.coneOuterGain ? Y.pannerAttr.coneOuterGain : this._coneOuterGain, distanceModel: void 0 !== Y.pannerAttr.distanceModel ? Y.pannerAttr.distanceModel : this._distanceModel, maxDistance: void 0 !== Y.pannerAttr.maxDistance ? Y.pannerAttr.maxDistance : this._maxDistance, refDistance: void 0 !== Y.pannerAttr.refDistance ? Y.pannerAttr.refDistance : this._refDistance, rolloffFactor: void 0 !== Y.pannerAttr.rolloffFactor ? Y.pannerAttr.rolloffFactor : this._rolloffFactor, panningModel: void 0 !== Y.pannerAttr.panningModel ? Y.pannerAttr.panningModel : this._panningModel })); } else 2 === K.length && ((Y = K[0]), (A = parseInt(K[1], 10))); A = this._getSoundIds(A); for (K = 0; K < A.length; K++) if ((V = this._soundById(A[K]))) { var ia = V._pannerAttr; ia = { coneInnerAngle: void 0 !== Y.coneInnerAngle ? Y.coneInnerAngle : ia.coneInnerAngle, coneOuterAngle: void 0 !== Y.coneOuterAngle ? Y.coneOuterAngle : ia.coneOuterAngle, coneOuterGain: void 0 !== Y.coneOuterGain ? Y.coneOuterGain : ia.coneOuterGain, distanceModel: void 0 !== Y.distanceModel ? Y.distanceModel : ia.distanceModel, maxDistance: void 0 !== Y.maxDistance ? Y.maxDistance : ia.maxDistance, refDistance: void 0 !== Y.refDistance ? Y.refDistance : ia.refDistance, rolloffFactor: void 0 !== Y.rolloffFactor ? Y.rolloffFactor : ia.rolloffFactor, panningModel: void 0 !== Y.panningModel ? Y.panningModel : ia.panningModel }; var t = V._panner; t ? ((t.coneInnerAngle = ia.coneInnerAngle), (t.coneOuterAngle = ia.coneOuterAngle), (t.coneOuterGain = ia.coneOuterGain), (t.distanceModel = ia.distanceModel), (t.maxDistance = ia.maxDistance), (t.refDistance = ia.refDistance), (t.rolloffFactor = ia.rolloffFactor), (t.panningModel = ia.panningModel)) : (V._pos || (V._pos = this._pos || [0, 0, -0.5]), Q(V, 'spatial')); } return this; }; Sound.prototype.init = (function (A) { return function () { var Q = this._parent; this._orientation = Q._orientation; this._stereo = Q._stereo; this._pos = Q._pos; this._pannerAttr = Q._pannerAttr; A.call(this); this._stereo ? Q.stereo(this._stereo) : this._pos && Q.pos(this._pos[0], this._pos[1], this._pos[2], this._id); }; })(Sound.prototype.init); Sound.prototype.reset = (function (A) { return function () { var Q = this._parent; return ( (this._orientation = Q._orientation), (this._stereo = Q._stereo), (this._pos = Q._pos), (this._pannerAttr = Q._pannerAttr), this._stereo ? Q.stereo(this._stereo) : this._pos ? Q.pos(this._pos[0], this._pos[1], this._pos[2], this._id) : this._panner && (this._panner.disconnect(0), (this._panner = void 0), Q._refreshBuffer(this)), A.call(this) ); }; })(Sound.prototype.reset); var Q = function (A, Q) { 'spatial' === (Q || 'spatial') ? ((A._panner = Howler.ctx.createPanner()), (A._panner.coneInnerAngle = A._pannerAttr.coneInnerAngle), (A._panner.coneOuterAngle = A._pannerAttr.coneOuterAngle), (A._panner.coneOuterGain = A._pannerAttr.coneOuterGain), (A._panner.distanceModel = A._pannerAttr.distanceModel), (A._panner.maxDistance = A._pannerAttr.maxDistance), (A._panner.refDistance = A._pannerAttr.refDistance), (A._panner.rolloffFactor = A._pannerAttr.rolloffFactor), (A._panner.panningModel = A._pannerAttr.panningModel), void 0 !== A._panner.positionX ? (A._panner.positionX.setValueAtTime(A._pos[0], Howler.ctx.currentTime), A._panner.positionY.setValueAtTime(A._pos[1], Howler.ctx.currentTime), A._panner.positionZ.setValueAtTime(A._pos[2], Howler.ctx.currentTime)) : A._panner.setPosition(A._pos[0], A._pos[1], A._pos[2]), void 0 !== A._panner.orientationX ? (A._panner.orientationX.setValueAtTime(A._orientation[0], Howler.ctx.currentTime), A._panner.orientationY.setValueAtTime(A._orientation[1], Howler.ctx.currentTime), A._panner.orientationZ.setValueAtTime(A._orientation[2], Howler.ctx.currentTime)) : A._panner.setOrientation(A._orientation[0], A._orientation[1], A._orientation[2])) : ((A._panner = Howler.ctx.createStereoPanner()), A._panner.pan.setValueAtTime(A._stereo, Howler.ctx.currentTime)); A._panner.connect(A._node); A._paused || A._parent.pause(A._id, !0).play(A._id, !0); }; })(); !(function (Q) { 'object' == typeof exports && 'undefined' != typeof module ? (module.exports = Q()) : 'function' == typeof define && define.amd ? define([], Q) : (('undefined' != typeof window ? window : 'undefined' != typeof global ? global : 'undefined' != typeof self ? self : this ).pako = Q()); })(function () { return (function Y(A, V, K) { function ia(m, k) { if (!V[m]) { if (!A[m]) { var x = 'function' == typeof require && require; if (!k && x) return x(m, !0); if (t) return t(m, !0); k = Error("Cannot find module '" + m + "'"); throw ((k.code = 'MODULE_NOT_FOUND'), k); } k = V[m] = { exports: {} }; A[m][0].call( k.exports, function (k) { var t = A[m][1][k]; return ia(t ? t : k); }, k, k.exports, Y, A, V, K ); } return V[m].exports; } for (var t = 'function' == typeof require && require, La = 0; La < K.length; La++) ia(K[La]); return ia; })( { 1: [ function (A, V, K) { function Y(A) { if (!(this instanceof Y)) return new Y(A); A = this.options = La.assign( { level: Aa, method: C, chunkSize: 16384, windowBits: 15, memLevel: 8, strategy: Ja, to: '' }, A || {} ); A.raw && 0 < A.windowBits ? (A.windowBits = -A.windowBits) : A.gzip && 0 < A.windowBits && 16 > A.windowBits && (A.windowBits += 16); this.err = 0; this.msg = ''; this.ended = !1; this.chunks = []; this.strm = new x(); this.strm.avail_out = 0; var K = t.deflateInit2( this.strm, A.level, A.method, A.windowBits, A.memLevel, A.strategy ); if (K !== B) throw Error(k[K]); if ((A.header && t.deflateSetHeader(this.strm, A.header), A.dictionary)) { var V; if ( ((V = 'string' == typeof A.dictionary ? m.string2buf(A.dictionary) : '[object ArrayBuffer]' === N.call(A.dictionary) ? new Uint8Array(A.dictionary) : A.dictionary), (K = t.deflateSetDictionary(this.strm, V)), K !== B) ) throw Error(k[K]); this._dict_set = !0; } } function ia(k, m) { m = new Y(m); if ((m.push(k, !0), m.err)) throw m.msg; return m.result; } var t = A('./zlib/deflate'), La = A('./utils/common'), m = A('./utils/strings'), k = A('./zlib/messages'), x = A('./zlib/zstream'), N = Object.prototype.toString, B = 0, Aa = -1, Ja = 0, C = 8; Y.prototype.push = function (k, x) { var C, A = this.strm, K = this.options.chunkSize; if (this.ended) return !1; x = x === ~~x ? x : !0 === x ? 4 : 0; 'string' == typeof k ? (A.input = m.string2buf(k)) : '[object ArrayBuffer]' === N.call(k) ? (A.input = new Uint8Array(k)) : (A.input = k); A.next_in = 0; A.avail_in = A.input.length; do { if ( (0 === A.avail_out && ((A.output = new La.Buf8(K)), (A.next_out = 0), (A.avail_out = K)), (C = t.deflate(A, x)), 1 !== C && C !== B) ) return this.onEnd(C), (this.ended = !0), !1; (0 !== A.avail_out && (0 !== A.avail_in || (4 !== x && 2 !== x))) || ('string' === this.options.to ? this.onData(m.buf2binstring(La.shrinkBuf(A.output, A.next_out))) : this.onData(La.shrinkBuf(A.output, A.next_out))); } while ((0 < A.avail_in || 0 === A.avail_out) && 1 !== C); return 4 === x ? ((C = t.deflateEnd(this.strm)), this.onEnd(C), (this.ended = !0), C === B) : 2 !== x || (this.onEnd(B), (A.avail_out = 0), !0); }; Y.prototype.onData = function (k) { this.chunks.push(k); }; Y.prototype.onEnd = function (k) { k === B && ('string' === this.options.to ? (this.result = this.chunks.join('')) : (this.result = La.flattenChunks(this.chunks))); this.chunks = []; this.err = k; this.msg = this.strm.msg; }; K.Deflate = Y; K.deflate = ia; K.deflateRaw = function (k, m) { return (m = m || {}), (m.raw = !0), ia(k, m); }; K.gzip = function (k, m) { return (m = m || {}), (m.gzip = !0), ia(k, m); }; }, { './utils/common': 3, './utils/strings': 4, './zlib/deflate': 8, './zlib/messages': 13, './zlib/zstream': 15 } ], 2: [ function (A, V, K) { function Y(m) { if (!(this instanceof Y)) return new Y(m); var C = (this.options = La.assign( { chunkSize: 16384, windowBits: 0, to: '' }, m || {} )); C.raw && 0 <= C.windowBits && 16 > C.windowBits && ((C.windowBits = -C.windowBits), 0 === C.windowBits && (C.windowBits = -15)); !(0 <= C.windowBits && 16 > C.windowBits) || (m && m.windowBits) || (C.windowBits += 32); 15 < C.windowBits && 48 > C.windowBits && 0 === (15 & C.windowBits) && (C.windowBits |= 15); this.err = 0; this.msg = ''; this.ended = !1; this.chunks = []; this.strm = new N(); this.strm.avail_out = 0; m = t.inflateInit2(this.strm, C.windowBits); if (m !== k.Z_OK) throw Error(x[m]); this.header = new B(); t.inflateGetHeader(this.strm, this.header); } function ia(k, m) { m = new Y(m); if ((m.push(k, !0), m.err)) throw m.msg; return m.result; } var t = A('./zlib/inflate'), La = A('./utils/common'), m = A('./utils/strings'), k = A('./zlib/constants'), x = A('./zlib/messages'), N = A('./zlib/zstream'), B = A('./zlib/gzheader'), Aa = Object.prototype.toString; Y.prototype.push = function (x, B) { var C, A, N, K, Y, z = this.strm, V = this.options.chunkSize, ia = this.options.dictionary, Ga = !1; if (this.ended) return !1; B = B === ~~B ? B : !0 === B ? k.Z_FINISH : k.Z_NO_FLUSH; 'string' == typeof x ? (z.input = m.binstring2buf(x)) : '[object ArrayBuffer]' === Aa.call(x) ? (z.input = new Uint8Array(x)) : (z.input = x); z.next_in = 0; z.avail_in = z.input.length; do { if ( (0 === z.avail_out && ((z.output = new La.Buf8(V)), (z.next_out = 0), (z.avail_out = V)), (C = t.inflate(z, k.Z_NO_FLUSH)), C === k.Z_NEED_DICT && ia && ((Y = 'string' == typeof ia ? m.string2buf(ia) : '[object ArrayBuffer]' === Aa.call(ia) ? new Uint8Array(ia) : ia), (C = t.inflateSetDictionary(this.strm, Y))), C === k.Z_BUF_ERROR && !0 === Ga && ((C = k.Z_OK), (Ga = !1)), C !== k.Z_STREAM_END && C !== k.Z_OK) ) return this.onEnd(C), (this.ended = !0), !1; z.next_out && ((0 !== z.avail_out && C !== k.Z_STREAM_END && (0 !== z.avail_in || (B !== k.Z_FINISH && B !== k.Z_SYNC_FLUSH))) || ('string' === this.options.to ? ((A = m.utf8border(z.output, z.next_out)), (N = z.next_out - A), (K = m.buf2string(z.output, A)), (z.next_out = N), (z.avail_out = V - N), N && La.arraySet(z.output, z.output, A, N, 0), this.onData(K)) : this.onData(La.shrinkBuf(z.output, z.next_out)))); 0 === z.avail_in && 0 === z.avail_out && (Ga = !0); } while ((0 < z.avail_in || 0 === z.avail_out) && C !== k.Z_STREAM_END); return ( C === k.Z_STREAM_END && (B = k.Z_FINISH), B === k.Z_FINISH ? ((C = t.inflateEnd(this.strm)), this.onEnd(C), (this.ended = !0), C === k.Z_OK) : B !== k.Z_SYNC_FLUSH || (this.onEnd(k.Z_OK), (z.avail_out = 0), !0) ); }; Y.prototype.onData = function (k) { this.chunks.push(k); }; Y.prototype.onEnd = function (m) { m === k.Z_OK && ('string' === this.options.to ? (this.result = this.chunks.join('')) : (this.result = La.flattenChunks(this.chunks))); this.chunks = []; this.err = m; this.msg = this.strm.msg; }; K.Inflate = Y; K.inflate = ia; K.inflateRaw = function (k, m) { return (m = m || {}), (m.raw = !0), ia(k, m); }; K.ungzip = ia; }, { './utils/common': 3, './utils/strings': 4, './zlib/constants': 6, './zlib/gzheader': 9, './zlib/inflate': 11, './zlib/messages': 13, './zlib/zstream': 15 } ], 3: [ function (A, V, K) { A = 'undefined' != typeof Uint8Array && 'undefined' != typeof Uint16Array && 'undefined' != typeof Int32Array; K.assign = function (t) { for (var A = Array.prototype.slice.call(arguments, 1); A.length; ) { var m = A.shift(); if (m) { if ('object' != typeof m) throw new TypeError(m + 'must be non-object'); for (var k in m) m.hasOwnProperty(k) && (t[k] = m[k]); } } return t; }; K.shrinkBuf = function (t, A) { return t.length === A ? t : t.subarray ? t.subarray(0, A) : ((t.length = A), t); }; var Y = { arraySet: function (t, A, m, k, x) { if (A.subarray && t.subarray) return void t.set(A.subarray(m, m + k), x); for (var N = 0; N < k; N++) t[x + N] = A[m + N]; }, flattenChunks: function (t) { var A, m; var k = (m = 0); for (A = t.length; k < A; k++) m += t[k].length; var x = new Uint8Array(m); k = m = 0; for (A = t.length; k < A; k++) { var N = t[k]; x.set(N, m); m += N.length; } return x; } }, ia = { arraySet: function (t, A, m, k, x) { for (var N = 0; N < k; N++) t[x + N] = A[m + N]; }, flattenChunks: function (t) { return [].concat.apply([], t); } }; K.setTyped = function (t) { t ? ((K.Buf8 = Uint8Array), (K.Buf16 = Uint16Array), (K.Buf32 = Int32Array), K.assign(K, Y)) : ((K.Buf8 = Array), (K.Buf16 = Array), (K.Buf32 = Array), K.assign(K, ia)); }; K.setTyped(A); }, {} ], 4: [ function (A, V, K) { function Y(k, m) { if (65537 > m && ((k.subarray && La) || (!k.subarray && t))) return String.fromCharCode.apply(null, ia.shrinkBuf(k, m)); for (var x = '', B = 0; B < m; B++) x += String.fromCharCode(k[B]); return x; } var ia = A('./common'), t = !0, La = !0; try { String.fromCharCode.apply(null, [0]); } catch (k) { t = !1; } try { String.fromCharCode.apply(null, new Uint8Array(1)); } catch (k) { La = !1; } var m = new ia.Buf8(256); for (A = 0; 256 > A; A++) m[A] = 252 <= A ? 6 : 248 <= A ? 5 : 240 <= A ? 4 : 224 <= A ? 3 : 192 <= A ? 2 : 1; m[254] = m[254] = 1; K.string2buf = function (k) { var m, t, B, A = k.length, K = 0; for (t = 0; t < A; t++) { var C = k.charCodeAt(t); 55296 === (64512 & C) && t + 1 < A && ((m = k.charCodeAt(t + 1)), 56320 === (64512 & m) && ((C = 65536 + ((C - 55296) << 10) + (m - 56320)), t++)); K += 128 > C ? 1 : 2048 > C ? 2 : 65536 > C ? 3 : 4; } var Y = new ia.Buf8(K); for (t = B = 0; B < K; t++) (C = k.charCodeAt(t)), 55296 === (64512 & C) && t + 1 < A && ((m = k.charCodeAt(t + 1)), 56320 === (64512 & m) && ((C = 65536 + ((C - 55296) << 10) + (m - 56320)), t++)), 128 > C ? (Y[B++] = C) : 2048 > C ? ((Y[B++] = 192 | (C >>> 6)), (Y[B++] = 128 | (63 & C))) : 65536 > C ? ((Y[B++] = 224 | (C >>> 12)), (Y[B++] = 128 | ((C >>> 6) & 63)), (Y[B++] = 128 | (63 & C))) : ((Y[B++] = 240 | (C >>> 18)), (Y[B++] = 128 | ((C >>> 12) & 63)), (Y[B++] = 128 | ((C >>> 6) & 63)), (Y[B++] = 128 | (63 & C))); return Y; }; K.buf2binstring = function (k) { return Y(k, k.length); }; K.binstring2buf = function (k) { for (var m = new ia.Buf8(k.length), t = 0, B = m.length; t < B; t++) m[t] = k.charCodeAt(t); return m; }; K.buf2string = function (k, t) { var x, B, A, K = t || k.length, C = Array(2 * K); for (t = x = 0; t < K; ) if (((B = k[t++]), 128 > B)) C[x++] = B; else if (((A = m[B]), 4 < A)) (C[x++] = 65533), (t += A - 1); else { for (B &= 2 === A ? 31 : 3 === A ? 15 : 7; 1 < A && t < K; ) (B = (B << 6) | (63 & k[t++])), A--; 1 < A ? (C[x++] = 65533) : 65536 > B ? (C[x++] = B) : ((B -= 65536), (C[x++] = 55296 | ((B >> 10) & 1023)), (C[x++] = 56320 | (1023 & B))); } return Y(C, x); }; K.utf8border = function (k, t) { var x; t = t || k.length; t > k.length && (t = k.length); for (x = t - 1; 0 <= x && 128 === (192 & k[x]); ) x--; return 0 > x ? t : 0 === x ? t : x + m[k[x]] > t ? x : t; }; }, { './common': 3 } ], 5: [ function (A, V, K) { V.exports = function (A, K, t, V) { var m = (65535 & A) | 0; A = ((A >>> 16) & 65535) | 0; for (var k; 0 !== t; ) { k = 2e3 < t ? 2e3 : t; t -= k; do (m = (m + K[V++]) | 0), (A = (A + m) | 0); while (--k); m %= 65521; A %= 65521; } return m | (A << 16) | 0; }; }, {} ], 6: [ function (A, V, K) { V.exports = { Z_NO_FLUSH: 0, Z_PARTIAL_FLUSH: 1, Z_SYNC_FLUSH: 2, Z_FULL_FLUSH: 3, Z_FINISH: 4, Z_BLOCK: 5, Z_TREES: 6, Z_OK: 0, Z_STREAM_END: 1, Z_NEED_DICT: 2, Z_ERRNO: -1, Z_STREAM_ERROR: -2, Z_DATA_ERROR: -3, Z_BUF_ERROR: -5, Z_NO_COMPRESSION: 0, Z_BEST_SPEED: 1, Z_BEST_COMPRESSION: 9, Z_DEFAULT_COMPRESSION: -1, Z_FILTERED: 1, Z_HUFFMAN_ONLY: 2, Z_RLE: 3, Z_FIXED: 4, Z_DEFAULT_STRATEGY: 0, Z_BINARY: 0, Z_TEXT: 1, Z_UNKNOWN: 2, Z_DEFLATED: 8 }; }, {} ], 7: [ function (A, V, K) { var Y = (function () { for (var A, t = [], K = 0; 256 > K; K++) { A = K; for (var m = 0; 8 > m; m++) A = 1 & A ? 3988292384 ^ (A >>> 1) : A >>> 1; t[K] = A; } return t; })(); V.exports = function (A, t, K, m) { K = m + K; for (A ^= -1; m < K; m++) A = (A >>> 8) ^ Y[255 & (A ^ t[m])]; return A ^ -1; }; }, {} ], 8: [ function (A, V, K) { function Y(k, m) { return (k.msg = Fd[m]), m; } function ia(k) { for (var m = k.length; 0 <= --m; ) k[m] = 0; } function t(k) { var m = k.state, t = m.pending; t > k.avail_out && (t = k.avail_out); 0 !== t && (aa.arraySet(k.output, m.pending_buf, m.pending_out, t, k.next_out), (k.next_out += t), (m.pending_out += t), (k.total_out += t), (k.avail_out -= t), (m.pending -= t), 0 === m.pending && (m.pending_out = 0)); } function La(k, m) { Pd._tr_flush_block( k, 0 <= k.block_start ? k.block_start : -1, k.strstart - k.block_start, m ); k.block_start = k.strstart; t(k.strm); } function m(k, m) { k.pending_buf[k.pending++] = m; } function k(k, m) { k.pending_buf[k.pending++] = (m >>> 8) & 255; k.pending_buf[k.pending++] = 255 & m; } function x(k, m) { var t, x, G = k.max_chain_length, z = k.strstart, A = k.prev_length, B = k.nice_match, C = k.strstart > k.w_size - xa ? k.strstart - (k.w_size - xa) : 0, F = k.window, N = k.w_mask, K = k.prev, P = k.strstart + Ca, T = F[z + A - 1], S = F[z + A]; k.prev_length >= k.good_match && (G >>= 2); B > k.lookahead && (B = k.lookahead); do if ( ((t = m), F[t + A] === S && F[t + A - 1] === T && F[t] === F[z] && F[++t] === F[z + 1]) ) { z += 2; for ( t++; F[++z] === F[++t] && F[++z] === F[++t] && F[++z] === F[++t] && F[++z] === F[++t] && F[++z] === F[++t] && F[++z] === F[++t] && F[++z] === F[++t] && F[++z] === F[++t] && z < P; ); if (((x = Ca - (P - z)), (z = P - Ca), x > A)) { if (((k.match_start = m), (A = x), x >= B)) break; T = F[z + A - 1]; S = F[z + A]; } } while ((m = K[m & N]) > C && 0 !== --G); return A <= k.lookahead ? A : k.lookahead; } function N(k) { var m, t, x = k.w_size; do { if (((t = k.window_size - k.lookahead - k.strstart), k.strstart >= x + (x - xa))) { aa.arraySet(k.window, k.window, x, x, 0); k.match_start -= x; k.strstart -= x; k.block_start -= x; var G = (m = k.hash_size); do { var A = k.head[--G]; k.head[G] = A >= x ? A - x : 0; } while (--m); G = m = x; do (A = k.prev[--G]), (k.prev[G] = A >= x ? A - x : 0); while (--m); t += x; } if (0 === k.strm.avail_in) break; G = k.strm; A = k.window; var B = k.strstart + k.lookahead, C = G.avail_in; if ( ((m = (C > t && (C = t), 0 === C ? 0 : ((G.avail_in -= C), aa.arraySet(A, G.input, G.next_in, C, B), 1 === G.state.wrap ? (G.adler = z(G.adler, A, C, B)) : 2 === G.state.wrap && (G.adler = hb(G.adler, A, C, B)), (G.next_in += C), (G.total_in += C), C))), (k.lookahead += m), k.lookahead + k.insert >= Xa) ) for ( t = k.strstart - k.insert, k.ins_h = k.window[t], k.ins_h = ((k.ins_h << k.hash_shift) ^ k.window[t + 1]) & k.hash_mask; k.insert && ((k.ins_h = ((k.ins_h << k.hash_shift) ^ k.window[t + Xa - 1]) & k.hash_mask), (k.prev[t & k.w_mask] = k.head[k.ins_h]), (k.head[k.ins_h] = t), t++, k.insert--, !(k.lookahead + k.insert < Xa)); ); } while (k.lookahead < xa && 0 !== k.strm.avail_in); } function B(k, m) { for (var t, G; ; ) { if (k.lookahead < xa) { if ((N(k), k.lookahead < xa && m === Ga)) return ja; if (0 === k.lookahead) break; } if ( ((t = 0), k.lookahead >= Xa && ((k.ins_h = ((k.ins_h << k.hash_shift) ^ k.window[k.strstart + Xa - 1]) & k.hash_mask), (t = k.prev[k.strstart & k.w_mask] = k.head[k.ins_h]), (k.head[k.ins_h] = k.strstart)), 0 !== t && k.strstart - t <= k.w_size - xa && (k.match_length = x(k, t)), k.match_length >= Xa) ) if ( ((G = Pd._tr_tally(k, k.strstart - k.match_start, k.match_length - Xa)), (k.lookahead -= k.match_length), k.match_length <= k.max_lazy_match && k.lookahead >= Xa) ) { k.match_length--; do k.strstart++, (k.ins_h = ((k.ins_h << k.hash_shift) ^ k.window[k.strstart + Xa - 1]) & k.hash_mask), (t = k.prev[k.strstart & k.w_mask] = k.head[k.ins_h]), (k.head[k.ins_h] = k.strstart); while (0 !== --k.match_length); k.strstart++; } else (k.strstart += k.match_length), (k.match_length = 0), (k.ins_h = k.window[k.strstart]), (k.ins_h = ((k.ins_h << k.hash_shift) ^ k.window[k.strstart + 1]) & k.hash_mask); else (G = Pd._tr_tally(k, 0, k.window[k.strstart])), k.lookahead--, k.strstart++; if (G && (La(k, !1), 0 === k.strm.avail_out)) return ja; } return ( (k.insert = k.strstart < Xa - 1 ? k.strstart : Xa - 1), m === T ? (La(k, !0), 0 === k.strm.avail_out ? kc : Rb) : k.last_lit && (La(k, !1), 0 === k.strm.avail_out) ? ja : P ); } function Aa(k, m) { for (var t, G, z; ; ) { if (k.lookahead < xa) { if ((N(k), k.lookahead < xa && m === Ga)) return ja; if (0 === k.lookahead) break; } if ( ((t = 0), k.lookahead >= Xa && ((k.ins_h = ((k.ins_h << k.hash_shift) ^ k.window[k.strstart + Xa - 1]) & k.hash_mask), (t = k.prev[k.strstart & k.w_mask] = k.head[k.ins_h]), (k.head[k.ins_h] = k.strstart)), (k.prev_length = k.match_length), (k.prev_match = k.match_start), (k.match_length = Xa - 1), 0 !== t && k.prev_length < k.max_lazy_match && k.strstart - t <= k.w_size - xa && ((k.match_length = x(k, t)), 5 >= k.match_length && (k.strategy === ne || (k.match_length === Xa && 4096 < k.strstart - k.match_start)) && (k.match_length = Xa - 1)), k.prev_length >= Xa && k.match_length <= k.prev_length) ) { z = k.strstart + k.lookahead - Xa; G = Pd._tr_tally(k, k.strstart - 1 - k.prev_match, k.prev_length - Xa); k.lookahead -= k.prev_length - 1; k.prev_length -= 2; do ++k.strstart <= z && ((k.ins_h = ((k.ins_h << k.hash_shift) ^ k.window[k.strstart + Xa - 1]) & k.hash_mask), (t = k.prev[k.strstart & k.w_mask] = k.head[k.ins_h]), (k.head[k.ins_h] = k.strstart)); while (0 !== --k.prev_length); if ( ((k.match_available = 0), (k.match_length = Xa - 1), k.strstart++, G && (La(k, !1), 0 === k.strm.avail_out)) ) return ja; } else if (k.match_available) { if ( ((G = Pd._tr_tally(k, 0, k.window[k.strstart - 1])), G && La(k, !1), k.strstart++, k.lookahead--, 0 === k.strm.avail_out) ) return ja; } else (k.match_available = 1), k.strstart++, k.lookahead--; } return ( k.match_available && (Pd._tr_tally(k, 0, k.window[k.strstart - 1]), (k.match_available = 0)), (k.insert = k.strstart < Xa - 1 ? k.strstart : Xa - 1), m === T ? (La(k, !0), 0 === k.strm.avail_out ? kc : Rb) : k.last_lit && (La(k, !1), 0 === k.strm.avail_out) ? ja : P ); } function Ja(k, m, t, x, z) { this.good_length = k; this.max_lazy = m; this.nice_length = t; this.max_chain = x; this.func = z; } function C() { this.strm = null; this.status = 0; this.pending_buf = null; this.wrap = this.pending = this.pending_out = this.pending_buf_size = 0; this.gzhead = null; this.gzindex = 0; this.method = Ab; this.last_flush = -1; this.w_mask = this.w_bits = this.w_size = 0; this.window = null; this.window_size = 0; this.head = this.prev = null; this.nice_match = this.good_match = this.strategy = this.level = this.max_lazy_match = this.max_chain_length = this.prev_length = this.lookahead = this.match_start = this.strstart = this.match_available = this.prev_match = this.match_length = this.block_start = this.hash_shift = this.hash_mask = this.hash_bits = this.hash_size = this.ins_h = 0; this.dyn_ltree = new aa.Buf16(2 * Ka); this.dyn_dtree = new aa.Buf16(2 * (2 * Jc + 1)); this.bl_tree = new aa.Buf16(2 * (2 * F + 1)); ia(this.dyn_ltree); ia(this.dyn_dtree); ia(this.bl_tree); this.bl_desc = this.d_desc = this.l_desc = null; this.bl_count = new aa.Buf16(xb + 1); this.heap = new aa.Buf16(2 * dd + 1); ia(this.heap); this.heap_max = this.heap_len = 0; this.depth = new aa.Buf16(2 * dd + 1); ia(this.depth); this.bi_valid = this.bi_buf = this.insert = this.matches = this.static_len = this.opt_len = this.d_buf = this.last_lit = this.lit_bufsize = this.l_buf = 0; } function td(k) { var m; return k && k.state ? ((k.total_in = k.total_out = 0), (k.data_type = oe), (m = k.state), (m.pending = 0), (m.pending_out = 0), 0 > m.wrap && (m.wrap = -m.wrap), (m.status = m.wrap ? ua : S), (k.adler = 2 === m.wrap ? 0 : 1), (m.last_flush = Ga), Pd._tr_init(m), sb) : Y(k, ma); } function kd(k) { var m = td(k); m === sb && ((k = k.state), (k.window_size = 2 * k.w_size), ia(k.head), (k.max_lazy_match = mc[k.level].max_lazy), (k.good_match = mc[k.level].good_length), (k.nice_match = mc[k.level].nice_length), (k.max_chain_length = mc[k.level].max_chain), (k.strstart = 0), (k.block_start = 0), (k.lookahead = 0), (k.insert = 0), (k.match_length = k.prev_length = Xa - 1), (k.match_available = 0), (k.ins_h = 0)); return m; } function Je(k, m, t, x, z, A) { if (!k) return ma; var G = 1; if ( (m === Ba && (m = 6), 0 > x ? ((G = 0), (x = -x)) : 15 < x && ((G = 2), (x -= 16)), 1 > z || z > ud || t !== Ab || 8 > x || 15 < x || 0 > m || 9 < m || 0 > A || A > cb) ) return Y(k, ma); 8 === x && (x = 9); var H = new C(); return ( (k.state = H), (H.strm = k), (H.wrap = G), (H.gzhead = null), (H.w_bits = x), (H.w_size = 1 << H.w_bits), (H.w_mask = H.w_size - 1), (H.hash_bits = z + 7), (H.hash_size = 1 << H.hash_bits), (H.hash_mask = H.hash_size - 1), (H.hash_shift = ~~((H.hash_bits + Xa - 1) / Xa)), (H.window = new aa.Buf8(2 * H.w_size)), (H.head = new aa.Buf16(H.hash_size)), (H.prev = new aa.Buf16(H.w_size)), (H.lit_bufsize = 1 << (z + 6)), (H.pending_buf_size = 4 * H.lit_bufsize), (H.pending_buf = new aa.Buf8(H.pending_buf_size)), (H.d_buf = 1 * H.lit_bufsize), (H.l_buf = 3 * H.lit_bufsize), (H.level = m), (H.strategy = A), (H.method = t), kd(k) ); } var aa = A('../utils/common'), Pd = A('./trees'), z = A('./adler32'), hb = A('./crc32'), Fd = A('./messages'), Ga = 0, T = 4, sb = 0, ma = -2, Ba = -1, ne = 1, cb = 4, oe = 2, Ab = 8, ud = 9, dd = 286, Jc = 30, F = 19, Ka = 2 * dd + 1, xb = 15, Xa = 3, Ca = 258, xa = Ca + Xa + 1, ua = 42, S = 113, ja = 1, P = 2, kc = 3, Rb = 4; var mc = [ new Ja(0, 0, 0, 0, function (k, m) { var t = 65535; for (t > k.pending_buf_size - 5 && (t = k.pending_buf_size - 5); ; ) { if (1 >= k.lookahead) { if ((N(k), 0 === k.lookahead && m === Ga)) return ja; if (0 === k.lookahead) break; } k.strstart += k.lookahead; k.lookahead = 0; var x = k.block_start + t; if ( ((0 === k.strstart || k.strstart >= x) && ((k.lookahead = k.strstart - x), (k.strstart = x), La(k, !1), 0 === k.strm.avail_out)) || (k.strstart - k.block_start >= k.w_size - xa && (La(k, !1), 0 === k.strm.avail_out)) ) return ja; } return ( (k.insert = 0), m === T ? (La(k, !0), 0 === k.strm.avail_out ? kc : Rb) : (k.strstart > k.block_start && La(k, !1), ja) ); }), new Ja(4, 4, 8, 4, B), new Ja(4, 5, 16, 8, B), new Ja(4, 6, 32, 32, B), new Ja(4, 4, 16, 16, Aa), new Ja(8, 16, 32, 32, Aa), new Ja(8, 16, 128, 128, Aa), new Ja(8, 32, 128, 256, Aa), new Ja(32, 128, 258, 1024, Aa), new Ja(32, 258, 258, 4096, Aa) ]; K.deflateInit = function (k, m) { return Je(k, m, Ab, 15, 8, 0); }; K.deflateInit2 = Je; K.deflateReset = kd; K.deflateResetKeep = td; K.deflateSetHeader = function (k, m) { return k && k.state ? (2 !== k.state.wrap ? ma : ((k.state.gzhead = m), sb)) : ma; }; K.deflate = function (x, z) { var A, H; if (!x || !x.state || 5 < z || 0 > z) return x ? Y(x, ma) : ma; if ( ((H = x.state), !x.output || (!x.input && 0 !== x.avail_in) || (666 === H.status && z !== T)) ) return Y(x, 0 === x.avail_out ? -5 : ma); if (((H.strm = x), (A = H.last_flush), (H.last_flush = z), H.status === ua)) if (2 === H.wrap) (x.adler = 0), m(H, 31), m(H, 139), m(H, 8), H.gzhead ? (m( H, (H.gzhead.text ? 1 : 0) + (H.gzhead.hcrc ? 2 : 0) + (H.gzhead.extra ? 4 : 0) + (H.gzhead.name ? 8 : 0) + (H.gzhead.comment ? 16 : 0) ), m(H, 255 & H.gzhead.time), m(H, (H.gzhead.time >> 8) & 255), m(H, (H.gzhead.time >> 16) & 255), m(H, (H.gzhead.time >> 24) & 255), m(H, 9 === H.level ? 2 : 2 <= H.strategy || 2 > H.level ? 4 : 0), m(H, 255 & H.gzhead.os), H.gzhead.extra && H.gzhead.extra.length && (m(H, 255 & H.gzhead.extra.length), m(H, (H.gzhead.extra.length >> 8) & 255)), H.gzhead.hcrc && (x.adler = hb(x.adler, H.pending_buf, H.pending, 0)), (H.gzindex = 0), (H.status = 69)) : (m(H, 0), m(H, 0), m(H, 0), m(H, 0), m(H, 0), m(H, 9 === H.level ? 2 : 2 <= H.strategy || 2 > H.level ? 4 : 0), m(H, 3), (H.status = S)); else { var B = (Ab + ((H.w_bits - 8) << 4)) << 8; B |= (2 <= H.strategy || 2 > H.level ? 0 : 6 > H.level ? 1 : 6 === H.level ? 2 : 3) << 6; 0 !== H.strstart && (B |= 32); H.status = S; k(H, B + (31 - (B % 31))); 0 !== H.strstart && (k(H, x.adler >>> 16), k(H, 65535 & x.adler)); x.adler = 1; } if (69 === H.status) if (H.gzhead.extra) { for ( B = H.pending; H.gzindex < (65535 & H.gzhead.extra.length) && (H.pending !== H.pending_buf_size || (H.gzhead.hcrc && H.pending > B && (x.adler = hb(x.adler, H.pending_buf, H.pending - B, B)), t(x), (B = H.pending), H.pending !== H.pending_buf_size)); ) m(H, 255 & H.gzhead.extra[H.gzindex]), H.gzindex++; H.gzhead.hcrc && H.pending > B && (x.adler = hb(x.adler, H.pending_buf, H.pending - B, B)); H.gzindex === H.gzhead.extra.length && ((H.gzindex = 0), (H.status = 73)); } else H.status = 73; if (73 === H.status) if (H.gzhead.name) { B = H.pending; do { if ( H.pending === H.pending_buf_size && (H.gzhead.hcrc && H.pending > B && (x.adler = hb(x.adler, H.pending_buf, H.pending - B, B)), t(x), (B = H.pending), H.pending === H.pending_buf_size) ) { var C = 1; break; } C = H.gzindex < H.gzhead.name.length ? 255 & H.gzhead.name.charCodeAt(H.gzindex++) : 0; m(H, C); } while (0 !== C); H.gzhead.hcrc && H.pending > B && (x.adler = hb(x.adler, H.pending_buf, H.pending - B, B)); 0 === C && ((H.gzindex = 0), (H.status = 91)); } else H.status = 91; if (91 === H.status) if (H.gzhead.comment) { B = H.pending; do { if ( H.pending === H.pending_buf_size && (H.gzhead.hcrc && H.pending > B && (x.adler = hb(x.adler, H.pending_buf, H.pending - B, B)), t(x), (B = H.pending), H.pending === H.pending_buf_size) ) { C = 1; break; } C = H.gzindex < H.gzhead.comment.length ? 255 & H.gzhead.comment.charCodeAt(H.gzindex++) : 0; m(H, C); } while (0 !== C); H.gzhead.hcrc && H.pending > B && (x.adler = hb(x.adler, H.pending_buf, H.pending - B, B)); 0 === C && (H.status = 103); } else H.status = 103; if ( (103 === H.status && (H.gzhead.hcrc ? (H.pending + 2 > H.pending_buf_size && t(x), H.pending + 2 <= H.pending_buf_size && (m(H, 255 & x.adler), m(H, (x.adler >> 8) & 255), (x.adler = 0), (H.status = S))) : (H.status = S)), 0 !== H.pending) ) { if ((t(x), 0 === x.avail_out)) return (H.last_flush = -1), sb; } else if ( 0 === x.avail_in && (z << 1) - (4 < z ? 9 : 0) <= (A << 1) - (4 < A ? 9 : 0) && z !== T ) return Y(x, -5); if (666 === H.status && 0 !== x.avail_in) return Y(x, -5); if (0 !== x.avail_in || 0 !== H.lookahead || (z !== Ga && 666 !== H.status)) { if (2 === H.strategy) a: { for (var G; ; ) { if (0 === H.lookahead && (N(H), 0 === H.lookahead)) { if (z === Ga) { var F = ja; break a; } break; } if ( ((H.match_length = 0), (G = Pd._tr_tally(H, 0, H.window[H.strstart])), H.lookahead--, H.strstart++, G && (La(H, !1), 0 === H.strm.avail_out)) ) { F = ja; break a; } } F = ((H.insert = 0), z === T ? (La(H, !0), 0 === H.strm.avail_out ? kc : Rb) : H.last_lit && (La(H, !1), 0 === H.strm.avail_out) ? ja : P); } else if (3 === H.strategy) a: { var K, aa; for (G = H.window; ; ) { if (H.lookahead <= Ca) { if ((N(H), H.lookahead <= Ca && z === Ga)) { F = ja; break a; } if (0 === H.lookahead) break; } if ( ((H.match_length = 0), H.lookahead >= Xa && 0 < H.strstart && ((aa = H.strstart - 1), (K = G[aa]), K === G[++aa] && K === G[++aa] && K === G[++aa])) ) { for ( A = H.strstart + Ca; K === G[++aa] && K === G[++aa] && K === G[++aa] && K === G[++aa] && K === G[++aa] && K === G[++aa] && K === G[++aa] && K === G[++aa] && aa < A; ); H.match_length = Ca - (A - aa); H.match_length > H.lookahead && (H.match_length = H.lookahead); } if ( (H.match_length >= Xa ? ((F = Pd._tr_tally(H, 1, H.match_length - Xa)), (H.lookahead -= H.match_length), (H.strstart += H.match_length), (H.match_length = 0)) : ((F = Pd._tr_tally(H, 0, H.window[H.strstart])), H.lookahead--, H.strstart++), F && (La(H, !1), 0 === H.strm.avail_out)) ) { F = ja; break a; } } F = ((H.insert = 0), z === T ? (La(H, !0), 0 === H.strm.avail_out ? kc : Rb) : H.last_lit && (La(H, !1), 0 === H.strm.avail_out) ? ja : P); } else F = mc[H.level].func(H, z); if (((F !== kc && F !== Rb) || (H.status = 666), F === ja || F === kc)) return 0 === x.avail_out && (H.last_flush = -1), sb; if ( F === P && (1 === z ? Pd._tr_align(H) : 5 !== z && (Pd._tr_stored_block(H, 0, 0, !1), 3 === z && (ia(H.head), 0 === H.lookahead && ((H.strstart = 0), (H.block_start = 0), (H.insert = 0)))), t(x), 0 === x.avail_out) ) return (H.last_flush = -1), sb; } return z !== T ? sb : 0 >= H.wrap ? 1 : (2 === H.wrap ? (m(H, 255 & x.adler), m(H, (x.adler >> 8) & 255), m(H, (x.adler >> 16) & 255), m(H, (x.adler >> 24) & 255), m(H, 255 & x.total_in), m(H, (x.total_in >> 8) & 255), m(H, (x.total_in >> 16) & 255), m(H, (x.total_in >> 24) & 255)) : (k(H, x.adler >>> 16), k(H, 65535 & x.adler)), t(x), 0 < H.wrap && (H.wrap = -H.wrap), 0 !== H.pending ? sb : 1); }; K.deflateEnd = function (k) { var m; return k && k.state ? ((m = k.state.status), m !== ua && 69 !== m && 73 !== m && 91 !== m && 103 !== m && m !== S && 666 !== m ? Y(k, ma) : ((k.state = null), m === S ? Y(k, -3) : sb)) : ma; }; K.deflateSetDictionary = function (k, m) { var t, x, A; var B = m.length; if ( !k || !k.state || ((t = k.state), (x = t.wrap), 2 === x || (1 === x && t.status !== ua) || t.lookahead) ) return ma; 1 === x && (k.adler = z(k.adler, m, B, 0)); t.wrap = 0; B >= t.w_size && (0 === x && (ia(t.head), (t.strstart = 0), (t.block_start = 0), (t.insert = 0)), (A = new aa.Buf8(t.w_size)), aa.arraySet(A, m, B - t.w_size, t.w_size, 0), (m = A), (B = t.w_size)); A = k.avail_in; var C = k.next_in; var F = k.input; k.avail_in = B; k.next_in = 0; k.input = m; for (N(t); t.lookahead >= Xa; ) { m = t.strstart; B = t.lookahead - (Xa - 1); do (t.ins_h = ((t.ins_h << t.hash_shift) ^ t.window[m + Xa - 1]) & t.hash_mask), (t.prev[m & t.w_mask] = t.head[t.ins_h]), (t.head[t.ins_h] = m), m++; while (--B); t.strstart = m; t.lookahead = Xa - 1; N(t); } return ( (t.strstart += t.lookahead), (t.block_start = t.strstart), (t.insert = t.lookahead), (t.lookahead = 0), (t.match_length = t.prev_length = Xa - 1), (t.match_available = 0), (k.next_in = C), (k.input = F), (k.avail_in = A), (t.wrap = x), sb ); }; K.deflateInfo = 'pako deflate (from Nodeca project)'; }, { '../utils/common': 3, './adler32': 5, './crc32': 7, './messages': 13, './trees': 14 } ], 9: [ function (A, V, K) { V.exports = function () { this.os = this.xflags = this.time = this.text = 0; this.extra = null; this.extra_len = 0; this.comment = this.name = ''; this.hcrc = 0; this.done = !1; }; }, {} ], 10: [ function (A, V, K) { V.exports = function (A, K) { var t, Y, m; var k = A.state; var x = A.next_in; var N = A.input; var B = x + (A.avail_in - 5); var V = A.next_out; var ia = A.output; K = V - (K - A.avail_out); var C = V + (A.avail_out - 257); var td = k.dmax; var kd = k.wsize; var Je = k.whave; var aa = k.wnext; var Pd = k.window; var z = k.hold; var hb = k.bits; var Fd = k.lencode; var Ga = k.distcode; var T = (1 << k.lenbits) - 1; var sb = (1 << k.distbits) - 1; a: do { 15 > hb && ((z += N[x++] << hb), (hb += 8), (z += N[x++] << hb), (hb += 8)); var ma = Fd[z & T]; b: for (;;) { if (((t = ma >>> 24), (z >>>= t), (hb -= t), (t = (ma >>> 16) & 255), 0 === t)) ia[V++] = 65535 & ma; else { if (!(16 & t)) { if (0 === (64 & t)) { ma = Fd[(65535 & ma) + (z & ((1 << t) - 1))]; continue b; } if (32 & t) { k.mode = 12; break a; } A.msg = 'invalid literal/length code'; k.mode = 30; break a; } var Ba = 65535 & ma; (t &= 15) && (hb < t && ((z += N[x++] << hb), (hb += 8)), (Ba += z & ((1 << t) - 1)), (z >>>= t), (hb -= t)); 15 > hb && ((z += N[x++] << hb), (hb += 8), (z += N[x++] << hb), (hb += 8)); ma = Ga[z & sb]; c: for (;;) { if ( ((t = ma >>> 24), (z >>>= t), (hb -= t), (t = (ma >>> 16) & 255), !(16 & t)) ) { if (0 === (64 & t)) { ma = Ga[(65535 & ma) + (z & ((1 << t) - 1))]; continue c; } A.msg = 'invalid distance code'; k.mode = 30; break a; } if ( ((Y = 65535 & ma), (t &= 15), hb < t && ((z += N[x++] << hb), (hb += 8), hb < t && ((z += N[x++] << hb), (hb += 8))), (Y += z & ((1 << t) - 1)), Y > td) ) { A.msg = 'invalid distance too far back'; k.mode = 30; break a; } if (((z >>>= t), (hb -= t), (t = V - K), Y > t)) { if (((t = Y - t), t > Je && k.sane)) { A.msg = 'invalid distance too far back'; k.mode = 30; break a; } if (((ma = 0), (m = Pd), 0 === aa)) { if (((ma += kd - t), t < Ba)) { Ba -= t; do ia[V++] = Pd[ma++]; while (--t); ma = V - Y; m = ia; } } else if (aa < t) { if (((ma += kd + aa - t), (t -= aa), t < Ba)) { Ba -= t; do ia[V++] = Pd[ma++]; while (--t); if (((ma = 0), aa < Ba)) { t = aa; Ba -= t; do ia[V++] = Pd[ma++]; while (--t); ma = V - Y; m = ia; } } } else if (((ma += aa - t), t < Ba)) { Ba -= t; do ia[V++] = Pd[ma++]; while (--t); ma = V - Y; m = ia; } for (; 2 < Ba; ) (ia[V++] = m[ma++]), (ia[V++] = m[ma++]), (ia[V++] = m[ma++]), (Ba -= 3); Ba && ((ia[V++] = m[ma++]), 1 < Ba && (ia[V++] = m[ma++])); } else { ma = V - Y; do (ia[V++] = ia[ma++]), (ia[V++] = ia[ma++]), (ia[V++] = ia[ma++]), (Ba -= 3); while (2 < Ba); Ba && ((ia[V++] = ia[ma++]), 1 < Ba && (ia[V++] = ia[ma++])); } break; } } break; } } while (x < B && V < C); Ba = hb >> 3; x -= Ba; hb -= Ba << 3; A.next_in = x; A.next_out = V; A.avail_in = x < B ? 5 + (B - x) : 5 - (x - B); A.avail_out = V < C ? 257 + (C - V) : 257 - (V - C); k.hold = z & ((1 << hb) - 1); k.bits = hb; }; }, {} ], 11: [ function (A, V, K) { function Y(k) { return ( ((k >>> 24) & 255) + ((k >>> 8) & 65280) + ((65280 & k) << 8) + ((255 & k) << 24) ); } function ia() { this.mode = 0; this.last = !1; this.wrap = 0; this.havedict = !1; this.total = this.check = this.dmax = this.flags = 0; this.head = null; this.wnext = this.whave = this.wsize = this.wbits = 0; this.window = null; this.extra = this.offset = this.length = this.bits = this.hold = 0; this.distcode = this.lencode = null; this.have = this.ndist = this.nlen = this.ncode = this.distbits = this.lenbits = 0; this.next = null; this.lens = new Aa.Buf16(320); this.work = new Aa.Buf16(288); this.distdyn = this.lendyn = null; this.was = this.back = this.sane = 0; } function t(k) { var m; return k && k.state ? ((m = k.state), (k.total_in = k.total_out = m.total = 0), (k.msg = ''), m.wrap && (k.adler = 1 & m.wrap), (m.mode = Pd), (m.last = 0), (m.havedict = 0), (m.dmax = 32768), (m.head = null), (m.hold = 0), (m.bits = 0), (m.lencode = m.lendyn = new Aa.Buf32(z)), (m.distcode = m.distdyn = new Aa.Buf32(hb)), (m.sane = 1), (m.back = -1), Je) : aa; } function La(k) { var m; return k && k.state ? ((m = k.state), (m.wsize = 0), (m.whave = 0), (m.wnext = 0), t(k)) : aa; } function m(k, m) { var t, x; return k && k.state ? ((x = k.state), 0 > m ? ((t = 0), (m = -m)) : ((t = (m >> 4) + 1), 48 > m && (m &= 15)), m && (8 > m || 15 < m) ? aa : (null !== x.window && x.wbits !== m && (x.window = null), (x.wrap = t), (x.wbits = m), La(k))) : aa; } function k(k, t) { var x, A; return k ? ((A = new ia()), (k.state = A), (A.window = null), (x = m(k, t)), x !== Je && (k.state = null), x) : aa; } function x(k, m, t, x) { var A; k = k.state; return ( null === k.window && ((k.wsize = 1 << k.wbits), (k.wnext = 0), (k.whave = 0), (k.window = new Aa.Buf8(k.wsize))), x >= k.wsize ? (Aa.arraySet(k.window, m, t - k.wsize, k.wsize, 0), (k.wnext = 0), (k.whave = k.wsize)) : ((A = k.wsize - k.wnext), A > x && (A = x), Aa.arraySet(k.window, m, t - x, A, k.wnext), (x -= A), x ? (Aa.arraySet(k.window, m, t - x, x, 0), (k.wnext = x), (k.whave = k.wsize)) : ((k.wnext += A), k.wnext === k.wsize && (k.wnext = 0), k.whave < k.wsize && (k.whave += A))), 0 ); } var N, B, Aa = A('../utils/common'), Ja = A('./adler32'), C = A('./crc32'), td = A('./inffast'), kd = A('./inftrees'), Je = 0, aa = -2, Pd = 1, z = 852, hb = 592, Fd = !0; K.inflateReset = La; K.inflateReset2 = m; K.inflateResetKeep = t; K.inflateInit = function (m) { return k(m, 15); }; K.inflateInit2 = k; K.inflate = function (k, m) { var t, A, z, K, T, V, ia, Ga = 0, La = new Aa.Buf8(4), hb = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]; if (!k || !k.state || !k.output || (!k.input && 0 !== k.avail_in)) return aa; var F = k.state; 12 === F.mode && (F.mode = 13); var Ka = k.next_out; var xb = k.output; var Xa = k.avail_out; var Ca = k.next_in; var xa = k.input; var ua = k.avail_in; var S = F.hold; var ja = F.bits; var P = ua; var kc = Xa; var Rb = Je; a: for (;;) switch (F.mode) { case Pd: if (0 === F.wrap) { F.mode = 13; break; } for (; 16 > ja; ) { if (0 === ua) break a; ua--; S += xa[Ca++] << ja; ja += 8; } if (2 & F.wrap && 35615 === S) { F.check = 0; La[0] = 255 & S; La[1] = (S >>> 8) & 255; F.check = C(F.check, La, 2, 0); ja = S = 0; F.mode = 2; break; } if ( ((F.flags = 0), F.head && (F.head.done = !1), !(1 & F.wrap) || (((255 & S) << 8) + (S >> 8)) % 31) ) { k.msg = 'incorrect header check'; F.mode = 30; break; } if (8 !== (15 & S)) { k.msg = 'unknown compression method'; F.mode = 30; break; } if (((S >>>= 4), (ja -= 4), (V = (15 & S) + 8), 0 === F.wbits)) F.wbits = V; else if (V > F.wbits) { k.msg = 'invalid window size'; F.mode = 30; break; } F.dmax = 1 << V; k.adler = F.check = 1; F.mode = 512 & S ? 10 : 12; ja = S = 0; break; case 2: for (; 16 > ja; ) { if (0 === ua) break a; ua--; S += xa[Ca++] << ja; ja += 8; } if (((F.flags = S), 8 !== (255 & F.flags))) { k.msg = 'unknown compression method'; F.mode = 30; break; } if (57344 & F.flags) { k.msg = 'unknown header flags set'; F.mode = 30; break; } F.head && (F.head.text = (S >> 8) & 1); 512 & F.flags && ((La[0] = 255 & S), (La[1] = (S >>> 8) & 255), (F.check = C(F.check, La, 2, 0))); ja = S = 0; F.mode = 3; case 3: for (; 32 > ja; ) { if (0 === ua) break a; ua--; S += xa[Ca++] << ja; ja += 8; } F.head && (F.head.time = S); 512 & F.flags && ((La[0] = 255 & S), (La[1] = (S >>> 8) & 255), (La[2] = (S >>> 16) & 255), (La[3] = (S >>> 24) & 255), (F.check = C(F.check, La, 4, 0))); ja = S = 0; F.mode = 4; case 4: for (; 16 > ja; ) { if (0 === ua) break a; ua--; S += xa[Ca++] << ja; ja += 8; } F.head && ((F.head.xflags = 255 & S), (F.head.os = S >> 8)); 512 & F.flags && ((La[0] = 255 & S), (La[1] = (S >>> 8) & 255), (F.check = C(F.check, La, 2, 0))); ja = S = 0; F.mode = 5; case 5: if (1024 & F.flags) { for (; 16 > ja; ) { if (0 === ua) break a; ua--; S += xa[Ca++] << ja; ja += 8; } F.length = S; F.head && (F.head.extra_len = S); 512 & F.flags && ((La[0] = 255 & S), (La[1] = (S >>> 8) & 255), (F.check = C(F.check, La, 2, 0))); ja = S = 0; } else F.head && (F.head.extra = null); F.mode = 6; case 6: if ( 1024 & F.flags && ((t = F.length), t > ua && (t = ua), t && (F.head && ((V = F.head.extra_len - F.length), F.head.extra || (F.head.extra = Array(F.head.extra_len)), Aa.arraySet(F.head.extra, xa, Ca, t, V)), 512 & F.flags && (F.check = C(F.check, xa, t, Ca)), (ua -= t), (Ca += t), (F.length -= t)), F.length) ) break a; F.length = 0; F.mode = 7; case 7: if (2048 & F.flags) { if (0 === ua) break a; t = 0; do (V = xa[Ca + t++]), F.head && V && 65536 > F.length && (F.head.name += String.fromCharCode(V)); while (V && t < ua); if ( (512 & F.flags && (F.check = C(F.check, xa, t, Ca)), (ua -= t), (Ca += t), V) ) break a; } else F.head && (F.head.name = null); F.length = 0; F.mode = 8; case 8: if (4096 & F.flags) { if (0 === ua) break a; t = 0; do (V = xa[Ca + t++]), F.head && V && 65536 > F.length && (F.head.comment += String.fromCharCode(V)); while (V && t < ua); if ( (512 & F.flags && (F.check = C(F.check, xa, t, Ca)), (ua -= t), (Ca += t), V) ) break a; } else F.head && (F.head.comment = null); F.mode = 9; case 9: if (512 & F.flags) { for (; 16 > ja; ) { if (0 === ua) break a; ua--; S += xa[Ca++] << ja; ja += 8; } if (S !== (65535 & F.check)) { k.msg = 'header crc mismatch'; F.mode = 30; break; } ja = S = 0; } F.head && ((F.head.hcrc = (F.flags >> 9) & 1), (F.head.done = !0)); k.adler = F.check = 0; F.mode = 12; break; case 10: for (; 32 > ja; ) { if (0 === ua) break a; ua--; S += xa[Ca++] << ja; ja += 8; } k.adler = F.check = Y(S); ja = S = 0; F.mode = 11; case 11: if (0 === F.havedict) return ( (k.next_out = Ka), (k.avail_out = Xa), (k.next_in = Ca), (k.avail_in = ua), (F.hold = S), (F.bits = ja), 2 ); k.adler = F.check = 1; F.mode = 12; case 12: if (5 === m || 6 === m) break a; case 13: if (F.last) { S >>>= 7 & ja; ja -= 7 & ja; F.mode = 27; break; } for (; 3 > ja; ) { if (0 === ua) break a; ua--; S += xa[Ca++] << ja; ja += 8; } switch (((F.last = 1 & S), (S >>>= 1), --ja, 3 & S)) { case 0: F.mode = 14; break; case 1: var mc = F; if (Fd) { N = new Aa.Buf32(512); B = new Aa.Buf32(32); for (z = 0; 144 > z; ) mc.lens[z++] = 8; for (; 256 > z; ) mc.lens[z++] = 9; for (; 280 > z; ) mc.lens[z++] = 7; for (; 288 > z; ) mc.lens[z++] = 8; kd(1, mc.lens, 0, 288, N, 0, mc.work, { bits: 9 }); for (z = 0; 32 > z; ) mc.lens[z++] = 5; kd(2, mc.lens, 0, 32, B, 0, mc.work, { bits: 5 }); Fd = !1; } mc.lencode = N; mc.lenbits = 9; mc.distcode = B; mc.distbits = 5; if (((F.mode = 20), 6 === m)) { S >>>= 2; ja -= 2; break a; } break; case 2: F.mode = 17; break; case 3: (k.msg = 'invalid block type'), (F.mode = 30); } S >>>= 2; ja -= 2; break; case 14: S >>>= 7 & ja; for (ja -= 7 & ja; 32 > ja; ) { if (0 === ua) break a; ua--; S += xa[Ca++] << ja; ja += 8; } if ((65535 & S) !== ((S >>> 16) ^ 65535)) { k.msg = 'invalid stored block lengths'; F.mode = 30; break; } if (((F.length = 65535 & S), (S = 0), (ja = 0), (F.mode = 15), 6 === m)) break a; case 15: F.mode = 16; case 16: if ((t = F.length)) { if ((t > ua && (t = ua), t > Xa && (t = Xa), 0 === t)) break a; Aa.arraySet(xb, xa, Ca, t, Ka); ua -= t; Ca += t; Xa -= t; Ka += t; F.length -= t; break; } F.mode = 12; break; case 17: for (; 14 > ja; ) { if (0 === ua) break a; ua--; S += xa[Ca++] << ja; ja += 8; } if ( ((F.nlen = (31 & S) + 257), (S >>>= 5), (ja -= 5), (F.ndist = (31 & S) + 1), (S >>>= 5), (ja -= 5), (F.ncode = (15 & S) + 4), (S >>>= 4), (ja -= 4), 286 < F.nlen || 30 < F.ndist) ) { k.msg = 'too many length or distance symbols'; F.mode = 30; break; } F.have = 0; F.mode = 18; case 18: for (; F.have < F.ncode; ) { for (; 3 > ja; ) { if (0 === ua) break a; ua--; S += xa[Ca++] << ja; ja += 8; } F.lens[hb[F.have++]] = 7 & S; S >>>= 3; ja -= 3; } for (; 19 > F.have; ) F.lens[hb[F.have++]] = 0; if ( ((F.lencode = F.lendyn), (F.lenbits = 7), (ia = { bits: F.lenbits }), (Rb = kd(0, F.lens, 0, 19, F.lencode, 0, F.work, ia)), (F.lenbits = ia.bits), Rb) ) { k.msg = 'invalid code lengths set'; F.mode = 30; break; } F.have = 0; F.mode = 19; case 19: for (; F.have < F.nlen + F.ndist; ) { for ( ; (Ga = F.lencode[S & ((1 << F.lenbits) - 1)]), (K = Ga >>> 24), (mc = 65535 & Ga), !(K <= ja); ) { if (0 === ua) break a; ua--; S += xa[Ca++] << ja; ja += 8; } if (16 > mc) (S >>>= K), (ja -= K), (F.lens[F.have++] = mc); else { if (16 === mc) { for (z = K + 2; ja < z; ) { if (0 === ua) break a; ua--; S += xa[Ca++] << ja; ja += 8; } if (((S >>>= K), (ja -= K), 0 === F.have)) { k.msg = 'invalid bit length repeat'; F.mode = 30; break; } V = F.lens[F.have - 1]; t = 3 + (3 & S); S >>>= 2; ja -= 2; } else if (17 === mc) { for (z = K + 3; ja < z; ) { if (0 === ua) break a; ua--; S += xa[Ca++] << ja; ja += 8; } S >>>= K; ja -= K; V = 0; t = 3 + (7 & S); S >>>= 3; ja -= 3; } else { for (z = K + 7; ja < z; ) { if (0 === ua) break a; ua--; S += xa[Ca++] << ja; ja += 8; } S >>>= K; ja -= K; V = 0; t = 11 + (127 & S); S >>>= 7; ja -= 7; } if (F.have + t > F.nlen + F.ndist) { k.msg = 'invalid bit length repeat'; F.mode = 30; break; } for (; t--; ) F.lens[F.have++] = V; } } if (30 === F.mode) break; if (0 === F.lens[256]) { k.msg = 'invalid code -- missing end-of-block'; F.mode = 30; break; } if ( ((F.lenbits = 9), (ia = { bits: F.lenbits }), (Rb = kd(1, F.lens, 0, F.nlen, F.lencode, 0, F.work, ia)), (F.lenbits = ia.bits), Rb) ) { k.msg = 'invalid literal/lengths set'; F.mode = 30; break; } if ( ((F.distbits = 6), (F.distcode = F.distdyn), (ia = { bits: F.distbits }), (Rb = kd(2, F.lens, F.nlen, F.ndist, F.distcode, 0, F.work, ia)), (F.distbits = ia.bits), Rb) ) { k.msg = 'invalid distances set'; F.mode = 30; break; } if (((F.mode = 20), 6 === m)) break a; case 20: F.mode = 21; case 21: if (6 <= ua && 258 <= Xa) { k.next_out = Ka; k.avail_out = Xa; k.next_in = Ca; k.avail_in = ua; F.hold = S; F.bits = ja; td(k, kc); Ka = k.next_out; xb = k.output; Xa = k.avail_out; Ca = k.next_in; xa = k.input; ua = k.avail_in; S = F.hold; ja = F.bits; 12 === F.mode && (F.back = -1); break; } for ( F.back = 0; (Ga = F.lencode[S & ((1 << F.lenbits) - 1)]), (K = Ga >>> 24), (z = (Ga >>> 16) & 255), (mc = 65535 & Ga), !(K <= ja); ) { if (0 === ua) break a; ua--; S += xa[Ca++] << ja; ja += 8; } if (z && 0 === (240 & z)) { var G = K; var ce = z; for ( T = mc; (Ga = F.lencode[T + ((S & ((1 << (G + ce)) - 1)) >> G)]), (K = Ga >>> 24), (z = (Ga >>> 16) & 255), (mc = 65535 & Ga), !(G + K <= ja); ) { if (0 === ua) break a; ua--; S += xa[Ca++] << ja; ja += 8; } S >>>= G; ja -= G; F.back += G; } if (((S >>>= K), (ja -= K), (F.back += K), (F.length = mc), 0 === z)) { F.mode = 26; break; } if (32 & z) { F.back = -1; F.mode = 12; break; } if (64 & z) { k.msg = 'invalid literal/length code'; F.mode = 30; break; } F.extra = 15 & z; F.mode = 22; case 22: if (F.extra) { for (z = F.extra; ja < z; ) { if (0 === ua) break a; ua--; S += xa[Ca++] << ja; ja += 8; } F.length += S & ((1 << F.extra) - 1); S >>>= F.extra; ja -= F.extra; F.back += F.extra; } F.was = F.length; F.mode = 23; case 23: for ( ; (Ga = F.distcode[S & ((1 << F.distbits) - 1)]), (K = Ga >>> 24), (z = (Ga >>> 16) & 255), (mc = 65535 & Ga), !(K <= ja); ) { if (0 === ua) break a; ua--; S += xa[Ca++] << ja; ja += 8; } if (0 === (240 & z)) { G = K; ce = z; for ( T = mc; (Ga = F.distcode[T + ((S & ((1 << (G + ce)) - 1)) >> G)]), (K = Ga >>> 24), (z = (Ga >>> 16) & 255), (mc = 65535 & Ga), !(G + K <= ja); ) { if (0 === ua) break a; ua--; S += xa[Ca++] << ja; ja += 8; } S >>>= G; ja -= G; F.back += G; } if (((S >>>= K), (ja -= K), (F.back += K), 64 & z)) { k.msg = 'invalid distance code'; F.mode = 30; break; } F.offset = mc; F.extra = 15 & z; F.mode = 24; case 24: if (F.extra) { for (z = F.extra; ja < z; ) { if (0 === ua) break a; ua--; S += xa[Ca++] << ja; ja += 8; } F.offset += S & ((1 << F.extra) - 1); S >>>= F.extra; ja -= F.extra; F.back += F.extra; } if (F.offset > F.dmax) { k.msg = 'invalid distance too far back'; F.mode = 30; break; } F.mode = 25; case 25: if (0 === Xa) break a; if (((t = kc - Xa), F.offset > t)) { if (((t = F.offset - t), t > F.whave && F.sane)) { k.msg = 'invalid distance too far back'; F.mode = 30; break; } t > F.wnext ? ((t -= F.wnext), (A = F.wsize - t)) : (A = F.wnext - t); t > F.length && (t = F.length); z = F.window; } else (z = xb), (A = Ka - F.offset), (t = F.length); t > Xa && (t = Xa); Xa -= t; F.length -= t; do xb[Ka++] = z[A++]; while (--t); 0 === F.length && (F.mode = 21); break; case 26: if (0 === Xa) break a; xb[Ka++] = F.length; Xa--; F.mode = 21; break; case 27: if (F.wrap) { for (; 32 > ja; ) { if (0 === ua) break a; ua--; S |= xa[Ca++] << ja; ja += 8; } if ( ((kc -= Xa), (k.total_out += kc), (F.total += kc), kc && (k.adler = F.check = F.flags ? C(F.check, xb, kc, Ka - kc) : Ja(F.check, xb, kc, Ka - kc)), (kc = Xa), (F.flags ? S : Y(S)) !== F.check) ) { k.msg = 'incorrect data check'; F.mode = 30; break; } ja = S = 0; } F.mode = 28; case 28: if (F.wrap && F.flags) { for (; 32 > ja; ) { if (0 === ua) break a; ua--; S += xa[Ca++] << ja; ja += 8; } if (S !== (4294967295 & F.total)) { k.msg = 'incorrect length check'; F.mode = 30; break; } ja = S = 0; } F.mode = 29; case 29: Rb = 1; break a; case 30: Rb = -3; break a; case 31: return -4; default: return aa; } return ( (k.next_out = Ka), (k.avail_out = Xa), (k.next_in = Ca), (k.avail_in = ua), (F.hold = S), (F.bits = ja), (F.wsize || (kc !== k.avail_out && 30 > F.mode && (27 > F.mode || 4 !== m))) && x(k, k.output, k.next_out, kc - k.avail_out) ? ((F.mode = 31), -4) : ((P -= k.avail_in), (kc -= k.avail_out), (k.total_in += P), (k.total_out += kc), (F.total += kc), F.wrap && kc && (k.adler = F.check = F.flags ? C(F.check, xb, kc, k.next_out - kc) : Ja(F.check, xb, kc, k.next_out - kc)), (k.data_type = F.bits + (F.last ? 64 : 0) + (12 === F.mode ? 128 : 0) + (20 === F.mode || 15 === F.mode ? 256 : 0)), ((0 === P && 0 === kc) || 4 === m) && Rb === Je && (Rb = -5), Rb) ); }; K.inflateEnd = function (k) { if (!k || !k.state) return aa; var m = k.state; return m.window && (m.window = null), (k.state = null), Je; }; K.inflateGetHeader = function (k, m) { var t; return k && k.state ? ((t = k.state), 0 === (2 & t.wrap) ? aa : ((t.head = m), (m.done = !1), Je)) : aa; }; K.inflateSetDictionary = function (k, m) { var t, z, A = m.length; return k && k.state ? ((t = k.state), 0 !== t.wrap && 11 !== t.mode ? aa : 11 === t.mode && ((z = 1), (z = Ja(z, m, A, 0)), z !== t.check) ? -3 : x(k, m, A, A) ? ((t.mode = 31), -4) : ((t.havedict = 1), Je)) : aa; }; K.inflateInfo = 'pako inflate (from Nodeca project)'; }, { '../utils/common': 3, './adler32': 5, './crc32': 7, './inffast': 10, './inftrees': 12 } ], 12: [ function (A, V, K) { var Y = A('../utils/common'), ia = [ 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0 ], t = [ 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78 ], La = [ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 0, 0 ], m = [ 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 64, 64 ]; V.exports = function (k, x, A, B, K, V, C, td) { var N, Aa, aa, Ja, z, hb, Fd = td.bits, Ga, T, sb, ma, Ba, ne = 0, cb, oe = null, Ab = 0, ud = new Y.Buf16(16); var dd = new Y.Buf16(16); var Jc = null, F = 0; for (Ga = 0; 15 >= Ga; Ga++) ud[Ga] = 0; for (T = 0; T < B; T++) ud[x[A + T]]++; var Ka = Fd; for (sb = 15; 1 <= sb && 0 === ud[sb]; sb--); if ((Ka > sb && (Ka = sb), 0 === sb)) return (K[V++] = 20971520), (K[V++] = 20971520), (td.bits = 1), 0; for (Fd = 1; Fd < sb && 0 === ud[Fd]; Fd++); Ka < Fd && (Ka = Fd); for (Ga = N = 1; 15 >= Ga; Ga++) if (((N <<= 1), (N -= ud[Ga]), 0 > N)) return -1; if (0 < N && (0 === k || 1 !== sb)) return -1; dd[1] = 0; for (Ga = 1; 15 > Ga; Ga++) dd[Ga + 1] = dd[Ga] + ud[Ga]; for (T = 0; T < B; T++) 0 !== x[A + T] && (C[dd[x[A + T]]++] = T); if ( (0 === k ? ((oe = Jc = C), (Ja = 19)) : 1 === k ? ((oe = ia), (Ab -= 257), (Jc = t), (F -= 257), (Ja = 256)) : ((oe = La), (Jc = m), (Ja = -1)), (cb = 0), (T = 0), (Ga = Fd), (dd = V), (ma = Ka), (Ba = 0), (aa = -1), (ne = 1 << Ka), (B = ne - 1), (1 === k && 852 < ne) || (2 === k && 592 < ne)) ) return 1; for (var xb = 0; ; ) { xb++; var Xa = Ga - Ba; C[T] < Ja ? ((z = 0), (hb = C[T])) : C[T] > Ja ? ((z = Jc[F + C[T]]), (hb = oe[Ab + C[T]])) : ((z = 96), (hb = 0)); N = 1 << (Ga - Ba); Fd = Aa = 1 << ma; do (Aa -= N), (K[dd + (cb >> Ba) + Aa] = (Xa << 24) | (z << 16) | hb | 0); while (0 !== Aa); for (N = 1 << (Ga - 1); cb & N; ) N >>= 1; if ((0 !== N ? ((cb &= N - 1), (cb += N)) : (cb = 0), T++, 0 === --ud[Ga])) { if (Ga === sb) break; Ga = x[A + C[T]]; } if (Ga > Ka && (cb & B) !== aa) { 0 === Ba && (Ba = Ka); dd += Fd; ma = Ga - Ba; for (N = 1 << ma; ma + Ba < sb && ((N -= ud[ma + Ba]), !(0 >= N)); ) ma++, (N <<= 1); if (((ne += 1 << ma), (1 === k && 852 < ne) || (2 === k && 592 < ne))) return 1; aa = cb & B; K[aa] = (Ka << 24) | (ma << 16) | (dd - V) | 0; } } return 0 !== cb && (K[dd + cb] = ((Ga - Ba) << 24) | 4194304), (td.bits = Ka), 0; }; }, { '../utils/common': 3 } ], 13: [ function (A, V, K) { V.exports = { 2: 'need dictionary', 1: 'stream end', 0: '', '-1': 'file error', '-2': 'stream error', '-3': 'data error', '-4': 'insufficient memory', '-5': 'buffer error', '-6': 'incompatible version' }; }, {} ], 14: [ function (A, V, K) { function Y(k) { for (var m = k.length; 0 <= --m; ) k[m] = 0; } function ia(k, m, t, x, z) { this.static_tree = k; this.extra_bits = m; this.extra_base = t; this.elems = x; this.max_length = z; this.has_stree = k && k.length; } function t(k, m) { this.dyn_tree = k; this.max_code = 0; this.stat_desc = m; } function La(k, m) { k.pending_buf[k.pending++] = 255 & m; k.pending_buf[k.pending++] = (m >>> 8) & 255; } function m(k, m, t) { k.bi_valid > Ab - t ? ((k.bi_buf |= (m << k.bi_valid) & 65535), La(k, k.bi_buf), (k.bi_buf = m >> (Ab - k.bi_valid)), (k.bi_valid += t - Ab)) : ((k.bi_buf |= (m << k.bi_valid) & 65535), (k.bi_valid += t)); } function k(k, t, x) { m(k, x[2 * t], x[2 * t + 1]); } function x(k, m) { var t = 0; do (t |= 1 & k), (k >>>= 1), (t <<= 1); while (0 < --m); return t >>> 1; } function N(k, m, t) { var z, A = Array(oe + 1), H = 0; for (z = 1; z <= oe; z++) A[z] = H = (H + t[z - 1]) << 1; for (t = 0; t <= m; t++) (z = k[2 * t + 1]), 0 !== z && (k[2 * t] = x(A[z]++, z)); } function B(k) { var m; for (m = 0; m < ma; m++) k.dyn_ltree[2 * m] = 0; for (m = 0; m < Ba; m++) k.dyn_dtree[2 * m] = 0; for (m = 0; m < ne; m++) k.bl_tree[2 * m] = 0; k.dyn_ltree[2 * ud] = 1; k.opt_len = k.static_len = 0; k.last_lit = k.matches = 0; } function Aa(k) { 8 < k.bi_valid ? La(k, k.bi_buf) : 0 < k.bi_valid && (k.pending_buf[k.pending++] = k.bi_buf); k.bi_buf = 0; k.bi_valid = 0; } function Ja(k, m, t, x) { var z = 2 * m, A = 2 * t; return k[z] < k[A] || (k[z] === k[A] && x[m] <= x[t]); } function C(k, m, t) { for ( var x = k.heap[t], z = t << 1; z <= k.heap_len && (z < k.heap_len && Ja(m, k.heap[z + 1], k.heap[z], k.depth) && z++, !Ja(m, x, k.heap[z], k.depth)); ) (k.heap[t] = k.heap[z]), (t = z), (z <<= 1); k.heap[t] = x; } function td(t, x, z) { var A, B, H = 0; if (0 !== t.last_lit) { do { var C = (t.pending_buf[t.d_buf + 2 * H] << 8) | t.pending_buf[t.d_buf + 2 * H + 1]; var F = t.pending_buf[t.l_buf + H]; H++; 0 === C ? k(t, F, x) : ((A = ja[F]), k(t, A + sb + 1, x), (B = Ka[A]), 0 !== B && ((F -= P[A]), m(t, F, B)), C--, (A = 256 > C ? S[C] : S[256 + (C >>> 7)]), k(t, A, z), (B = xb[A]), 0 !== B && ((C -= kc[A]), m(t, C, B))); } while (H < t.last_lit); } k(t, ud, x); } function kd(k, m) { var t, x = m.dyn_tree; var z = m.stat_desc.static_tree; var A = m.stat_desc.has_stree, B = m.stat_desc.elems, H = -1; k.heap_len = 0; k.heap_max = cb; for (t = 0; t < B; t++) 0 !== x[2 * t] ? ((k.heap[++k.heap_len] = H = t), (k.depth[t] = 0)) : (x[2 * t + 1] = 0); for (; 2 > k.heap_len; ) { var F = (k.heap[++k.heap_len] = 2 > H ? ++H : 0); x[2 * F] = 1; k.depth[F] = 0; k.opt_len--; A && (k.static_len -= z[2 * F + 1]); } m.max_code = H; for (t = k.heap_len >> 1; 1 <= t; t--) C(k, x, t); F = B; do (t = k.heap[1]), (k.heap[1] = k.heap[k.heap_len--]), C(k, x, 1), (z = k.heap[1]), (k.heap[--k.heap_max] = t), (k.heap[--k.heap_max] = z), (x[2 * F] = x[2 * t] + x[2 * z]), (k.depth[F] = (k.depth[t] >= k.depth[z] ? k.depth[t] : k.depth[z]) + 1), (x[2 * t + 1] = x[2 * z + 1] = F), (k.heap[1] = F++), C(k, x, 1); while (2 <= k.heap_len); k.heap[--k.heap_max] = k.heap[1]; var G, K; t = m.dyn_tree; F = m.max_code; B = m.stat_desc.static_tree; var P = m.stat_desc.has_stree, S = m.stat_desc.extra_bits, T = m.stat_desc.extra_base, ya = m.stat_desc.max_length, V = 0; for (A = 0; A <= oe; A++) k.bl_count[A] = 0; t[2 * k.heap[k.heap_max] + 1] = 0; for (m = k.heap_max + 1; m < cb; m++) (z = k.heap[m]), (A = t[2 * t[2 * z + 1] + 1] + 1), A > ya && ((A = ya), V++), (t[2 * z + 1] = A), z > F || (k.bl_count[A]++, (G = 0), z >= T && (G = S[z - T]), (K = t[2 * z]), (k.opt_len += K * (A + G)), P && (k.static_len += K * (B[2 * z + 1] + G))); if (0 !== V) { do { for (A = ya - 1; 0 === k.bl_count[A]; ) A--; k.bl_count[A]--; k.bl_count[A + 1] += 2; k.bl_count[ya]--; V -= 2; } while (0 < V); for (A = ya; 0 !== A; A--) for (z = k.bl_count[A]; 0 !== z; ) (G = k.heap[--m]), G > F || (t[2 * G + 1] !== A && ((k.opt_len += (A - t[2 * G + 1]) * t[2 * G]), (t[2 * G + 1] = A)), z--); } N(x, H, k.bl_count); } function Je(k, m, t) { var x, z = -1, A = m[1], B = 0, H = 7, C = 4; 0 === A && ((H = 138), (C = 3)); m[2 * (t + 1) + 1] = 65535; for (x = 0; x <= t; x++) { var G = A; A = m[2 * (x + 1) + 1]; (++B < H && G === A) || (B < C ? (k.bl_tree[2 * G] += B) : 0 !== G ? (G !== z && k.bl_tree[2 * G]++, k.bl_tree[2 * dd]++) : 10 >= B ? k.bl_tree[2 * Jc]++ : k.bl_tree[2 * F]++, (B = 0), (z = G), 0 === A ? ((H = 138), (C = 3)) : G === A ? ((H = 6), (C = 3)) : ((H = 7), (C = 4))); } } function aa(t, x, z) { var A, B, H = -1, C = x[1], G = 0, K = 7, N = 4; 0 === C && ((K = 138), (N = 3)); for (A = 0; A <= z; A++) if (((B = C), (C = x[2 * (A + 1) + 1]), !(++G < K && B === C))) { if (G < N) { do k(t, B, t.bl_tree); while (0 !== --G); } else 0 !== B ? (B !== H && (k(t, B, t.bl_tree), G--), k(t, dd, t.bl_tree), m(t, G - 3, 2)) : 10 >= G ? (k(t, Jc, t.bl_tree), m(t, G - 3, 3)) : (k(t, F, t.bl_tree), m(t, G - 11, 7)); G = 0; H = B; 0 === C ? ((K = 138), (N = 3)) : B === C ? ((K = 6), (N = 3)) : ((K = 7), (N = 4)); } } function Pd(k) { var m, t = 4093624447; for (m = 0; 31 >= m; m++, t >>>= 1) if (1 & t && 0 !== k.dyn_ltree[2 * m]) return Fd; if (0 !== k.dyn_ltree[18] || 0 !== k.dyn_ltree[20] || 0 !== k.dyn_ltree[26]) return Ga; for (m = 32; m < sb; m++) if (0 !== k.dyn_ltree[2 * m]) return Ga; return Fd; } function z(k, t, x, z) { m(k, (T << 1) + (z ? 1 : 0), 3); Aa(k); La(k, x); La(k, ~x); hb.arraySet(k.pending_buf, k.window, t, x, k.pending); k.pending += x; } var hb = A('../utils/common'), Fd = 0, Ga = 1, T = 0, sb = 256, ma = sb + 1 + 29, Ba = 30, ne = 19, cb = 2 * ma + 1, oe = 15, Ab = 16, ud = 256, dd = 16, Jc = 17, F = 18, Ka = [ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0 ], xb = [ 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13 ], Xa = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7], Ca = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15], xa = Array(2 * (ma + 2)); Y(xa); var ua = Array(2 * Ba); Y(ua); var S = Array(512); Y(S); var ja = Array(256); Y(ja); var P = Array(29); Y(P); var kc = Array(Ba); Y(kc); var Rb, mc, G, ce = !1; K._tr_init = function (k) { if (!ce) { var m, z, A, C = Array(oe + 1); for (A = z = 0; 28 > A; A++) for (P[A] = z, m = 0; m < 1 << Ka[A]; m++) ja[z++] = A; ja[z - 1] = A; for (A = z = 0; 16 > A; A++) for (kc[A] = z, m = 0; m < 1 << xb[A]; m++) S[z++] = A; for (z >>= 7; A < Ba; A++) for (kc[A] = z << 7, m = 0; m < 1 << (xb[A] - 7); m++) S[256 + z++] = A; for (m = 0; m <= oe; m++) C[m] = 0; for (m = 0; 143 >= m; ) (xa[2 * m + 1] = 8), m++, C[8]++; for (; 255 >= m; ) (xa[2 * m + 1] = 9), m++, C[9]++; for (; 279 >= m; ) (xa[2 * m + 1] = 7), m++, C[7]++; for (; 287 >= m; ) (xa[2 * m + 1] = 8), m++, C[8]++; N(xa, ma + 1, C); for (m = 0; m < Ba; m++) (ua[2 * m + 1] = 5), (ua[2 * m] = x(m, 5)); Rb = new ia(xa, Ka, sb + 1, ma, oe); mc = new ia(ua, xb, 0, Ba, oe); G = new ia([], Xa, 0, ne, 7); ce = !0; } k.l_desc = new t(k.dyn_ltree, Rb); k.d_desc = new t(k.dyn_dtree, mc); k.bl_desc = new t(k.bl_tree, G); k.bi_buf = 0; k.bi_valid = 0; B(k); }; K._tr_stored_block = z; K._tr_flush_block = function (k, t, x, A) { var C = 0; if (0 < k.level) { 2 === k.strm.data_type && (k.strm.data_type = Pd(k)); kd(k, k.l_desc); kd(k, k.d_desc); Je(k, k.dyn_ltree, k.l_desc.max_code); Je(k, k.dyn_dtree, k.d_desc.max_code); kd(k, k.bl_desc); for (C = ne - 1; 3 <= C && 0 === k.bl_tree[2 * Ca[C] + 1]; C--); C = ((k.opt_len += 3 * (C + 1) + 14), C); var F = (k.opt_len + 3 + 7) >>> 3; var G = (k.static_len + 3 + 7) >>> 3; G <= F && (F = G); } else F = G = x + 5; if (x + 4 <= F && -1 !== t) z(k, t, x, A); else if (4 === k.strategy || G === F) m(k, 2 + (A ? 1 : 0), 3), td(k, xa, ua); else { m(k, 4 + (A ? 1 : 0), 3); t = k.l_desc.max_code + 1; x = k.d_desc.max_code + 1; C += 1; m(k, t - 257, 5); m(k, x - 1, 5); m(k, C - 4, 4); for (F = 0; F < C; F++) m(k, k.bl_tree[2 * Ca[F] + 1], 3); aa(k, k.dyn_ltree, t - 1); aa(k, k.dyn_dtree, x - 1); td(k, k.dyn_ltree, k.dyn_dtree); } B(k); A && Aa(k); }; K._tr_tally = function (k, m, t) { return ( (k.pending_buf[k.d_buf + 2 * k.last_lit] = (m >>> 8) & 255), (k.pending_buf[k.d_buf + 2 * k.last_lit + 1] = 255 & m), (k.pending_buf[k.l_buf + k.last_lit] = 255 & t), k.last_lit++, 0 === m ? k.dyn_ltree[2 * t]++ : (k.matches++, m--, k.dyn_ltree[2 * (ja[t] + sb + 1)]++, k.dyn_dtree[2 * (256 > m ? S[m] : S[256 + (m >>> 7)])]++), k.last_lit === k.lit_bufsize - 1 ); }; K._tr_align = function (t) { m(t, 2, 3); k(t, ud, xa); 16 === t.bi_valid ? (La(t, t.bi_buf), (t.bi_buf = 0), (t.bi_valid = 0)) : 8 <= t.bi_valid && ((t.pending_buf[t.pending++] = 255 & t.bi_buf), (t.bi_buf >>= 8), (t.bi_valid -= 8)); }; }, { '../utils/common': 3 } ], 15: [ function (A, V, K) { V.exports = function () { this.input = null; this.total_in = this.avail_in = this.next_in = 0; this.output = null; this.total_out = this.avail_out = this.next_out = 0; this.msg = ''; this.state = null; this.data_type = 2; this.adler = 0; }; }, {} ], '/': [ function (A, V, K) { K = A('./lib/utils/common').assign; var Y = A('./lib/deflate'), ia = A('./lib/inflate'); A = A('./lib/zlib/constants'); var t = {}; K(t, Y, ia, A); V.exports = t; }, { './lib/deflate': 1, './lib/inflate': 2, './lib/utils/common': 3, './lib/zlib/constants': 6 } ] }, {}, [] )('/'); }); var saveAs = saveAs || (function (Q) { if ( !( 'undefined' === typeof Q || ('undefined' !== typeof navigator && /MSIE [1-9]\./.test(navigator.userAgent)) ) ) { var A = Q.document.createElementNS('http://www.w3.org/1999/xhtml', 'a'), V = 'download' in A, K = /constructor/i.test(Q.HTMLElement) || Q.safari, Y = /CriOS\/[\d]+/.test(navigator.userAgent), ia = function (k) { (Q.setImmediate || Q.setTimeout)(function () { throw k; }, 0); }, t = function (k) { setTimeout(function () { 'string' === typeof k ? (Q.URL || Q.webkitURL || Q).revokeObjectURL(k) : k.remove(); }, 4e4); }, La = function (k) { return /^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test( k.type ) ? new Blob([String.fromCharCode(65279), k], { type: k.type }) : k; }, m = function (k, m, B) { B || (k = La(k)); var x = this, N = 'application/octet-stream' === k.type, C = function () { var k = ['writestart', 'progress', 'write', 'writeend']; k = [].concat(k); for (var m = k.length; m--; ) { var t = x['on' + k[m]]; if ('function' === typeof t) try { t.call(x, x); } catch (Pd) { ia(Pd); } } }; x.readyState = x.INIT; if (V) { var td = (Q.URL || Q.webkitURL || Q).createObjectURL(k); setTimeout(function () { A.href = td; A.download = m; var k = new MouseEvent('click'); A.dispatchEvent(k); C(); t(td); x.readyState = x.DONE; }); } else (function () { if ((Y || (N && K)) && Q.FileReader) { var m = new FileReader(); m.onloadend = function () { var k = Y ? m.result : m.result.replace(/^data:[^;]*;/, 'data:attachment/file;'); Q.open(k, '_blank') || (Q.location.href = k); x.readyState = x.DONE; C(); }; m.readAsDataURL(k); x.readyState = x.INIT; } else td || (td = (Q.URL || Q.webkitURL || Q).createObjectURL(k)), N ? (Q.location.href = td) : Q.open(td, '_blank') || (Q.location.href = td), (x.readyState = x.DONE), C(), t(td); })(); }, k = m.prototype; if ('undefined' !== typeof navigator && navigator.msSaveOrOpenBlob) return function (k, m, t) { m = m || k.name || 'download'; t || (k = La(k)); return navigator.msSaveOrOpenBlob(k, m); }; k.abort = function () {}; k.readyState = k.INIT = 0; k.WRITING = 1; k.DONE = 2; k.error = k.onwritestart = k.onprogress = k.onwrite = k.onabort = k.onerror = k.onwriteend = null; return function (k, t, A) { return new m(k, t || k.name || 'download', A); }; } })( ('undefined' !== typeof self && self) || ('undefined' !== typeof window && window) || this.content ); 'undefined' !== typeof module && module.exports ? (module.exports.saveAs = saveAs) : 'undefined' !== typeof define && null !== define && null !== define.amd && define('FileSaver.js', function () { return saveAs; }); 'function' == typeof define && define.__amd && ((define.amd = define.__amd), delete define.__amd); //# sourceMappingURL=Dadish%202%20Poki.js.map